UNPKG

rhamt-core

Version:
39 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class RhamtEvent { } exports.RhamtEvent = RhamtEvent; var rhamtEvents; (function (rhamtEvents) { class TypedEvent { constructor() { this.listeners = []; this.listenersOncer = []; this.on = (listener) => { this.listeners.push(listener); return { dispose: () => this.off(listener) }; }; this.once = (listener) => { this.listenersOncer.push(listener); }; this.off = (listener) => { const callbackIndex = this.listeners.indexOf(listener); if (callbackIndex > -1) { this.listeners.splice(callbackIndex, 1); } }; this.emit = (event) => { this.listeners.forEach(listener => listener(event)); this.listenersOncer.forEach(listener => listener(event)); this.listenersOncer = []; }; this.pipe = (te) => { return this.on(e => te.emit(e)); }; } } rhamtEvents.TypedEvent = TypedEvent; })(rhamtEvents = exports.rhamtEvents || (exports.rhamtEvents = {})); //# sourceMappingURL=events.js.map