ensureNotNull
Ensure that value is not null
. if it's non-null it will be smart-casted and returned if it's false
it will shift
with the provided value R. Monadic version of kotlin.requireNotNull.
import arrow.core.continuations.eagerEffect
import arrow.core.continuations.ensureNotNull
import arrow.core.left
import arrow.core.right
import io.kotest.matchers.shouldBe
fun main() {
val failure = "failed"
val int: Int? = null
eagerEffect<String, Int> {
ensureNotNull(int) { failure }
}.toEither() shouldBe (int?.right() ?: failure.left())
}
Content copied to clipboard
Ensure that value is not null
. if it's non-null it will be smart-casted and returned if it's false
it will shift
with the provided value R. Monadic version of kotlin.requireNotNull.
import arrow.core.continuations.effect
import arrow.core.continuations.ensureNotNull
import arrow.core.left
import arrow.core.right
import io.kotest.matchers.shouldBe
suspend fun main() {
val failure = "failed"
val int: Int? = null
effect<String, Int> {
ensureNotNull(int) { failure }
}.toEither() shouldBe (int?.right() ?: failure.left())
}
Content copied to clipboard