event-emitters
Version:
22 lines • 662 B
JavaScript
import { EventEmitter } from './EventEmitter';
/**
* This is the same as EventEmitter but:
* Is initialized with the current message.
* Emits the current message to each listener as soon as it subscribes.
*/
export class EventEmitterWithCurrent extends EventEmitter {
constructor(initialMessage) {
super();
this.currentMessage = initialMessage;
}
emit(newMessage) {
this.currentMessage = newMessage;
super.emit(newMessage);
}
subscribe(listener) {
super.subscribe(listener);
listener(this.currentMessage);
return listener;
}
}
//# sourceMappingURL=EventEmitterWithCurrent.js.map