File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed
Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -133,22 +133,28 @@ type AllowedIndexes<
133133 ? AllowedIndexes < Tail , Keys | Tail [ 'length' ] >
134134 : Keys
135135
136- export type DeepKeys < T > = unknown extends T
136+ export type DeepKeys < T , TDepth extends any [ ] = [ ] > = TDepth [ 'length' ] extends 10
137+ ? never
138+ : unknown extends T
137139 ? keyof T
138140 : object extends T
139141 ? string
140142 : T extends readonly any [ ] & IsTuple < T >
141- ? AllowedIndexes < T > | DeepKeysPrefix < T , AllowedIndexes < T > >
143+ ? AllowedIndexes < T > | DeepKeysPrefix < T , AllowedIndexes < T > , TDepth >
142144 : T extends any [ ]
143145 ? DeepKeys < T [ number ] >
144146 : T extends Date
145147 ? never
146148 : T extends object
147- ? ( keyof T & string ) | DeepKeysPrefix < T , keyof T >
149+ ? ( keyof T & string ) | DeepKeysPrefix < T , keyof T , TDepth >
148150 : never
149151
150- type DeepKeysPrefix < T , TPrefix > = TPrefix extends keyof T & ( number | string )
151- ? `${TPrefix } .${DeepKeys < T [ TPrefix ] > & string } `
152+ type DeepKeysPrefix <
153+ T ,
154+ TPrefix ,
155+ TDepth extends any [ ] ,
156+ > = TPrefix extends keyof T & ( number | string )
157+ ? `${TPrefix } .${DeepKeys < T [ TPrefix ] , [ ...TDepth , any ] > & string } `
152158 : never
153159
154160export type DeepValue < T , TProp > = T extends Record < string | number , any >
You can’t perform that action at this time.
0 commit comments