react-native 0.68.1 → 0.69.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +250 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +6 -11
- package/Libraries/Animated/createAnimatedComponent.js +2 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +2 -2
- package/Libraries/Blob/URL.js +7 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
- package/Libraries/Components/Slider/Slider.js +0 -2
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/Switch.js +11 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -8
- package/Libraries/Components/TextInput/TextInputState.js +10 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ViewNativeComponent.js +68 -8
- package/Libraries/Components/View/ViewPropTypes.js +36 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/RawEventEmitter.js +38 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/polyfillPromise.js +32 -0
- package/Libraries/Core/setUpReactDevTools.js +3 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/FBLazyVector/BUCK +4 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/Image.android.js +0 -6
- package/Libraries/Image/Image.ios.js +0 -6
- package/Libraries/Image/ImageViewNativeComponent.js +18 -3
- package/Libraries/Image/RCTImageBlurUtils.m +8 -5
- package/Libraries/Image/RCTImageCache.h +3 -0
- package/Libraries/Image/RCTImageCache.m +8 -2
- package/Libraries/Image/RCTImageLoader.mm +14 -4
- package/Libraries/Image/RCTImageUtils.m +8 -7
- package/Libraries/Image/RCTUIImageViewAnimated.m +1 -1
- package/Libraries/Image/React-RCTImage.podspec +2 -2
- package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
- package/Libraries/Inspector/Inspector.js +2 -4
- package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
- package/Libraries/Interaction/InteractionManager.js +1 -12
- package/Libraries/Interaction/TaskQueue.js +5 -4
- package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
- package/Libraries/Lists/FlatList.js +27 -6
- package/Libraries/Lists/VirtualizedList.js +71 -55
- package/Libraries/Lists/VirtualizedListContext.js +7 -3
- package/Libraries/Lists/VirtualizedSectionList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -21
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +2 -2
- package/{ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp → Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h} +6 -4
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +30 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +11 -6
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +8 -4
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +3 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +8 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
- package/Libraries/NativeComponent/ViewConfig.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
- package/Libraries/Network/FormData.js +7 -1
- package/Libraries/Network/React-RCTNetwork.podspec +2 -2
- package/Libraries/Pressability/Pressability.js +115 -46
- package/Libraries/Pressability/PressabilityDebug.js +5 -9
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +21 -9
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/renderApplication.js +4 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
- package/Libraries/Settings/React-RCTSettings.podspec +2 -2
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +2 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +20 -11
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +3 -3
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +2 -4
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +2 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +16 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +26 -10
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/Text/Text.js +13 -7
- package/Libraries/Text/TextNativeComponent.js +2 -0
- package/Libraries/Text/TextProps.js +10 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +10 -9
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -8
- package/Libraries/Types/CoreEventTypes.js +13 -1
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
- package/Libraries/Utilities/codegenNativeComponent.js +17 -6
- package/Libraries/Utilities/stringifySafe.js +4 -1
- package/Libraries/Utilities/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 +2 -2
- package/React/Views/RCTBorderDrawing.m +176 -173
- package/React/Views/RCTComponent.h +1 -0
- package/React/Views/RCTComponentData.m +11 -1
- package/React/Views/RCTDatePickerManager.m +5 -6
- package/React/Views/RCTModalHostView.h +1 -1
- package/React/Views/RCTView.h +10 -0
- package/React/Views/RCTView.m +34 -17
- package/React/Views/RCTViewManager.m +37 -2
- package/React/Views/UIView+React.h +1 -0
- package/React/Views/UIView+React.m +11 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/.npmignore +6 -2
- package/ReactAndroid/Android-prebuilt.mk +7 -13
- package/ReactAndroid/build.gradle +76 -85
- package/ReactAndroid/gradle.properties +3 -2
- package/ReactAndroid/hermes-engine/.npmignore +3 -0
- package/ReactAndroid/hermes-engine/build.gradle +261 -0
- package/ReactAndroid/hermes-engine/gradle.properties +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +4 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +13 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +8 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +4 -1
- package/ReactAndroid/src/androidTest/js/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +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 +32 -32
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +33 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +89 -12
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +116 -45
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +298 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +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 +72 -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 +20 -19
- 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.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0-release.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module +246 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.module.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom +44 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.pom.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.0/hermes-engine-0.69.0-rc.0.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.0/react-native-0.69.0-rc.0-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1-sources.jar → 0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.aar → 0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module +670 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.pom → 0.69.0-rc.0/react-native-0.69.0-rc.0.pom} +32 -3
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.0/react-native-0.69.0-rc.0.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/index.js +30 -25
- package/jest/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/package.json +23 -20
- 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 +125 -12
- 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/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
- package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
- package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
- package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
- package/template/Gemfile +1 -1
- package/template/_flowconfig +1 -2
- package/template/_gitignore +5 -3
- package/template/_ruby-version +1 -1
- package/template/android/app/build.gradle +11 -12
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +9 -1
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +2 -2
- package/template/android/app/src/main/jni/Android.mk +2 -3
- package/template/android/build.gradle +2 -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.1/react-native-0.68.1-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module +0 -272
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha512 +0 -1
- package/flow/Promise.js +0 -47
- package/template/Gemfile.lock +0 -100
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Error.h>
|
|
11
|
+
#include <react/bridging/Function.h>
|
|
12
|
+
#include <react/bridging/LongLivedObject.h>
|
|
13
|
+
|
|
14
|
+
#include <mutex>
|
|
15
|
+
#include <optional>
|
|
16
|
+
|
|
17
|
+
namespace facebook::react {
|
|
18
|
+
|
|
19
|
+
template <typename T>
|
|
20
|
+
class AsyncPromise {
|
|
21
|
+
public:
|
|
22
|
+
AsyncPromise(jsi::Runtime &rt, const std::shared_ptr<CallInvoker> &jsInvoker)
|
|
23
|
+
: state_(std::make_shared<SharedState>()) {
|
|
24
|
+
auto constructor = rt.global().getPropertyAsFunction(rt, "Promise");
|
|
25
|
+
|
|
26
|
+
auto promise = constructor.callAsConstructor(
|
|
27
|
+
rt,
|
|
28
|
+
bridging::toJs(
|
|
29
|
+
rt,
|
|
30
|
+
// Safe to capture this since this is called synchronously.
|
|
31
|
+
[this](AsyncCallback<T> resolve, AsyncCallback<Error> reject) {
|
|
32
|
+
state_->resolve = std::move(resolve);
|
|
33
|
+
state_->reject = std::move(reject);
|
|
34
|
+
},
|
|
35
|
+
jsInvoker));
|
|
36
|
+
|
|
37
|
+
auto promiseHolder = std::make_shared<PromiseHolder>(promise.asObject(rt));
|
|
38
|
+
LongLivedObjectCollection::get().add(promiseHolder);
|
|
39
|
+
|
|
40
|
+
// The shared state can retain the promise holder weakly now.
|
|
41
|
+
state_->promiseHolder = promiseHolder;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
void resolve(T value) {
|
|
45
|
+
std::lock_guard<std::mutex> lock(state_->mutex);
|
|
46
|
+
|
|
47
|
+
if (state_->resolve) {
|
|
48
|
+
state_->resolve->call(std::move(value));
|
|
49
|
+
state_->resolve.reset();
|
|
50
|
+
state_->reject.reset();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
void reject(Error error) {
|
|
55
|
+
std::lock_guard<std::mutex> lock(state_->mutex);
|
|
56
|
+
|
|
57
|
+
if (state_->reject) {
|
|
58
|
+
state_->reject->call(std::move(error));
|
|
59
|
+
state_->reject.reset();
|
|
60
|
+
state_->resolve.reset();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
jsi::Object get(jsi::Runtime &rt) const {
|
|
65
|
+
if (auto holder = state_->promiseHolder.lock()) {
|
|
66
|
+
return jsi::Value(rt, holder->promise).asObject(rt);
|
|
67
|
+
} else {
|
|
68
|
+
throw jsi::JSError(rt, "Failed to get invalidated promise");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
private:
|
|
73
|
+
struct PromiseHolder : LongLivedObject {
|
|
74
|
+
PromiseHolder(jsi::Object p) : promise(std::move(p)) {}
|
|
75
|
+
|
|
76
|
+
jsi::Object promise;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
struct SharedState {
|
|
80
|
+
~SharedState() {
|
|
81
|
+
if (auto holder = promiseHolder.lock()) {
|
|
82
|
+
holder->allowRelease();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
std::mutex mutex;
|
|
87
|
+
std::weak_ptr<PromiseHolder> promiseHolder;
|
|
88
|
+
std::optional<AsyncCallback<T>> resolve;
|
|
89
|
+
std::optional<AsyncCallback<Error>> reject;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
std::shared_ptr<SharedState> state_;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
template <typename T>
|
|
96
|
+
struct Bridging<AsyncPromise<T>> {
|
|
97
|
+
static jsi::Object toJs(jsi::Runtime &rt, const AsyncPromise<T> &promise) {
|
|
98
|
+
return promise.get(rt);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
|
9
|
+
version = package['version']
|
|
10
|
+
|
|
11
|
+
source = { :git => 'https://github.com/facebook/react-native.git' }
|
|
12
|
+
if version == '1000.0.0'
|
|
13
|
+
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
|
+
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
15
|
+
else
|
|
16
|
+
source[:tag] = "v#{version}"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
|
20
|
+
folly_version = '2021.06.28.00-v2'
|
|
21
|
+
|
|
22
|
+
Pod::Spec.new do |s|
|
|
23
|
+
s.name = "React-bridging"
|
|
24
|
+
s.version = version
|
|
25
|
+
s.summary = "-" # TODO
|
|
26
|
+
s.homepage = "https://reactnative.dev/"
|
|
27
|
+
s.license = package["license"]
|
|
28
|
+
s.author = "Facebook, Inc. and its affiliates"
|
|
29
|
+
s.platforms = { :ios => "12.4" }
|
|
30
|
+
s.source = source
|
|
31
|
+
s.source_files = "**/*.{cpp,h}"
|
|
32
|
+
s.exclude_files = "tests"
|
|
33
|
+
s.header_dir = "react/bridging"
|
|
34
|
+
s.compiler_flags = folly_compiler_flags
|
|
35
|
+
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\"",
|
|
36
|
+
"USE_HEADERMAP" => "YES",
|
|
37
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17" }
|
|
38
|
+
|
|
39
|
+
s.dependency "RCT-Folly", folly_version
|
|
40
|
+
s.dependency "React-jsi", version
|
|
41
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/bridging/Base.h>
|
|
11
|
+
|
|
12
|
+
#include <memory>
|
|
13
|
+
#include <optional>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
template <>
|
|
18
|
+
struct Bridging<std::nullptr_t> {
|
|
19
|
+
static std::nullptr_t fromJs(jsi::Runtime &rt, const jsi::Value &value) {
|
|
20
|
+
if (value.isNull() || value.isUndefined()) {
|
|
21
|
+
return nullptr;
|
|
22
|
+
} else {
|
|
23
|
+
throw jsi::JSError(rt, "Cannot convert value to nullptr");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static std::nullptr_t toJs(jsi::Runtime &, std::nullptr_t) {
|
|
28
|
+
return nullptr;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
template <typename T>
|
|
33
|
+
struct Bridging<std::optional<T>> {
|
|
34
|
+
static std::optional<T> fromJs(
|
|
35
|
+
jsi::Runtime &rt,
|
|
36
|
+
const jsi::Value &value,
|
|
37
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
38
|
+
if (value.isNull() || value.isUndefined()) {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
return bridging::fromJs<T>(rt, value, jsInvoker);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
template <typename U>
|
|
45
|
+
static std::optional<T> fromJs(
|
|
46
|
+
jsi::Runtime &rt,
|
|
47
|
+
const std::optional<U> &value,
|
|
48
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
49
|
+
if (value) {
|
|
50
|
+
return bridging::fromJs<T>(rt, *value, jsInvoker);
|
|
51
|
+
}
|
|
52
|
+
return {};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static jsi::Value toJs(
|
|
56
|
+
jsi::Runtime &rt,
|
|
57
|
+
const std::optional<T> &value,
|
|
58
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
59
|
+
if (value) {
|
|
60
|
+
return bridging::toJs(rt, *value, jsInvoker);
|
|
61
|
+
}
|
|
62
|
+
return jsi::Value::null();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
template <typename T>
|
|
67
|
+
struct Bridging<
|
|
68
|
+
std::shared_ptr<T>,
|
|
69
|
+
std::enable_if_t<!std::is_base_of_v<jsi::HostObject, T>>> {
|
|
70
|
+
static jsi::Value toJs(
|
|
71
|
+
jsi::Runtime &rt,
|
|
72
|
+
const std::shared_ptr<T> &ptr,
|
|
73
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
74
|
+
if (ptr) {
|
|
75
|
+
return bridging::toJs(rt, *ptr, jsInvoker);
|
|
76
|
+
}
|
|
77
|
+
return jsi::Value::null();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
template <typename T>
|
|
82
|
+
struct Bridging<std::unique_ptr<T>> {
|
|
83
|
+
static jsi::Value toJs(
|
|
84
|
+
jsi::Runtime &rt,
|
|
85
|
+
const std::unique_ptr<T> &ptr,
|
|
86
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
87
|
+
if (ptr) {
|
|
88
|
+
return bridging::toJs(rt, *ptr, jsInvoker);
|
|
89
|
+
}
|
|
90
|
+
return jsi::Value::null();
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
template <typename T>
|
|
95
|
+
struct Bridging<std::weak_ptr<T>> {
|
|
96
|
+
static jsi::Value toJs(
|
|
97
|
+
jsi::Runtime &rt,
|
|
98
|
+
const std::weak_ptr<T> &weakPtr,
|
|
99
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
100
|
+
if (auto ptr = weakPtr.lock()) {
|
|
101
|
+
return bridging::toJs(rt, *ptr, jsInvoker);
|
|
102
|
+
}
|
|
103
|
+
return jsi::Value::null();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "BridgingTest.h"
|
|
9
|
+
|
|
10
|
+
namespace facebook::react {
|
|
11
|
+
|
|
12
|
+
using namespace std::literals;
|
|
13
|
+
|
|
14
|
+
TEST_F(BridgingTest, jsiTest) {
|
|
15
|
+
jsi::Value value = true;
|
|
16
|
+
jsi::Value string = jsi::String::createFromAscii(rt, "hello");
|
|
17
|
+
jsi::Value object = jsi::Object(rt);
|
|
18
|
+
jsi::Value array = jsi::Array::createWithElements(rt, value, object);
|
|
19
|
+
jsi::Value func = function("() => {}");
|
|
20
|
+
|
|
21
|
+
// The bridging mechanism needs to know how to copy and downcast values.
|
|
22
|
+
EXPECT_NO_THROW(bridging::fromJs<jsi::Value>(rt, value, invoker));
|
|
23
|
+
EXPECT_NO_THROW(bridging::fromJs<jsi::String>(rt, string, invoker));
|
|
24
|
+
EXPECT_NO_THROW(bridging::fromJs<jsi::Object>(rt, object, invoker));
|
|
25
|
+
EXPECT_NO_THROW(bridging::fromJs<jsi::Array>(rt, array, invoker));
|
|
26
|
+
EXPECT_NO_THROW(bridging::fromJs<jsi::Function>(rt, func, invoker));
|
|
27
|
+
|
|
28
|
+
// Should throw when attempting an invalid cast.
|
|
29
|
+
EXPECT_JSI_THROW(bridging::fromJs<jsi::Object>(rt, value, invoker));
|
|
30
|
+
EXPECT_JSI_THROW(bridging::fromJs<jsi::String>(rt, array, invoker));
|
|
31
|
+
EXPECT_JSI_THROW(bridging::fromJs<jsi::Array>(rt, object, invoker));
|
|
32
|
+
EXPECT_JSI_THROW(bridging::fromJs<jsi::Array>(rt, string, invoker));
|
|
33
|
+
EXPECT_JSI_THROW(bridging::fromJs<jsi::Array>(rt, func, invoker));
|
|
34
|
+
|
|
35
|
+
// Should be able to generically no-op convert JSI.
|
|
36
|
+
EXPECT_NO_THROW(bridging::toJs(rt, value, invoker));
|
|
37
|
+
EXPECT_NO_THROW(bridging::toJs(rt, string.asString(rt), invoker));
|
|
38
|
+
EXPECT_NO_THROW(bridging::toJs(rt, object.asObject(rt), invoker));
|
|
39
|
+
EXPECT_NO_THROW(bridging::toJs(rt, array.asObject(rt).asArray(rt), invoker));
|
|
40
|
+
EXPECT_NO_THROW(
|
|
41
|
+
bridging::toJs(rt, func.asObject(rt).asFunction(rt), invoker));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
TEST_F(BridgingTest, boolTest) {
|
|
45
|
+
EXPECT_TRUE(bridging::fromJs<bool>(rt, jsi::Value(true), invoker));
|
|
46
|
+
EXPECT_FALSE(bridging::fromJs<bool>(rt, jsi::Value(false), invoker));
|
|
47
|
+
EXPECT_JSI_THROW(bridging::fromJs<bool>(rt, jsi::Value(1), invoker));
|
|
48
|
+
|
|
49
|
+
EXPECT_TRUE(bridging::toJs(rt, true).asBool());
|
|
50
|
+
EXPECT_FALSE(bridging::toJs(rt, false).asBool());
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
TEST_F(BridgingTest, numberTest) {
|
|
54
|
+
EXPECT_EQ(1, bridging::fromJs<int>(rt, jsi::Value(1), invoker));
|
|
55
|
+
EXPECT_FLOAT_EQ(1.2f, bridging::fromJs<float>(rt, jsi::Value(1.2), invoker));
|
|
56
|
+
EXPECT_DOUBLE_EQ(1.2, bridging::fromJs<double>(rt, jsi::Value(1.2), invoker));
|
|
57
|
+
EXPECT_JSI_THROW(bridging::fromJs<double>(rt, jsi::Value(true), invoker));
|
|
58
|
+
|
|
59
|
+
EXPECT_EQ(1, static_cast<int>(bridging::toJs(rt, 1).asNumber()));
|
|
60
|
+
EXPECT_FLOAT_EQ(
|
|
61
|
+
1.2f, static_cast<float>(bridging::toJs(rt, 1.2f).asNumber()));
|
|
62
|
+
EXPECT_DOUBLE_EQ(1.2, bridging::toJs(rt, 1.2).asNumber());
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
TEST_F(BridgingTest, stringTest) {
|
|
66
|
+
auto string = jsi::String::createFromAscii(rt, "hello");
|
|
67
|
+
|
|
68
|
+
EXPECT_EQ("hello"s, bridging::fromJs<std::string>(rt, string, invoker));
|
|
69
|
+
EXPECT_JSI_THROW(bridging::fromJs<std::string>(rt, jsi::Value(1), invoker));
|
|
70
|
+
|
|
71
|
+
EXPECT_TRUE(
|
|
72
|
+
jsi::String::strictEquals(rt, string, bridging::toJs(rt, "hello")));
|
|
73
|
+
EXPECT_TRUE(
|
|
74
|
+
jsi::String::strictEquals(rt, string, bridging::toJs(rt, "hello"s)));
|
|
75
|
+
EXPECT_TRUE(
|
|
76
|
+
jsi::String::strictEquals(rt, string, bridging::toJs(rt, "hello"sv)));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
TEST_F(BridgingTest, objectTest) {
|
|
80
|
+
auto object = jsi::Object(rt);
|
|
81
|
+
object.setProperty(rt, "foo", "bar");
|
|
82
|
+
|
|
83
|
+
auto omap =
|
|
84
|
+
bridging::fromJs<std::map<std::string, std::string>>(rt, object, invoker);
|
|
85
|
+
auto umap = bridging::fromJs<std::unordered_map<std::string, std::string>>(
|
|
86
|
+
rt, object, invoker);
|
|
87
|
+
auto bmap = bridging::fromJs<butter::map<std::string, std::string>>(
|
|
88
|
+
rt, object, invoker);
|
|
89
|
+
|
|
90
|
+
EXPECT_EQ(1, omap.size());
|
|
91
|
+
EXPECT_EQ(1, umap.size());
|
|
92
|
+
EXPECT_EQ(1, bmap.size());
|
|
93
|
+
EXPECT_EQ("bar"s, omap["foo"]);
|
|
94
|
+
EXPECT_EQ("bar"s, umap["foo"]);
|
|
95
|
+
EXPECT_EQ("bar"s, bmap["foo"]);
|
|
96
|
+
|
|
97
|
+
EXPECT_EQ(
|
|
98
|
+
"bar"s,
|
|
99
|
+
bridging::toJs(rt, omap, invoker)
|
|
100
|
+
.getProperty(rt, "foo")
|
|
101
|
+
.asString(rt)
|
|
102
|
+
.utf8(rt));
|
|
103
|
+
EXPECT_EQ(
|
|
104
|
+
"bar"s,
|
|
105
|
+
bridging::toJs(rt, umap, invoker)
|
|
106
|
+
.getProperty(rt, "foo")
|
|
107
|
+
.asString(rt)
|
|
108
|
+
.utf8(rt));
|
|
109
|
+
EXPECT_EQ(
|
|
110
|
+
"bar"s,
|
|
111
|
+
bridging::toJs(rt, bmap, invoker)
|
|
112
|
+
.getProperty(rt, "foo")
|
|
113
|
+
.asString(rt)
|
|
114
|
+
.utf8(rt));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
TEST_F(BridgingTest, hostObjectTest) {
|
|
118
|
+
struct TestHostObject : public jsi::HostObject {
|
|
119
|
+
jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &name) override {
|
|
120
|
+
if (name.utf8(rt) == "test") {
|
|
121
|
+
return jsi::Value(1);
|
|
122
|
+
}
|
|
123
|
+
return jsi::Value::undefined();
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
auto hostobject = std::make_shared<TestHostObject>();
|
|
128
|
+
auto object = bridging::toJs(rt, hostobject);
|
|
129
|
+
|
|
130
|
+
EXPECT_EQ(1, object.getProperty(rt, "test").asNumber());
|
|
131
|
+
EXPECT_EQ(
|
|
132
|
+
hostobject, bridging::fromJs<decltype(hostobject)>(rt, object, invoker));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
TEST_F(BridgingTest, weakbjectTest) {
|
|
136
|
+
auto object = jsi::Object(rt);
|
|
137
|
+
auto weakobject = jsi::WeakObject(rt, object);
|
|
138
|
+
|
|
139
|
+
EXPECT_TRUE(jsi::Object::strictEquals(
|
|
140
|
+
rt,
|
|
141
|
+
object,
|
|
142
|
+
bridging::fromJs<jsi::WeakObject>(rt, object, invoker)
|
|
143
|
+
.lock(rt)
|
|
144
|
+
.asObject(rt)));
|
|
145
|
+
|
|
146
|
+
EXPECT_TRUE(jsi::Object::strictEquals(
|
|
147
|
+
rt, object, bridging::toJs(rt, weakobject).asObject(rt)));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
TEST_F(BridgingTest, arrayTest) {
|
|
151
|
+
auto vec = std::vector({"foo"s, "bar"s});
|
|
152
|
+
auto array = jsi::Array::createWithElements(rt, "foo", "bar");
|
|
153
|
+
|
|
154
|
+
EXPECT_EQ(
|
|
155
|
+
vec, bridging::fromJs<std::vector<std::string>>(rt, array, invoker));
|
|
156
|
+
|
|
157
|
+
EXPECT_EQ(vec.size(), bridging::toJs(rt, vec, invoker).size(rt));
|
|
158
|
+
for (size_t i = 0; i < vec.size(); i++) {
|
|
159
|
+
EXPECT_EQ(
|
|
160
|
+
vec[i],
|
|
161
|
+
bridging::toJs(rt, vec, invoker)
|
|
162
|
+
.getValueAtIndex(rt, i)
|
|
163
|
+
.asString(rt)
|
|
164
|
+
.utf8(rt));
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
EXPECT_EQ(2, bridging::toJs(rt, std::make_pair(1, "2"), invoker).size(rt));
|
|
168
|
+
EXPECT_EQ(2, bridging::toJs(rt, std::make_tuple(1, "2"), invoker).size(rt));
|
|
169
|
+
EXPECT_EQ(2, bridging::toJs(rt, std::array<int, 2>{1, 2}, invoker).size(rt));
|
|
170
|
+
EXPECT_EQ(2, bridging::toJs(rt, std::deque<int>{1, 2}, invoker).size(rt));
|
|
171
|
+
EXPECT_EQ(2, bridging::toJs(rt, std::list<int>{1, 2}, invoker).size(rt));
|
|
172
|
+
EXPECT_EQ(
|
|
173
|
+
2,
|
|
174
|
+
bridging::toJs(rt, std::initializer_list<int>{1, 2}, invoker).size(rt));
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
TEST_F(BridgingTest, functionTest) {
|
|
178
|
+
auto object = jsi::Object(rt);
|
|
179
|
+
object.setProperty(rt, "foo", "bar");
|
|
180
|
+
|
|
181
|
+
auto lambda = [](std::map<std::string, std::string> map, std::string key) {
|
|
182
|
+
return map[key];
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
auto func = bridging::toJs(rt, lambda, invoker);
|
|
186
|
+
|
|
187
|
+
EXPECT_EQ(
|
|
188
|
+
"bar"s,
|
|
189
|
+
func.call(rt, object, jsi::String::createFromAscii(rt, "foo"))
|
|
190
|
+
.asString(rt)
|
|
191
|
+
.utf8(rt));
|
|
192
|
+
|
|
193
|
+
// Should throw if not enough arguments are passed or are the wrong types.
|
|
194
|
+
EXPECT_JSI_THROW(func.call(rt, object));
|
|
195
|
+
EXPECT_JSI_THROW(func.call(rt, object, jsi::Value(1)));
|
|
196
|
+
|
|
197
|
+
// Test with non-capturing lambda converted to function pointer.
|
|
198
|
+
func = bridging::toJs(rt, +lambda, invoker);
|
|
199
|
+
|
|
200
|
+
EXPECT_EQ(
|
|
201
|
+
"bar"s,
|
|
202
|
+
func.call(rt, object, jsi::String::createFromAscii(rt, "foo"))
|
|
203
|
+
.asString(rt)
|
|
204
|
+
.utf8(rt));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
TEST_F(BridgingTest, syncCallbackTest) {
|
|
208
|
+
auto fn = function("(a, b) => a + b");
|
|
209
|
+
auto cb = bridging::fromJs<SyncCallback<std::string(std::string, int)>>(
|
|
210
|
+
rt, fn, invoker);
|
|
211
|
+
auto foo = "foo"s;
|
|
212
|
+
|
|
213
|
+
EXPECT_EQ("foo1"s, cb(foo, 1)); // Tests lvalue string
|
|
214
|
+
EXPECT_EQ("bar2", cb("bar", 2)); // Tests rvalue C string
|
|
215
|
+
EXPECT_TRUE(fn.isFunction(rt)); // Ensure the function wasn't invalidated.
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
TEST_F(BridgingTest, asyncCallbackTest) {
|
|
219
|
+
std::string output;
|
|
220
|
+
|
|
221
|
+
auto func = std::function<void(std::string)>([&](auto str) { output = str; });
|
|
222
|
+
|
|
223
|
+
auto cb = bridging::fromJs<AsyncCallback<decltype(func), std::string>>(
|
|
224
|
+
rt, function("(func, str) => func(str)"), invoker);
|
|
225
|
+
|
|
226
|
+
cb(func, "hello");
|
|
227
|
+
|
|
228
|
+
flushQueue(); // Run scheduled async work
|
|
229
|
+
|
|
230
|
+
EXPECT_EQ("hello"s, output);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
TEST_F(BridgingTest, promiseTest) {
|
|
234
|
+
auto func = function(
|
|
235
|
+
"(promise, obj) => {"
|
|
236
|
+
" promise.then("
|
|
237
|
+
" (res) => { obj.res = res; },"
|
|
238
|
+
" (err) => { obj.err = err; }"
|
|
239
|
+
" )"
|
|
240
|
+
"}");
|
|
241
|
+
|
|
242
|
+
auto promise = AsyncPromise<std::vector<std::string>>(rt, invoker);
|
|
243
|
+
auto output = jsi::Object(rt);
|
|
244
|
+
|
|
245
|
+
func.call(rt, bridging::toJs(rt, promise, invoker), output);
|
|
246
|
+
promise.resolve({"foo"s, "bar"s});
|
|
247
|
+
flushQueue();
|
|
248
|
+
|
|
249
|
+
EXPECT_EQ(1, output.getPropertyNames(rt).size(rt));
|
|
250
|
+
EXPECT_EQ(2, output.getProperty(rt, "res").asObject(rt).asArray(rt).size(rt));
|
|
251
|
+
EXPECT_NO_THROW(promise.resolve({"ignored"}));
|
|
252
|
+
EXPECT_NO_THROW(promise.reject("ignored"));
|
|
253
|
+
|
|
254
|
+
promise = AsyncPromise<std::vector<std::string>>(rt, invoker);
|
|
255
|
+
output = jsi::Object(rt);
|
|
256
|
+
|
|
257
|
+
func.call(rt, bridging::toJs(rt, promise, invoker), output);
|
|
258
|
+
promise.reject("fail");
|
|
259
|
+
flushQueue();
|
|
260
|
+
|
|
261
|
+
EXPECT_EQ(1, output.getPropertyNames(rt).size(rt));
|
|
262
|
+
EXPECT_EQ(
|
|
263
|
+
"fail"s,
|
|
264
|
+
output.getProperty(rt, "err")
|
|
265
|
+
.asObject(rt)
|
|
266
|
+
.getProperty(rt, "message")
|
|
267
|
+
.asString(rt)
|
|
268
|
+
.utf8(rt));
|
|
269
|
+
EXPECT_NO_THROW(promise.resolve({"ignored"}));
|
|
270
|
+
EXPECT_NO_THROW(promise.reject("ignored"));
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
TEST_F(BridgingTest, optionalTest) {
|
|
274
|
+
EXPECT_EQ(
|
|
275
|
+
1, bridging::fromJs<std::optional<int>>(rt, jsi::Value(1), invoker));
|
|
276
|
+
EXPECT_EQ(
|
|
277
|
+
1,
|
|
278
|
+
bridging::fromJs<std::optional<int>>(
|
|
279
|
+
rt, std::make_optional(jsi::Value(1)), invoker));
|
|
280
|
+
EXPECT_EQ(
|
|
281
|
+
"hi"s,
|
|
282
|
+
bridging::fromJs<std::optional<std::string>>(
|
|
283
|
+
rt,
|
|
284
|
+
std::make_optional(jsi::String::createFromAscii(rt, "hi")),
|
|
285
|
+
invoker));
|
|
286
|
+
EXPECT_FALSE(
|
|
287
|
+
bridging::fromJs<std::optional<int>>(rt, jsi::Value::undefined(), invoker)
|
|
288
|
+
.has_value());
|
|
289
|
+
EXPECT_FALSE(
|
|
290
|
+
bridging::fromJs<std::optional<int>>(rt, jsi::Value::null(), invoker)
|
|
291
|
+
.has_value());
|
|
292
|
+
|
|
293
|
+
EXPECT_TRUE(bridging::toJs(rt, std::optional<int>(), invoker).isNull());
|
|
294
|
+
EXPECT_EQ(1, bridging::toJs(rt, std::optional<int>(1), invoker).asNumber());
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
TEST_F(BridgingTest, pointerTest) {
|
|
298
|
+
auto str = "hi"s;
|
|
299
|
+
auto unique = std::make_unique<std::string>(str);
|
|
300
|
+
auto shared = std::make_shared<std::string>(str);
|
|
301
|
+
auto weak = std::weak_ptr(shared);
|
|
302
|
+
|
|
303
|
+
EXPECT_EQ(str, bridging::toJs(rt, unique, invoker).asString(rt).utf8(rt));
|
|
304
|
+
EXPECT_EQ(str, bridging::toJs(rt, shared, invoker).asString(rt).utf8(rt));
|
|
305
|
+
EXPECT_EQ(str, bridging::toJs(rt, weak, invoker).asString(rt).utf8(rt));
|
|
306
|
+
|
|
307
|
+
shared.reset();
|
|
308
|
+
|
|
309
|
+
EXPECT_TRUE(bridging::toJs(rt, weak, invoker).isNull());
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
TEST_F(BridgingTest, supportTest) {
|
|
313
|
+
// Ensure sure can convert some basic types, including primitives that can be
|
|
314
|
+
// trivially converted to JSI values.
|
|
315
|
+
EXPECT_TRUE((bridging::supportsFromJs<bool>));
|
|
316
|
+
EXPECT_TRUE((bridging::supportsFromJs<bool, bool>));
|
|
317
|
+
EXPECT_TRUE((bridging::supportsFromJs<bool, jsi::Value &>));
|
|
318
|
+
EXPECT_TRUE((bridging::supportsFromJs<int>));
|
|
319
|
+
EXPECT_TRUE((bridging::supportsFromJs<int, int>));
|
|
320
|
+
EXPECT_TRUE((bridging::supportsFromJs<int, jsi::Value &>));
|
|
321
|
+
EXPECT_TRUE((bridging::supportsFromJs<double>));
|
|
322
|
+
EXPECT_TRUE((bridging::supportsFromJs<double, double>));
|
|
323
|
+
EXPECT_TRUE((bridging::supportsFromJs<double, jsi::Value &>));
|
|
324
|
+
EXPECT_TRUE((bridging::supportsFromJs<std::string>));
|
|
325
|
+
EXPECT_TRUE((bridging::supportsFromJs<std::string, jsi::String>));
|
|
326
|
+
EXPECT_TRUE((bridging::supportsFromJs<std::string, jsi::String &>));
|
|
327
|
+
EXPECT_TRUE((bridging::supportsFromJs<std::vector<int>, jsi::Array>));
|
|
328
|
+
EXPECT_TRUE((bridging::supportsFromJs<std::vector<int>, jsi::Array &>));
|
|
329
|
+
EXPECT_TRUE(
|
|
330
|
+
(bridging::supportsFromJs<std::map<std::string, int>, jsi::Object>));
|
|
331
|
+
EXPECT_TRUE(
|
|
332
|
+
(bridging::supportsFromJs<std::map<std::string, int>, jsi::Object &>));
|
|
333
|
+
|
|
334
|
+
// Ensure incompatible conversions will fail.
|
|
335
|
+
EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::String>));
|
|
336
|
+
EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::String &>));
|
|
337
|
+
EXPECT_FALSE((bridging::supportsFromJs<int, jsi::String>));
|
|
338
|
+
EXPECT_FALSE((bridging::supportsFromJs<int, jsi::String &>));
|
|
339
|
+
EXPECT_FALSE((bridging::supportsFromJs<double, jsi::String>));
|
|
340
|
+
EXPECT_FALSE((bridging::supportsFromJs<double, jsi::String &>));
|
|
341
|
+
EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::Object>));
|
|
342
|
+
EXPECT_FALSE((bridging::supportsFromJs<bool, jsi::Object &>));
|
|
343
|
+
EXPECT_FALSE((bridging::supportsFromJs<int, jsi::Object>));
|
|
344
|
+
EXPECT_FALSE((bridging::supportsFromJs<int, jsi::Object &>));
|
|
345
|
+
EXPECT_FALSE((bridging::supportsFromJs<double, jsi::Object>));
|
|
346
|
+
EXPECT_FALSE((bridging::supportsFromJs<double, jsi::Object &>));
|
|
347
|
+
EXPECT_FALSE((bridging::supportsFromJs<std::string, jsi::Object>));
|
|
348
|
+
EXPECT_FALSE((bridging::supportsFromJs<std::string, jsi::Object &>));
|
|
349
|
+
EXPECT_FALSE((bridging::supportsFromJs<std::vector<int>, jsi::String>));
|
|
350
|
+
EXPECT_FALSE((bridging::supportsFromJs<std::vector<int>, jsi::String &>));
|
|
351
|
+
|
|
352
|
+
// Ensure copying and up/down casting JSI values is also supported.
|
|
353
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Value>));
|
|
354
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Value, jsi::Value &>));
|
|
355
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Value, jsi::Object>));
|
|
356
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Value, jsi::Object &>));
|
|
357
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::String>));
|
|
358
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::String, jsi::String>));
|
|
359
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::String, jsi::String &>));
|
|
360
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object>));
|
|
361
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Object>));
|
|
362
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Object &>));
|
|
363
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Array>));
|
|
364
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Array &>));
|
|
365
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Function>));
|
|
366
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Object, jsi::Function &>));
|
|
367
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Array>));
|
|
368
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Array>));
|
|
369
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Array &>));
|
|
370
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Object>));
|
|
371
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Array, jsi::Object &>));
|
|
372
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Function>));
|
|
373
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Function>));
|
|
374
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Function &>));
|
|
375
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Object>));
|
|
376
|
+
EXPECT_TRUE((bridging::supportsFromJs<jsi::Function, jsi::Object &>));
|
|
377
|
+
|
|
378
|
+
// Ensure incorrect casts will fail.
|
|
379
|
+
EXPECT_FALSE((bridging::supportsFromJs<jsi::Array, jsi::Function>));
|
|
380
|
+
EXPECT_FALSE((bridging::supportsFromJs<jsi::Array, jsi::Function &>));
|
|
381
|
+
EXPECT_FALSE((bridging::supportsFromJs<jsi::Function, jsi::Array>));
|
|
382
|
+
EXPECT_FALSE((bridging::supportsFromJs<jsi::Function, jsi::Array &>));
|
|
383
|
+
|
|
384
|
+
// Ensure we can convert some basic types to JSI values.
|
|
385
|
+
EXPECT_TRUE((bridging::supportsToJs<bool>));
|
|
386
|
+
EXPECT_TRUE((bridging::supportsToJs<int>));
|
|
387
|
+
EXPECT_TRUE((bridging::supportsToJs<double>));
|
|
388
|
+
EXPECT_TRUE((bridging::supportsToJs<std::string>));
|
|
389
|
+
EXPECT_TRUE((bridging::supportsToJs<std::string, jsi::String>));
|
|
390
|
+
EXPECT_TRUE((bridging::supportsToJs<std::vector<int>>));
|
|
391
|
+
EXPECT_TRUE((bridging::supportsToJs<std::vector<int>, jsi::Array>));
|
|
392
|
+
EXPECT_TRUE((bridging::supportsToJs<std::map<std::string, int>>));
|
|
393
|
+
EXPECT_TRUE(
|
|
394
|
+
(bridging::supportsToJs<std::map<std::string, int>, jsi::Object>));
|
|
395
|
+
EXPECT_TRUE((bridging::supportsToJs<void (*)()>));
|
|
396
|
+
EXPECT_TRUE((bridging::supportsToJs<void (*)(), jsi::Function>));
|
|
397
|
+
|
|
398
|
+
// Ensure invalid conversions to JSI values are not supported.
|
|
399
|
+
EXPECT_FALSE((bridging::supportsToJs<void *>));
|
|
400
|
+
EXPECT_FALSE((bridging::supportsToJs<bool, jsi::Object>));
|
|
401
|
+
EXPECT_FALSE((bridging::supportsToJs<int, jsi::Object>));
|
|
402
|
+
EXPECT_FALSE((bridging::supportsToJs<double, jsi::Object>));
|
|
403
|
+
EXPECT_FALSE((bridging::supportsToJs<std::string, jsi::Object>));
|
|
404
|
+
EXPECT_FALSE((bridging::supportsToJs<std::vector<int>, jsi::Function>));
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
} // namespace facebook::react
|