UNPKG

zents

Version:

ZenTS is a Node.js & TypeScript MVC-Framework for building rich web applications, released as free and open-source software under the MIT License. It is designed for building web applications with modern tools and design patterns.

41 lines 1.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRedisClient = void 0; const ioredis_1 = __importDefault(require("ioredis")); const config_1 = require("../config/config"); const logger_1 = require("../log/logger"); async function createRedisClient() { var _a; if (!((_a = config_1.config.redis) === null || _a === void 0 ? void 0 : _a.enable)) { return null; } return new Promise((resolve, reject) => { var _a; const client = new ioredis_1.default(Object.assign({}, config_1.config.redis, { lazyConnect: false, enableReadyCheck: true, })); if ((_a = config_1.config.redis) === null || _a === void 0 ? void 0 : _a.log) { client.on('connect', () => logger_1.log.success('Redis client connected successfully!')); client.on('ready', () => logger_1.log.success('Redis connection is ready to accept commands!')); client.on('error', (err) => logger_1.log.error(err)); client.on('close', () => logger_1.log.info('Connection to redis server closed.')); client.on('reconnecting', () => logger_1.log.info('Redis client reconnecting to server')); } let isReadySend = false; client.once('ready', () => { isReadySend = true; resolve(client); }); client.once('end', () => { if (!isReadySend) { reject('Failed to connect to redis server.'); } }); }); } exports.createRedisClient = createRedisClient; //# sourceMappingURL=createRedisClient.js.map