UNPKG

@amirmarmul/waba-common

Version:

![GitHub release](https://img.shields.io/github/v/release/amirmarmul/waba-common?style=flat-square)

31 lines (30 loc) 1.28 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Connection = void 0; const amqp_connection_manager_1 = __importDefault(require("amqp-connection-manager")); const logger_1 = __importDefault(require("../../../core/utils/logger")); class Connection { static connections = {}; constructor() { // } static createConnection(connectionType = 'default') { const connection = amqp_connection_manager_1.default.connect([process.env.APP_MQ]); connection.on('connect', () => { logger_1.default.debug('Connection established successfully.', { connectionType }); }); connection.on('disconnect', (params) => { logger_1.default.warn('Connection lost. ', { connectionType, reason: params.err.message }); this.connections[connectionType] = null; }); this.connections[connectionType] = connection; return connection; } static getConnection(connectionType = 'default') { return this.connections[connectionType] ?? this.createConnection(connectionType); } } exports.Connection = Connection;