UNPKG

event-emitters

Version:
30 lines 934 B
import { EventEmitter } from './EventEmitter'; /** * This is the same as EventEmitterWithCurrent but the "current value" is optional */ export class EventEmitterWithOptionalCurrent extends EventEmitter { constructor(initialMessage) { super(); if (arguments.length) { this.currentMessage = initialMessage; this.hasCurrentMessage = true; } else { this.hasCurrentMessage = false; } } emit(newMessage) { this.hasCurrentMessage = true; this.currentMessage = newMessage; super.emit(newMessage); } subscribe(listener) { super.subscribe(listener); if (this.hasCurrentMessage) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion listener(this.currentMessage); } return listener; } } //# sourceMappingURL=EventEmitterWithOptionalCurrent.js.map