From 4f7171704756cfd2211a217fe4cb68dad9d49507 Mon Sep 17 00:00:00 2001 From: DjDeveloperr Date: Fri, 19 Mar 2021 17:07:57 +0530 Subject: [PATCH] resolve --- src/managers/base.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/managers/base.ts b/src/managers/base.ts index 442b7fc..d55a34f 100644 --- a/src/managers/base.ts +++ b/src/managers/base.ts @@ -67,6 +67,20 @@ export class BaseManager { yield* readable.getIterator() } + async fetch(...args: unknown[]): Promise { + return undefined + } + + /** Try to get value from cache, if not found then fetch */ + async resolve(key: string): Promise { + const cacheValue = await this.get(key) + if (cacheValue !== undefined) return cacheValue + else { + const fetchValue = await this.fetch(key).catch(() => undefined) + if (fetchValue !== undefined) return fetchValue + } + } + /** Deletes everything from Cache */ flush(): any { return this.client.cache.deleteCache(this.cacheName)