diff options
Diffstat (limited to 'merchant-lib/src/main/java/net/taler/merchantlib/Response.kt')
-rw-r--r-- | merchant-lib/src/main/java/net/taler/merchantlib/Response.kt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt b/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt index 23fa101..eb1ef27 100644 --- a/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt +++ b/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt @@ -25,6 +25,14 @@ class Response<out T> private constructor( ) { companion object { + suspend fun <T> response(request: suspend () -> T): Response<T> { + return try { + success(request()) + } catch (e: Throwable) { + failure(e) + } + } + fun <T> success(value: T): Response<T> = Response(value) |