UNPKG

key-path-mirror

Version:

Similar to keymirror but supports nested objects, built with TypeScript

14 lines (13 loc) 596 B
declare type Obj = { [key: string]: any; }; declare type Prefix = string | undefined; declare type RecurSetObjValTypeAsStr<O extends Obj> = { [K in keyof O]: O[K] extends Obj ? RecurSetObjValTypeAsStr<O[K]> : string; }; declare type RetType<O extends Obj, P extends Prefix> = { [K in keyof O]: O[K] extends Obj ? RecurSetObjValTypeAsStr<O[K]> : P extends undefined ? K : string; }; export declare function keyPathMirror<T extends Obj>(obj: T): RetType<T, undefined>; export declare function keyPathMirror<T extends Obj, P extends string>(obj: T, prefix: P): RetType<T, P>; export {};