Client-side typesafe Spine schema usage • opensavvy.spine.client • SpineResponse
SpineResponse¶
class SpineResponse<Out : Any, out Failure : FailureSpec>(val httpResponse: HttpResponse, val failureSpec: Failure)
Constructors¶
SpineResponse¶
constructor(httpResponse: HttpResponse, failureSpec: Failure)
Properties¶
failureSpec¶
val failureSpec: Failure
httpResponse¶
val httpResponse: HttpResponse
isSuccessful¶
val isSuccessful: Boolean
Functions¶
bodyOrNull¶
inline suspend fun <Out : Any> SpineResponse<Out, *>.bodyOrNull(): Out?
bodyOrThrow¶
inline suspend fun <Out : Any> SpineResponse<Out, *>.bodyOrThrow(): Out
handle¶
inline suspend fun <Out : Any, O, F1, F2, F3, F4> SpineResponse<Out, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Never, FailureSpec.ByCode<F1>>, FailureSpec.ByCode<F2>>, FailureSpec.ByCode<F3>>, FailureSpec.ByCode<F4>>>.handle(handle1: (F1) -> O, handle2: (F2) -> O, handle3: (F3) -> O, handle4: (F4) -> O, transform: (Out) -> O): O
inline suspend fun <Out : Any, O, F1, F2, F3, F4, F5> SpineResponse<Out, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Never, FailureSpec.ByCode<F1>>, FailureSpec.ByCode<F2>>, FailureSpec.ByCode<F3>>, FailureSpec.ByCode<F4>>, FailureSpec.ByCode<F5>>>.handle(handle1: (F1) -> O, handle2: (F2) -> O, handle3: (F3) -> O, handle4: (F4) -> O, handle5: (F5) -> O, transform: (Out) -> O): O
inline suspend fun <Out : Any, O, F1, F2, F3, F4, F5, F6> SpineResponse<Out, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Never, FailureSpec.ByCode<F1>>, FailureSpec.ByCode<F2>>, FailureSpec.ByCode<F3>>, FailureSpec.ByCode<F4>>, FailureSpec.ByCode<F5>>, FailureSpec.ByCode<F6>>>.handle(handle1: (F1) -> O, handle2: (F2) -> O, handle3: (F3) -> O, handle4: (F4) -> O, handle5: (F5) -> O, handle6: (F6) -> O, transform: (Out) -> O): O