UNPKG

recoder-code

Version:

🚀 AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!

93 lines (67 loc) • 2.49 kB
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