UNPKG

mollitia

Version:

JavaScript Resilience Library

39 lines (38 loc) 1.07 kB
type EventCallback = ((...params: any) => void); interface EventListener { [eventName: string]: ((...args: any[]) => void)[]; } declare class EventDisposable { private listeners; private eventName; private index; constructor(listeners: EventListener, eventName: string, index: number); /** * Unsubscribes to the event. */ dispose(): void; } export declare class EventEmitter { private listeners; constructor(); /** * Subscribes to an event. * @param {string} eventName Event name. * @param {EventCallback} cb Event callback. */ on(eventName: string, cb: EventCallback): EventDisposable; /** * Unsubscribes to an event. * @param {string} eventName Event name. * @param {EventCallback} cb Event callback. */ off(eventName: string, cb: EventCallback): void; /** * Emits an event. * @param {string} eventName Event name. * @param args Optional parameters. */ emit(eventName: string, ...args: any[]): boolean; dispose(): void; } export {};