AsyncValueX<T> extension

An extension that adds methods like when to an AsyncValue.

on

Properties

asData AsyncData<T>?
Upcast AsyncValue into an AsyncData, or return null if the AsyncValue is an AsyncLoading/AsyncError.
no setter
asError AsyncError<T>?
Upcast AsyncValue into an AsyncError, or return null if the AsyncValue is an AsyncLoading/AsyncData.
no setter
hasError bool
Whether error is not null.
no setter
isRefreshing bool
Whether the associated provider was forced to recompute even though none of its dependencies has changed, after at least one value/error was emitted.
no setter
isReloading bool
Whether the associated provider was recomputed because of a dependency change (using Ref.watch), after at least one value/error was emitted.
no setter
requireValue → T
If hasValue is true, returns the value. Otherwise if hasError, rethrows the error. Finally if in loading state, throws a StateError.
no setter
valueOrNull → T?
Return the value or previous value if in loading/error state.
no setter

Methods

mapOrNull<R>({R? data(AsyncData<T> data)?, R? error(AsyncError<T> error)?, R? loading(AsyncLoading<T> loading)?}) → R?
Perform some actions based on the state of the AsyncValue, or return null if the current state wasn't tested.
maybeMap<R>({R data(AsyncData<T> data)?, R error(AsyncError<T> error)?, R loading(AsyncLoading<T> loading)?, required R orElse()}) → R
Perform some actions based on the state of the AsyncValue, or call orElse if the current state was not tested.
maybeWhen<R>({bool skipLoadingOnReload = false, bool skipLoadingOnRefresh = true, bool skipError = false, R data(T data)?, R error(Object error, StackTrace stackTrace)?, R loading()?, required R orElse()}) → R
Switch-case over the state of the AsyncValue while purposefully not handling some cases.
when<R>({bool skipLoadingOnReload = false, bool skipLoadingOnRefresh = true, bool skipError = false, required R data(T data), required R error(Object error, StackTrace stackTrace), required R loading()}) → R
Performs an action based on the state of the AsyncValue.
whenData<R>(R cb(T value)) AsyncValue<R>
Shorthand for when to handle only the data case.
whenOrNull<R>({bool skipLoadingOnReload = false, bool skipLoadingOnRefresh = true, bool skipError = false, R? data(T data)?, R? error(Object error, StackTrace stackTrace)?, R? loading()?}) → R?
Perform actions conditionally based on the state of the AsyncValue.