File tree Expand file tree Collapse file tree 1 file changed +16
-14
lines changed Expand file tree Collapse file tree 1 file changed +16
-14
lines changed Original file line number Diff line number Diff line change @@ -43,22 +43,24 @@ export function isObjectOf<
43
43
...Object . keys ( predObj ) ,
44
44
...Object . getOwnPropertySymbols ( predObj ) ,
45
45
] . map ( ( k ) => [ k , predObj [ k ] ] ) ;
46
- return annotate (
47
- rewriteName (
48
- ( x : unknown ) : x is ObjectOf < T > => {
49
- if (
50
- x == null ||
51
- typeof x !== "object" && typeof x !== "function" ||
52
- Array . isArray ( x )
53
- ) return false ;
54
- return preds . every ( ( [ k , pred ] ) => pred ( ( x as T ) [ k ] ) ) ;
55
- } ,
56
- "isObjectOf" ,
57
- predObj ,
58
- ) ,
59
- "predObj" ,
46
+ const pred = rewriteName (
47
+ ( x ) : x is ObjectOf < T > => {
48
+ if ( ! isRecordT < T > ( x ) ) return false ;
49
+ return preds . every ( ( [ k , pred ] ) => pred ( x [ k ] ) ) ;
50
+ } ,
51
+ "isObjectOf" ,
60
52
predObj ,
61
53
) ;
54
+ return annotate ( pred , "predObj" , predObj ) ;
55
+ }
56
+
57
+ function isRecordT < T extends Record < PropertyKey , Predicate < unknown > > > (
58
+ x : unknown ,
59
+ ) : x is T {
60
+ if ( x == null ) return false ;
61
+ if ( typeof x !== "object" && typeof x !== "function" ) return false ;
62
+ if ( Array . isArray ( x ) ) return false ;
63
+ return true ;
62
64
}
63
65
64
66
type ObjectOf < T extends Record < PropertyKey , Predicate < unknown > > > = FlatType <
You can’t perform that action at this time.
0 commit comments