UNPKG

@goparrot/pubsub-event-bus

Version:
29 lines 955 B
import { __decorate, __metadata } from "tslib"; import { Injectable } from '@nestjs/common'; import { DefaultPubSub } from '@nestjs/cqrs/dist/helpers/default-pubsub'; import { Subject } from 'rxjs'; import { AbstractPubsubEvent } from '../interface'; import { Producer } from './Producer'; let Publisher = class Publisher extends DefaultPubSub { constructor(subject$, producer) { super(subject$); this.producer = producer; } async publish(event) { if (event instanceof AbstractPubsubEvent) { event.localEventEnabled() && super.publish(event); return this.producer.produce(event); } return this.publishLocally(event); } publishLocally(event) { return super.publish(event); } }; Publisher = __decorate([ Injectable(), __metadata("design:paramtypes", [Subject, Producer]) ], Publisher); export { Publisher }; //# sourceMappingURL=Publisher.js.map