@@ -19,7 +19,7 @@ export function mergePath(path: (string | number | symbol)[]) {
1919 } , '' ) ;
2020}
2121
22- type BuiltInObjects = Date | Set < unknown > | File ;
22+ type DictOrArray = Record < PropertyKey , unknown > | unknown [ ] ;
2323
2424/**
2525 * Lists all paths in an object as string accessors.
@@ -82,13 +82,11 @@ type StringPath<
8282 path : '' ;
8383 type : never ;
8484 }
85- > = T extends BuiltInObjects
86- ? If < Options , 'filter' , 'leaves' | 'all' , Options [ 'path' ] , never , T >
87- : T extends ( infer U ) [ ]
85+ > = T extends ( infer U ) [ ]
8886 ?
8987 | If < Options , 'objAppend' , string , Concat < Options [ 'path' ] , Options [ 'objAppend' ] > , never , T >
9088 | If < Options , 'filter' , 'arrays' | 'all' , Options [ 'path' ] , never , T >
91- | ( NonNullable < U > extends object
89+ | ( NonNullable < U > extends DictOrArray
9290 ? StringPath <
9391 NonNullable < U > ,
9492 {
@@ -100,7 +98,7 @@ type StringPath<
10098 >
10199 : If < Options , 'filter' , 'leaves' | 'all' , `${Options [ 'path' ] } [${number } ]`, never , T > )
102100 : {
103- [ K in Extract < AllKeys < T > , string > ] : NonNullable < T [ K ] > extends object
101+ [ K in Extract < AllKeys < T > , string > ] : NonNullable < T [ K ] > extends DictOrArray
104102 ?
105103 | If <
106104 Options ,
@@ -122,7 +120,7 @@ type StringPath<
122120 never ,
123121 T [ K ]
124122 >
125- : NonNullable < U > extends object
123+ : NonNullable < U > extends DictOrArray
126124 ? IsAny < T [ K ] > extends true
127125 ? Concat < Options [ 'path' ] , `${K } [${number } ]`>
128126 : If <
@@ -141,7 +139,7 @@ type StringPath<
141139 never ,
142140 U
143141 > )
144- | ( NonNullable < U > extends object
142+ | ( NonNullable < U > extends DictOrArray
145143 ? StringPath <
146144 NonNullable < U > ,
147145 {
0 commit comments