react-native 0.0.0-17be3a003 → 0.0.0-18697adec
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/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
- package/Libraries/Animated/AnimatedEvent.js +23 -4
- package/Libraries/Animated/AnimatedImplementation.js +0 -2
- package/Libraries/Animated/AnimatedMock.js +1 -8
- package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
- package/Libraries/Animated/animations/Animation.js +1 -0
- package/Libraries/Animated/animations/DecayAnimation.js +2 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +3 -0
- package/Libraries/Animated/createAnimatedComponent.js +6 -18
- package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +20 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
- package/Libraries/Animated/useAnimatedProps.js +211 -0
- package/Libraries/BatchedBridge/MessageQueue.js +15 -10
- package/Libraries/BatchedBridge/NativeModules.js +5 -1
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/RCTBlobManager.h +2 -1
- package/Libraries/Blob/RCTBlobManager.mm +1 -3
- package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Blob/URL.js +2 -2
- package/Libraries/BugReporting/BugReporting.js +2 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -6
- package/Libraries/Components/Button.js +27 -12
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +50 -12
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -15
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +22 -5
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -9
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +14 -6
- package/Libraries/Components/Slider/Slider.js +19 -6
- package/Libraries/Components/StatusBar/StatusBar.js +10 -19
- package/Libraries/Components/Switch/Switch.js +98 -114
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -6
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/InputAccessoryView.js +6 -6
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +5 -13
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +5 -13
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -2
- package/Libraries/Components/TextInput/TextInput.js +53 -19
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
- package/Libraries/Components/Touchable/PooledClass.js +1 -2
- package/Libraries/Components/Touchable/Position.js +1 -2
- package/Libraries/Components/Touchable/Touchable.js +20 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +11 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +0 -10
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +51 -41
- package/Libraries/Core/ExtendedError.js +19 -0
- package/Libraries/Core/InitializeCore.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +37 -28
- package/Libraries/Core/Timers/immediateShim.js +67 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpGlobals.js +2 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
- package/Libraries/Core/setUpTimers.js +65 -6
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
- package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +22 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
- package/Libraries/FBLazyVector/BUCK +5 -1
- package/Libraries/Image/Image.android.js +22 -131
- package/Libraries/Image/Image.ios.js +16 -8
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageInjection.js +28 -0
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/ImageSource.js +108 -65
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -1
- package/Libraries/Image/RCTImageLoader.h +2 -2
- package/Libraries/Image/RCTImageLoader.mm +6 -6
- package/Libraries/Image/RCTImagePlugins.mm +4 -3
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +6 -0
- package/Libraries/Interaction/InteractionManager.js +3 -0
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/CellRenderMask.js +145 -0
- package/Libraries/Lists/FlatList.js +43 -26
- package/Libraries/Lists/VirtualizedList.js +14 -17
- package/Libraries/Lists/VirtualizedSectionList.js +159 -136
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
- package/Libraries/LogBox/Data/LogBoxData.js +21 -19
- package/Libraries/LogBox/LogBox.js +114 -47
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/Modal/Modal.js +8 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -2
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -7
- package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
- package/Libraries/Network/RCTNetworking.h +1 -1
- package/Libraries/Network/RCTNetworking.mm +3 -3
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XMLHttpRequest.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +1 -0
- package/Libraries/NewAppScreen/components/HermesBadge.js +4 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +3 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +6 -0
- package/Libraries/Pressability/Pressability.js +1 -0
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/ReactNative/AppContainer.js +3 -8
- package/Libraries/ReactNative/AppRegistry.js +7 -2
- package/Libraries/ReactNative/DisplayMode.js +4 -5
- package/Libraries/ReactNative/DummyUIManager.js +7 -2
- package/Libraries/ReactNative/FabricUIManager.js +4 -3
- package/Libraries/ReactNative/I18nManager.js +12 -3
- package/Libraries/ReactNative/NativeUIManager.js +2 -1
- package/Libraries/ReactNative/PaperUIManager.js +3 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactNative/UIManager.js +2 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
- package/Libraries/ReactNative/renderApplication.js +12 -5
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -3
- package/Libraries/Reliability/UserFlow.js +7 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +6364 -5120
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +7877 -6935
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2488 -2118
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2112 -1937
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2922 -2418
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2568 -2244
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +6086 -4942
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5736 -4864
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1624 -1394
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2275 -2120
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +2279 -1921
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2565 -2259
- package/Libraries/Renderer/shims/ReactFabric.js +5 -4
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +7 -4
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Settings/Settings.ios.js +4 -0
- package/Libraries/Storage/AsyncStorage.js +1 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -0
- package/Libraries/StyleSheet/StyleSheet.js +3 -5
- package/Libraries/StyleSheet/normalizeColor.js +2 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
- package/Libraries/Text/Text.js +17 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -10
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Dimensions.js +9 -14
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/HMRClient.js +15 -8
- package/Libraries/Utilities/MatrixMath.js +1 -1
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +8 -2
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
- package/Libraries/Utilities/deprecatedPropType.js +2 -2
- package/Libraries/Utilities/useMergeRefs.js +44 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +7 -2
- package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
- package/Libraries/promiseRejectionTrackingOptions.js +2 -0
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
- package/README.md +5 -5
- package/React/Base/RCTAssert.h +23 -13
- package/React/Base/RCTAssert.m +35 -9
- package/React/Base/RCTBridge+Private.h +8 -2
- package/React/Base/RCTBridge.h +19 -3
- package/React/Base/RCTBridge.m +33 -12
- package/React/Base/RCTBridgeModule.h +62 -12
- package/React/Base/RCTBundleManager.m +78 -0
- package/React/Base/RCTBundleURLProvider.h +36 -8
- package/React/Base/RCTBundleURLProvider.mm +91 -12
- package/React/Base/RCTCallableJSModules.m +47 -0
- package/React/Base/RCTConstants.h +6 -13
- package/React/Base/RCTConstants.m +12 -27
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTConvert.m +31 -7
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +12 -3
- package/React/Base/RCTEventDispatcherProtocol.h +3 -2
- package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTModuleData.h +11 -3
- package/React/Base/RCTModuleData.mm +66 -1
- package/React/Base/RCTMultipartStreamReader.m +0 -2
- package/React/Base/RCTRootView.h +15 -0
- package/React/Base/RCTRootView.m +15 -0
- package/React/Base/RCTTouchHandler.m +4 -9
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +46 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
- package/React/CoreModules/BUCK +4 -3
- package/React/CoreModules/CoreModulesPlugins.mm +4 -3
- package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
- package/React/CoreModules/RCTDevLoadingView.mm +10 -23
- package/React/CoreModules/RCTDevMenu.mm +22 -25
- package/React/CoreModules/RCTDevSettings.h +2 -1
- package/React/CoreModules/RCTDevSettings.mm +76 -75
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +3 -8
- package/React/CoreModules/RCTDeviceInfo.mm +4 -5
- package/React/CoreModules/RCTEventDispatcher.h +2 -1
- package/React/CoreModules/RCTEventDispatcher.mm +17 -25
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +14 -10
- package/React/CoreModules/RCTPerfMonitor.mm +9 -4
- package/React/CoreModules/RCTRedBox.mm +3 -12
- package/React/CoreModules/RCTSourceCode.mm +2 -1
- package/React/CoreModules/RCTTiming.h +2 -1
- package/React/CoreModules/RCTTiming.mm +1 -3
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +81 -12
- package/React/CxxModule/RCTNativeModule.mm +3 -1
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +19 -8
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +3 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -6
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +41 -26
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +101 -85
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +7 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +5 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +12 -9
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +53 -17
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +110 -8
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
- package/React/Fabric/Mounting/RCTMountingManager.h +6 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +25 -4
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
- package/React/Fabric/RCTConversions.h +3 -0
- package/React/Fabric/RCTScheduler.h +3 -1
- package/React/Fabric/RCTScheduler.mm +26 -8
- package/React/Fabric/RCTSurfacePresenter.mm +33 -33
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/Modules/RCTEventEmitter.h +1 -2
- package/React/Modules/RCTEventEmitter.m +8 -11
- package/React/Modules/RCTI18nUtil.h +14 -6
- package/React/Modules/RCTI18nUtil.m +1 -47
- package/React/Modules/RCTUIManager.m +2 -0
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
- package/React/React-RCTFabric.podspec +3 -3
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +63 -0
- package/React/Views/RCTDatePickerManager.m +33 -0
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTModalHostView.h +5 -1
- package/React/Views/RCTModalHostView.m +52 -20
- package/React/Views/RCTModalHostViewManager.m +5 -0
- package/React/Views/RCTModalManager.h +0 -7
- package/React/Views/RCTModalManager.m +0 -9
- package/React/Views/RCTView.h +7 -7
- package/React/Views/RCTView.m +32 -49
- package/React/Views/RCTViewManager.m +22 -4
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +123 -36
- package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
- package/React/Views/UIView+React.m +2 -11
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +2 -2
- package/ReactAndroid/Android-prebuilt.mk +8 -0
- package/ReactAndroid/README.md +2 -2
- package/ReactAndroid/build.gradle +132 -20
- package/ReactAndroid/gradle.properties +7 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
- package/ReactAndroid/src/androidTest/js/BUCK +26 -0
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +124 -66
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +25 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +26 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +23 -9
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +54 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +163 -328
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +8 -59
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +154 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +171 -53
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +21 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +35 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +136 -35
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +28 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +53 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +20 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +34 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +10 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +17 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +101 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +3 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +31 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +39 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +38 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +16 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +117 -62
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
- package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
- package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/event-config.h +340 -0
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
- package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -8
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
- package/ReactCommon/React-Fabric.podspec +11 -11
- package/ReactCommon/ReactCommon.podspec +3 -2
- package/ReactCommon/callinvoker/BUCK +2 -2
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/Android.mk +2 -1
- package/ReactCommon/cxxreact/BUCK +1 -3
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
- package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
- package/ReactCommon/cxxreact/Instance.cpp +21 -1
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
- package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
- package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +4 -4
- package/ReactCommon/hermes/executor/Android.mk +4 -4
- package/ReactCommon/hermes/inspector/Android.mk +1 -2
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +74 -0
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +100 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +81 -0
- package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +8 -5
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -0
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2246 -1419
- package/ReactCommon/jsi/Android.mk +1 -1
- package/ReactCommon/jsi/BUCK +0 -2
- package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
- package/ReactCommon/jsi/React-jsi.podspec +3 -3
- package/ReactCommon/jsi/jsi/decorator.h +7 -0
- package/ReactCommon/jsi/jsi/jsi.h +29 -0
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +35 -2
- package/ReactCommon/logger/Android.mk +23 -0
- package/ReactCommon/logger/BUCK +43 -0
- package/ReactCommon/logger/React-logger.podspec +40 -0
- package/ReactCommon/logger/react_native_log.cpp +52 -0
- package/ReactCommon/logger/react_native_log.h +33 -0
- package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -17
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +73 -40
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +111 -107
- package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +0 -2
- package/ReactCommon/react/renderer/animations/BUCK +2 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1231 -1401
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +90 -241
- package/ReactCommon/react/renderer/animations/conversions.h +212 -0
- package/ReactCommon/react/renderer/animations/primitives.h +104 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
- package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
- package/ReactCommon/react/renderer/animations/utils.h +80 -0
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
- package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +12 -6
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
- package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
- package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/root/BUCK +1 -0
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
- package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
- package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +54 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +4 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +5 -2
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
- package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
- package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
- package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
- package/ReactCommon/react/renderer/components/view/BUCK +1 -0
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
- package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -10
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -12
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +78 -7
- package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
- package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
- package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
- package/ReactCommon/react/renderer/core/Android.mk +1 -1
- package/ReactCommon/react/renderer/core/BUCK +1 -0
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
- package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
- package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
- package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -36
- package/ReactCommon/react/renderer/core/EventQueue.h +14 -8
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
- package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +6 -0
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
- package/ReactCommon/react/renderer/core/Props.cpp +10 -2
- package/ReactCommon/react/renderer/core/Props.h +6 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
- package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +3 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +9 -12
- package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
- package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +97 -29
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
- package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -9
- package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
- package/ReactCommon/react/renderer/graphics/BUCK +12 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -2
- package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +1 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +43 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
- package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +6 -9
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -4
- package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +34 -31
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +10 -9
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +50 -35
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +13 -13
- package/ReactCommon/react/renderer/mapbuffer/primitives.h +18 -19
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +13 -1
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
- package/ReactCommon/react/renderer/mounting/BUCK +1 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +392 -519
- package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +1 -7
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +7 -5
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +2 -0
- package/ReactCommon/react/renderer/mounting/ShadowView.h +2 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +10 -3
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/stubs.cpp +3 -3
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +23 -22
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +49 -10
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -3
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +78 -16
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +60 -8
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +17 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +8 -5
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +20 -25
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +16 -15
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +297 -11
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +6 -0
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +13 -12
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +64 -40
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +18 -3
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +9 -1
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -6
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -35
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -12
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +11 -4
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
- package/ReactCommon/react/renderer/telemetry/BUCK +1 -0
- package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -19
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
- package/ReactCommon/react/renderer/timeline/BUCK +6 -6
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +32 -28
- package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -4
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +61 -17
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -2
- package/ReactCommon/react/{renderer/components/picker/iospicker → test_utils}/BUCK +12 -14
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +0 -0
- package/ReactCommon/react/test_utils/MockClock.h +29 -0
- package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +18 -4
- package/ReactCommon/react/utils/Android.mk +3 -1
- package/ReactCommon/react/utils/BUCK +1 -0
- package/ReactCommon/react/utils/ContextContainer.h +0 -27
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +2 -6
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module +272 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +22 -11
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
- 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 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/global.js +68 -0
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
- package/index.js +67 -42
- package/jest/preprocessor.js +75 -7
- package/jest/renderer.js +3 -7
- package/jest/setup.js +3 -2
- package/package.json +59 -20
- package/react.gradle +22 -22
- package/scripts/find-node.sh +6 -0
- package/scripts/generate-specs-cli.js +20 -2
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +5 -1
- package/scripts/react_native_pods.rb +213 -43
- package/template/_flowconfig +3 -4
- package/template/_gitignore +1 -0
- package/template/android/app/build.gradle +12 -7
- package/template/android/app/src/main/res/values/styles.xml +0 -1
- package/template/android/build.gradle +5 -6
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/ios/Podfile +1 -0
- package/template/package.json +3 -4
- package/third-party-podspecs/RCT-Folly.podspec +31 -11
- package/third-party-podspecs/boost.podspec +23 -0
- package/Libraries/BUCK +0 -24
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -83
- package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -82
- package/Libraries/Components/Picker/Picker.js +0 -169
- package/Libraries/Components/Picker/PickerAndroid.android.js +0 -143
- package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
- package/Libraries/Components/Picker/PickerIOS.ios.js +0 -162
- package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -86
- package/Libraries/Components/ScrollView/ScrollViewStickyHeaderInjection.js +0 -17
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
- package/Libraries/Components/Switch/SwitchInjection.js +0 -17
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
- package/Libraries/Interaction/InteractionMixin.js +0 -53
- package/Libraries/Lists/VirtualizedListInjection.js +0 -15
- package/Libraries/Lists/VirtualizedSectionListInjection.js +0 -17
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
- package/Libraries/Text/TextInjection.js +0 -15
- package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -34
- package/React/Base/RCTBundleHolderModule.h +0 -16
- package/React/Base/RCTJSInvokerModule.h +0 -18
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
- package/React/Views/RCTPicker.h +0 -23
- package/React/Views/RCTPicker.m +0 -122
- package/React/Views/RCTPickerManager.m +0 -59
- package/ReactAndroid/release.gradle +0 -87
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -147
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -42
- package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/picker/BUCK +0 -98
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerState.h +0 -19
- package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -48
- package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
- package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.cpp +0 -1564
- package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.h +0 -45
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom.sha1 +0 -1
- package/scripts/generate-specs.sh +0 -100
|
@@ -8,15 +8,13 @@
|
|
|
8
8
|
#include "LeakChecker.h"
|
|
9
9
|
|
|
10
10
|
#include <glog/logging.h>
|
|
11
|
+
#include <jsi/instrumentation.h>
|
|
11
12
|
|
|
12
13
|
namespace facebook {
|
|
13
14
|
namespace react {
|
|
14
15
|
|
|
15
|
-
LeakChecker::LeakChecker(
|
|
16
|
-
|
|
17
|
-
GarbageCollectionTrigger const &garbageCollectionTrigger)
|
|
18
|
-
: runtimeExecutor_(runtimeExecutor),
|
|
19
|
-
garbageCollectionTrigger_(garbageCollectionTrigger) {}
|
|
16
|
+
LeakChecker::LeakChecker(RuntimeExecutor const &runtimeExecutor)
|
|
17
|
+
: runtimeExecutor_(runtimeExecutor) {}
|
|
20
18
|
|
|
21
19
|
void LeakChecker::uiManagerDidCreateShadowNodeFamily(
|
|
22
20
|
ShadowNodeFamily::Shared const &shadowNodeFamily) const {
|
|
@@ -24,13 +22,12 @@ void LeakChecker::uiManagerDidCreateShadowNodeFamily(
|
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
void LeakChecker::stopSurface(SurfaceId surfaceId) {
|
|
27
|
-
garbageCollectionTrigger_();
|
|
28
|
-
|
|
29
25
|
if (previouslyStoppedSurface_ > 0) {
|
|
30
26
|
// Dispatch the check onto JavaScript thread to make sure all other
|
|
31
27
|
// cleanup code has had chance to run.
|
|
32
28
|
runtimeExecutor_([previouslySoppedSurface = previouslyStoppedSurface_,
|
|
33
|
-
this](jsi::Runtime &) {
|
|
29
|
+
this](jsi::Runtime &runtime) {
|
|
30
|
+
runtime.instrumentation().collectGarbage("LeakChecker");
|
|
34
31
|
// For now check the previous surface because React uses double
|
|
35
32
|
// buffering which keeps the surface that was just stopped in
|
|
36
33
|
// memory. This is a documented problem in the last point of
|
|
@@ -44,7 +41,7 @@ void LeakChecker::stopSurface(SurfaceId surfaceId) {
|
|
|
44
41
|
|
|
45
42
|
void LeakChecker::checkSurfaceForLeaks(SurfaceId surfaceId) const {
|
|
46
43
|
auto weakFamilies = registry_.weakFamiliesForSurfaceId(surfaceId);
|
|
47
|
-
|
|
44
|
+
unsigned int numberOfLeaks = 0;
|
|
48
45
|
for (auto const &weakFamily : weakFamilies) {
|
|
49
46
|
auto strong = weakFamily.lock();
|
|
50
47
|
if (strong) {
|
|
@@ -20,9 +20,7 @@ using GarbageCollectionTrigger = std::function<void()>;
|
|
|
20
20
|
|
|
21
21
|
class LeakChecker final {
|
|
22
22
|
public:
|
|
23
|
-
LeakChecker(
|
|
24
|
-
RuntimeExecutor const &runtimeExecutor,
|
|
25
|
-
GarbageCollectionTrigger const &garbageCollectionTrigger);
|
|
23
|
+
LeakChecker(RuntimeExecutor const &runtimeExecutor);
|
|
26
24
|
|
|
27
25
|
void uiManagerDidCreateShadowNodeFamily(
|
|
28
26
|
ShadowNodeFamily::Shared const &shadowNodeFamily) const;
|
|
@@ -32,7 +30,6 @@ class LeakChecker final {
|
|
|
32
30
|
void checkSurfaceForLeaks(SurfaceId surfaceId) const;
|
|
33
31
|
|
|
34
32
|
RuntimeExecutor const runtimeExecutor_{};
|
|
35
|
-
GarbageCollectionTrigger const garbageCollectionTrigger_{};
|
|
36
33
|
|
|
37
34
|
WeakFamilyRegistry registry_{};
|
|
38
35
|
SurfaceId previouslyStoppedSurface_;
|
|
@@ -40,7 +40,7 @@ rn_xplat_cxx_library(
|
|
|
40
40
|
force_static = True,
|
|
41
41
|
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
|
42
42
|
macosx_tests_override = [],
|
|
43
|
-
platforms =
|
|
43
|
+
platforms = ANDROID,
|
|
44
44
|
preprocessor_flags = [
|
|
45
45
|
"-DLOG_TAG=\"ReactNative\"",
|
|
46
46
|
"-DWITH_FBSYSTRACE=1",
|
|
@@ -67,7 +67,7 @@ fb_xplat_cxx_test(
|
|
|
67
67
|
"-Wall",
|
|
68
68
|
],
|
|
69
69
|
contacts = ["oncall+react_native@xmail.facebook.com"],
|
|
70
|
-
platforms =
|
|
70
|
+
platforms = ANDROID,
|
|
71
71
|
deps = [
|
|
72
72
|
"//xplat/folly:molly",
|
|
73
73
|
"//xplat/third-party/gmock:gtest",
|
|
@@ -12,7 +12,12 @@ using namespace facebook::react;
|
|
|
12
12
|
namespace facebook {
|
|
13
13
|
namespace react {
|
|
14
14
|
|
|
15
|
-
MapBuffer
|
|
15
|
+
// TODO T83483191: Extend MapBuffer C++ implementation to support basic random
|
|
16
|
+
// access
|
|
17
|
+
MapBuffer::MapBuffer(uint8_t *const data, int32_t dataSize) {
|
|
18
|
+
react_native_assert(
|
|
19
|
+
(data != nullptr) && "Error trying to build an invalid MapBuffer");
|
|
20
|
+
|
|
16
21
|
// Should we move the memory here or document it?
|
|
17
22
|
data_ = data;
|
|
18
23
|
|
|
@@ -22,12 +27,13 @@ MapBuffer::MapBuffer(uint8_t *const data, uint16_t dataSize) {
|
|
|
22
27
|
reinterpret_cast<const uint8_t *>(data_ + HEADER_COUNT_OFFSET),
|
|
23
28
|
UINT16_SIZE);
|
|
24
29
|
|
|
25
|
-
// TODO: extract memcpy calls into an inline function to simplify
|
|
30
|
+
// TODO T83483191: extract memcpy calls into an inline function to simplify
|
|
31
|
+
// the code
|
|
26
32
|
dataSize_ = 0;
|
|
27
33
|
memcpy(
|
|
28
34
|
reinterpret_cast<uint8_t *>(&dataSize_),
|
|
29
35
|
reinterpret_cast<const uint8_t *>(data_ + HEADER_BUFFER_SIZE_OFFSET),
|
|
30
|
-
|
|
36
|
+
INT_SIZE);
|
|
31
37
|
|
|
32
38
|
if (dataSize != dataSize_) {
|
|
33
39
|
LOG(ERROR) << "Error: Data size does not match, expected " << dataSize
|
|
@@ -36,8 +42,8 @@ MapBuffer::MapBuffer(uint8_t *const data, uint16_t dataSize) {
|
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
int32_t MapBuffer::getInt(Key key) const {
|
|
46
|
+
int32_t value = 0;
|
|
41
47
|
memcpy(
|
|
42
48
|
reinterpret_cast<uint8_t *>(&value),
|
|
43
49
|
reinterpret_cast<const uint8_t *>(data_ + getValueOffset(key)),
|
|
@@ -50,8 +56,8 @@ bool MapBuffer::getBool(Key key) const {
|
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
double MapBuffer::getDouble(Key key) const {
|
|
53
|
-
// TODO: extract this code into a "template method" and reuse it for
|
|
54
|
-
// types
|
|
59
|
+
// TODO T83483191: extract this code into a "template method" and reuse it for
|
|
60
|
+
// other types
|
|
55
61
|
double value = 0;
|
|
56
62
|
memcpy(
|
|
57
63
|
reinterpret_cast<uint8_t *>(&value),
|
|
@@ -60,54 +66,52 @@ double MapBuffer::getDouble(Key key) const {
|
|
|
60
66
|
return value;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
|
-
|
|
69
|
+
int32_t MapBuffer::getDynamicDataOffset() const {
|
|
64
70
|
// The begininig of dynamic data can be calculated as the offset of the next
|
|
65
71
|
// key in the map
|
|
66
72
|
return getKeyOffset(count_);
|
|
67
73
|
}
|
|
68
74
|
|
|
69
75
|
std::string MapBuffer::getString(Key key) const {
|
|
70
|
-
// TODO Add checks to verify that offsets are under the boundaries
|
|
71
|
-
// buffer
|
|
72
|
-
|
|
73
|
-
|
|
76
|
+
// TODO T83483191:Add checks to verify that offsets are under the boundaries
|
|
77
|
+
// of the map buffer
|
|
78
|
+
int32_t dynamicDataOffset = getDynamicDataOffset();
|
|
79
|
+
int32_t stringLength = 0;
|
|
80
|
+
int32_t offset = getInt(key);
|
|
74
81
|
memcpy(
|
|
75
82
|
reinterpret_cast<uint8_t *>(&stringLength),
|
|
76
|
-
reinterpret_cast<const uint8_t *>(data_ + dynamicDataOffset),
|
|
83
|
+
reinterpret_cast<const uint8_t *>(data_ + dynamicDataOffset + offset),
|
|
77
84
|
INT_SIZE);
|
|
78
85
|
|
|
79
|
-
int valueOffset = getInt(key) + sizeof(stringLength);
|
|
80
|
-
|
|
81
86
|
char *value = new char[stringLength];
|
|
82
87
|
|
|
83
88
|
memcpy(
|
|
84
89
|
reinterpret_cast<char *>(value),
|
|
85
|
-
reinterpret_cast<const char *>(
|
|
90
|
+
reinterpret_cast<const char *>(
|
|
91
|
+
data_ + dynamicDataOffset + offset + INT_SIZE),
|
|
86
92
|
stringLength);
|
|
87
93
|
|
|
88
|
-
return std::string(value);
|
|
94
|
+
return std::string(value, 0, stringLength);
|
|
89
95
|
}
|
|
90
96
|
|
|
91
97
|
MapBuffer MapBuffer::getMapBuffer(Key key) const {
|
|
92
|
-
// TODO Add checks to verify that offsets are under the boundaries
|
|
93
|
-
// buffer
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
uint16_t mapBufferLength = 0;
|
|
98
|
+
// TODO T83483191: Add checks to verify that offsets are under the boundaries
|
|
99
|
+
// of the map buffer
|
|
100
|
+
int32_t dynamicDataOffset = getDynamicDataOffset();
|
|
97
101
|
|
|
102
|
+
int32_t mapBufferLength = 0;
|
|
103
|
+
int32_t offset = getInt(key);
|
|
98
104
|
memcpy(
|
|
99
105
|
reinterpret_cast<uint8_t *>(&mapBufferLength),
|
|
100
|
-
reinterpret_cast<const uint8_t *>(data_ + dynamicDataOffset),
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
int valueOffset = getInt(key) + UINT16_SIZE;
|
|
106
|
+
reinterpret_cast<const uint8_t *>(data_ + dynamicDataOffset + offset),
|
|
107
|
+
INT_SIZE);
|
|
104
108
|
|
|
105
109
|
uint8_t *value = new Byte[mapBufferLength];
|
|
106
110
|
|
|
107
111
|
memcpy(
|
|
108
112
|
reinterpret_cast<uint8_t *>(value),
|
|
109
113
|
reinterpret_cast<const uint8_t *>(
|
|
110
|
-
data_ + dynamicDataOffset +
|
|
114
|
+
data_ + dynamicDataOffset + offset + INT_SIZE),
|
|
111
115
|
mapBufferLength);
|
|
112
116
|
|
|
113
117
|
return MapBuffer(value, mapBufferLength);
|
|
@@ -117,7 +121,7 @@ bool MapBuffer::isNull(Key key) const {
|
|
|
117
121
|
return getInt(key) == NULL_VALUE;
|
|
118
122
|
}
|
|
119
123
|
|
|
120
|
-
|
|
124
|
+
int32_t MapBuffer::getBufferSize() const {
|
|
121
125
|
return dataSize_;
|
|
122
126
|
}
|
|
123
127
|
|
|
@@ -130,9 +134,8 @@ uint16_t MapBuffer::getCount() const {
|
|
|
130
134
|
|
|
131
135
|
memcpy(
|
|
132
136
|
reinterpret_cast<uint16_t *>(&size),
|
|
133
|
-
reinterpret_cast<const uint16_t *>(
|
|
134
|
-
|
|
135
|
-
// the position in the header
|
|
137
|
+
reinterpret_cast<const uint16_t *>(data_ + HEADER_COUNT_OFFSET),
|
|
138
|
+
|
|
136
139
|
UINT16_SIZE);
|
|
137
140
|
|
|
138
141
|
return size;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
+
#include <react/debug/react_native_assert.h>
|
|
10
11
|
#include <react/renderer/mapbuffer/primitives.h>
|
|
11
12
|
|
|
12
13
|
#include <stdlib.h>
|
|
@@ -33,23 +34,23 @@ namespace react {
|
|
|
33
34
|
class MapBuffer {
|
|
34
35
|
private:
|
|
35
36
|
// Buffer and its size
|
|
36
|
-
const uint8_t *data_;
|
|
37
|
+
const uint8_t *data_ = nullptr;
|
|
37
38
|
|
|
38
39
|
// amount of bytes in the MapBuffer
|
|
39
|
-
|
|
40
|
+
int32_t dataSize_ = 0;
|
|
40
41
|
|
|
41
42
|
// amount of items in the MapBuffer
|
|
42
|
-
uint16_t count_;
|
|
43
|
+
uint16_t count_ = 0;
|
|
43
44
|
|
|
44
45
|
// returns the relative offset of the first byte of dynamic data
|
|
45
|
-
|
|
46
|
+
int32_t getDynamicDataOffset() const;
|
|
46
47
|
|
|
47
48
|
public:
|
|
48
|
-
MapBuffer(uint8_t *const data,
|
|
49
|
+
MapBuffer(uint8_t *const data, int32_t dataSize);
|
|
49
50
|
|
|
50
51
|
~MapBuffer();
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
int32_t getInt(Key key) const;
|
|
53
54
|
|
|
54
55
|
bool getBool(Key key) const;
|
|
55
56
|
|
|
@@ -57,12 +58,12 @@ class MapBuffer {
|
|
|
57
58
|
|
|
58
59
|
std::string getString(Key key) const;
|
|
59
60
|
|
|
60
|
-
// TODO: review this declaration
|
|
61
|
+
// TODO T83483191: review this declaration
|
|
61
62
|
MapBuffer getMapBuffer(Key key) const;
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
int32_t getBufferSize() const;
|
|
64
65
|
|
|
65
|
-
// TODO: review parameters of copy method
|
|
66
|
+
// TODO T83483191: review parameters of copy method
|
|
66
67
|
void copy(uint8_t *output) const;
|
|
67
68
|
|
|
68
69
|
bool isNull(Key key) const;
|
|
@@ -12,6 +12,7 @@ using namespace facebook::react;
|
|
|
12
12
|
namespace facebook {
|
|
13
13
|
namespace react {
|
|
14
14
|
|
|
15
|
+
// TODO T83483191: Add asserts to check overflowing on additions
|
|
15
16
|
MapBufferBuilder::MapBufferBuilder()
|
|
16
17
|
: MapBufferBuilder::MapBufferBuilder(INITIAL_KEY_VALUE_SIZE) {}
|
|
17
18
|
|
|
@@ -32,10 +33,10 @@ MapBufferBuilder::MapBufferBuilder(uint16_t initialSize) {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
void MapBufferBuilder::ensureKeyValueSpace() {
|
|
35
|
-
|
|
36
|
+
int32_t oldKeyValuesSize = keyValuesSize_;
|
|
36
37
|
react_native_assert(
|
|
37
|
-
(keyValuesSize_
|
|
38
|
-
"Error trying to assign a value beyond the capacity of uint16_t");
|
|
38
|
+
(keyValuesSize_ < std::numeric_limits<uint16_t>::max() / 2) &&
|
|
39
|
+
"Error trying to assign a value beyond the capacity of uint16_t: ");
|
|
39
40
|
keyValuesSize_ *= 2;
|
|
40
41
|
uint8_t *newKeyValues = new Byte[keyValuesSize_];
|
|
41
42
|
uint8_t *oldKeyValues = keyValues_;
|
|
@@ -44,7 +45,10 @@ void MapBufferBuilder::ensureKeyValueSpace() {
|
|
|
44
45
|
delete[] oldKeyValues;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
void MapBufferBuilder::storeKeyValue(
|
|
48
|
+
void MapBufferBuilder::storeKeyValue(
|
|
49
|
+
Key key,
|
|
50
|
+
uint8_t *value,
|
|
51
|
+
int32_t valueSize) {
|
|
48
52
|
if (key < minKeyToStore_) {
|
|
49
53
|
LOG(ERROR) << "Error: key out of order - key: " << key;
|
|
50
54
|
abort();
|
|
@@ -54,12 +58,13 @@ void MapBufferBuilder::storeKeyValue(Key key, uint8_t *value, int valueSize) {
|
|
|
54
58
|
<< valueSize;
|
|
55
59
|
abort();
|
|
56
60
|
}
|
|
57
|
-
// TODO: header.count points to the next index
|
|
58
|
-
// TODO: add test to verify storage of sparse keys
|
|
59
|
-
int keyOffset = getKeyOffset(_header.count);
|
|
60
|
-
int valueOffset = keyOffset + KEY_SIZE;
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
// TODO T83483191: header.count points to the next index
|
|
63
|
+
// TODO T83483191: add test to verify storage of sparse keys
|
|
64
|
+
int32_t keyOffset = getKeyOffset(_header.count);
|
|
65
|
+
int32_t valueOffset = keyOffset + KEY_SIZE;
|
|
66
|
+
|
|
67
|
+
int32_t nextKeyValueOffset = keyOffset + BUCKET_SIZE;
|
|
63
68
|
if (nextKeyValueOffset >= keyValuesSize_) {
|
|
64
69
|
ensureKeyValueSpace();
|
|
65
70
|
}
|
|
@@ -87,28 +92,32 @@ void MapBufferBuilder::putNull(Key key) {
|
|
|
87
92
|
putInt(key, NULL_VALUE);
|
|
88
93
|
}
|
|
89
94
|
|
|
90
|
-
void MapBufferBuilder::putInt(Key key,
|
|
95
|
+
void MapBufferBuilder::putInt(Key key, int32_t value) {
|
|
91
96
|
uint8_t *bytePointer = reinterpret_cast<uint8_t *>(&(value));
|
|
92
97
|
storeKeyValue(key, bytePointer, INT_SIZE);
|
|
93
98
|
}
|
|
94
99
|
|
|
95
|
-
void MapBufferBuilder::ensureDynamicDataSpace(
|
|
100
|
+
void MapBufferBuilder::ensureDynamicDataSpace(int32_t size) {
|
|
96
101
|
if (dynamicDataValues_ == nullptr) {
|
|
97
|
-
dynamicDataSize_ =
|
|
102
|
+
dynamicDataSize_ = size;
|
|
98
103
|
dynamicDataValues_ = new Byte[dynamicDataSize_];
|
|
99
104
|
dynamicDataOffset_ = 0;
|
|
100
105
|
return;
|
|
101
106
|
}
|
|
102
107
|
|
|
103
108
|
if (dynamicDataOffset_ + size >= dynamicDataSize_) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
int32_t oldDynamicDataSize = dynamicDataSize_;
|
|
110
|
+
react_native_assert(
|
|
111
|
+
(dynamicDataSize_ < std::numeric_limits<int32_t>::max() / 2) &&
|
|
112
|
+
"Error: trying to assign a value beyond the capacity of int");
|
|
113
|
+
dynamicDataSize_ *= dynamicDataSize_;
|
|
114
|
+
|
|
115
|
+
react_native_assert(
|
|
116
|
+
(dynamicDataSize_ < std::numeric_limits<int32_t>::max() - size) &&
|
|
117
|
+
"Error: trying to assign a value beyond the capacity of int");
|
|
118
|
+
|
|
119
|
+
// sum size to ensure that the size always fit into newDynamicDataValues
|
|
120
|
+
dynamicDataSize_ += size;
|
|
112
121
|
uint8_t *newDynamicDataValues = new Byte[dynamicDataSize_];
|
|
113
122
|
uint8_t *oldDynamicDataValues = dynamicDataValues_;
|
|
114
123
|
memcpy(newDynamicDataValues, dynamicDataValues_, oldDynamicDataSize);
|
|
@@ -118,15 +127,15 @@ void MapBufferBuilder::ensureDynamicDataSpace(int size) {
|
|
|
118
127
|
}
|
|
119
128
|
|
|
120
129
|
void MapBufferBuilder::putString(Key key, std::string value) {
|
|
121
|
-
|
|
130
|
+
int32_t strLength = static_cast<int32_t>(value.length());
|
|
122
131
|
const char *cstring = getCstring(&value);
|
|
123
132
|
|
|
124
133
|
// format [lenght of string (int)] + [Array of Characters in the string]
|
|
125
|
-
|
|
126
|
-
// TODO : review if map.getBufferSize() should be an
|
|
127
|
-
// int16 (because strings can be longer than int16);
|
|
134
|
+
int32_t sizeOfLength = INT_SIZE;
|
|
135
|
+
// TODO T83483191: review if map.getBufferSize() should be an int32_t or long
|
|
136
|
+
// instead of an int16 (because strings can be longer than int16);
|
|
128
137
|
|
|
129
|
-
|
|
138
|
+
int32_t sizeOfDynamicData = sizeOfLength + strLength;
|
|
130
139
|
ensureDynamicDataSpace(sizeOfDynamicData);
|
|
131
140
|
memcpy(dynamicDataValues_ + dynamicDataOffset_, &strLength, sizeOfLength);
|
|
132
141
|
memcpy(
|
|
@@ -141,17 +150,17 @@ void MapBufferBuilder::putString(Key key, std::string value) {
|
|
|
141
150
|
}
|
|
142
151
|
|
|
143
152
|
void MapBufferBuilder::putMapBuffer(Key key, MapBuffer &map) {
|
|
144
|
-
|
|
153
|
+
int32_t mapBufferSize = map.getBufferSize();
|
|
145
154
|
|
|
146
|
-
// format [lenght of buffer (
|
|
147
|
-
|
|
155
|
+
// format [lenght of buffer (int)] + [bytes of MapBuffer]
|
|
156
|
+
int32_t sizeOfDynamicData = mapBufferSize + INT_SIZE;
|
|
148
157
|
|
|
149
158
|
// format [Array of bytes of the mapBuffer]
|
|
150
159
|
ensureDynamicDataSpace(sizeOfDynamicData);
|
|
151
160
|
|
|
152
|
-
memcpy(dynamicDataValues_ + dynamicDataOffset_, &mapBufferSize,
|
|
161
|
+
memcpy(dynamicDataValues_ + dynamicDataOffset_, &mapBufferSize, INT_SIZE);
|
|
153
162
|
// Copy the content of the map into dynamicDataValues_
|
|
154
|
-
map.copy(dynamicDataValues_ + dynamicDataOffset_ +
|
|
163
|
+
map.copy(dynamicDataValues_ + dynamicDataOffset_ + INT_SIZE);
|
|
155
164
|
|
|
156
165
|
// Store Key and pointer to the string
|
|
157
166
|
putInt(key, dynamicDataOffset_);
|
|
@@ -160,8 +169,12 @@ void MapBufferBuilder::putMapBuffer(Key key, MapBuffer &map) {
|
|
|
160
169
|
}
|
|
161
170
|
|
|
162
171
|
MapBuffer MapBufferBuilder::build() {
|
|
172
|
+
react_native_assert(
|
|
173
|
+
(keyValues_ != nullptr) &&
|
|
174
|
+
"Error when building mapbuffer with invalid datastructures.");
|
|
175
|
+
|
|
163
176
|
// Create buffer: [header] + [key, values] + [dynamic data]
|
|
164
|
-
|
|
177
|
+
int32_t bufferSize = keyValuesOffset_ + dynamicDataOffset_;
|
|
165
178
|
|
|
166
179
|
_header.bufferSize = bufferSize;
|
|
167
180
|
|
|
@@ -176,14 +189,15 @@ MapBuffer MapBufferBuilder::build() {
|
|
|
176
189
|
memcpy(buffer + keyValuesOffset_, dynamicDataValues_, dynamicDataOffset_);
|
|
177
190
|
}
|
|
178
191
|
|
|
179
|
-
// TODO: should we use std::move here?
|
|
192
|
+
// TODO T83483191: should we use std::move here?
|
|
180
193
|
auto map = MapBuffer(buffer, bufferSize);
|
|
181
194
|
|
|
182
|
-
// TODO: we should invalidate the class once the build() method is
|
|
195
|
+
// TODO T83483191: we should invalidate the class once the build() method is
|
|
183
196
|
// called.
|
|
184
197
|
|
|
185
|
-
|
|
186
|
-
|
|
198
|
+
if (keyValues_ != nullptr) {
|
|
199
|
+
delete[] keyValues_;
|
|
200
|
+
}
|
|
187
201
|
keyValues_ = nullptr;
|
|
188
202
|
keyValuesSize_ = 0;
|
|
189
203
|
keyValuesOffset_ = 0;
|
|
@@ -194,6 +208,7 @@ MapBuffer MapBufferBuilder::build() {
|
|
|
194
208
|
}
|
|
195
209
|
dynamicDataSize_ = 0;
|
|
196
210
|
dynamicDataOffset_ = 0;
|
|
211
|
+
_header = {ALIGNMENT, 0, 0};
|
|
197
212
|
|
|
198
213
|
return map;
|
|
199
214
|
}
|
|
@@ -16,11 +16,11 @@ namespace facebook {
|
|
|
16
16
|
namespace react {
|
|
17
17
|
|
|
18
18
|
// Default initial size for _keyValues array
|
|
19
|
-
//
|
|
20
|
-
constexpr uint16_t INITIAL_KEY_VALUE_SIZE =
|
|
19
|
+
// 108 = 10 entries = 10*10 + 8 sizeof(header)
|
|
20
|
+
constexpr uint16_t INITIAL_KEY_VALUE_SIZE = 108;
|
|
21
21
|
|
|
22
22
|
// Default initial size for _dynamicDataValues array
|
|
23
|
-
constexpr
|
|
23
|
+
constexpr int32_t INITIAL_DYNAMIC_DATA_SIZE = 200;
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* MapBufferBuilder is a builder class for MapBuffer
|
|
@@ -31,35 +31,35 @@ class MapBufferBuilder {
|
|
|
31
31
|
|
|
32
32
|
void ensureKeyValueSpace();
|
|
33
33
|
|
|
34
|
-
void ensureDynamicDataSpace(
|
|
34
|
+
void ensureDynamicDataSpace(int32_t size);
|
|
35
35
|
|
|
36
|
-
void storeKeyValue(Key key, uint8_t *value,
|
|
36
|
+
void storeKeyValue(Key key, uint8_t *value, int32_t valueSize);
|
|
37
37
|
|
|
38
38
|
// Array of [key,value] map entries:
|
|
39
39
|
// - Key is represented in 2 bytes
|
|
40
40
|
// - Value is stored into 8 bytes. The 8 bytes of the value will contain the
|
|
41
41
|
// actual value for the key or a pointer to the actual value (based on the
|
|
42
42
|
// type)
|
|
43
|
-
uint8_t *keyValues_;
|
|
43
|
+
uint8_t *keyValues_ = nullptr;
|
|
44
44
|
|
|
45
45
|
// Amount of bytes allocated on _keyValues
|
|
46
|
-
uint16_t keyValuesSize_;
|
|
46
|
+
uint16_t keyValuesSize_ = 0;
|
|
47
47
|
|
|
48
48
|
// Relative offset on the _keyValues array.
|
|
49
49
|
// This represents the first byte that can be written in _keyValues array
|
|
50
|
-
|
|
50
|
+
int32_t keyValuesOffset_ = 0;
|
|
51
51
|
|
|
52
52
|
// This array contains data for dynamic values in the MapBuffer.
|
|
53
53
|
// A dynamic value is a String or another MapBuffer.
|
|
54
|
-
uint8_t *dynamicDataValues_;
|
|
54
|
+
uint8_t *dynamicDataValues_ = nullptr;
|
|
55
55
|
|
|
56
56
|
// Amount of bytes allocated on _dynamicDataValues
|
|
57
|
-
|
|
57
|
+
int32_t dynamicDataSize_ = 0;
|
|
58
58
|
|
|
59
59
|
// Relative offset on the _dynamicDataValues array.
|
|
60
60
|
// This represents the first byte that can be written in _dynamicDataValues
|
|
61
61
|
// array
|
|
62
|
-
|
|
62
|
+
int32_t dynamicDataOffset_ = 0;
|
|
63
63
|
|
|
64
64
|
// Minimmum key to store in the MapBuffer (this is used to guarantee
|
|
65
65
|
// consistency)
|
|
@@ -74,7 +74,7 @@ class MapBufferBuilder {
|
|
|
74
74
|
|
|
75
75
|
static MapBuffer EMPTY();
|
|
76
76
|
|
|
77
|
-
void putInt(Key key,
|
|
77
|
+
void putInt(Key key, int32_t value);
|
|
78
78
|
|
|
79
79
|
void putBool(Key key, bool value);
|
|
80
80
|
|
|
@@ -86,7 +86,7 @@ class MapBufferBuilder {
|
|
|
86
86
|
|
|
87
87
|
void putMapBuffer(Key key, MapBuffer &map);
|
|
88
88
|
|
|
89
|
-
// TODO This should return MapBuffer!
|
|
89
|
+
// TODO T83483191: This should return MapBuffer!
|
|
90
90
|
MapBuffer build();
|
|
91
91
|
};
|
|
92
92
|
|
|
@@ -9,11 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
#include <glog/logging.h>
|
|
11
11
|
|
|
12
|
-
// TODO: Enable CHECK_CONSISTENCY only in debug mode or test
|
|
13
|
-
// just in demand)
|
|
14
|
-
// #define CHECK_CONSISTENCY 1
|
|
12
|
+
// TODO T83483191: Enable CHECK_CONSISTENCY only in debug mode or test
|
|
13
|
+
// environments (or just in demand) #define CHECK_CONSISTENCY 1
|
|
15
14
|
|
|
16
|
-
constexpr static
|
|
15
|
+
constexpr static int32_t NULL_VALUE = 0;
|
|
17
16
|
|
|
18
17
|
// Value used to verify if the data is serialized with LittleEndian order
|
|
19
18
|
constexpr static uint16_t ALIGNMENT = 0xFE;
|
|
@@ -28,36 +27,36 @@ namespace react {
|
|
|
28
27
|
struct Header {
|
|
29
28
|
uint16_t alignment; // alignment of serialization
|
|
30
29
|
uint16_t count; // amount of items in the map
|
|
31
|
-
|
|
30
|
+
int32_t bufferSize; // Amount of bytes used to store the map in memory
|
|
32
31
|
};
|
|
33
32
|
|
|
34
|
-
constexpr static
|
|
35
|
-
constexpr static
|
|
36
|
-
constexpr static
|
|
37
|
-
constexpr static
|
|
38
|
-
constexpr static
|
|
39
|
-
constexpr static
|
|
40
|
-
constexpr static
|
|
41
|
-
constexpr static
|
|
42
|
-
constexpr static
|
|
43
|
-
constexpr static
|
|
33
|
+
constexpr static int32_t KEY_SIZE = sizeof(Key);
|
|
34
|
+
constexpr static int32_t HEADER_SIZE = sizeof(Header);
|
|
35
|
+
constexpr static int32_t INT_SIZE = sizeof(int32_t);
|
|
36
|
+
constexpr static int32_t DOUBLE_SIZE = sizeof(double);
|
|
37
|
+
constexpr static int32_t UINT8_SIZE = sizeof(uint8_t);
|
|
38
|
+
constexpr static int32_t UINT16_SIZE = sizeof(uint16_t);
|
|
39
|
+
constexpr static int32_t UINT64_SIZE = sizeof(uint64_t);
|
|
40
|
+
constexpr static int32_t HEADER_ALIGNMENT_OFFSET = 0;
|
|
41
|
+
constexpr static int32_t HEADER_COUNT_OFFSET = UINT16_SIZE;
|
|
42
|
+
constexpr static int32_t HEADER_BUFFER_SIZE_OFFSET = UINT16_SIZE * 2;
|
|
44
43
|
|
|
45
|
-
constexpr static
|
|
44
|
+
constexpr static int32_t MAX_VALUE_SIZE = UINT64_SIZE;
|
|
46
45
|
|
|
47
46
|
// 10 bytes : 2 key + 8 value
|
|
48
|
-
constexpr static
|
|
47
|
+
constexpr static int32_t BUCKET_SIZE = KEY_SIZE + UINT64_SIZE;
|
|
49
48
|
|
|
50
49
|
/**
|
|
51
50
|
* Returns the offset of the key received by parameter.
|
|
52
51
|
*/
|
|
53
|
-
inline
|
|
52
|
+
inline int32_t getKeyOffset(Key key) {
|
|
54
53
|
return HEADER_SIZE + BUCKET_SIZE * key;
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
/**
|
|
58
57
|
* Returns the offset of the value associated to the key received by parameter.
|
|
59
58
|
*/
|
|
60
|
-
inline
|
|
59
|
+
inline int32_t getValueOffset(Key key) {
|
|
61
60
|
return getKeyOffset(key) + KEY_SIZE;
|
|
62
61
|
}
|
|
63
62
|
|
|
@@ -70,7 +70,8 @@ TEST(MapBufferTest, testNullEntries) {
|
|
|
70
70
|
EXPECT_EQ(map.getCount(), 2);
|
|
71
71
|
EXPECT_EQ(map.isNull(0), true);
|
|
72
72
|
EXPECT_EQ(map.isNull(1), false);
|
|
73
|
-
// TODO: serialize null values to be distinguishable from '0'
|
|
73
|
+
// TODO T83483191: serialize null values to be distinguishable from '0'
|
|
74
|
+
// values
|
|
74
75
|
// EXPECT_EQ(map.isNull(1), false);
|
|
75
76
|
// EXPECT_EQ(map.getBool(1), false);
|
|
76
77
|
}
|
|
@@ -98,13 +99,24 @@ TEST(MapBufferTest, testStringEntries) {
|
|
|
98
99
|
EXPECT_EQ(map.getString(0), "This is a test");
|
|
99
100
|
}
|
|
100
101
|
|
|
102
|
+
TEST(MapBufferTest, testUTFStringEntry) {
|
|
103
|
+
auto builder = MapBufferBuilder();
|
|
104
|
+
|
|
105
|
+
builder.putString(0, "Let's count: 的, 一, 是");
|
|
106
|
+
auto map = builder.build();
|
|
107
|
+
|
|
108
|
+
EXPECT_EQ(map.getString(0), "Let's count: 的, 一, 是");
|
|
109
|
+
}
|
|
110
|
+
|
|
101
111
|
TEST(MapBufferTest, testUTFStringEntries) {
|
|
102
112
|
auto builder = MapBufferBuilder();
|
|
103
113
|
|
|
104
114
|
builder.putString(0, "Let's count: 的, 一, 是");
|
|
115
|
+
builder.putString(1, "This is a test");
|
|
105
116
|
auto map = builder.build();
|
|
106
117
|
|
|
107
118
|
EXPECT_EQ(map.getString(0), "Let's count: 的, 一, 是");
|
|
119
|
+
EXPECT_EQ(map.getString(1), "This is a test");
|
|
108
120
|
}
|
|
109
121
|
|
|
110
122
|
TEST(MapBufferTest, testEmptyMap) {
|
|
@@ -21,7 +21,7 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
|
|
|
21
21
|
|
|
22
22
|
LOCAL_STATIC_LIBRARIES :=
|
|
23
23
|
|
|
24
|
-
LOCAL_SHARED_LIBRARIES := libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_telemetry
|
|
24
|
+
LOCAL_SHARED_LIBRARIES := libjsi libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_graphics libreact_render_telemetry
|
|
25
25
|
|
|
26
26
|
include $(BUILD_SHARED_LIBRARY)
|
|
27
27
|
|
|
@@ -36,4 +36,5 @@ $(call import-module,react/renderer/debug)
|
|
|
36
36
|
$(call import-module,react/utils)
|
|
37
37
|
$(call import-module,react/debug)
|
|
38
38
|
$(call import-module,yogajni)
|
|
39
|
+
$(call import-module,react/renderer/graphics)
|
|
39
40
|
$(call import-module,react/renderer/telemetry)
|
|
@@ -88,5 +88,6 @@ fb_xplat_cxx_test(
|
|
|
88
88
|
react_native_xplat_target("react/renderer/components/root:root"),
|
|
89
89
|
react_native_xplat_target("react/renderer/components/view:view"),
|
|
90
90
|
react_native_xplat_target("react/renderer/components/scrollview:scrollview"),
|
|
91
|
+
react_native_xplat_target("react/test_utils:test_utils"),
|
|
91
92
|
],
|
|
92
93
|
)
|