@chix/flow
Version:
92 lines • 3.46 kB
JavaScript
;
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