@epikodelabs/streamix / angular/src/public-api / SxBindingTable
Class: SxBindingTable
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:39
Preallocated binding table used by compiler-generated Streamix Angular views.
A table owns N integer binding slots and one renderer-scheduler registration. Source emissions only mark slots dirty. Direct bindings keep the latest emitted value, expression slots re-evaluate once per renderer flush, and listener slots hold a DOM listener plus its remover for teardown.
Constructors
Constructor
new SxBindingTable(
size,scheduler?):SxBindingTable
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:54
Parameters
size
number
scheduler?
RendererScheduler = rendererScheduler
Returns
SxBindingTable
Properties
size
readonlysize:number
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:55
Accessors
pendingCount
Get Signature
get pendingCount():
number
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:192
Returns
number
Methods
bind()
bind<
T>(slot,source,write,equal?):void
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:76
Installs a compiler-generated one-source binding into an integer slot. The initial source value is written synchronously.
Type Parameters
T
T
Parameters
slot
number
source
write
(value) => void
equal?
(previous, next) => boolean
Returns
void
bindExpression()
bindExpression<
T>(slot,sources,read,write,equal?):void
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:114
Installs a compiler-generated multi-source expression binding.
The expression is evaluated synchronously once, then at most once per renderer flush no matter how many dependencies emit in that frame.
Type Parameters
T
T
Parameters
slot
number
sources
readonly DependencySource<unknown>[]
read
() => T
write
(value) => void
equal?
(previous, next) => boolean
Returns
void
bindListener()
bindListener(
slot,target,type,handler,options?):void
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:144
Installs a compiler-generated event listener into an integer slot.
The listener writes nothing, so the slot never flushes; it exists so unbind/destroy remove listeners through the same teardown path as source subscriptions.
Parameters
slot
number
target
EventTarget
type
string
handler
(event) => void
options?
AddEventListenerOptions
Returns
void
unbind()
unbind(
slot):void
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:160
Removes one slot binding without destroying the table.
Parameters
slot
number
Returns
void
flushNow()
flushNow():
void
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:167
Flushes this table immediately. Primarily useful for tests/benchmarks.
Returns
void
destroy()
destroy():
void
Defined in: projects/libraries/streamix/angular/src/lib/binding-table.ts:174
Tears down every source subscription and releases all table slots.
Returns
void