UNPKG

1.09 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.createCacheManager = void 0;
4const load_package_util_1 = require("../utils/load-package.util");
5const cache_constants_1 = require("./cache.constants");
6const default_options_1 = require("./default-options");
7/**
8 * Creates a CacheManager Provider.
9 *
10 * @publicApi
11 */
12function createCacheManager() {
13 return {
14 provide: cache_constants_1.CACHE_MANAGER,
15 useFactory: (options) => {
16 const cacheManager = (0, load_package_util_1.loadPackage)('cache-manager', 'CacheModule', () => require('cache-manager'));
17 return Array.isArray(options)
18 ? cacheManager.multiCaching(options.map(store => cacheManager.caching(Object.assign(Object.assign({}, default_options_1.defaultCacheOptions), (store || {})))))
19 : cacheManager.caching(Object.assign(Object.assign({}, default_options_1.defaultCacheOptions), (options || {})));
20 },
21 inject: [cache_constants_1.CACHE_MODULE_OPTIONS],
22 };
23}
24exports.createCacheManager = createCacheManager;