ListSignalImpl<E> class
Implementation of ListSignal that automatically notifies subscribers when modified.
This is the concrete implementation of the ListSignal interface. ListSignal extends Signal to provide full List functionality while maintaining reactivity. All list operations (add, remove, etc.) will trigger notifications to subscribers.
See ListSignal for the public interface and usage examples.
Example:
final items = ListSignal(['apple', 'banana']);
Effect(() => print('Items: ${items.join(', ')}'));
// Prints: "Items: apple, banana"
items.add('cherry');
// Prints: "Items: apple, banana, cherry"
items[0] = 'orange';
// Prints: "Items: orange, banana, cherry"
items.removeAt(1);
// Prints: "Items: orange, cherry"
- Inheritance
-
- Object
- ReactiveNode
- SignalReactiveNode<
List< E> > - SignalImpl<
List< E> > - ListSignalImpl
- Implemented types
-
- ListSignal<
E>
- ListSignal<
- Mixed-in types
- Available extensions
Constructors
-
ListSignalImpl(List<
E> ? value, {JoltDebugFn? onDebug}) - Creates a reactive list signal with the given initial list.
Properties
-
cachedValue
↔ List<
E> ? -
getter/setter pairinherited
- 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.
getter/setter pairinherited
- 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
- 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> -
A new
Iteratorthat allows iterating the elements of thisIterable.no setterinherited - last ↔ E
-
The last element.
getter/setter pairinherited
- 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 objects in this list.
getter/setter pairinherited
-
nonNulls
→ Iterable<
T> -
Available on Iterable<
The non-T?> , provided by the NullableIterableExtensions extensionnullelements of this iterable.no setter -
peek
→ List<
E> -
Returns the current value without establishing a reactive dependency.
no setterinherited
-
pendingValue
↔ List<
E> ? -
getter/setter pairinherited
-
reversed
→ Iterable<
E> -
An Iterable of the objects in this list in reverse order.
no setterinherited
- 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
-
toJS
→ JSArray<
T> -
Available on List<
Converts this List to a JSArray by either casting, unwrapping, or cloning the List.T> , provided by the ListToJSArray extensionno setter -
toJSProxyOrRef
→ JSArray<
T> -
Available on List<
Converts this List to a JSArray by either casting, unwrapping, or proxying the List.T> , provided by the ListToJSArray extensionno setter -
value
↔ List<
E> -
Returns the current value and establishes a reactive dependency.
getter/setter pairinherited
-
wait
→ Future<
List< T> > -
Available on Iterable<
Waits for futures in parallel.Future< , provided by the FutureIterable extensionT> >no setter
Methods
-
add(
E value) → void -
Adds
valueto the end of this list, extending the length by one.inherited -
addAll(
Iterable< E> iterable) → void -
Appends all objects of
iterableto the end of this list.inherited -
any(
bool test(E element)) → bool -
Checks whether any element of this iterable satisfies
test.inherited -
asMap(
) → Map< int, E> -
An unmodifiable Map view of this list.
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> () → List< R> -
Returns a view of this list as a list of
Rinstances.inherited -
clear(
) → void -
Removes all objects from this list; the length of the list becomes zero.
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<
R> (Iterable< R> toElements(E element)) → Iterable<R> -
Expands each element of this Iterable into zero or more elements.
inherited
-
fillRange(
int start, int end, [E? fillValue]) → void -
Overwrites a range of elements with
fillValue.inherited -
firstWhere(
bool test(E element), {E orElse()?}) → E -
The first element that satisfies the given predicate
test.inherited -
fold<
R> (R initialValue, R combine(R previousValue, E element)) → R -
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(
) → List< E> -
Returns the current value and establishes a reactive dependency.
inherited
-
getRange(
int start, int end) → Iterable< E> -
Creates an Iterable that iterates over a range of elements.
inherited
-
indexOf(
Object? element, [int start = 0]) → int -
The first index of
elementin this list.inherited -
indexWhere(
bool test(E element), [int start = 0]) → int -
The first index in the list that satisfies the provided
test.inherited -
insert(
int index, E element) → void -
Inserts
elementat positionindexin this list.inherited -
insertAll(
int index, Iterable< E> iterable) → void -
Inserts all objects of
iterableat positionindexin this list.inherited -
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastIndexOf(
Object? element, [int? start]) → int -
The last index of
elementin this list.inherited -
lastIndexWhere(
bool test(E element), [int? start]) → int -
The last index in the list that satisfies the provided
test.inherited -
lastWhere(
bool test(E element), {E orElse()?}) → E -
The last element that satisfies the given predicate
test.inherited -
map<
T> (T f(E element)) → 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 signal has changed.
inherited
-
onDispose(
) → void -
Disposes the signal 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
-
remove(
Object? value) → bool -
Removes the first occurrence of
valuefrom this list.inherited -
removeAt(
int index) → E -
Removes the object at position
indexfrom this list.inherited -
removeLast(
) → E -
Removes and returns the last object in this list.
inherited
-
removeRange(
int start, int end) → void -
Removes a range of elements from the list.
inherited
-
removeWhere(
bool test(E element)) → void -
Removes all objects from this list that satisfy
test.inherited -
replaceRange(
int start, int end, Iterable< E> replacements) → void -
Replaces a range of elements with the elements of
replacements.inherited -
retainWhere(
bool test(E element)) → void -
Removes all objects from this list that fail to satisfy
test.inherited -
set(
List< E> value) → List<E> -
Sets a new value for the signal and notifies subscribers when it changes.
inherited
-
setAll(
int index, Iterable< E> iterable) → void -
Overwrites elements with the objects of
iterable.inherited -
setRange(
int start, int end, Iterable< E> iterable, [int skipCount = 0]) → void -
Writes some elements of
iterableinto a range of this list.inherited -
shuffle(
[Random? random]) → void -
Shuffles the elements of this list randomly.
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 -
sort(
[int compare(E a, E b)?]) → void -
Sorts this list according to the order specified by the
comparefunction.inherited -
sublist(
int start, [int? end]) → List< E> -
Returns a new list containing the elements between
startandend.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
-
toListSignal(
) → ListSignal< E> -
Available on List<
Converts this list to a reactive list signal.E> , provided by the JoltListExtension extension -
toSet(
) → Set< E> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
A string representation of this object.
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 +(
List< E> other) → List<E> -
Returns the concatenation of this list and
other.inherited -
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
int index) → E -
The object at the given
indexin the list.inherited -
operator []=(
int index, E value) → void -
Sets the value at the given
indexin the list tovalue.inherited