diff --git a/src/cache/adapters/redis.ts b/src/cache/adapters/redis.ts index b2ddbeb..f3143b7 100644 --- a/src/cache/adapters/redis.ts +++ b/src/cache/adapters/redis.ts @@ -174,11 +174,12 @@ export class RedisAdapter implements Adapter { } async flush(): Promise { - await this.remove( - await Promise.all([this.scan(this.buildKey('*'), true), this.__scanSets(this.buildKey('*'), true)]).then(x => - x.flat(), - ), - ); + const keys = await Promise.all([ + this.scan(this.buildKey('*'), true), + this.__scanSets(this.buildKey('*'), true), + ]).then(x => x.flat()); + if (!keys.length) return; + await this.remove(keys); } async contains(to: string, keys: string): Promise { diff --git a/src/common/types/util.ts b/src/common/types/util.ts index a639839..7f9829a 100644 --- a/src/common/types/util.ts +++ b/src/common/types/util.ts @@ -112,7 +112,7 @@ export type ObjectToLower = Identify<{ export type ObjectToLowerUndefined = T extends unknown[] ? ObjectToLower[] : Identify<{ - [K in keyof T as CamelCase>]?: T[K] extends unknown[] + [K in keyof T as CamelCase>]: T[K] extends unknown[] ? ObjectToLower[] : T[K] extends object ? ObjectToLower @@ -132,7 +132,7 @@ export type ObjectToSnake = Identify<{ export type ObjectToSnakeUndefined = T extends unknown[] ? ObjectToSnake[] : Identify<{ - [K in keyof T as SnakeCase>]?: T[K] extends unknown[] + [K in keyof T as SnakeCase>]: T[K] extends unknown[] ? ObjectToSnake[] : T[K] extends object ? ObjectToSnake