resolve

inline fun <E, A, B> resolve(    f: () -> Either<E, A>,     success: (A) -> Either<Throwable, B>,     error: (E) -> Either<Throwable, B>,     throwable: (throwable: Throwable) -> Either<Throwable, B>,     unrecoverableState: (throwable: Throwable) -> Either<Throwable, Unit>): B

The resolve function can resolve any suspended function that yields an Either into one type of value.

Return

the result of applying the resolve function.

Parameters

f

the function that needs to be resolved.

success

the function to apply if f yields a success of type A.

error

the function to apply if f yields an error of type E.

throwable

the function to apply if f throws a Throwable. Throwing any Throwable in the throwable function will render the resolve function nondeterministic.

unrecoverableState

the function to apply if resolve is in an unrecoverable state.