AsyncPersistSignalImpl<T> class

Asynchronous persistent signal implementation.

Reads values asynchronously and supports optional initialValue during loading. Uses a 2-element write queue for efficient writes.

Note: Write operations require initialization. Use ensure or getEnsured before writing, or check isInitialized.

Inheritance
Implemented types
Available extensions

Constructors

AsyncPersistSignalImpl({required Future<T> read(), required FutureOr<void> write(T value), T initialValue()?, bool lazy = false, Duration? throttle, JoltDebugFn? onDebug})
Creates an asynchronous persistent signal.
AsyncPersistSignalImpl.lazy({required Future<T> read(), required FutureOr<void> write(T value), T initialValue()?, Duration? throttle, JoltDebugFn? onDebug})

Properties

cachedValue ↔ T?
getter/setter pairinherited
deps Link?
First dependency link in the chain.
getter/setter pairinherited
depsTail Link?
Last dependency link in the chain.
getter/setter pairinherited
flags int
Reactive flags for this node.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
initialValue → T Function()?
Optional temporary value during async loading (for display).
final
isDisposed bool
Whether this node has been disposed.
no setterinherited
isInitialized bool
Whether initialized from storage.
no setteroverride
peek → T
Returns the current value without establishing a reactive dependency.
no setterinherited
pendingValue ↔ T?
getter/setter pairinherited
read Future<T> Function()
Async read function.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stream Stream<T>

Available on Readable<T>, provided by the JoltUtilsStreamExtension extension

Converts this reactive value to a broadcast stream.
no setter
subs Link?
First subscriber link in the chain.
getter/setter pairinherited
subsTail Link?
Last subscriber link in the chain.
getter/setter pairinherited
throttle Duration?
Throttle delay (null = no throttling).
final
value ↔ T
Returns the current value and establishes a reactive dependency.
getter/setter pairoverride
write FutureOr<void> Function(T value)
Write function (sync or async).
final

Methods

call() → T

Available on Readable<T>, provided by the JoltUtilsReadableExtension extension

Gets the current value (callable syntax).
derived<U>(U computed(T value)) Computed<U>

Available on Readable<T>, provided by the JoltUtilsReadableExtension extension

Creates a computed value derived from this readable.
dispose() → void
Disposes this node and cleans up resources.
inherited
ensure([FutureOr<void> fn(T value)?]) Future<void>
Ensures initialization, optionally running a function.
override
ensureWrite() Future<void>
Waits for all pending writes to complete.
inherited
get() → T

Available on Readable<T>, provided by the JoltUtilsReadableExtension extension

Gets the current value.
getEnsured() Future<T>
Gets value, ensuring initialization is complete.
override
listen(void onData(T event)?, {Function? onError, void onDone()?, bool? cancelOnError, bool immediately = false}) StreamSubscription<T>

Available on Readable<T>, provided by the JoltUtilsStreamExtension extension

Listens to changes in this reactive value.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notify() → void
Manually notifies all subscribers that this signal has changed.
inherited
onDispose() → void
Disposes the signal and cleans up resources.
inherited
readonly() ReadonlySignal<T>

Available on Signal<T>, provided by the JoltSignalExtension extension

Returns a read-only view of this signal.
set(T value) → T

Available on Writable<T>, provided by the JoltUtilsWritableExtension extension

Sets the value.
toString() String
A string representation of this object.
inherited
until(bool predicate(T value)) Future<T>

Available on ReadableNode<T>, provided by the JoltUtilsUntilExtension extension

Waits until the value satisfies a condition.
untilWhen<U>(U predicate) Future<T>

Available on ReadableNode<T>, provided by the JoltUtilsUntilExtension extension

Waits until the reactive value equals a specific value.
update(T updater(T value)) → T

Available on Writable<T>, provided by the JoltUtilsWritableExtension extension

Updates the value using an updater function based on the current value.

Operators

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