SignalNode<T> class

A reactive signal node that holds a value of type T.

SignalNode is the core primitive for reactive state. It stores a value that can be read and written, automatically tracking dependencies and notifying subscribers when the value changes.

The node maintains both current and pending values to support batched updates and ensure consistency during propagation.

Inheritance

Constructors

SignalNode({required ReactiveFlags flags, required T currentValue, required T pendingValue})

Properties

currentValue ↔ T
The current committed value of the signal.
getter/setter pair
deps Link?
Head of the linked list of dependencies (nodes this node depends on). Null if this node has no dependencies.
getter/setter pairinherited
depsTail Link?
Tail of the linked list of dependencies for O(1) append operations. Points to the last dependency link.
getter/setter pairinherited
flags ReactiveFlags
Bit flags representing the current state of this node. See ReactiveFlags for possible values.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
pendingValue ↔ T
The pending value to be committed on the next update.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
subs Link?
Head of the linked list of subscribers (nodes that depend on this node). Null if no other nodes depend on this one.
getter/setter pairinherited
subsTail Link?
Tail of the linked list of subscribers for O(1) append operations. Points to the last subscriber link.
getter/setter pairinherited

Methods

didUpdate() bool
Updates the signal's current value from its pending value.
get() → T
Gets the current value of the signal.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
set(T newValue) → void
Sets a new value for the signal.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited