UNPKG

@rafikidota/eidolon

Version:

Sometimes, the best way to solve your own problems is to help someone else.

82 lines 3.78 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var RabbitMQModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.RabbitMQModule = void 0; const common_1 = require("@nestjs/common"); const microservices_1 = require("@nestjs/microservices"); const microservices_2 = require("@nestjs/microservices"); const config_1 = require("@nestjs/config"); const config_2 = require("@nestjs/config"); const rabbitmq_service_1 = require("./rabbitmq.service"); const env_1 = require("./env"); const env_2 = require("./env"); const transport_constant_1 = require("../../constants/transport.constant"); const constants_1 = require("../../constants"); const constants_2 = require("../../constants"); let RabbitMQModule = RabbitMQModule_1 = class RabbitMQModule { static register(options) { return { module: RabbitMQModule_1, imports: [ microservices_1.ClientsModule.register([ { name: transport_constant_1.RABBITMQ_SERVICE, transport: microservices_2.Transport.RMQ, options, }, ]), ], exports: [rabbitmq_service_1.RabbitMQService], providers: [rabbitmq_service_1.RabbitMQService], }; } static registerQueue(queue) { return { module: RabbitMQModule_1, imports: [ config_1.ConfigModule.forRoot({ load: [env_1.RabbitmqEnvConfig], validationSchema: env_2.RabbitmqConfigValidationSchema, }), microservices_1.ClientsModule.registerAsync([ { name: transport_constant_1.RABBITMQ_SERVICE, imports: [config_1.ConfigModule], inject: [config_2.ConfigService], useFactory: (service) => { const envServers = service.get(constants_2.RABBITMQ_SERVERS_URL) || []; const envServer = service.get(constants_1.RABBITMQ_SERVER_URL); const servers = new Set(envServers); if (envServer) { servers.add(envServer); } return { transport: microservices_2.Transport.RMQ, options: { urls: Array.from(servers), queue, queueOptions: { durable: true, }, }, }; }, }, ]), ], exports: [rabbitmq_service_1.RabbitMQService], providers: [rabbitmq_service_1.RabbitMQService], }; } }; exports.RabbitMQModule = RabbitMQModule; exports.RabbitMQModule = RabbitMQModule = RabbitMQModule_1 = __decorate([ (0, common_1.Module)({}) ], RabbitMQModule); //# sourceMappingURL=rabbitmq.module.js.map