react-native 0.68.1 → 0.69.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1008) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  4. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  5. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  6. package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
  7. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  8. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  9. package/Libraries/Animated/animations/TimingAnimation.js +6 -11
  10. package/Libraries/Animated/createAnimatedComponent.js +2 -2
  11. package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
  13. package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
  14. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  15. package/Libraries/AppState/AppState.js +1 -1
  16. package/Libraries/Blob/React-RCTBlob.podspec +2 -2
  17. package/Libraries/Blob/URL.js +7 -1
  18. package/Libraries/Components/Button.js +3 -0
  19. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
  20. package/Libraries/Components/Pressable/Pressable.js +3 -3
  21. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
  22. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
  23. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  24. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
  25. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
  26. package/Libraries/Components/Slider/Slider.js +0 -2
  27. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
  28. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  29. package/Libraries/Components/Switch/Switch.js +11 -1
  30. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
  31. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
  32. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
  33. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  34. package/Libraries/Components/TextInput/TextInput.js +1 -8
  35. package/Libraries/Components/TextInput/TextInputState.js +10 -2
  36. package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
  37. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
  38. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  39. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
  40. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
  41. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  42. package/Libraries/Components/View/ViewNativeComponent.js +68 -8
  43. package/Libraries/Components/View/ViewPropTypes.js +36 -4
  44. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  45. package/Libraries/Core/ExceptionsManager.js +1 -1
  46. package/Libraries/Core/RawEventEmitter.js +38 -0
  47. package/Libraries/Core/ReactNativeVersion.js +3 -3
  48. package/Libraries/Core/polyfillPromise.js +32 -0
  49. package/Libraries/Core/setUpReactDevTools.js +3 -2
  50. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  51. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  52. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
  53. package/Libraries/Events/CustomEvent.js +32 -0
  54. package/Libraries/Events/EventPolyfill.js +239 -0
  55. package/Libraries/FBLazyVector/BUCK +4 -1
  56. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  57. package/Libraries/Image/Image.android.js +0 -6
  58. package/Libraries/Image/Image.ios.js +0 -6
  59. package/Libraries/Image/ImageViewNativeComponent.js +18 -3
  60. package/Libraries/Image/RCTImageBlurUtils.m +8 -5
  61. package/Libraries/Image/RCTImageCache.h +3 -0
  62. package/Libraries/Image/RCTImageCache.m +8 -2
  63. package/Libraries/Image/RCTImageLoader.mm +14 -4
  64. package/Libraries/Image/RCTImageUtils.m +8 -7
  65. package/Libraries/Image/RCTUIImageViewAnimated.m +1 -1
  66. package/Libraries/Image/React-RCTImage.podspec +2 -2
  67. package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
  68. package/Libraries/Inspector/Inspector.js +2 -4
  69. package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
  70. package/Libraries/Interaction/InteractionManager.js +1 -12
  71. package/Libraries/Interaction/TaskQueue.js +5 -4
  72. package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
  73. package/Libraries/Linking/Linking.js +1 -1
  74. package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
  75. package/Libraries/Lists/FlatList.js +27 -6
  76. package/Libraries/Lists/VirtualizedList.js +71 -55
  77. package/Libraries/Lists/VirtualizedListContext.js +7 -3
  78. package/Libraries/Lists/VirtualizedSectionList.js +2 -2
  79. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  80. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  81. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  82. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  83. package/Libraries/LogBox/LogBox.js +2 -21
  84. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
  85. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
  86. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +2 -2
  87. package/{ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp → Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h} +6 -4
  88. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +30 -0
  89. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +11 -6
  90. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +8 -4
  91. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +8 -0
  92. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +3 -0
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +8 -0
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +8 -0
  95. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
  96. package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
  97. package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
  98. package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
  99. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
  100. package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
  101. package/Libraries/NativeComponent/ViewConfig.js +4 -4
  102. package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
  103. package/Libraries/Network/FormData.js +7 -1
  104. package/Libraries/Network/React-RCTNetwork.podspec +2 -2
  105. package/Libraries/Pressability/Pressability.js +115 -46
  106. package/Libraries/Pressability/PressabilityDebug.js +5 -9
  107. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  108. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +21 -9
  109. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
  110. package/Libraries/RCTRequired/BUCK +4 -1
  111. package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
  112. package/Libraries/ReactNative/AppContainer.js +1 -1
  113. package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
  114. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
  115. package/Libraries/ReactNative/UIManager.js +2 -3
  116. package/Libraries/ReactNative/renderApplication.js +4 -0
  117. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
  118. package/Libraries/Renderer/REVISION +1 -1
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
  120. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
  121. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
  123. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
  124. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
  125. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  126. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
  127. package/Libraries/Settings/React-RCTSettings.podspec +2 -2
  128. package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
  129. package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
  130. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  131. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  132. package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
  133. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +2 -0
  134. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +20 -11
  135. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +3 -3
  136. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +2 -4
  137. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -2
  138. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +2 -3
  139. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +16 -3
  140. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +26 -10
  141. package/Libraries/Text/React-RCTText.podspec +1 -1
  142. package/Libraries/Text/Text.js +13 -7
  143. package/Libraries/Text/TextNativeComponent.js +2 -0
  144. package/Libraries/Text/TextProps.js +10 -0
  145. package/Libraries/TypeSafety/RCTConvertHelpers.h +10 -9
  146. package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
  147. package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -8
  148. package/Libraries/Types/CoreEventTypes.js +13 -1
  149. package/Libraries/Utilities/Appearance.js +0 -8
  150. package/Libraries/Utilities/HMRClient.js +1 -1
  151. package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
  152. package/Libraries/Utilities/codegenNativeComponent.js +17 -6
  153. package/Libraries/Utilities/stringifySafe.js +4 -1
  154. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
  155. package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
  156. package/Libraries/WebSocket/WebSocket.js +1 -1
  157. package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
  158. package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
  159. package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
  160. package/React/Base/RCTAssert.h +36 -15
  161. package/React/Base/RCTAssert.m +65 -19
  162. package/React/Base/RCTBridge.m +2 -4
  163. package/React/Base/RCTBridgeModule.h +3 -0
  164. package/React/Base/RCTBridgeModuleDecorator.h +35 -0
  165. package/React/Base/RCTBridgeModuleDecorator.m +73 -0
  166. package/React/Base/RCTConstants.h +18 -0
  167. package/React/Base/RCTConstants.m +46 -0
  168. package/React/Base/RCTJavaScriptLoader.h +1 -4
  169. package/React/Base/RCTJavaScriptLoader.mm +11 -17
  170. package/React/Base/RCTLog.h +17 -0
  171. package/React/Base/RCTLog.mm +31 -2
  172. package/React/Base/RCTModuleData.mm +8 -74
  173. package/React/Base/RCTVersion.m +3 -3
  174. package/React/Base/RCTViewRegistry.m +24 -0
  175. package/React/Base/Surface/RCTSurface.mm +2 -1
  176. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +0 -1
  177. package/React/CoreModules/BUCK +1 -0
  178. package/React/CoreModules/RCTAccessibilityManager.mm +2 -2
  179. package/React/CoreModules/RCTActionSheetManager.mm +38 -9
  180. package/React/CoreModules/RCTDevMenu.h +5 -0
  181. package/React/CoreModules/RCTDevMenu.mm +68 -25
  182. package/React/CoreModules/RCTDeviceInfo.mm +17 -11
  183. package/React/CoreModules/RCTEventDispatcher.mm +2 -2
  184. package/React/CoreModules/RCTExceptionsManager.h +5 -3
  185. package/React/CoreModules/RCTExceptionsManager.mm +44 -12
  186. package/React/CoreModules/RCTFPSGraph.m +3 -3
  187. package/React/CoreModules/RCTLogBox.mm +17 -9
  188. package/React/CoreModules/RCTLogBoxView.h +3 -1
  189. package/React/CoreModules/RCTLogBoxView.mm +40 -11
  190. package/React/CoreModules/RCTPlatform.mm +2 -0
  191. package/React/CoreModules/RCTRedBox.mm +2 -2
  192. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  193. package/React/CoreModules/React-CoreModules.podspec +2 -2
  194. package/React/CxxBridge/RCTCxxBridge.mm +25 -58
  195. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +2 -2
  196. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -0
  197. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +77 -19
  198. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -1
  199. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +28 -7
  200. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -0
  201. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  202. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -3
  203. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -2
  204. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +9 -3
  205. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -2
  206. package/React/Fabric/Mounting/RCTMountingManager.mm +13 -6
  207. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -3
  208. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +10 -8
  209. package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +5 -3
  210. package/React/Fabric/RCTConversions.h +9 -1
  211. package/React/Fabric/RCTLocalizationProvider.mm +10 -4
  212. package/React/Fabric/RCTScheduler.h +7 -0
  213. package/React/Fabric/RCTScheduler.mm +15 -0
  214. package/React/Fabric/RCTSurfacePresenter.h +8 -0
  215. package/React/Fabric/RCTSurfacePresenter.mm +65 -15
  216. package/React/Fabric/RCTSurfaceTouchHandler.mm +158 -0
  217. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  218. package/React/Modules/RCTSurfacePresenterStub.h +4 -0
  219. package/React/Modules/RCTUIManager.m +26 -1
  220. package/React/React-RCTFabric.podspec +2 -2
  221. package/React/Views/RCTBorderDrawing.m +176 -173
  222. package/React/Views/RCTComponent.h +1 -0
  223. package/React/Views/RCTComponentData.m +11 -1
  224. package/React/Views/RCTDatePickerManager.m +5 -6
  225. package/React/Views/RCTModalHostView.h +1 -1
  226. package/React/Views/RCTView.h +10 -0
  227. package/React/Views/RCTView.m +34 -17
  228. package/React/Views/RCTViewManager.m +37 -2
  229. package/React/Views/UIView+React.h +1 -0
  230. package/React/Views/UIView+React.m +11 -0
  231. package/React/third-party.xcconfig +1 -1
  232. package/React-Core.podspec +1 -1
  233. package/React.podspec +1 -1
  234. package/ReactAndroid/.npmignore +6 -2
  235. package/ReactAndroid/Android-prebuilt.mk +7 -13
  236. package/ReactAndroid/build.gradle +76 -85
  237. package/ReactAndroid/gradle.properties +3 -2
  238. package/ReactAndroid/hermes-engine/.npmignore +3 -0
  239. package/ReactAndroid/hermes-engine/build.gradle +261 -0
  240. package/ReactAndroid/hermes-engine/gradle.properties +1 -0
  241. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +4 -0
  242. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +13 -0
  243. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +8 -0
  244. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +4 -1
  245. package/ReactAndroid/src/androidTest/js/BUCK +4 -1
  246. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +4 -1
  247. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +4 -1
  248. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -5
  249. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +8 -2
  250. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/CMakeLists.txt +31 -0
  251. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +32 -32
  252. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt +41 -0
  253. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -0
  254. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +33 -1
  256. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -27
  257. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +1 -1
  258. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +1 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +89 -12
  260. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +15 -0
  261. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +6 -1
  262. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +131 -0
  263. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +116 -45
  264. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +17 -0
  265. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +14 -0
  266. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +2 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +2 -1
  268. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +8 -2
  269. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +4 -0
  271. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +12 -1
  272. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +2 -1
  273. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +27 -0
  274. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +6 -0
  275. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -1
  276. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +3 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +8 -2
  278. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +170 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +33 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +298 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +170 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -2
  283. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +4 -1
  284. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/CMakeLists.txt +34 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/.clang-tidy +3 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JReadableMapBuffer.cpp +43 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/{ReadableMapBuffer.h → JReadableMapBuffer.h} +5 -3
  288. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.cpp +65 -0
  289. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.h +23 -0
  290. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +3 -2
  291. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +4 -1
  292. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +4 -1
  293. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +18 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +8 -2
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +1 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +1 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +42 -51
  298. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +1 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +17 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
  301. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +5 -4
  302. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxDialog.java → RedBoxContentView.java} +38 -29
  303. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +126 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +7 -0
  305. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxHandler.java → interfaces/RedBoxHandler.java} +1 -3
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +11 -5
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +148 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +1 -1
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +2 -2
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +42 -29
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +5 -2
  312. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +2 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +1 -2
  314. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/{AsyncEventBeatV2.cpp → AsyncEventBeat.cpp} +6 -6
  315. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +8 -40
  316. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +6 -3
  317. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +55 -36
  318. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +3 -2
  319. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt +70 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +2 -15
  321. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -4
  322. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +5 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +3 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +65 -71
  325. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +11 -9
  326. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp +18 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h +25 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
  329. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +4 -4
  330. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +2 -2
  331. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +527 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +19 -22
  333. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +93 -29
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -9
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +2 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +2 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +1 -1
  338. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +4 -1
  339. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +23 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +4 -1
  341. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +8 -2
  342. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +4 -1
  343. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +4 -1
  344. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +6 -1
  345. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +11 -1
  346. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +4 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +4 -1
  348. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +4 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +4 -1
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +4 -1
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +1 -1
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +4 -1
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt +22 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +4 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +4 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +4 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +16 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +4 -1
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +8 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +4 -1
  362. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +4 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +4 -1
  364. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +4 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +4 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +4 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +8 -5
  368. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +4 -1
  369. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +7 -5
  370. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +4 -1
  371. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +9 -2
  372. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +4 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +7 -7
  374. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +4 -1
  375. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +4 -1
  376. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +4 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -1
  378. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +20 -8
  379. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +4 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +8 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  382. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +4 -1
  383. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +4 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +4 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +4 -1
  386. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +4 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt +24 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +4 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +4 -1
  392. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +4 -1
  393. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +8 -2
  394. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +4 -1
  395. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +1 -1
  396. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +8 -2
  397. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt +62 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +3 -3
  399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +45 -7
  400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +148 -7
  401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerDelegate.java → BaseViewManagerDelegate.java} +0 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerInterface.java → BaseViewManagerInterface.java} +0 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/FloatUtil.java → FloatUtil.java} +0 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +331 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +3 -3
  406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +265 -21
  407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -6
  408. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/Spacing.java → Spacing.java} +0 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
  410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +57 -12
  411. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -11
  412. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +3 -3
  413. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +42 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewManagerDelegate.java → ViewManagerDelegate.java} +0 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewProps.java → ViewProps.java} +0 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +4 -1
  417. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -1
  418. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +7 -1
  419. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +5 -1
  420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +180 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +75 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +4 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt +26 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +4 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +4 -1
  427. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +5 -4
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +4 -1
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +4 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +8 -3
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +3 -91
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +8 -2
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +2 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -1
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +35 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +4 -1
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -1
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +57 -17
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +10 -7
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +60 -20
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +45 -11
  442. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -7
  443. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +10 -10
  444. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +4 -1
  445. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +7 -2
  446. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +4 -1
  447. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +4 -1
  448. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +12 -3
  449. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +14 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +3 -6
  451. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +5 -0
  452. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +45 -9
  454. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -31
  455. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +21 -17
  456. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -31
  457. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +4 -1
  458. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +4 -1
  459. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +9 -4
  460. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +12 -2
  461. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
  462. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +4 -1
  463. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +11 -2
  464. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +19 -0
  465. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +468 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferViewManager.kt +76 -0
  467. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +4 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +90 -0
  470. package/ReactAndroid/src/main/jni/CMakeLists.txt +102 -0
  471. package/ReactAndroid/src/main/jni/first-party/fb/BUCK +1 -1
  472. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +28 -0
  473. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +15 -0
  474. package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +15 -0
  475. package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +13 -0
  476. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +20 -0
  477. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
  478. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
  479. package/ReactAndroid/src/main/jni/react/jni/Android.mk +12 -5
  480. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -1
  481. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +72 -0
  482. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +63 -32
  483. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  484. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +10 -0
  485. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +3 -1
  486. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +10 -0
  487. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
  488. package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +3 -3
  489. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +22 -0
  490. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/jump_arm64_aapcs_elf_gas.S +0 -0
  491. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/make_arm64_aapcs_elf_gas.S +0 -0
  492. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/ontop_arm64_aapcs_elf_gas.S +0 -0
  493. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/jump_arm_aapcs_elf_gas.S +0 -0
  494. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/make_arm_aapcs_elf_gas.S +0 -0
  495. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/ontop_arm_aapcs_elf_gas.S +0 -0
  496. package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +23 -0
  497. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +13 -0
  498. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +31 -31
  499. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +126 -0
  500. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +35 -0
  501. package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +15 -0
  502. package/ReactAndroid/src/main/jni/third-party/libevent/CMakeLists.txt +42 -0
  503. package/ReactAndroid/src/main/res/shell/values/styles.xml +3 -2
  504. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  505. package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +62 -0
  506. package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +5 -2
  507. package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +9 -0
  508. package/ReactAndroid/src/test/resources/BUCK +1 -0
  509. package/ReactCommon/React-Fabric.podspec +1 -1
  510. package/ReactCommon/React-rncore.podspec +1 -1
  511. package/ReactCommon/ReactCommon.podspec +4 -3
  512. package/ReactCommon/butter/Android.mk +0 -2
  513. package/ReactCommon/butter/BUCK +4 -1
  514. package/ReactCommon/butter/CMakeLists.txt +20 -0
  515. package/ReactCommon/callinvoker/BUCK +4 -1
  516. package/ReactCommon/callinvoker/CMakeLists.txt +13 -0
  517. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  518. package/ReactCommon/cxxreact/Android.mk +5 -2
  519. package/ReactCommon/cxxreact/BUCK +16 -4
  520. package/ReactCommon/cxxreact/CMakeLists.txt +29 -0
  521. package/ReactCommon/cxxreact/Instance.cpp +0 -35
  522. package/ReactCommon/cxxreact/Instance.h +0 -3
  523. package/ReactCommon/cxxreact/JSBundleType.cpp +13 -8
  524. package/ReactCommon/cxxreact/JSBundleType.h +15 -11
  525. package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
  526. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  527. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  528. package/ReactCommon/cxxreact/tests/BUCK +1 -1
  529. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  530. package/ReactCommon/hermes/executor/Android.mk +20 -19
  531. package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
  532. package/ReactCommon/hermes/inspector/Android.mk +5 -4
  533. package/ReactCommon/hermes/inspector/CMakeLists.txt +32 -0
  534. package/ReactCommon/hermes/inspector/Exceptions.h +6 -0
  535. package/ReactCommon/hermes/inspector/Inspector.cpp +5 -2
  536. package/ReactCommon/hermes/inspector/Inspector.h +14 -0
  537. package/ReactCommon/hermes/inspector/InspectorState.cpp +16 -8
  538. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +398 -1
  539. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +266 -12
  540. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +140 -2
  541. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +21 -0
  542. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +27 -0
  543. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +298 -7
  544. package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1071 -1
  545. package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
  546. package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
  547. package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
  548. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +14 -1
  549. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
  550. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +17 -2
  551. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +4 -4
  552. package/ReactCommon/hermes/inspector/tools/run_msggen +17 -12
  553. package/ReactCommon/jsi/Android.mk +2 -2
  554. package/ReactCommon/jsi/BUCK +12 -3
  555. package/ReactCommon/jsi/CMakeLists.txt +43 -0
  556. package/ReactCommon/jsi/JSCRuntime.cpp +8 -0
  557. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  558. package/ReactCommon/jsi/jsi/decorator.h +3 -0
  559. package/ReactCommon/jsi/jsi/jsi.cpp +11 -0
  560. package/ReactCommon/jsi/jsi/jsi.h +24 -4
  561. package/ReactCommon/jsi/jsi/jsilib.h +1 -1
  562. package/ReactCommon/jsi/jsi/test/testlib.cpp +3 -1
  563. package/ReactCommon/jsiexecutor/Android.mk +1 -1
  564. package/ReactCommon/jsiexecutor/BUCK +4 -1
  565. package/ReactCommon/jsiexecutor/CMakeLists.txt +23 -0
  566. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  567. package/ReactCommon/jsinspector/BUCK +4 -1
  568. package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
  569. package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
  570. package/ReactCommon/logger/BUCK +4 -1
  571. package/ReactCommon/logger/CMakeLists.txt +16 -0
  572. package/ReactCommon/logger/React-logger.podspec +1 -1
  573. package/ReactCommon/microprofiler/BUCK +5 -2
  574. package/ReactCommon/react/bridging/AString.h +42 -0
  575. package/ReactCommon/react/bridging/Android.mk +27 -0
  576. package/ReactCommon/react/bridging/Array.h +108 -0
  577. package/ReactCommon/react/bridging/BUCK +57 -0
  578. package/ReactCommon/react/bridging/Base.h +154 -0
  579. package/ReactCommon/react/bridging/Bool.h +25 -0
  580. package/ReactCommon/react/bridging/Bridging.h +19 -0
  581. package/ReactCommon/react/bridging/CMakeLists.txt +17 -0
  582. package/ReactCommon/react/bridging/CallbackWrapper.h +103 -0
  583. package/ReactCommon/react/bridging/Class.h +71 -0
  584. package/ReactCommon/react/bridging/Convert.h +153 -0
  585. package/ReactCommon/react/bridging/Error.h +51 -0
  586. package/ReactCommon/react/bridging/Function.h +214 -0
  587. package/ReactCommon/react/{nativemodule/core/ReactCommon → bridging}/LongLivedObject.cpp +5 -0
  588. package/ReactCommon/react/bridging/LongLivedObject.h +58 -0
  589. package/ReactCommon/react/bridging/Number.h +47 -0
  590. package/ReactCommon/react/bridging/Object.h +100 -0
  591. package/ReactCommon/react/bridging/Promise.h +102 -0
  592. package/ReactCommon/react/bridging/React-bridging.podspec +41 -0
  593. package/ReactCommon/react/bridging/Value.h +107 -0
  594. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +407 -0
  595. package/ReactCommon/react/bridging/tests/BridgingTest.h +77 -0
  596. package/ReactCommon/react/bridging/tests/ClassTest.cpp +97 -0
  597. package/ReactCommon/react/config/BUCK +4 -1
  598. package/ReactCommon/react/config/CMakeLists.txt +19 -0
  599. package/ReactCommon/react/debug/Android.mk +1 -1
  600. package/ReactCommon/react/debug/BUCK +4 -1
  601. package/ReactCommon/react/debug/CMakeLists.txt +22 -0
  602. package/ReactCommon/react/debug/react_native_assert.h +1 -1
  603. package/ReactCommon/react/nativemodule/core/Android.mk +7 -4
  604. package/ReactCommon/react/nativemodule/core/BUCK +5 -1
  605. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +32 -0
  606. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +2 -48
  607. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +0 -23
  608. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +18 -2
  609. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -83
  610. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +3 -1
  611. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +17 -7
  612. package/ReactCommon/react/nativemodule/samples/BUCK +4 -1
  613. package/ReactCommon/react/renderer/animations/Android.mk +1 -2
  614. package/ReactCommon/react/renderer/animations/BUCK +4 -1
  615. package/ReactCommon/react/renderer/animations/CMakeLists.txt +32 -0
  616. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +6 -6
  617. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -3
  618. package/ReactCommon/react/renderer/animations/conversions.h +11 -11
  619. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +1 -1
  620. package/ReactCommon/react/renderer/attributedstring/Android.mk +1 -2
  621. package/ReactCommon/react/renderer/attributedstring/BUCK +4 -1
  622. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +29 -0
  623. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +16 -16
  624. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +14 -14
  625. package/ReactCommon/react/renderer/attributedstring/conversions.h +13 -11
  626. package/ReactCommon/react/renderer/componentregistry/Android.mk +2 -2
  627. package/ReactCommon/react/renderer/componentregistry/BUCK +4 -1
  628. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +24 -0
  629. package/ReactCommon/react/renderer/componentregistry/native/Android.mk +1 -2
  630. package/ReactCommon/react/renderer/componentregistry/native/BUCK +4 -1
  631. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +24 -0
  632. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  633. package/ReactCommon/react/renderer/components/image/BUCK +4 -1
  634. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +29 -0
  635. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -1
  636. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +4 -1
  637. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +16 -2
  638. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -1
  639. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +16 -11
  640. package/ReactCommon/react/renderer/components/modal/Android.mk +1 -1
  641. package/ReactCommon/react/renderer/components/modal/BUCK +4 -1
  642. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +31 -0
  643. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -1
  644. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
  645. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
  646. package/ReactCommon/react/renderer/components/progressbar/Android.mk +1 -2
  647. package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -1
  648. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +34 -0
  649. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
  650. package/ReactCommon/react/renderer/components/root/Android.mk +1 -2
  651. package/ReactCommon/react/renderer/components/root/BUCK +4 -1
  652. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +26 -0
  653. package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -1
  654. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -2
  655. package/ReactCommon/react/renderer/components/scrollview/BUCK +4 -1
  656. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +28 -0
  657. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -2
  658. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
  659. package/ReactCommon/react/renderer/components/slider/Android.mk +1 -2
  660. package/ReactCommon/react/renderer/components/slider/BUCK +4 -1
  661. package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +38 -0
  662. package/ReactCommon/react/renderer/components/switch/Android.mk +1 -2
  663. package/ReactCommon/react/renderer/components/switch/BUCK +4 -1
  664. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +44 -0
  665. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  666. package/ReactCommon/react/renderer/components/text/BUCK +4 -1
  667. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +33 -0
  668. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +1 -1
  669. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  670. package/ReactCommon/react/renderer/components/textinput/BUCK +4 -1
  671. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +40 -0
  672. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +6 -6
  673. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +1 -1
  674. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -1
  675. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +1 -1
  676. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +1 -1
  677. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +3 -4
  678. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -2
  679. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -1
  680. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +27 -0
  681. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +41 -6
  682. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -0
  683. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +5 -0
  684. package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
  685. package/ReactCommon/react/renderer/components/view/BUCK +5 -3
  686. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +26 -0
  687. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +35 -0
  688. package/ReactCommon/react/renderer/components/view/PointerEvent.h +59 -0
  689. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +76 -2
  690. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +14 -1
  691. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
  692. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
  693. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +46 -22
  694. package/ReactCommon/react/renderer/components/view/ViewProps.h +18 -7
  695. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -3
  696. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +46 -3
  697. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +13 -1
  698. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +38 -27
  699. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  700. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -1
  701. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +33 -0
  702. package/ReactCommon/react/renderer/components/view/conversions.h +5 -6
  703. package/ReactCommon/react/renderer/components/view/primitives.h +96 -3
  704. package/ReactCommon/react/renderer/components/view/propsConversions.h +191 -0
  705. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +201 -24
  706. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +3 -3
  707. package/ReactCommon/react/renderer/core/Android.mk +1 -2
  708. package/ReactCommon/react/renderer/core/BUCK +4 -3
  709. package/ReactCommon/react/renderer/core/CMakeLists.txt +22 -0
  710. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +12 -0
  711. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +21 -0
  712. package/ReactCommon/react/renderer/core/EventDispatcher.h +15 -0
  713. package/ReactCommon/react/renderer/core/EventEmitter.cpp +15 -12
  714. package/ReactCommon/react/renderer/core/EventEmitter.h +5 -6
  715. package/ReactCommon/react/renderer/core/EventListener.cpp +39 -0
  716. package/ReactCommon/react/renderer/core/EventListener.h +44 -0
  717. package/ReactCommon/react/renderer/core/Props.cpp +5 -2
  718. package/ReactCommon/react/renderer/core/Props.h +2 -1
  719. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  720. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +1 -1
  721. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -6
  722. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -1
  723. package/ReactCommon/react/renderer/core/propsConversions.h +6 -5
  724. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +10 -12
  725. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +3 -3
  726. package/ReactCommon/react/renderer/debug/Android.mk +1 -1
  727. package/ReactCommon/react/renderer/debug/BUCK +4 -1
  728. package/ReactCommon/react/renderer/debug/CMakeLists.txt +15 -0
  729. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
  730. package/ReactCommon/react/renderer/element/BUCK +4 -1
  731. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  732. package/ReactCommon/react/renderer/graphics/Android.mk +1 -2
  733. package/ReactCommon/react/renderer/graphics/BUCK +4 -1
  734. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +25 -0
  735. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  736. package/ReactCommon/react/renderer/graphics/Transform.cpp +8 -0
  737. package/ReactCommon/react/renderer/graphics/Transform.h +9 -3
  738. package/ReactCommon/react/renderer/graphics/conversions.h +1 -11
  739. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +1 -1
  740. package/ReactCommon/react/renderer/imagemanager/Android.mk +1 -1
  741. package/ReactCommon/react/renderer/imagemanager/BUCK +4 -1
  742. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +34 -0
  743. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
  744. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  745. package/ReactCommon/react/renderer/leakchecker/BUCK +4 -1
  746. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -0
  747. package/ReactCommon/react/renderer/mapbuffer/BUCK +4 -1
  748. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +15 -0
  749. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +8 -8
  750. package/ReactCommon/react/renderer/mounting/Android.mk +1 -2
  751. package/ReactCommon/react/renderer/mounting/BUCK +4 -1
  752. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +31 -0
  753. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
  754. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +3 -3
  755. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  756. package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
  757. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
  758. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +4 -1
  759. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +0 -2
  760. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
  761. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +7 -10
  762. package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -7
  763. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  764. package/ReactCommon/react/renderer/runtimescheduler/BUCK +4 -1
  765. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +21 -0
  766. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +55 -40
  767. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +26 -1
  768. package/ReactCommon/react/renderer/runtimescheduler/Task.h +3 -2
  769. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +48 -3
  770. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +9 -0
  771. package/ReactCommon/react/renderer/scheduler/Android.mk +1 -2
  772. package/ReactCommon/react/renderer/scheduler/BUCK +4 -1
  773. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +34 -0
  774. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +41 -6
  775. package/ReactCommon/react/renderer/scheduler/Scheduler.h +10 -1
  776. package/ReactCommon/react/renderer/telemetry/Android.mk +1 -2
  777. package/ReactCommon/react/renderer/telemetry/BUCK +4 -1
  778. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +27 -0
  779. package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -2
  780. package/ReactCommon/react/renderer/templateprocessor/BUCK +4 -1
  781. package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +26 -0
  782. package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +1 -2
  783. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -1
  784. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +45 -0
  785. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +142 -10
  786. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -11
  787. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +0 -2
  788. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -1
  789. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +26 -9
  790. package/ReactCommon/react/renderer/uimanager/Android.mk +1 -2
  791. package/ReactCommon/react/renderer/uimanager/BUCK +4 -1
  792. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +32 -0
  793. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +8 -9
  794. package/ReactCommon/react/renderer/uimanager/UIManager.h +10 -13
  795. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +6 -5
  796. package/ReactCommon/react/test_utils/BUCK +4 -1
  797. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +2 -2
  798. package/ReactCommon/react/utils/Android.mk +1 -3
  799. package/ReactCommon/react/utils/BUCK +4 -1
  800. package/ReactCommon/react/utils/CMakeLists.txt +24 -0
  801. package/ReactCommon/react/utils/ContextContainer.h +2 -2
  802. package/ReactCommon/react/utils/ManagedObjectWrapper.h +4 -0
  803. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +2 -2
  804. package/ReactCommon/react/utils/Telemetry.h +2 -2
  805. package/ReactCommon/reactperflogger/BUCK +4 -1
  806. package/ReactCommon/reactperflogger/CMakeLists.txt +14 -0
  807. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  808. package/ReactCommon/runtimeexecutor/BUCK +4 -1
  809. package/ReactCommon/runtimeexecutor/CMakeLists.txt +17 -0
  810. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  811. package/ReactCommon/yoga/CMakeLists.txt +16 -0
  812. package/ReactCommon/yoga/Yoga-umbrella.h +21 -0
  813. package/ReactCommon/yoga/Yoga.modulemap +6 -0
  814. package/ReactCommon/yoga/Yoga.podspec +21 -7
  815. package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
  816. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar +0 -0
  817. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.md5 +1 -0
  818. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.sha1 +1 -0
  819. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.sha256 +1 -0
  820. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.sha512 +1 -0
  821. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar +0 -0
  822. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.md5 +1 -0
  823. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.sha1 +1 -0
  824. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.sha256 +1 -0
  825. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.sha512 +1 -0
  826. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar +0 -0
  827. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.md5 +1 -0
  828. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.sha1 +1 -0
  829. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.sha256 +1 -0
  830. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.sha512 +1 -0
  831. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar +0 -0
  832. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.md5 +1 -0
  833. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.sha1 +1 -0
  834. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.sha256 +1 -0
  835. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.sha512 +1 -0
  836. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar +0 -0
  837. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.md5 +1 -0
  838. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.sha1 +1 -0
  839. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.sha256 +1 -0
  840. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.sha512 +1 -0
  841. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar +0 -0
  842. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.md5 +1 -0
  843. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.sha1 +1 -0
  844. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.sha256 +1 -0
  845. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.sha512 +1 -0
  846. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module +246 -0
  847. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.md5 +1 -0
  848. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.sha1 +1 -0
  849. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.sha256 +1 -0
  850. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.sha512 +1 -0
  851. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom +44 -0
  852. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.md5 +1 -0
  853. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.sha1 +1 -0
  854. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.sha256 +1 -0
  855. package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.sha512 +1 -0
  856. package/android/com/facebook/react/hermes-engine/maven-metadata.xml +13 -0
  857. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -0
  858. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -0
  859. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -0
  860. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -0
  861. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar +0 -0
  862. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.md5 +1 -0
  863. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.sha1 +1 -0
  864. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.sha256 +1 -0
  865. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.sha512 +1 -0
  866. package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1-sources.jar → 0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar} +0 -0
  867. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.md5 +1 -0
  868. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.sha1 +1 -0
  869. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.sha256 +1 -0
  870. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.sha512 +1 -0
  871. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar +0 -0
  872. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.md5 +1 -0
  873. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.sha1 +1 -0
  874. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.sha256 +1 -0
  875. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.sha512 +1 -0
  876. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar +0 -0
  877. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.md5 +1 -0
  878. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.sha1 +1 -0
  879. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.sha256 +1 -0
  880. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.sha512 +1 -0
  881. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar +0 -0
  882. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.md5 +1 -0
  883. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.sha1 +1 -0
  884. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.sha256 +1 -0
  885. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.sha512 +1 -0
  886. package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.aar → 0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar} +0 -0
  887. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.md5 +1 -0
  888. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.sha1 +1 -0
  889. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.sha256 +1 -0
  890. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.sha512 +1 -0
  891. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module +670 -0
  892. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.md5 +1 -0
  893. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.sha1 +1 -0
  894. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.sha256 +1 -0
  895. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.sha512 +1 -0
  896. package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.pom → 0.69.0-rc.0/react-native-0.69.0-rc.0.pom} +32 -3
  897. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.md5 +1 -0
  898. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.sha1 +1 -0
  899. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.sha256 +1 -0
  900. package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.sha512 +1 -0
  901. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  902. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  903. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  904. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  905. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  906. package/index.js +30 -25
  907. package/jest/preprocessor.js +24 -107
  908. package/jest/preprocessor_DO_NOT_USE.js +122 -0
  909. package/package.json +23 -20
  910. package/react-native.config.js +1 -3
  911. package/react.gradle +47 -23
  912. package/scripts/{find-node.sh → find-node-for-xcode.sh} +11 -0
  913. package/scripts/generate-artifacts.js +16 -6
  914. package/scripts/packager.sh +1 -1
  915. package/scripts/react-native-xcode.sh +0 -4
  916. package/scripts/react_native_pods.rb +125 -12
  917. package/scripts/react_native_pods_utils/script_phases.rb +2 -2
  918. package/scripts/react_native_pods_utils/script_phases.sh +4 -5
  919. package/scripts/xcode/with-environment.sh +47 -0
  920. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  921. package/sdks/hermesc/osx-bin/hermesc +0 -0
  922. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  923. package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
  924. package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
  925. package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
  926. package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
  927. package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
  928. package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
  929. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  930. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  931. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  932. package/template/Gemfile +1 -1
  933. package/template/_flowconfig +1 -2
  934. package/template/_gitignore +5 -3
  935. package/template/_ruby-version +1 -1
  936. package/template/android/app/build.gradle +11 -12
  937. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +9 -1
  938. package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +2 -2
  939. package/template/android/app/src/main/jni/Android.mk +2 -3
  940. package/template/android/build.gradle +2 -2
  941. package/template/android/settings.gradle +2 -0
  942. package/template/ios/HelloWorld/AppDelegate.mm +26 -1
  943. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +7 -5
  944. package/template/ios/Podfile +1 -1
  945. package/template/ios/_xcode.env +11 -0
  946. package/template/package.json +4 -4
  947. package/third-party-podspecs/DoubleConversion.podspec +1 -1
  948. package/third-party-podspecs/glog.podspec +1 -1
  949. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
  950. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
  951. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  952. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
  953. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  954. package/Libraries/ReactNative/UIManagerInjection.js +0 -15
  955. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
  956. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
  957. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
  958. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
  959. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
  960. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
  961. package/React/Views/RCTWeakViewHolder.h +0 -19
  962. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +0 -388
  963. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +0 -33
  964. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +0 -48
  965. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +0 -40
  966. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +0 -21
  967. package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +0 -10
  968. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +0 -731
  969. package/ReactAndroid/src/main/third-party/java/asm/BUCK +0 -75
  970. package/ReactAndroid/src/main/third-party/java/assertj/BUCK +0 -14
  971. package/ReactAndroid/src/main/third-party/java/buck-android-support/BUCK +0 -11
  972. package/ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar +0 -0
  973. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +0 -14
  974. package/ReactAndroid/src/main/third-party/java/javapoet/BUCK +0 -14
  975. package/ReactAndroid/src/main/third-party/java/jsr-305/BUCK +0 -13
  976. package/ReactAndroid/src/main/third-party/java/jsr-330/BUCK +0 -13
  977. package/ReactAndroid/src/main/third-party/java/junit/BUCK +0 -36
  978. package/ReactAndroid/src/main/third-party/java/mockito/BUCK +0 -36
  979. package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +0 -75
  980. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +0 -46
  981. package/ReactAndroid/src/main/third-party/java/okio/BUCK +0 -24
  982. package/ReactAndroid/src/main/third-party/java/robolectric/BUCK +0 -218
  983. package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +0 -23
  984. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -13
  985. package/ReactAndroid/src/main/third-party/kotlin/BUCK +0 -91
  986. package/ReactCommon/butter/optional.h +0 -38
  987. package/ReactCommon/common.mk +0 -29
  988. package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +0 -32
  989. package/ReactCommon/react/utils/LayoutManager.h +0 -150
  990. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.md5 +0 -1
  991. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha1 +0 -1
  992. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha256 +0 -1
  993. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha512 +0 -1
  994. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.md5 +0 -1
  995. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha1 +0 -1
  996. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha256 +0 -1
  997. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha512 +0 -1
  998. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module +0 -272
  999. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.md5 +0 -1
  1000. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha1 +0 -1
  1001. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha256 +0 -1
  1002. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha512 +0 -1
  1003. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.md5 +0 -1
  1004. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha1 +0 -1
  1005. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha256 +0 -1
  1006. package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha512 +0 -1
  1007. package/flow/Promise.js +0 -47
  1008. package/template/Gemfile.lock +0 -100
