@am92/redis
Version:
56 lines (55 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.REDIS_CONFIG = exports.SERVICE = void 0;
/** @ignore */
const { npm_package_name: pkgName = '', npm_package_version: pkgVersion = '', REDIS_ENABLED = 'false', REDIS_AUTH_ENABLED = 'false', REDIS_HOST = '', REDIS_PORT = '', REDIS_KEY_PREFIX = '', REDIS_AUTH = '', REDIS_PING_INTERVAL = '1800000' } = process.env;
/** @ignore */
exports.SERVICE = `${pkgName}@${pkgVersion}`;
/** @ignore */
let CONNECTION_CONFIG = {};
/** @ignore */
const REQUIRED_CONFIG = [];
/** @ignore */
const MISSING_CONFIGS = [];
if (REDIS_ENABLED === 'true') {
REQUIRED_CONFIG.push('REDIS_HOST');
REQUIRED_CONFIG.push('REDIS_PORT');
/** @ignore */
const AUTH_ENABLED = REDIS_AUTH_ENABLED === 'true';
if (AUTH_ENABLED) {
REQUIRED_CONFIG.push('REDIS_AUTH');
}
REQUIRED_CONFIG.forEach(function (key) {
if (!process.env[key]) {
MISSING_CONFIGS.push(key);
}
});
if (MISSING_CONFIGS.length) {
const fatalLogFunc = console.fatal || console.log;
fatalLogFunc(`[${exports.SERVICE} Redis] Redis Config Missing: ${MISSING_CONFIGS.join(', ')}`);
process.exit(1);
}
const PING_INTERVAL = parseInt(REDIS_PING_INTERVAL, 10);
if (isNaN(PING_INTERVAL)) {
const fatalLogFunc = console.fatal || console.log;
fatalLogFunc(`[${exports.SERVICE} Redis] Redis Config Invalid: REDIS_PING_INTERVAL is not a number`);
process.exit(1);
}
CONNECTION_CONFIG = {
socket: {
host: REDIS_HOST,
port: parseInt(REDIS_PORT, 10),
tls: AUTH_ENABLED
},
password: AUTH_ENABLED ? REDIS_AUTH : undefined,
pingInterval: PING_INTERVAL || undefined
};
if (!AUTH_ENABLED) {
console.warn(`[${exports.SERVICE} Redis] Environment REDIS_AUTH is disabled.`);
}
}
/** @ignore */
exports.REDIS_CONFIG = {
CONNECTION_CONFIG,
KEY_PREFIX: REDIS_KEY_PREFIX
};