Skip to content

Documentation / @ripl/core / EventBus

Class: EventBus<TEventMap>

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

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

PropertyModifierTypeDescriptionInherited fromDefined in
parent?publicEventBus<TEventMap>The parent event bus that emitted events bubble up to, if any.-packages/core/src/core/event-bus.ts:89
defaultKeyreadonlytypeof defaultKeyThe key under which resources are retained when no explicit key is provided.Disposer.defaultKeypackages/core/src/core/disposer.ts:11

Methods

destroy()

destroy(): void

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

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:25

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:137

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:138

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:94

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:112

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:99

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:127

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:14

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

Parameters

ParameterTypeDefault value
valueDisposableundefined
keyPropertyKeyDisposer.defaultKey

Returns

void

Inherited from

Disposer.retain