Sync<T extends Object> class final

A Monad 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
Available extensions

Constructors

Sync(@mustBeAnonymous @noFuturesAllowed T noFuturesAllowed(), {@noFuturesAllowed Err<T> onError(Object? error)?, @noFuturesAllowed void onFinalize()?})
Creates a Sync executing a synchronous function noFuturesAllowed.
factory
Sync.unsafe(Result<T> value)
const
Sync.value(Result<T> value)
Creates a Sync with a pre-computed Result.

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
asVoid() Sync<void>
Transforms the contained value to void.
override
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_monad.
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<Result<Result<Result<T>>>>>, provided by the FlattenResolvableResulte5 extension

flatten() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<Result<T>>>>>>>, provided by the FlattenResolvableResulte7 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>, provided by the FlattenResolvable6 extension

flatten() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<T>>>>>>, provided by the FlattenResolvableResulte6 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>, provided by the FlattenResolvable5 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>>>>, provided by the FlattenResolvable9 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<T>>>>, provided by the FlattenResolvable4 extension

flatten() Resolvable<T>

Available on Resolvable<Result<Result<Result<T>>>>, provided by the FlattenResolvableResulte4 extension

flatten() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<Result<Result<Result<T>>>>>>>>>, provided by the FlattenResolvableResulte9 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>>, provided by the FlattenResolvable7 extension

flatten() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<Result<Result<T>>>>>>>>, provided by the FlattenResolvableResulte8 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<T>>>, provided by the FlattenResolvable3 extension

flatten() Resolvable<T>

Available on Resolvable<Result<Result<T>>>, provided by the FlattenResolvableResulte3 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>>>, provided by the FlattenResolvable8 extension

flatten() Resolvable<T>

Available on Resolvable<Result<T>>, provided by the FlattenResolvableResult2 extension

flatten() Resolvable<T>

Available on Resolvable<Resolvable<T>>, provided by the FlattenResolvable2 extension

flatten2() Resolvable<T>

Available on Resolvable<Resolvable<T>>, provided by the FlattenResolvable2 extension

flatten2() Resolvable<T>

Available on Resolvable<Result<T>>, provided by the FlattenResolvableResult2 extension

flatten3() Resolvable<T>

Available on Resolvable<Result<Result<T>>>, provided by the FlattenResolvableResulte3 extension

flatten3() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<T>>>, provided by the FlattenResolvable3 extension

flatten4() Resolvable<T>

Available on Resolvable<Result<Result<Result<T>>>>, provided by the FlattenResolvableResulte4 extension

flatten4() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<T>>>>, provided by the FlattenResolvable4 extension

flatten5() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<T>>>>>, provided by the FlattenResolvableResulte5 extension

flatten5() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>, provided by the FlattenResolvable5 extension

flatten6() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<T>>>>>>, provided by the FlattenResolvableResulte6 extension

flatten6() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>, provided by the FlattenResolvable6 extension

flatten7() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<Result<T>>>>>>>, provided by the FlattenResolvableResulte7 extension

flatten7() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>>, provided by the FlattenResolvable7 extension

flatten8() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>>>, provided by the FlattenResolvable8 extension

flatten8() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<Result<Result<T>>>>>>>>, provided by the FlattenResolvableResulte8 extension

flatten9() Resolvable<T>

Available on Resolvable<Result<Result<Result<Result<Result<Result<Result<Result<T>>>>>>>>>, provided by the FlattenResolvableResulte9 extension

flatten9() Resolvable<T>

Available on Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<Resolvable<T>>>>>>>>>, provided by the FlattenResolvable9 extension

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 noFuturesAllowed(Async<T> async)) Sync<T>
Performs a side-effect if this is an Async.
override
ifSync(void noFuturesAllowed(Sync<T> sync)) Sync<T>
Performs a side-effect if this is a 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 noFuturesAllowed(T value)) Sync<R>
Transforms the contained value using the mapper function noFuturesAllowed while preserving the Monad's structure.
override
map10<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>, provided by the MapMonad10 extension

map11<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>, provided by the MapMonad11 extension

map12<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>, provided by the MapMonad12 extension

map13<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>>, provided by the MapMonad13 extension

map14<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>>>, provided by the MapMonad14 extension

