explicit library

A declarative Dart utilities library for explicit, predictable development with typed outcomes.

Classes

AsyncOpt<T extends Object>
Lazy asynchronous Opt composition.
AsyncRes<T extends Object, E extends Object>
Lazy asynchronous Res composition.
Err<T extends Object, E extends Object>
A Result representing a failed operation.
Nil<T extends Object>
An Option representing absence of a value.
Ok<T extends Object, E extends Object>
A Result representing a successful operation.
Option<T extends Object>
A generic Option type that represents either a Val value or a Nil (absence of value).
ParallelOpt2<A extends Object, B extends Object>
Runs two AsyncOpt recipes concurrently and combines their results into a typed record.
ParallelOpt3<A extends Object, B extends Object, C extends Object>
Runs three AsyncOpt recipes concurrently and combines their results into a typed record.
ParallelOpt4<A extends Object, B extends Object, C extends Object, D extends Object>
Runs four AsyncOpt recipes concurrently and combines their results into a typed record.
ParallelOpt5<A extends Object, B extends Object, C extends Object, D extends Object, E extends Object>
Runs five AsyncOpt recipes concurrently and combines their results into a typed record.
ParallelRes2<A extends Object, B extends Object, E extends Object>
Runs two AsyncRes recipes concurrently and combines their results into a typed record.
ParallelRes3<A extends Object, B extends Object, C extends Object, E extends Object>
Runs three AsyncRes recipes concurrently and combines their results into a typed record.
ParallelRes4<A extends Object, B extends Object, C extends Object, D extends Object, E extends Object>
Runs four AsyncRes recipes concurrently and combines their results into a typed record.
ParallelRes5<A extends Object, B extends Object, C extends Object, D extends Object, F extends Object, E extends Object>
Runs five AsyncRes recipes concurrently and combines their results into a typed record.
Result<T extends Object, E extends Object>
A generic Result type that represents either an Ok success or an Err error.
Val<T extends Object>
An Option representing a present, non-null value.

Extensions

AsyncOptConveniences on AsyncOpt<T>
Convenience methods for consuming lazy asynchronous Opt values.
AsyncOptRecipe on Future<Opt<T>> Function()
Adapter extension to convert a lazy closure returning Future<Opt<T>> into an AsyncOpt.
AsyncResRecipe on Future<Res<T, E>> Function()
Adapter extension to convert a lazy closure returning Future<Res<T, E>> into an AsyncRes.
NullableToOpt on T?
Extension on nullable types to convert to Opt.

Typedefs

Failure<T extends Object, E extends Object> = Err<T, E>
Compatibility alias for Err.
Opt<T extends Object> = Option<T>
Compact alias for Option.
OptionAsync<T extends Object> = Future<Opt<T>>
Alias for an asynchronous Opt.
Res<T extends Object, E extends Object> = Result<T, E>
Compact alias for Result.
ResultAsync<T extends Object, E extends Object> = Future<Res<T, E>>
Alias for an asynchronous Res.
Success<T extends Object, E extends Object> = Ok<T, E>
Compatibility alias for Ok.