StreamSet<E> class

StreamSet wraps a Set and adds functionality to each relevant method to notify any subscribed listeners of changes made to the set.

Inheritance
Implemented types
Available Extensions

Constructors

StreamSet({Set<E>? value, OnUpdate<Set<E>>? onUpdate, OnEvent<CollectionEvent<int, E>>? onEvent, OnChange<CollectionChangeEvent<int, E>>? onChange})
StreamSet wraps a Set and adds functionality to each relevant method to notify any subscribed listeners of changes made to the set.
StreamSet.from(Iterable elements, {OnUpdate<Set<E>>? onUpdate, OnEvent<CollectionEvent<int, E>>? onEvent, OnChange<CollectionChangeEvent<int, E>>? onChange})
Creates a StreamSet that contains all elements.
factory
StreamSet.identity({OnUpdate<Set<E>>? onUpdate, OnEvent<CollectionEvent<int, E>>? onEvent, OnChange<CollectionChangeEvent<int, E>>? onChange})
Creates a StreamSet that wraps an empty identity Set.
factory
StreamSet.of(Iterable<E> elements, {OnUpdate<Set<E>>? onUpdate, OnEvent<CollectionEvent<int, E>>? onEvent, OnChange<CollectionChangeEvent<int, E>>? onChange})
Creates a StreamSet from elements.
factory

Properties

first → E
The first element.
no setteroverride
hasChangeEvent bool
Returns true if there are any active change listeners or if onChange is set.
no setterinherited
hasChangeListener bool
Returns true if there are any active change listeners.
no setterinherited
hasEvent bool
Returns true if there are any active event listeners or if onEvent is set.
no setterinherited
hasEventListener bool
Returns true if there are any active event listeners.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasListener bool
Returns true if there are any active listeners.
no setterinherited
hasUpdate bool
Returns true if there are any active update listeners or if onUpdate is set.
no setterinherited
isEmpty bool
Whether this collection has no elements.
no setteroverride
isNotEmpty bool
Whether this collection has at least one element.
no setteroverride
isObserved bool
Returns true if there are any active listeners or if onUpdate is not null.
no setterinherited
iterator Iterator<E>
An iterator that iterates over the elements of this set.
no setteroverride
last → E
The last element.
no setteroverride
length int
The number of elements in this.
no setteroverride
numberOfChangeListeners int
Returns the number of active change listeners.
no setterinherited
numberOfEventListeners int
Returns the number of active event listeners.
no setterinherited
numberOfListeners int
Returns the number of active listeners.
no setterinherited
onChange ↔ OnChange<CollectionChangeEvent<int, E>>?
A synchronous event called individually for every element added, removed, or updated in the collection.
getter/setter pairinherited
onEvent ↔ OnEvent<CollectionEvent<int, E>>?
Called when an element is added, removed, or updated in the list/map before onUpdate is called and before the listeners are notified of the new value.
getter/setter pairinherited
onUpdate ↔ OnUpdate<Set<E>>?
Called after value is updated, before the listeners are notified.
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 setteroverride
value Set<E>
The value being observed.
getter/setter pairinherited
wasDisposed bool
Set to true when dispose is called.
getter/setter pairinherited

Methods

