UNPKG

redis-smq

Version:

A high-performance, reliable, and scalable message queue for Node.js.

45 lines 1.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RedisConfig = void 0; const redis_smq_common_1 = require("redis-smq-common"); const lodash_1 = __importDefault(require("lodash")); class RedisConfig { constructor(redisConfig) { this.config = this.mergeConfig(redisConfig); } mergeConfig(redisConfig) { var _a; const defaultConfig = { client: redis_smq_common_1.ERedisConfigClient.IOREDIS, options: { host: '127.0.0.1', port: 6379, db: 0 }, }; if ((redisConfig === null || redisConfig === void 0 ? void 0 : redisConfig.client) && redisConfig.client !== defaultConfig.client) { return { client: redisConfig.client, options: (_a = redisConfig.options) !== null && _a !== void 0 ? _a : {}, }; } return lodash_1.default.merge({}, defaultConfig, redisConfig !== null && redisConfig !== void 0 ? redisConfig : {}); } static initialize(config) { if (RedisConfig.instance) { throw new Error('Already initialized'); } RedisConfig.instance = new RedisConfig(config); } static getConfig() { if (!RedisConfig.instance) { throw new Error('Not initialized'); } return Object.freeze(RedisConfig.instance.config); } static reset() { RedisConfig.instance = null; } } exports.RedisConfig = RedisConfig; RedisConfig.instance = null; //# sourceMappingURL=redis-config.js.map