Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / @skava/graphql   js

Repository URL to install this package:

Version: 9.0.35-framework 

/ dist / cache / index.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// @see https://www.apollographql.com/docs/apollo-server/features/data-sources.html#Using-Memcached-Redis-as-a-cache-storage-backend
const exotic_1 = require("exotic");
const apollo_server_cache_redis_1 = require("apollo-server-cache-redis");
const log_1 = require("../log");
const InMemoryKeyValueCache_1 = require("./InMemoryKeyValueCache");
const FileSystemJsonKeyValueCache_1 = require("./FileSystemJsonKeyValueCache");
exports.config = new Map();
/**
 * @todo cleanup typings & conditional
 */
function toCache() {
    log_1.logger.info('[cache] createCache');
    if (exports.config.has('cache')) {
        return exports.config.get('cache');
    }
    else {
        if (process.env.CACHE_TYPE === 'redis') {
            log_1.logger.info('[cache] createCache: redis');
            const cache = new apollo_server_cache_redis_1.RedisCache({
                host: 'localhost',
                port: 6379,
            });
            cache.rehydrate = exotic_1.NO_OP;
            exports.config.set('cache', cache);
            return cache;
        }
        else if (process.env.CACHE_TYPE === 'fs') {
            log_1.logger.info('[cache] createCache: fs');
            const cache = new FileSystemJsonKeyValueCache_1.FileSystemJsonKeyValueCache();
            exports.config.set('cache', cache);
            return cache;
        }
        else if (process.env.CACHE_TYPE === 'memory' ||
            process.env.CACHE_TYPE === 'none' ||
            !process.env.CACHE_TYPE) {
            log_1.logger.info('[cache] createCache: memory');
            const cache = new InMemoryKeyValueCache_1.KeyValueCache();
            exports.config.set('cache', cache);
            return cache;
        }
        else {
            throw new TypeError('invalid CACHE_TYPE value. Must be `memory` | `none` | `fs` | `redis` | undefined');
        }
    }
}
exports.toCache = toCache;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FjaGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvSUFBb0k7QUFDcEksbUNBQThCO0FBQzlCLHlFQUFzRDtBQUN0RCxnQ0FBK0I7QUFDL0IsbUVBQXVEO0FBRXZELCtFQUEyRTtBQWE5RCxRQUFBLE1BQU0sR0FBbUIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtBQUUvQzs7R0FFRztBQUNILFNBQWdCLE9BQU87SUFDckIsWUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQ2xDLElBQUksY0FBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN2QixPQUFPLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDM0I7U0FBTTtRQUNMLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssT0FBTyxFQUFFO1lBQ3RDLFlBQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtZQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLHNDQUFVLENBQUM7Z0JBQzNCLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsSUFBSTthQUVYLENBQW1CLENBQUE7WUFDcEIsS0FBSyxDQUFDLFNBQVMsR0FBRyxjQUFLLENBQUE7WUFDdkIsY0FBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDMUIsT0FBTyxLQUFLLENBQUE7U0FDYjthQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQzFDLFlBQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQTtZQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLHlEQUEyQixFQUFFLENBQUE7WUFDL0MsY0FBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDMUIsT0FBTyxLQUFLLENBQUE7U0FDYjthQUFNLElBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssUUFBUTtZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FBSyxNQUFNO1lBQ2pDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQ3ZCO1lBQ0EsWUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1lBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUkscUNBQWEsRUFBRSxDQUFBO1lBQ2pDLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQzFCLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBTTtZQUNMLE1BQU0sSUFBSSxTQUFTLENBQ2pCLGtGQUFrRixDQUNuRixDQUFBO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFuQ0QsMEJBbUNDIn0=