cache-layer
Version:
An abstraction for cache providers, it exposes a common interface for diferente ways of cache
27 lines • 1.28 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const provider_1 = require("./models/provider");
const redis_provider_1 = __importDefault(require("./providers/redis-provider"));
const in_memory_provider_1 = __importDefault(require("./providers/in-memory-provider"));
const memcached_provider_1 = __importDefault(require("./providers/memcached-provider"));
class Cache {
static create(options) {
const providers = [
{ provider: provider_1.ProvidersEnum.Redis, class: redis_provider_1.default },
{ provider: provider_1.ProvidersEnum.InMemory, class: in_memory_provider_1.default },
{ provider: provider_1.ProvidersEnum.Memcached, class: memcached_provider_1.default }
];
const defaultProvider = {
provider: provider_1.ProvidersEnum.InMemory,
class: in_memory_provider_1.default
};
const provider = providers.find(p => p.provider === options.provider) || defaultProvider;
const client = new provider.class(options);
return client;
}
}
exports.Cache = Cache;
//# sourceMappingURL=factory.js.map
;