@jiaxinjiang/nest-amqp
Version:
RabbitMQ component for NestJs.
38 lines • 1.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@nestjs/core");
const amqp_constants_1 = require("./amqp.constants");
const amqp_service_1 = require("./amqp.service");
function createOptionsProvider(amqpOption) {
return {
provide: amqp_constants_1.AMQP_OPTION,
useValue: amqpOption,
};
}
exports.createOptionsProvider = createOptionsProvider;
function createAsyncOptionsProvider(options) {
return {
provide: amqp_constants_1.AMQP_OPTION,
useFactory: options.useFactory,
inject: options.inject || [],
};
}
exports.createAsyncOptionsProvider = createAsyncOptionsProvider;
function createAmqpServiceProvider() {
return {
provide: amqp_constants_1.AMQP_SERVICE,
useFactory: async (discoveryService, metadataScanner, reflector, amqpConfig) => {
const amqpService = new amqp_service_1.AmqpService(discoveryService, metadataScanner, reflector, amqpConfig);
await amqpService.amqpInit();
return amqpService;
},
inject: [
core_1.DiscoveryService,
core_1.MetadataScanner,
core_1.Reflector,
amqp_constants_1.AMQP_OPTION,
],
};
}
exports.createAmqpServiceProvider = createAmqpServiceProvider;
//# sourceMappingURL=amqp.provider.js.map
;