For AI agents: a documentation index is available at /llms.txt
Skip to main content

EventEmitter<Events>

Minimal typed event emitter backing the puppeteer-style Page event API.

The optional onCountChange hook fires whenever an event's listener count changes (adds, removes, once auto-removal, removeAllListeners). Page uses it to lazily open a subscription on the 0→1 transition and close it on 1→0.

Listeners are stored in a Set, so registering the same function twice for an event is deduped to a single registration (one emit call, one off to remove) — unlike Node's EventEmitter, which keeps duplicates. This is intentional: it keeps the 0→1/1→0 count transitions that drive lazy subscriptions unambiguous. Wrap in distinct closures if you need duplicates.

Type Parameters​

Type Parameter
Events

Constructors​

Constructor​

new EventEmitter<Events>(onCountChange?): EventEmitter<Events>;

Parameters​

ParameterType
onCountChange?(event, count) => void

Returns​

EventEmitter<Events>

Methods​

emit()​

emit<K>(event, payload): boolean;

Invoke every listener for event. Returns whether any listener ran.

Type Parameters​

Type Parameter
K extends string | number | symbol

Parameters​

ParameterType
eventK
payloadEvents[K]

Returns​

boolean


listenerCount()​

listenerCount<K>(event): number;

Type Parameters​

Type Parameter
K extends string | number | symbol

Parameters​

ParameterType
eventK

Returns​

number


off()​

off<K>(event, listener): this;

Type Parameters​

Type Parameter
K extends string | number | symbol

Parameters​

ParameterType
eventK
listenerListener<Events[K]>

Returns​

this


on()​

on<K>(event, listener): this;

Type Parameters​

Type Parameter
K extends string | number | symbol

Parameters​

ParameterType
eventK
listenerListener<Events[K]>

Returns​

this


once()​

once<K>(event, listener): this;

Type Parameters​

Type Parameter
K extends string | number | symbol

Parameters​

ParameterType
eventK
listenerListener<Events[K]>

Returns​

this


removeAllListeners()​

removeAllListeners<K>(event?): this;

Type Parameters​

Type Parameter
K extends string | number | symbol

Parameters​

ParameterType
event?K

Returns​

this

Was this page helpful?