value property
T
get
value
Implementation
T get value {
throwIfDisposed('get value');
// Cache current observer to avoid multiple lookups
/// Stores the =.
final tracker = ObservableTracker.instance;
/// Stores the =.
final currentObserver = tracker._currentObserver;
/// if method.
if (currentObserver != null) {
_listenerManager.addListener(currentObserver);
tracker._registerDependencyFast(currentObserver, this);
}
return _value;
}
set
value
(T newValue)
value method.
Implementation
set value(T newValue) {
throwIfDisposed('set value');
// Early return for identical references (performance optimization)
/// if method.
if (identical(_value, newValue)) {
return;
}
/// Stores the =.
final hasChanged = _equals?.call(_value, newValue) == false ||
(_equals == null && _value != newValue);
/// if method.
if (hasChanged) {
_value = newValue;
_listenerManager.notifyListeners();
}
}