MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1declare module 'events' {
2 interface Disposable {
3 dispose(): void;
4 }
5
6 interface EventListenerOptions {
7 signal?: AbortSignal;
8 }
9
10 class EventEmitter {
11 on(event: string, listener: (...args: unknown[]) => void): this;
12 addListener(event: string, listener: (...args: unknown[]) => void): this;
13 once(event: string, listener: (...args: unknown[]) => void): this;
14 off(event: string, listener: (...args: unknown[]) => void): this;
15 removeListener(event: string, listener: (...args: unknown[]) => void): this;
16 emit(event: string, ...args: unknown[]): boolean;
17 removeAllListeners(event?: string): this;
18 listenerCount(event: string): number;
19 listeners(event: string): Array<(...args: unknown[]) => void>;
20 eventNames(): string[];
21 }
22
23 function once(
24 emitter: EventEmitter | EventTarget | AbortSignal,
25 eventName: string | symbol,
26 options?: EventListenerOptions
27 ): Promise<unknown[]>;
28 function on(
29 emitter: EventEmitter | EventTarget,
30 eventName: string | symbol,
31 options?: EventListenerOptions
32 ): AsyncIterableIterator<unknown[]>;
33 function addAbortListener(signal: AbortSignal, listener: (event: Event) => void): Disposable;
34 function setMaxListeners(n: number, ...eventTargets: Array<EventEmitter | EventTarget>): void;
35 function getMaxListeners(eventTarget: EventEmitter | EventTarget): number;
36}
37
38declare module 'ant:events' {
39 export * from 'events';
40}
41
42declare module 'node:events' {
43 export * from 'events';
44}