Skip to content

importre/kotlin-unwrap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3e5d789 Β· Jun 27, 2017

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kotlin-unwrap

πŸŽπŸ“¦πŸ’πŸŽπŸ“¦πŸ’πŸŽπŸ“¦πŸ’

Download Build Status

Unwrap nullable variables

build.gradle

repositories {
    jcenter()
}

dependencies {
    compile "com.importre:kotlin-unwrap:<VERSION>"
}

Example

// returns nullable
fun foo(name: String?): String? = name

val _a = foo("Hello")
val _b = foo("World")
val _c = foo("!")

// example: unwrap all variables
unwrap(_a, _b, _c) { a, b, c ->
    println("$a, $b$c") // invoked
}

Error handling using otherwise

val _a = foo("Hello")
val _b = foo("World")
val _c = foo(null)

// example: error handing
unwrap(_a, _b, _c) { a, b, c ->
    println("$a, $b$c") // not invoked
} otherwise {
    println("Nah!")     // invoked because `_c` is null
}

Test

$ ./gradlew check

License

Apache 2.0 Β© Jaewe Heo