react-native 0.68.1 → 0.69.0-rc.1
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.
- package/CHANGELOG.md +250 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +6 -11
- package/Libraries/Animated/createAnimatedComponent.js +2 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +2 -2
- package/Libraries/Blob/URL.js +7 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
- package/Libraries/Components/Slider/Slider.js +0 -2
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/Switch.js +11 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -8
- package/Libraries/Components/TextInput/TextInputState.js +10 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ViewNativeComponent.js +68 -8
- package/Libraries/Components/View/ViewPropTypes.js +36 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/RawEventEmitter.js +38 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/polyfillPromise.js +32 -0
- package/Libraries/Core/setUpReactDevTools.js +3 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/FBLazyVector/BUCK +4 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/Image.android.js +0 -6
- package/Libraries/Image/Image.ios.js +0 -6
- package/Libraries/Image/ImageViewNativeComponent.js +18 -3
- package/Libraries/Image/RCTImageBlurUtils.m +8 -5
- package/Libraries/Image/RCTImageCache.h +3 -0
- package/Libraries/Image/RCTImageCache.m +8 -2
- package/Libraries/Image/RCTImageLoader.mm +14 -4
- package/Libraries/Image/RCTImageUtils.m +8 -7
- package/Libraries/Image/RCTUIImageViewAnimated.m +1 -1
- package/Libraries/Image/React-RCTImage.podspec +2 -2
- package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
- package/Libraries/Inspector/Inspector.js +2 -4
- package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
- package/Libraries/Interaction/InteractionManager.js +1 -12
- package/Libraries/Interaction/TaskQueue.js +5 -4
- package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
- package/Libraries/Lists/FlatList.js +27 -6
- package/Libraries/Lists/VirtualizedList.js +71 -55
- package/Libraries/Lists/VirtualizedListContext.js +7 -3
- package/Libraries/Lists/VirtualizedSectionList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -21
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +2 -2
- package/{ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp → Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h} +6 -4
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +30 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +11 -6
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +8 -4
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +3 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +8 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
- package/Libraries/NativeComponent/ViewConfig.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
- package/Libraries/Network/FormData.js +7 -1
- package/Libraries/Network/React-RCTNetwork.podspec +2 -2
- package/Libraries/Pressability/Pressability.js +115 -46
- package/Libraries/Pressability/PressabilityDebug.js +5 -9
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +21 -9
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/renderApplication.js +4 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
- package/Libraries/Settings/React-RCTSettings.podspec +2 -2
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +2 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +20 -11
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +3 -3
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +2 -4
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +2 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +16 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +26 -10
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/Text/Text.js +13 -7
- package/Libraries/Text/TextNativeComponent.js +2 -0
- package/Libraries/Text/TextProps.js +10 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +10 -9
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -8
- package/Libraries/Types/CoreEventTypes.js +13 -1
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
- package/Libraries/Utilities/codegenNativeComponent.js +17 -6
- package/Libraries/Utilities/stringifySafe.js +4 -1
- package/Libraries/Utilities/useColorScheme.js +9 -15
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
- package/React/Base/RCTAssert.h +36 -15
- package/React/Base/RCTAssert.m +65 -19
- package/React/Base/RCTBridge.m +2 -4
- package/React/Base/RCTBridgeModule.h +3 -0
- package/React/Base/RCTBridgeModuleDecorator.h +35 -0
- package/React/Base/RCTBridgeModuleDecorator.m +73 -0
- package/React/Base/RCTConstants.h +18 -0
- package/React/Base/RCTConstants.m +46 -0
- package/React/Base/RCTJavaScriptLoader.h +1 -4
- package/React/Base/RCTJavaScriptLoader.mm +11 -17
- package/React/Base/RCTLog.h +17 -0
- package/React/Base/RCTLog.mm +31 -2
- package/React/Base/RCTModuleData.mm +8 -74
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/RCTViewRegistry.m +24 -0
- package/React/Base/Surface/RCTSurface.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +0 -1
- package/React/CoreModules/BUCK +1 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +2 -2
- package/React/CoreModules/RCTActionSheetManager.mm +38 -9
- package/React/CoreModules/RCTDevMenu.h +5 -0
- package/React/CoreModules/RCTDevMenu.mm +68 -25
- package/React/CoreModules/RCTDeviceInfo.mm +17 -11
- package/React/CoreModules/RCTEventDispatcher.mm +2 -2
- package/React/CoreModules/RCTExceptionsManager.h +5 -3
- package/React/CoreModules/RCTExceptionsManager.mm +44 -12
- package/React/CoreModules/RCTFPSGraph.m +3 -3
- package/React/CoreModules/RCTLogBox.mm +17 -9
- package/React/CoreModules/RCTLogBoxView.h +3 -1
- package/React/CoreModules/RCTLogBoxView.mm +40 -11
- package/React/CoreModules/RCTPlatform.mm +2 -0
- package/React/CoreModules/RCTRedBox.mm +2 -2
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/React-CoreModules.podspec +2 -2
- package/React/CxxBridge/RCTCxxBridge.mm +25 -58
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +2 -2
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +77 -19
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +28 -7
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -3
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +9 -3
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -2
- package/React/Fabric/Mounting/RCTMountingManager.mm +13 -6
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -3
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +10 -8
- package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +5 -3
- package/React/Fabric/RCTConversions.h +9 -1
- package/React/Fabric/RCTLocalizationProvider.mm +10 -4
- package/React/Fabric/RCTScheduler.h +7 -0
- package/React/Fabric/RCTScheduler.mm +15 -0
- package/React/Fabric/RCTSurfacePresenter.h +8 -0
- package/React/Fabric/RCTSurfacePresenter.mm +65 -15
- package/React/Fabric/RCTSurfaceTouchHandler.mm +158 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
- package/React/Modules/RCTSurfacePresenterStub.h +4 -0
- package/React/Modules/RCTUIManager.m +26 -1
- package/React/React-RCTFabric.podspec +3 -2
- package/React/Views/RCTBorderDrawing.m +176 -173
- package/React/Views/RCTComponent.h +1 -0
- package/React/Views/RCTComponentData.m +11 -1
- package/React/Views/RCTDatePickerManager.m +5 -6
- package/React/Views/RCTModalHostView.h +1 -1
- package/React/Views/RCTView.h +10 -0
- package/React/Views/RCTView.m +34 -17
- package/React/Views/RCTViewManager.m +37 -2
- package/React/Views/UIView+React.h +1 -0
- package/React/Views/UIView+React.m +11 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/.npmignore +6 -2
- package/ReactAndroid/Android-prebuilt.mk +7 -13
- package/ReactAndroid/build.gradle +76 -85
- package/ReactAndroid/gradle.properties +3 -2
- package/ReactAndroid/hermes-engine/.npmignore +3 -0
- package/ReactAndroid/hermes-engine/build.gradle +261 -0
- package/ReactAndroid/hermes-engine/gradle.properties +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +4 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +13 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +8 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +4 -1
- package/ReactAndroid/src/androidTest/js/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +3 -5
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/CMakeLists.txt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +35 -32
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +33 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +89 -12
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +116 -45
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +298 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/CMakeLists.txt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/.clang-tidy +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JReadableMapBuffer.cpp +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/{ReadableMapBuffer.h → JReadableMapBuffer.h} +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.cpp +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.h +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +18 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +42 -51
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxDialog.java → RedBoxContentView.java} +38 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +126 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxHandler.java → interfaces/RedBoxHandler.java} +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +148 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +42 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/{AsyncEventBeatV2.cpp → AsyncEventBeat.cpp} +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +8 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +55 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +2 -15
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +65 -71
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +527 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +19 -22
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +93 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +20 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt +62 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +45 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +148 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerDelegate.java → BaseViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerInterface.java → BaseViewManagerInterface.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/FloatUtil.java → FloatUtil.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +331 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +265 -21
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/Spacing.java → Spacing.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +57 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewManagerDelegate.java → ViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewProps.java → ViewProps.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +180 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +75 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +3 -91
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +35 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +57 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +60 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +45 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +12 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +45 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +21 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +468 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferViewManager.kt +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +90 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +102 -0
- package/ReactAndroid/src/main/jni/first-party/fb/BUCK +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +28 -0
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +1 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +20 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +14 -5
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -1
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +73 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +63 -32
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +3 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +4 -3
- package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/jump_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/make_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/ontop_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/jump_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/make_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/ontop_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +23 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +31 -31
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +126 -0
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +35 -0
- package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/CMakeLists.txt +42 -0
- package/ReactAndroid/src/main/res/shell/values/styles.xml +3 -2
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +62 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +5 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +9 -0
- package/ReactAndroid/src/test/resources/BUCK +1 -0
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-rncore.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +4 -3
- package/ReactCommon/butter/Android.mk +1 -2
- package/ReactCommon/butter/BUCK +4 -1
- package/ReactCommon/butter/CMakeLists.txt +20 -0
- package/ReactCommon/callinvoker/BUCK +4 -1
- package/ReactCommon/callinvoker/CMakeLists.txt +13 -0
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/Android.mk +6 -2
- package/ReactCommon/cxxreact/BUCK +16 -4
- package/ReactCommon/cxxreact/CMakeLists.txt +29 -0
- package/ReactCommon/cxxreact/Instance.cpp +0 -35
- package/ReactCommon/cxxreact/Instance.h +0 -3
- package/ReactCommon/cxxreact/JSBundleType.cpp +13 -8
- package/ReactCommon/cxxreact/JSBundleType.h +15 -11
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/cxxreact/tests/BUCK +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/Android.mk +23 -19
- package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
- package/ReactCommon/hermes/inspector/Android.mk +6 -4
- package/ReactCommon/hermes/inspector/CMakeLists.txt +32 -0
- package/ReactCommon/hermes/inspector/Exceptions.h +6 -0
- package/ReactCommon/hermes/inspector/Inspector.cpp +5 -2
- package/ReactCommon/hermes/inspector/Inspector.h +14 -0
- package/ReactCommon/hermes/inspector/InspectorState.cpp +16 -8
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +398 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +266 -12
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +140 -2
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +21 -0
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +27 -0
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +298 -7
- package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1071 -1
- package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +14 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +17 -2
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +4 -4
- package/ReactCommon/hermes/inspector/tools/run_msggen +17 -12
- package/ReactCommon/jsi/Android.mk +4 -2
- package/ReactCommon/jsi/BUCK +12 -3
- package/ReactCommon/jsi/CMakeLists.txt +43 -0
- package/ReactCommon/jsi/JSCRuntime.cpp +8 -0
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +3 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +11 -0
- package/ReactCommon/jsi/jsi/jsi.h +24 -4
- package/ReactCommon/jsi/jsi/jsilib.h +1 -1
- package/ReactCommon/jsi/jsi/test/testlib.cpp +3 -1
- package/ReactCommon/jsiexecutor/Android.mk +2 -1
- package/ReactCommon/jsiexecutor/BUCK +4 -1
- package/ReactCommon/jsiexecutor/CMakeLists.txt +23 -0
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector/Android.mk +1 -0
- package/ReactCommon/jsinspector/BUCK +4 -1
- package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/Android.mk +1 -0
- package/ReactCommon/logger/BUCK +4 -1
- package/ReactCommon/logger/CMakeLists.txt +16 -0
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/microprofiler/BUCK +5 -2
- package/ReactCommon/react/bridging/AString.h +42 -0
- package/ReactCommon/react/bridging/Android.mk +27 -0
- package/ReactCommon/react/bridging/Array.h +108 -0
- package/ReactCommon/react/bridging/BUCK +57 -0
- package/ReactCommon/react/bridging/Base.h +154 -0
- package/ReactCommon/react/bridging/Bool.h +25 -0
- package/ReactCommon/react/bridging/Bridging.h +19 -0
- package/ReactCommon/react/bridging/CMakeLists.txt +17 -0
- package/ReactCommon/react/bridging/CallbackWrapper.h +103 -0
- package/ReactCommon/react/bridging/Class.h +71 -0
- package/ReactCommon/react/bridging/Convert.h +153 -0
- package/ReactCommon/react/bridging/Error.h +51 -0
- package/ReactCommon/react/bridging/Function.h +214 -0
- package/ReactCommon/react/{nativemodule/core/ReactCommon → bridging}/LongLivedObject.cpp +5 -0
- package/ReactCommon/react/bridging/LongLivedObject.h +58 -0
- package/ReactCommon/react/bridging/Number.h +47 -0
- package/ReactCommon/react/bridging/Object.h +100 -0
- package/ReactCommon/react/bridging/Promise.h +102 -0
- package/ReactCommon/react/bridging/React-bridging.podspec +41 -0
- package/ReactCommon/react/bridging/Value.h +107 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.cpp +407 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.h +77 -0
- package/ReactCommon/react/bridging/tests/ClassTest.cpp +97 -0
- package/ReactCommon/react/config/Android.mk +1 -0
- package/ReactCommon/react/config/BUCK +4 -1
- package/ReactCommon/react/config/CMakeLists.txt +19 -0
- package/ReactCommon/react/debug/Android.mk +2 -1
- package/ReactCommon/react/debug/BUCK +4 -1
- package/ReactCommon/react/debug/CMakeLists.txt +22 -0
- package/ReactCommon/react/debug/react_native_assert.h +1 -1
- package/ReactCommon/react/nativemodule/core/Android.mk +8 -4
- package/ReactCommon/react/nativemodule/core/BUCK +5 -1
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +32 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +2 -48
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +0 -23
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +18 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -83
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +3 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +17 -7
- package/ReactCommon/react/nativemodule/samples/BUCK +4 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -0
- package/ReactCommon/react/renderer/animations/Android.mk +2 -2
- package/ReactCommon/react/renderer/animations/BUCK +4 -1
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +32 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +6 -6
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -3
- package/ReactCommon/react/renderer/animations/conversions.h +11 -11
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/Android.mk +2 -2
- package/ReactCommon/react/renderer/attributedstring/BUCK +4 -1
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +29 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +16 -16
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +14 -14
- package/ReactCommon/react/renderer/attributedstring/conversions.h +13 -11
- package/ReactCommon/react/renderer/componentregistry/Android.mk +3 -2
- package/ReactCommon/react/renderer/componentregistry/BUCK +4 -1
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +24 -0
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +2 -2
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +4 -1
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +24 -0
- package/ReactCommon/react/renderer/components/image/Android.mk +2 -1
- package/ReactCommon/react/renderer/components/image/BUCK +4 -1
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +29 -0
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +16 -2
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +16 -11
- package/ReactCommon/react/renderer/components/modal/Android.mk +2 -1
- package/ReactCommon/react/renderer/components/modal/BUCK +4 -1
- package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +31 -0
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +2 -2
- package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -1
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
- package/ReactCommon/react/renderer/components/root/Android.mk +2 -2
- package/ReactCommon/react/renderer/components/root/BUCK +4 -1
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +2 -2
- package/ReactCommon/react/renderer/components/scrollview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +28 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/slider/Android.mk +2 -2
- package/ReactCommon/react/renderer/components/slider/BUCK +4 -1
- package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +38 -0
- package/ReactCommon/react/renderer/components/switch/Android.mk +2 -2
- package/ReactCommon/react/renderer/components/switch/BUCK +4 -1
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +44 -0
- package/ReactCommon/react/renderer/components/text/Android.mk +2 -1
- package/ReactCommon/react/renderer/components/text/BUCK +4 -1
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +33 -0
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/Android.mk +2 -1
- package/ReactCommon/react/renderer/components/textinput/BUCK +4 -1
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +40 -0
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +6 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +3 -4
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +2 -2
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +27 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +41 -6
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +5 -0
- package/ReactCommon/react/renderer/components/view/Android.mk +2 -1
- package/ReactCommon/react/renderer/components/view/BUCK +5 -3
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +35 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +59 -0
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +76 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +14 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/view/ViewProps.h +18 -7
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +46 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +13 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +38 -27
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -1
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +33 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +5 -6
- package/ReactCommon/react/renderer/components/view/primitives.h +96 -3
- package/ReactCommon/react/renderer/components/view/propsConversions.h +191 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +201 -24
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +3 -3
- package/ReactCommon/react/renderer/core/Android.mk +2 -2
- package/ReactCommon/react/renderer/core/BUCK +4 -3
- package/ReactCommon/react/renderer/core/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +12 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +21 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.h +15 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +15 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +5 -6
- package/ReactCommon/react/renderer/core/EventListener.cpp +39 -0
- package/ReactCommon/react/renderer/core/EventListener.h +44 -0
- package/ReactCommon/react/renderer/core/Props.cpp +5 -2
- package/ReactCommon/react/renderer/core/Props.h +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +1 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -6
- package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +6 -5
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +10 -12
- package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +3 -3
- package/ReactCommon/react/renderer/debug/Android.mk +2 -1
- package/ReactCommon/react/renderer/debug/BUCK +4 -1
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +15 -0
- package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
- package/ReactCommon/react/renderer/element/BUCK +4 -1
- package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
- package/ReactCommon/react/renderer/graphics/Android.mk +2 -2
- package/ReactCommon/react/renderer/graphics/BUCK +4 -1
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +25 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/Transform.h +9 -3
- package/ReactCommon/react/renderer/graphics/conversions.h +1 -11
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/Android.mk +2 -1
- package/ReactCommon/react/renderer/imagemanager/BUCK +4 -1
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/Android.mk +1 -0
- package/ReactCommon/react/renderer/leakchecker/BUCK +4 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -0
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +1 -0
- package/ReactCommon/react/renderer/mapbuffer/BUCK +4 -1
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +15 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +8 -8
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -2
- package/ReactCommon/react/renderer/mounting/BUCK +4 -1
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +31 -0
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +3 -3
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +4 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +0 -2
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +7 -10
- package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -7
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +1 -0
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +4 -1
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +21 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +55 -40
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +26 -1
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +3 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +48 -3
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +9 -0
- package/ReactCommon/react/renderer/scheduler/Android.mk +2 -2
- package/ReactCommon/react/renderer/scheduler/BUCK +4 -1
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +41 -6
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +10 -1
- package/ReactCommon/react/renderer/telemetry/Android.mk +2 -2
- package/ReactCommon/react/renderer/telemetry/BUCK +4 -1
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +27 -0
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +2 -2
- package/ReactCommon/react/renderer/templateprocessor/BUCK +4 -1
- package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +2 -2
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +45 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +142 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -11
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +0 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +26 -9
- package/ReactCommon/react/renderer/uimanager/Android.mk +2 -2
- package/ReactCommon/react/renderer/uimanager/BUCK +4 -1
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +32 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +8 -9
- package/ReactCommon/react/renderer/uimanager/UIManager.h +10 -13
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +6 -5
- package/ReactCommon/react/test_utils/BUCK +4 -1
- package/ReactCommon/react/test_utils/MockSurfaceHandler.h +2 -2
- package/ReactCommon/react/utils/Android.mk +2 -3
- package/ReactCommon/react/utils/BUCK +4 -1
- package/ReactCommon/react/utils/CMakeLists.txt +24 -0
- package/ReactCommon/react/utils/ContextContainer.h +2 -2
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +4 -0
- package/ReactCommon/react/utils/SimpleThreadSafeCache.h +2 -2
- package/ReactCommon/react/utils/Telemetry.h +2 -2
- package/ReactCommon/reactperflogger/Android.mk +1 -0
- package/ReactCommon/reactperflogger/BUCK +4 -1
- package/ReactCommon/reactperflogger/CMakeLists.txt +14 -0
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +4 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +17 -0
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/Android.mk +1 -0
- package/ReactCommon/yoga/CMakeLists.txt +16 -0
- package/ReactCommon/yoga/Yoga-umbrella.h +21 -0
- package/ReactCommon/yoga/Yoga.modulemap +6 -0
- package/ReactCommon/yoga/Yoga.podspec +21 -7
- package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module +246 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom +44 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml +13 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1-sources.jar → 0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.aar → 0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module +670 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.pom → 0.69.0-rc.1/react-native-0.69.0-rc.1.pom} +32 -3
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/flow/{use-subscription.js → use-sync-external-store.js} +4 -4
- package/index.js +30 -25
- package/jest/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/package.json +26 -22
- package/react-native.config.js +1 -3
- package/react.gradle +47 -23
- package/scripts/{find-node.sh → find-node-for-xcode.sh} +11 -0
- package/scripts/generate-artifacts.js +16 -6
- package/scripts/packager.sh +1 -1
- package/scripts/react-native-xcode.sh +0 -4
- package/scripts/react_native_pods.rb +121 -17
- package/scripts/react_native_pods_utils/script_phases.rb +2 -2
- package/scripts/react_native_pods_utils/script_phases.sh +4 -5
- package/scripts/xcode/with-environment.sh +47 -0
- package/sdks/hermes-engine.podspec +53 -0
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
- package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
- package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
- package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
- package/template/Gemfile +1 -1
- package/template/_flowconfig +1 -2
- package/template/_gitignore +5 -3
- package/template/_ruby-version +1 -1
- package/template/android/app/build.gradle +11 -12
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +9 -1
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +2 -2
- package/template/android/app/src/main/jni/Android.mk +2 -3
- package/template/android/build.gradle +2 -6
- package/template/android/settings.gradle +2 -0
- package/template/ios/HelloWorld/AppDelegate.mm +26 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +7 -5
- package/template/ios/Podfile +1 -1
- package/template/ios/_xcode.env +11 -0
- package/template/package.json +4 -4
- package/third-party-podspecs/DoubleConversion.podspec +1 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
- package/Libraries/ReactNative/UIManagerInjection.js +0 -15
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
- package/React/Views/RCTWeakViewHolder.h +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +0 -388
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +0 -21
- package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +0 -10
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +0 -731
- package/ReactAndroid/src/main/third-party/java/asm/BUCK +0 -75
- package/ReactAndroid/src/main/third-party/java/assertj/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/buck-android-support/BUCK +0 -11
- package/ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar +0 -0
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/javapoet/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/jsr-305/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/java/jsr-330/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/java/junit/BUCK +0 -36
- package/ReactAndroid/src/main/third-party/java/mockito/BUCK +0 -36
- package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +0 -75
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +0 -46
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +0 -24
- package/ReactAndroid/src/main/third-party/java/robolectric/BUCK +0 -218
- package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +0 -23
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/kotlin/BUCK +0 -91
- package/ReactCommon/butter/optional.h +0 -38
- package/ReactCommon/common.mk +0 -29
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +0 -32
- package/ReactCommon/react/utils/LayoutManager.h +0 -150
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module +0 -272
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha512 +0 -1
- package/flow/Promise.js +0 -47
- package/template/Gemfile.lock +0 -100
|
@@ -0,0 +1,77 @@
|
|
|
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 <gtest/gtest.h>
|
|
11
|
+
#include <hermes/hermes.h>
|
|
12
|
+
#include <react/bridging/Bridging.h>
|
|
13
|
+
|
|
14
|
+
#define EXPECT_JSI_THROW(expr) EXPECT_THROW((expr), facebook::jsi::JSIException)
|
|
15
|
+
|
|
16
|
+
namespace facebook::react {
|
|
17
|
+
|
|
18
|
+
class TestCallInvoker : public CallInvoker {
|
|
19
|
+
public:
|
|
20
|
+
void invokeAsync(std::function<void()> &&fn) override {
|
|
21
|
+
queue_.push_back(std::move(fn));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
void invokeSync(std::function<void()> &&) override {
|
|
25
|
+
FAIL() << "JSCallInvoker does not support invokeSync()";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
private:
|
|
29
|
+
friend class BridgingTest;
|
|
30
|
+
|
|
31
|
+
std::list<std::function<void()>> queue_;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
class BridgingTest : public ::testing::Test {
|
|
35
|
+
protected:
|
|
36
|
+
BridgingTest()
|
|
37
|
+
: invoker(std::make_shared<TestCallInvoker>()),
|
|
38
|
+
runtime(hermes::makeHermesRuntime(
|
|
39
|
+
::hermes::vm::RuntimeConfig::Builder()
|
|
40
|
+
// Make promises work with Hermes microtasks.
|
|
41
|
+
.withVMExperimentFlags(1 << 14 /* JobQueue */)
|
|
42
|
+
.build())),
|
|
43
|
+
rt(*runtime) {}
|
|
44
|
+
|
|
45
|
+
~BridgingTest() {
|
|
46
|
+
LongLivedObjectCollection::get().clear();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
void TearDown() override {
|
|
50
|
+
flushQueue();
|
|
51
|
+
|
|
52
|
+
// After flushing the invoker queue, we shouldn't leak memory.
|
|
53
|
+
EXPECT_EQ(0, LongLivedObjectCollection::get().size());
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
jsi::Value eval(const std::string &js) {
|
|
57
|
+
return rt.global().getPropertyAsFunction(rt, "eval").call(rt, js);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
jsi::Function function(const std::string &js) {
|
|
61
|
+
return eval(("(" + js + ")").c_str()).getObject(rt).getFunction(rt);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
void flushQueue() {
|
|
65
|
+
while (!invoker->queue_.empty()) {
|
|
66
|
+
invoker->queue_.front()();
|
|
67
|
+
invoker->queue_.pop_front();
|
|
68
|
+
rt.drainMicrotasks(); // Run microtasks every cycle.
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
std::shared_ptr<TestCallInvoker> invoker;
|
|
73
|
+
std::unique_ptr<jsi::Runtime> runtime;
|
|
74
|
+
jsi::Runtime &rt;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
+
struct TestClass {
|
|
15
|
+
TestClass(std::shared_ptr<CallInvoker> invoker) : invoker_(invoker) {}
|
|
16
|
+
|
|
17
|
+
double add(jsi::Runtime &, int a, float b) {
|
|
18
|
+
return a + b;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
jsi::Object getObject(jsi::Runtime &, jsi::Object obj) {
|
|
22
|
+
return obj;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
AsyncPromise<std::string> getPromise(jsi::Runtime &rt, std::string result) {
|
|
26
|
+
auto promise = AsyncPromise<std::string>(rt, invoker_);
|
|
27
|
+
promise.resolve(result);
|
|
28
|
+
return promise;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
std::string
|
|
32
|
+
callFunc(jsi::Runtime &, SyncCallback<std::string(int)> func, int num) {
|
|
33
|
+
return func(num);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
void callAsync(jsi::Runtime &, AsyncCallback<> callback) {
|
|
37
|
+
callback();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
private:
|
|
41
|
+
std::shared_ptr<CallInvoker> invoker_;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
TEST_F(BridgingTest, callFromJsTest) {
|
|
45
|
+
auto instance = TestClass(invoker);
|
|
46
|
+
|
|
47
|
+
EXPECT_EQ(
|
|
48
|
+
3.0,
|
|
49
|
+
bridging::callFromJs<double>(
|
|
50
|
+
rt, &TestClass::add, invoker, &instance, 1, 2.0));
|
|
51
|
+
|
|
52
|
+
auto object = jsi::Object(rt);
|
|
53
|
+
|
|
54
|
+
EXPECT_TRUE(jsi::Object::strictEquals(
|
|
55
|
+
rt,
|
|
56
|
+
object,
|
|
57
|
+
bridging::callFromJs<jsi::Object>(
|
|
58
|
+
rt, &TestClass::getObject, invoker, &instance, object)));
|
|
59
|
+
|
|
60
|
+
auto promise = bridging::callFromJs<jsi::Object>(
|
|
61
|
+
rt,
|
|
62
|
+
&TestClass::getPromise,
|
|
63
|
+
invoker,
|
|
64
|
+
&instance,
|
|
65
|
+
jsi::String::createFromAscii(rt, "hi"));
|
|
66
|
+
auto then = promise.getPropertyAsFunction(rt, "then");
|
|
67
|
+
|
|
68
|
+
std::string result;
|
|
69
|
+
then.callWithThis(
|
|
70
|
+
rt,
|
|
71
|
+
promise,
|
|
72
|
+
bridging::toJs(
|
|
73
|
+
rt, [&](std::string res) { result = res; }, invoker));
|
|
74
|
+
|
|
75
|
+
flushQueue();
|
|
76
|
+
EXPECT_EQ("hi"s, result);
|
|
77
|
+
|
|
78
|
+
auto func = function("(num) => String(num)");
|
|
79
|
+
|
|
80
|
+
EXPECT_EQ(
|
|
81
|
+
"1"s,
|
|
82
|
+
bridging::callFromJs<jsi::String>(
|
|
83
|
+
rt, &TestClass::callFunc, invoker, &instance, func, 1)
|
|
84
|
+
.utf8(rt));
|
|
85
|
+
|
|
86
|
+
bool called = false;
|
|
87
|
+
func = bridging::toJs(
|
|
88
|
+
rt, [&] { called = true; }, invoker);
|
|
89
|
+
|
|
90
|
+
bridging::callFromJs<void>(
|
|
91
|
+
rt, &TestClass::callAsync, invoker, &instance, func);
|
|
92
|
+
|
|
93
|
+
flushQueue();
|
|
94
|
+
EXPECT_TRUE(called);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
} // namespace facebook::react
|
|
@@ -10,6 +10,7 @@ include $(CLEAR_VARS)
|
|
|
10
10
|
LOCAL_MODULE := react_config
|
|
11
11
|
|
|
12
12
|
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
13
|
+
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(LOCAL_SRC_FILES))
|
|
13
14
|
|
|
14
15
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)
|
|
15
16
|
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../
|
|
@@ -23,7 +23,10 @@ rn_xplat_cxx_library(
|
|
|
23
23
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
24
24
|
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
|
25
25
|
force_static = True,
|
|
26
|
-
labels = [
|
|
26
|
+
labels = [
|
|
27
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
28
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
29
|
+
],
|
|
27
30
|
platforms = (ANDROID, APPLE, CXX),
|
|
28
31
|
preprocessor_flags = [
|
|
29
32
|
"-DLOG_TAG=\"ReactNative\"",
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
cmake_minimum_required(VERSION 3.13)
|
|
7
|
+
set(CMAKE_VERBOSE_MAKEFILE on)
|
|
8
|
+
|
|
9
|
+
add_compile_options(
|
|
10
|
+
-fexceptions
|
|
11
|
+
-frtti
|
|
12
|
+
-std=c++17
|
|
13
|
+
-Wall
|
|
14
|
+
-DLOG_TAG=\"Fabric\")
|
|
15
|
+
|
|
16
|
+
file(GLOB react_config_SRC CONFIGURE_DEPENDS *.cpp)
|
|
17
|
+
add_library(react_config SHARED ${react_config_SRC})
|
|
18
|
+
|
|
19
|
+
target_include_directories(react_config PUBLIC ${REACT_COMMON_DIR})
|
|
@@ -12,10 +12,11 @@ LOCAL_MODULE := react_debug
|
|
|
12
12
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../
|
|
13
13
|
|
|
14
14
|
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
15
|
+
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(LOCAL_SRC_FILES))
|
|
15
16
|
|
|
16
17
|
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../
|
|
17
18
|
|
|
18
|
-
LOCAL_SHARED_LIBRARIES :=
|
|
19
|
+
LOCAL_SHARED_LIBRARIES := libfolly_runtime
|
|
19
20
|
|
|
20
21
|
LOCAL_LDLIBS := -llog
|
|
21
22
|
|
|
@@ -42,7 +42,10 @@ rn_xplat_cxx_library(
|
|
|
42
42
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
43
43
|
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
|
44
44
|
force_static = True,
|
|
45
|
-
labels = [
|
|
45
|
+
labels = [
|
|
46
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
47
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
48
|
+
],
|
|
46
49
|
macosx_tests_override = [],
|
|
47
50
|
platforms = (ANDROID, APPLE, CXX),
|
|
48
51
|
preprocessor_flags = [
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
cmake_minimum_required(VERSION 3.13)
|
|
7
|
+
set(CMAKE_VERBOSE_MAKEFILE on)
|
|
8
|
+
|
|
9
|
+
add_compile_options(
|
|
10
|
+
-fexceptions
|
|
11
|
+
-frtti
|
|
12
|
+
-std=c++17
|
|
13
|
+
-Wall
|
|
14
|
+
-DLOG_TAG=\"Fabric\")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
file(GLOB react_debug_SRC CONFIGURE_DEPENDS *.cpp)
|
|
18
|
+
add_library(react_debug SHARED ${react_debug_SRC})
|
|
19
|
+
|
|
20
|
+
target_include_directories(react_debug PUBLIC ${REACT_COMMON_DIR})
|
|
21
|
+
|
|
22
|
+
target_link_libraries(react_debug log folly_runtime)
|
|
@@ -55,7 +55,7 @@ void react_native_assert_fail(
|
|
|
55
55
|
#define react_native_assert(cond) \
|
|
56
56
|
if (!(cond)) { \
|
|
57
57
|
LOG(ERROR) << "react_native_assert failure: " << #cond; \
|
|
58
|
-
google::FlushLogFiles(google::
|
|
58
|
+
google::FlushLogFiles(google::GLOG_INFO); \
|
|
59
59
|
assert(cond); \
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -9,20 +9,23 @@ include $(CLEAR_VARS)
|
|
|
9
9
|
|
|
10
10
|
LOCAL_MODULE := react_nativemodule_core
|
|
11
11
|
|
|
12
|
-
LOCAL_C_INCLUDES := $(LOCAL_PATH)
|
|
12
|
+
LOCAL_C_INCLUDES := $(LOCAL_PATH)/ReactCommon $(LOCAL_PATH)/platform/android/ReactCommon
|
|
13
13
|
|
|
14
14
|
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/ReactCommon/*.cpp) $(wildcard $(LOCAL_PATH)/platform/android/ReactCommon/*.cpp)
|
|
15
|
+
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(LOCAL_SRC_FILES))
|
|
15
16
|
|
|
16
|
-
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) $(LOCAL_PATH)/platform/android/
|
|
17
|
+
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../ $(LOCAL_PATH) $(LOCAL_PATH)/platform/android/
|
|
17
18
|
|
|
18
19
|
LOCAL_SHARED_LIBRARIES := \
|
|
19
20
|
libfbjni \
|
|
20
|
-
|
|
21
|
+
libfolly_runtime \
|
|
21
22
|
libjsi \
|
|
22
23
|
libreact_debug \
|
|
23
24
|
libreactnativejni
|
|
24
25
|
|
|
25
|
-
LOCAL_STATIC_LIBRARIES :=
|
|
26
|
+
LOCAL_STATIC_LIBRARIES := \
|
|
27
|
+
libreact_bridging \
|
|
28
|
+
libreactperflogger
|
|
26
29
|
|
|
27
30
|
LOCAL_CFLAGS := \
|
|
28
31
|
-DLOG_TAG=\"ReactNative\"
|
|
@@ -34,3 +37,4 @@ include $(BUILD_SHARED_LIBRARY)
|
|
|
34
37
|
$(call import-module,folly)
|
|
35
38
|
$(call import-module,jsi)
|
|
36
39
|
$(call import-module,reactperflogger)
|
|
40
|
+
$(call import-module,react/bridging)
|
|
@@ -55,7 +55,10 @@ rn_xplat_cxx_library(
|
|
|
55
55
|
"platform/ios/**/*.mm",
|
|
56
56
|
],
|
|
57
57
|
),
|
|
58
|
-
labels = [
|
|
58
|
+
labels = [
|
|
59
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
60
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
61
|
+
],
|
|
59
62
|
platforms = (ANDROID, APPLE),
|
|
60
63
|
preprocessor_flags = [
|
|
61
64
|
"-DLOG_TAG=\"ReactNative\"",
|
|
@@ -78,6 +81,7 @@ rn_xplat_cxx_library(
|
|
|
78
81
|
react_native_xplat_target("reactperflogger:reactperflogger"),
|
|
79
82
|
],
|
|
80
83
|
exported_deps = [
|
|
84
|
+
react_native_xplat_target("react/bridging:bridging"),
|
|
81
85
|
react_native_xplat_shared_library_target("jsi:jsi"),
|
|
82
86
|
],
|
|
83
87
|
)
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
cmake_minimum_required(VERSION 3.13)
|
|
7
|
+
set(CMAKE_VERBOSE_MAKEFILE on)
|
|
8
|
+
|
|
9
|
+
add_compile_options(-fexceptions -frtti -std=c++17 -Wall -DLOG_TAG=\"ReactNative\")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
file(GLOB react_nativemodule_core_SRC CONFIGURE_DEPENDS
|
|
13
|
+
ReactCommon/*.cpp
|
|
14
|
+
platform/android/ReactCommon/*.cpp)
|
|
15
|
+
add_library(react_nativemodule_core
|
|
16
|
+
SHARED
|
|
17
|
+
${react_nativemodule_core_SRC})
|
|
18
|
+
|
|
19
|
+
target_include_directories(react_nativemodule_core
|
|
20
|
+
PUBLIC
|
|
21
|
+
${CMAKE_CURRENT_SOURCE_DIR}
|
|
22
|
+
${CMAKE_CURRENT_SOURCE_DIR}/platform/android/
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
target_link_libraries(react_nativemodule_core
|
|
26
|
+
fbjni
|
|
27
|
+
folly_runtime
|
|
28
|
+
jsi
|
|
29
|
+
react_bridging
|
|
30
|
+
react_debug
|
|
31
|
+
reactperflogger
|
|
32
|
+
reactnativejni)
|
|
@@ -7,51 +7,5 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
#include <
|
|
12
|
-
#include <unordered_set>
|
|
13
|
-
|
|
14
|
-
namespace facebook {
|
|
15
|
-
namespace react {
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* A simple wrapper class that can be registered to a collection that keep it
|
|
19
|
-
* alive for extended period of time. This object can be removed from the
|
|
20
|
-
* collection when needed.
|
|
21
|
-
*
|
|
22
|
-
* The subclass of this class must be created using std::make_shared<T>().
|
|
23
|
-
* After creation, add it to the `LongLivedObjectCollection`.
|
|
24
|
-
* When done with the object, call `allowRelease()` to allow the OS to release
|
|
25
|
-
* it.
|
|
26
|
-
*/
|
|
27
|
-
class LongLivedObject {
|
|
28
|
-
public:
|
|
29
|
-
virtual void allowRelease();
|
|
30
|
-
|
|
31
|
-
protected:
|
|
32
|
-
LongLivedObject();
|
|
33
|
-
virtual ~LongLivedObject();
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* A singleton, thread-safe, write-only collection for the `LongLivedObject`s.
|
|
38
|
-
*/
|
|
39
|
-
class LongLivedObjectCollection {
|
|
40
|
-
public:
|
|
41
|
-
static LongLivedObjectCollection &get();
|
|
42
|
-
|
|
43
|
-
LongLivedObjectCollection();
|
|
44
|
-
LongLivedObjectCollection(LongLivedObjectCollection const &) = delete;
|
|
45
|
-
void operator=(LongLivedObjectCollection const &) = delete;
|
|
46
|
-
|
|
47
|
-
void add(std::shared_ptr<LongLivedObject> o) const;
|
|
48
|
-
void remove(const LongLivedObject *o) const;
|
|
49
|
-
void clear() const;
|
|
50
|
-
|
|
51
|
-
private:
|
|
52
|
-
mutable std::unordered_set<std::shared_ptr<LongLivedObject>> collection_;
|
|
53
|
-
mutable std::mutex collectionMutex_;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
} // namespace react
|
|
57
|
-
} // namespace facebook
|
|
10
|
+
// This header is left here for compatibility reasons.
|
|
11
|
+
#include <react/bridging/LongLivedObject.h>
|
|
@@ -17,28 +17,5 @@ TurboModule::TurboModule(
|
|
|
17
17
|
std::shared_ptr<CallInvoker> jsInvoker)
|
|
18
18
|
: name_(name), jsInvoker_(jsInvoker) {}
|
|
19
19
|
|
|
20
|
-
TurboModule::~TurboModule() {}
|
|
21
|
-
|
|
22
|
-
jsi::Value TurboModule::get(
|
|
23
|
-
jsi::Runtime &runtime,
|
|
24
|
-
const jsi::PropNameID &propName) {
|
|
25
|
-
std::string propNameUtf8 = propName.utf8(runtime);
|
|
26
|
-
auto p = methodMap_.find(propNameUtf8);
|
|
27
|
-
if (p == methodMap_.end()) {
|
|
28
|
-
// Method was not found, let JS decide what to do.
|
|
29
|
-
return jsi::Value::undefined();
|
|
30
|
-
}
|
|
31
|
-
MethodMetadata meta = p->second;
|
|
32
|
-
return jsi::Function::createFromHostFunction(
|
|
33
|
-
runtime,
|
|
34
|
-
propName,
|
|
35
|
-
static_cast<unsigned int>(meta.argCount),
|
|
36
|
-
[this, meta](
|
|
37
|
-
facebook::jsi::Runtime &rt,
|
|
38
|
-
const facebook::jsi::Value &thisVal,
|
|
39
|
-
const facebook::jsi::Value *args,
|
|
40
|
-
size_t count) { return meta.invoker(rt, *this, args, count); });
|
|
41
|
-
}
|
|
42
|
-
|
|
43
20
|
} // namespace react
|
|
44
21
|
} // namespace facebook
|
|
@@ -38,11 +38,27 @@ enum TurboModuleMethodValueKind {
|
|
|
38
38
|
class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
|
|
39
39
|
public:
|
|
40
40
|
TurboModule(const std::string &name, std::shared_ptr<CallInvoker> jsInvoker);
|
|
41
|
-
virtual ~TurboModule();
|
|
42
41
|
|
|
43
42
|
virtual facebook::jsi::Value get(
|
|
44
43
|
facebook::jsi::Runtime &runtime,
|
|
45
|
-
const facebook::jsi::PropNameID &propName) override
|
|
44
|
+
const facebook::jsi::PropNameID &propName) override {
|
|
45
|
+
std::string propNameUtf8 = propName.utf8(runtime);
|
|
46
|
+
auto p = methodMap_.find(propNameUtf8);
|
|
47
|
+
if (p == methodMap_.end()) {
|
|
48
|
+
// Method was not found, let JS decide what to do.
|
|
49
|
+
return jsi::Value::undefined();
|
|
50
|
+
}
|
|
51
|
+
MethodMetadata meta = p->second;
|
|
52
|
+
return jsi::Function::createFromHostFunction(
|
|
53
|
+
runtime,
|
|
54
|
+
propName,
|
|
55
|
+
static_cast<unsigned int>(meta.argCount),
|
|
56
|
+
[this, meta](
|
|
57
|
+
facebook::jsi::Runtime &rt,
|
|
58
|
+
const facebook::jsi::Value &thisVal,
|
|
59
|
+
const facebook::jsi::Value *args,
|
|
60
|
+
size_t count) { return meta.invoker(rt, *this, args, count); });
|
|
61
|
+
}
|
|
46
62
|
|
|
47
63
|
const std::string name_;
|
|
48
64
|
std::shared_ptr<CallInvoker> jsInvoker_;
|
|
@@ -13,9 +13,8 @@
|
|
|
13
13
|
#include <jsi/jsi.h>
|
|
14
14
|
|
|
15
15
|
#include <ReactCommon/CallInvoker.h>
|
|
16
|
-
#include <
|
|
17
|
-
|
|
18
|
-
using namespace facebook;
|
|
16
|
+
#include <react/bridging/CallbackWrapper.h>
|
|
17
|
+
#include <react/bridging/LongLivedObject.h>
|
|
19
18
|
|
|
20
19
|
namespace facebook {
|
|
21
20
|
namespace react {
|
|
@@ -40,86 +39,6 @@ jsi::Value createPromiseAsJSIValue(
|
|
|
40
39
|
jsi::Runtime &rt,
|
|
41
40
|
const PromiseSetupFunctionType func);
|
|
42
41
|
|
|
43
|
-
// Helper for passing jsi::Function arg to other methods.
|
|
44
|
-
class CallbackWrapper : public LongLivedObject {
|
|
45
|
-
private:
|
|
46
|
-
CallbackWrapper(
|
|
47
|
-
jsi::Function &&callback,
|
|
48
|
-
jsi::Runtime &runtime,
|
|
49
|
-
std::shared_ptr<CallInvoker> jsInvoker)
|
|
50
|
-
: longLivedObjectCollection_(),
|
|
51
|
-
callback_(std::move(callback)),
|
|
52
|
-
runtime_(runtime),
|
|
53
|
-
jsInvoker_(std::move(jsInvoker)) {}
|
|
54
|
-
|
|
55
|
-
CallbackWrapper(
|
|
56
|
-
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection,
|
|
57
|
-
jsi::Function &&callback,
|
|
58
|
-
jsi::Runtime &runtime,
|
|
59
|
-
std::shared_ptr<CallInvoker> jsInvoker)
|
|
60
|
-
: longLivedObjectCollection_(longLivedObjectCollection),
|
|
61
|
-
callback_(std::move(callback)),
|
|
62
|
-
runtime_(runtime),
|
|
63
|
-
jsInvoker_(std::move(jsInvoker)) {}
|
|
64
|
-
|
|
65
|
-
// Use a weak_ptr to avoid a retain cycle: LongLivedObjectCollection owns all
|
|
66
|
-
// CallbackWrappers. So, CallbackWrapper cannot own its
|
|
67
|
-
// LongLivedObjectCollection.
|
|
68
|
-
std::weak_ptr<LongLivedObjectCollection> longLivedObjectCollection_;
|
|
69
|
-
jsi::Function callback_;
|
|
70
|
-
jsi::Runtime &runtime_;
|
|
71
|
-
std::shared_ptr<CallInvoker> jsInvoker_;
|
|
72
|
-
|
|
73
|
-
public:
|
|
74
|
-
static std::weak_ptr<CallbackWrapper> createWeak(
|
|
75
|
-
jsi::Function &&callback,
|
|
76
|
-
jsi::Runtime &runtime,
|
|
77
|
-
std::shared_ptr<CallInvoker> jsInvoker) {
|
|
78
|
-
auto wrapper = std::shared_ptr<CallbackWrapper>(
|
|
79
|
-
new CallbackWrapper(std::move(callback), runtime, jsInvoker));
|
|
80
|
-
LongLivedObjectCollection::get().add(wrapper);
|
|
81
|
-
return wrapper;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
static std::weak_ptr<CallbackWrapper> createWeak(
|
|
85
|
-
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection,
|
|
86
|
-
jsi::Function &&callback,
|
|
87
|
-
jsi::Runtime &runtime,
|
|
88
|
-
std::shared_ptr<CallInvoker> jsInvoker) {
|
|
89
|
-
auto wrapper = std::shared_ptr<CallbackWrapper>(new CallbackWrapper(
|
|
90
|
-
longLivedObjectCollection, std::move(callback), runtime, jsInvoker));
|
|
91
|
-
longLivedObjectCollection->add(wrapper);
|
|
92
|
-
return wrapper;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// Delete the enclosed jsi::Function
|
|
96
|
-
void destroy() {
|
|
97
|
-
allowRelease();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
jsi::Function &callback() {
|
|
101
|
-
return callback_;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
jsi::Runtime &runtime() {
|
|
105
|
-
return runtime_;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
CallInvoker &jsInvoker() {
|
|
109
|
-
return *(jsInvoker_);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
void allowRelease() override {
|
|
113
|
-
if (auto longLivedObjectCollection = longLivedObjectCollection_.lock()) {
|
|
114
|
-
if (longLivedObjectCollection != nullptr) {
|
|
115
|
-
longLivedObjectCollection->remove(this);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
LongLivedObject::allowRelease();
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
|
|
123
42
|
class RAIICallbackWrapperDestroyer {
|
|
124
43
|
public:
|
|
125
44
|
RAIICallbackWrapperDestroyer(std::weak_ptr<CallbackWrapper> callbackWrapper)
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
#import <ReactCommon/TurboModulePerfLogger.h>
|
|
28
28
|
#import <ReactCommon/TurboModuleUtils.h>
|
|
29
29
|
|
|
30
|
+
using namespace facebook;
|
|
30
31
|
using namespace facebook::react;
|
|
31
32
|
|
|
32
33
|
static int32_t getUniqueId()
|
|
@@ -625,7 +626,8 @@ NSInvocation *ObjCTurboModule::getMethodInvocation(
|
|
|
625
626
|
if ([objCArg isKindOfClass:[NSDictionary class]] && hasMethodArgConversionSelector(methodNameNSString, i)) {
|
|
626
627
|
SEL methodArgConversionSelector = getMethodArgConversionSelector(methodNameNSString, i);
|
|
627
628
|
|
|
628
|
-
// Message dispatch logic from old infra (link:
|
|
629
|
+
// Message dispatch logic from old infra (link:
|
|
630
|
+
// https://github.com/facebook/react-native/commit/6783694158057662fd7b11fc123c339b2b21bfe6#diff-263fc157dfce55895cdc16495b55d190R350)
|
|
629
631
|
RCTManagedPointer *(*convert)(id, SEL, id) = (__typeof__(convert))objc_msgSend;
|
|
630
632
|
RCTManagedPointer *box = convert([RCTCxxConvert class], methodArgConversionSelector, objCArg);
|
|
631
633
|
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
#import <ReactCommon/TurboModuleBinding.h>
|
|
29
29
|
#import <ReactCommon/TurboModulePerfLogger.h>
|
|
30
30
|
|
|
31
|
+
using namespace facebook;
|
|
31
32
|
using namespace facebook::react;
|
|
32
33
|
|
|
33
34
|
/**
|
|
@@ -520,6 +521,19 @@ static Class getFallbackClassFromName(const char *name)
|
|
|
520
521
|
std::lock_guard<std::mutex> delegateGuard(_turboModuleManagerDelegateMutex);
|
|
521
522
|
module = [_delegate getModuleInstanceFromClass:moduleClass];
|
|
522
523
|
}
|
|
524
|
+
|
|
525
|
+
/**
|
|
526
|
+
* If the application is unable to create the TurboModule object from its class:
|
|
527
|
+
* abort TurboModule creation, and early return nil.
|
|
528
|
+
*/
|
|
529
|
+
if (!module) {
|
|
530
|
+
RCTLogError(
|
|
531
|
+
@"TurboModuleManager delegate %@ returned nil TurboModule object for module with name=\"%s\" and class=%@",
|
|
532
|
+
NSStringFromClass([_delegate class]),
|
|
533
|
+
moduleName,
|
|
534
|
+
NSStringFromClass(moduleClass));
|
|
535
|
+
return nil;
|
|
536
|
+
}
|
|
523
537
|
} else {
|
|
524
538
|
module = [moduleClass new];
|
|
525
539
|
}
|
|
@@ -702,18 +716,14 @@ static Class getFallbackClassFromName(const char *name)
|
|
|
702
716
|
|
|
703
717
|
BOOL requiresMainQueueSetup = hasConstantsToExport || hasCustomInit;
|
|
704
718
|
if (requiresMainQueueSetup) {
|
|
705
|
-
const char *methodName = "";
|
|
706
|
-
if (hasConstantsToExport) {
|
|
707
|
-
methodName = "constantsToExport";
|
|
708
|
-
} else if (hasCustomInit) {
|
|
709
|
-
methodName = "init";
|
|
710
|
-
}
|
|
711
719
|
RCTLogWarn(
|
|
712
720
|
@"Module %@ requires main queue setup since it overrides `%s` but doesn't implement "
|
|
713
721
|
"`requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules "
|
|
714
722
|
"on a background thread unless explicitly opted-out of.",
|
|
715
723
|
moduleClass,
|
|
716
|
-
|
|
724
|
+
hasConstantsToExport ? "constantsToExport"
|
|
725
|
+
: hasCustomInit ? "init"
|
|
726
|
+
: "");
|
|
717
727
|
}
|
|
718
728
|
|
|
719
729
|
return requiresMainQueueSetup;
|
|
@@ -56,7 +56,10 @@ rn_xplat_cxx_library(
|
|
|
56
56
|
"platform/ios/**/*.mm",
|
|
57
57
|
],
|
|
58
58
|
),
|
|
59
|
-
labels = [
|
|
59
|
+
labels = [
|
|
60
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
61
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
62
|
+
],
|
|
60
63
|
platforms = (ANDROID, APPLE),
|
|
61
64
|
preprocessor_flags = [
|
|
62
65
|
"-DLOG_TAG=\"ReactNative\"",
|
|
@@ -9,6 +9,7 @@ include $(CLEAR_VARS)
|
|
|
9
9
|
LOCAL_MODULE := sampleturbomodule
|
|
10
10
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)
|
|
11
11
|
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/ReactCommon/*.cpp)
|
|
12
|
+
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(LOCAL_SRC_FILES))
|
|
12
13
|
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
|
|
13
14
|
LOCAL_SHARED_LIBRARIES := \
|
|
14
15
|
libfbjni \
|