com.github.rs3vans.monadik

Package com.github.rs3vans.monadik

Types

Either sealed class Either<out T : Any, out U : Any>
Option sealed class Option<out T : Any>
Try sealed class Try<out T : Any>

Exceptions

NotAFailureException class NotAFailureException : Exception

Functions

flattenLeft fun <T : Any, U : Any> Either<Either<T, U>, U>.flattenLeft(): Either<T, U>
flattenRight fun <T : Any, U : Any> Either<T, Either<T, U>>.flattenRight(): Either<T, U>
orElse fun <T : Any> Option<T>.orElse(other: T): T
fun <T : Any> Try<T>.orElse(t: T): T
orElseGet fun <T : Any> Option<T>.orElseGet(other: () -> T): T
fun <T : Any> Try<T>.orElseGet(t: () -> T): T
orElseThrow fun <T : Any> Option<T>.orElseThrow(exception: () -> Exception): T
recover fun <T : Any> Try<T>.recover(transformer: (Exception) -> T): Try<T>
recoverWith fun <T : Any> Try<T>.recoverWith(transformer: (Exception) -> Try<T>): Try<T>
toList fun <T : Any> Option<T>.toList(): List<T>
toSequence fun <T : Any> Option<T>.toSequence(): Sequence<T>
toSet fun <T : Any> Option<T>.toSet(): Set<T>