Skip to content

Documentation / @ripl/core / EventBus

Class: EventBus<TEventMap> ​

Defined in: packages/core/src/core/event-bus.ts:77

A typed pub/sub event system with parent-chain bubbling, disposable subscriptions, and self-filtering.

Extends ​

Extended by ​

Type Parameters ​

Type ParameterDefault type
TEventMap extends EventMapEventMap

Constructors ​

Constructor ​

new EventBus<TEventMap>(): EventBus<TEventMap>

Returns ​

EventBus<TEventMap>

Inherited from ​

Disposer.constructor

Properties ​

PropertyModifierTypeInherited fromDefined in
parent?publicEventBus<TEventMap>-packages/core/src/core/event-bus.ts:79
defaultKeyreadonlytypeof defaultKeyDisposer.defaultKeypackages/core/src/core/disposer.ts:10

Methods ​

destroy() ​

destroy(): void

Defined in: packages/core/src/core/event-bus.ts:155

Emits a destroyed event, clears all listeners, and disposes retained resources.

Returns ​

void


dispose() ​

protected dispose(key?): void

Defined in: packages/core/src/core/disposer.ts:24

Disposes all resources under the given key, or all resources if no key is provided.

Parameters ​

ParameterType
key?PropertyKey

Returns ​

void

Inherited from ​

Disposer.dispose


emit() ​

Call Signature ​

emit<TEvent>(event): TEvent

Defined in: packages/core/src/core/event-bus.ts:127

Emits an event, invoking all matching handlers and bubbling to the parent if applicable.

Type Parameters ​
Type ParameterDefault type
TEvent extends Event<undefined>Event<undefined>
Parameters ​
ParameterType
eventTEvent
Returns ​

TEvent

Call Signature ​

emit<TEvent>(type, data): Event<TEventMap[TEvent]>

Defined in: packages/core/src/core/event-bus.ts:128

Emits an event, invoking all matching handlers and bubbling to the parent if applicable.

Type Parameters ​
Type Parameter
TEvent extends string | number | symbol
Parameters ​
ParameterType
typeTEvent
dataTEventMap[TEvent]
Returns ​

Event<TEventMap[TEvent]>


has() ​

has(type): boolean

Defined in: packages/core/src/core/event-bus.ts:84

Returns whether there are any listeners registered for the given event type.

Parameters ​

ParameterType
typekeyof TEventMap

Returns ​

boolean


off() ​

off<TEvent>(type, handler): void

Defined in: packages/core/src/core/event-bus.ts:102

Removes a previously registered handler for the given event type.

Type Parameters ​

Type Parameter
TEvent extends string | number | symbol

Parameters ​

ParameterType
typeTEvent
handlerEventHandler<TEventMap[TEvent]>

Returns ​

void


on() ​

on<TEvent>(type, handler, options?): Disposable

Defined in: packages/core/src/core/event-bus.ts:89

Subscribes a handler to the given event type and returns a disposable for cleanup.

Type Parameters ​

Type Parameter
TEvent extends string | number | symbol

Parameters ​

ParameterType
typeTEvent
handlerEventHandler<TEventMap[TEvent]>
options?EventSubscriptionOptions

Returns ​

Disposable


once() ​

once<TEvent>(type, handler, options?): Disposable

Defined in: packages/core/src/core/event-bus.ts:117

Subscribes a handler that is automatically removed after it fires once.

Type Parameters ​

Type Parameter
TEvent extends string | number | symbol

Parameters ​

ParameterType
typeTEvent
handlerEventHandler<TEventMap[TEvent]>
options?EventSubscriptionOptions

Returns ​

Disposable


retain() ​

protected retain(value, key?): void

Defined in: packages/core/src/core/disposer.ts:13

Registers a disposable resource under an optional key for later cleanup.

Parameters ​

ParameterTypeDefault value
valueDisposableundefined
keyPropertyKeyDisposer.defaultKey

Returns ​

void

Inherited from ​

Disposer.retain