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
-
- Object
- ReactiveNode
- ComputedReactiveNode<
T> - ComputedImpl<
T> - WritableComputedImpl<
T> - ConvertComputedImpl
- Implemented types
-
- ConvertComputed<
T, U>
- ConvertComputed<
- Available extensions
Constructors
-
ConvertComputedImpl(Writable<
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 Readable<
Converts this Jolt value to a Flutter ValueListenable.T> , provided by the JoltValueListenableExtension extensionno setter -
notifier
→ JoltValueNotifier<
T> -
Available on Writable<
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.
finalinherited
-
source
→ Writable<
U> -
The source signal to convert from.
final
-
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
- value ↔ T
-
Returns the current computed 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 -
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 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 -
watch(
Widget builder(T value)) → Widget -
Available on Readable<
Creates a widget that rebuilds when this value changes.T> , provided by the JoltFlutterWatchExtension extension
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited