UNPKG

redis-smq

Version:

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

38 lines 1.2 kB
import { ERedisConfigClient } from 'redis-smq-common'; import _ from 'lodash'; export class RedisConfig { static instance = null; config; constructor(redisConfig) { this.config = this.mergeConfig(redisConfig); } mergeConfig(redisConfig) { const defaultConfig = { client: ERedisConfigClient.IOREDIS, options: { host: '127.0.0.1', port: 6379, db: 0 }, }; if (redisConfig?.client && redisConfig.client !== defaultConfig.client) { return { client: redisConfig.client, options: redisConfig.options ?? {}, }; } return _.merge({}, defaultConfig, 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; } } //# sourceMappingURL=redis-config.js.map