@@ -45,7 +45,9 @@ export function typeOf(object: any) {
45
45
case REACT_ASYNC_MODE_TYPE :
46
46
case REACT_FRAGMENT_TYPE :
47
47
case REACT_STRICT_MODE_TYPE :
48
- return maybeType ;
48
+ if ( getTypeOf ( object ) === REACT_ELEMENT_TYPE ) {
49
+ return maybeType ;
50
+ }
49
51
}
50
52
51
53
maybeType = getTypeTypeOf ( object ) ;
@@ -72,7 +74,10 @@ export const Portal = REACT_PORTAL_TYPE;
72
74
export const StrictMode = REACT_STRICT_MODE_TYPE ;
73
75
74
76
export function isAsyncMode ( object : any ) {
75
- return getType ( object ) === REACT_ASYNC_MODE_TYPE ;
77
+ return (
78
+ getType ( object ) === REACT_ASYNC_MODE_TYPE &&
79
+ getTypeOf ( object ) === REACT_ELEMENT_TYPE
80
+ ) ;
76
81
}
77
82
export function isContextConsumer ( object : any ) {
78
83
return getTypeTypeOf ( object ) === REACT_CONTEXT_TYPE ;
@@ -84,11 +89,17 @@ export function isElement(object: any) {
84
89
return getTypeOf ( object ) === REACT_ELEMENT_TYPE ;
85
90
}
86
91
export function isFragment ( object : any ) {
87
- return getType ( object ) === REACT_FRAGMENT_TYPE ;
92
+ return (
93
+ getType ( object ) === REACT_FRAGMENT_TYPE &&
94
+ getTypeOf ( object ) === REACT_ELEMENT_TYPE
95
+ ) ;
88
96
}
89
97
export function isPortal ( object : any ) {
90
98
return getTypeOf ( object ) === REACT_PORTAL_TYPE ;
91
99
}
92
100
export function isStrictMode ( object : any ) {
93
- return getType ( object ) === REACT_STRICT_MODE_TYPE ;
101
+ return (
102
+ getType ( object ) === REACT_STRICT_MODE_TYPE &&
103
+ getTypeOf ( object ) === REACT_ELEMENT_TYPE
104
+ ) ;
94
105
}
0 commit comments