Skip to main content

Class: EventBus<TMap>

Defined in: packages/orchestration/src/event-bus/event-bus.ts:35

Type Parameters

TMap

TMap extends Record<string, unknown>

Constructors

Constructor

new EventBus<TMap>(): EventBus<TMap>

Returns

EventBus<TMap>

Methods

clear()

clear(): void

Defined in: packages/orchestration/src/event-bus/event-bus.ts:157

Remove all listeners

Returns

void


emit()

emit<K>(event, payload): void

Defined in: packages/orchestration/src/event-bus/event-bus.ts:143

Type Parameters

K

K extends string

Parameters

event

K

payload

TMap[K]

Returns

void


off()

off<K>(event, handler): void

Defined in: packages/orchestration/src/event-bus/event-bus.ts:48

Type Parameters

K

K extends string

Parameters

event

K

handler

Handler<TMap[K]>

Returns

void


on()

on<K>(event, handler): void

Defined in: packages/orchestration/src/event-bus/event-bus.ts:39

Type Parameters

K

K extends string

Parameters

event

K

handler

Handler<TMap[K]>

Returns

void


onAny()

onAny(handler): () => void

Defined in: packages/orchestration/src/event-bus/event-bus.ts:149

Subscribe to all events (for UI streaming / debugging)

Parameters

handler

(event, payload) => void

Returns

() => void


once()

once<K>(event, handler): void

Defined in: packages/orchestration/src/event-bus/event-bus.ts:53

Listen for a single emission, then auto-unsubscribe

Type Parameters

K

K extends string

Parameters

event

K

handler

Handler<TMap[K]>

Returns

void


raceEvents()

raceEvents<K>(specs, options?): Promise<RaceResult<TMap, K>>

Defined in: packages/orchestration/src/event-bus/event-bus.ts:110

Race multiple events — resolves when any one fires, cleans up all listeners. Unlike Promise.race(waitFor(...), waitFor(...)), this has no listener leak.

Type Parameters

K

K extends string

Parameters

specs

RaceSpec<TMap, K>[]

options?
timeoutMs?

number

Returns

Promise<RaceResult<TMap, K>>


waitFor()

waitFor<K>(event, options?): Promise<TMap[K]>

Defined in: packages/orchestration/src/event-bus/event-bus.ts:76

Returns a promise that resolves on the next matching event.

Type Parameters

K

K extends string

Parameters

event

K

options?

WaitForOptions<TMap[K]>

Returns

Promise<TMap[K]>

Example

// Simple
const { ticket } = await events.waitFor('ticket.completed');

// With filter and timeout
const { ticket } = await events.waitFor('ticket.completed', {
filter: (p) => p.ticket.id === myId,
timeoutMs: 30_000,
});