UNPKG

@blinkk/selective-edit

Version:
29 lines 868 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Listeners = void 0; /** * Listeners for allowing a creating listeners and trigger callbacks. */ class Listeners { constructor() { this.listeners = {}; } // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types add(eventName, callback) { const listeners = this.listenersForEvent(eventName); listeners.push(callback); } listenersForEvent(eventName) { if (!this.listeners[eventName]) { this.listeners[eventName] = []; } return this.listeners[eventName]; } trigger(eventName, ...data) { for (const listener of this.listenersForEvent(eventName)) { listener(...data); } } } exports.Listeners = Listeners; //# sourceMappingURL=listeners.js.map