WritableComputedImpl<T> class
Implementation of WritableComputed that can be both read and written.
This is the concrete implementation of the WritableComputed interface. WritableComputed allows you to create computed values that can also be set directly. When set, the setter function is called, which typically updates the underlying dependencies.
See WritableComputed for the public interface and usage examples.
Example:
final firstName = Signal('John');
final lastName = Signal('Doe');
final fullName = WritableComputed(
() => '${firstName.value} ${lastName.value}',
(value) {
final parts = value.split(' ');
firstName.value = parts[0];
lastName.value = parts[1];
},
);
print(fullName.value); // "John Doe"
fullName.value = 'Jane Smith'; // Updates firstName and lastName
- Inheritance
-
- Object
- ReactiveNode
- ComputedReactiveNode<
T> - ComputedImpl<
T> - WritableComputedImpl
- Implemented types
- Available extensions
Constructors
- WritableComputedImpl(T getter(), void setter(T), {JoltDebugFn? onDebug})
- Creates a new writable computed value.
Properties
- 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
- getter → T Function()
-
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDisposed → bool
-
Whether this node has been disposed.
no setterinherited
-
listenable
→ JoltValueListenable<
T> -
Available on Readonly<
Converts this Jolt value to a Flutter ValueListenable.T> , provided by the JoltValueListenableExtension extensionno setter -
notifier
→ JoltValueNotifier<
T> -
Available on Readonly<
Converts this Jolt value to a Flutter ValueNotifier.T> , provided by the JoltValueNotifierExtension extensionno setter - peek → T
-
Returns the current computed value without establishing a reactive dependency.
no setterinherited
- peekCached → T
-
Returns the cached computed value without establishing a reactive dependency.
no setterinherited
- pendingValue ↔ T?
-
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- setter → void Function(T)
-
The function called when this computed value is set.
final
-
stream
→ Stream<
T> -
Available on ReadonlyNode<
Converts this reactive value to a broadcast stream.T> , provided by the JoltReadonlyExtension extensionno setter - subs ↔ Link?
-
First subscriber link in the chain.
getter/setter pairinherited
- subsTail ↔ Link?
-
Last subscriber link in the chain.
getter/setter pairinherited
- value ↔ T
-
Returns the current computed value and establishes a reactive dependency.
getter/setter pairinherited-getteroverride-setter
Methods
-
dispose(
) → void -
Disposes this node and cleans up resources.
inherited
-
get(
) → T -
Returns the current computed value and establishes a reactive dependency.
inherited
-
listen(
void onData(T event)?, {Function? onError, void onDone()?, bool? cancelOnError, bool immediately = false}) → StreamSubscription< T> -
Available on ReadonlyNode<
Creates a stream subscription that listens to changes in this reactive value.T> , provided by the JoltReadonlyExtension extension -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notify(
) → void -
Manually notifies all subscribers that this computed value has changed.
inherited
-
onDispose(
) → void -
Disposes the computed value 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 -
readonly(
) → Computed< T> -
Available on WritableComputed<
Returns a read-only view of this writable computed.T> , provided by the JoltWritableComputedExtension extension -
set(
T newValue) → T -
Sets a new value for this writable computed by delegating to the
user-provided setter inside a batch so downstream watchers flush once.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
until(
bool predicate(T value)) → Future< T> -
Available on ReadonlyNode<
Waits until the reactive value satisfies a predicate condition.T> , provided by the JoltReadonlyExtension extension -
update(
T updater(T value)) → T -
Available on WritableNode<
Updates the value using an updater function based on the current value.T> , provided by the JoltWritableExtension extension
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited