diff --git a/src/CacheProvider.ts b/src/CacheProvider.ts index 5331868..c957667 100644 --- a/src/CacheProvider.ts +++ b/src/CacheProvider.ts @@ -1,5 +1,5 @@ export default interface CacheProvider { - get(key: string, defaultValue?: string): Promise; + get(key: string, defaultValue?: T): Promise; has(key: string): Promise; diff --git a/src/components/RedisComponent.ts b/src/components/RedisComponent.ts index 996f1eb..aad7e7d 100644 --- a/src/components/RedisComponent.ts +++ b/src/components/RedisComponent.ts @@ -42,8 +42,8 @@ export default class RedisComponent extends ApplicationComponent implements Cach return this.redisClient !== undefined && this.redisClient.connected; } - public async get(key: string, defaultValue?: string): Promise { - return await new Promise((resolve, reject) => { + public async get(key: string, defaultValue?: T): Promise { + return await new Promise((resolve, reject) => { if (!this.redisClient) { reject(`Redis store was not initialized.`); return; @@ -54,13 +54,13 @@ export default class RedisComponent extends ApplicationComponent implements Cach reject(err); return; } - resolve(val || defaultValue || null); + resolve((val || defaultValue || undefined) as T); }); }); } public async has(key: string): Promise { - return await this.get(key) !== null; + return await this.get(key) !== undefined; } public async forget(key: string): Promise {