Resolvable<T extends Object> class
sealed
A Monad that represents a value which can be resolved either synchronously Sync or asynchronously Async.
The value of a Sync is never a Future while the value of an Async is always a Future.
- Inheritance
- Available extensions
- FlattenResolvableExt2
- FlattenResolvableExt3
- FlattenResolvableExt4
- FlattenResolvableExt5
- FlattenResolvableExt6
- FlattenResolvableExt7
- FlattenResolvableExt8
- FlattenResolvableExt9
- FlattenResolvableResulteExt3
- FlattenResolvableResulteExt4
- FlattenResolvableResulteExt5
- FlattenResolvableResulteExt6
- FlattenResolvableResulteExt7
- FlattenResolvableResulteExt8
- FlattenResolvableResulteExt9
- FlattenResolvableResultExt2
- MapMonadExt2
- MapMonadExt3
- MapMonadExt4
- MapMonadExt5
- MapMonadExt6
- MapMonadExt7
- MapMonadExt8
- MapMonadExt9
- MapMonadExt10
- ResolvableOptionExt
- SwapResolvableNoneExt
- SwapResolvableOkExt
- SwapResolvableSomeExt
- ToUnitOnObjectMonad
- ToUnitOnObjectResolvable
- ToVoidOnMonadExt
- ToVoidOnResolvableExt
- WrapOnMonadExt
- WrapOnResolvableExt
Constructors
-
Resolvable.new(@mustBeAnonymous @mustAwaitAllFutures FutureOr<
T> mustAwaitAllFutures(), {@noFutures TOnErrorCallback<T> ? onError, @noFutures TVoidCallback? onFinalize}) -
Creates a Sync or Async depending on the return type of
mustAwaitAllFutures
.factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
props
→ List<
Object?> -
The list of properties that will be used to determine whether
two instances are equal.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stringify → bool?
-
If set to
true
, the toString method will be overridden to output this instance's props.no setterinherited -
value
→ FutureOr<
Result< T> > -
no setteroverride
Methods
-
asResolvable(
) → Resolvable< T> -
Returns
this
as a base Resolvable type. -
async(
) → Result< Async< T> > - Safely gets the Async instance. Returns an Ok on Async, or an Err on Sync.
-
asyncOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it's Async, otherwise returns
other
. -
end(
) → FutureOr< void> -
Suppresses the linter error
must_use_monad
.inherited -
err(
) → FutureOr< Option< Err< >T> > - Safely gets the Err instance, resolving any Future.
-
errOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it contains an Err, otherwise returns
other
. -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResultExt2 extensionT> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt6 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt9 extensionResult< >Result< >Result< >Result< >Result< >Result< >Result< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt8 extensionResult< >Result< >Result< >Result< >Result< >Result< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt9 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt7 extensionResult< >Result< >Result< >Result< >Result< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt6 extensionResult< >Result< >Result< >Result< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt5 extensionResult< >Result< >Result< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt4 extensionResult< >Result< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt3 extensionResult< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt8 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt7 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt2 extensionT> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt3 extensionResolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt4 extensionResolvable< >Resolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt5 extensionResolvable< >Resolvable< >Resolvable< >T> > -
flatten2(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResultExt2 extensionT> > -
flatten2(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt2 extensionT> > -
flatten3(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt3 extensionResolvable< >T> > -
flatten3(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt3 extensionResult< >T> > -
flatten4(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt4 extensionResolvable< >Resolvable< >T> > -
flatten4(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt4 extensionResult< >Result< >T> > -
flatten5(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt5 extensionResult< >Result< >Result< >T> > -
flatten5(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt5 extensionResolvable< >Resolvable< >Resolvable< >T> > -
flatten6(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt6 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten6(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt6 extensionResult< >Result< >Result< >Result< >T> > -
flatten7(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt7 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten7(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt7 extensionResult< >Result< >Result< >Result< >Result< >T> > -
flatten8(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt8 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten8(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt8 extensionResult< >Result< >Result< >Result< >Result< >Result< >T> > -
flatten9(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt9 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten9(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt9 extensionResult< >Result< >Result< >Result< >Result< >Result< >Result< >T> > -
fold(
Resolvable< Object> ? onSync(Sync<T> sync), Resolvable<Object> ? onAsync(Async<T> async)) → Resolvable<Object> - Handles Sync and Async cases to produce a new Resolvable.
-
foldResult(
Result< Object> ? onOk(Ok<T> ok), Result<Object> ? onErr(Err<T> err)) → Resolvable<Object> - Exhaustively handles the inner Ok and Err cases, returning a new Resolvable.
-
ifAsync(
void noFutures(Resolvable< T> self, Async<T> async)) → Resolvable<T> - Performs a side-effect if this is Async.
-
ifErr(
void noFutures(Resolvable< T> self, Err<T> err)) → Resolvable<T> - Performs a side-effect if this is Err.
-
ifOk(
void noFutures(Resolvable< T> self, Ok<T> ok)) → Resolvable<T> - Performs a side-effect if this is Ok.
-
ifSync(
void noFutures(Resolvable< T> self, Sync<T> sync)) → Resolvable<T> - Performs a side-effect if this is Sync.
-
isAsync(
) → bool -
Returns
true
if this is an Async instance. -
isSync(
) → bool -
Returns
true
if this is a Sync instance. -
map<
R extends Object> (R noFutures(T value)) → Resolvable< R> -
Prefer using then for Resolvable.
override
-
map10<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt10 extensionMonad< >Monad< >Monad< >Monad< >Monad< >Monad< >Monad< >Monad< >Object> > -
map2<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt2 extensionObject> > -
map3<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt3 extensionMonad< >Object> > -
map4<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt4 extensionMonad< >Monad< >Object> > -
map5<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt5 extensionMonad< >Monad< >Monad< >Object> > -
map6<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt6 extensionMonad< >Monad< >Monad< >Monad< >Object> > -
map7<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt7 extensionMonad< >Monad< >Monad< >Monad< >Monad< >Object> > -
map8<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt8 extensionMonad< >Monad< >Monad< >Monad< >Monad< >Monad< >Object> > -
map9<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Monad<
Monad< , provided by the MapMonadExt9 extensionMonad< >Monad< >Monad< >Monad< >Monad< >Monad< >Monad< >Object> > -
mapFutureOr<
R extends Object> (FutureOr< R> mapper(T value)) → Resolvable<R> -
Maps the contained Ok value using a function that returns a
FutureOr
. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
ok(
) → FutureOr< Option< Ok< >T> > - Safely gets the Ok instance, resolving any Future.
-
okOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it contains an Ok, otherwise returns
other
. -
orNull(
) → Future< T?> -
Returns the contained Ok value or
null
, resolving any Future. -
raw(
{required FutureOr< Object> onErr(Err<Object> err), required FutureOr<Object> onNone()}) → FutureOr<Object> -
The low-level primitive for reducing a Monad chain. It recursively
unwraps all Monad layers to return the innermost raw value, forcing the
caller to handle terminal states via callbacks.
inherited
-
rawAsync(
) → Async< Object> -
Reduces any Monad chain to a single Async.
inherited
-
rawSync(
) → Sync< Object> -
Safely reduces any Monad chain to a single Sync.
inherited
-
reduce<
R extends Object> () → TResolvableOption< R> -
Reduces any nested Monad structure into a single TResolvableOption.
inherited
-
resultMap<
R extends Object> (Result< R> noFutures(Result<T> value)) → Resolvable<R> -
Maps the inner Result of this Resolvable using
mapper
. -
swap(
) → None< Resolvable< T> > -
Available on Resolvable<
None< , provided by the SwapResolvableNoneExt extensionT> > -
swap(
) → Ok< Resolvable< T> > -
Available on Resolvable<
Ok< , provided by the SwapResolvableOkExt extensionT> > -
swap(
) → Some< Resolvable< T> > -
Available on Resolvable<
Some< , provided by the SwapResolvableSomeExt extensionT> > -
sync(
) → Result< Sync< T> > - Safely gets the Sync instance. Returns an Ok on Sync, or an Err on Async.
-
syncOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it's Sync, otherwise returns
other
. -
then<
R extends Object> (R noFutures(T value)) → Resolvable< R> -
toAsync(
) → Async< T> - Converts this Resolvable to an Async.
-
toString(
) → String -
A string representation of this object.
inherited
-
toUnit(
) → Monad< Unit> -
Available on Monad<
Object> , provided by the ToUnitOnObjectMonad extension -
toUnit(
) → Resolvable< Unit> -
Available on Resolvable<
Object> , provided by the ToUnitOnObjectResolvable extension -
toVoid(
) → Monad< void> -
Available on Monad<
T> , provided by the ToVoidOnMonadExt extension -
toVoid(
) → Resolvable< void> -
Available on Resolvable<
T> , provided by the ToVoidOnResolvableExt extension -
transf<
R extends Object> ([R noFutures(T e)?]) → Resolvable< R> -
Transforms the Monad's generic type from
T
toR
.override -
unwrap(
) → FutureOr< T> -
Strongly discouraged: Unsafely returns the contained value.
override
-
unwrapAsync(
) → Future< T> -
Available on Resolvable<
Option< , provided by the ResolvableOptionExt extensionT> > -
unwrapOr(
T fallback) → FutureOr< T> -
Returns the contained value, or the
fallback
if the Monad is in an Err or None state.override -
unwrapSync(
) → T -
Available on Resolvable<
Option< , provided by the ResolvableOptionExt extensionT> > -
whenComplete<
R extends Object> (Resolvable< R> noFutures(Sync<T> resolved)) → Resolvable<R> -
withMinDuration(
Duration? duration) → Resolvable< T> -
Ensures that resolving this value takes at least a specified
duration
. Ifduration
is null, this method returns the original value immediately. -
wrapInAsync(
) → Async< M> -
Available on M, provided by the WrapOnMonadExt extension
-
wrapInOk(
) → Ok< M> -
Available on M, provided by the WrapOnMonadExt extension
-
wrapInResolvable(
) → Resolvable< M> -
Available on M, provided by the WrapOnMonadExt extension
-
wrapInSome(
) → Some< M> -
Available on M, provided by the WrapOnMonadExt extension
-
wrapInSync(
) → Sync< M> -
Available on M, provided by the WrapOnMonadExt extension
-
wrapValueInAsync(
) → Monad< Async< T> > -
Available on M, provided by the WrapOnMonadExt extension
-
wrapValueInAsync(
) → Resolvable< Async< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInOk(
) → Monad< Ok< T> > -
Available on M, provided by the WrapOnMonadExt extension
-
wrapValueInOk(
) → Resolvable< Ok< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInResolvable(
) → Monad< Resolvable< T> > -
Available on M, provided by the WrapOnMonadExt extension
-
wrapValueInResolvable(
) → Resolvable< Resolvable< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInSome(
) → Monad< Some< T> > -
Available on M, provided by the WrapOnMonadExt extension
-
wrapValueInSome(
) → Resolvable< Some< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInSync(
) → Monad< Sync< T> > -
Available on M, provided by the WrapOnMonadExt extension
-
wrapValueInSync(
) → Resolvable< Sync< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
combine2<
T1 extends Object, T2 extends Object> (Resolvable< T1> r1, Resolvable<T2> r2, [Err<(T1, T2)> onErr(Result<T1> , Result<T2> )?]) → Resolvable<(T1, T2)> - Combines 2 Resolvable monads into 1 containing a tuple of their values if all resolve to Ok.
-
combine3<
T1 extends Object, T2 extends Object, T3 extends Object> (Resolvable< T1> r1, Resolvable<T2> r2, Resolvable<T3> r3, [Err<(T1, T2, T3)> onErr(Result<T1> , Result<T2> , Result<T3> )?]) → Resolvable<(T1, T2, T3)> - Combines 3 Resolvable monads into 1 containing a tuple of their values if all resolve to Ok.