UNPKG

raas-core

Version:
44 lines 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var RhamtEventType; (function (RhamtEventType) { RhamtEventType[RhamtEventType["STARTING"] = 0] = "STARTING"; RhamtEventType[RhamtEventType["STARTING_ERROR"] = 1] = "STARTING_ERROR"; RhamtEventType[RhamtEventType["STARTED"] = 2] = "STARTED"; RhamtEventType[RhamtEventType["STOPPED"] = 3] = "STOPPED"; RhamtEventType[RhamtEventType["MESSAGE"] = 4] = "MESSAGE"; })(RhamtEventType = exports.RhamtEventType || (exports.RhamtEventType = {})); 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