diff --git a/integration/cache/src/multi-store/multi-store.module.ts b/integration/cache/src/multi-store/multi-store.module.ts index 8ebc34e5bd0..369d49aa1ed 100644 --- a/integration/cache/src/multi-store/multi-store.module.ts +++ b/integration/cache/src/multi-store/multi-store.module.ts @@ -1,5 +1,5 @@ import { CacheModule, Module } from '@nestjs/common'; -import * as redisStore from 'cache-manager-redis-store'; +import { redisStore } from 'cache-manager-redis-store'; import { MultiStoreController } from './multi-store.controller'; @Module({ diff --git a/packages/common/cache/cache.providers.ts b/packages/common/cache/cache.providers.ts index 082c7029ff5..3d1ca3723a5 100644 --- a/packages/common/cache/cache.providers.ts +++ b/packages/common/cache/cache.providers.ts @@ -3,7 +3,10 @@ import { loadPackage } from '../utils/load-package.util'; import { CACHE_MANAGER } from './cache.constants'; import { MODULE_OPTIONS_TOKEN } from './cache.module-definition'; import { defaultCacheOptions } from './default-options'; -import { CacheManagerOptions } from './interfaces/cache-manager.interface'; +import { + CacheManagerOptions, + CacheStore, +} from './interfaces/cache-manager.interface'; /** * Creates a CacheManager Provider. @@ -28,10 +31,14 @@ export function createCacheManager(): Provider { ...{ ...options, store }, }); } - let cache: string | Function = 'memory'; + let cache: string | Function | CacheStore = 'memory'; defaultCacheOptions.ttl *= 1000; - if (typeof store === 'object' && 'create' in store) { - cache = store.create; + if (typeof store === 'object') { + if ('create' in store) { + cache = store.create; + } else { + cache = store; + } } else if (typeof store === 'function') { cache = store; }