@goparrot/pubsub-event-bus
Version:
NestJS EventBus extension for RabbitMQ PubSub
21 lines • 843 B
JavaScript
import { EventsHandler } from '@nestjs/cqrs';
import { PUBSUB_EVENT_HANDLER_METADATA } from './constant';
export function PubsubEventHandler(...params) {
return (target) => {
if (!params.length) {
return Reflect.decorate([Reflect.metadata(PUBSUB_EVENT_HANDLER_METADATA, { events: [] }), EventsHandler()], target);
}
let options = {};
let events;
const optionsOrEvent = params[params.length - 1];
if (typeof optionsOrEvent === 'object') {
options = optionsOrEvent;
events = params.slice(0, -1);
}
else {
events = params;
}
return Reflect.decorate([Reflect.metadata(PUBSUB_EVENT_HANDLER_METADATA, { ...options, events }), EventsHandler(...events)], target);
};
}
//# sourceMappingURL=PubsubEventHandler.js.map