Either

sealed class Either<out V, out E : Throwable>

An asynchronous result.

This class groups all the methods needed in order to manage an asynchronous result that can be successful (Success] or not (Failure).

Parameters

V

Type of the value in case of success.

E

Type of the error in case of failure. It has to extend Throwable.

Types

Link copied to clipboard
data class Failure<out E : Throwable>(error: E) : Either<Nothing, E>

Failed result with error error.

Link copied to clipboard
data class Success<out V>(value: V) : Either<V, Nothing>

Successful result with value value.

Functions

Link copied to clipboard
abstract fun error(): E?

Returns the error associated. In case of Success, error will be null.

Link copied to clipboard
abstract fun value(): V?

Returns the value associated. In case of Failure, value will be null.

Properties

Link copied to clipboard
val isFailure: Boolean

True if the result is an error, false otherwise.

Link copied to clipboard
val isSuccess: Boolean

True if the result was successful, false otherwise.

Inheritors

Link copied to clipboard
Link copied to clipboard

Extensions

Link copied to clipboard
fun <V, U, E : Throwable> Either<V, E>.flatMap(f: (V) -> Either<U, E>): Either<U, E>

Converts the Either value according to f function.

Link copied to clipboard
fun <V, E : Throwable, X : Throwable> Either<V, E>.flatMapError(f: (E) -> Either<V, X>): Either<V, X>

Converts the Either error according to f function.

Link copied to clipboard
fun <V, U, E : Throwable> Either<V, E>.map(f: (V) -> U): Either<U, E>

Converts the Either value according to f function.

Link copied to clipboard
fun <V, E : Throwable, X : Throwable> Either<V, E>.mapError(f: (E) -> X): Either<V, X>

Converts the Either error according to f function.

Link copied to clipboard
fun <V, E : Throwable> Either<V, E>.onFailure(f: (E) -> Unit)

Calls the function f with a specific error when Either is failure.

Link copied to clipboard
fun <V, E : Throwable> Either<V, E>.onSuccess(f: (V) -> Unit)

Calls the function f with a specific value when Either is successful.