fix(types): favor Record<string, any>> instead of object

This commit is contained in:
Benjamin Canac
2023-11-30 17:19:08 +01:00
parent a2e9b7da07
commit 4d72a758fa

View File

@@ -1,7 +1,7 @@
export type Strategy = 'merge' | 'override'
export type NestedKeyOf<ObjectType extends object> = {
[Key in keyof ObjectType]: ObjectType[Key] extends object
export type NestedKeyOf<ObjectType extends Record<string, any>> = {
[Key in keyof ObjectType]: ObjectType[Key] extends Record<string, any>
? NestedKeyOf<ObjectType[Key]>
: Key
}[keyof ObjectType]
@@ -20,9 +20,9 @@ type DeepKey<T, Keys extends string[]> =
: T
export type ExtractDeepKey<T, Path extends string[]> = DeepKey<T, Path> extends infer Result
? Result extends object ? keyof Result : never
? Result extends Record<string, any> ? keyof Result : never
: never
export type ExtractDeepObject<T, Path extends string[]> = DeepKey<T, Path> extends infer Result
? Result extends object ? Result : never
? Result extends Record<string, any> ? Result : never
: never