kvision / pl.treksoft.kvision.cordova / Result

Result

sealed class Result<out V : Any, out E>

Types

Failure

class Failure<out E> : Result<Nothing, E>

Success

class Success<out V : Any> : Result<V, Nothing>

Functions

component1

open operator fun component1(): V?

component2

open operator fun component2(): E?

fold

fun <X> fold(success: (V) -> X, failure: (E) -> X): X

get

abstract fun get(): V

Companion Object Functions

error

fun <E> error(ex: E): Result.Failure<E>

of

fun <V : Any> of(value: V?, fail: () -> Exception = { Exception() }): Result<V, Exception>
fun <V : Any, E> of(f: () -> V): Result<V, E>

success

fun <V : Any> success(v: V): Result.Success<V>

Extension Functions

any

fun <V : Any, E> Result<V, E>.any(predicate: (V) -> Boolean): Boolean

createInstance

fun <T> Any?.createInstance(vararg args: dynamic): T

Helper function for creating JavaScript objects from dynamic constructors.

failure

fun <E> Result<*, E>.failure(f: (E) -> Unit): Unit

fanout

fun <V : Any, U : Any> Result<V, *>.fanout(other: () -> Result<U, *>): Result<Pair<V, U>, *>

flatMap

fun <V : Any, U : Any, E> Result<V, E>.flatMap(transform: (V) -> Result<U, E>): Result<U, E>

flatMapError

fun <V : Any, E, E2> Result<V, E>.flatMapError(transform: (E) -> Result<V, E2>): Result<V, E2>

getAs

fun <X> Result<*, *>.getAs(): X?

getOrElse

infix fun <V : Any, E> Result<V, E>.getOrElse(fallback: V): V

map

fun <V : Any, U : Any, E> Result<V, E>.map(transform: (V) -> U): Result<U, E>

mapError

fun <V : Any, E, E2> Result<V, E>.mapError(transform: (E) -> E2): Result<V, E2>

or

infix fun <V : Any, E> Result<V, E>.or(fallback: V): Result.Success<V>

success

fun <V : Any> Result<V, *>.success(f: (V) -> Unit): Unit

Inheritors

Failure

class Failure<out E> : Result<Nothing, E>

Success

class Success<out V : Any> : Result<V, Nothing>