@cleardu/rmq
Version:
Nest - modern, fast, powerful node.js web framework (@rmq)
90 lines (89 loc) • 3.66 kB
JavaScript
"use strict";
var RmqBroadCastModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RmqBroadCastModule = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const rmq_service_1 = require("./rmq.service");
const rmq_broadcast_module_definition_1 = require("./rmq-broadcast.module-definition");
const nestjs_rabbitmq_1 = require("@golevelup/nestjs-rabbitmq");
let RmqBroadCastModule = RmqBroadCastModule_1 = class RmqBroadCastModule extends rmq_broadcast_module_definition_1.RmqBroadcastModuleDefinition.ConfigurableModuleClass {
static forRoot(options) {
return {
module: RmqBroadCastModule_1,
imports: [
nestjs_rabbitmq_1.RabbitMQModule.forRoot(nestjs_rabbitmq_1.RabbitMQModule, {
exchanges: [
{
name: 'agent.exchange',
type: 'fanout',
},
{
name: 'call.exchange',
type: 'fanout',
},
],
uri: options.config.uri,
connectionInitOptions: { wait: false },
enableControllerDiscovery: true,
channels: {
'socket-channel': {
prefetchCount: 15,
default: true,
},
},
}),
],
exports: [
nestjs_rabbitmq_1.RabbitMQModule,
RmqBroadCastModule_1,
nestjs_rabbitmq_1.AmqpConnection,
nestjs_rabbitmq_1.AmqpConnectionManager,
],
};
}
static forRootAsync(options) {
return {
module: RmqBroadCastModule_1,
imports: [
...(options.imports || []),
nestjs_rabbitmq_1.RabbitMQModule.forRootAsync(nestjs_rabbitmq_1.RabbitMQModule, {
useFactory: async (...args) => {
const opt = await options.useFactory(...args);
return {
exchanges: [
{
name: 'agent.exchange',
type: 'fanout',
},
{
name: 'call.exchange',
type: 'fanout',
},
],
uri: opt.config?.uri || '',
connectionInitOptions: { wait: false },
enableControllerDiscovery: true,
channels: {
'socket-channel': {
prefetchCount: 15,
default: true,
},
},
};
},
inject: options.inject || [],
imports: options.imports || [],
}),
],
exports: [nestjs_rabbitmq_1.RabbitMQModule, RmqBroadCastModule_1],
};
}
};
exports.RmqBroadCastModule = RmqBroadCastModule;
exports.RmqBroadCastModule = RmqBroadCastModule = RmqBroadCastModule_1 = tslib_1.__decorate([
(0, common_1.Module)({
providers: [rmq_service_1.RmqService],
exports: [],
})
], RmqBroadCastModule);