Documentation
    Preparing search index...

    Interface EmitterLike<EventsList>

    The EmitterLike interface exposes a less strict API to accept emitter as an argument to emit events.

    interface EmitterLike<EventsList extends Record<string | symbol | number, any>> {
        emit<Event extends Constructor<any>>(
            event: Event,
            data: InstanceType<Event>,
        ): Promise<void>;
        emit<Name extends string | number | symbol>(
            event: Name,
            data: EventsList[Name],
        ): Promise<void>;
        emitSerial<Event extends Constructor<any>>(
            event: Event,
            data: InstanceType<Event>,
        ): Promise<void>;
        emitSerial<Name extends string | number | symbol>(
            event: Name,
            data: EventsList[Name],
        ): Promise<void>;
        listenerCount(event?: Constructor<any> | keyof EventsList): number;
        hasListeners(event?: Constructor<any> | keyof EventsList): boolean;
    }

    Type Parameters

    • EventsList extends Record<string | symbol | number, any>

      The events list type

    Implemented by

    Index

    Methods

    • Emit event. The event listeners will be called asynchronously in parallel.

      You can await this method to wait for events listeners to finish

      Type Parameters

      • Event extends Constructor<any>

      Parameters

      • event: Event

        The event to emit

      • data: InstanceType<Event>

        The data to pass to listeners

      Returns Promise<void>

      Promise that resolves when all listeners finish

    • Type Parameters

      • Name extends string | number | symbol

      Parameters

      Returns Promise<void>

    • Emit events serially. The event listeners will be called asynchronously in the same sequence as they are registered.

      You can await this method to wait for events listeners to finish

      Type Parameters

      • Event extends Constructor<any>

      Parameters

      • event: Event

        The event to emit

      • data: InstanceType<Event>

        The data to pass to listeners

      Returns Promise<void>

      Promise that resolves when all listeners finish

    • Type Parameters

      • Name extends string | number | symbol

      Parameters

      Returns Promise<void>

    • Get count of listeners for a given event or all the events

      Parameters

      • Optionalevent: Constructor<any> | keyof EventsList

        The event to count listeners for (optional)

      Returns number

      The number of listeners

    • Find if an event has one or more listeners

      Parameters

      • Optionalevent: Constructor<any> | keyof EventsList

        The event to check listeners for (optional)

      Returns boolean

      True if the event has listeners