diff --git a/config/index.ts b/config/index.ts index a27666dc..739cd2a7 100644 --- a/config/index.ts +++ b/config/index.ts @@ -32,15 +32,11 @@ type Paths = [D] extends [never] ? never : T extends o : never }[keyof T] : '' -type FirstKey = T extends `${infer K}.${string}` ? K : T; -type NextKey = T extends `${string}.${infer K}` ? K : T; -type PathValue = ( - T extends object - ? FirstKey extends keyof T - ? PathValue], NextKey> - : T +type SplitKey = K extends `${infer A}.${infer B}` ? [A, B] : [K, string] +type PathValue = + SplitKey extends [infer A extends keyof T, infer B extends string] + ? PathValue : T -); const get = >(key: Key) => store.get(key) as PathValue; export default {