Skip to main content

QEventBus

@quik/events


@quik/events / QEventBus

Class: QEventBus

Defined in: QEventBus.ts:24

A typed in-process domain event bus that decouples event producers from consumers.

Handlers are called in registration order. Errors thrown by individual handlers are caught and logged without interrupting the remaining handlers.

Example​

const bus = new QEventBus();
const off = bus.on("user.created", (payload) => console.log(payload));
await bus.emit("user.created", { id: 1 });
off(); // unsubscribe

Constructors​

Constructor​

new QEventBus(): QEventBus

Defined in: QEventBus.ts:27

Returns​

QEventBus

Methods​

emit()​

emit<T>(event, payload): Promise<void>

Defined in: QEventBus.ts:88

Emit an event, invoking all registered handlers in registration order.

Errors thrown by individual handlers are caught and logged; they do not prevent remaining handlers from executing.

Type Parameters​

T​

T = unknown

Parameters​

event​

string

The event name to emit.

payload​

T

The data to pass to each handler.

Returns​

Promise<void>


events()​

events(): string[]

Defined in: QEventBus.ts:121

Return the names of all events that currently have at least one handler.

Returns​

string[]


off()​

off(event?): void

Defined in: QEventBus.ts:109

Remove all handlers for a specific event, or all handlers across all events when no event name is provided.

Parameters​

event?​

string

The event name to clear. Omit to clear all events.

Returns​

void


on()​

on<T>(event, handler): () => void

Defined in: QEventBus.ts:38

Subscribe to an event.

Type Parameters​

T​

T = unknown

Parameters​

event​

string

The event name to listen on.

handler​

QEventHandler<T>

The function invoked when the event fires.

Returns​

A function that removes this subscription when called.

() => void


once()​

once<T>(event, handler): () => void

Defined in: QEventBus.ts:67

Subscribe to an event but fire the handler only once.

The subscription is removed before the handler is invoked, preventing double-fires under re-entrant emits.

Type Parameters​

T​

T = unknown

Parameters​

event​

string

The event name to listen on.

handler​

QEventHandler<T>

The function invoked when the event fires.

Returns​

A function that removes this subscription when called.

() => void