Skip to content

stepango/kOptional

Repository files navigation

kOptional

Download codebeat badge License Android Arsenal

Extended Java8 Optional Kotlin back-port for Android and JVM

Add kOptional to your build.gradle

compile "com.stepango.koptional:koptional:1.2.0"

Usage example:

arrayOf(null, "1", null, "2", null, "3")
        .map { it.toOptional() }
        .mapIndexed { i, optional -> optional.ifEmpty { Log.e("kOptional", "$i element is null, it's bad") } }
        .map { it.map { "$it is not null " } }
        .forEach { it.ifPresent(::println) }

// 1 is not null 
// 2 is not null 
// 3 is not null

Log:

// 0 element is null, it's bad
// 2 element is null, it's bad
// 4 element is null, it's bad