UNPKG

toosoon-events

Version:

Project providing services implemented as singleton class instances

59 lines (58 loc) 1.54 kB
/** * Utility abstract class for creating multiple event listeners * * @exports * @class EventManager * @abstract */ export declare abstract class EventManager<EventListener extends Function> { /** * Array of listeners bound to this manager event */ protected abstract listeners: EventListener[]; /** * Add a listener to this manager listeners */ on(listener: EventListener): () => void; /** * Remove a listener from this manager listeners */ off(listener: EventListener): void; /** * Bind event listeners */ protected abstract bind?(): void; /** * Unbind event listeners */ protected abstract unbind?(): void; } /** * Utility abstract class for creating multiple events listeners * * @exports * @class EventsManager * @abstract */ export declare abstract class EventsManager<EventKey extends string, EventListener extends Function> { /** * Arrays of listeners bound to this manager events */ protected abstract listeners: Record<EventKey, EventListener[]>; /** * Add a listener to this manager listeners */ on(eventKey: EventKey, listener: EventListener): () => void; /** * Remove a listener gtom this manager listeners */ off(eventKey: EventKey, listener: EventListener): void; /** * Bind events listeners */ protected abstract bind?(eventKey: EventKey): void; /** * Unbind events listeners */ protected abstract unbind?(eventKey: EventKey): void; }