Extensions for Kotlin Language
-
Either<L, R> - Examples
-
Either.Left<L,R> Either.Right<L,R>
- Either.right<Int, String>("right value")
- Either.left<Int, String>(-1)
- Either.rightOf("right value")
- Either.leftOf(-1)
-
fun isRight(): Boolean
-
fun isLeft(): Boolean
-
fun component1(): L
-
fun component2(): R
-
fun get(): R
-
fun failure(): L
-
fun success(onSuccess: (R) -> T): T
-
fun failure(onFail: (L) -> T): T
-
fun fold(left: (L) -> T, right: (R) -> T): T
-
fun <TL, TR> foldCompose(left: (L) -> Either<TL, TR>, right: (R) -> Either<TL, TR>): Either<TL, TR>
-
fun andThen(supplier: (R) -> Either<L, TR>): Either<L, TR>
-
fun getOrElse(supplier: (L) -> Either<L, R>): Either<L, R>
-
-
List<Either<L, R>> - Examples
- fun <L, R, T> List<Either<L, R>>.fold(onError: (L) -> Unit, onSuccess: (R) -> T): List
- fun <L, R> List<Either<L, R>>.foldSuccess(): List
- fun <L, R, T> List<Either<L, R>>.foldSuccess(onSuccess: (R) -> T): List
- fun <L, R> List<Either<L, R>>.foldError(onError: (L) -> Unit): List<Either<L, R>>
-
Coroutine List - Examples
- suspend fun List<Deferred>.await()
-
Currying - Examples
- ::foobar(a,b).curried()
- ::foobar(a,b,c).curried()
- max of 5 parameters foobar(a,b,c,d,e)
-
Int - Examples
- fun isEven(): Boolean
- fun isOdd(): Boolean