updateSignal<T> function

bool updateSignal<T>(
  1. SignalReactiveNode<T> signal
)

Updates a SignalReactiveNode's cached value from its pending value.

Parameters:

  • signal: Signal that should commit its pending value

Returns true when the cached value actually changed.

Example:

final signalNode = CustomSignalNode<int>(0);
if (updateSignal(signalNode) && signalNode.subs != null) {
  shallowPropagate(signalNode.subs!);
}

Implementation

@pragma("vm:prefer-inline")
@pragma("wasm:prefer-inline")
@pragma("dart2js:prefer-inline")
bool updateSignal<T>(SignalReactiveNode<T> signal) {
  signal.flags = ReactiveFlags.mutable;

  return signal.cachedValue != (signal.cachedValue = signal.pendingValue);
}