ConvertComputedImpl<T, U> class

Implementation of ConvertComputed that converts between different types.

This is the concrete implementation of the ConvertComputed interface. ConvertComputed provides a way to create a computed signal that converts between different types while maintaining reactivity. It acts as a bridge between signals of different types, automatically handling the conversion in both directions.

See ConvertComputed for the public interface and usage examples.

Example:

final count = Signal(0);
final textCount = ConvertComputed(
  count,
  decode: (int value) => value.toString(),
  encode: (String value) => int.parse(value),
);

print(textCount.value); // "0"
textCount.value = "42"; // Updates count to 42
Inheritance
Implemented types
Available extensions

Constructors

ConvertComputedImpl(WritableNode<U> source, {required T decode(U value), required U encode(T value), JoltDebugFn? onDebug})
Creates a type-converting computed signal.

Properties

decode → T Function(U value)
Function to convert from source type to target type.
final
deps Link?
First dependency link in the chain.
getter/setter pairinherited
depsTail Link?
Last dependency link in the chain.
getter/setter pairinherited
encode → U Function(T value)
Function to convert from target type to source type.
final
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<T>, provided by the JoltValueListenableExtension extension

Converts this Jolt value to a Flutter ValueListenable.
no setter
notifier JoltValueNotifier<T>

Available on Readonly<T>, provided by the JoltValueNotifierExtension extension

Converts this Jolt value to a Flutter ValueNotifier.
no 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.
finalinherited
source WritableNode<U>
The source signal to convert from.
final
stream Stream<T>

Available on ReadonlyNode<T>, provided by the JoltReadonlyExtension 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
value ↔ T
Returns the current computed value and establishes a reactive dependency.
getter/setter pairinherited

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<T>, provided by the JoltReadonlyExtension extension

Creates a stream subscription that 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 computed value has changed.
inherited
onDispose() → void
Disposes the computed value 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.
readonly() Computed<T>

Available on WritableComputed<T>, provided by the JoltWritableComputedExtension extension

Returns a read-only view of this writable computed.
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.
inherited
toString() String
A string representation of this object.
inherited
until(bool predicate(T value)) Future<T>

Available on ReadonlyNode<T>, provided by the JoltReadonlyExtension extension

Waits until the reactive value satisfies a predicate condition.
update(T updater(T value)) → T

Available on WritableNode<T>, provided by the JoltWritableExtension extension

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

Operators

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