UNPKG

@goparrot/pubsub-event-bus

Version:
32 lines 1.15 kB
"use strict"; 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