⚠️ Internal: This API is not publically exported by the package.

      Interface TypedEventEmitter<Events>

      Type-safe event emitter.

      Use it like this:

      type MyEvents = {
      error: (error: Error) => void;
      message: (from: string, content: string) => void;
      }

      const myEmitter = new EventEmitter() as TypedEmitter<MyEvents>;

      myEmitter.emit("error", "x") // <- Will catch this type error;
      interface TypedEventEmitter {
          addListener<E>(event, listener): TypedEventEmitter<Events>;
          emit<E>(event, ...args): boolean;
          eventNames(): (string | symbol | keyof Events)[];
          getMaxListeners(): number;
          listenerCount<E>(event): number;
          listeners<E>(event): Events[E][];
          off<E>(event, listener): TypedEventEmitter<Events>;
          on<E>(event, listener): TypedEventEmitter<Events>;
          once<E>(event, listener): TypedEventEmitter<Events>;
          prependListener<E>(event, listener): TypedEventEmitter<Events>;
          prependOnceListener<E>(event, listener): TypedEventEmitter<Events>;
          rawListeners<E>(event): Events[E][];
          removeAllListeners<E>(event?): TypedEventEmitter<Events>;
          removeListener<E>(event, listener): TypedEventEmitter<Events>;
          setMaxListeners(maxListeners): TypedEventEmitter<Events>;
      }

      Type Parameters

      Methods

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E
        • listener: Events[E]

        Returns TypedEventEmitter<Events>

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        Returns boolean

      • Returns (string | symbol | keyof Events)[]

      • Returns number

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E

        Returns number

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E

        Returns Events[E][]

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E
        • listener: Events[E]

        Returns TypedEventEmitter<Events>

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E
        • listener: Events[E]

        Returns TypedEventEmitter<Events>

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E
        • listener: Events[E]

        Returns TypedEventEmitter<Events>

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E

        Returns Events[E][]

      • Type Parameters

        • E extends string | number | symbol

        Parameters

        • event: E
        • listener: Events[E]

        Returns TypedEventEmitter<Events>