UNPKG

@chix/flow

Version:
92 lines 3.46 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); var events_1 = require("events"); var packet_1 = require("../packet"); var util_1 = require("../util"); function $Event(Base) { return (function (_super) { __extends(Event$, _super); function Event$() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, __spread(args)) || this; _this._eventEmitter = new events_1.EventEmitter(); _this._eventEmitter.listeners = _this._eventEmitter.listeners.bind(_this._eventEmitter); return _this; } Object.defineProperty(Event$.prototype, "listeners", { get: function () { return this._eventEmitter.listeners; }, enumerable: true, configurable: true }); Event$.prototype.emit = function (eventName) { var _a; var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } (_a = this._eventEmitter).emit.apply(_a, __spread([eventName], args)); }; Event$.prototype.on = function (eventName, callback) { this._eventEmitter.on(eventName, callback); }; Event$.prototype.once = function (eventName, callback) { this._eventEmitter.once(eventName, callback); }; Event$.prototype.removeListener = function (eventName, listenerFunction) { this._eventEmitter.removeListener(eventName, listenerFunction); }; Event$.prototype.event = function (xevent, data) { if (xevent.expose) { this.sendPortOutput(":" + xevent.name, packet_1.Packet.create(data)); } this.emit(xevent.name, data); }; return Event$; }(Base)); } exports.$Event = $Event; (function ($Event) { function create(Base) { return util_1.mixin($Event)(Base); } $Event.create = create; })($Event = exports.$Event || (exports.$Event = {})); //# sourceMappingURL=event.js.map