Skip to content

Class EventEmitter<T>

Source: event.utils.ts

A simple event emitter.

Type Parameters

T

T extends Record<keyof T, unknown[]>

A record of all events.

Constructors

Constructor

new EventEmitter<T>(): EventEmitter<T>

Returns

EventEmitter<T>

Methods

on()

on<K>(event: K, listener: Listener<T, K>): Listener<T, K>

Starts listening to an event.

Type Parameters

K

K extends string | number | symbol

Parameters

event

K

The event to listen to.

listener

Listener<T, K>

The function to call when the event is emitted.

Returns

Listener<T, K>

The listener.


once()

once<K>(event: K, listener: Listener<T, K>): Listener<T, K>

Registers an event listener that is automatically removed when called.

Type Parameters

K

K extends string | number | symbol

Parameters

event

K

The event to listen to.

listener

Listener<T, K>

The function to call once the event is emitted.

Returns

Listener<T, K>

The wrapped listener.


off()

off<K>(event: K, listener: Listener<T, K>): void

Removes an event listener.

Type Parameters

K

K extends string | number | symbol

Parameters

event

K

The event to remove the listener from.

listener

Listener<T, K>

The listener to remove.

Returns

void


emit()

emit<K>(event: K, ...args: T[K]): void

Emits an event to all its listeners.

Type Parameters

K

K extends string | number | symbol

Parameters

event

K

The event to emit.

args

...T[K]

The arguments to pass to the listeners.

Returns

void


emitAsync()

emitAsync<K>(event: K, ...args: T[K]): Promise<void>

Emits an event and waits for all listeners to resolve.

Type Parameters

K

K extends string | number | symbol

Parameters

event

K

The event to emit.

args

...T[K]

The arguments to pass to the listeners.

Returns

Promise<void>

Built by Prozilla