@office-iss/react-native-win32 0.70.2 → 0.71.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/.eslintignore +1 -0
- package/.eslintrc.js +2 -0
- package/.flowconfig +3 -6
- package/CHANGELOG.json +281 -43
- package/CHANGELOG.md +105 -24
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +0 -1
- package/IntegrationTests/BUCK +0 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -3
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +4 -4
- package/IntegrationTests/WebSocketTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +13 -20
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -8
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +87 -52
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -38
- package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
- package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/View.win32.js +176 -89
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
- package/Libraries/Components/View/ViewWin32.Props.d.ts +6 -1
- package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/Image.win32.js +54 -25
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/Inspector.win32.js +23 -109
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- 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/NativeLogBox.js +3 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.win32.js +1 -0
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/Pressability.win32.js +9 -7
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextNativeComponent.win32.js +67 -48
- package/Libraries/Text/TextProps.js +64 -7
- package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.win32.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -5
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/Dimensions.win32.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- 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 +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/Platform.win32.js +11 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/__tests__/ButtonWin32-test.js +16 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/babel.config.js +3 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/index.js +89 -55
- package/index.win32.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +7 -9
- package/jest.config.js +9 -2
- package/overrides.json +40 -101
- package/package.json +34 -33
- package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
- package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
- package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
- package/src/Libraries/Components/View/ViewWin32.Props.ts +10 -1
- package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
- package/src/Libraries/platform-types.d.ts +25 -0
- package/types/index.d.ts +215 -0
- package/IntegrationTests/AsyncStorageTest.js +0 -261
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Lists/VirtualizedList.win32.js +0 -9
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
- package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
- package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
- package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
- package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/rntypes/BatchedBridge.d.ts +0 -23
- package/rntypes/Devtools.d.ts +0 -20
- package/rntypes/LaunchScreen.d.ts +0 -9
- package/rntypes/globals.d.ts +0 -497
- package/rntypes/index.d.ts +0 -9754
- package/rntypes/legacy-properties.d.ts +0 -238
- package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
- package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
- package/src/rntypes/BatchedBridge.d.ts +0 -23
- package/src/rntypes/Devtools.d.ts +0 -20
- package/src/rntypes/LaunchScreen.d.ts +0 -9
- package/src/rntypes/globals.d.ts +0 -497
- package/src/rntypes/index.d.ts +0 -9754
- package/src/rntypes/legacy-properties.d.ts +0 -238
- package/src/typings-index.ts +0 -37
- package/typings-index.d.ts +0 -23
- package/typings-index.js +0 -47
- package/typings-index.js.map +0 -1
|
@@ -13,11 +13,18 @@
|
|
|
13
13
|
const AUTO_SET_TIMESTAMP = -1;
|
|
14
14
|
const DUMMY_INSTANCE_KEY = 0;
|
|
15
15
|
|
|
16
|
-
// Defines map of annotations
|
|
16
|
+
// Defines map of annotations
|
|
17
17
|
// Use as following:
|
|
18
18
|
// {string: {key1: value1, key2: value2}}
|
|
19
19
|
export type AnnotationsMap = $Shape<{
|
|
20
20
|
string: ?{[string]: string, ...},
|
|
21
|
+
int: ?{[string]: number, ...},
|
|
22
|
+
double: ?{[string]: number, ...},
|
|
23
|
+
bool: ?{[string]: boolean, ...},
|
|
24
|
+
string_array: ?{[string]: $ReadOnlyArray<string>, ...},
|
|
25
|
+
int_array: ?{[string]: $ReadOnlyArray<number>, ...},
|
|
26
|
+
double_array: ?{[string]: $ReadOnlyArray<number>, ...},
|
|
27
|
+
bool_array: ?{[string]: $ReadOnlyArray<boolean>, ...},
|
|
21
28
|
}>;
|
|
22
29
|
|
|
23
30
|
const QuickPerformanceLogger = {
|
|
@@ -54,17 +61,34 @@ const QuickPerformanceLogger = {
|
|
|
54
61
|
|
|
55
62
|
markerAnnotate(
|
|
56
63
|
markerId: number,
|
|
57
|
-
|
|
58
|
-
annotationValue: string,
|
|
64
|
+
annotations: AnnotationsMap,
|
|
59
65
|
instanceKey: number = DUMMY_INSTANCE_KEY,
|
|
60
66
|
): void {
|
|
61
|
-
if (global.
|
|
62
|
-
global.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
if (global.nativeQPLMarkerAnnotateWithMap) {
|
|
68
|
+
global.nativeQPLMarkerAnnotateWithMap(markerId, annotations, instanceKey);
|
|
69
|
+
} else if (global.nativeQPLMarkerAnnotate) {
|
|
70
|
+
for (const type of [
|
|
71
|
+
'string',
|
|
72
|
+
'int',
|
|
73
|
+
'double',
|
|
74
|
+
'bool',
|
|
75
|
+
'string_array',
|
|
76
|
+
'int_array',
|
|
77
|
+
'double_array',
|
|
78
|
+
'bool_array',
|
|
79
|
+
]) {
|
|
80
|
+
const keyValsOfType = annotations[type];
|
|
81
|
+
if (keyValsOfType != null) {
|
|
82
|
+
for (const annotationKey of Object.keys(keyValsOfType)) {
|
|
83
|
+
global.nativeQPLMarkerAnnotate(
|
|
84
|
+
markerId,
|
|
85
|
+
instanceKey,
|
|
86
|
+
annotationKey,
|
|
87
|
+
keyValsOfType[annotationKey].toString(),
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
68
92
|
}
|
|
69
93
|
},
|
|
70
94
|
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
*/
|
|
9
|
+
|
|
10
|
+
type EventName = string | (() => string);
|
|
11
|
+
type EventArgs = {[key: string]: string} | void | null;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Indicates if the application is currently being traced.
|
|
15
|
+
*
|
|
16
|
+
* Calling methods on this module when the application isn't being traced is
|
|
17
|
+
* cheap, but this method can be used to avoid computing expensive values for
|
|
18
|
+
* those functions.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* if (Systrace.isEnabled()) {
|
|
22
|
+
* const expensiveArgs = computeExpensiveArgs();
|
|
23
|
+
* Systrace.beginEvent('myEvent', expensiveArgs);
|
|
24
|
+
* }
|
|
25
|
+
*/
|
|
26
|
+
export function isEnabled(): boolean;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated This function is now a no-op but it's left for backwards
|
|
30
|
+
* compatibility. `isEnabled` will now synchronously check if we're actively
|
|
31
|
+
* profiling or not. This is necessary because we don't have callbacks to know
|
|
32
|
+
* when profiling has started/stopped on Android APIs.
|
|
33
|
+
*/
|
|
34
|
+
export function setEnabled(_doEnable: boolean): void;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Marks the start of a synchronous event that should end in the same stack
|
|
38
|
+
* frame. The end of this event should be marked using the `endEvent` function.
|
|
39
|
+
*/
|
|
40
|
+
export function beginEvent(eventName: EventName, args?: EventArgs): void;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Marks the end of a synchronous event started in the same stack frame.
|
|
44
|
+
*/
|
|
45
|
+
export function endEvent(args?: EventArgs): void;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Marks the start of a potentially asynchronous event. The end of this event
|
|
49
|
+
* should be marked calling the `endAsyncEvent` function with the cookie
|
|
50
|
+
* returned by this function.
|
|
51
|
+
*/
|
|
52
|
+
export function beginAsyncEvent(eventName: EventName, args?: EventArgs): number;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Registers a new value for a counter event.
|
|
56
|
+
*/
|
|
57
|
+
export function endAsyncEvent(
|
|
58
|
+
eventName: EventName,
|
|
59
|
+
cookie: number,
|
|
60
|
+
args?: EventArgs,
|
|
61
|
+
): void;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* counterEvent registers the value to the eventName on the systrace timeline
|
|
65
|
+
**/
|
|
66
|
+
export function counterEvent(eventName: EventName, value: number): void;
|
|
@@ -8,217 +8,132 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const invariant = require('invariant');
|
|
11
|
+
import typeof * as SystraceModule from './Systrace';
|
|
14
12
|
|
|
15
13
|
const TRACE_TAG_REACT_APPS = 1 << 17; // eslint-disable-line no-bitwise
|
|
16
|
-
const TRACE_TAG_JS_VM_CALLS = 1 << 27; // eslint-disable-line no-bitwise
|
|
17
14
|
|
|
18
|
-
let _enabled = false;
|
|
19
15
|
let _asyncCookie = 0;
|
|
20
|
-
const _markStack = [];
|
|
21
|
-
let _markStackIndex = -1;
|
|
22
|
-
let _canInstallReactHook = false;
|
|
23
|
-
|
|
24
|
-
// Implements a subset of User Timing API necessary for React measurements.
|
|
25
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/User_Timing_API
|
|
26
|
-
const REACT_MARKER = '\u269B';
|
|
27
|
-
const userTimingPolyfill = __DEV__
|
|
28
|
-
? {
|
|
29
|
-
mark(markName: string) {
|
|
30
|
-
if (_enabled) {
|
|
31
|
-
_markStackIndex++;
|
|
32
|
-
_markStack[_markStackIndex] = markName;
|
|
33
|
-
let systraceLabel = markName;
|
|
34
|
-
// Since perf measurements are a shared namespace in User Timing API,
|
|
35
|
-
// we prefix all React results with a React emoji.
|
|
36
|
-
if (markName[0] === REACT_MARKER) {
|
|
37
|
-
// This is coming from React.
|
|
38
|
-
// Removing component IDs keeps trace colors stable.
|
|
39
|
-
const indexOfId = markName.lastIndexOf(' (#');
|
|
40
|
-
const cutoffIndex = indexOfId !== -1 ? indexOfId : markName.length;
|
|
41
|
-
// Also cut off the emoji because it breaks Systrace
|
|
42
|
-
systraceLabel = markName.slice(2, cutoffIndex);
|
|
43
|
-
}
|
|
44
|
-
Systrace.beginEvent(systraceLabel);
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
measure(measureName: string, startMark: ?string, endMark: ?string) {
|
|
48
|
-
if (_enabled) {
|
|
49
|
-
invariant(
|
|
50
|
-
typeof measureName === 'string' &&
|
|
51
|
-
typeof startMark === 'string' &&
|
|
52
|
-
typeof endMark === 'undefined',
|
|
53
|
-
'Only performance.measure(string, string) overload is supported.',
|
|
54
|
-
);
|
|
55
|
-
const topMark = _markStack[_markStackIndex];
|
|
56
|
-
invariant(
|
|
57
|
-
startMark === topMark,
|
|
58
|
-
'There was a mismatching performance.measure() call. ' +
|
|
59
|
-
'Expected "%s" but got "%s."',
|
|
60
|
-
topMark,
|
|
61
|
-
startMark,
|
|
62
|
-
);
|
|
63
|
-
_markStackIndex--;
|
|
64
|
-
// We can't use more descriptive measureName because Systrace doesn't
|
|
65
|
-
// let us edit labels post factum.
|
|
66
|
-
Systrace.endEvent();
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
clearMarks(markName: string) {
|
|
70
|
-
if (_enabled) {
|
|
71
|
-
if (_markStackIndex === -1) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
if (markName === _markStack[_markStackIndex]) {
|
|
75
|
-
// React uses this for "cancelling" started measurements.
|
|
76
|
-
// Systrace doesn't support deleting measurements, so we just stop them.
|
|
77
|
-
if (userTimingPolyfill != null) {
|
|
78
|
-
userTimingPolyfill.measure(markName, markName);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
clearMeasures() {
|
|
84
|
-
// React calls this to avoid memory leaks in browsers, but we don't keep
|
|
85
|
-
// measurements anyway.
|
|
86
|
-
},
|
|
87
|
-
}
|
|
88
|
-
: null;
|
|
89
16
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
clearMarks(markName: string): void,
|
|
93
|
-
clearMeasures(): void,
|
|
94
|
-
mark(markName: string): void,
|
|
95
|
-
measure(measureName: string, startMark: ?string, endMark: ?string): void,
|
|
96
|
-
}>,
|
|
97
|
-
) {
|
|
98
|
-
if (polyfill) {
|
|
99
|
-
if (global.performance === undefined) {
|
|
100
|
-
global.performance = {};
|
|
101
|
-
}
|
|
17
|
+
type EventName = string | (() => string);
|
|
18
|
+
type EventArgs = ?{[string]: string};
|
|
102
19
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Indicates if the application is currently being traced.
|
|
22
|
+
*
|
|
23
|
+
* Calling methods on this module when the application isn't being traced is
|
|
24
|
+
* cheap, but this method can be used to avoid computing expensive values for
|
|
25
|
+
* those functions.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* if (Systrace.isEnabled()) {
|
|
29
|
+
* const expensiveArgs = computeExpensiveArgs();
|
|
30
|
+
* Systrace.beginEvent('myEvent', expensiveArgs);
|
|
31
|
+
* }
|
|
32
|
+
*/
|
|
33
|
+
export function isEnabled(): boolean {
|
|
34
|
+
return global.nativeTraceIsTracing
|
|
35
|
+
? global.nativeTraceIsTracing(TRACE_TAG_REACT_APPS)
|
|
36
|
+
: Boolean(global.__RCTProfileIsProfiling);
|
|
109
37
|
}
|
|
110
38
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
_canInstallReactHook = true;
|
|
119
|
-
},
|
|
120
|
-
|
|
121
|
-
setEnabled(enabled: boolean) {
|
|
122
|
-
if (_enabled !== enabled) {
|
|
123
|
-
if (__DEV__) {
|
|
124
|
-
if (enabled) {
|
|
125
|
-
global.nativeTraceBeginLegacy &&
|
|
126
|
-
global.nativeTraceBeginLegacy(TRACE_TAG_JS_VM_CALLS);
|
|
127
|
-
} else {
|
|
128
|
-
global.nativeTraceEndLegacy &&
|
|
129
|
-
global.nativeTraceEndLegacy(TRACE_TAG_JS_VM_CALLS);
|
|
130
|
-
}
|
|
131
|
-
if (_canInstallReactHook) {
|
|
132
|
-
if (enabled) {
|
|
133
|
-
installPerformanceHooks(userTimingPolyfill);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
_enabled = enabled;
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
isEnabled(): boolean {
|
|
142
|
-
return _enabled;
|
|
143
|
-
},
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated This function is now a no-op but it's left for backwards
|
|
41
|
+
* compatibility. `isEnabled` will now synchronously check if we're actively
|
|
42
|
+
* profiling or not. This is necessary because we don't have callbacks to know
|
|
43
|
+
* when profiling has started/stopped on Android APIs.
|
|
44
|
+
*/
|
|
45
|
+
export function setEnabled(_doEnable: boolean): void {}
|
|
144
46
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
TRACE_TAG_REACT_APPS,
|
|
157
|
-
profileNameString,
|
|
158
|
-
args,
|
|
159
|
-
);
|
|
160
|
-
}
|
|
161
|
-
},
|
|
47
|
+
/**
|
|
48
|
+
* Marks the start of a synchronous event that should end in the same stack
|
|
49
|
+
* frame. The end of this event should be marked using the `endEvent` function.
|
|
50
|
+
*/
|
|
51
|
+
export function beginEvent(eventName: EventName, args?: EventArgs): void {
|
|
52
|
+
if (isEnabled()) {
|
|
53
|
+
const eventNameString =
|
|
54
|
+
typeof eventName === 'function' ? eventName() : eventName;
|
|
55
|
+
global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS, eventNameString, args);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
162
58
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Marks the end of a synchronous event started in the same stack frame.
|
|
61
|
+
*/
|
|
62
|
+
export function endEvent(args?: EventArgs): void {
|
|
63
|
+
if (isEnabled()) {
|
|
64
|
+
global.nativeTraceEndSection(TRACE_TAG_REACT_APPS, args);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
168
67
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Marks the start of a potentially asynchronous event. The end of this event
|
|
70
|
+
* should be marked calling the `endAsyncEvent` function with the cookie
|
|
71
|
+
* returned by this function.
|
|
72
|
+
*/
|
|
73
|
+
export function beginAsyncEvent(
|
|
74
|
+
eventName: EventName,
|
|
75
|
+
args?: EventArgs,
|
|
76
|
+
): number {
|
|
77
|
+
const cookie = _asyncCookie;
|
|
78
|
+
if (isEnabled()) {
|
|
79
|
+
_asyncCookie++;
|
|
80
|
+
const eventNameString =
|
|
81
|
+
typeof eventName === 'function' ? eventName() : eventName;
|
|
82
|
+
global.nativeTraceBeginAsyncSection(
|
|
83
|
+
TRACE_TAG_REACT_APPS,
|
|
84
|
+
eventNameString,
|
|
85
|
+
cookie,
|
|
86
|
+
args,
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
return cookie;
|
|
90
|
+
}
|
|
188
91
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Marks the end of a potentially asynchronous event, which was started with
|
|
94
|
+
* the given cookie.
|
|
95
|
+
*/
|
|
96
|
+
export function endAsyncEvent(
|
|
97
|
+
eventName: EventName,
|
|
98
|
+
cookie: number,
|
|
99
|
+
args?: EventArgs,
|
|
100
|
+
): void {
|
|
101
|
+
if (isEnabled()) {
|
|
102
|
+
const eventNameString =
|
|
103
|
+
typeof eventName === 'function' ? eventName() : eventName;
|
|
104
|
+
global.nativeTraceEndAsyncSection(
|
|
105
|
+
TRACE_TAG_REACT_APPS,
|
|
106
|
+
eventNameString,
|
|
107
|
+
cookie,
|
|
108
|
+
args,
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
200
112
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
value,
|
|
213
|
-
);
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
};
|
|
113
|
+
/**
|
|
114
|
+
* Registers a new value for a counter event.
|
|
115
|
+
*/
|
|
116
|
+
export function counterEvent(eventName: EventName, value: number): void {
|
|
117
|
+
if (isEnabled()) {
|
|
118
|
+
const eventNameString =
|
|
119
|
+
typeof eventName === 'function' ? eventName() : eventName;
|
|
120
|
+
global.nativeTraceCounter &&
|
|
121
|
+
global.nativeTraceCounter(TRACE_TAG_REACT_APPS, eventNameString, value);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
217
124
|
|
|
218
125
|
if (__DEV__) {
|
|
126
|
+
const Systrace: SystraceModule = {
|
|
127
|
+
isEnabled,
|
|
128
|
+
setEnabled,
|
|
129
|
+
beginEvent,
|
|
130
|
+
endEvent,
|
|
131
|
+
beginAsyncEvent,
|
|
132
|
+
endAsyncEvent,
|
|
133
|
+
counterEvent,
|
|
134
|
+
};
|
|
135
|
+
|
|
219
136
|
// The metro require polyfill can not have dependencies (true for all polyfills).
|
|
220
137
|
// Ensure that `Systrace` is available in polyfill by exposing it globally.
|
|
221
138
|
global[(global.__METRO_GLOBAL_PREFIX__ || '') + '__SYSTRACE'] = Systrace;
|
|
222
139
|
}
|
|
223
|
-
|
|
224
|
-
module.exports = Systrace;
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
*/
|
|
9
|
+
|
|
10
|
+
export interface Rationale {
|
|
11
|
+
title: string;
|
|
12
|
+
message: string;
|
|
13
|
+
buttonPositive: string;
|
|
14
|
+
buttonNegative?: string | undefined;
|
|
15
|
+
buttonNeutral?: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type Permission =
|
|
19
|
+
| 'android.permission.READ_CALENDAR'
|
|
20
|
+
| 'android.permission.WRITE_CALENDAR'
|
|
21
|
+
| 'android.permission.CAMERA'
|
|
22
|
+
| 'android.permission.READ_CONTACTS'
|
|
23
|
+
| 'android.permission.WRITE_CONTACTS'
|
|
24
|
+
| 'android.permission.GET_ACCOUNTS'
|
|
25
|
+
| 'android.permission.ACCESS_BACKGROUND_LOCATION'
|
|
26
|
+
| 'android.permission.ACCESS_FINE_LOCATION'
|
|
27
|
+
| 'android.permission.ACCESS_COARSE_LOCATION'
|
|
28
|
+
| 'android.permission.RECORD_AUDIO'
|
|
29
|
+
| 'android.permission.READ_PHONE_STATE'
|
|
30
|
+
| 'android.permission.CALL_PHONE'
|
|
31
|
+
| 'android.permission.READ_CALL_LOG'
|
|
32
|
+
| 'android.permission.WRITE_CALL_LOG'
|
|
33
|
+
| 'com.android.voicemail.permission.ADD_VOICEMAIL'
|
|
34
|
+
| 'com.android.voicemail.permission.READ_VOICEMAIL'
|
|
35
|
+
| 'com.android.voicemail.permission.WRITE_VOICEMAIL'
|
|
36
|
+
| 'android.permission.USE_SIP'
|
|
37
|
+
| 'android.permission.PROCESS_OUTGOING_CALLS'
|
|
38
|
+
| 'android.permission.BODY_SENSORS'
|
|
39
|
+
| 'android.permission.BODY_SENSORS_BACKGROUND'
|
|
40
|
+
| 'android.permission.SEND_SMS'
|
|
41
|
+
| 'android.permission.RECEIVE_SMS'
|
|
42
|
+
| 'android.permission.READ_SMS'
|
|
43
|
+
| 'android.permission.RECEIVE_WAP_PUSH'
|
|
44
|
+
| 'android.permission.RECEIVE_MMS'
|
|
45
|
+
| 'android.permission.READ_EXTERNAL_STORAGE'
|
|
46
|
+
| 'android.permission.READ_MEDIA_IMAGES'
|
|
47
|
+
| 'android.permission.READ_MEDIA_VIDEO'
|
|
48
|
+
| 'android.permission.READ_MEDIA_AUDIO'
|
|
49
|
+
| 'android.permission.WRITE_EXTERNAL_STORAGE'
|
|
50
|
+
| 'android.permission.BLUETOOTH_CONNECT'
|
|
51
|
+
| 'android.permission.BLUETOOTH_SCAN'
|
|
52
|
+
| 'android.permission.BLUETOOTH_ADVERTISE'
|
|
53
|
+
| 'android.permission.ACCESS_MEDIA_LOCATION'
|
|
54
|
+
| 'android.permission.ACCEPT_HANDOVER'
|
|
55
|
+
| 'android.permission.ACTIVITY_RECOGNITION'
|
|
56
|
+
| 'android.permission.ANSWER_PHONE_CALLS'
|
|
57
|
+
| 'android.permission.READ_PHONE_NUMBERS'
|
|
58
|
+
| 'android.permission.UWB_RANGING'
|
|
59
|
+
| 'android.permission.POST_NOTIFICATIONS'
|
|
60
|
+
| 'android.permission.NEARBY_WIFI_DEVICES';
|
|
61
|
+
|
|
62
|
+
export type PermissionStatus = 'granted' | 'denied' | 'never_ask_again';
|
|
63
|
+
|
|
64
|
+
export interface PermissionsAndroidStatic {
|
|
65
|
+
/**
|
|
66
|
+
* A list of permission results that are returned
|
|
67
|
+
*/
|
|
68
|
+
RESULTS: {[key: string]: PermissionStatus};
|
|
69
|
+
/**
|
|
70
|
+
* A list of specified "dangerous" permissions that require prompting the user
|
|
71
|
+
*/
|
|
72
|
+
PERMISSIONS: {[key: string]: Permission};
|
|
73
|
+
new (): PermissionsAndroidStatic;
|
|
74
|
+
/**
|
|
75
|
+
* @deprecated Use check instead
|
|
76
|
+
*/
|
|
77
|
+
checkPermission(permission: Permission): Promise<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* Returns a promise resolving to a boolean value as to whether the specified
|
|
80
|
+
* permissions has been granted
|
|
81
|
+
*/
|
|
82
|
+
check(permission: Permission): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* @deprecated Use request instead
|
|
85
|
+
*/
|
|
86
|
+
requestPermission(
|
|
87
|
+
permission: Permission,
|
|
88
|
+
rationale?: Rationale,
|
|
89
|
+
): Promise<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* Prompts the user to enable a permission and returns a promise resolving to a
|
|
92
|
+
* string value indicating whether the user allowed or denied the request
|
|
93
|
+
*
|
|
94
|
+
* If the optional rationale argument is included (which is an object with a
|
|
95
|
+
* title and message), this function checks with the OS whether it is necessary
|
|
96
|
+
* to show a dialog explaining why the permission is needed
|
|
97
|
+
* (https://developer.android.com/training/permissions/requesting.html#explain)
|
|
98
|
+
* and then shows the system permission dialog
|
|
99
|
+
*/
|
|
100
|
+
request(
|
|
101
|
+
permission: Permission,
|
|
102
|
+
rationale?: Rationale,
|
|
103
|
+
): Promise<PermissionStatus>;
|
|
104
|
+
/**
|
|
105
|
+
* Prompts the user to enable multiple permissions in the same dialog and
|
|
106
|
+
* returns an object with the permissions as keys and strings as values
|
|
107
|
+
* indicating whether the user allowed or denied the request
|
|
108
|
+
*/
|
|
109
|
+
requestMultiple(
|
|
110
|
+
permissions: Array<Permission>,
|
|
111
|
+
): Promise<{[key in Permission]: PermissionStatus}>;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export const PermissionsAndroid: PermissionsAndroidStatic;
|
|
115
|
+
export type PermissionsAndroid = PermissionsAndroidStatic;
|
|
@@ -8,16 +8,17 @@
|
|
|
8
8
|
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
const Platform = require('../Utilities/Platform');
|
|
12
|
-
|
|
13
|
-
import NativeDialogManagerAndroid from '../NativeModules/specs/NativeDialogManagerAndroid';
|
|
14
|
-
import NativePermissionsAndroid from './NativePermissionsAndroid';
|
|
15
11
|
import type {
|
|
16
12
|
PermissionStatus,
|
|
17
13
|
PermissionType,
|
|
18
14
|
} from './NativePermissionsAndroid';
|
|
15
|
+
|
|
16
|
+
import NativeDialogManagerAndroid from '../NativeModules/specs/NativeDialogManagerAndroid';
|
|
17
|
+
import NativePermissionsAndroid from './NativePermissionsAndroid';
|
|
19
18
|
import invariant from 'invariant';
|
|
20
19
|
|
|
20
|
+
const Platform = require('../Utilities/Platform');
|
|
21
|
+
|
|
21
22
|
export type Rationale = {
|
|
22
23
|
title: string,
|
|
23
24
|
message: string,
|
|
@@ -8,24 +8,25 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
12
|
-
import invariant from 'invariant';
|
|
13
|
-
import SoundManager from '../Components/Sound/SoundManager';
|
|
14
|
-
import {normalizeRect, type RectOrSize} from '../StyleSheet/Rect';
|
|
11
|
+
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
15
12
|
import type {
|
|
16
13
|
BlurEvent,
|
|
17
14
|
FocusEvent,
|
|
18
|
-
PressEvent,
|
|
19
15
|
MouseEvent,
|
|
16
|
+
PressEvent,
|
|
20
17
|
} from '../Types/CoreEventTypes';
|
|
18
|
+
|
|
19
|
+
import SoundManager from '../Components/Sound/SoundManager';
|
|
20
|
+
import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
|
|
21
|
+
import UIManager from '../ReactNative/UIManager';
|
|
22
|
+
import {type RectOrSize, normalizeRect} from '../StyleSheet/Rect';
|
|
23
|
+
import {type PointerEvent} from '../Types/CoreEventTypes';
|
|
24
|
+
import Platform from '../Utilities/Platform';
|
|
25
|
+
import {isHoverEnabled} from './HoverState';
|
|
21
26
|
import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventEmitter.js';
|
|
22
27
|
import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';
|
|
23
|
-
import
|
|
24
|
-
import UIManager from '../ReactNative/UIManager';
|
|
25
|
-
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
28
|
+
import invariant from 'invariant';
|
|
26
29
|
import * as React from 'react';
|
|
27
|
-
import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
|
|
28
|
-
import {type PointerEvent} from '../Types/CoreEventTypes';
|
|
29
30
|
|
|
30
31
|
export type PressabilityConfig = $ReadOnly<{|
|
|
31
32
|
/**
|
|
@@ -549,6 +550,7 @@ export default class Pressability {
|
|
|
549
550
|
|
|
550
551
|
if (process.env.NODE_ENV === 'test') {
|
|
551
552
|
// We are setting this in order to find this node in ReactNativeTestTools
|
|
553
|
+
// $FlowFixMe[prop-missing]
|
|
552
554
|
responderEventHandlers.onStartShouldSetResponder.testOnly_pressabilityConfig =
|
|
553
555
|
() => this._config;
|
|
554
556
|
}
|