UNPKG

sahara

Version:

An inversion-of-control container for managing dependencies. Supports constructor, property and method injection

31 lines 825 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventEmitter = void 0; class EventEmitter { constructor() { this.events = {}; } listeners(name) { if (!this.events[name]) { this.events[name] = []; } return this.events[name]; } on(name, listener) { this.listeners(name).push(listener); } off(name, listener) { const listeners = this.listeners(name); const index = listeners.indexOf(listener); if (index !== -1) { listeners.splice(index, 1); } } emit(name, ...args) { this.listeners(name).forEach((listener) => { listener.apply(this, args); }); } } exports.EventEmitter = EventEmitter; //# sourceMappingURL=event-emitter.js.map