react-native 0.68.2 → 0.69.0-rc.2
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 +16 -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 -76
- 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 +2 -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 -34
- 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 +0 -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 +1 -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 +1 -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 +1 -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/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 +1 -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 +0 -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/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 +12 -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 +3 -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 +0 -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 +5 -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 -21
- package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
- package/ReactCommon/hermes/inspector/Android.mk +5 -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 +2 -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 +1 -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/BUCK +4 -1
- package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- 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/BUCK +4 -1
- package/ReactCommon/react/config/CMakeLists.txt +19 -0
- package/ReactCommon/react/debug/Android.mk +1 -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 +7 -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/renderer/animations/Android.mk +1 -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 +1 -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 +2 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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/BUCK +4 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -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 +1 -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/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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -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/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/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.2/hermes-engine-0.69.0-rc.2-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2-release.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.module +246 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.module.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.module.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.module.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.module.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.pom +44 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.pom.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.pom.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.pom.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.2/hermes-engine-0.69.0-rc.2.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.2/react-native-0.69.0-rc.2-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2/react-native-0.68.2-sources.jar → 0.69.0-rc.2/react-native-0.69.0-rc.2-release-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2/react-native-0.68.2.aar → 0.69.0-rc.2/react-native-0.69.0-rc.2-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.module +670 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2/react-native-0.68.2.pom → 0.69.0-rc.2/react-native-0.69.0-rc.2.pom} +32 -3
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.2/react-native-0.69.0-rc.2.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 +27 -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 +92 -19
- 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/hermes-engine.podspec +58 -0
- package/sdks/hermes-engine/utils/build-apple-framework.sh +106 -0
- package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -0
- package/sdks/hermes-engine/utils/build-mac-framework.sh +16 -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 -10
- 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 -2
- 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.2/react-native-0.68.2-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.module +0 -272
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2/react-native-0.68.2.pom.sha512 +0 -1
- package/flow/Promise.js +0 -47
- package/template/Gemfile.lock +0 -100
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Base.h>
|
|
11
|
+
|
|
12
|
+
#include <string>
|
|
13
|
+
#include <string_view>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
template <>
|
|
18
|
+
struct Bridging<std::string> {
|
|
19
|
+
static std::string fromJs(jsi::Runtime &rt, const jsi::String &value) {
|
|
20
|
+
return value.utf8(rt);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static jsi::String toJs(jsi::Runtime &rt, const std::string &value) {
|
|
24
|
+
return jsi::String::createFromUtf8(rt, value);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
template <>
|
|
29
|
+
struct Bridging<std::string_view> {
|
|
30
|
+
static jsi::String toJs(jsi::Runtime &rt, std::string_view value) {
|
|
31
|
+
return jsi::String::createFromUtf8(
|
|
32
|
+
rt, reinterpret_cast<const uint8_t *>(value.data()), value.length());
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
template <>
|
|
37
|
+
struct Bridging<const char *> : Bridging<std::string_view> {};
|
|
38
|
+
|
|
39
|
+
template <size_t N>
|
|
40
|
+
struct Bridging<char[N]> : Bridging<std::string_view> {};
|
|
41
|
+
|
|
42
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
LOCAL_PATH := $(call my-dir)
|
|
7
|
+
|
|
8
|
+
include $(CLEAR_VARS)
|
|
9
|
+
|
|
10
|
+
LOCAL_MODULE := react_bridging
|
|
11
|
+
|
|
12
|
+
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
13
|
+
|
|
14
|
+
LOCAL_C_INCLUDES := $(LOCAL_PATH)
|
|
15
|
+
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../
|
|
16
|
+
|
|
17
|
+
LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
|
|
18
|
+
|
|
19
|
+
LOCAL_STATIC_LIBRARIES :=
|
|
20
|
+
|
|
21
|
+
LOCAL_SHARED_LIBRARIES := jsi
|
|
22
|
+
|
|
23
|
+
include $(BUILD_STATIC_LIBRARY)
|
|
24
|
+
|
|
25
|
+
$(call import-module,butter)
|
|
26
|
+
$(call import-module,folly)
|
|
27
|
+
$(call import-module,jsi)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Base.h>
|
|
11
|
+
|
|
12
|
+
#include <array>
|
|
13
|
+
#include <deque>
|
|
14
|
+
#include <initializer_list>
|
|
15
|
+
#include <list>
|
|
16
|
+
#include <tuple>
|
|
17
|
+
#include <utility>
|
|
18
|
+
#include <vector>
|
|
19
|
+
|
|
20
|
+
namespace facebook::react {
|
|
21
|
+
|
|
22
|
+
namespace array_detail {
|
|
23
|
+
|
|
24
|
+
template <typename T, size_t N>
|
|
25
|
+
struct BridgingStatic {
|
|
26
|
+
static jsi::Array toJs(
|
|
27
|
+
jsi::Runtime &rt,
|
|
28
|
+
const T &array,
|
|
29
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
30
|
+
return toJs(rt, array, jsInvoker, std::make_index_sequence<N>{});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
private:
|
|
34
|
+
template <size_t... Index>
|
|
35
|
+
static jsi::Array toJs(
|
|
36
|
+
facebook::jsi::Runtime &rt,
|
|
37
|
+
const T &array,
|
|
38
|
+
const std::shared_ptr<CallInvoker> &jsInvoker,
|
|
39
|
+
std::index_sequence<Index...>) {
|
|
40
|
+
return jsi::Array::createWithElements(
|
|
41
|
+
rt, bridging::toJs(rt, std::get<Index>(array), jsInvoker)...);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
template <typename T>
|
|
46
|
+
struct BridgingDynamic {
|
|
47
|
+
static jsi::Array toJs(
|
|
48
|
+
jsi::Runtime &rt,
|
|
49
|
+
const T &list,
|
|
50
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
51
|
+
jsi::Array result(rt, list.size());
|
|
52
|
+
size_t index = 0;
|
|
53
|
+
|
|
54
|
+
for (const auto &item : list) {
|
|
55
|
+
result.setValueAtIndex(rt, index++, bridging::toJs(rt, item, jsInvoker));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace array_detail
|
|
63
|
+
|
|
64
|
+
template <typename T, size_t N>
|
|
65
|
+
struct Bridging<std::array<T, N>>
|
|
66
|
+
: array_detail::BridgingStatic<std::array<T, N>, N> {};
|
|
67
|
+
|
|
68
|
+
template <typename T1, typename T2>
|
|
69
|
+
struct Bridging<std::pair<T1, T2>>
|
|
70
|
+
: array_detail::BridgingStatic<std::pair<T1, T2>, 2> {};
|
|
71
|
+
|
|
72
|
+
template <typename... Types>
|
|
73
|
+
struct Bridging<std::tuple<Types...>>
|
|
74
|
+
: array_detail::BridgingStatic<std::tuple<Types...>, sizeof...(Types)> {};
|
|
75
|
+
|
|
76
|
+
template <typename T>
|
|
77
|
+
struct Bridging<std::deque<T>> : array_detail::BridgingDynamic<std::deque<T>> {
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
template <typename T>
|
|
81
|
+
struct Bridging<std::initializer_list<T>>
|
|
82
|
+
: array_detail::BridgingDynamic<std::initializer_list<T>> {};
|
|
83
|
+
|
|
84
|
+
template <typename T>
|
|
85
|
+
struct Bridging<std::list<T>> : array_detail::BridgingDynamic<std::list<T>> {};
|
|
86
|
+
|
|
87
|
+
template <typename T>
|
|
88
|
+
struct Bridging<std::vector<T>>
|
|
89
|
+
: array_detail::BridgingDynamic<std::vector<T>> {
|
|
90
|
+
static std::vector<T> fromJs(
|
|
91
|
+
facebook::jsi::Runtime &rt,
|
|
92
|
+
const jsi::Array &array,
|
|
93
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
94
|
+
size_t length = array.length(rt);
|
|
95
|
+
|
|
96
|
+
std::vector<T> vector;
|
|
97
|
+
vector.reserve(length);
|
|
98
|
+
|
|
99
|
+
for (size_t i = 0; i < length; i++) {
|
|
100
|
+
vector.push_back(
|
|
101
|
+
bridging::fromJs<T>(rt, array.getValueAtIndex(rt, i), jsInvoker));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return vector;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
load("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "APPLE", "CXX", "IOS", "MACOSX", "fb_xplat_cxx_test", "react_native_xplat_shared_library_target", "react_native_xplat_target", "rn_xplat_cxx_library")
|
|
2
|
+
|
|
3
|
+
rn_xplat_cxx_library(
|
|
4
|
+
name = "bridging",
|
|
5
|
+
srcs = glob(["*.cpp"]),
|
|
6
|
+
header_namespace = "react/bridging",
|
|
7
|
+
exported_headers = glob(["*.h"]),
|
|
8
|
+
compiler_flags_enable_exceptions = True,
|
|
9
|
+
compiler_flags_enable_rtti = True,
|
|
10
|
+
labels = [
|
|
11
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
12
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
13
|
+
],
|
|
14
|
+
platforms = (ANDROID, APPLE, CXX),
|
|
15
|
+
tests = [":tests"],
|
|
16
|
+
visibility = ["PUBLIC"],
|
|
17
|
+
deps = [
|
|
18
|
+
"//xplat/folly:headers_only",
|
|
19
|
+
],
|
|
20
|
+
exported_deps = [
|
|
21
|
+
react_native_xplat_target("butter:butter"),
|
|
22
|
+
react_native_xplat_target("callinvoker:callinvoker"),
|
|
23
|
+
react_native_xplat_shared_library_target("jsi:jsi"),
|
|
24
|
+
],
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
rn_xplat_cxx_library(
|
|
28
|
+
name = "testlib",
|
|
29
|
+
header_namespace = "react/bridging",
|
|
30
|
+
exported_headers = glob(["tests/*.h"]),
|
|
31
|
+
platforms = (ANDROID, APPLE, CXX),
|
|
32
|
+
visibility = ["PUBLIC"],
|
|
33
|
+
exported_deps = [
|
|
34
|
+
":bridging",
|
|
35
|
+
"//xplat/third-party/gmock:gtest",
|
|
36
|
+
],
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
fb_xplat_cxx_test(
|
|
40
|
+
name = "tests",
|
|
41
|
+
srcs = glob(["tests/*.cpp"]),
|
|
42
|
+
headers = glob(["tests/*.h"]),
|
|
43
|
+
apple_sdks = (IOS, MACOSX),
|
|
44
|
+
compiler_flags = [
|
|
45
|
+
"-fexceptions",
|
|
46
|
+
"-frtti",
|
|
47
|
+
"-std=c++17",
|
|
48
|
+
"-Wall",
|
|
49
|
+
],
|
|
50
|
+
contacts = ["oncall+react_native@xmail.facebook.com"],
|
|
51
|
+
platforms = (ANDROID, APPLE, CXX),
|
|
52
|
+
deps = [
|
|
53
|
+
":bridging",
|
|
54
|
+
"//xplat/hermes/API:HermesAPI",
|
|
55
|
+
"//xplat/third-party/gmock:gtest",
|
|
56
|
+
],
|
|
57
|
+
)
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Convert.h>
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/CallInvoker.h>
|
|
13
|
+
#include <folly/Function.h>
|
|
14
|
+
#include <jsi/jsi.h>
|
|
15
|
+
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
#include <memory>
|
|
18
|
+
#include <type_traits>
|
|
19
|
+
|
|
20
|
+
namespace facebook::react {
|
|
21
|
+
|
|
22
|
+
template <typename T, typename = void>
|
|
23
|
+
struct Bridging;
|
|
24
|
+
|
|
25
|
+
template <>
|
|
26
|
+
struct Bridging<void> {
|
|
27
|
+
// Highly generic code may result in "casting" to void.
|
|
28
|
+
static void fromJs(jsi::Runtime &, const jsi::Value &) {}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
namespace bridging {
|
|
32
|
+
namespace detail {
|
|
33
|
+
|
|
34
|
+
template <typename F>
|
|
35
|
+
struct function_wrapper;
|
|
36
|
+
|
|
37
|
+
template <typename C, typename R, typename... Args>
|
|
38
|
+
struct function_wrapper<R (C::*)(Args...)> {
|
|
39
|
+
using type = folly::Function<R(Args...)>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
template <typename C, typename R, typename... Args>
|
|
43
|
+
struct function_wrapper<R (C::*)(Args...) const> {
|
|
44
|
+
using type = folly::Function<R(Args...)>;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
template <typename T, typename = void>
|
|
48
|
+
struct bridging_wrapper {
|
|
49
|
+
using type = remove_cvref_t<T>;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// Convert lambda types to move-only function types since we can't specialize
|
|
53
|
+
// Bridging templates for arbitrary lambdas.
|
|
54
|
+
template <typename T>
|
|
55
|
+
struct bridging_wrapper<
|
|
56
|
+
T,
|
|
57
|
+
std::void_t<decltype(&remove_cvref_t<T>::operator())>>
|
|
58
|
+
: function_wrapper<decltype(&remove_cvref_t<T>::operator())> {};
|
|
59
|
+
|
|
60
|
+
} // namespace detail
|
|
61
|
+
|
|
62
|
+
template <typename T>
|
|
63
|
+
using bridging_t = typename detail::bridging_wrapper<T>::type;
|
|
64
|
+
|
|
65
|
+
template <typename R, typename T, std::enable_if_t<is_jsi_v<T>, int> = 0>
|
|
66
|
+
auto fromJs(jsi::Runtime &rt, T &&value, const std::shared_ptr<CallInvoker> &)
|
|
67
|
+
-> decltype(static_cast<R>(convert(rt, std::forward<T>(value)))) {
|
|
68
|
+
return convert(rt, std::forward<T>(value));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
template <typename R, typename T>
|
|
72
|
+
auto fromJs(jsi::Runtime &rt, T &&value, const std::shared_ptr<CallInvoker> &)
|
|
73
|
+
-> decltype(Bridging<remove_cvref_t<R>>::fromJs(
|
|
74
|
+
rt,
|
|
75
|
+
convert(rt, std::forward<T>(value)))) {
|
|
76
|
+
return Bridging<remove_cvref_t<R>>::fromJs(
|
|
77
|
+
rt, convert(rt, std::forward<T>(value)));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
template <typename R, typename T>
|
|
81
|
+
auto fromJs(
|
|
82
|
+
jsi::Runtime &rt,
|
|
83
|
+
T &&value,
|
|
84
|
+
const std::shared_ptr<CallInvoker> &jsInvoker)
|
|
85
|
+
-> decltype(Bridging<remove_cvref_t<R>>::fromJs(
|
|
86
|
+
rt,
|
|
87
|
+
convert(rt, std::forward<T>(value)),
|
|
88
|
+
jsInvoker)) {
|
|
89
|
+
return Bridging<remove_cvref_t<R>>::fromJs(
|
|
90
|
+
rt, convert(rt, std::forward<T>(value)), jsInvoker);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
template <typename T, std::enable_if_t<is_jsi_v<T>, int> = 0>
|
|
94
|
+
auto toJs(
|
|
95
|
+
jsi::Runtime &rt,
|
|
96
|
+
T &&value,
|
|
97
|
+
const std::shared_ptr<CallInvoker> & = nullptr)
|
|
98
|
+
-> decltype(convert(rt, std::forward<T>(value))) {
|
|
99
|
+
return convert(rt, std::forward<T>(value));
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
template <typename T>
|
|
103
|
+
auto toJs(
|
|
104
|
+
jsi::Runtime &rt,
|
|
105
|
+
T &&value,
|
|
106
|
+
const std::shared_ptr<CallInvoker> & = nullptr)
|
|
107
|
+
-> decltype(Bridging<bridging_t<T>>::toJs(rt, std::forward<T>(value))) {
|
|
108
|
+
return Bridging<bridging_t<T>>::toJs(rt, std::forward<T>(value));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
template <typename T>
|
|
112
|
+
auto toJs(
|
|
113
|
+
jsi::Runtime &rt,
|
|
114
|
+
T &&value,
|
|
115
|
+
const std::shared_ptr<CallInvoker> &jsInvoker)
|
|
116
|
+
-> decltype(Bridging<bridging_t<T>>::toJs(
|
|
117
|
+
rt,
|
|
118
|
+
std::forward<T>(value),
|
|
119
|
+
jsInvoker)) {
|
|
120
|
+
return Bridging<bridging_t<T>>::toJs(rt, std::forward<T>(value), jsInvoker);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
template <typename, typename = jsi::Value, typename = void>
|
|
124
|
+
inline constexpr bool supportsFromJs = false;
|
|
125
|
+
|
|
126
|
+
template <typename T, typename Arg = jsi::Value>
|
|
127
|
+
inline constexpr bool supportsFromJs<
|
|
128
|
+
T,
|
|
129
|
+
Arg,
|
|
130
|
+
std::void_t<decltype(fromJs<T>(
|
|
131
|
+
std::declval<jsi::Runtime &>(),
|
|
132
|
+
std::declval<Arg>(),
|
|
133
|
+
nullptr))>> = true;
|
|
134
|
+
|
|
135
|
+
template <typename, typename = jsi::Value, typename = void>
|
|
136
|
+
inline constexpr bool supportsToJs = false;
|
|
137
|
+
|
|
138
|
+
template <typename T, typename Ret = jsi::Value>
|
|
139
|
+
inline constexpr bool supportsToJs<
|
|
140
|
+
T,
|
|
141
|
+
Ret,
|
|
142
|
+
std::void_t<decltype(toJs(
|
|
143
|
+
std::declval<jsi::Runtime &>(),
|
|
144
|
+
std::declval<T>(),
|
|
145
|
+
nullptr))>> =
|
|
146
|
+
std::is_convertible_v<
|
|
147
|
+
decltype(toJs(
|
|
148
|
+
std::declval<jsi::Runtime &>(),
|
|
149
|
+
std::declval<T>(),
|
|
150
|
+
nullptr)),
|
|
151
|
+
Ret>;
|
|
152
|
+
|
|
153
|
+
} // namespace bridging
|
|
154
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Base.h>
|
|
11
|
+
|
|
12
|
+
namespace facebook::react {
|
|
13
|
+
|
|
14
|
+
template <>
|
|
15
|
+
struct Bridging<bool> {
|
|
16
|
+
static bool fromJs(jsi::Runtime &rt, const jsi::Value &value) {
|
|
17
|
+
return value.asBool();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static jsi::Value toJs(jsi::Runtime &, bool value) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/AString.h>
|
|
11
|
+
#include <react/bridging/Array.h>
|
|
12
|
+
#include <react/bridging/Bool.h>
|
|
13
|
+
#include <react/bridging/Class.h>
|
|
14
|
+
#include <react/bridging/Error.h>
|
|
15
|
+
#include <react/bridging/Function.h>
|
|
16
|
+
#include <react/bridging/Number.h>
|
|
17
|
+
#include <react/bridging/Object.h>
|
|
18
|
+
#include <react/bridging/Promise.h>
|
|
19
|
+
#include <react/bridging/Value.h>
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
file(GLOB react_bridging_SRC CONFIGURE_DEPENDS *.cpp)
|
|
12
|
+
|
|
13
|
+
add_library(react_bridging STATIC ${react_bridging_SRC})
|
|
14
|
+
|
|
15
|
+
target_include_directories(react_bridging PUBLIC ${REACT_COMMON_DIR})
|
|
16
|
+
|
|
17
|
+
target_link_libraries(react_bridging jsi)
|
|
@@ -0,0 +1,103 @@
|
|
|
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 <jsi/jsi.h>
|
|
11
|
+
#include <react/bridging/LongLivedObject.h>
|
|
12
|
+
|
|
13
|
+
#include <memory>
|
|
14
|
+
|
|
15
|
+
namespace facebook {
|
|
16
|
+
namespace react {
|
|
17
|
+
|
|
18
|
+
// Helper for passing jsi::Function arg to other methods.
|
|
19
|
+
class CallbackWrapper : public LongLivedObject {
|
|
20
|
+
private:
|
|
21
|
+
CallbackWrapper(
|
|
22
|
+
jsi::Function &&callback,
|
|
23
|
+
jsi::Runtime &runtime,
|
|
24
|
+
std::shared_ptr<CallInvoker> jsInvoker)
|
|
25
|
+
: longLivedObjectCollection_(),
|
|
26
|
+
callback_(std::move(callback)),
|
|
27
|
+
runtime_(runtime),
|
|
28
|
+
jsInvoker_(std::move(jsInvoker)) {}
|
|
29
|
+
|
|
30
|
+
CallbackWrapper(
|
|
31
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection,
|
|
32
|
+
jsi::Function &&callback,
|
|
33
|
+
jsi::Runtime &runtime,
|
|
34
|
+
std::shared_ptr<CallInvoker> jsInvoker)
|
|
35
|
+
: longLivedObjectCollection_(longLivedObjectCollection),
|
|
36
|
+
callback_(std::move(callback)),
|
|
37
|
+
runtime_(runtime),
|
|
38
|
+
jsInvoker_(std::move(jsInvoker)) {}
|
|
39
|
+
|
|
40
|
+
// Use a weak_ptr to avoid a retain cycle: LongLivedObjectCollection owns all
|
|
41
|
+
// CallbackWrappers. So, CallbackWrapper cannot own its
|
|
42
|
+
// LongLivedObjectCollection.
|
|
43
|
+
std::weak_ptr<LongLivedObjectCollection> longLivedObjectCollection_;
|
|
44
|
+
jsi::Function callback_;
|
|
45
|
+
jsi::Runtime &runtime_;
|
|
46
|
+
std::shared_ptr<CallInvoker> jsInvoker_;
|
|
47
|
+
|
|
48
|
+
public:
|
|
49
|
+
static std::weak_ptr<CallbackWrapper> createWeak(
|
|
50
|
+
jsi::Function &&callback,
|
|
51
|
+
jsi::Runtime &runtime,
|
|
52
|
+
std::shared_ptr<CallInvoker> jsInvoker) {
|
|
53
|
+
auto wrapper = std::shared_ptr<CallbackWrapper>(
|
|
54
|
+
new CallbackWrapper(std::move(callback), runtime, jsInvoker));
|
|
55
|
+
LongLivedObjectCollection::get().add(wrapper);
|
|
56
|
+
return wrapper;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static std::weak_ptr<CallbackWrapper> createWeak(
|
|
60
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection,
|
|
61
|
+
jsi::Function &&callback,
|
|
62
|
+
jsi::Runtime &runtime,
|
|
63
|
+
std::shared_ptr<CallInvoker> jsInvoker) {
|
|
64
|
+
auto wrapper = std::shared_ptr<CallbackWrapper>(new CallbackWrapper(
|
|
65
|
+
longLivedObjectCollection, std::move(callback), runtime, jsInvoker));
|
|
66
|
+
longLivedObjectCollection->add(wrapper);
|
|
67
|
+
return wrapper;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Delete the enclosed jsi::Function
|
|
71
|
+
void destroy() {
|
|
72
|
+
allowRelease();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
jsi::Function &callback() {
|
|
76
|
+
return callback_;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
jsi::Runtime &runtime() {
|
|
80
|
+
return runtime_;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
CallInvoker &jsInvoker() {
|
|
84
|
+
return *(jsInvoker_);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
std::shared_ptr<CallInvoker> jsInvokerPtr() {
|
|
88
|
+
return jsInvoker_;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
void allowRelease() override {
|
|
92
|
+
if (auto longLivedObjectCollection = longLivedObjectCollection_.lock()) {
|
|
93
|
+
if (longLivedObjectCollection != nullptr) {
|
|
94
|
+
longLivedObjectCollection->remove(this);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
LongLivedObject::allowRelease();
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
} // namespace react
|
|
103
|
+
} // namespace facebook
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Base.h>
|
|
11
|
+
|
|
12
|
+
namespace facebook::react::bridging {
|
|
13
|
+
|
|
14
|
+
template <
|
|
15
|
+
typename T,
|
|
16
|
+
typename C,
|
|
17
|
+
typename R,
|
|
18
|
+
typename... Args,
|
|
19
|
+
typename... JSArgs>
|
|
20
|
+
T callFromJs(
|
|
21
|
+
jsi::Runtime &rt,
|
|
22
|
+
R (C::*method)(jsi::Runtime &, Args...),
|
|
23
|
+
const std::shared_ptr<CallInvoker> &jsInvoker,
|
|
24
|
+
C *instance,
|
|
25
|
+
JSArgs &&...args) {
|
|
26
|
+
static_assert(
|
|
27
|
+
sizeof...(Args) == sizeof...(JSArgs), "Incorrect arguments length");
|
|
28
|
+
static_assert(
|
|
29
|
+
(supportsFromJs<Args, JSArgs> && ...), "Incompatible arguments");
|
|
30
|
+
|
|
31
|
+
if constexpr (std::is_void_v<T>) {
|
|
32
|
+
(instance->*method)(
|
|
33
|
+
rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...);
|
|
34
|
+
|
|
35
|
+
} else if constexpr (std::is_void_v<R>) {
|
|
36
|
+
static_assert(
|
|
37
|
+
std::is_same_v<T, jsi::Value>,
|
|
38
|
+
"Void functions may only return undefined");
|
|
39
|
+
|
|
40
|
+
(instance->*method)(
|
|
41
|
+
rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...);
|
|
42
|
+
return jsi::Value();
|
|
43
|
+
|
|
44
|
+
} else if constexpr (is_jsi_v<T>) {
|
|
45
|
+
static_assert(supportsToJs<R, T>, "Incompatible return type");
|
|
46
|
+
|
|
47
|
+
return toJs(
|
|
48
|
+
rt,
|
|
49
|
+
(instance->*method)(
|
|
50
|
+
rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...),
|
|
51
|
+
jsInvoker);
|
|
52
|
+
|
|
53
|
+
} else {
|
|
54
|
+
static_assert(std::is_convertible_v<R, T>, "Incompatible return type");
|
|
55
|
+
|
|
56
|
+
return (instance->*method)(
|
|
57
|
+
rt, fromJs<Args>(rt, std::forward<JSArgs>(args), jsInvoker)...);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
template <typename R, typename... Args>
|
|
62
|
+
constexpr size_t getParameterCount(R (*)(Args...)) {
|
|
63
|
+
return sizeof...(Args);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
template <typename C, typename R, typename... Args>
|
|
67
|
+
constexpr size_t getParameterCount(R (C::*)(Args...)) {
|
|
68
|
+
return sizeof...(Args);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
} // namespace facebook::react::bridging
|