NotifiableList<E> class Null safety

Class that mimics List, and notify its listener every time the list is changed.

This list will notify its listener when a change is detected (an item has been added, removed, set, etc... or the list has been sorted, mapped, etc...). However, it won't notify its listener if its items are changed, even if they extends ChangeNotifier.

Inheritance
Available Extensions

Constructors

NotifiableList({dynamic propagateNotification = true})
Create an empty NotifiableList. [...]
NotifiableList.from(Iterable elements, {bool growable = true, dynamic propagateNotification = true})
Create a NotifiableList by adding all elements from elements, regardless of their type. [...]
NotifiableList.of(Iterable<E> elements, {bool growable = true, dynamic propagateNotification = true})
Create a NotifiableList by adding all elements of elements of type E. [...]

Properties

first ↔ E
Returns the first element. [...]
read / write
hashCode → int
The hash code for this object. [...]
read-only
hasListeners → bool
Whether any listeners are currently registered. [...]
@protected, read-only, inherited
isEmpty → bool
Returns true if there are no elements in this collection. [...]
read-only
isNotEmpty → bool
Returns true if there is at least one element in this collection. [...]
read-only
iterator → Iterator<E>
Returns a new Iterator that allows iterating the elements of this Iterable. [...]
read-only
last ↔ E
Returns the last element. [...]
read / write
length ↔ int
The number of objects in this list. [...]
read / write
propagateNotification ↔ bool
The boolean that indicates if the notification from its children should propagate. [...]
read / write
reversed → Iterable<E>
An Iterable of the objects in this list in reverse order.
read-only
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited
single → E
Checks that this iterable has only one element, and returns that element. [...]
read-only

Methods

add(E element) → void
Adds value to the end of this list, extending the length by one. [...]
addAll(Iterable<E> elements) → void
Appends all objects of iterable to the end of this list. [...]
addListener(VoidCallback listener) → void
Register a closure to be called when the object changes. [...]
inherited
any(bool test(E element)) → bool
Checks whether any element of this iterable satisfies test. [...]
asMap() → Map<int, E>
An unmodifiable Map view of this list. [...]
asNotifiableMap() NotifiableMap<int, E>
Return a NotifiableMap where the keys are the indices and the values the elements of this list.
cast<R>() → List<R>
Returns a view of this list as a list of R instances. [...]
clear() → void
Removes all objects from this list; the length of the list becomes zero. [...]
contains(Object? E) → bool
Whether the collection contains an element equal to element. [...]
dispose() → void
Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls to addListener and removeListener will throw after the object is disposed). [...]
@mustCallSuper, inherited
elementAt(int index) → E
Returns the indexth element. [...]
every(bool test(E element)) → bool
Checks whether every element of this iterable satisfies test. [...]
expand<T>(Iterable<T> f(E element)) → Iterable<T>
Expands each element of this Iterable into zero or more elements. [...]
fillRange(int start, int end, [E? fillValue]) → void
Overwrites a range of elements with fillValue. [...]
firstWhere(bool test(E element), {E orElse()?}) → E
Returns the first element that satisfies the given predicate test. [...]
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 [...]
followedBy(Iterable<E> other) → Iterable<E>
Returns the lazy concatenation of this iterable and other. [...]
forEach(void f(E element)) → void
Invokes action on each element of this iterable in iteration order.
getRange(int start, int end) → Iterable<E>
Creates an Iterable that iterates over a range of elements. [...]
indexOf(E element, [int start = 0]) → int
The first index of element in this list. [...]
indexWhere(bool test(E element), [int start = 0]) → int
The first index in the list that satisfies the provided test. [...]
insert(int index, E element) → void
Inserts element at position index in this list. [...]
insertAll(int index, Iterable<E> iterable) → void
Inserts all objects of iterable at position index in this list. [...]
join([String separator = ""]) → String
Converts each element to a String and concatenates the strings. [...]
lastIndexOf(E element, [int? start]) → int
The last index of element in this list. [...]
lastIndexWhere(bool test(E element), [int? start]) → int
The last index in the list that satisfies the provided test. [...]
lastWhere(bool test(E element), {E orElse()?}) → E
Returns the last element that satisfies the given predicate test. [...]
map<T>(T f(E e)) → Iterable<T>
The current elements of this iterable modified by toElement. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
notifyListeners() → void
Call all the registered listeners. [...]
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. [...]
remove(Object? E) → bool
Removes the first occurrence of value from this list. [...]
removeAt(int index) → E
Removes the object at position index from this list. [...]
removeLast() → E
Removes and returns the last object in this list. [...]
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes. [...]
inherited
removeRange(int start, int end) → void
Removes a range of elements from the list. [...]
removeWhere(bool test(E element)) → void
Removes all objects from this list that satisfy test. [...]
replaceRange(int start, int end, Iterable<E> replacement) → void
Replaces a range of elements with the elements of replacements. [...]
retainWhere(bool test(E element)) → void
Removes all objects from this list that fail to satisfy test. [...]
setAll(int index, Iterable<E> iterable) → void
Overwrites elements with the objects of iterable. [...]
setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) → void
Writes some elements of iterable into a range of this list. [...]
shuffle([Random? random]) → void
Shuffles the elements of this list randomly.
singleWhere(bool test(E element), {E orElse()?}) → E
Returns the single element that satisfies test. [...]
skip(int count) → Iterable<E>
Returns an Iterable that provides all but the first count elements. [...]
skipWhile(bool test(E value)) → Iterable<E>
Returns an Iterable that skips leading elements while test is satisfied. [...]
sort([int compare(E a, E b)?]) → void
Sorts this list according to the order specified by the compare function. [...]
sublist(int start, [int? end]) → List<E>
Returns a new list containing the elements between start and end. [...]
take(int count) → Iterable<E>
Returns a lazy iterable of the count first elements of this iterable. [...]
takeWhile(bool test(E value)) → Iterable<E>
Returns a lazy iterable of the leading elements satisfying test. [...]
toList({bool growable = true}) → List<E>
Creates a List containing the elements of this Iterable. [...]
toNotifiableList({bool growable = true}) NotifiableList<E>
Create a NotifiableList containing the same elements as this list.
toNotifiableSet() NotifiableSet<E>
Creates a NotifiableSet containing the same elements as this list.
toSet() → Set<E>
Creates a Set containing the same elements as this iterable. [...]
toString() → String
A string representation of this object. [...]
inherited
where(bool test(E element)) → Iterable<E>
Returns a new lazy Iterable with all elements that satisfy the predicate test. [...]
whereType<T>() → Iterable<T>
Returns a new lazy Iterable with all elements that have type T. [...]

Operators

operator +(List<E> other) NotifiableList<E>
Returns the concatenation of this list and other. [...]
operator ==(Object other) → bool
The equality operator. [...]
operator [](int index) → E
The object at the given index in the list. [...]
operator []=(int index, E value) → void
Sets the value at the given index in the list to value. [...]