7
7
* @flow
8
8
*/
9
9
10
- import type { Node , HostComponent } from './ReactNativeTypes' ;
11
- import type { PublicInstance as FabricPublicInstance } from './ReactFiberConfigFabric' ;
12
- import type { PublicInstance as PaperPublicInstance } from './ReactFiberConfigNative' ;
10
+ import type { Node , HostComponent , PublicInstance } from './ReactNativeTypes' ;
13
11
import type { ElementRef , ElementType } from 'react' ;
14
12
15
13
// Modules provided by RN:
@@ -225,6 +223,11 @@ export function getNodeFromInternalInstanceHandle(
225
223
) ;
226
224
}
227
225
226
+ // Should have been PublicInstance from ReactFiberConfigFabric
227
+ type FabricPublicInstance = PublicInstance ;
228
+ // Should have been PublicInstance from ReactFiberConfigNative
229
+ type PaperPublicInstance = HostComponent < mixed > ;
230
+
228
231
// Remove this once Paper is no longer supported and DOM Node API are enabled by default in RN.
229
232
export function isChildPublicInstance (
230
233
parentInstance : FabricPublicInstance | PaperPublicInstance ,
@@ -251,8 +254,10 @@ export function isChildPublicInstance(
251
254
}
252
255
253
256
const parentInternalInstanceHandle =
257
+ // $FlowExpectedError[incompatible-call] PublicInstance from ReactNativeTypes is opaque, treat it as PublicInstance from ReactFiberConfigFabric.
254
258
getInternalInstanceHandleFromPublicInstance ( parentInstance ) ;
255
259
const childInternalInstanceHandle =
260
+ // $FlowExpectedError[incompatible-call] PublicInstance from ReactNativeTypes is opaque, treat it as PublicInstance from ReactFiberConfigFabric.
256
261
getInternalInstanceHandleFromPublicInstance ( childInstance ) ;
257
262
258
263
// Fabric
0 commit comments