From ca7d069c55f1c9586f588554386bcebdc0071bff Mon Sep 17 00:00:00 2001 From: Daniel Friesen Date: Mon, 11 Mar 2019 21:57:05 -0700 Subject: [PATCH] [cache-manager] Export interfaces This allows variables where caches may be set to be explicitly typed. --- types/cache-manager/cache-manager-tests.ts | 2 +- types/cache-manager/index.d.ts | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/types/cache-manager/cache-manager-tests.ts b/types/cache-manager/cache-manager-tests.ts index 30a8472a8b..d8ab154aa1 100644 --- a/types/cache-manager/cache-manager-tests.ts +++ b/types/cache-manager/cache-manager-tests.ts @@ -1,6 +1,6 @@ import * as cacheManager from 'cache-manager' -const memoryCache = cacheManager.caching({ store: 'memory', max: 100, ttl: 10/*seconds*/ }); +const memoryCache: cacheManager.Cache = cacheManager.caching({ store: 'memory', max: 100, ttl: 10/*seconds*/ }); const ttl = 5; memoryCache.set('foo', 'bar', { ttl: ttl }, (err) => { diff --git a/types/cache-manager/index.d.ts b/types/cache-manager/index.d.ts index fcd4458767..5898b0fa24 100644 --- a/types/cache-manager/index.d.ts +++ b/types/cache-manager/index.d.ts @@ -3,17 +3,17 @@ // Definitions by: Simon Gausmann // Definitions: https://github.com/borisyankov/DefinitelyTyped -interface CachingConfig { +export interface CachingConfig { ttl: number; } -interface StoreConfig extends CachingConfig { +export interface StoreConfig extends CachingConfig { store: string; max?: number; isCacheableValue?: (value: any) => boolean; } -interface Cache { +export interface Cache { set(key: string, value: T, options: CachingConfig, callback?: (error: any) => void): void; set(key: string, value: T, ttl: number, callback?: (error: any) => void): void; set(key: string, value: T, options: CachingConfig): Promise; @@ -31,12 +31,5 @@ interface Cache { del(key: string): Promise; } - - -declare namespace cacheManager { - function caching(IConfig: StoreConfig): Cache; - function multiCaching(Caches: Cache[]): Cache; -} - -export = cacheManager; - +export function caching(IConfig: StoreConfig): Cache; +export function multiCaching(Caches: Cache[]): Cache;