jest-metadata
Version:
🦸♂️ Superhero power for your Jest reporters! 🦸♀️
32 lines • 959 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AggregatedEmitter = void 0;
const SerialEmitter_1 = require("./SerialEmitter");
class AggregatedEmitter {
#emitters = new WeakSet();
#rootEmitter;
constructor(name) {
this.#rootEmitter = new SerialEmitter_1.SerialEmitter(name);
}
add(emitter) {
if (!this.#emitters.has(emitter)) {
this.#emitters.add(emitter);
emitter.on('*', (event) => /* re-emit */ this.#rootEmitter.emit(event));
}
return this;
}
on(type, listener) {
this.#rootEmitter.on(type, listener);
return this;
}
once(type, listener) {
this.#rootEmitter.once(type, listener);
return this;
}
off(type, listener) {
this.#rootEmitter.off(type, listener);
return this;
}
}
exports.AggregatedEmitter = AggregatedEmitter;
//# sourceMappingURL=AggregatedEmitter.js.map