event-emitters
Version:
52 lines • 2.27 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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventEmitterWithOptionalCurrent = void 0;
var EventEmitter_1 = require("./EventEmitter");
/**
* This is the same as EventEmitterWithCurrent but the "current value" is optional
*/
var EventEmitterWithOptionalCurrent = /** @class */ (function (_super) {
__extends(EventEmitterWithOptionalCurrent, _super);
function EventEmitterWithOptionalCurrent(initialMessage) {
var _this = _super.call(this) || this;
if (arguments.length) {
_this.currentMessage = initialMessage;
_this.hasCurrentMessage = true;
}
else {
_this.hasCurrentMessage = false;
}
return _this;
}
EventEmitterWithOptionalCurrent.prototype.emit = function (newMessage) {
this.hasCurrentMessage = true;
this.currentMessage = newMessage;
_super.prototype.emit.call(this, newMessage);
};
EventEmitterWithOptionalCurrent.prototype.subscribe = function (listener) {
_super.prototype.subscribe.call(this, listener);
if (this.hasCurrentMessage) {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
listener(this.currentMessage);
}
return listener;
};
return EventEmitterWithOptionalCurrent;
}(EventEmitter_1.EventEmitter));
exports.EventEmitterWithOptionalCurrent = EventEmitterWithOptionalCurrent;
//# sourceMappingURL=EventEmitterWithOptionalCurrent.js.map