//arrow-core/arrow.core.continuations/EagerEffectScope

EagerEffectScope

common interface EagerEffectScope<R>

Context of the EagerEffect DSL.

Functions

Name Summary
bind common open suspend fun <B> Either<R, B>.bind(): B
Folds Either into EagerEffect, by returning B or a shift with R.
common open suspend fun <B> Validated<R, B>.bind(): B
Folds Validated into EagerEffect, by returning B or a shift with R.
common open suspend fun <B> EagerEffect<R, B>.bind(): B
Runs the EagerEffect to finish, returning B or shift in case of R.
common open suspend fun <B> Option<B>.bind(shift: () -> R): B
Folds Option into EagerEffect, by returning B or a transforming None into R and shifting the result.
common open suspend fun <B> Result<B>.bind(transform: (Throwable) -> R): B
Folds Result into EagerEffect, by returning B or a transforming Throwable into R and shifting the result.
ensure common open suspend fun ensure(condition: Boolean, shift: () -> R)
ensure that condition is true, if it’s false it will shift with the provided value R. Monadic version of kotlin.require.
shift common abstract suspend fun <B> shift(r: R): B
Short-circuit the EagerEffect computation with value R.

Inheritors

Name
IorEagerEffectScope
NullableEagerEffectScope
OptionEagerEffectScope
ResultEagerEffectScope

Extensions

Name Summary
ensureNotNull common suspend fun <R, B : Any> EagerEffectScope<R>.ensureNotNull(value: B?, shift: () -> R): B
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.

Do you like Arrow?

Arrow Org
<