IterableSignalImpl<E> class
Implementation of IterableSignal that computes its value from a getter function.
This is the concrete implementation of the IterableSignal interface. IterableSignal extends Computed to provide reactive iterable functionality. The iterable is computed on-demand and cached until dependencies change, making it efficient for expensive iterable operations.
See IterableSignal for the public interface and usage examples.
Example:
final numbers = Signal([1, 2, 3, 4, 5]);
// Create reactive iterable that filters even numbers
final evenNumbers = IterableSignal(() =>
numbers.value.where((n) => n.isEven)
);
// Use like any iterable
print('Even numbers: ${evenNumbers.toList()}'); // [2, 4]
// React to changes
Effect(() {
print('Count of even numbers: ${evenNumbers.length}');
});
numbers.value = [1, 2, 3, 4, 5, 6]; // Triggers effect: "Count of even numbers: 3"
- Inheritance
-
- Object
- ReactiveNode
- ComputedReactiveNode<
Iterable< E> > - ComputedImpl<
Iterable< E> > - IterableSignalImpl
- Implemented types
- Mixed-in types
- Available extensions
Constructors
-
IterableSignalImpl(Iterable<
E> getter(), {JoltDebugFn? onDebug}) - Creates a reactive iterable with the given getter function.
Properties
- deps ↔ Link?
-
First dependency link in the chain.
getter/setter pairinherited
- depsTail ↔ Link?
-
Last dependency link in the chain.
getter/setter pairinherited
- first → E
-
The first element.
no setterinherited
- firstOrNull → T?
-
Available on Iterable<
The first element of this iterator, orT> , provided by the IterableExtensions extensionnullif the iterable is empty.no setter - flags ↔ int
-
Reactive flags for this node.
getter/setter pairinherited
-
getter
→ Iterable<
E> Function() -
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
indexed
→ Iterable<
(int, T)> -
Available on Iterable<
Pairs of elements of the indices and elements of this iterable.T> , provided by the IterableExtensions extensionno setter - isDisposed → bool
-
Whether this node has been disposed.
no setterinherited
- isEmpty → bool
-
Whether this collection has no elements.
no setterinherited
- isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
-
iterator
→ Iterator<
E> -
Returns an iterator over the elements of this iterable.
no setterinherited
- last → E
-
The last element.
no setterinherited
- lastOrNull → T?
-
Available on Iterable<
The last element of this iterable, orT> , provided by the IterableExtensions extensionnullif the iterable is empty.no setter - length → int
-
The number of elements in this Iterable.
no setterinherited
-
nonNulls
→ Iterable<
T> -
Available on Iterable<
The non-T?> , provided by the NullableIterableExtensions extensionnullelements of this iterable.no setter -
peek
→ Iterable<
E> -
Returns the current computed value without establishing a reactive dependency.
no setterinherited
-
peekCached
→ Iterable<
E> -
Returns the cached computed value without establishing a reactive dependency.
no setterinherited
-
pendingValue
↔ Iterable<
E> ? -
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → E
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
- singleOrNull → T?
-
Available on Iterable<
The single element of this iterator, orT> , provided by the IterableExtensions extensionnull.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
→ Iterable<
E> -
The current iterable value.
no setterinherited
-
wait
→ Future<
List< T> > -
Available on Iterable<
Waits for futures in parallel.Future< , provided by the FutureIterable extensionT> >no setter
Methods
-
any(
bool test(E element)) → bool -
Checks whether any element of this iterable satisfies
test.inherited -
asNameMap(
) → Map< String, T> -
Available on Iterable<
Creates a map from the names of enum values to the values.T> , provided by the EnumByName extension -
byName(
String name) → T -
Available on Iterable<
Finds the enum value in this list with nameT> , provided by the EnumByName extensionname. -
cast<
R> () → Iterable< R> -
A view of this iterable as an iterable of
Rinstances.inherited -
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element.inherited -
dispose(
) → void -
Disposes this node and cleans up resources.
inherited
-
elementAt(
int index) → E -
Returns the
indexth element.inherited -
elementAtOrNull(
int index) → T? -
Available on Iterable<
The element at positionT> , provided by the IterableExtensions extensionindexof this iterable, ornull. -
every(
bool test(E element)) → bool -
Checks whether every element of this iterable satisfies
test.inherited -
expand<
T> (Iterable< T> toElements(E element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
firstWhere(
bool test(E element), {E orElse()?}) → E -
The first element that satisfies the given predicate
test.inherited -
fold<
T> (T initialValue, T combine(T previousValue, E element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< E> other) → Iterable<E> -
Creates the lazy concatenation of this iterable and
other.inherited -
forEach(
void action(E element)) → void -
Invokes
actionon each element of this iterable in iteration order.inherited -
get(
) → Iterable< E> -
Returns the current computed value and establishes a reactive dependency.
inherited
-
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastWhere(
bool test(E element), {E orElse()?}) → E -
The last element that satisfies the given predicate
test.inherited -
map<
T> (T toElement(E e)) → Iterable< T> -
The current elements of this iterable modified by
toElement.inherited -
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
-
reduce(
E combine(E value, E element)) → E -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
singleWhere(
bool test(E element), {E orElse()?}) → E -
The single element that satisfies
test.inherited -
skip(
int count) → Iterable< E> -
Creates an Iterable that provides all but the first
countelements.inherited -
skipWhile(
bool test(E value)) → Iterable< E> -
Creates an
Iterablethat skips leading elements whiletestis satisfied.inherited -
take(
int count) → Iterable< E> -
Creates a lazy iterable of the
countfirst elements of this iterable.inherited -
takeWhile(
bool test(E value)) → Iterable< E> -
Creates a lazy iterable of the leading elements satisfying
test.inherited -
toIterableSignal(
) → IterableSignal< E> -
Available on Iterable<
Converts this iterable to a reactive iterable signal.E> , provided by the JoltIterableExtension extension -
toList(
{bool growable = true}) → List< E> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< E> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
Returns a string representation of the iterable.
inherited
-
where(
bool test(E element)) → Iterable< E> -
Creates a new lazy Iterable with all elements that satisfy the
predicate
test.inherited -
whereType<
T> () → Iterable< T> -
Creates a new lazy Iterable with all elements that have type
T.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited