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