jerelo library

A continuation monad library for Dart.

Provides Cont, a powerful abstraction for composing asynchronous and effectful computations using continuation-passing style. Supports environment injection, error handling, cancellation, and parallel and sequential composition.

Classes

CollectedCrash
A crash that collects multiple crashes from a list of operations.
Cont<E, F, A>
A continuation monad representing a computation that will eventually produce a value, terminate with a business-logic error, or crash.
ContCancelToken
Cancels a running continuation.
ContCrash
Base class for all crash values in the continuation monad.
ContObserver<F, A>
Receives the outcome of a Cont computation.
CrashCrashOr<T>
A CrashOr for a computation that threw, captured as crash.
CrashOr<T>
The result of ContCrash.tryCatch — either a successfully computed value of type T or a NormalCrash.
CrashPolicy<E, A>
Controls how two or more continuations on the crash channel are executed and how their crashes are merged.
MergedCrash
A crash that combines two crashes from paired operations.
NormalCrash
A crash that wraps a single exception thrown during computation.
OkPolicy<T>
Controls how two or more continuations on the success/error channels are executed and how their outcomes are combined.
QuitFastCrashPolicy<E, A>
Parallel quit-fast crash policy for Cont.coalesce and Cont.converge.
QuitFastOkPolicy<T>
Parallel quit-fast execution policy for Cont.both, Cont.all, Cont.either, and Cont.any.
RunAllCrashPolicy<E, A>
Parallel run-all crash policy for Cont.coalesce and Cont.converge.
RunAllOkPolicy<T>
Parallel run-all execution policy for Cont.both, Cont.all, Cont.either, and Cont.any.
SafeObserver<F, A>
A ContObserver that guards against duplicate callback invocations.
SequenceCrashPolicy<E, A>
Sequential crash-merging policy for Cont.coalesce and Cont.converge.
SequenceOkPolicy<T>
Sequential execution policy for Cont.both, Cont.all, Cont.either, and Cont.any.
ValueCrashOr<T>
A CrashOr for a computation that returned value.

Extensions

ContAndExtension on Cont<E, F, A>
ContCoalesceExtension on Cont<E, F, A>
ContCrashDoExtension on Cont<E, F, A>
ContCrashDoVariantsExtension on Cont<E, F, A>
ContCrashForkExtension on Cont<E, F, A>
ContCrashRecoverExtension on Cont<E, F, A>
ContCrashTapExtension on Cont<E, F, A>
ContCrashUnlessExtension on Cont<E, F, A>
ContCrashUntilExtension on Cont<E, F, A>
ContCrashWhileExtension on Cont<E, F, A>
ContCrashZipExtension on Cont<E, F, A>
ContDecorExtension on Cont<E, F, A>
ContDemoteExtension on Cont<E, F, A>
ContElseDoExtension on Cont<E, F, A>
ContElseDoVariantsExtension on Cont<E, F, A>
ContElseForkExtension on Cont<E, F, A>
ContElseIfExtension on Cont<E, F, A>
ContElseMapExtension on Cont<E, F, A>
ContElseMapVariantsExtension on Cont<E, F, A>
ContElseNeverExtension on Cont<E, Never, A>
ContElseTapExtension on Cont<E, F, A>
ContElseUntilExtension on Cont<E, F, A>
ContElseWhileExtension on Cont<E, F, A>
ContElseZipExtension on Cont<E, F, A>
ContEnvExtension on Cont<E, F, A>
ContFlattenExtension on Cont<E, F, Cont<E, F, A>>
Extension providing flatten operation for nested continuations.
ContLocalVariantsExtension on Cont<E, F, A>
ContObserverElseNeverExtension on ContObserver<Never, A>
Provides elseAbsurd for observers whose error type is Never.
ContObserverThenNeverExtension on ContObserver<F, Never>
Provides thenAbsurd for observers whose success type is Never.
ContOrExtension on Cont<E, F, A>
ContPromoteExtension on Cont<E, F, A>
ContRunWithExtension on Cont<E, F, A>
Provides runWith, the low-level way to run a Cont.
ContThenDoExtension on Cont<E, F, A>
ContThenDoVariantsExtension on Cont<E, F, A>
ContThenForkExtension on Cont<E, F, A>
ContThenIfExtension on Cont<E, F, A>
ContThenMapExtension on Cont<E, F, A>
ContThenMapVariantsExtension on Cont<E, F, A>
ContThenNeverExtension on Cont<E, F, Never>
Provides thenAbsurd for continuations that never produce a value.
ContThenTapExtension on Cont<E, F, A>
ContThenUntilExtension on Cont<E, F, A>
ContThenWhileExtension on Cont<E, F, A>
ContThenZipExtension on Cont<E, F, A>
ContUnitExtension on Cont<E, F, A>
Provides thenUnit and elseUnit, which forget the value or the error.