signalSetter<T> method
Set a signal's value and trigger updates
Implementation
@pragma('vm:prefer-inline')
@pragma('wasm:prefer-inline')
@pragma('dart2js:prefer-inline')
T signalSetter<T>(Signal<T> signal, T newValue) {
if (signal.pendingValue != (signal.pendingValue = newValue)) {
signal.flags = 17 /* ReactiveFlags.mutable | ReactiveFlags.dirty */;
final subs = signal.subs;
if (subs != null) {
propagate(subs);
if (batchDepth == 0) {
flush();
}
}
assert(() {
getJoltDebugFn(signal)?.call(DebugNodeOperationType.set, signal);
return true;
}());
}
return newValue;
}