Skip to content

TypedEmitter

Defined in: packages/client/src/lib/utils/typed-emitter.ts:32

Type-safe event emitter with disposal support.

Uses a mapped type so each event key stores callbacks typed to its own payload — zero any, zero casts.

  • Single emit() method: fire-and-forget, synchronous listener invocation.
  • After dispose(): emit() silently no-ops, on() throws.
  • Async listeners that reject have their errors caught and logged.

Kernels own a TypedEmitter internally and expose it as EventSubscriber via a public events getter.

T extends EventMap

new TypedEmitter<T>(): TypedEmitter<T>

TypedEmitter<T>

get disposed(): boolean

Defined in: packages/client/src/lib/utils/typed-emitter.ts:87

boolean

dispose(): void

Defined in: packages/client/src/lib/utils/typed-emitter.ts:91

void


emit<K>(event, payload): void

Defined in: packages/client/src/lib/utils/typed-emitter.ts:67

K extends string

K

T[K]

void


off<K>(event, cb): void

Defined in: packages/client/src/lib/utils/typed-emitter.ts:63

K extends string

K

(payload) => void

void

EventSubscriber.off


on<K>(event, cb): () => void

Defined in: packages/client/src/lib/utils/typed-emitter.ts:44

K extends string

K

(payload) => void

() => void

EventSubscriber.on