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.


onAsync()

onAsync<K>(event: K, listener: AsyncListener<T, K>, onRejected?: (reason: any) => unknown | null): 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

AsyncListener<T, K>

The function to call when the event is emitted.

onRejected?

(reason: any) => unknown | null

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

Built by Prozilla