Outcome

sealed interface Outcome<out T>

Inheritors

Types

Link copied to clipboard
data class Failure(val message: String, val throwable: Throwable? = null) : Outcome<Nothing>
Link copied to clipboard
value class Success<T>(val value: T) : Outcome<T>

Properties

Link copied to clipboard
open val failed: Boolean
Link copied to clipboard
abstract val succeeded: Boolean

Functions

Link copied to clipboard
Link copied to clipboard
inline fun <T, R> Outcome<T>.flatMap(transform: (T) -> Outcome<R>): Outcome<R>
Link copied to clipboard
inline fun <T, R> Outcome<T>.fold(onSuccess: (T) -> R, onFailure: (String, Throwable?) -> R): R
Link copied to clipboard
fun <T> Outcome<T>.getOrNull(): T?
Link copied to clipboard
inline fun <T, R> Outcome<T>.map(transform: (T) -> R): Outcome<R>
Link copied to clipboard
inline fun <T, R> Outcome<T>.mapCatching(transform: (T) -> R): Outcome<R>
Link copied to clipboard
inline fun <T> Outcome<T>.mapFailure(transform: (Outcome.Failure) -> Outcome.Failure): Outcome<T>
Link copied to clipboard
inline fun <T> Outcome<T>.recover(recoverBlock: (Outcome.Failure) -> T): Outcome<T>
Link copied to clipboard
inline fun <T> Outcome<T>.recoverCatching(recoverBlock: (Outcome.Failure) -> T): Outcome<T>
Link copied to clipboard
fun <T> Outcome<T>.toResult(): Result<T>