| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { AbortSignal } from 'bare-abort-controller'
- interface EventMap {
- [event: string | symbol]: unknown[]
- }
- interface EventHandler<in A extends unknown[] = unknown[], out R = unknown> {
- (...args: A): R
- }
- declare class EventEmitterError extends Error {
- static OPERATION_ABORTED(cause: Error, msg?: string): EventEmitterError
- static UNHANDLED_ERROR(cause: Error, msg?: string): EventEmitterError
- }
- interface EventEmitter<in out M extends EventMap = EventMap> {
- addListener<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- addOnceListener<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- prependListener<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- prependOnceListener<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- removeListener<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- removeAllListeners<E extends keyof M>(name?: E): this
- on<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- once<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- off<E extends keyof M, R>(name: E, fn: EventHandler<M[E], R>): this
- emit<E extends keyof M>(name: E, ...args: M[E]): boolean
- listeners<E extends keyof M, R>(name: E): EventHandler<M[E], R>
- listenerCount<E extends keyof M>(name: E): number
- getMaxListeners(): number
- setMaxListeners(n: number): void
- }
- declare class EventEmitter<in out M extends EventMap = EventMap> {}
- declare namespace EventEmitter {
- export function on<M extends EventMap, E extends keyof M>(
- emitter: EventEmitter<M>,
- name: E,
- opts?: { signal?: AbortSignal }
- ): AsyncIterableIterator<M[E]>
- export function once<M extends EventMap, E extends keyof M>(
- emitter: EventEmitter<M>,
- name: E,
- opts?: { signal?: AbortSignal }
- ): Promise<M[E]>
- export function forward<F extends EventMap, E extends keyof F, T extends Pick<F, E>>(
- from: EventEmitter<F>,
- to: EventEmitter<T>,
- names: E | E[],
- opts?: { emit?: (name: E, ...args: T[E]) => void }
- ): void
- export function listenerCount<M extends EventMap, E extends keyof M>(
- emitter: EventEmitter<M>,
- name: E
- ): number
- export function getMaxListeners(emitter: EventEmitter): number
- export function setMaxListeners(n: number, ...emitters: EventEmitter[]): void
- export let defaultMaxListeners: number
- export { EventEmitter, EventEmitterError as errors, EventMap, EventHandler }
- }
- export = EventEmitter
|