add(E value, {bool notifyListeners = true}) bool
Adds value to the set.
override
addAll(Iterable<E> elements, {bool notifyListeners = true}) → void
Adds all elements to this set.
override
addChangeListener(OnChange<CollectionChangeEvent<int, E>> onChange) StreamSubscription<CollectionChangeEvent<int, E>>
Registers a new StreamSubscription that provides a CollectionChangeEvent denoting when an element has been added, removed, or updated in the collection.
inherited
addEventListener(OnEvent<CollectionEvent<int, E>> onEvent) StreamSubscription<CollectionEvent<int, E>>
Registers a new StreamSubscription that provides a CollectionEvent denoting when any elements have been added, removed, or updated in the collection.
inherited
addListener(OnUpdate<Set<E>> onUpdate) StreamSubscription<Set<E>>
Creates, stores and returns a listener.
inherited
any(bool test(E element)) bool
Checks whether any element of this iterable satisfies test.
override
cast<R>() Set<R>
Provides a view of this set as a set of R instances.
override
clear({bool notifyListeners = true}) → void
Removes all elements from the set.
override
contains(Object? value) bool
Whether value is in the set.
override
containsAll(Iterable<Object?> other) bool
Whether this set contains all the elements of other.
override
difference(Set<Object?> other) Set<E>
Creates a new set with the elements of this that are not in other.
override
dispose() → void
Cancels any active listeners and closes the stream.
inherited
elementAt(int index) → E
Returns the indexth element.
override
every(bool test(E element)) bool
Checks whether every element of this iterable satisfies test.
override
expand<T>(Iterable<T> f(E)) Iterable<T>
Expands each element of this Iterable into zero or more elements.
override
firstWhere(bool test(E element), {E orElse()?}) → E
The first element that satisfies the given predicate test.
override
fold<T>(T initialValue, T combine(T, E)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
override
followedBy(Iterable<E> other) Iterable<E>
Creates the lazy concatenation of this iterable and other.
override
forEach(void f(E)) → void
Invokes action on each element of this iterable in iteration order.
override
intersection(Set<Object?> other) Set<E>
Creates a new set which is the intersection between this set and other.
override
join([String separator = '']) String
Converts each element to a String and concatenates the strings.
override
lastWhere(bool test(E element), {E orElse()?}) → E
The last element that satisfies the given predicate test.
override
lookup(Object? object) → E?
If an object equal to object is in the set, return it.
override
map<T>(T f(E)) Iterable<T>
The current elements of this iterable modified by toElement.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyAllListeners(CollectionEventType type, int? key, E? value) → void
Notifies every active update, event, and change listener, as well as the onUpdate, onEvent, and onChange parameters of an event affecting a single element.
inherited
notifyChangeListeners(CollectionChangeEvent<int, E> event) → void
Notifies all subscribed changes listeners of an event.
inherited
notifyEventListeners(CollectionEvent<int, E> event) → void
Notifies all subscribed event listeners of an event.
inherited
notifyListeners(Set<E> event) → void
Notifies all subscribed listeners of an event.
inherited
reduce(E combine(E, E)) → E
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
override
remove(Object? value, {bool notifyListeners = true}) bool
Removes value from the set.
override
removeAll(Iterable<Object?> elements, {bool notifyListeners = true}) → void
Removes each element of elements from this set.
override
removeChangeListener() → void
Cancels and removes a change listener.
inherited
removeEventListener() → void
Cancels and removes an event listener.
inherited
removeListener() → void
Cancels and removes a StreamSubscription.
inherited
removeWhere(Test<E> test, {bool notifyListeners = true}) → void
Removes all elements of this set that satisfy test.
override
retainAll(Iterable<Object?> elements, {bool notifyListeners = true}) → void
Removes all elements of this set that are not elements in elements.
override
retainWhere(Test<E> test, {bool notifyListeners = true}) → void
Removes all elements of this set that fail to satisfy test.
override
setValue(Set<E> value) → void
Sets the observable value to value without notifying the event listeners.
inherited
singleWhere(bool test(E element), {E orElse()?}) → E
The single element that satisfies test.
override
skip(int count) Iterable<E>
Creates an Iterable that provides all but the first count elements.
override
skipWhile(bool test(E value)) Iterable<E>
Creates an Iterable that skips leading elements while test is satisfied.
override
take(int count) Iterable<E>
Creates a lazy iterable of the count first elements of this iterable.
override
takeWhile(bool test(E value)) Iterable<E>
Creates a lazy iterable of the leading elements satisfying test.
override
toList({bool growable = true}) List<E>
Creates a List containing the elements of this Iterable.
override
toSet() Set<E>
Creates a Set with the same elements and behavior as this Set.
override
toString() String
A string representation of this object.
inherited
union(Set<E> other) Set<E>
Creates a new set which contains all the elements of this set and other.
override
where(bool test(E)) Iterable<E>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
override
whereType<T>() Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
override

Operators

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

Static Methods

castFrom<S, T>(Set<S> source, {Set<R> newSet<R>()?, OnUpdate<Set<T>>? onUpdate, OnEvent<CollectionEvent<int, T>>? onEvent, OnChange<CollectionChangeEvent<int, T>>? onChange}) StreamSet<T>
Adapts source to be a StreamSet<T>.
override