@office-iss/react-native-win32 0.71.4 → 0.72.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +15 -3
- package/CHANGELOG.json +310 -40
- package/CHANGELOG.md +145 -23
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.win32.js +451 -0
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
- package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
- package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +71 -45
- package/Libraries/Components/View/View.win32.js +38 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
- package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.win32.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/Inspector.win32.js +7 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +11 -5
- package/Libraries/Pressability/Pressability.win32.js +9 -3
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +142 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.win32.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/flow/global.js +29 -4
- package/flow/jest.js +258 -164
- package/index.js +56 -42
- package/index.win32.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/overrides.json +115 -85
- package/package.json +38 -28
- package/rn-get-polyfills.js +1 -1
- package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
- package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
- package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
- package/types/index.d.ts +2 -6
- package/types/modules/Codegen.d.ts +4 -4
- package/types/modules/globals.d.ts +27 -25
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
- package/types/public/ReactNativeRenderer.d.ts +2 -7
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/flow/JSITimerInternalType.js +0 -30
- package/flow/use-sync-external-store.js +0 -19
|
@@ -61,7 +61,7 @@ if (global.RN$Bridgeless !== true) {
|
|
|
61
61
|
* as the Promise.
|
|
62
62
|
*/
|
|
63
63
|
if (hasPromiseQueuedToJSVM) {
|
|
64
|
-
// When promise queues to the JSVM microtasks queue, we shim the
|
|
64
|
+
// When promise queues to the JSVM microtasks queue, we shim the immediate
|
|
65
65
|
// APIs via `queueMicrotask` to maintain the backward compatibility.
|
|
66
66
|
polyfillGlobal(
|
|
67
67
|
'setImmediate',
|
|
@@ -95,7 +95,7 @@ if (hasHermesPromiseQueuedToJSVM) {
|
|
|
95
95
|
// Fast path for Hermes.
|
|
96
96
|
polyfillGlobal('queueMicrotask', () => global.HermesInternal?.enqueueJob);
|
|
97
97
|
} else {
|
|
98
|
-
// Polyfill it with promise (regardless it's
|
|
98
|
+
// Polyfill it with promise (regardless it's polyfilled or native) otherwise.
|
|
99
99
|
polyfillGlobal(
|
|
100
100
|
'queueMicrotask',
|
|
101
101
|
() => require('./Timers/queueMicrotask.js').default,
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The JSDoc comments in this file have been extracted from [DOMRect](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).
|
|
13
|
+
* Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/contributors.txt),
|
|
14
|
+
* licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import DOMRectReadOnly, {type DOMRectLike} from './DOMRectReadOnly';
|
|
18
|
+
|
|
19
|
+
// flowlint unsafe-getters-setters:off
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A `DOMRect` describes the size and position of a rectangle.
|
|
23
|
+
* The type of box represented by the `DOMRect` is specified by the method or property that returned it.
|
|
24
|
+
*
|
|
25
|
+
* This is a (mostly) spec-compliant version of `DOMRect` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).
|
|
26
|
+
*/
|
|
27
|
+
export default class DOMRect extends DOMRectReadOnly {
|
|
28
|
+
/**
|
|
29
|
+
* The x coordinate of the `DOMRect`'s origin.
|
|
30
|
+
*/
|
|
31
|
+
get x(): number {
|
|
32
|
+
return this.__getInternalX();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
set x(x: ?number) {
|
|
36
|
+
this.__setInternalX(x);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The y coordinate of the `DOMRect`'s origin.
|
|
41
|
+
*/
|
|
42
|
+
get y(): number {
|
|
43
|
+
return this.__getInternalY();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
set y(y: ?number) {
|
|
47
|
+
this.__setInternalY(y);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The width of the `DOMRect`.
|
|
52
|
+
*/
|
|
53
|
+
get width(): number {
|
|
54
|
+
return this.__getInternalWidth();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
set width(width: ?number) {
|
|
58
|
+
this.__setInternalWidth(width);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The height of the `DOMRect`.
|
|
63
|
+
*/
|
|
64
|
+
get height(): number {
|
|
65
|
+
return this.__getInternalHeight();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
set height(height: ?number) {
|
|
69
|
+
this.__setInternalHeight(height);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Creates a new `DOMRect` object with a given location and dimensions.
|
|
74
|
+
*/
|
|
75
|
+
static fromRect(rect?: ?DOMRectLike): DOMRect {
|
|
76
|
+
if (!rect) {
|
|
77
|
+
return new DOMRect();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return new DOMRect(rect.x, rect.y, rect.width, rect.height);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The JSDoc comments in this file have been extracted from [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).
|
|
13
|
+
* Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly/contributors.txt),
|
|
14
|
+
* licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// flowlint sketchy-null:off, unsafe-getters-setters:off
|
|
18
|
+
|
|
19
|
+
export interface DOMRectLike {
|
|
20
|
+
x?: ?number;
|
|
21
|
+
y?: ?number;
|
|
22
|
+
width?: ?number;
|
|
23
|
+
height?: ?number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function castToNumber(value: mixed): number {
|
|
27
|
+
return value ? Number(value) : 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The `DOMRectReadOnly` interface specifies the standard properties used by `DOMRect` to define a rectangle whose properties are immutable.
|
|
32
|
+
*
|
|
33
|
+
* This is a (mostly) spec-compliant version of `DOMRectReadOnly` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).
|
|
34
|
+
*/
|
|
35
|
+
export default class DOMRectReadOnly {
|
|
36
|
+
_x: number;
|
|
37
|
+
_y: number;
|
|
38
|
+
_width: number;
|
|
39
|
+
_height: number;
|
|
40
|
+
|
|
41
|
+
constructor(x: ?number, y: ?number, width: ?number, height: ?number) {
|
|
42
|
+
this.__setInternalX(x);
|
|
43
|
+
this.__setInternalY(y);
|
|
44
|
+
this.__setInternalWidth(width);
|
|
45
|
+
this.__setInternalHeight(height);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The x coordinate of the `DOMRectReadOnly`'s origin.
|
|
50
|
+
*/
|
|
51
|
+
get x(): number {
|
|
52
|
+
return this._x;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The y coordinate of the `DOMRectReadOnly`'s origin.
|
|
57
|
+
*/
|
|
58
|
+
get y(): number {
|
|
59
|
+
return this._y;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The width of the `DOMRectReadOnly`.
|
|
64
|
+
*/
|
|
65
|
+
get width(): number {
|
|
66
|
+
return this._width;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The height of the `DOMRectReadOnly`.
|
|
71
|
+
*/
|
|
72
|
+
get height(): number {
|
|
73
|
+
return this._height;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Returns the top coordinate value of the `DOMRect` (has the same value as `y`, or `y + height` if `height` is negative).
|
|
78
|
+
*/
|
|
79
|
+
get top(): number {
|
|
80
|
+
const height = this._height;
|
|
81
|
+
const y = this._y;
|
|
82
|
+
|
|
83
|
+
if (height < 0) {
|
|
84
|
+
return y + height;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return y;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Returns the right coordinate value of the `DOMRect` (has the same value as ``x + width`, or `x` if `width` is negative).
|
|
92
|
+
*/
|
|
93
|
+
get right(): number {
|
|
94
|
+
const width = this._width;
|
|
95
|
+
const x = this._x;
|
|
96
|
+
|
|
97
|
+
if (width < 0) {
|
|
98
|
+
return x;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return x + width;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Returns the bottom coordinate value of the `DOMRect` (has the same value as `y + height`, or `y` if `height` is negative).
|
|
106
|
+
*/
|
|
107
|
+
get bottom(): number {
|
|
108
|
+
const height = this._height;
|
|
109
|
+
const y = this._y;
|
|
110
|
+
|
|
111
|
+
if (height < 0) {
|
|
112
|
+
return y;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return y + height;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Returns the left coordinate value of the `DOMRect` (has the same value as `x`, or `x + width` if `width` is negative).
|
|
120
|
+
*/
|
|
121
|
+
get left(): number {
|
|
122
|
+
const width = this._width;
|
|
123
|
+
const x = this._x;
|
|
124
|
+
|
|
125
|
+
if (width < 0) {
|
|
126
|
+
return x + width;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return x;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
toJSON(): {
|
|
133
|
+
x: number,
|
|
134
|
+
y: number,
|
|
135
|
+
width: number,
|
|
136
|
+
height: number,
|
|
137
|
+
top: number,
|
|
138
|
+
left: number,
|
|
139
|
+
bottom: number,
|
|
140
|
+
right: number,
|
|
141
|
+
} {
|
|
142
|
+
const {x, y, width, height, top, left, bottom, right} = this;
|
|
143
|
+
return {x, y, width, height, top, left, bottom, right};
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Creates a new `DOMRectReadOnly` object with a given location and dimensions.
|
|
148
|
+
*/
|
|
149
|
+
static fromRect(rect?: ?DOMRectLike): DOMRectReadOnly {
|
|
150
|
+
if (!rect) {
|
|
151
|
+
return new DOMRectReadOnly();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return new DOMRectReadOnly(rect.x, rect.y, rect.width, rect.height);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
__getInternalX(): number {
|
|
158
|
+
return this._x;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
__getInternalY(): number {
|
|
162
|
+
return this._y;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
__getInternalWidth(): number {
|
|
166
|
+
return this._width;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
__getInternalHeight(): number {
|
|
170
|
+
return this._height;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
__setInternalX(x: ?number) {
|
|
174
|
+
this._x = castToNumber(x);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
__setInternalY(y: ?number) {
|
|
178
|
+
this._y = castToNumber(y);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
__setInternalWidth(width: ?number) {
|
|
182
|
+
this._width = castToNumber(width);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
__setInternalHeight(height: ?number) {
|
|
186
|
+
this._height = castToNumber(height);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @flow strict
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// flowlint unsafe-getters-setters:off
|
|
12
|
+
|
|
13
|
+
import type {
|
|
14
|
+
HostComponent,
|
|
15
|
+
MeasureInWindowOnSuccessCallback,
|
|
16
|
+
MeasureLayoutOnSuccessCallback,
|
|
17
|
+
MeasureOnSuccessCallback,
|
|
18
|
+
} from '../../Renderer/shims/ReactNativeTypes';
|
|
19
|
+
import type {ElementRef} from 'react';
|
|
20
|
+
|
|
21
|
+
import ReadOnlyElement from './ReadOnlyElement';
|
|
22
|
+
|
|
23
|
+
export default class ReactNativeElement extends ReadOnlyElement {
|
|
24
|
+
get offsetHeight(): number {
|
|
25
|
+
throw new TypeError('Unimplemented');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
get offsetLeft(): number {
|
|
29
|
+
throw new TypeError('Unimplemented');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
get offsetParent(): ReadOnlyElement | null {
|
|
33
|
+
throw new TypeError('Unimplemented');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
get offsetTop(): number {
|
|
37
|
+
throw new TypeError('Unimplemented');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get offsetWidth(): number {
|
|
41
|
+
throw new TypeError('Unimplemented');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* React Native compatibility methods
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
blur(): void {
|
|
49
|
+
throw new TypeError('Unimplemented');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
focus(): void {
|
|
53
|
+
throw new TypeError('Unimplemented');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
measure(callback: MeasureOnSuccessCallback): void {
|
|
57
|
+
throw new TypeError('Unimplemented');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
measureInWindow(callback: MeasureInWindowOnSuccessCallback): void {
|
|
61
|
+
throw new TypeError('Unimplemented');
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
measureLayout(
|
|
65
|
+
relativeToNativeNode: number | ElementRef<HostComponent<mixed>>,
|
|
66
|
+
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
67
|
+
onFail?: () => void /* currently unused */,
|
|
68
|
+
): void {
|
|
69
|
+
throw new TypeError('Unimplemented');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
setNativeProps(nativeProps: {...}): void {
|
|
73
|
+
throw new TypeError('Unimplemented');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @flow strict
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// flowlint unsafe-getters-setters:off
|
|
12
|
+
|
|
13
|
+
import type HTMLCollection from '../OldStyleCollections/HTMLCollection';
|
|
14
|
+
|
|
15
|
+
import ReadOnlyNode from './ReadOnlyNode';
|
|
16
|
+
|
|
17
|
+
export default class ReadOnlyElement extends ReadOnlyNode {
|
|
18
|
+
get childElementCount(): number {
|
|
19
|
+
throw new TypeError('Unimplemented');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get children(): HTMLCollection<ReadOnlyElement> {
|
|
23
|
+
throw new TypeError('Unimplemented');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
get clientHeight(): number {
|
|
27
|
+
throw new TypeError('Unimplemented');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
get clientLeft(): number {
|
|
31
|
+
throw new TypeError('Unimplemented');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get clientTop(): number {
|
|
35
|
+
throw new TypeError('Unimplemented');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
get clientWidth(): number {
|
|
39
|
+
throw new TypeError('Unimplemented');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
get firstElementChild(): ReadOnlyElement | null {
|
|
43
|
+
throw new TypeError('Unimplemented');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
get id(): string {
|
|
47
|
+
throw new TypeError('Unimplemented');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
get lastElementChild(): ReadOnlyElement | null {
|
|
51
|
+
throw new TypeError('Unimplemented');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
get nextElementSibling(): ReadOnlyElement | null {
|
|
55
|
+
throw new TypeError('Unimplemented');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
get previousElementSibling(): ReadOnlyElement | null {
|
|
59
|
+
throw new TypeError('Unimplemented');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
get scrollHeight(): number {
|
|
63
|
+
throw new TypeError('Unimplemented');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
get scrollLeft(): number {
|
|
67
|
+
throw new TypeError('Unimplemented');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
get scrollTop(): number {
|
|
71
|
+
throw new TypeError('Unimplemented');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
get scrollWidth(): number {
|
|
75
|
+
throw new TypeError('Unimplemented');
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
get tagName(): string {
|
|
79
|
+
throw new TypeError('Unimplemented');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
getBoundingClientRect(): DOMRect {
|
|
83
|
+
throw new TypeError('Unimplemented');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
getClientRects(): DOMRectList {
|
|
87
|
+
throw new TypeError('Unimplemented');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @flow strict
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// flowlint unsafe-getters-setters:off
|
|
12
|
+
|
|
13
|
+
import type NodeList from '../OldStyleCollections/NodeList';
|
|
14
|
+
import type ReadOnlyElement from './ReadOnlyElement';
|
|
15
|
+
|
|
16
|
+
export default class ReadOnlyNode {
|
|
17
|
+
get childNodes(): NodeList<ReadOnlyNode> {
|
|
18
|
+
throw new TypeError('Unimplemented');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
get firstChild(): ReadOnlyNode | null {
|
|
22
|
+
throw new TypeError('Unimplemented');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
get isConnected(): boolean {
|
|
26
|
+
throw new TypeError('Unimplemented');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
get lastChild(): ReadOnlyNode | null {
|
|
30
|
+
throw new TypeError('Unimplemented');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
get nextSibling(): ReadOnlyNode | null {
|
|
34
|
+
throw new TypeError('Unimplemented');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
get nodeName(): string {
|
|
38
|
+
throw new TypeError('Unimplemented');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get nodeType(): number {
|
|
42
|
+
throw new TypeError('Unimplemented');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
get nodeValue(): string | null {
|
|
46
|
+
throw new TypeError('Unimplemented');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
get parentElement(): ReadOnlyElement | null {
|
|
50
|
+
throw new TypeError('Unimplemented');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
get parentNode(): ReadOnlyNode | null {
|
|
54
|
+
throw new TypeError('Unimplemented');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
get previousSibling(): ReadOnlyNode | null {
|
|
58
|
+
throw new TypeError('Unimplemented');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
get textContent(): string | null {
|
|
62
|
+
throw new TypeError('Unimplemented');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
compareDocumentPosition(otherNode: ReadOnlyNode): number {
|
|
66
|
+
throw new TypeError('Unimplemented');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
contains(otherNode: ReadOnlyNode): boolean {
|
|
70
|
+
throw new TypeError('Unimplemented');
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
getRootNode(): ReadOnlyNode {
|
|
74
|
+
throw new TypeError('Unimplemented');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
hasChildNodes(): boolean {
|
|
78
|
+
throw new TypeError('Unimplemented');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/*
|
|
82
|
+
* Node types, as returned by the `nodeType` property.
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Type of Element, HTMLElement and ReactNativeElement instances.
|
|
87
|
+
*/
|
|
88
|
+
static ELEMENT_NODE: number = 1;
|
|
89
|
+
/**
|
|
90
|
+
* Currently Unused in React Native.
|
|
91
|
+
*/
|
|
92
|
+
static ATTRIBUTE_NODE: number = 2;
|
|
93
|
+
/**
|
|
94
|
+
* Text nodes.
|
|
95
|
+
*/
|
|
96
|
+
static TEXT_NODE: number = 3;
|
|
97
|
+
/**
|
|
98
|
+
* @deprecated Unused in React Native.
|
|
99
|
+
*/
|
|
100
|
+
static CDATA_SECTION_NODE: number = 4;
|
|
101
|
+
/**
|
|
102
|
+
* @deprecated
|
|
103
|
+
*/
|
|
104
|
+
static ENTITY_REFERENCE_NODE: number = 5;
|
|
105
|
+
/**
|
|
106
|
+
* @deprecated
|
|
107
|
+
*/
|
|
108
|
+
static ENTITY_NODE: number = 6;
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated Unused in React Native.
|
|
111
|
+
*/
|
|
112
|
+
static PROCESSING_INSTRUCTION_NODE: number = 7;
|
|
113
|
+
/**
|
|
114
|
+
* @deprecated Unused in React Native.
|
|
115
|
+
*/
|
|
116
|
+
static COMMENT_NODE: number = 8;
|
|
117
|
+
/**
|
|
118
|
+
* @deprecated Unused in React Native.
|
|
119
|
+
*/
|
|
120
|
+
static DOCUMENT_NODE: number = 9;
|
|
121
|
+
/**
|
|
122
|
+
* @deprecated Unused in React Native.
|
|
123
|
+
*/
|
|
124
|
+
static DOCUMENT_TYPE_NODE: number = 10;
|
|
125
|
+
/**
|
|
126
|
+
* @deprecated Unused in React Native.
|
|
127
|
+
*/
|
|
128
|
+
static DOCUMENT_FRAGMENT_NODE: number = 11;
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated
|
|
131
|
+
*/
|
|
132
|
+
static NOTATION_NODE: number = 12;
|
|
133
|
+
|
|
134
|
+
/*
|
|
135
|
+
* Document position flags. Used to check the return value of
|
|
136
|
+
* `compareDocumentPosition()`.
|
|
137
|
+
*/
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Both nodes are in different documents.
|
|
141
|
+
*/
|
|
142
|
+
static DOCUMENT_POSITION_DISCONNECTED: number = 1;
|
|
143
|
+
/**
|
|
144
|
+
* `otherNode` precedes the node in either a pre-order depth-first traversal of a tree containing both
|
|
145
|
+
* (e.g., as an ancestor or previous sibling or a descendant of a previous sibling or previous sibling of an ancestor)
|
|
146
|
+
* or (if they are disconnected) in an arbitrary but consistent ordering.
|
|
147
|
+
*/
|
|
148
|
+
static DOCUMENT_POSITION_PRECEDING: number = 2;
|
|
149
|
+
/**
|
|
150
|
+
* `otherNode` follows the node in either a pre-order depth-first traversal of a tree containing both
|
|
151
|
+
* (e.g., as a descendant or following sibling or a descendant of a following sibling or following sibling of an ancestor)
|
|
152
|
+
* or (if they are disconnected) in an arbitrary but consistent ordering.
|
|
153
|
+
*/
|
|
154
|
+
static DOCUMENT_POSITION_FOLLOWING: number = 4;
|
|
155
|
+
/**
|
|
156
|
+
* `otherNode` is an ancestor of the node.
|
|
157
|
+
*/
|
|
158
|
+
static DOCUMENT_POSITION_CONTAINS: number = 8;
|
|
159
|
+
/**
|
|
160
|
+
* `otherNode` is a descendant of the node.
|
|
161
|
+
*/
|
|
162
|
+
static DOCUMENT_POSITION_CONTAINED_BY: number = 16;
|
|
163
|
+
/**
|
|
164
|
+
* @deprecated Unused in React Native.
|
|
165
|
+
*/
|
|
166
|
+
static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number = 32;
|
|
167
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @flow strict
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* This definition is different from the current built-in type `$ArrayLike`
|
|
13
|
+
* provided by Flow, in that this is an interface and that one is an object.
|
|
14
|
+
*
|
|
15
|
+
* The difference is important because, when using objects, Flow thinks
|
|
16
|
+
* a `length` property would be copied over when using the spread operator,
|
|
17
|
+
* which is incorrect.
|
|
18
|
+
*/
|
|
19
|
+
export interface ArrayLike<T> extends Iterable<T> {
|
|
20
|
+
// This property should've been read-only as well, but Flow doesn't handle
|
|
21
|
+
// read-only indexers correctly (thinks reads are writes and fails).
|
|
22
|
+
[indexer: number]: T;
|
|
23
|
+
+length: number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function* createValueIterator<T>(arrayLike: ArrayLike<T>): Iterator<T> {
|
|
27
|
+
for (let i = 0; i < arrayLike.length; i++) {
|
|
28
|
+
yield arrayLike[i];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function* createKeyIterator<T>(
|
|
33
|
+
arrayLike: ArrayLike<T>,
|
|
34
|
+
): Iterator<number> {
|
|
35
|
+
for (let i = 0; i < arrayLike.length; i++) {
|
|
36
|
+
yield i;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function* createEntriesIterator<T>(
|
|
41
|
+
arrayLike: ArrayLike<T>,
|
|
42
|
+
): Iterator<[number, T]> {
|
|
43
|
+
for (let i = 0; i < arrayLike.length; i++) {
|
|
44
|
+
yield [i, arrayLike[i]];
|
|
45
|
+
}
|
|
46
|
+
}
|