value property

T get value
inherited

Gets the current value and registers this Rx 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.getRxId(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) {
  super.value = newValue;

  if (queueManager.isOnline.value) {
    // Sync immediately if online
    _syncValue(newValue);
  } else {
    // Queue for later if offline
    _pendingValue = newValue;
    _queueSync(newValue);
  }
}