Sync<T extends Object> class
final
A Outcome that represents a Resolvable that holds a synchronous Result.
The contained value is never a Future.
IMPORTANT:
Do not use any Futures in the constructor Sync.new to ensure errors are properly caught and propagated.
- Inheritance
-
- Object
- Outcome<
T> - Resolvable<
T> - Sync
- Implemented types
-
- SyncImpl<
T>
- SyncImpl<
- Available extensions
- FlattenResolvableExt2
- FlattenResolvableExt3
- FlattenResolvableExt4
- FlattenResolvableExt5
- FlattenResolvableExt6
- FlattenResolvableExt7
- FlattenResolvableExt8
- FlattenResolvableExt9
- FlattenResolvableResulteExt3
- FlattenResolvableResulteExt4
- FlattenResolvableResulteExt5
- FlattenResolvableResulteExt6
- FlattenResolvableResulteExt7
- FlattenResolvableResulteExt8
- FlattenResolvableResulteExt9
- FlattenResolvableResultExt2
- FlattenSyncExt2
- FlattenSyncExt3
- FlattenSyncExt4
- FlattenSyncExt5
- FlattenSyncExt6
- FlattenSyncExt7
- FlattenSyncExt8
- FlattenSyncExt9
- MapOutcomeExt2
- MapOutcomeExt3
- MapOutcomeExt4
- MapOutcomeExt5
- MapOutcomeExt6
- MapOutcomeExt7
- MapOutcomeExt8
- MapOutcomeExt9
- MapOutcomeExt10
- ResolvableOptionExt
- SwapResolvableNoneExt
- SwapResolvableOkExt
- SwapResolvableSomeExt
- SwapSyncAsyncExt
- SwapSyncErrExt
- SwapSyncNoneExt
- SwapSyncOkExt
- SwapSyncOptionExt
- SwapSyncResolvableExt
- SwapSyncResultExt
- SwapSyncSomeExt
- SyncOptionExt
- ToUnitOnObjectOutcome
- ToUnitOnObjectResolvable
- ToUnitOnObjectSync
- ToVoidOnOutcomeExt
- ToVoidOnResolvableExt
- ToVoidOnSyncExt
- WrapOnOutcomeExt
- WrapOnResolvableExt
- WrapOnSyncExt
Constructors
-
Sync.new(@mustBeAnonymous @noFutures T noFutures(), {@noFutures TOnErrorCallback<
T> ? onError, @noFutures TVoidCallback? onFinalize}) -
Creates a Sync executing a synchronous function
noFutures
.factory -
Sync.err(Err<
T> err) - Sync.errValue(Object error, {int? statusCode})
-
Sync.ok(Ok<
T> ok) - Sync.okValue(T okValue)
-
Sync.result(Result<
T> value)
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
→ Result<
T> -
no setteroverride
Methods
-
asResolvable(
) → Resolvable< T> -
Returns
this
as a base Resolvable type.inherited -
async(
) → Err< Async< T> > -
Safely gets the Async instance.
Returns an Ok on Async, or an Err on Sync.
override
-
asyncOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it's Async, otherwise returns
other
.override -
end(
) → void -
Suppresses the linter error
must_use_outcome
.override -
err(
) → Option< Err< T> > -
Safely gets the Err instance, resolving any Future.
override
-
errOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it contains an Err, otherwise returns
other
.override -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResultExt2 extensionT> > -
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 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<
Result< , provided by the FlattenResolvableResulteExt7 extensionResult< >Result< >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(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt9 extensionSync< >Sync< >Sync< >Sync< >Sync< >Sync< >Sync< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt3 extensionResolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt3 extensionResult< >T> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt8 extensionSync< >Sync< >Sync< >Sync< >Sync< >Sync< >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<
Resolvable< , provided by the FlattenResolvableExt6 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt7 extensionSync< >Sync< >Sync< >Sync< >Sync< >T> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt2 extensionT> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt6 extensionSync< >Sync< >Sync< >Sync< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt7 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt5 extensionSync< >Sync< >Sync< >T> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt4 extensionSync< >Sync< >T> > -
flatten(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt3 extensionSync< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt5 extensionResolvable< >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 FlattenResolvableExt8 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt4 extensionResolvable< >Resolvable< >T> > -
flatten2(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResultExt2 extensionT> > -
flatten2(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt2 extensionT> > -
flatten2(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt2 extensionT> > -
flatten3(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt3 extensionResult< >T> > -
flatten3(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt3 extensionSync< >T> > -
flatten3(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt3 extensionResolvable< >T> > -
flatten4(
) → Resolvable< T> -
Available on Resolvable<
Result< , provided by the FlattenResolvableResulteExt4 extensionResult< >Result< >T> > -
flatten4(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt4 extensionSync< >Sync< >T> > -
flatten4(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt4 extensionResolvable< >Resolvable< >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> > -
flatten5(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt5 extensionSync< >Sync< >Sync< >T> > -
flatten6(
) → Resolvable< T> -
Available on Resolvable<
Resolvable< , provided by the FlattenResolvableExt6 extensionResolvable< >Resolvable< >Resolvable< >Resolvable< >T> > -
flatten6(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt6 extensionSync< >Sync< >Sync< >Sync< >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(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt7 extensionSync< >Sync< >Sync< >Sync< >Sync< >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(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt8 extensionSync< >Sync< >Sync< >Sync< >Sync< >Sync< >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(
) → Sync< T> -
Available on Sync<
Sync< , provided by the FlattenSyncExt9 extensionSync< >Sync< >Sync< >Sync< >Sync< >Sync< >Sync< >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.
override
-
foldResult(
Result< Object> ? onOk(Ok<T> ok), Result<Object> ? onErr(Err<T> err)) → Sync<Object> -
Exhaustively handles the inner Ok and Err cases, returning a new
Resolvable.
override
-
ifAsync(
void noFutures(Sync< T> self, Async<T> async)) → Sync<T> -
Performs a side-effect if this is Async.
override
-
ifErr(
void noFutures(Sync< T> self, Err<T> err)) → Resolvable<T> -
Performs a side-effect if this is Err.
override
-
ifOk(
void noFutures(Sync< T> self, Ok<T> ok)) → Resolvable<T> -
Performs a side-effect if this is Ok.
override
-
ifSync(
void noFutures(Sync< T> self, Sync<T> sync)) → Sync<T> -
Performs a side-effect if this is Sync.
override
-
isAsync(
) → bool -
Returns
true
if this is an Async instance.override -
isSync(
) → bool -
Returns
true
if this is a Sync instance.override -
map<
R extends Object> (R noFutures(T value)) → Sync< R> -
Prefer using then for Resolvable.
override
-
map10<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt10 extensionOutcome< >Outcome< >Outcome< >Outcome< >Outcome< >Outcome< >Outcome< >Outcome< >Object> > -
map2<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt2 extensionObject> > -
map3<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt3 extensionOutcome< >Object> > -
map4<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt4 extensionOutcome< >Outcome< >Object> > -
map5<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt5 extensionOutcome< >Outcome< >Outcome< >Object> > -
map6<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt6 extensionOutcome< >Outcome< >Outcome< >Outcome< >Object> > -
map7<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt7 extensionOutcome< >Outcome< >Outcome< >Outcome< >Outcome< >Object> > -
map8<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt8 extensionOutcome< >Outcome< >Outcome< >Outcome< >Outcome< >Outcome< >Object> > -
map9<
R extends Object> (R mapper(T)) → TResolvableOption< Object> -
Available on Outcome<
Outcome< , provided by the MapOutcomeExt9 extensionOutcome< >Outcome< >Outcome< >Outcome< >Outcome< >Outcome< >Outcome< >Object> > -
mapFutureOr<
R extends Object> (FutureOr< R> mapper(T value)) → Resolvable<R> -
Maps the contained Ok value using a function that returns a
FutureOr
.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
ok(
) → Option< Ok< T> > -
Safely gets the Ok instance, resolving any Future.
override
-
okOr(
Resolvable< T> other) → Resolvable<T> -
Returns this if it contains an Ok, otherwise returns
other
.override -
orNull(
) → Future< T?> -
Returns the contained Ok value or
null
, resolving any Future.override -
raw(
{required FutureOr< Object> onErr(Err<Object> err), required FutureOr<Object> onNone()}) → FutureOr<Object> -
The low-level primitive for reducing a Outcome chain. It recursively
unwraps all Outcome layers to return the innermost raw value, forcing the
caller to handle terminal states via callbacks.
inherited
-
rawAsync(
) → Async< Object> -
Reduces any Outcome chain to a single Async.
inherited
-
rawSync(
) → Sync< Object> -
Safely reduces any Outcome chain to a single Sync.
inherited
-
reduce<
R extends Object> () → TResolvableOption< R> -
Reduces any nested Outcome structure into a single TResolvableOption.
inherited
-
resultMap<
R extends Object> (Result< R> noFutures(Result<T> value)) → Sync<R> -
Maps the inner Result of this Resolvable using
mapper
.override -
swap(
) → Ok< Sync< T> > -
Available on Sync<
Ok< , provided by the SwapSyncOkExt extensionT> > -
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> > -
swap(
) → Async< Sync< T> > -
Available on Sync<
Async< , provided by the SwapSyncAsyncExt extensionT> > -
swap(
) → Err< Sync< T> > -
Available on Sync<
Err< , provided by the SwapSyncErrExt extensionT> > -
swap(
) → None< Sync< T> > -
Available on Sync<
None< , provided by the SwapSyncNoneExt extensionT> > -
swap(
) → Option< Sync< T> > -
Available on Sync<
Option< , provided by the SwapSyncOptionExt extensionT> > -
swap(
) → Resolvable< Sync< T> > -
Available on Sync<
Resolvable< , provided by the SwapSyncResolvableExt extensionT> > -
swap(
) → Result< Sync< T> > -
Available on Sync<
Result< , provided by the SwapSyncResultExt extensionT> > -
swap(
) → Some< Sync< T> > -
Available on Sync<
Some< , provided by the SwapSyncSomeExt extensionT> > -
sync(
) → Ok< Sync< T> > -
Safely gets the Sync instance.
Returns an Ok on Sync, or an Err on Async.
override
-
syncOr(
Resolvable< T> other) → Sync<T> -
Returns this if it's Sync, otherwise returns
other
.override -
then<
R extends Object> (R noFutures(T value)) → Sync< R> -
Prefer using map for Sync.
override
-
toAsync(
) → Async< T> -
Converts this Resolvable to an Async.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
toUnit(
) → Sync< Unit> -
Available on Sync<
Object> , provided by the ToUnitOnObjectSync extension -
toUnit(
) → Resolvable< Unit> -
Available on Resolvable<
Object> , provided by the ToUnitOnObjectResolvable extension -
toUnit(
) → Outcome< Unit> -
Available on Outcome<
Object> , provided by the ToUnitOnObjectOutcome extension -
toVoid(
) → Outcome< void> -
Available on Outcome<
T> , provided by the ToVoidOnOutcomeExt extension -
toVoid(
) → Sync< void> -
Available on Sync<
T> , provided by the ToVoidOnSyncExt extension -
toVoid(
) → Resolvable< void> -
Available on Resolvable<
T> , provided by the ToVoidOnResolvableExt extension -
transf<
R extends Object> ([R noFutures(T e)?]) → Sync< R> -
Transforms the Outcome's generic type from
T
toR
.override -
unwrap(
) → T -
Strongly discouraged: Unsafely returns the contained value.
override
-
unwrapAsync(
) → Future< T> -
Available on Resolvable<
Option< , provided by the ResolvableOptionExt extensionT> > -
unwrapOr(
T fallback) → T -
Returns the contained value, or the
fallback
if the Outcome is in an Err or None state.override -
unwrapSync(
) → T -
Available on Resolvable<
Option< , provided by the ResolvableOptionExt extensionT> > -
unwrapSync(
) → T -
Available on Sync<
Option< , provided by the SyncOptionExt extensionT> > -
whenComplete<
R extends Object> (Resolvable< R> noFutures(Sync<T> resolved)) → Resolvable<R> -
override
-
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.inherited -
wrapInAsync(
) → Async< M> -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapInOk(
) → Ok< M> -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapInResolvable(
) → Resolvable< M> -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapInSome(
) → Some< M> -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapInSync(
) → Sync< M> -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapValueInAsync(
) → Sync< Async< T> > -
Available on Sync<
T> , provided by the WrapOnSyncExt extension -
wrapValueInAsync(
) → Outcome< Async< T> > -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapValueInAsync(
) → Resolvable< Async< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInOk(
) → Outcome< Ok< T> > -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapValueInOk(
) → Resolvable< Ok< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInOk(
) → Sync< Ok< T> > -
Available on Sync<
T> , provided by the WrapOnSyncExt extension -
wrapValueInResolvable(
) → Outcome< Resolvable< T> > -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapValueInResolvable(
) → Resolvable< Resolvable< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInResolvable(
) → Sync< Resolvable< T> > -
Available on Sync<
T> , provided by the WrapOnSyncExt extension -
wrapValueInSome(
) → Outcome< Some< T> > -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapValueInSome(
) → Resolvable< Some< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInSome(
) → Sync< Some< T> > -
Available on Sync<
T> , provided by the WrapOnSyncExt extension -
wrapValueInSync(
) → Outcome< Sync< T> > -
Available on M, provided by the WrapOnOutcomeExt extension
-
wrapValueInSync(
) → Resolvable< Sync< T> > -
Available on Resolvable<
T> , provided by the WrapOnResolvableExt extension -
wrapValueInSync(
) → Sync< Sync< T> > -
Available on Sync<
T> , provided by the WrapOnSyncExt extension
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
combine2<
T1 extends Object, T2 extends Object> (Sync< T1> s1, Sync<T2> s2, [Err<(T1, T2)> onErr(Result<T1> , Result<T2> )?]) → Sync<(T1, T2)> -
Combines 2 Sync outcomes into 1 containing a tuple of their values
if all resolve to Ok.
override
-
combine3<
T1 extends Object, T2 extends Object, T3 extends Object> (Sync< T1> s1, Sync<T2> s2, Sync<T3> s3, [Err<(T1, T2, T3)> onErr(Result<T1> , Result<T2> , Result<T3> )?]) → Sync<(T1, T2, T3)> -
Combines 3 Sync outcomes into 1 containing a tuple of their values
if all resolve to Ok.
override