UNPKG

jest-metadata

Version:

🦸‍♂️ Superhero power for your Jest reporters! 🦸‍♀️

28 lines (27 loc) 1.2 kB
export interface ReadonlyEmitter<Event extends { type: string; }> { on(type: '*', listener: (event: Event) => unknown): this; on<E extends Event>(type: E['type'], listener: (event: E) => unknown): this; once(type: '*', listener: (event: Event) => unknown): this; once<E extends Event>(type: E['type'], listener: (event: E) => unknown): this; off(type: '*', listener: (event: Event) => unknown): this; off<E extends Event>(type: E['type'], listener: (event: E) => unknown): this; } export interface ReadonlyAsyncEmitter<Event extends { type: string; }> { on<E extends Event>(type: E['type'] | '*', listener: (event: E) => void | Promise<void>, weight?: number): this; once<E extends Event>(type: E['type'] | '*', listener: (event: E) => void | Promise<void>, weight?: number): this; off<E extends Event>(type: E['type'] | '*', listener: (event: E) => void | Promise<void>): this; } export interface Emitter<Event extends { type: string; }> extends ReadonlyEmitter<Event> { emit(event: Event): void; } export interface AsyncEmitter<Event extends { type: string; }> extends ReadonlyAsyncEmitter<Event> { emit(event: Event): Promise<void>; }