From bb0e8300309cde3c9c7d24c34c41c78ef1ef80d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raymund=20=C3=81cs?= Date: Fri, 6 Dec 2024 14:32:29 +0100 Subject: [PATCH 1/6] cache-manager - add named return type to createCache --- packages/cache-manager/src/index.ts | 39 ++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/packages/cache-manager/src/index.ts b/packages/cache-manager/src/index.ts index e3edd87c..9e5c5490 100644 --- a/packages/cache-manager/src/index.ts +++ b/packages/cache-manager/src/index.ts @@ -13,6 +13,43 @@ export type CreateCacheOptions = { nonBlocking?: boolean; }; +export type Cache = { + get: (key: string) => Promise; + mget: (keys: string[]) => Promise<[T]>; + set: (key: string, value: T, ttl?: number) => Promise; + mset: ( + list: Array<{ + key: string; + value: T; + ttl?: number; + }> + ) => Promise< + { + key: string; + value: T; + ttl?: number; + }[] + >; + del: (key: string) => Promise; + mdel: (keys: string[]) => Promise; + clear: () => Promise; + wrap: ( + key: string, + fnc: () => T | Promise, + ttl?: number | ((value: T) => number), + refreshThreshold?: number + ) => Promise; + on: ( + event: E, + listener: Events[E] + ) => EventEmitter<[never]>; + off: ( + event: E, + listener: Events[E] + ) => EventEmitter<[never]>; + disconnect: () => Promise; +}; + export type Events = { set: (data: {key: string; value: T; error?: unknown}) => void; del: (data: {key: string; error?: unknown}) => void; @@ -20,7 +57,7 @@ export type Events = { refresh: (data: {key: string; value: T; error?: unknown}) => void; }; -export const createCache = (options?: CreateCacheOptions) => { +export const createCache = (options?: CreateCacheOptions): Cache => { const eventEmitter = new EventEmitter(); const stores = options?.stores?.length ? options.stores : [new Keyv()]; const nonBlocking = options?.nonBlocking ?? false; From a53d287c56291c06c7754ca6845f7d3998c4dcde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raymund=20=C3=81cs?= Date: Fri, 6 Dec 2024 17:18:01 +0100 Subject: [PATCH 2/6] cache-manager - fix identation --- packages/cache-manager/src/index.ts | 68 ++++++++++++++--------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/packages/cache-manager/src/index.ts b/packages/cache-manager/src/index.ts index 9e5c5490..83d6f63c 100644 --- a/packages/cache-manager/src/index.ts +++ b/packages/cache-manager/src/index.ts @@ -14,40 +14,40 @@ export type CreateCacheOptions = { }; export type Cache = { - get: (key: string) => Promise; - mget: (keys: string[]) => Promise<[T]>; - set: (key: string, value: T, ttl?: number) => Promise; - mset: ( - list: Array<{ - key: string; - value: T; - ttl?: number; - }> - ) => Promise< - { - key: string; - value: T; - ttl?: number; - }[] - >; - del: (key: string) => Promise; - mdel: (keys: string[]) => Promise; - clear: () => Promise; - wrap: ( - key: string, - fnc: () => T | Promise, - ttl?: number | ((value: T) => number), - refreshThreshold?: number - ) => Promise; - on: ( - event: E, - listener: Events[E] - ) => EventEmitter<[never]>; - off: ( - event: E, - listener: Events[E] - ) => EventEmitter<[never]>; - disconnect: () => Promise; + get: (key: string) => Promise; + mget: (keys: string[]) => Promise<[T]>; + set: (key: string, value: T, ttl?: number) => Promise; + mset: ( + list: Array<{ + key: string; + value: T; + ttl?: number; + }> + ) => Promise< + Array<{ + key: string; + value: T; + ttl?: number; + }> + >; + del: (key: string) => Promise; + mdel: (keys: string[]) => Promise; + clear: () => Promise; + wrap: ( + key: string, + fnc: () => T | Promise, + ttl?: number | ((value: T) => number), + refreshThreshold?: number + ) => Promise; + on: ( + event: E, + listener: Events[E] + ) => EventEmitter; + off: ( + event: E, + listener: Events[E] + ) => EventEmitter; + disconnect: () => Promise; }; export type Events = { From f40926b6e61c3b4295055d7c193c2ebdfa5a263f Mon Sep 17 00:00:00 2001 From: Jared Wray Date: Fri, 6 Dec 2024 08:21:16 -0800 Subject: [PATCH 3/6] fixing lint issues --- packages/cache-manager/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cache-manager/src/index.ts b/packages/cache-manager/src/index.ts index 83d6f63c..2427b38d 100644 --- a/packages/cache-manager/src/index.ts +++ b/packages/cache-manager/src/index.ts @@ -14,7 +14,7 @@ export type CreateCacheOptions = { }; export type Cache = { - get: (key: string) => Promise; + get: (key: string) => Promise; mget: (keys: string[]) => Promise<[T]>; set: (key: string, value: T, ttl?: number) => Promise; mset: ( From a695c5d7e16fa56ce585f47efb44550080d6a5b2 Mon Sep 17 00:00:00 2001 From: Jared Wray Date: Fri, 6 Dec 2024 08:23:39 -0800 Subject: [PATCH 4/6] fixing to be null on get function --- packages/cache-manager/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cache-manager/src/index.ts b/packages/cache-manager/src/index.ts index 2427b38d..75ff418a 100644 --- a/packages/cache-manager/src/index.ts +++ b/packages/cache-manager/src/index.ts @@ -14,7 +14,7 @@ export type CreateCacheOptions = { }; export type Cache = { - get: (key: string) => Promise; + get: (key: string) => Promise; mget: (keys: string[]) => Promise<[T]>; set: (key: string, value: T, ttl?: number) => Promise; mset: ( @@ -62,7 +62,7 @@ export const createCache = (options?: CreateCacheOptions): Cache => { const stores = options?.stores?.length ? options.stores : [new Keyv()]; const nonBlocking = options?.nonBlocking ?? false; - const get = async (key: string) => { + const get = async (key: string): Promise => { let result = null; if (nonBlocking) { From 34c3cb44207e07176f4f9f43d595083f32fd60a5 Mon Sep 17 00:00:00 2001 From: Jared Wray Date: Fri, 6 Dec 2024 08:26:05 -0800 Subject: [PATCH 5/6] fixing lint --- packages/cache-manager/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cache-manager/src/index.ts b/packages/cache-manager/src/index.ts index 75ff418a..e1a5e297 100644 --- a/packages/cache-manager/src/index.ts +++ b/packages/cache-manager/src/index.ts @@ -14,6 +14,7 @@ export type CreateCacheOptions = { }; export type Cache = { + // eslint-disable-next-line @typescript-eslint/ban-types get: (key: string) => Promise; mget: (keys: string[]) => Promise<[T]>; set: (key: string, value: T, ttl?: number) => Promise; From c7ad1e96c726013620d6e6632077f2752f5971f4 Mon Sep 17 00:00:00 2001 From: Jared Wray Date: Fri, 6 Dec 2024 08:26:41 -0800 Subject: [PATCH 6/6] ignoring lint error on get function --- packages/cache-manager/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cache-manager/src/index.ts b/packages/cache-manager/src/index.ts index e1a5e297..3f9169d3 100644 --- a/packages/cache-manager/src/index.ts +++ b/packages/cache-manager/src/index.ts @@ -63,6 +63,7 @@ export const createCache = (options?: CreateCacheOptions): Cache => { const stores = options?.stores?.length ? options.stores : [new Keyv()]; const nonBlocking = options?.nonBlocking ?? false; + // eslint-disable-next-line @typescript-eslint/ban-types const get = async (key: string): Promise => { let result = null;