Class: Signal<T>
Defined in: signals/signal.ts:15
Reactive cell that stores a value and tracks dependencies.
A cell can be a plain value (set/get) or bound to a computation fn. Reads during a bound fn's execution are recorded as dependencies; when any dep is set, the cell is marked dirty and recomputes lazily on next read.
Subscribers fire only when the cell's value actually changes. Bound cells without listeners stay lazy — they recompute on the next read. Bound cells with listeners recompute eagerly when dirtied so subscribers can be notified with a fresh value.
Type Parameters
T
T
Constructors
Constructor
new Signal<
T>(initial):Signal<T>
Defined in: signals/signal.ts:26
Parameters
initial
T | (() => T)
Returns
Signal<T>
Methods
bind()
bind(
fn):void
Defined in: signals/signal.ts:59
Parameters
fn
() => T
Returns
void
dispose()
dispose():
void
Defined in: signals/signal.ts:85
Permanently severs all graph edges and releases closures.
- Upstream: removes this cell from every dep's
_subs(same as unbind). - Downstream: removes this cell from every subscriber's
_depsso they stop tracking it, then clears_subs. - External: clears all
_listenersso subscriber callbacks are released.
After dispose() the cell is inert. Do not read or write it.
Returns
void
get()
get():
T
Defined in: signals/signal.ts:36
Returns
T
isBound()
isBound():
boolean
Defined in: signals/signal.ts:97
Returns
boolean
peek()
peek():
T
Defined in: signals/signal.ts:45
Returns
T
set()
set(
value):void
Defined in: signals/signal.ts:50
Parameters
value
T
Returns
void
subscribe()
subscribe(
fn):Unsubscribe
Defined in: signals/signal.ts:101
Parameters
fn
Subscriber<T>
Returns
Unsubscribe
unbind()
unbind():
void
Defined in: signals/signal.ts:71
Returns
void