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,
});