/zkotlin

Extensions for Kotlin Language

Primary LanguageKotlin

zkotlin

Maven Central

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