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 Parameter | Default type |
|---|---|
TEventMap extends EventMap | EventMap |
Constructors
Constructor
new EventBus<
TEventMap>():EventBus<TEventMap>
Returns
EventBus<TEventMap>
Inherited from
Properties
| Property | Modifier | Type | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
parent? | public | EventBus<TEventMap> | The parent event bus that emitted events bubble up to, if any. | - | packages/core/src/core/event-bus.ts:89 |
defaultKey | readonly | typeof defaultKey | The key under which resources are retained when no explicit key is provided. | Disposer.defaultKey | packages/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()
protecteddispose(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
| Parameter | Type |
|---|---|
key? | PropertyKey |
Returns
void
Inherited from
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 Parameter | Default type |
|---|---|
TEvent extends Event<undefined> | Event<undefined> |
Parameters
| Parameter | Type |
|---|---|
event | TEvent |
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
| Parameter | Type |
|---|---|
type | TEvent |
data | TEventMap[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
| Parameter | Type |
|---|---|
type | keyof 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
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<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
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<TEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns
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
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<TEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns
retain()
protectedretain(value,key?):void
Defined in: packages/core/src/core/disposer.ts:14
Registers a disposable resource under an optional key for later cleanup.
Parameters
| Parameter | Type | Default value |
|---|---|---|
value | Disposable | undefined |
key | PropertyKey | Disposer.defaultKey |
Returns
void