map15<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>>>>, provided by the MapMonad15 extension

map16<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>>>>>, provided by the MapMonad16 extension

map17<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>>>>>>, provided by the MapMonad17 extension

map18<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>>>>>>>>>>, provided by the MapMonad18 extension

map2<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Object>>, provided by the MapMonad2 extension

map3<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Object>>>, provided by the MapMonad3 extension

map4<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Object>>>>, provided by the MapMonad4 extension

map5<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Object>>>>>, provided by the MapMonad5 extension

map6<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>, provided by the MapMonad6 extension

map7<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>, provided by the MapMonad7 extension

map8<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>, provided by the MapMonad8 extension

map9<R extends Object>(R mapper(T)) TReduced<Object>

Available on Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Monad<Object>>>>>>>>>, provided by the MapMonad9 extension

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
reduce<R extends Object>() Resolvable<Option<R>>
Reduces the monad to a Resolvable of an Option of type R.
inherited
resultMap<R extends Object>(Result<R> noFuturesAllowed(Result<T> value)) Sync<R>
Maps the inner Result of this Resolvable using mapper.
override
swap() Ok<Resolvable<T>>

Available on Resolvable<Ok<T>>, provided by the ResolvableOkSwapX extension

swap() None<Resolvable<T>>

Available on Resolvable<None<T>>, provided by the ResolvableNoneSwapX extension

swap() Result<Sync<T>>

Available on Sync<Result<T>>, provided by the SyncResultSwapX extension

swap() Resolvable<Sync<T>>

Available on Sync<Resolvable<T>>, provided by the SyncResolvableSwapX extension

swap() Option<Sync<T>>

Available on Sync<Option<T>>, provided by the SyncOptionSwapX extension

swap() None<Sync<T>>

Available on Sync<None<T>>, provided by the SyncNoneSwapX extension

swap() Err<Sync<T>>

Available on Sync<Err<T>>, provided by the SyncErrSwapX extension

swap() Some<Sync<T>>

Available on Sync<Some<T>>, provided by the SyncSomeSwapX extension

swap() Async<Sync<T>>

Available on Sync<Async<T>>, provided by the SyncAsyncSwapX extension

swap() Some<Resolvable<T>>

Available on Resolvable<Some<T>>, provided by the ResolvableSomeSwapX extension

swap() Ok<Sync<T>>

Available on Sync<Ok<T>>, provided by the SyncOkSwapX extension

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
toAsync() Async<T>
Converts this Resolvable to an Async.
override
toString() String
A string representation of this object.
inherited
toSync() Sync<T>
Unsafely converts this Resolvable to a Sync. Throws if it's an Async.
override
toUnit() Sync<Unit>

Available on Sync<Object>, provided by the ToUnitOnObjectSync extension

toUnit() Monad<Unit>

Available on Monad<Object>, provided by the ToUnitOnObjectMonad extension

toUnit() Resolvable<Unit>

Available on Resolvable<Object>, provided by the ToUnitOnObjectResolvable extension

transf<R extends Object>([R noFuturesAllowed(T e)?]) Sync<R>
Transforms the Monad's generic type from T to R.
override
unwrap() → T
Unsafely returns the contained value. Throws Err the Monad is an Err or None.
override
unwrapAsync() Async<T>
Unsafely gets the Async instance. Throws if not an Async. @unsafeOrError
inherited
unwrapOr(T fallback) → T
Returns the contained value, or the fallback if the Monad is in an Err or None state.
override
unwrapSync() Sync<T>
Unsafely gets the Sync instance. Throws if not a Sync.
inherited
wrapAsync() Async<Sync<T>>
Wraps this Monad in an Async.
override
wrapOk() Ok<Sync<T>>
Wraps this Monad in an Ok.
override
wrapResolvable() Resolvable<Sync<T>>
Wraps this Monad in a Resolvable.
override
wrapSome() Some<Sync<T>>
Wraps this Monad in a Some.
override
wrapSync() Sync<Sync<T>>
Wraps this Monad in a Sync.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

zip2<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 monads into 1 containing a tuple of their values if all resolve to Ok.
override
zip3<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 monads into 1 containing a tuple of their values if all resolve to Ok.
override