SyncPersistSignalImpl<T> class

Synchronous persistent signal implementation.

Reads values synchronously and initializes immediately (unless lazy). Uses a 2-element write queue for efficient writes.

Note: Write operations require initialization. Lazy signals auto-initialize on first access.

Inheritance
Implemented types
Available extensions

Constructors

SyncPersistSignalImpl({required T read(), required FutureOr<void> write(T value), bool lazy = false, Duration? throttle, JoltDebugFn? onDebug})
Creates a synchronous persistent signal.
SyncPersistSignalImpl.lazy({required T read(), required FutureOr<void> write(T value), 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
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 → T Function()
Synchronous 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