Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql / dist / cache / redis.js
Size: Mime:
"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==