replace method
void
replace(
- E oldValue,
- E newValue
Replace the oldValue
with newValue
if found.
The listeners will be notified if oldValue
is found.
Implementation
void replace(E oldValue, E newValue) {
bool found = false;
_values = Set<E>.of(_values.map<E>((E e) {
if (e == oldValue) {
found = true;
if (_propagateNotification &&
oldValue != null &&
oldValue is ChangeNotifier) {
oldValue.removeListener(_propagate);
}
if (_propagateNotification &&
newValue != null &&
newValue is ChangeNotifier) {
newValue.addListener(_propagate);
}
return newValue;
} else {
return e;
}
}));
if (found) notifyListeners();
}