Skip to content

@epikodelabs/streamix


@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 ​

readonly size: 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 ​

DependencySource<T>

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

Released under the MIT License.