Interface for writable computed reactive values.
WritableComputed allows you to create computed values that can also be set directly. When set, the setter function is called to update the underlying dependencies.
Example:
final firstName = Signal('John');
final lastName = Signal('Doe');
WritableComputed<String> fullName = WritableComputed(
() => '${firstName.value} ${lastName.value}',
(value) {
final parts = value.split(' ');
firstName.value = parts[0];
lastName.value = parts[1];
},
);
- Implemented types
- Implementers
- Available extensions
Constructors
- WritableComputed(T getter(), void setter(T), {JoltDebugFn? onDebug})
-
Creates a new writable computed value.
factory
- WritableComputed.withPrevious(T getter(T?), void setter(T), {JoltDebugFn? onDebug})
-
Creates a writable computed value with a getter that receives the previous value.
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDisposed → bool
-
Whether this node has been disposed.
no setterinherited
- peek → T
-
Gets the current value without establishing a reactive dependency.
no setterinherited
- peekCached → T
-
Returns the cached computed value without establishing a reactive dependency.
no setterinherited
- 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 - value ↔ T
-
Gets the current value and establishes a reactive dependency.
getter/setter pairinherited
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
-
get(
) → T -
Available on Readable<
Gets the current value.T> , provided by the JoltUtilsReadableExtension extension -
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 -
Triggers a change notification without modifying the value.
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 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