@goparrot/pubsub-event-bus
Version:
NestJS EventBus extension for RabbitMQ PubSub
32 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Publisher = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const default_pubsub_1 = require("@nestjs/cqrs/dist/helpers/default-pubsub");
const rxjs_1 = require("rxjs");
const interface_1 = require("../interface");
const Producer_1 = require("./Producer");
let Publisher = class Publisher extends default_pubsub_1.DefaultPubSub {
constructor(subject$, producer) {
super(subject$);
this.producer = producer;
}
async publish(event) {
if (event instanceof interface_1.AbstractPubsubEvent) {
event.localEventEnabled() && super.publish(event);
return this.producer.produce(event);
}
return this.publishLocally(event);
}
publishLocally(event) {
return super.publish(event);
}
};
exports.Publisher = Publisher;
exports.Publisher = Publisher = tslib_1.__decorate([
(0, common_1.Injectable)(),
tslib_1.__metadata("design:paramtypes", [rxjs_1.Subject,
Producer_1.Producer])
], Publisher);
//# sourceMappingURL=Publisher.js.map