push
github
404 of 483 branches covered (83.64%)
Branch coverage included in aggregate %.
2232 of 3955 new or added lines in 55 files covered. (56.43%)
2616 of 4570 relevant lines covered (57.24%)
34.43 hits per line
|
NEW
|
export type KeyPath<T, D extends number = 3> = KeyPath_<T, D, []>; |
|
| 2 |
|
× |
| 3 |
type KeyPath_<T, D extends number, S extends unknown[]> = D extends S['length'] |
× |
|
NEW
|
? never |
× |
|
NEW
|
: T extends object |
× |
|
NEW
|
? {
|
× |
|
NEW
|
[K in keyof T]-?: K extends string
|
× |
|
NEW
|
? `${K}` | Join<K, KeyPath_<T[K], D, [never, ...S]>> |
× |
|
NEW
|
: K extends number |
× |
|
NEW
|
? `[${K}]` | Join<`[${K}]`, KeyPath_<T[K], D, [never, ...S]>> |
× |
|
NEW
|
: never; |
× |
|
NEW
|
}[keyof T] |
× |
|
NEW
|
: '';
|
× |
| 14 |
|
× |
|
NEW
|
type Join<K, P> = K extends string | number
|
× |
|
NEW
|
? P extends string | number
|
× |
|
NEW
|
? P extends `[${string}` |
× |
|
NEW
|
? `${K}${P}` |
× |
|
NEW
|
: `${K}${'' extends P ? '' : '.'}${P}` |
× |
|
NEW
|
: never |
× |
|
NEW
|
: never; |
× |