Skip to content

API reference / @jsprismarine/kernel / KernelEventBus

Class: KernelEventBus<Events> ​

Defined in: packages/kernel/src/events.ts:39

The kernel's event bus. Listeners can be tagged with a scope (a module id) and detached wholesale when that module stops.

Type Parameters ​

Events ​

Events extends EventMap = EventMap

Implements ​

Constructors ​

Constructor ​

new KernelEventBus<Events>(): KernelEventBus<Events>

Returns ​

KernelEventBus<Events>

Methods ​

emit() ​

emit<K>(event, ...args): Promise<void>

Defined in: packages/kernel/src/events.ts:48

Emits an event, awaiting each listener in subscription order.

Type Parameters ​

K ​

K extends string

Parameters ​

event ​

K

args ​

...Events[K]

Returns ​

Promise<void>

Implementation of ​

EventBus.emit


on() ​

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

Defined in: packages/kernel/src/events.ts:43

Subscribes without a scope. See EventBus.on.

Type Parameters ​

K ​

K extends string

Parameters ​

event ​

K

listener ​

EventListener<Events[K]>

Returns ​

() => void

Implementation of ​

EventBus.on


removeScope() ​

removeScope(scope): void

Defined in: packages/kernel/src/events.ts:70

Removes every subscription tagged with the scope.

Parameters ​

scope ​

string

Returns ​

void


scoped() ​

scoped(scope): EventBus<Events>

Defined in: packages/kernel/src/events.ts:60

Returns a view of this bus whose subscriptions are tagged with the scope, so removeScope can detach them all at once.

Parameters ​

scope ​

string

Returns ​

EventBus<Events>