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();
  }
}