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