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;
}
Sets a new value and notifies listeners if changed
Implementation
@override
set value(T newValue) {
if (value == newValue) return;
super.value = newValue;
_save();
}