value property

T get value
inherited

Gets the current value and registers this SwiftValue as a dependency

Implementation

T get value {
  // Check for computed tracker first
  final computedTracker = ComputedTrackerRegistry.current;
  if (computedTracker != null) {
    computedTracker.dependencies.add(this);
    // Zero overhead: only track if DevTools is enabled
    if (SwiftDevTools.isEnabled && SwiftDevTools.isTrackingDependencies) {
      // Note: ComputedTracker doesn't have ID, skip for now
      // DevTools extension can infer from stack
    }
  }

  // Then check for mark widget
  final mark = MarkRegistry.current;
  if (mark != null) {
    mark.register(this);
    // Zero overhead: only track if DevTools is enabled
    if (SwiftDevTools.isEnabled && SwiftDevTools.isTrackingDependencies) {
      SwiftDevTools.trackDependency(
        SwiftDevTools.getMarkId(mark),
        SwiftDevTools.getSwiftId(this),
      );
    }
  }
  return _value;
}
  1. @override
set value (T newValue)
override

Sets a new value and notifies listeners if changed

Implementation

@override
set value(T newValue) {
  if (value == newValue) return;
  super.value = newValue;
  _save();
}