@allgemein/eventbus
Version:
50 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultEventBusAdapter = void 0;
const EmitterObject_1 = require("./EmitterObject");
const AbstractEventBusAdapter_1 = require("../AbstractEventBusAdapter");
const DEFAULT_MAX_LISTENER = 1000;
class DefaultEventBusAdapter extends AbstractEventBusAdapter_1.AbstractEventBusAdapter {
constructor(nodeId, name, clazz, options) {
super(nodeId, name, clazz, options);
if (options.extra) {
this.setMaxListeners(options.extra.maxListener ? options.extra.maxListener : DEFAULT_MAX_LISTENER);
}
else {
this.setMaxListeners(DEFAULT_MAX_LISTENER);
}
}
getEmitter() {
return this;
}
//
// private eventID() {
// return [this.nodeId, this.name].join('_');
// }
//
//
// private id(uuid: string): string {
// return [this.nodeId, this.name, uuid].join('-');
// }
//
async publish(object) {
return new EmitterObject_1.EmitterObject(this, this.eventID(), object);
}
subscribe(fn) {
this._subscribed = true;
this.on(this.eventID(), async (uuid, object) => {
let res = null;
let err = null;
try {
res = await fn(object);
}
catch (err2) {
err = err2;
}
this.emit(this.eventID() + '_' + uuid + '_done', err, res);
});
}
}
exports.DefaultEventBusAdapter = DefaultEventBusAdapter;
DefaultEventBusAdapter.ADAPTER_NAME = 'default';
//# sourceMappingURL=DefaultEventBusAdapter.js.map