@@ -0,0 +1,102 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <react/bridging/Error.h>
11
+ #include <react/bridging/Function.h>
12
+ #include <react/bridging/LongLivedObject.h>
13
+
14
+ #include <mutex>
15
+ #include <optional>
16
+
17
+ namespace facebook::react {
18
+
19
+ template <typename T>
20
+ class AsyncPromise {
21
+ public:
22
+ AsyncPromise(jsi::Runtime &rt, const std::shared_ptr<CallInvoker> &jsInvoker)
23
+ : state_(std::make_shared<SharedState>()) {
24
+ auto constructor = rt.global().getPropertyAsFunction(rt, "Promise");
25
+
26
+ auto promise = constructor.callAsConstructor(
27
+ rt,
28
+ bridging::toJs(
29
+ rt,
30
+ // Safe to capture this since this is called synchronously.
31
+ [this](AsyncCallback<T> resolve, AsyncCallback<Error> reject) {
32
+ state_->resolve = std::move(resolve);
33
+ state_->reject = std::move(reject);
34
+ },
35
+ jsInvoker));
36
+
37
+ auto promiseHolder = std::make_shared<PromiseHolder>(promise.asObject(rt));
38
+ LongLivedObjectCollection::get().add(promiseHolder);
39
+
40
+ // The shared state can retain the promise holder weakly now.
41
+ state_->promiseHolder = promiseHolder;
42
+ }
43
+
44
+ void resolve(T value) {
45
+ std::lock_guard<std::mutex> lock(state_->mutex);
46
+
47
+ if (state_->resolve) {
48
+ state_->resolve->call(std::move(value));
49
+ state_->resolve.reset();
50
+ state_->reject.reset();
51
+ }
52
+ }
53
+
54
+ void reject(Error error) {
55
+ std::lock_guard<std::mutex> lock(state_->mutex);
56
+
57
+ if (state_->reject) {
58
+ state_->reject->call(std::move(error));
59
+ state_->reject.reset();
60
+ state_->resolve.reset();
61
+ }
62
+ }
63
+
64
+ jsi::Object get(jsi::Runtime &rt) const {
65
+ if (auto holder = state_->promiseHolder.lock()) {
66
+ return jsi::Value(rt, holder->promise).asObject(rt);
67
+ } else {
68
+ throw jsi::JSError(rt, "Failed to get invalidated promise");
69
+ }
70
+ }
71
+
72
+ private:
73
+ struct PromiseHolder : LongLivedObject {
74
+ PromiseHolder(jsi::Object p) : promise(std::move(p)) {}
75
+
76
+ jsi::Object promise;
77
+ };
78
+
79
+ struct SharedState {
80
+ ~SharedState() {
81
+ if (auto holder = promiseHolder.lock()) {
82
+ holder->allowRelease();
83
+ }
84
+ }
85
+
86
+ std::mutex mutex;
87
+ std::weak_ptr<PromiseHolder> promiseHolder;
88
+ std::optional<AsyncCallback<T>> resolve;
89
+ std::optional<AsyncCallback<Error>> reject;
90
+ };
91
+
92
+ std::shared_ptr<SharedState> state_;
93
+ };
94
+
95
+ template <typename T>
96
+ struct Bridging<AsyncPromise<T>> {
97
+ static jsi::Object toJs(jsi::Runtime &rt, const AsyncPromise<T> &promise) {
98
+ return promise.get(rt);
99
+ }
100
+ };
101
+
102
+ } // namespace facebook::react
@@ -0,0 +1,41 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ require "json"
7
+
8
+ package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
+ version = package['version']
10
+
11
+ source = { :git => 'https://github.com/facebook/react-native.git' }
12
+ if version == '1000.0.0'
13
+ # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
+ source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
15
+ else
16
+ source[:tag] = "v#{version}"
17
+ end
18
+
19
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
20
+ folly_version = '2021.06.28.00-v2'
21
+
22
+ Pod::Spec.new do |s|
23
+ s.name = "React-bridging"
24
+ s.version = version
25
+ s.summary = "-" # TODO
26
+ s.homepage = "https://reactnative.dev/"
27
+ s.license = package["license"]
28
+ s.author = "Facebook, Inc. and its affiliates"
29
+ s.platforms = { :ios => "12.4" }
30
+ s.source = source
31
+ s.source_files = "**/*.{cpp,h}"
32
+ s.exclude_files = "tests"
33
+ s.header_dir = "react/bridging"
34
+ s.compiler_flags = folly_compiler_flags
35
+ s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\"",
36
+ "USE_HEADERMAP" => "YES",
37
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" }
38
+
39
+ s.dependency "RCT-Folly", folly_version
40
+ s.dependency "React-jsi", version
41
+ end
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <react/bridging/Base.h>
11
+
12
+ #include <memory>
13
+ #include <optional>
14
+
15
+ namespace facebook::react {
16
+
17
+ template <>
18
+ struct Bridging<std::nullptr_t> {
19
+ static std::nullptr_t fromJs(jsi::Runtime &rt, const jsi::Value &value) {
20
+ if (value.isNull() || value.isUndefined()) {
21
+ return nullptr;
22
+ } else {
23
+ throw jsi::JSError(rt, "Cannot convert value to nullptr");
24
+ }
25
+ }
26
+
27
+ static std::nullptr_t toJs(jsi::Runtime &, std::nullptr_t) {
28
+ return nullptr;
29
+ }
30
+ };
31
+
32
+ template <typename T>
33
+ struct Bridging<std::optional<T>> {
34
+ static std::optional<T> fromJs(
35
+ jsi::Runtime &rt,
36
+ const jsi::Value &value,
37
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
38
+ if (value.isNull() || value.isUndefined()) {
39
+ return {};
40
+ }
41
+ return bridging::fromJs<T>(rt, value, jsInvoker);
42
+ }
43
+
44
+ template <typename U>
45
+ static std::optional<T> fromJs(
46
+ jsi::Runtime &rt,
47
+ const std::optional<U> &value,
48
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
49
+ if (value) {
50
+ return bridging::fromJs<T>(rt, *value, jsInvoker);
51
+ }
52
+ return {};
53
+ }
54
+
55
+ static jsi::Value toJs(
56
+ jsi::Runtime &rt,
57
+ const std::optional<T> &value,
58
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
59
+ if (value) {
60
+ return bridging::toJs(rt, *value, jsInvoker);
61
+ }
62
+ return jsi::Value::null();
63
+ }
64
+ };
65
+
66
+ template <typename T>
67
+ struct Bridging<
68
+ std::shared_ptr<T>,
69
+ std::enable_if_t<!std::is_base_of_v<jsi::HostObject, T>>> {
70
+ static jsi::Value toJs(
71
+ jsi::Runtime &rt,
72
+ const std::shared_ptr<T> &ptr,
73
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
74
+ if (ptr) {
75
+ return bridging::toJs(rt, *ptr, jsInvoker);
76
+ }
77
+ return jsi::Value::null();
78
+ }
79
+ };
80
+
81
+ template <typename T>
82
+ struct Bridging<std::unique_ptr<T>> {
83
+ static jsi::Value toJs(
84
+ jsi::Runtime &rt,
85
+ const std::unique_ptr<T> &ptr,
86
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
87
+ if (ptr) {
88
+ return bridging::toJs(rt, *ptr, jsInvoker);
89
+ }
90
+ return jsi::Value::null();
91
+ }
92
+ };
93
+
94
+ template <typename T>
95
+ struct Bridging<std::weak_ptr<T>> {
96
+ static jsi::Value toJs(
97
+ jsi::Runtime &rt,
98
+ const std::weak_ptr<T> &weakPtr,
99
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
100
+ if (auto ptr = weakPtr.lock()) {
101
+ return bridging::toJs(rt, *ptr, jsInvoker);
102
+ }
103
+ return jsi::Value::null();
104
+ }
105
+ };
106
+
107
+ } // namespace facebook::react
@@ -0,0 +1,407 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "BridgingTest.h"
9
+
10
+ namespace facebook::react {
11
+
12
+ using namespace std::literals;
13
+
14
+ TEST_F(BridgingTest, jsiTest) {
15
+ jsi::Value value = true;
16
+ jsi::Value string = jsi::String::createFromAscii(rt, "hello");
17
+ jsi::Value object = jsi::Object(rt);
18
+ jsi::Value array = jsi::Array::createWithElements(rt, value, object);
19
+ jsi::Value func = function("() => {}");
20
+
21
+ // The bridging mechanism needs to know how to copy and downcast values.
22
+ EXPECT_NO_THROW(bridging::fromJs<jsi::Value>(rt, value, invoker));
23
+ EXPECT_NO_THROW(bridging::fromJs<jsi::String>(rt, string, invoker));
24
+ EXPECT_NO_THROW(bridging::fromJs<jsi::Object>(rt, object, invoker));
25
+ EXPECT_NO_THROW(bridging::fromJs<jsi::Array>(rt, array, invoker));
26
+ EXPECT_NO_THROW(bridging::fromJs<jsi::Function>(rt, func, invoker));
27
+
28
+ // Should throw when attempting an invalid cast.
29
+ EXPECT_JSI_THROW(bridging::fromJs<jsi::Object>(rt, value, invoker));
30
+ EXPECT_JSI_THROW(bridging::fromJs<jsi::String>(rt, array, invoker));
31
+ EXPECT_JSI_THROW(bridging::fromJs<jsi::Array>(rt, object, invoker));
32
+ EXPECT_JSI_THROW(bridging::fromJs<jsi::Array>(rt, string, invoker));
33
+ EXPECT_JSI_THROW(bridging::fromJs<jsi::Array>(rt, func, invoker));
34
+
35
+ // Should be able to generically no-op convert JSI.
36
+ EXPECT_NO_THROW(bridging::toJs(rt, value, invoker));
37
+ EXPECT_NO_THROW(bridging::toJs(rt, string.asString(rt), invoker));
38
+ EXPECT_NO_THROW(bridging::toJs(rt, object.asObject(rt), invoker));
39
+ EXPECT_NO_THROW(bridging::toJs(rt, array.asObject(rt).asArray(rt), invoker));
40
+ EXPECT_NO_THROW(
41
+ bridging::toJs(rt, func.asObject(rt).asFunction(rt), invoker));
42
+ }
43
+
44
+ TEST_F(BridgingTest, boolTest) {
45
+ EXPECT_TRUE(bridging::fromJs<bool>(rt, jsi::Value(true), invoker));
46
+ EXPECT_FALSE(bridging::fromJs<bool>(rt, jsi::Value(false), invoker));
47
+ EXPECT_JSI_THROW(bridging::fromJs<bool>(rt, jsi::Value(1), invoker));
48
+
49
+ EXPECT_TRUE(bridging::toJs(rt, true).asBool());
50
+ EXPECT_FALSE(bridging::toJs(rt, false).asBool());
51
+ }
52
+
53
+ TEST_F(BridgingTest, numberTest) {
54
+ EXPECT_EQ(1, bridging::fromJs<int>(rt, jsi::Value(1), invoker));
55
+ EXPECT_FLOAT_EQ(1.2f, bridging::fromJs<float>(rt, jsi::Value(1.2), invoker));
56
+ EXPECT_DOUBLE_EQ(1.2, bridging::fromJs<double>(rt, jsi::Value(1.2), invoker));
57
+ EXPECT_JSI_THROW(bridging::fromJs<double>(rt, jsi::Value(true), invoker));
58
+
59
+ EXPECT_EQ(1, static_cast<int>(bridging::toJs(rt, 1).asNumber()));
60
+ EXPECT_FLOAT_EQ(
61
+ 1.2f, static_cast<float>(bridging::toJs(rt, 1.2f).asNumber()));
62
+ EXPECT_DOUBLE_EQ(1.2, bridging::toJs(rt, 1.2).asNumber());
63
+ }
64
+
65
+ TEST_F(BridgingTest, stringTest) {
66
+ auto string = jsi::String::createFromAscii(rt, "hello");
67
+
68
+ EXPECT_EQ("hello"s, bridging::fromJs<std::string>(rt, string, invoker));
69
+ EXPECT_JSI_THROW(bridging::fromJs<std::string>(rt, jsi::Value(1), invoker));
70
+
71
+ EXPECT_TRUE(
72
+ jsi::String::strictEquals(rt, string, bridging::toJs(rt, "hello")));
73
+ EXPECT_TRUE(
74
+ jsi::String::strictEquals(rt, string, bridging::toJs(rt, "hello"s)));
75
+ EXPECT_TRUE(
76
+ jsi::String::strictEquals(rt, string, bridging::toJs(rt, "hello"sv)));
77
+ }
78
+
79
+ TEST_F(BridgingTest, objectTest) {
80
+ auto object = jsi::Object(rt);
81
+ object.setProperty(rt, "foo", "bar");
82
+
83
+ auto omap =
84
+ bridging::fromJs<std::map<std::string, std::string>>(rt, object, invoker);
85
+ auto umap = bridging::fromJs<std::unordered_map<std::string, std::string>>(
86
+ rt, object, invoker);
87
+ auto bmap = bridging::fromJs<butter::map<std::string, std::string>>(
88
+ rt, object, invoker);
89
+
90
+ EXPECT_EQ(1, omap.size());
91
+ EXPECT_EQ(1, umap.size());
92
+ EXPECT_EQ(1, bmap.size());
93
+ EXPECT_EQ("bar"s, omap["foo"]);
94
+ EXPECT_EQ("bar"s, umap["foo"]);
95
+ EXPECT_EQ("bar"s, bmap["foo"]);
96
+
97
+ EXPECT_EQ(
98
+ "bar"s,
99
+ bridging::toJs(rt, omap, invoker)
100
+ .getProperty(rt, "foo")
101
+ .asString(rt)
102
+ .utf8(rt));
103
+ EXPECT_EQ(
104
+ "bar"s,
105
+ bridging::toJs(rt, umap, invoker)
106
+ .getProperty(rt, "foo")
107
+ .asString(rt)
108
+ .utf8(rt));
109
+ EXPECT_EQ(
110
+ "bar"s,
111
+ bridging::toJs(rt, bmap, invoker)
112
+ .getProperty(rt, "foo")
113
+ .asString(rt)
114
+ .utf8(rt));
115
+ }
116
+
117
+ TEST_F(BridgingTest, hostObjectTest) {
118
+ struct TestHostObject : public jsi::HostObject {
119
+ jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &name) override {
120
+ if (name.utf8(rt) == "test") {
121
+ return jsi::Value(1);
122
+ }
123
+ return jsi::Value::undefined();
124
+ }
125
+ };
126
+
127
+ auto hostobject = std::make_shared<TestHostObject>();
128
+ auto object = bridging::toJs(rt, hostobject);
129
+
130
+ EXPECT_EQ(1, object.getProperty(rt, "test").asNumber());
131
+ EXPECT_EQ(
132
+ hostobject, bridging::fromJs<decltype(hostobject)>(rt, object, invoker));
133
+ }
134
+
135
+ TEST_F(BridgingTest, weakbjectTest) {
136
+ auto object = jsi::Object(rt);
137
+ auto weakobject = jsi::WeakObject(rt, object);
138
+
139
+ EXPECT_TRUE(jsi::Object::strictEquals(
140
+ rt,
141
+ object,
142
+ bridging::fromJs<jsi::WeakObject>(rt, object, invoker)
143
+ .lock(rt)
144
+ .asObject(rt)));
145
+
146
+ EXPECT_TRUE(jsi::Object::strictEquals(
147
+ rt, object, bridging::toJs(rt, weakobject).asObject(rt)));
148
+ }
149
+
150
+ TEST_F(BridgingTest, arrayTest) {
151
+ auto vec = std::vector({"foo"s, "bar"s});
152
+ auto array = jsi::Array::createWithElements(rt, "foo", "bar");
153
+
154
+ EXPECT_EQ(
155
+ vec, bridging::fromJs<std::vector<std::string>>(rt, array, invoker));
156
+
157
+ EXPECT_EQ(vec.size(), bridging::toJs(rt, vec, invoker).size(rt));
158
+ for (size_t i = 0; i < vec.size(); i++) {
159
+ EXPECT_EQ(
160
+ vec[i],
161
+ bridging::toJs(rt, vec, invoker)
162
+ .getValueAtIndex(rt, i)
163
+ .asString(rt)
164
+ .utf8(rt));
165
+ }
166
+
167
+ EXPECT_EQ(2, bridging::toJs(rt, std::make_pair(1, "2"), invoker).size(rt));
168
+ EXPECT_EQ(2, bridging::toJs(rt, std::make_tuple(1, "2"), invoker).size(rt));
169
+ EXPECT_EQ(2, bridging::toJs(rt, std::array<int, 2>{1, 2}, invoker).size(rt));
170
+ EXPECT_EQ(2, bridging::toJs(rt, std::deque<int>{1, 2}, invoker).size(rt));
171
+ EXPECT_EQ(2, bridging::toJs(rt, std::list<int>{1, 2}, invoker).size(rt));
172
+ EXPECT_EQ(
173
+ 2,
174
+ bridging::toJs(rt, std::initializer_list<int>{1, 2}, invoker).size(rt));
175
+ }
176
+
177
+ TEST_F(BridgingTest, functionTest) {
178
+ auto object = jsi::Object(rt);
179
+ object.setProperty(rt, "foo", "bar");
180
+
181
+ auto lambda = [](std::map<std::string, std::string> map, std::string key) {
182
+ return map[key];
183
+ };
184
+
185
+ auto func = bridging::toJs(rt, lambda, invoker);
186
+
187
+ EXPECT_EQ(
188
+ "bar"s,
189
+ func.call(rt, object, jsi::String::createFromAscii(rt, "foo"))
190
+ .asString(rt)
191
+ .utf8(rt));
192
+
193
+ // Should throw if not enough arguments are passed or are the wrong types.
194
+ EXPECT_JSI_THROW(func.call(rt, object));
195
+ EXPECT_JSI_THROW(func.call(rt, object, jsi::Value(1)));
196
+
197
+ // Test with non-capturing lambda converted to function pointer.
198
+ func = bridging::toJs(rt, +lambda, invoker);
199
+
200
+ EXPECT_EQ(
201
+ "bar"s,
202
+ func.call(rt, object, jsi::String::createFromAscii(rt, "foo"))
203
+ .asString(rt)
204
+ .utf8(rt));
205
+ }
206
+
207
+ TEST_F(BridgingTest, syncCallbackTest) {
208
+ auto fn = function("(a, b) => a + b");
209
+ auto cb = bridging::fromJs<SyncCallback<std::string(std::string, int)>>(
210
+ rt, fn, invoker);
211
+ auto foo = "foo"s;
212
+
213
+ EXPECT_EQ("foo1"s, cb(foo, 1)); // Tests lvalue string
214
+ EXPECT_EQ("bar2", cb("bar", 2)); // Tests rvalue C string
215
+ EXPECT_TRUE(fn.isFunction(rt)); // Ensure the function wasn't invalidated.
216
+ }
217
+
218
+ TEST_F(BridgingTest, asyncCallbackTest) {
219
+ std::string output;
220
+
221
+ auto func = std::function<void(std::string)>([&](auto str) { output = str; });
222
+
223
+ auto cb = bridging::fromJs<AsyncCallback<decltype(func), std::string>>(
224
+ rt, function("(func, str) => func(str)"), invoker);
225
+
226
+ cb(func, "hello");
227
+
228
+ flushQueue(); // Run scheduled async work
229
+
230
+ EXPECT_EQ("hello"s, output);
231
+ }
232
+
233
+ TEST_F(BridgingTest, promiseTest) {
234
+ auto func = function(
235
+ "(promise, obj) => {"
236
+ " promise.then("
237
+ " (res) => { obj.res = res; },"
238
+ " (err) => { obj.err = err; }"
239
+ " )"
240
+ "}");
241
+
242
+ auto promise = AsyncPromise<std::vector<std::string>>(rt, invoker);
243
+ auto output = jsi::Object(rt);
244
+
245
+ func.call(rt, bridging::toJs(rt, promise, invoker), output);
246
+ promise.resolve({"foo"s, "bar"s});
247
+ flushQueue();
248
+
249
+ EXPECT_EQ(1, output.getPropertyNames(rt).size(rt));
250
+ EXPECT_EQ(2, output.getProperty(rt, "res").asObject(rt).asArray(rt).size(rt));
251
+ EXPECT_NO_THROW(promise.resolve({"ignored"}));
252
+ EXPECT_NO_THROW(promise.reject("ignored"));
253
+
254
+ promise = AsyncPromise<std::vector<std::string>>(rt, invoker);
255
+ output = jsi::Object(rt);
256
+
257
+ func.call(rt, bridging::toJs(rt, promise, invoker), output);
258
+ promise.reject("fail");
259
+ flushQueue();
260
+
261
+ EXPECT_EQ(1, output.getPropertyNames(rt).size(rt));
262
+ EXPECT_EQ(
263
+ "fail"s,
264
+ output.getProperty(rt, "err")
265
+ .asObject(rt)
266
+ .getProperty(rt, "message")
267
+ .asString(rt)
268
+ .utf8(rt));
269
+ EXPECT_NO_THROW(promise.resolve({"ignored"}));
270
+ EXPECT_NO_THROW(promise.reject("ignored"));
271
+ }
272
+
273
+ TEST_F(BridgingTest, optionalTest) {
274
+ EXPECT_EQ(
275
+ 1, bridging::fromJs<std::optional<int>>(rt, jsi::Value(1), invoker));
276
+ EXPECT_EQ(
277
+ 1,
278
+ bridging::fromJs<std::optional<int>>(
279
+ rt, std::make_optional(jsi::Value(1)), invoker));
280
+ EXPECT_EQ(
281
+ "hi"s,
282
+ bridging::fromJs<std::optional<std::string>>(
283
+ rt,
284
+ std::make_optional(jsi::String::createFromAscii(rt, "hi")),
285
+ invoker));
286
+ EXPECT_FALSE(
287
+ bridging::fromJs<std::optional<int>>(rt, jsi::Value::undefined(), invoker)
288
+ .has_value());
289
+ EXPECT_FALSE(
290
+ bridging::fromJs<std::optional<int>>(rt, jsi::Value::null(), invoker)
291
+ .has_value());
292
+
293
+ EXPECT_TRUE(bridging::toJs(rt, std::optional<int>(), invoker).isNull());
294
+ EXPECT_EQ(1, bridging::toJs(rt, std::optional<int>(1), invoker).asNumber());
295
+ }
296
+
297
+ TEST_F(BridgingTest, pointerTest) {
298
+ auto str = "hi"s;
299
+ auto unique = std::make_unique<std::string>(str);
300
+ auto shared = std::make_shared<std::string>(str);
301
+ auto weak = std::weak_ptr(shared);
302
+
303
+ EXPECT_EQ(str, bridging::toJs(rt, unique, invoker).asString(rt).utf8(rt));
304
+ EXPECT_EQ(str, bridging::toJs(rt, shared, invoker).asString(rt).utf8(rt));
305
+ EXPECT_EQ(str, bridging::toJs(rt, weak, invoker).asString(rt).utf8(rt));
306
+
307
+ shared.reset();
308
+
309
+ EXPECT_TRUE(bridging::toJs(rt, weak, invoker).isNull());
310
+ }
311
+
312
+ TEST_F(BridgingTest, supportTest) {
313
+ // Ensure sure can convert some basic types, including primitives that can be
314
+ // trivially converted to JSI values.
315
+ EXPECT_TRUE((bridging::supportsFromJs<bool>));
316
+ EXPECT_TRUE((bridging::supportsFromJs<bool, bool>));
317
+ EXPECT_TRUE((bridging::supportsFromJs<bool, jsi::Value &>));
318
+ EXPECT_TRUE((bridging::supportsFromJs<int>));
319
+ EXPECT_TRUE((bridging::supportsFromJs<int, int>));
320
+ EXPECT_TRUE((bridging::supportsFromJs<int, jsi::Value &>));
321
+ EXPECT_TRUE((bridging::supportsFromJs<double>));
322
+ EXPECT_TRUE((bridging::supportsFromJs<double, double>));
323
+ EXPECT_TRUE((bridging::supportsFromJs<double, jsi::Value &>));
324
+ EXPECT_TRUE((bridging::supportsFromJs<std::string>));
325
+ EXPECT_TRUE((bridging::supportsFromJs<std::string, jsi::String>));
326
+ EXPECT_TRUE((bridging::supportsFromJs<std::string, jsi::String &>));
327
+ EXPECT_TRUE((bridging::supportsFromJs<std::vector<int>, jsi::Array>));
328
+ EXPECT_TRUE((bridging::supportsFromJs<std::vector<int>, jsi::Array &>));
329
+ EXPECT_TRUE(
330
+ (bridging::supportsFromJs<std::map<std::string, int>, jsi::Object>));
331
+ EXPECT_TRUE(
332
+ (bridging::supportsFromJs<std::map<std::string, int>, jsi::Object &>));
333
+
334
+ // Ensure incompatible conversions will fail.
335
+ EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::String>));
336
+ EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::String &>));
337
+ EXPECT_FALSE((bridging::supportsFromJs<int, jsi::String>));
338
+ EXPECT_FALSE((bridging::supportsFromJs<int, jsi::String &>));
339
+ EXPECT_FALSE((bridging::supportsFromJs<double, jsi::String>));
340
+ EXPECT_FALSE((bridging::supportsFromJs<double, jsi::String &>));
341
+ EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::Object>));
342
+ EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::Object &>));
343
+ EXPECT_FALSE((bridging::supportsFromJs<int, jsi::Object>));
344
+ EXPECT_FALSE((bridging::supportsFromJs<int, jsi::Object &>));
345
+ EXPECT_FALSE((bridging::supportsFromJs<double, jsi::Object>));
346
+ EXPECT_FALSE((bridging::supportsFromJs<double, jsi::Object &>));
347
+ EXPECT_FALSE((bridging::supportsFromJs<std::string, jsi::Object>));
348
+ EXPECT_FALSE((bridging::supportsFromJs<std::string, jsi::Object &>));
349
+ EXPECT_FALSE((bridging::supportsFromJs<std::vector<int>, jsi::String>));
350
+ EXPECT_FALSE((bridging::supportsFromJs<std::vector<int>, jsi::String &>));
351
+
352
+ // Ensure copying and up/down casting JSI values is also supported.
353
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Value>));
354
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Value, jsi::Value &>));
355
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Value, jsi::Object>));
356
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Value, jsi::Object &>));
357
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::String>));
358
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::String, jsi::String>));
359
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::String, jsi::String &>));
360
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object>));
361
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Object>));
362
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Object &>));
363
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Array>));
364
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Array &>));
365
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Function>));
366
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Function &>));
367
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Array>));
368
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Array>));
369
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Array &>));
370
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Object>));
371
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Object &>));
372
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Function>));
373
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Function>));
374
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Function &>));
375
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Object>));
376
+ EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Object &>));
377
+
378
+ // Ensure incorrect casts will fail.
379
+ EXPECT_FALSE((bridging::supportsFromJs<jsi::Array, jsi::Function>));
380
+ EXPECT_FALSE((bridging::supportsFromJs<jsi::Array, jsi::Function &>));
381
+ EXPECT_FALSE((bridging::supportsFromJs<jsi::Function, jsi::Array>));
382
+ EXPECT_FALSE((bridging::supportsFromJs<jsi::Function, jsi::Array &>));
383
+
384
+ // Ensure we can convert some basic types to JSI values.
385
+ EXPECT_TRUE((bridging::supportsToJs<bool>));
386
+ EXPECT_TRUE((bridging::supportsToJs<int>));
387
+ EXPECT_TRUE((bridging::supportsToJs<double>));
388
+ EXPECT_TRUE((bridging::supportsToJs<std::string>));
389
+ EXPECT_TRUE((bridging::supportsToJs<std::string, jsi::String>));
390
+ EXPECT_TRUE((bridging::supportsToJs<std::vector<int>>));
391
+ EXPECT_TRUE((bridging::supportsToJs<std::vector<int>, jsi::Array>));
392
+ EXPECT_TRUE((bridging::supportsToJs<std::map<std::string, int>>));
393
+ EXPECT_TRUE(
394
+ (bridging::supportsToJs<std::map<std::string, int>, jsi::Object>));
395
+ EXPECT_TRUE((bridging::supportsToJs<void (*)()>));
396
+ EXPECT_TRUE((bridging::supportsToJs<void (*)(), jsi::Function>));
397
+
398
+ // Ensure invalid conversions to JSI values are not supported.
399
+ EXPECT_FALSE((bridging::supportsToJs<void *>));
400
+ EXPECT_FALSE((bridging::supportsToJs<bool, jsi::Object>));
401
+ EXPECT_FALSE((bridging::supportsToJs<int, jsi::Object>));
402
+ EXPECT_FALSE((bridging::supportsToJs<double, jsi::Object>));
403
+ EXPECT_FALSE((bridging::supportsToJs<std::string, jsi::Object>));
404
+ EXPECT_FALSE((bridging::supportsToJs<std::vector<int>, jsi::Function>));
405
+ }
406
+
407
+ } // namespace facebook::react