react-native-windows 0.80.1 → 0.81.0-preview.4
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/.flowconfig +10 -5
- package/Directory.Build.props +1 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.js +3 -3
- package/Libraries/Alert/Alert.windows.js +5 -2
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Alert/RCTAlertManager.android.js +19 -13
- package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
- package/Libraries/Alert/RCTAlertManager.js +1 -3
- package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
- package/Libraries/Animated/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +0 -1
- package/Libraries/Animated/AnimatedExports.js.flow +5 -1
- package/Libraries/Animated/AnimatedImplementation.js +44 -44
- package/Libraries/Animated/AnimatedMock.js +2 -2
- package/Libraries/Animated/Easing.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +1 -1
- package/Libraries/Animated/animations/Animation.js +10 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
- package/Libraries/Animated/components/AnimatedText.js +2 -5
- package/Libraries/Animated/components/AnimatedView.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +39 -37
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/AppTheme/AppTheme.js +1 -1
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +4 -0
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +5 -1
- package/Libraries/Blob/URLSearchParams.js.flow +2 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.js +10 -7
- package/Libraries/Components/Button.windows.js +4 -4
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +1 -1
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +17 -8
- package/Libraries/Components/Pressable/Pressable.windows.js +17 -14
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
- package/Libraries/Components/ScrollView/ScrollView.js +25 -15
- package/Libraries/Components/ScrollView/ScrollView.windows.js +25 -14
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
- package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
- package/Libraries/Components/Switch/Switch.js +10 -3
- package/Libraries/Components/Switch/Switch.windows.js +10 -3
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -15
- package/Libraries/Components/TextInput/TextInput.js +42 -39
- package/Libraries/Components/TextInput/TextInput.windows.js +69 -38
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -17
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +17 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +17 -3
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +14 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +5 -3
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +10 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -3
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
- package/Libraries/Components/View/View.js +114 -29
- package/Libraries/Components/View/View.windows.js +261 -217
- package/Libraries/Components/View/ViewAccessibility.js +1 -8
- package/Libraries/Components/View/ViewAccessibility.windows.js +1 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +21 -1
- package/Libraries/Components/View/ViewPropTypes.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +9 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +49 -7
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +27 -16
- package/Libraries/Core/InitializeCore.js +2 -23
- package/Libraries/Core/NativeExceptionsManager.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/checkNativeVersion.js +1 -0
- package/Libraries/Core/setUpDeveloperTools.js +13 -11
- package/Libraries/Core/setUpReactDevTools.js +21 -4
- package/Libraries/Debugging/DebuggingOverlay.js +12 -14
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +4 -10
- package/Libraries/Image/Image.android.js +113 -107
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.windows.js +30 -20
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageSource.d.ts +5 -0
- package/Libraries/Image/ImageViewNativeComponent.js +3 -3
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RelativeImageStub.js +2 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Image/resolveAssetSource.windows.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +64 -54
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/TaskQueue.js +8 -9
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/FlatList.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +6 -7
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/SectionListModern.js +9 -3
- package/Libraries/Lists/VirtualizedList.js +3 -2
- package/Libraries/LogBox/Data/LogBoxData.js +7 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
- package/Libraries/LogBox/LogBox.js +72 -99
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/Modal/Modal.d.ts +8 -2
- package/Libraries/Modal/Modal.js +24 -3
- package/Libraries/Modal/Modal.windows.js +24 -3
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +9 -18
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.windows.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
- package/Libraries/ReactNative/AppContainer-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/RendererProxy.js +1 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +261 -0
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/SettingsFallback.js +1 -1
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
- package/Libraries/StyleSheet/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +1 -2
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +1 -2
- package/Libraries/Text/Text.js +255 -246
- package/Libraries/Text/Text.windows.js +282 -301
- package/Libraries/Text/TextAncestor.js +3 -9
- package/Libraries/Text/TextAncestorContext.js +23 -0
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextProps.js +2 -5
- package/Libraries/Text/TextProps.windows.js +2 -6
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CodegenTypesNamespace.js +2 -1
- package/Libraries/Types/CoreEventTypes.d.ts +4 -0
- package/Libraries/Types/ReactDevToolsTypes.js +0 -1
- package/Libraries/Utilities/Appearance.js +1 -1
- package/Libraries/Utilities/BackHandler.js.flow +1 -1
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +13 -3
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +2 -5
- package/Libraries/Utilities/Platform.ios.js +2 -5
- package/Libraries/Utilities/Platform.js +1 -1
- package/Libraries/Utilities/Platform.js.flow +2 -2
- package/Libraries/Utilities/Platform.windows.js +2 -5
- package/Libraries/Utilities/PlatformTypes.js +2 -2
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +5 -3
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/createPerformanceLogger.js +27 -20
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
- package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/stringifyViewConfig.js +1 -1
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +1 -1
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.js +1 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/Microsoft.ReactNative/CompositionSwitcher.idl +163 -162
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +3 -3
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +3 -3
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +3 -3
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +104 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +18 -7
- package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +41 -33
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +3 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +108 -24
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +21 -17
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +76 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +6 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +62 -39
- package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
- package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
- package/Microsoft.ReactNative/JsiApi.cpp +1 -1
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -2
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -1
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -3
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +27 -11
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +19 -2
- package/Microsoft.ReactNative/QuirkSettings.cpp +16 -0
- package/Microsoft.ReactNative/QuirkSettings.h +3 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +5 -0
- package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
- package/Microsoft.ReactNative/ReactHost/React.h +11 -4
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +199 -29
- package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +68 -52
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
- package/Microsoft.ReactNative/ReactRootView.h +6 -0
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +1 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +36 -8
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +6 -2
- package/Microsoft.ReactNative/Views/ViewManager.h +0 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -1
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
- package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +5 -5
- package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +0 -2
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +0 -19
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +45 -34
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +1 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +36 -33
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +10 -10
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +14 -8
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
- package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
- package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
- package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +13 -4
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +10 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +6 -4
- package/README.md +1 -1
- package/ReactCommon/ReactCommon.vcxproj +29 -21
- package/ReactCommon/ReactCommon.vcxproj.filters +36 -13
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +5 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +6 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +111 -7
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +57 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +17 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +175 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +1 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +69 -56
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +35 -18
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +445 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +92 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +35 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +37 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +250 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +528 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +1 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/Analyze-Crash.ps1 +87 -3
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
- package/Scripts/Tfs/Start-TestServers.ps1 +2 -1
- package/Scripts/creaternwapp.cmd +10 -6
- package/Scripts/rnw-dependencies.ps1 +33 -4
- package/Shared/CreateModules.h +0 -35
- package/Shared/DevServerHelper.h +13 -3
- package/Shared/DevSettings.h +6 -5
- package/Shared/DevSupportManager.cpp +79 -20
- package/Shared/DevSupportManager.h +7 -19
- package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
- package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +274 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
- package/Shared/HermesRuntimeHolder.cpp +29 -111
- package/Shared/HermesRuntimeHolder.h +214 -32
- package/Shared/IDevSupportManager.h +5 -2
- package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
- package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
- package/Shared/Inspector/ReactInspectorThread.h +18 -0
- package/Shared/JSI/RuntimeHolder.h +5 -2
- package/Shared/Modules/BlobModule.cpp +0 -90
- package/Shared/Modules/BlobModule.h +0 -40
- package/Shared/Modules/FileReaderModule.cpp +0 -104
- package/Shared/Modules/FileReaderModule.h +0 -38
- package/Shared/Modules/HttpModule.cpp +0 -172
- package/Shared/Modules/HttpModule.h +0 -47
- package/Shared/Modules/WebSocketModule.cpp +0 -287
- package/Shared/Modules/WebSocketModule.h +1 -94
- package/Shared/OInstance.cpp +45 -139
- package/Shared/OInstance.h +0 -1
- package/Shared/Shared.vcxitems +33 -32
- package/Shared/Shared.vcxitems.filters +38 -51
- package/Shared/TurboModuleManager.cpp +0 -1
- package/codegen/NativeDOMSpec.g.h +6 -0
- package/codegen/NativeDeviceInfoSpec.g.h +2 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +19 -5
- package/codegen/NativeMutationObserverSpec.g.h +4 -4
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +159 -93
- package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
- package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
- package/codegen/react/components/rnwcore/ModalHostView.g.h +4 -0
- package/codegen/react/components/rnwcore/Props.cpp +535 -24
- package/codegen/react/components/rnwcore/Props.h +138 -0
- package/codegen/react/components/rnwcore/States.h +9 -78
- package/codegen/react/components/rnwcore/VirtualView.g.h +226 -0
- package/codegen/rnwcoreJSI-generated.cpp +101 -31
- package/codegen/rnwcoreJSI.h +169 -88
- package/include/Shared/II18nModule.h +0 -1
- package/index.js +22 -2
- package/index.windows.js +131 -221
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +9 -3
- package/jest/RefreshControlMock.js +32 -0
- package/jest/assetFileTransformer.js +1 -0
- package/jest/local-setup.js +4 -3
- package/jest/mock.js +39 -0
- package/jest/mockComponent.js +47 -17
- package/jest/mockNativeComponent.js +26 -15
- package/jest/mocks/AccessibilityInfo.js +62 -0
- package/jest/mocks/ActivityIndicator.js +23 -0
- package/jest/mocks/AppState.js +19 -0
- package/jest/mocks/Clipboard.js +16 -0
- package/jest/mocks/Image.js +23 -0
- package/jest/mocks/InitializeCore.js +9 -0
- package/jest/mocks/Linking.js +28 -0
- package/jest/mocks/Modal.js +33 -0
- package/jest/mocks/NativeComponentRegistry.js +30 -0
- package/jest/mocks/NativeModules.js +239 -0
- package/jest/mocks/RefreshControl.js +31 -0
- package/jest/mocks/RendererProxy.js +45 -0
- package/jest/mocks/ScrollView.js +58 -0
- package/jest/mocks/Text.js +27 -0
- package/jest/mocks/TextInput.js +32 -0
- package/jest/mocks/UIManager.js +60 -0
- package/jest/mocks/Vibration.js +16 -0
- package/jest/mocks/View.js +27 -0
- package/jest/mocks/ViewNativeComponent.js +23 -0
- package/jest/mocks/requireNativeComponent.js +22 -0
- package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
- package/jest/react-native-env.js +1 -0
- package/jest/renderer.js +1 -2
- package/jest/resolver.js +1 -0
- package/jest/setup.js +64 -449
- package/package.json +24 -24
- package/src/private/animated/NativeAnimatedHelper.js +8 -1
- package/src/private/animated/createAnimatedPropsHook.js +14 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- package/src/private/components/virtualview/VirtualView.js +145 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.windows.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- package/src/private/setup/setUpPerformanceObserver.js +7 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
- package/src/private/styles/composeStyles.js +5 -12
- package/src/private/types/HostInstance.js +1 -1
- package/src/private/webapis/dom/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/LongTasks.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +20 -9
- package/src/private/webapis/performance/PerformanceEntry.js +5 -1
- package/src/private/webapis/performance/PerformanceObserver.js +32 -28
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/ResourceTiming.js +108 -0
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/template/metro.config.js +2 -4
- package/templates/cpp-app/metro.config.js +2 -4
- package/templates/cpp-lib/example/metro.config.js +2 -3
- package/templates/cpp-lib/template.config.js +24 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.h +20 -1
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +0 -1
- package/types/modules/Devtools.d.ts +23 -9
- package/Libraries/BugReporting/BugReporting.js +0 -140
- package/Libraries/BugReporting/NativeBugReporting.js +0 -13
- package/Libraries/BugReporting/dumpReactTree.js +0 -151
- package/Libraries/BugReporting/getReactData.js +0 -187
- package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +0 -49
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +0 -191
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
- package/Shared/InspectorPackagerConnection.cpp +0 -232
- package/Shared/InspectorPackagerConnection.h +0 -61
- package/Shared/Modules/ExceptionsManagerModule.cpp +0 -209
- package/Shared/Modules/ExceptionsManagerModule.h +0 -32
- package/Shared/Modules/I18nModule.cpp +0 -36
- package/Shared/Modules/I18nModule.h +0 -28
- package/Shared/Modules/NetworkingModule.cpp +0 -432
- package/Shared/Modules/NetworkingModule.h +0 -34
- package/Shared/Modules/PlatformConstantsModule.cpp +0 -60
- package/Shared/Modules/PlatformConstantsModule.h +0 -23
- package/Shared/Modules/SourceCodeModule.cpp +0 -35
- package/Shared/Modules/SourceCodeModule.h +0 -27
- package/Shared/Modules/StatusBarManagerModule.cpp +0 -25
- package/Shared/Modules/StatusBarManagerModule.h +0 -19
- package/codegen/NativeBugReportingSpec.g.h +0 -41
- package/jest/mockModal.js +0 -32
- package/jest/mockScrollView.js +0 -35
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
- /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
- /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
|
@@ -12,55 +12,57 @@
|
|
|
12
12
|
namespace facebook::react::bridging {
|
|
13
13
|
|
|
14
14
|
template <
|
|
15
|
-
typename
|
|
16
|
-
typename
|
|
17
|
-
typename
|
|
18
|
-
typename...
|
|
19
|
-
typename...
|
|
20
|
-
|
|
15
|
+
typename JSReturnT,
|
|
16
|
+
typename ClassT,
|
|
17
|
+
typename ReturnT,
|
|
18
|
+
typename... ArgsT,
|
|
19
|
+
typename... JSArgsT>
|
|
20
|
+
JSReturnT callFromJs(
|
|
21
21
|
jsi::Runtime& rt,
|
|
22
|
-
|
|
22
|
+
ReturnT (ClassT::*method)(jsi::Runtime&, ArgsT...),
|
|
23
23
|
const std::shared_ptr<CallInvoker>& jsInvoker,
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
ClassT* instance,
|
|
25
|
+
JSArgsT&&... args) {
|
|
26
26
|
static_assert(
|
|
27
|
-
sizeof...(
|
|
27
|
+
sizeof...(ArgsT) == sizeof...(JSArgsT), "Incorrect arguments length");
|
|
28
28
|
static_assert(
|
|
29
|
-
(supportsFromJs<
|
|
29
|
+
(supportsFromJs<ArgsT, JSArgsT> && ...), "Incompatible arguments");
|
|
30
30
|
|
|
31
|
-
if constexpr (std::is_void_v<
|
|
31
|
+
if constexpr (std::is_void_v<JSReturnT>) {
|
|
32
32
|
(instance->*method)(
|
|
33
|
-
rt, fromJs<
|
|
33
|
+
rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...);
|
|
34
34
|
|
|
35
|
-
} else if constexpr (std::is_void_v<
|
|
35
|
+
} else if constexpr (std::is_void_v<ReturnT>) {
|
|
36
36
|
static_assert(
|
|
37
|
-
std::is_same_v<
|
|
37
|
+
std::is_same_v<JSReturnT, jsi::Value>,
|
|
38
38
|
"Void functions may only return undefined");
|
|
39
39
|
|
|
40
40
|
(instance->*method)(
|
|
41
|
-
rt, fromJs<
|
|
41
|
+
rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...);
|
|
42
42
|
return jsi::Value();
|
|
43
43
|
|
|
44
|
-
} else if constexpr (
|
|
45
|
-
|
|
44
|
+
} else if constexpr (
|
|
45
|
+
is_jsi_v<JSReturnT> || supportsToJs<ReturnT, JSReturnT>) {
|
|
46
|
+
static_assert(supportsToJs<ReturnT, JSReturnT>, "Incompatible return type");
|
|
46
47
|
|
|
47
48
|
return toJs(
|
|
48
49
|
rt,
|
|
49
50
|
(instance->*method)(
|
|
50
|
-
rt, fromJs<
|
|
51
|
+
rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...),
|
|
51
52
|
jsInvoker);
|
|
52
|
-
|
|
53
|
-
} else if constexpr (is_optional_jsi_v<T>) {
|
|
53
|
+
} else if constexpr (is_optional_jsi_v<JSReturnT>) {
|
|
54
54
|
static_assert(
|
|
55
|
-
is_optional_v<
|
|
56
|
-
? supportsToJs<
|
|
57
|
-
|
|
55
|
+
is_optional_v<ReturnT>
|
|
56
|
+
? supportsToJs<
|
|
57
|
+
typename ReturnT::value_type,
|
|
58
|
+
typename JSReturnT::value_type>
|
|
59
|
+
: supportsToJs<ReturnT, typename JSReturnT::value_type>,
|
|
58
60
|
"Incompatible return type");
|
|
59
61
|
|
|
60
62
|
auto result = toJs(
|
|
61
63
|
rt,
|
|
62
64
|
(instance->*method)(
|
|
63
|
-
rt, fromJs<
|
|
65
|
+
rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...),
|
|
64
66
|
jsInvoker);
|
|
65
67
|
|
|
66
68
|
if constexpr (std::is_same_v<decltype(result), jsi::Value>) {
|
|
@@ -71,20 +73,21 @@ T callFromJs(
|
|
|
71
73
|
|
|
72
74
|
return convert(rt, std::move(result));
|
|
73
75
|
} else {
|
|
74
|
-
static_assert(
|
|
76
|
+
static_assert(
|
|
77
|
+
std::is_convertible_v<ReturnT, JSReturnT>, "Incompatible return type");
|
|
75
78
|
return (instance->*method)(
|
|
76
|
-
rt, fromJs<
|
|
79
|
+
rt, fromJs<ArgsT>(rt, std::forward<JSArgsT>(args), jsInvoker)...);
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
82
|
|
|
80
|
-
template <typename
|
|
81
|
-
constexpr size_t getParameterCount(
|
|
82
|
-
return sizeof...(
|
|
83
|
+
template <typename ReturnT, typename... ArgsT>
|
|
84
|
+
constexpr size_t getParameterCount(ReturnT (*)(ArgsT...)) {
|
|
85
|
+
return sizeof...(ArgsT);
|
|
83
86
|
}
|
|
84
87
|
|
|
85
|
-
template <typename
|
|
86
|
-
constexpr size_t getParameterCount(
|
|
87
|
-
return sizeof...(
|
|
88
|
+
template <typename Class, typename ReturnT, typename... ArgsT>
|
|
89
|
+
constexpr size_t getParameterCount(ReturnT (Class::*)(ArgsT...)) {
|
|
90
|
+
return sizeof...(ArgsT);
|
|
88
91
|
}
|
|
89
92
|
|
|
90
93
|
} // namespace facebook::react::bridging
|
|
@@ -13,45 +13,45 @@ namespace facebook::react {
|
|
|
13
13
|
|
|
14
14
|
template <>
|
|
15
15
|
struct Bridging<double> {
|
|
16
|
-
static double fromJs(jsi::Runtime
|
|
16
|
+
static double fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
|
|
17
17
|
return value.asNumber();
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
static
|
|
20
|
+
static double toJs(jsi::Runtime& /*unused*/, double value) {
|
|
21
21
|
return value;
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
template <>
|
|
26
26
|
struct Bridging<float> {
|
|
27
|
-
static float fromJs(jsi::Runtime
|
|
27
|
+
static float fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
|
|
28
28
|
return (float)value.asNumber();
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
static
|
|
32
|
-
return
|
|
31
|
+
static float toJs(jsi::Runtime& /*unused*/, float value) {
|
|
32
|
+
return value;
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
template <>
|
|
37
37
|
struct Bridging<int32_t> {
|
|
38
|
-
static int32_t fromJs(jsi::Runtime
|
|
38
|
+
static int32_t fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
|
|
39
39
|
return (int32_t)value.asNumber();
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
static
|
|
42
|
+
static int32_t toJs(jsi::Runtime& /*unused*/, int32_t value) {
|
|
43
43
|
return value;
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
template <>
|
|
48
48
|
struct Bridging<uint32_t> {
|
|
49
|
-
static uint32_t fromJs(jsi::Runtime
|
|
49
|
+
static uint32_t fromJs(jsi::Runtime& /*unused*/, const jsi::Value& value) {
|
|
50
50
|
return (uint32_t)value.asNumber();
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
static jsi::Value toJs(jsi::Runtime
|
|
54
|
-
return (
|
|
53
|
+
static jsi::Value toJs(jsi::Runtime& /*unused*/, uint32_t value) {
|
|
54
|
+
return double(value);
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
|
|
@@ -16,8 +16,12 @@
|
|
|
16
16
|
|
|
17
17
|
namespace facebook::react {
|
|
18
18
|
|
|
19
|
-
template <typename T>
|
|
19
|
+
template <typename... T>
|
|
20
20
|
class AsyncPromise {
|
|
21
|
+
static_assert(
|
|
22
|
+
sizeof...(T) <= 1,
|
|
23
|
+
"AsyncPromise must have at most one argument");
|
|
24
|
+
|
|
21
25
|
public:
|
|
22
26
|
AsyncPromise(jsi::Runtime& rt, const std::shared_ptr<CallInvoker>& jsInvoker)
|
|
23
27
|
: state_(std::make_shared<SharedState>()) {
|
|
@@ -28,7 +32,9 @@ class AsyncPromise {
|
|
|
28
32
|
bridging::toJs(
|
|
29
33
|
rt,
|
|
30
34
|
// Safe to capture this since this is called synchronously.
|
|
31
|
-
[this](
|
|
35
|
+
[this](
|
|
36
|
+
AsyncCallback<T...> resolve,
|
|
37
|
+
const AsyncCallback<Error>& reject) {
|
|
32
38
|
state_->resolve = std::move(resolve);
|
|
33
39
|
state_->reject = std::move(reject);
|
|
34
40
|
},
|
|
@@ -42,11 +48,11 @@ class AsyncPromise {
|
|
|
42
48
|
state_->promiseHolder = promiseHolder;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
|
-
void resolve(T value) {
|
|
51
|
+
void resolve(T... value) {
|
|
46
52
|
std::lock_guard<std::mutex> lock(state_->mutex);
|
|
47
53
|
|
|
48
54
|
if (state_->resolve) {
|
|
49
|
-
state_->resolve->call(std::
|
|
55
|
+
state_->resolve->call(std::forward<T>(value)...);
|
|
50
56
|
state_->resolve.reset();
|
|
51
57
|
state_->reject.reset();
|
|
52
58
|
}
|
|
@@ -87,16 +93,16 @@ class AsyncPromise {
|
|
|
87
93
|
|
|
88
94
|
std::mutex mutex;
|
|
89
95
|
std::weak_ptr<PromiseHolder> promiseHolder;
|
|
90
|
-
std::optional<AsyncCallback<T
|
|
96
|
+
std::optional<AsyncCallback<T...>> resolve;
|
|
91
97
|
std::optional<AsyncCallback<Error>> reject;
|
|
92
98
|
};
|
|
93
99
|
|
|
94
100
|
std::shared_ptr<SharedState> state_;
|
|
95
101
|
};
|
|
96
102
|
|
|
97
|
-
template <typename T>
|
|
98
|
-
struct Bridging<AsyncPromise<T
|
|
99
|
-
static jsi::Object toJs(jsi::Runtime& rt, const AsyncPromise<T
|
|
103
|
+
template <typename... T>
|
|
104
|
+
struct Bridging<AsyncPromise<T...>> {
|
|
105
|
+
static jsi::Object toJs(jsi::Runtime& rt, const AsyncPromise<T...>& promise) {
|
|
100
106
|
return promise.get(rt);
|
|
101
107
|
}
|
|
102
108
|
};
|
|
@@ -21,6 +21,18 @@
|
|
|
21
21
|
#endif
|
|
22
22
|
#endif
|
|
23
23
|
|
|
24
|
+
#if defined(NAPI_EXPERIMENTAL) && \
|
|
25
|
+
!defined(NODE_API_EXPERIMENTAL_NO_WARNING) && \
|
|
26
|
+
!defined(NODE_WANT_INTERNALS)
|
|
27
|
+
#ifdef _MSC_VER
|
|
28
|
+
#pragma message("NAPI_EXPERIMENTAL is enabled. " \
|
|
29
|
+
"Experimental features may be unstable.")
|
|
30
|
+
#else
|
|
31
|
+
#warning "NAPI_EXPERIMENTAL is enabled. " \
|
|
32
|
+
"Experimental features may be unstable."
|
|
33
|
+
#endif
|
|
34
|
+
#endif
|
|
35
|
+
|
|
24
36
|
#include "js_native_api_types.h"
|
|
25
37
|
|
|
26
38
|
// If you need __declspec(dllimport), either include <node_api.h> instead, or
|
|
@@ -50,7 +62,7 @@
|
|
|
50
62
|
EXTERN_C_START
|
|
51
63
|
|
|
52
64
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
|
|
53
|
-
|
|
65
|
+
node_api_basic_env env, const napi_extended_error_info** result);
|
|
54
66
|
|
|
55
67
|
// Getters for defined singletons
|
|
56
68
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
|
|
@@ -92,31 +104,31 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
|
|
|
92
104
|
const char16_t* str,
|
|
93
105
|
size_t length,
|
|
94
106
|
napi_value* result);
|
|
95
|
-
#
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
bool* copied);
|
|
107
|
+
#if NAPI_VERSION >= 10
|
|
108
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_external_string_latin1(
|
|
109
|
+
napi_env env,
|
|
110
|
+
char* str,
|
|
111
|
+
size_t length,
|
|
112
|
+
node_api_basic_finalize finalize_callback,
|
|
113
|
+
void* finalize_hint,
|
|
114
|
+
napi_value* result,
|
|
115
|
+
bool* copied);
|
|
105
116
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
106
117
|
node_api_create_external_string_utf16(napi_env env,
|
|
107
118
|
char16_t* str,
|
|
108
119
|
size_t length,
|
|
109
|
-
|
|
120
|
+
node_api_basic_finalize finalize_callback,
|
|
110
121
|
void* finalize_hint,
|
|
111
122
|
napi_value* result,
|
|
112
123
|
bool* copied);
|
|
113
|
-
#endif // NAPI_EXPERIMENTAL
|
|
114
124
|
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_latin1(
|
|
126
|
+
napi_env env, const char* str, size_t length, napi_value* result);
|
|
127
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf8(
|
|
128
|
+
napi_env env, const char* str, size_t length, napi_value* result);
|
|
117
129
|
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf16(
|
|
118
130
|
napi_env env, const char16_t* str, size_t length, napi_value* result);
|
|
119
|
-
#endif //
|
|
131
|
+
#endif // NAPI_VERSION >= 10
|
|
120
132
|
|
|
121
133
|
NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env,
|
|
122
134
|
napi_value description,
|
|
@@ -318,12 +330,13 @@ napi_define_class(napi_env env,
|
|
|
318
330
|
napi_value* result);
|
|
319
331
|
|
|
320
332
|
// Methods to work with external data objects
|
|
321
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
333
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
334
|
+
napi_wrap(napi_env env,
|
|
335
|
+
napi_value js_object,
|
|
336
|
+
void* native_object,
|
|
337
|
+
node_api_basic_finalize finalize_cb,
|
|
338
|
+
void* finalize_hint,
|
|
339
|
+
napi_ref* result);
|
|
327
340
|
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
|
|
328
341
|
napi_value js_object,
|
|
329
342
|
void** result);
|
|
@@ -333,7 +346,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
|
|
|
333
346
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
334
347
|
napi_create_external(napi_env env,
|
|
335
348
|
void* data,
|
|
336
|
-
|
|
349
|
+
node_api_basic_finalize finalize_cb,
|
|
337
350
|
void* finalize_hint,
|
|
338
351
|
napi_value* result);
|
|
339
352
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
|
|
@@ -432,7 +445,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
|
|
|
432
445
|
napi_create_external_arraybuffer(napi_env env,
|
|
433
446
|
void* external_data,
|
|
434
447
|
size_t byte_length,
|
|
435
|
-
|
|
448
|
+
node_api_basic_finalize finalize_cb,
|
|
436
449
|
void* finalize_hint,
|
|
437
450
|
napi_value* result);
|
|
438
451
|
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
|
|
@@ -474,7 +487,7 @@ napi_get_dataview_info(napi_env env,
|
|
|
474
487
|
size_t* byte_offset);
|
|
475
488
|
|
|
476
489
|
// version management
|
|
477
|
-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(
|
|
490
|
+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
|
|
478
491
|
uint32_t* result);
|
|
479
492
|
|
|
480
493
|
// Promises
|
|
@@ -498,7 +511,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
|
|
|
498
511
|
|
|
499
512
|
// Memory management
|
|
500
513
|
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
|
|
501
|
-
|
|
514
|
+
node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
|
|
502
515
|
|
|
503
516
|
#if NAPI_VERSION >= 5
|
|
504
517
|
|
|
@@ -520,7 +533,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
|
|
|
520
533
|
napi_add_finalizer(napi_env env,
|
|
521
534
|
napi_value js_object,
|
|
522
535
|
void* finalize_data,
|
|
523
|
-
|
|
536
|
+
node_api_basic_finalize finalize_cb,
|
|
524
537
|
void* finalize_hint,
|
|
525
538
|
napi_ref* result);
|
|
526
539
|
|
|
@@ -530,7 +543,7 @@ napi_add_finalizer(napi_env env,
|
|
|
530
543
|
#define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
|
|
531
544
|
|
|
532
545
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
533
|
-
node_api_post_finalizer(
|
|
546
|
+
node_api_post_finalizer(node_api_basic_env env,
|
|
534
547
|
napi_finalize finalize_cb,
|
|
535
548
|
void* finalize_data,
|
|
536
549
|
void* finalize_hint);
|
|
@@ -575,13 +588,13 @@ napi_get_all_property_names(napi_env env,
|
|
|
575
588
|
|
|
576
589
|
// Instance data
|
|
577
590
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
578
|
-
napi_set_instance_data(
|
|
591
|
+
napi_set_instance_data(node_api_basic_env env,
|
|
579
592
|
void* data,
|
|
580
593
|
napi_finalize finalize_cb,
|
|
581
594
|
void* finalize_hint);
|
|
582
595
|
|
|
583
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
584
|
-
|
|
596
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
597
|
+
napi_get_instance_data(node_api_basic_env env, void** data);
|
|
585
598
|
#endif // NAPI_VERSION >= 6
|
|
586
599
|
|
|
587
600
|
#if NAPI_VERSION >= 7
|
|
@@ -7,11 +7,6 @@
|
|
|
7
7
|
#include <stddef.h> // NOLINT(modernize-deprecated-headers)
|
|
8
8
|
#include <stdint.h> // NOLINT(modernize-deprecated-headers)
|
|
9
9
|
|
|
10
|
-
// TODO: (vmoroz) NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT is not part of this
|
|
11
|
-
// Node-API file. It is here temporary to enable compilation. Remove it after
|
|
12
|
-
// updating tests.
|
|
13
|
-
#define NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT
|
|
14
|
-
|
|
15
10
|
#if !defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900)
|
|
16
11
|
typedef uint16_t char16_t;
|
|
17
12
|
#endif
|
|
@@ -32,7 +27,7 @@ typedef struct napi_env__* napi_env;
|
|
|
32
27
|
// meaning that they do not affect the state of the JS engine, and can
|
|
33
28
|
// therefore be called synchronously from a finalizer that itself runs
|
|
34
29
|
// synchronously during GC. Such APIs can receive either a `napi_env` or a
|
|
35
|
-
// `
|
|
30
|
+
// `node_api_basic_env` as their first parameter, because we should be able to
|
|
36
31
|
// also call them during normal, non-garbage-collecting operations, whereas
|
|
37
32
|
// APIs that affect the state of the JS engine can only receive a `napi_env` as
|
|
38
33
|
// their first parameter, because we must not call them during GC. In lieu of
|
|
@@ -42,19 +37,21 @@ typedef struct napi_env__* napi_env;
|
|
|
42
37
|
// expecting a non-const value.
|
|
43
38
|
//
|
|
44
39
|
// In conjunction with appropriate CFLAGS to warn us if we're passing a const
|
|
45
|
-
// (
|
|
46
|
-
// definition of
|
|
47
|
-
//
|
|
48
|
-
// (unless the user explicitly casts the environment), we achieve
|
|
49
|
-
// to ensure at compile time that we do not call APIs that affect
|
|
50
|
-
// the JS engine from a synchronous (
|
|
40
|
+
// (basic) environment into an API that expects a non-const environment, and
|
|
41
|
+
// the definition of basic finalizer function pointer types below, which
|
|
42
|
+
// receive a basic environment as their first parameter, and can thus only call
|
|
43
|
+
// basic APIs (unless the user explicitly casts the environment), we achieve
|
|
44
|
+
// the ability to ensure at compile time that we do not call APIs that affect
|
|
45
|
+
// the state of the JS engine from a synchronous (basic) finalizer.
|
|
51
46
|
#if !defined(NAPI_EXPERIMENTAL) || \
|
|
52
47
|
(defined(NAPI_EXPERIMENTAL) && \
|
|
53
|
-
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT)
|
|
48
|
+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
|
|
49
|
+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
|
|
54
50
|
typedef struct napi_env__* node_api_nogc_env;
|
|
55
51
|
#else
|
|
56
52
|
typedef const struct napi_env__* node_api_nogc_env;
|
|
57
53
|
#endif
|
|
54
|
+
typedef node_api_nogc_env node_api_basic_env;
|
|
58
55
|
|
|
59
56
|
typedef struct napi_value__* napi_value;
|
|
60
57
|
typedef struct napi_ref__* napi_ref;
|
|
@@ -152,13 +149,15 @@ typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
|
|
|
152
149
|
|
|
153
150
|
#if !defined(NAPI_EXPERIMENTAL) || \
|
|
154
151
|
(defined(NAPI_EXPERIMENTAL) && \
|
|
155
|
-
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT)
|
|
152
|
+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
|
|
153
|
+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
|
|
156
154
|
typedef napi_finalize node_api_nogc_finalize;
|
|
157
155
|
#else
|
|
158
156
|
typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
|
|
159
157
|
void* finalize_data,
|
|
160
158
|
void* finalize_hint);
|
|
161
159
|
#endif
|
|
160
|
+
typedef node_api_nogc_finalize node_api_basic_finalize;
|
|
162
161
|
|
|
163
162
|
typedef struct {
|
|
164
163
|
// One of utf8name or name should be NULL.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#ifndef SRC_JS_RUNTIME_API_H_
|
|
5
5
|
#define SRC_JS_RUNTIME_API_H_
|
|
6
6
|
|
|
7
|
-
#include "
|
|
7
|
+
#include "node_api.h"
|
|
8
8
|
|
|
9
9
|
//
|
|
10
10
|
// Node-API extensions required for JavaScript engine hosting.
|
|
@@ -51,6 +51,16 @@ JSR_API jsr_config_enable_gc_api(jsr_config config, bool value);
|
|
|
51
51
|
|
|
52
52
|
JSR_API jsr_config_set_explicit_microtasks(jsr_config config, bool value);
|
|
53
53
|
|
|
54
|
+
// A callback to process unhandled JS error
|
|
55
|
+
typedef void(NAPI_CDECL* jsr_unhandled_error_cb)(void* cb_data,
|
|
56
|
+
napi_env env,
|
|
57
|
+
napi_value error);
|
|
58
|
+
|
|
59
|
+
JSR_API jsr_config_on_unhandled_error(
|
|
60
|
+
jsr_config config,
|
|
61
|
+
void* cb_data,
|
|
62
|
+
jsr_unhandled_error_cb unhandled_error_cb);
|
|
63
|
+
|
|
54
64
|
//=============================================================================
|
|
55
65
|
// jsr_config task runner
|
|
56
66
|
//=============================================================================
|
|
@@ -187,13 +197,18 @@ JSR_API jsr_get_and_clear_last_unhandled_promise_rejection(napi_env env,
|
|
|
187
197
|
napi_value* result);
|
|
188
198
|
|
|
189
199
|
// Create new napi_env for the runtime.
|
|
190
|
-
JSR_API
|
|
191
|
-
|
|
192
|
-
napi_env* env);
|
|
200
|
+
JSR_API
|
|
201
|
+
jsr_create_node_api_env(napi_env root_env, int32_t api_version, napi_env* env);
|
|
193
202
|
|
|
194
203
|
// Run task in the environment context.
|
|
195
204
|
JSR_API jsr_run_task(napi_env env, jsr_task_run_cb task_cb, void* data);
|
|
196
205
|
|
|
206
|
+
// Initializes native module.
|
|
207
|
+
JSR_API jsr_initialize_native_module(napi_env env,
|
|
208
|
+
napi_addon_register_func register_module,
|
|
209
|
+
int32_t api_version,
|
|
210
|
+
napi_value* exports);
|
|
211
|
+
|
|
197
212
|
EXTERN_C_END
|
|
198
213
|
|
|
199
214
|
#endif // !SRC_JS_RUNTIME_API_H_
|