@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
10 lines • 653 B
TypeScript
export declare namespace Utils {
type DeepKeysInner<T> = T extends object ? T extends any[] ? never : {
[K in keyof T]-?: T[K] extends object ? `${K}.${DeepKeysInner<T[K]>}` : K;
}[keyof T] : "";
type RemoveDotOptions<T extends string> = T extends `${infer _}.` ? never : T;
type DeepKeys<T> = RemoveDotOptions<DeepKeysInner<T>>;
type DeepKey<T, K extends string> = K extends keyof T ? T[K] : K extends `${infer First}.${infer Rest}` ? First extends keyof T ? DeepKey<T[First], Rest> : never : never;
type DeepKeyValue<T, K extends string> = K extends keyof T ? T[K] : DeepKey<T, K>;
}
//# sourceMappingURL=utils.d.ts.map