UNPKG

react-native-screens

Version:
35 lines (28 loc) 745 B
'use strict'; import { View } from 'react-native'; /* eslint-disable */ type LocalGlobal = typeof global & Record<string, unknown>; export function isFabric() { return !!(global as LocalGlobal).RN$Bridgeless; } export type HostInstance = { __internalInstanceHandle: Record<string, any>; __nativeTag: number; _viewConfig: Record<string, unknown>; }; export function getShadowNodeWrapperAndTagFromRef(ref: View | null): { shadowNodeWrapper: any; tag: number; } { if (!ref) { return { shadowNodeWrapper: null, tag: -1, }; } const internalRef = ref as unknown as HostInstance; return { shadowNodeWrapper: internalRef.__internalInstanceHandle.stateNode.node, tag: internalRef.__nativeTag, }; }