DocsReference@proto-kit/commonClassesReplayingSingleUseEventEmitter

@proto-kit/commonDocs


Documentation / @proto-kit/common / ReplayingSingleUseEventEmitter

Class: ReplayingSingleUseEventEmitter<Events>

Event Emitter variant that emits a certain event only once to a registered listener. Additionally, if a listener registers to a event that has already been emitted, it re-emits it to said listener. This pattern is especially useful for listening for inclusions of transactions. Those events will only occur once, and listeners could come too late to the party, so we need to make sure they get notified as well in those cases.

Extends

Type Parameters

Events extends EventsRecord

Constructors

new ReplayingSingleUseEventEmitter()

new ReplayingSingleUseEventEmitter<Events>(): ReplayingSingleUseEventEmitter<Events>

Returns

ReplayingSingleUseEventEmitter<Events>

Inherited from

EventEmitter.constructor

Properties

emitted

emitted: Partial<Events> = {}

Defined in

packages/common/src/events/ReplayingSingleUseEventEmitter.ts:15


listeners

protected readonly listeners: ListenersHolder<Events> = {}

Inherited from

EventEmitter.listeners

Defined in

packages/common/src/events/EventEmitter.ts:8


wildcardListeners

protected readonly wildcardListeners: (event, args) => void[] = []

Inherited from

EventEmitter.wildcardListeners

Defined in

packages/common/src/events/EventEmitter.ts:10

Methods

emit()

emit<Key>(event, …parameters): void

Type Parameters

Key extends string | number | symbol

Parameters

event: Key

• …parameters: Events[Key]

Returns

void

Overrides

EventEmitter.emit

Defined in

packages/common/src/events/ReplayingSingleUseEventEmitter.ts:17


off()

off<Key>(event, listener): void

Primitive .off() with identity comparison for now. Could be replaced by returning an id in .on() and using that.

Type Parameters

Key extends string | number | symbol

Parameters

event: Key

listener

Returns

void

Inherited from

EventEmitter.off

Defined in

packages/common/src/events/EventEmitter.ts:45


on()

on<Key>(event, listener): void

Type Parameters

Key extends string | number | symbol

Parameters

event: Key

listener

Returns

void

Overrides

EventEmitter.on

Defined in

packages/common/src/events/ReplayingSingleUseEventEmitter.ts:33


onAll()

onAll(listener): void

Parameters

listener

Returns

void

Overrides

EventEmitter.onAll

Defined in

packages/common/src/events/ReplayingSingleUseEventEmitter.ts:26