Repository URL to install this package:
|
Version:
9.0.35-framework ▾
|
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const redis_1 = __importDefault(require("redis"));
exports.redis = redis_1.default;
const util_1 = require("util");
const exotic_1 = require("exotic");
const chain_able_boost_1 = require("chain-able-boost");
function createRedis() {
const client = redis_1.default.createClient(process.env.REDIS_URL || '//localhost:6379');
client.on('error', redisError => {
console.log('Error ' + redisError);
});
const getAsync = util_1.promisify(client.get).bind(client);
const setAsync = util_1.promisify(client.set).bind(client);
const clear = util_1.promisify(client.flushdb).bind(client);
const hasAsync = async (key) => !!(await getAsync(key));
const has = hasAsync;
const get = async (key, options = {}) => {
const value = await getAsync(key);
if (options.isJSON) {
return JSON.parse(value);
}
else {
return value;
}
};
const set = async (key, value, options = { isJSON: true }) => {
const safeValue = options.isJSON && exotic_1.isObj(value) ? chain_able_boost_1.stringify(value) : value;
return await setAsync(key, safeValue);
};
const getJSON = (key, options = { isJSON: true }) => get(key, options);
return { client, clear, get, set, has, getJSON };
}
function createRedisUsingEnv() {
if (process.env.CACHE_TYPE === 'redis') {
return createRedis();
}
else {
const client = {};
const get = () => undefined;
const set = () => undefined;
const getJSON = () => ({});
const has = () => false;
return { client, has, get, set, getJSON };
}
}
const redisAdapter = createRedisUsingEnv();
// done this way to avoid issues with shadowed variables
const clientExport = redisAdapter.client;
exports.client = clientExport;
const getExport = redisAdapter.get;
exports.get = getExport;
const setExport = redisAdapter.set;
exports.set = setExport;
const getJSONExport = redisAdapter.getJSON;
exports.getJSON = getJSONExport;
const hasExport = redisAdapter.has;
exports.has = hasExport;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FjaGUvcmVkaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBeUI7QUFxRXZCLGdCQXJFSyxlQUFLLENBcUVMO0FBcEVQLCtCQUFnQztBQUNoQyxtQ0FBOEI7QUFDOUIsdURBQTRDO0FBTTVDLFNBQVMsV0FBVztJQUNsQixNQUFNLE1BQU0sR0FBRyxlQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLENBQUE7SUFFOUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUE7SUFDcEMsQ0FBQyxDQUFDLENBQUE7SUFDRixNQUFNLFFBQVEsR0FBRyxnQkFBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbkQsTUFBTSxRQUFRLEdBQUcsZ0JBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25ELE1BQU0sS0FBSyxHQUFHLGdCQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNwRCxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQTtJQUVwQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLFVBQThCLEVBQUUsRUFBRSxFQUFFO1FBQ2xFLE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2pDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDekI7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFBO1NBQ2I7SUFDSCxDQUFDLENBQUE7SUFDRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ2YsR0FBVyxFQUNYLEtBQVUsRUFDVixVQUE4QixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFDOUMsRUFBRTtRQUNGLE1BQU0sU0FBUyxHQUNiLE9BQU8sQ0FBQyxNQUFNLElBQUksY0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw0QkFBUyxDQUFDLEtBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDakUsT0FBTyxNQUFNLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdkMsQ0FBQyxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFXLEVBQUUsT0FBTyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRTlFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ2xELENBQUM7QUFJRCxTQUFTLG1CQUFtQjtJQUMxQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUN0QyxPQUFPLFdBQVcsRUFBRSxDQUFBO0tBQ3JCO1NBQU07UUFDTCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFBO1FBQzNCLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQTtRQUMzQixNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzFCLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQTtRQUN2QixPQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBNkIsQ0FBQTtLQUN0RTtBQUNILENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRyxtQkFBbUIsRUFBRSxDQUFBO0FBQzFDLHdEQUF3RDtBQUN4RCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFBO0FBT3RCLDhCQUFNO0FBTnhCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUE7QUFRbkIsd0JBQUc7QUFQbEIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQTtBQVFuQix3QkFBRztBQVBsQixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFBO0FBU3ZCLGdDQUFPO0FBUjFCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUE7QUFPbkIsd0JBQUcifQ==