@office-iss/react-native-win32 0.71.5 → 0.72.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +15 -3
- package/CHANGELOG.json +321 -45
- package/CHANGELOG.md +149 -26
- 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/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +35 -16
- 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/Components/View/ViewWin32.js +2 -35
- 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 +4 -8
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +4 -8
- 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/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
- 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 +26 -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 +10 -4
- 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 +168 -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 +6 -6
- 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.win32.js +26 -0
- 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/flow/use-sync-external-store.js +1 -0
- 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 +122 -85
- package/package.json +40 -30
- package/rn-get-polyfills.js +1 -1
- package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +3 -3
- 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
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
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 DOMRectReadOnly from '../Geometry/DOMRectReadOnly';
|
|
14
|
+
import type {ArrayLike} from './ArrayLikeUtils';
|
|
15
|
+
|
|
16
|
+
import {createValueIterator} from './ArrayLikeUtils';
|
|
17
|
+
|
|
18
|
+
// IMPORTANT: The Flow type definition for this module is defined in `DOMRectList.js.flow`
|
|
19
|
+
// because Flow only supports indexers in classes in declaration files.
|
|
20
|
+
|
|
21
|
+
// $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable interface.
|
|
22
|
+
export default class DOMRectList implements Iterable<DOMRectReadOnly> {
|
|
23
|
+
_length: number;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Use `createDOMRectList` to create instances of this class.
|
|
27
|
+
*
|
|
28
|
+
* @private This is not defined in the declaration file, so users will not see
|
|
29
|
+
* the signature of the constructor.
|
|
30
|
+
*/
|
|
31
|
+
constructor(elements: $ReadOnlyArray<DOMRectReadOnly>) {
|
|
32
|
+
for (let i = 0; i < elements.length; i++) {
|
|
33
|
+
Object.defineProperty(this, i, {
|
|
34
|
+
value: elements[i],
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: false,
|
|
37
|
+
writable: false,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
this._length = elements.length;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
get length(): number {
|
|
45
|
+
return this._length;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
item(index: number): DOMRectReadOnly | null {
|
|
49
|
+
if (index < 0 || index >= this._length) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// assigning to the interface allows us to access the indexer property in a
|
|
54
|
+
// type-safe way.
|
|
55
|
+
// eslint-disable-next-line consistent-this
|
|
56
|
+
const arrayLike: ArrayLike<DOMRectReadOnly> = this;
|
|
57
|
+
return arrayLike[index];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.
|
|
61
|
+
[Symbol.iterator](): Iterator<DOMRectReadOnly> {
|
|
62
|
+
return createValueIterator(this);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This is an internal method to create instances of `DOMRectList`,
|
|
68
|
+
* which avoids leaking its constructor to end users.
|
|
69
|
+
* We can do that because the external definition of `DOMRectList` lives in
|
|
70
|
+
* `DOMRectList.js.flow`, not here.
|
|
71
|
+
*/
|
|
72
|
+
export function createDOMRectList(
|
|
73
|
+
elements: $ReadOnlyArray<DOMRectReadOnly>,
|
|
74
|
+
): DOMRectList {
|
|
75
|
+
return new DOMRectList(elements);
|
|
76
|
+
}
|
|
@@ -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
|
+
* @format
|
|
8
|
+
* @flow strict
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// flowlint unsafe-getters-setters:off
|
|
12
|
+
|
|
13
|
+
import type {ArrayLike} from './ArrayLikeUtils';
|
|
14
|
+
|
|
15
|
+
import {createValueIterator} from './ArrayLikeUtils';
|
|
16
|
+
|
|
17
|
+
// IMPORTANT: The type definition for this module is defined in `HTMLCollection.js.flow`
|
|
18
|
+
// because Flow only supports indexers in classes in declaration files.
|
|
19
|
+
|
|
20
|
+
// $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable<T> interface.
|
|
21
|
+
export default class HTMLCollection<T> implements Iterable<T>, ArrayLike<T> {
|
|
22
|
+
_length: number;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Use `createHTMLCollection` to create instances of this class.
|
|
26
|
+
*
|
|
27
|
+
* @private This is not defined in the declaration file, so users will not see
|
|
28
|
+
* the signature of the constructor.
|
|
29
|
+
*/
|
|
30
|
+
constructor(elements: $ReadOnlyArray<T>) {
|
|
31
|
+
for (let i = 0; i < elements.length; i++) {
|
|
32
|
+
Object.defineProperty(this, i, {
|
|
33
|
+
value: elements[i],
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: false,
|
|
36
|
+
writable: false,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
this._length = elements.length;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
get length(): number {
|
|
44
|
+
return this._length;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
item(index: number): T | null {
|
|
48
|
+
if (index < 0 || index >= this._length) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// assigning to the interface allows us to access the indexer property in a
|
|
53
|
+
// type-safe way.
|
|
54
|
+
// eslint-disable-next-line consistent-this
|
|
55
|
+
const arrayLike: ArrayLike<T> = this;
|
|
56
|
+
return arrayLike[index];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated Unused in React Native.
|
|
61
|
+
*/
|
|
62
|
+
namedItem(name: string): T | null {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.
|
|
67
|
+
[Symbol.iterator](): Iterator<T> {
|
|
68
|
+
return createValueIterator(this);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* This is an internal method to create instances of `HTMLCollection`,
|
|
74
|
+
* which avoids leaking its constructor to end users.
|
|
75
|
+
* We can do that because the external definition of `HTMLCollection` lives in
|
|
76
|
+
* `HTMLCollection.js.flow`, not here.
|
|
77
|
+
*/
|
|
78
|
+
export function createHTMLCollection<T>(
|
|
79
|
+
elements: $ReadOnlyArray<T>,
|
|
80
|
+
): HTMLCollection<T> {
|
|
81
|
+
return new HTMLCollection(elements);
|
|
82
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
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 {ArrayLike} from './ArrayLikeUtils';
|
|
14
|
+
|
|
15
|
+
import {
|
|
16
|
+
createEntriesIterator,
|
|
17
|
+
createKeyIterator,
|
|
18
|
+
createValueIterator,
|
|
19
|
+
} from './ArrayLikeUtils';
|
|
20
|
+
|
|
21
|
+
// IMPORTANT: The Flow type definition for this module is defined in `NodeList.js.flow`
|
|
22
|
+
// because Flow only supports indexers in classes in declaration files.
|
|
23
|
+
|
|
24
|
+
// $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable<T> interface.
|
|
25
|
+
export default class NodeList<T> implements Iterable<T>, ArrayLike<T> {
|
|
26
|
+
_length: number;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Use `createNodeList` to create instances of this class.
|
|
30
|
+
*
|
|
31
|
+
* @private This is not defined in the declaration file, so users will not see
|
|
32
|
+
* the signature of the constructor.
|
|
33
|
+
*/
|
|
34
|
+
constructor(elements: $ReadOnlyArray<T>) {
|
|
35
|
+
for (let i = 0; i < elements.length; i++) {
|
|
36
|
+
Object.defineProperty(this, i, {
|
|
37
|
+
value: elements[i],
|
|
38
|
+
writable: false,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
this._length = elements.length;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
get length(): number {
|
|
45
|
+
return this._length;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
item(index: number): T | null {
|
|
49
|
+
if (index < 0 || index >= this._length) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// assigning to the interface allows us to access the indexer property in a
|
|
54
|
+
// type-safe way.
|
|
55
|
+
// eslint-disable-next-line consistent-this
|
|
56
|
+
const arrayLike: ArrayLike<T> = this;
|
|
57
|
+
return arrayLike[index];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
entries(): Iterator<[number, T]> {
|
|
61
|
+
return createEntriesIterator(this);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
forEach<ThisType>(
|
|
65
|
+
callbackFn: (value: T, index: number, array: NodeList<T>) => mixed,
|
|
66
|
+
thisArg?: ThisType,
|
|
67
|
+
): void {
|
|
68
|
+
// assigning to the interface allows us to access the indexer property in a
|
|
69
|
+
// type-safe way.
|
|
70
|
+
// eslint-disable-next-line consistent-this
|
|
71
|
+
const arrayLike: ArrayLike<T> = this;
|
|
72
|
+
|
|
73
|
+
for (let index = 0; index < this._length; index++) {
|
|
74
|
+
if (thisArg == null) {
|
|
75
|
+
callbackFn(arrayLike[index], index, this);
|
|
76
|
+
} else {
|
|
77
|
+
callbackFn.call(thisArg, arrayLike[index], index, this);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
keys(): Iterator<number> {
|
|
83
|
+
return createKeyIterator(this);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
values(): Iterator<T> {
|
|
87
|
+
return createValueIterator(this);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.
|
|
91
|
+
[Symbol.iterator](): Iterator<T> {
|
|
92
|
+
return createValueIterator(this);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* This is an internal method to create instances of `NodeList`,
|
|
98
|
+
* which avoids leaking its constructor to end users.
|
|
99
|
+
* We can do that because the external definition of `NodeList` lives in
|
|
100
|
+
* `NodeList.js.flow`, not here.
|
|
101
|
+
*/
|
|
102
|
+
export function createNodeList<T>(elements: $ReadOnlyArray<T>): NodeList<T> {
|
|
103
|
+
return new NodeList(elements);
|
|
104
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import DevSettings from '../Utilities/DevSettings';
|
|
12
|
+
import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager';
|
|
13
|
+
|
|
14
|
+
module.exports = {
|
|
15
|
+
setConsolePatchSettings(newSettings: string) {
|
|
16
|
+
NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings);
|
|
17
|
+
},
|
|
18
|
+
getConsolePatchSettings(): ?string {
|
|
19
|
+
return NativeDevToolsSettingsManager?.getConsolePatchSettings();
|
|
20
|
+
},
|
|
21
|
+
setProfilingSettings(newSettings: string) {
|
|
22
|
+
if (NativeDevToolsSettingsManager?.setProfilingSettings != null) {
|
|
23
|
+
NativeDevToolsSettingsManager.setProfilingSettings(newSettings);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
getProfilingSettings(): ?string {
|
|
27
|
+
if (NativeDevToolsSettingsManager?.getProfilingSettings != null) {
|
|
28
|
+
return NativeDevToolsSettingsManager.getProfilingSettings();
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
},
|
|
32
|
+
reload(): void {
|
|
33
|
+
DevSettings?.reload();
|
|
34
|
+
},
|
|
35
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
export interface DevToolsSettingsManagerStatic {
|
|
12
|
+
reload(): void;
|
|
13
|
+
setConsolePatchSettings(newSettings: string): void;
|
|
14
|
+
getConsolePatchSettings(): string | null;
|
|
15
|
+
setProfilingSettings(newSettings: string): void;
|
|
16
|
+
getProfilingSettings(): string | null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const DevToolsSettingsManager: DevToolsSettingsManagerStatic;
|
|
20
|
+
export type DevToolsSettingsManager = DevToolsSettingsManagerStatic;
|
|
@@ -0,0 +1,49 @@
|
|
|
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-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import Settings from '../Settings/Settings';
|
|
12
|
+
import DevSettings from '../Utilities/DevSettings';
|
|
13
|
+
|
|
14
|
+
const CONSOLE_PATCH_SETTINGS_KEY = 'ReactDevTools::ConsolePatchSettings';
|
|
15
|
+
const PROFILING_SETTINGS_KEY = 'ReactDevTools::ProfilingSettings';
|
|
16
|
+
|
|
17
|
+
const DevToolsSettingsManager = {
|
|
18
|
+
setConsolePatchSettings(newConsolePatchSettings: string): void {
|
|
19
|
+
Settings.set({
|
|
20
|
+
[CONSOLE_PATCH_SETTINGS_KEY]: newConsolePatchSettings,
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
getConsolePatchSettings(): ?string {
|
|
24
|
+
const value = Settings.get(CONSOLE_PATCH_SETTINGS_KEY);
|
|
25
|
+
if (typeof value === 'string') {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
setProfilingSettings(newProfilingSettings: string): void {
|
|
32
|
+
Settings.set({
|
|
33
|
+
[PROFILING_SETTINGS_KEY]: newProfilingSettings,
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
getProfilingSettings(): ?string {
|
|
37
|
+
const value = Settings.get(PROFILING_SETTINGS_KEY);
|
|
38
|
+
if (typeof value === 'string') {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
reload(): void {
|
|
45
|
+
DevSettings?.reload();
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
module.exports = DevToolsSettingsManager;
|
|
@@ -0,0 +1,35 @@
|
|
|
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-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import DevSettings from '../Utilities/DevSettings';
|
|
12
|
+
import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager';
|
|
13
|
+
|
|
14
|
+
module.exports = {
|
|
15
|
+
setConsolePatchSettings(newSettings: string) {
|
|
16
|
+
NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings);
|
|
17
|
+
},
|
|
18
|
+
getConsolePatchSettings(): ?string {
|
|
19
|
+
return NativeDevToolsSettingsManager?.getConsolePatchSettings();
|
|
20
|
+
},
|
|
21
|
+
setProfilingSettings(newSettings: string) {
|
|
22
|
+
if (NativeDevToolsSettingsManager?.setProfilingSettings != null) {
|
|
23
|
+
NativeDevToolsSettingsManager.setProfilingSettings(newSettings);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
getProfilingSettings(): ?string {
|
|
27
|
+
if (NativeDevToolsSettingsManager?.getProfilingSettings != null) {
|
|
28
|
+
return NativeDevToolsSettingsManager.getProfilingSettings();
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
},
|
|
32
|
+
reload(): void {
|
|
33
|
+
DevSettings?.reload();
|
|
34
|
+
},
|
|
35
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
import type {TurboModule} from '../TurboModule/RCTExport';
|
|
12
|
+
|
|
13
|
+
import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
|
|
14
|
+
|
|
15
|
+
export interface Spec extends TurboModule {
|
|
16
|
+
+setConsolePatchSettings: (newConsolePatchSettings: string) => void;
|
|
17
|
+
+getConsolePatchSettings: () => ?string;
|
|
18
|
+
+setProfilingSettings?: (newProfilingSettings: string) => void;
|
|
19
|
+
+getProfilingSettings?: () => ?string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default (TurboModuleRegistry.get<Spec>(
|
|
23
|
+
'DevToolsSettingsManager',
|
|
24
|
+
): ?Spec);
|
|
@@ -21,4 +21,12 @@ type RCTDeviceEventDefinitions = $FlowFixMe;
|
|
|
21
21
|
*
|
|
22
22
|
* NativeModules that emit events should instead subclass `NativeEventEmitter`.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
const RCTDeviceEventEmitter: IEventEmitter<RCTDeviceEventDefinitions> =
|
|
25
|
+
new EventEmitter();
|
|
26
|
+
|
|
27
|
+
Object.defineProperty(global, '__rctDeviceEventEmitter', {
|
|
28
|
+
configurable: true,
|
|
29
|
+
value: RCTDeviceEventEmitter,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export default (RCTDeviceEventEmitter: IEventEmitter<RCTDeviceEventDefinitions>);
|
|
@@ -159,7 +159,7 @@ class EventPolyfill implements IEvent {
|
|
|
159
159
|
// data with the other in sync.
|
|
160
160
|
_syntheticEvent: mixed;
|
|
161
161
|
|
|
162
|
-
constructor(type: string, eventInitDict?: Event$Init)
|
|
162
|
+
constructor(type: string, eventInitDict?: Event$Init) {
|
|
163
163
|
this.type = type;
|
|
164
164
|
this.bubbles = !!(eventInitDict?.bubbles || false);
|
|
165
165
|
this.cancelable = !!(eventInitDict?.cancelable || false);
|