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
EventBus<Events>
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
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
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>