@rafikidota/eidolon
Version:
Sometimes, the best way to solve your own problems is to help someone else.
82 lines • 3.78 kB
JavaScript
;
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