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
-
- Object
- ReactiveNode
- SignalReactiveNode<
T> - SignalImpl<
T> - SyncPersistSignalImpl
- 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<
Converts this reactive value to a broadcast stream.T> , provided by the JoltUtilsStreamExtension extensionno 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<
Gets the current value (callable syntax).T> , provided by the JoltUtilsReadableExtension extension -
derived<
U> (U computed(T value)) → Computed< U> -
Available on Readable<
Creates a computed value derived from this readable.T> , provided by the JoltUtilsReadableExtension extension -
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<
Gets the current value.T> , provided by the JoltUtilsReadableExtension extension -
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<
Listens to changes in this reactive value.T> , provided by the JoltUtilsStreamExtension extension -
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<
Returns a read-only view of this signal.T> , provided by the JoltSignalExtension extension -
set(
T value) → T -
Available on Writable<
Sets the value.T> , provided by the JoltUtilsWritableExtension extension -
toString(
) → String -
A string representation of this object.
inherited
-
until(
bool predicate(T value)) → Future< T> -
Available on ReadableNode<
Waits until the value satisfies a condition.T> , provided by the JoltUtilsUntilExtension extension -
untilWhen<
U> (U predicate) → Future< T> -
Available on ReadableNode<
Waits until the reactive value equals a specific value.T> , provided by the JoltUtilsUntilExtension extension -
update(
T updater(T value)) → T -
Available on Writable<
Updates the value using an updater function based on the current value.T> , provided by the JoltUtilsWritableExtension extension
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited