File size: 1,567 Bytes
19605ab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
"use strict";
/**
* Copyright (c) 2019, Microsoft Corporation (MIT License).
*/
Object.defineProperty(exports, "__esModule", { value: true });
var EventEmitter2 = /** @class */ (function () {
function EventEmitter2() {
this._listeners = [];
}
Object.defineProperty(EventEmitter2.prototype, "event", {
get: function () {
var _this = this;
if (!this._event) {
this._event = function (listener) {
_this._listeners.push(listener);
var disposable = {
dispose: function () {
for (var i = 0; i < _this._listeners.length; i++) {
if (_this._listeners[i] === listener) {
_this._listeners.splice(i, 1);
return;
}
}
}
};
return disposable;
};
}
return this._event;
},
enumerable: true,
configurable: true
});
EventEmitter2.prototype.fire = function (data) {
var queue = [];
for (var i = 0; i < this._listeners.length; i++) {
queue.push(this._listeners[i]);
}
for (var i = 0; i < queue.length; i++) {
queue[i].call(undefined, data);
}
};
return EventEmitter2;
}());
exports.EventEmitter2 = EventEmitter2;
//# sourceMappingURL=eventEmitter2.js.map |