Package-level declarations

Types

Link copied to clipboard
typealias Faulty<Error> = Outcome<Unit, Error>
Link copied to clipboard
typealias Maybe<Ok> = Outcome<Ok, Unit>
Link copied to clipboard
sealed interface Outcome<out Ok : Any, out Error : Any>

Represents either a Success or Failure state.

Functions

Link copied to clipboard
inline fun <Error : Any> Outcome<*, Error>.asFaulty(): Faulty<Error>
Link copied to clipboard
inline fun <Ok : Any> Outcome<Ok, *>.asMaybe(): Maybe<Ok>
Link copied to clipboard
inline fun <Ok : Any> catch(block: RaiseScope<Throwable>.() -> Ok): Outcome<Ok, Throwable>

An alias for outcomeOf that uses Throwable as the Error type.

Link copied to clipboard
inline fun <Error : Any> failureOf(error: Error): Outcome.Failure<Error>
Link copied to clipboard
inline fun <Error : Any> faultyOf(catch: (throwable: Throwable) -> Faulty<Error> = ::rethrow, block: RaiseScope<Error>.() -> Unit): Faulty<Error>
Link copied to clipboard
inline fun <Ok : Any> maybeOf(catch: (throwable: Throwable) -> Maybe<Ok> = ::rethrow, block: RaiseScope<Any>.() -> Ok): Maybe<Ok>
Link copied to clipboard
inline fun <Ok : Any> outcome(block: RaiseScope<String>.() -> Ok): Outcome<Ok, String>

An alias for outcomeOf that uses a String as the Error type.

Link copied to clipboard
inline fun outcomeFailed(ignore: Any? = null): Outcome.Failure<Unit>
Link copied to clipboard
inline fun <Ok : Any, Error : Any> outcomeOf(catch: (throwable: Throwable) -> Outcome<Ok, Error> = ::rethrow, block: RaiseScope<Error>.() -> Ok): Outcome<Ok, Error>

Context runner that encapsulates the Ok result of block as an Outcome.Success, and any raised or caught errors as an Outcome.Failure.

Link copied to clipboard
inline fun outcomePassed(ignore: Any? = null): Outcome.Success<Unit>
Link copied to clipboard
inline fun <Ok : Any> successOf(value: Ok): Outcome.Success<Ok>
Link copied to clipboard
inline fun <T> T.wrapFaulty(): Faulty<Throwable>
Link copied to clipboard
inline fun <T> T.wrapMaybe(): Maybe<T & Any>
Link copied to clipboard