@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
1 lines • 939 B
Source Map (JSON)
{"version":3,"sources":["../../src/types/utils.ts"],"sourcesContent":["export namespace Utils {\n export type DeepKeysInner<T> = T extends object\n ? T extends any[]\n ? never\n : {\n [K in keyof T]-?: T[K] extends object\n ? // @ts-expect-error\n `${K}.${DeepKeysInner<T[K]>}`\n : K;\n }[keyof T]\n : \"\";\n\n export type RemoveDotOptions<T extends string> = T extends `${infer _}.`\n ? never\n : T;\n\n // @ts-expect-error\n export type DeepKeys<T> = RemoveDotOptions<DeepKeysInner<T>>;\n\n export type DeepKey<T, K extends string> = K extends keyof T\n ? T[K]\n : K extends `${infer First}.${infer Rest}`\n ? First extends keyof T\n ? DeepKey<T[First], Rest>\n : never\n : never;\n\n export type DeepKeyValue<T, K extends string> = K extends keyof T\n ? T[K]\n : DeepKey<T, K>;\n}\n"],"names":[],"mappings":"AAAA,WA8BC"}