setSignal<T> function
Assigns a new pending value to a signal and schedules subscribers.
Parameters:
signal: Signal whose value should changenewValue: Value to assign
Example:
final countNode = CustomSignalNode<int>(0);
setSignal(countNode, 42);
Implementation
@pragma("vm:prefer-inline")
@pragma("wasm:prefer-inline")
@pragma("dart2js:prefer-inline")
T setSignal<T>(SignalReactiveNode<T> signal, T newValue) {
if (signal.pendingValue != (signal.pendingValue = newValue)) {
signal.flags = ReactiveFlags.mutable | ReactiveFlags.dirty;
final subs = signal.subs;
if (subs != null) {
propagate(subs);
if (batchDepth == 0) {
flushEffects();
}
}
JoltDebug.set(signal);
}
return newValue;
}