UNPKG

@jiaxinjiang/nest-amqp

Version:

RabbitMQ component for NestJs.

31 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@nestjs/common"); const amqp_constants_1 = require("./amqp.constants"); const publisher_service_1 = require("./publisher.service"); const decoratedTokenPrefix = 'AmqpPubliser:'; const decoratedPublishers = new Set(); function createDecoratedPublisherProvider(exchange) { return { provide: `${decoratedTokenPrefix}${exchange}`, useFactory: async (publisher) => { await publisher.setExchange(exchange); return publisher; }, inject: [publisher_service_1.Publisher], }; } function InjectPubliser(context) { decoratedPublishers.add(context); return common_1.Inject(`${decoratedTokenPrefix}${context}`); } exports.InjectPubliser = InjectPubliser; function createPublishersForDecorated() { return [...decoratedPublishers.values()].map(exchange => createDecoratedPublisherProvider(exchange)); } exports.createPublishersForDecorated = createPublishersForDecorated; function Consume(queue) { return common_1.SetMetadata(amqp_constants_1.AMQP_CONSUMER_METADATA, queue); } exports.Consume = Consume; //# sourceMappingURL=amqp.decorator.js.map