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
-
- Object
- ReactiveNode
- SignalNode
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