@office-iss/react-native-win32 0.84.0 → 0.85.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/.flowconfig +1 -5
- package/CHANGELOG.json +67 -22
- package/CHANGELOG.md +14 -17
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/TimersTest.js +1 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +34 -30
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.win32.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/EnterString.win32.js +2 -2
- package/Libraries/Components/EnterString.win32.js.map +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.win32.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +23 -22
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/TextInput/TextInput.win32.js +3 -4
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/Touchable.win32.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/Touchable/TouchableWin32.js +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewAccessibility.win32.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- package/Libraries/Components/View/ViewPropTypes.win32.js +16 -16
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +15 -16
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +11 -13
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +16 -16
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +5 -5
- package/Libraries/Pressability/Pressability.win32.js +5 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/Text.win32.js +360 -744
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextNativeComponent.win32.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Text/TextProps.win32.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/CoreEventTypes.win32.js +22 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/HMRClient.js +32 -5
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/flow/bom.js.flow +18 -17
- package/flow/dom.js.flow +12 -5
- package/flow/global.js +1 -1
- package/index.js +9 -0
- package/index.win32.js +9 -0
- package/index.win32.js.flow +8 -1
- package/jest/RefreshControlMock.js +2 -2
- package/jest/assetFileTransformer.js +8 -3
- package/jest/mockComponent.js +3 -4
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mocks/ActivityIndicator.js +2 -2
- package/jest/mocks/Image.js +2 -2
- package/jest/mocks/Modal.js +2 -2
- package/jest/mocks/RefreshControl.js +3 -3
- package/jest/mocks/RendererProxy.js +2 -2
- package/jest/mocks/ScrollView.js +5 -5
- package/jest/mocks/Text.js +2 -2
- package/jest/mocks/TextInput.js +2 -2
- package/jest/mocks/View.js +2 -2
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/mocks/requireNativeComponent.js +1 -1
- package/jest/mocks/useColorScheme.js +1 -1
- package/jest/setup.js +68 -31
- package/overrides.json +30 -36
- package/package.json +22 -19
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/NativeAnimatedHelper.win32.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/src-win/Libraries/Components/EnterString.win32.tsx +2 -2
- package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +14 -14
- package/src-win/index.win32.js.flow +8 -1
- package/types/index.d.ts +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +0 -94
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
|
@@ -21,12 +21,13 @@ import type {ResolvedAssetSource} from './AssetSourceResolver';
|
|
|
21
21
|
import type {ImageProps} from './ImageProps';
|
|
22
22
|
import type {ImageSource} from './ImageSource';
|
|
23
23
|
|
|
24
|
+
import {colorAttribute} from '../Components/View/ReactNativeStyleAttributes';
|
|
24
25
|
import * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';
|
|
25
26
|
import {ConditionallyIgnoredEventHandlers} from '../NativeComponent/ViewConfigIgnore';
|
|
26
27
|
import codegenNativeCommands from '../Utilities/codegenNativeCommands';
|
|
27
28
|
import Platform from '../Utilities/Platform';
|
|
28
29
|
|
|
29
|
-
type ImageHostComponentProps =
|
|
30
|
+
type ImageHostComponentProps = Readonly<{
|
|
30
31
|
...ImageProps,
|
|
31
32
|
...ViewProps,
|
|
32
33
|
|
|
@@ -37,9 +38,7 @@ type ImageHostComponentProps = $ReadOnly<{
|
|
|
37
38
|
|
|
38
39
|
// Android native props
|
|
39
40
|
shouldNotifyLoadEvents?: boolean,
|
|
40
|
-
src?:
|
|
41
|
-
| ?ResolvedAssetSource
|
|
42
|
-
| ?$ReadOnlyArray<?$ReadOnly<{uri?: ?string, ...}>>,
|
|
41
|
+
src?: ?ResolvedAssetSource | ?ReadonlyArray<?Readonly<{uri?: ?string, ...}>>,
|
|
43
42
|
headers?: ?{[string]: string},
|
|
44
43
|
defaultSource?: ?ImageSource | ?string,
|
|
45
44
|
loadingIndicatorSrc?: ?string,
|
|
@@ -86,9 +85,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
86
85
|
resizeMethod: true,
|
|
87
86
|
resizeMode: true,
|
|
88
87
|
resizeMultiplier: true,
|
|
89
|
-
tintColor:
|
|
90
|
-
process: require('../StyleSheet/processColor').default,
|
|
91
|
-
},
|
|
88
|
+
tintColor: colorAttribute,
|
|
92
89
|
borderBottomLeftRadius: true,
|
|
93
90
|
borderTopLeftRadius: true,
|
|
94
91
|
src: true,
|
|
@@ -100,12 +97,8 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
100
97
|
borderRadius: true,
|
|
101
98
|
headers: true,
|
|
102
99
|
shouldNotifyLoadEvents: true,
|
|
103
|
-
overlayColor:
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
borderColor: {
|
|
107
|
-
process: require('../StyleSheet/processColor').default,
|
|
108
|
-
},
|
|
100
|
+
overlayColor: colorAttribute,
|
|
101
|
+
borderColor: colorAttribute,
|
|
109
102
|
accessible: true,
|
|
110
103
|
progressiveRenderingEnabled: true,
|
|
111
104
|
fadeDuration: true,
|
|
@@ -148,9 +141,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
148
141
|
internal_analyticTag: true,
|
|
149
142
|
resizeMode: true,
|
|
150
143
|
source: true,
|
|
151
|
-
tintColor:
|
|
152
|
-
process: require('../StyleSheet/processColor').default,
|
|
153
|
-
},
|
|
144
|
+
tintColor: colorAttribute,
|
|
154
145
|
...ConditionallyIgnoredEventHandlers({
|
|
155
146
|
onLoadStart: true,
|
|
156
147
|
onLoad: true,
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import type {EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
12
12
|
|
|
13
|
+
const toError = require('../../src/private/utilities/toError').default;
|
|
13
14
|
const invariant = require('invariant');
|
|
14
15
|
|
|
15
16
|
export type SimpleTask = {
|
|
@@ -113,8 +114,8 @@ const InteractionManagerStub = {
|
|
|
113
114
|
try {
|
|
114
115
|
task.run();
|
|
115
116
|
resolve();
|
|
116
|
-
} catch (error) {
|
|
117
|
-
reject(error);
|
|
117
|
+
} catch (error: unknown) {
|
|
118
|
+
reject(toError(error));
|
|
118
119
|
}
|
|
119
120
|
} else {
|
|
120
121
|
reject(new TypeError(`Task "${task.name}" missing gen or run.`));
|
|
@@ -123,8 +124,8 @@ const InteractionManagerStub = {
|
|
|
123
124
|
try {
|
|
124
125
|
task();
|
|
125
126
|
resolve();
|
|
126
|
-
} catch (error) {
|
|
127
|
-
reject(error);
|
|
127
|
+
} catch (error: unknown) {
|
|
128
|
+
reject(toError(error));
|
|
128
129
|
}
|
|
129
130
|
} else {
|
|
130
131
|
reject(new TypeError('Invalid task of type: ' + typeof task));
|
|
@@ -204,7 +204,7 @@ export type GestureResponderHandlerMethods = {
|
|
|
204
204
|
onStartShouldSetResponderCapture: (event: GestureResponderEvent) => boolean,
|
|
205
205
|
};
|
|
206
206
|
|
|
207
|
-
export type PanResponderCallbacks =
|
|
207
|
+
export type PanResponderCallbacks = Readonly<{
|
|
208
208
|
onMoveShouldSetPanResponder?: ?ActiveCallback,
|
|
209
209
|
onMoveShouldSetPanResponderCapture?: ?ActiveCallback,
|
|
210
210
|
onStartShouldSetPanResponder?: ?ActiveCallback,
|
|
@@ -31,11 +31,11 @@ export type {
|
|
|
31
31
|
// Reexport type
|
|
32
32
|
export type {LayoutAnimationConfig} from '../Renderer/shims/ReactNativeTypes';
|
|
33
33
|
|
|
34
|
-
export type LayoutAnimationTypes =
|
|
34
|
+
export type LayoutAnimationTypes = Readonly<{
|
|
35
35
|
[type in LayoutAnimationType]: type,
|
|
36
36
|
}>;
|
|
37
37
|
|
|
38
|
-
export type LayoutAnimationProperties =
|
|
38
|
+
export type LayoutAnimationProperties = Readonly<{
|
|
39
39
|
[prop in LayoutAnimationProperty]: prop,
|
|
40
40
|
}>;
|
|
41
41
|
|
|
@@ -32,7 +32,7 @@ class LinkingImpl extends NativeEventEmitter<LinkingEventDefinitions> {
|
|
|
32
32
|
*
|
|
33
33
|
* See https://reactnative.dev/docs/linking#addeventlistener
|
|
34
34
|
*/
|
|
35
|
-
addEventListener<K:
|
|
35
|
+
addEventListener<K: keyof LinkingEventDefinitions>(
|
|
36
36
|
eventType: K,
|
|
37
37
|
listener: (...LinkingEventDefinitions[K]) => unknown,
|
|
38
38
|
): EventSubscription {
|
|
@@ -38,7 +38,7 @@ type RequiredFlatListProps<ItemT> = {
|
|
|
38
38
|
* An array (or array-like list) of items to render. Other data types can be
|
|
39
39
|
* used by targeting VirtualizedList directly.
|
|
40
40
|
*/
|
|
41
|
-
data:
|
|
41
|
+
data: ?Readonly<$ArrayLike<ItemT>>,
|
|
42
42
|
};
|
|
43
43
|
type OptionalFlatListProps<ItemT> = {
|
|
44
44
|
/**
|
|
@@ -93,7 +93,7 @@ type OptionalFlatListProps<ItemT> = {
|
|
|
93
93
|
* specify `ItemSeparatorComponent`.
|
|
94
94
|
*/
|
|
95
95
|
getItemLayout?: (
|
|
96
|
-
data:
|
|
96
|
+
data: ?Readonly<$ArrayLike<ItemT>>,
|
|
97
97
|
index: number,
|
|
98
98
|
) => {
|
|
99
99
|
length: number,
|
|
@@ -519,7 +519,7 @@ class FlatList<ItemT = any> extends React.PureComponent<FlatListProps<ItemT>> {
|
|
|
519
519
|
_getItem = (
|
|
520
520
|
data: $ArrayLike<ItemT>,
|
|
521
521
|
index: number,
|
|
522
|
-
): ?(ItemT |
|
|
522
|
+
): ?(ItemT | ReadonlyArray<ItemT>) => {
|
|
523
523
|
const numColumns = numColumnsOrDefault(this.props.numColumns);
|
|
524
524
|
if (numColumns > 1) {
|
|
525
525
|
const ret = [];
|
|
@@ -51,7 +51,7 @@ type RequiredSectionListProps<ItemT, SectionT = DefaultSectionT> = {
|
|
|
51
51
|
* ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>,
|
|
52
52
|
* }>
|
|
53
53
|
*/
|
|
54
|
-
sections:
|
|
54
|
+
sections: ReadonlyArray<SectionData<ItemT, SectionT>>,
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
export type SectionListRenderItemInfo<ItemT, SectionT = DefaultSectionT> = {
|
|
@@ -46,7 +46,7 @@ type RequiredProps<ItemT, SectionT = DefaultSectionT> = {
|
|
|
46
46
|
* ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>,
|
|
47
47
|
* }>
|
|
48
48
|
*/
|
|
49
|
-
sections:
|
|
49
|
+
sections: ReadonlyArray<SectionData<ItemT, SectionT>>,
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
type OptionalProps<ItemT, SectionT = DefaultSectionT> = {
|
|
@@ -101,7 +101,7 @@ type OptionalProps<ItemT, SectionT = DefaultSectionT> = {
|
|
|
101
101
|
removeClippedSubviews?: boolean,
|
|
102
102
|
};
|
|
103
103
|
|
|
104
|
-
export type Props<ItemT, SectionT = DefaultSectionT> =
|
|
104
|
+
export type Props<ItemT, SectionT = DefaultSectionT> = Readonly<{
|
|
105
105
|
...Omit<
|
|
106
106
|
VirtualizedSectionListProps<ItemT, SectionT>,
|
|
107
107
|
'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor',
|
|
@@ -10,15 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
import type {ExtendedError} from '../../Core/ExtendedError';
|
|
12
12
|
import type {LogLevel} from './LogBoxLog';
|
|
13
|
-
import type {
|
|
14
|
-
|
|
15
|
-
ComponentStack,
|
|
16
|
-
ComponentStackType,
|
|
17
|
-
ExtendedExceptionData,
|
|
18
|
-
Message,
|
|
19
|
-
} from './parseLogBoxLog';
|
|
13
|
+
import type {Stack} from './LogBoxSymbolication';
|
|
14
|
+
import type {Category, ExtendedExceptionData, Message} from './parseLogBoxLog';
|
|
20
15
|
|
|
21
16
|
import DebuggerSessionObserver from '../../../src/private/devsupport/rndevtools/FuseboxSessionObserver';
|
|
17
|
+
import TracingStateObserver from '../../../src/private/devsupport/rndevtools/TracingStateObserver';
|
|
18
|
+
import toExtendedError from '../../../src/private/utilities/toExtendedError';
|
|
22
19
|
import parseErrorStack from '../../Core/Devtools/parseErrorStack';
|
|
23
20
|
import NativeLogBox from '../../NativeModules/specs/NativeLogBox';
|
|
24
21
|
import LogBoxLog from './LogBoxLog';
|
|
@@ -26,17 +23,16 @@ import {parseLogBoxException} from './parseLogBoxLog';
|
|
|
26
23
|
import * as React from 'react';
|
|
27
24
|
|
|
28
25
|
export type LogBoxLogs = Set<LogBoxLog>;
|
|
29
|
-
export type LogData =
|
|
26
|
+
export type LogData = Readonly<{
|
|
30
27
|
level: LogLevel,
|
|
31
28
|
message: Message,
|
|
32
29
|
category: Category,
|
|
33
|
-
componentStack:
|
|
34
|
-
componentStackType: ComponentStackType | null,
|
|
30
|
+
componentStack: Stack,
|
|
35
31
|
stack?: string,
|
|
36
32
|
}>;
|
|
37
33
|
|
|
38
34
|
export type Observer = (
|
|
39
|
-
|
|
35
|
+
Readonly<{
|
|
40
36
|
logs: LogBoxLogs,
|
|
41
37
|
isDisabled: boolean,
|
|
42
38
|
selectedLogIndex: number,
|
|
@@ -45,7 +41,7 @@ export type Observer = (
|
|
|
45
41
|
|
|
46
42
|
export type IgnorePattern = string | RegExp;
|
|
47
43
|
|
|
48
|
-
export type Subscription =
|
|
44
|
+
export type Subscription = Readonly<{
|
|
49
45
|
unsubscribe: () => void,
|
|
50
46
|
}>;
|
|
51
47
|
|
|
@@ -61,7 +57,7 @@ export type WarningInfo = {
|
|
|
61
57
|
|
|
62
58
|
export type WarningFilter = (format: string) => WarningInfo;
|
|
63
59
|
|
|
64
|
-
type AppInfo =
|
|
60
|
+
type AppInfo = Readonly<{
|
|
65
61
|
appVersion: string,
|
|
66
62
|
engine: string,
|
|
67
63
|
onPress?: ?() => void,
|
|
@@ -76,6 +72,7 @@ let _isDisabled = false;
|
|
|
76
72
|
let _selectedIndex = -1;
|
|
77
73
|
let hasShownFuseboxWarningsMigrationMessage = false;
|
|
78
74
|
let hostTargetSessionObserverSubscription = null;
|
|
75
|
+
let tracingStateObserverSubscription = null;
|
|
79
76
|
|
|
80
77
|
let warningFilter: WarningFilter = function (format) {
|
|
81
78
|
return {
|
|
@@ -210,6 +207,20 @@ export function addLog(log: LogData): void {
|
|
|
210
207
|
);
|
|
211
208
|
}
|
|
212
209
|
|
|
210
|
+
if (tracingStateObserverSubscription == null) {
|
|
211
|
+
tracingStateObserverSubscription = TracingStateObserver.subscribe(
|
|
212
|
+
isTracing => {
|
|
213
|
+
if (isTracing) {
|
|
214
|
+
clear();
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
if (TracingStateObserver.isTracing()) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
|
|
213
224
|
// If Host has Fusebox support
|
|
214
225
|
if (log.level === 'warn' && global.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__) {
|
|
215
226
|
// And there is no active debugging session
|
|
@@ -237,23 +248,26 @@ export function addLog(log: LogData): void {
|
|
|
237
248
|
stack,
|
|
238
249
|
category: log.category,
|
|
239
250
|
componentStack: log.componentStack,
|
|
240
|
-
componentStackType: log.componentStackType || 'legacy',
|
|
241
251
|
}),
|
|
242
252
|
);
|
|
243
|
-
} catch (error) {
|
|
244
|
-
reportLogBoxError(error);
|
|
253
|
+
} catch (error: unknown) {
|
|
254
|
+
reportLogBoxError(toExtendedError(error));
|
|
245
255
|
}
|
|
246
256
|
});
|
|
247
257
|
}
|
|
248
258
|
|
|
249
259
|
export function addException(error: ExtendedExceptionData): void {
|
|
260
|
+
if (TracingStateObserver.isTracing()) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
|
|
250
264
|
// Parsing logs are expensive so we schedule this
|
|
251
265
|
// otherwise spammy logs would pause rendering.
|
|
252
266
|
setImmediate(() => {
|
|
253
267
|
try {
|
|
254
268
|
appendNewLog(new LogBoxLog(parseLogBoxException(error)));
|
|
255
|
-
} catch (loggingError) {
|
|
256
|
-
reportLogBoxError(loggingError);
|
|
269
|
+
} catch (loggingError: unknown) {
|
|
270
|
+
reportLogBoxError(toExtendedError(loggingError));
|
|
257
271
|
}
|
|
258
272
|
});
|
|
259
273
|
}
|
|
@@ -350,12 +364,12 @@ export function checkWarningFilter(format: string): WarningInfo {
|
|
|
350
364
|
return warningFilter(format);
|
|
351
365
|
}
|
|
352
366
|
|
|
353
|
-
export function getIgnorePatterns():
|
|
367
|
+
export function getIgnorePatterns(): ReadonlyArray<IgnorePattern> {
|
|
354
368
|
return Array.from(ignorePatterns);
|
|
355
369
|
}
|
|
356
370
|
|
|
357
371
|
export function addIgnorePatterns(
|
|
358
|
-
patterns:
|
|
372
|
+
patterns: ReadonlyArray<IgnorePattern>,
|
|
359
373
|
): void {
|
|
360
374
|
const existingSize = ignorePatterns.size;
|
|
361
375
|
// The same pattern may be added multiple times, but adding a new pattern
|
|
@@ -427,8 +441,8 @@ function observeNext(observer: Observer): Subscription {
|
|
|
427
441
|
};
|
|
428
442
|
}
|
|
429
443
|
|
|
430
|
-
type LogBoxStateSubscriptionProps =
|
|
431
|
-
type LogBoxStateSubscriptionState =
|
|
444
|
+
type LogBoxStateSubscriptionProps = Readonly<{}>;
|
|
445
|
+
type LogBoxStateSubscriptionState = Readonly<{
|
|
432
446
|
logs: LogBoxLogs,
|
|
433
447
|
isDisabled: boolean,
|
|
434
448
|
hasError: boolean,
|
|
@@ -436,8 +450,8 @@ type LogBoxStateSubscriptionState = $ReadOnly<{
|
|
|
436
450
|
}>;
|
|
437
451
|
|
|
438
452
|
type SubscribedComponent = React.ComponentType<
|
|
439
|
-
|
|
440
|
-
logs:
|
|
453
|
+
Readonly<{
|
|
454
|
+
logs: ReadonlyArray<LogBoxLog>,
|
|
441
455
|
isDisabled: boolean,
|
|
442
456
|
selectedLogIndex: number,
|
|
443
457
|
}>,
|
|
@@ -9,60 +9,27 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {Stack} from './LogBoxSymbolication';
|
|
12
|
-
import type {
|
|
13
|
-
Category,
|
|
14
|
-
CodeFrame,
|
|
15
|
-
ComponentStack,
|
|
16
|
-
ComponentStackType,
|
|
17
|
-
Message,
|
|
18
|
-
} from './parseLogBoxLog';
|
|
12
|
+
import type {Category, CodeFrame, Message} from './parseLogBoxLog';
|
|
19
13
|
|
|
20
14
|
import * as LogBoxSymbolication from './LogBoxSymbolication';
|
|
21
15
|
|
|
22
16
|
type SymbolicationStatus = 'NONE' | 'PENDING' | 'COMPLETE' | 'FAILED';
|
|
23
17
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return componentStack.map(frame => ({
|
|
30
|
-
column: frame?.location?.column,
|
|
31
|
-
file: frame.fileName,
|
|
32
|
-
lineNumber: frame?.location?.row,
|
|
33
|
-
methodName: frame.content,
|
|
34
|
-
collapse: false,
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
18
|
+
type SymbolicationState =
|
|
19
|
+
| Readonly<{error: null, stack: null, status: 'NONE'}>
|
|
20
|
+
| Readonly<{error: null, stack: null, status: 'PENDING'}>
|
|
21
|
+
| Readonly<{error: null, stack: Stack, status: 'COMPLETE'}>
|
|
22
|
+
| Readonly<{error: Error, stack: null, status: 'FAILED'}>;
|
|
37
23
|
|
|
38
|
-
|
|
39
|
-
const componentStack = [];
|
|
40
|
-
for (let i = 0; i < stack.length; i++) {
|
|
41
|
-
const frame = stack[i];
|
|
42
|
-
// NOTE: Skip stack frames missing location.
|
|
43
|
-
if (frame.lineNumber != null && frame.column != null) {
|
|
44
|
-
componentStack.push({
|
|
45
|
-
fileName: frame?.file || '',
|
|
46
|
-
location: {
|
|
47
|
-
row: frame.lineNumber,
|
|
48
|
-
column: frame.column,
|
|
49
|
-
},
|
|
50
|
-
content: frame.methodName,
|
|
51
|
-
collapse: false,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return componentStack;
|
|
56
|
-
}
|
|
24
|
+
export type LogLevel = 'warn' | 'error' | 'fatal' | 'syntax';
|
|
57
25
|
|
|
58
|
-
export type LogBoxLogData =
|
|
26
|
+
export type LogBoxLogData = Readonly<{
|
|
59
27
|
level: LogLevel,
|
|
60
28
|
type?: ?string,
|
|
61
29
|
message: Message,
|
|
62
30
|
stack: Stack,
|
|
63
31
|
category: string,
|
|
64
|
-
|
|
65
|
-
componentStack: ComponentStack,
|
|
32
|
+
componentStack: Stack,
|
|
66
33
|
codeFrame?: ?CodeFrame,
|
|
67
34
|
isComponentError: boolean,
|
|
68
35
|
extraData?: unknown,
|
|
@@ -73,8 +40,7 @@ class LogBoxLog {
|
|
|
73
40
|
message: Message;
|
|
74
41
|
type: ?string;
|
|
75
42
|
category: Category;
|
|
76
|
-
componentStack:
|
|
77
|
-
componentStackType: ComponentStackType;
|
|
43
|
+
componentStack: Stack;
|
|
78
44
|
stack: Stack;
|
|
79
45
|
count: number;
|
|
80
46
|
level: LogLevel;
|
|
@@ -82,26 +48,14 @@ class LogBoxLog {
|
|
|
82
48
|
componentCodeFrame: ?CodeFrame;
|
|
83
49
|
isComponentError: boolean;
|
|
84
50
|
extraData: unknown | void;
|
|
85
|
-
symbolicated:
|
|
86
|
-
| $ReadOnly<{error: null, stack: null, status: 'NONE'}>
|
|
87
|
-
| $ReadOnly<{error: null, stack: null, status: 'PENDING'}>
|
|
88
|
-
| $ReadOnly<{error: null, stack: Stack, status: 'COMPLETE'}>
|
|
89
|
-
| $ReadOnly<{error: Error, stack: null, status: 'FAILED'}> = {
|
|
51
|
+
symbolicated: SymbolicationState = {
|
|
90
52
|
error: null,
|
|
91
53
|
stack: null,
|
|
92
54
|
status: 'NONE',
|
|
93
55
|
};
|
|
94
|
-
symbolicatedComponentStack:
|
|
95
|
-
| $ReadOnly<{error: null, componentStack: null, status: 'NONE'}>
|
|
96
|
-
| $ReadOnly<{error: null, componentStack: null, status: 'PENDING'}>
|
|
97
|
-
| $ReadOnly<{
|
|
98
|
-
error: null,
|
|
99
|
-
componentStack: ComponentStack,
|
|
100
|
-
status: 'COMPLETE',
|
|
101
|
-
}>
|
|
102
|
-
| $ReadOnly<{error: Error, componentStack: null, status: 'FAILED'}> = {
|
|
56
|
+
symbolicatedComponentStack: SymbolicationState = {
|
|
103
57
|
error: null,
|
|
104
|
-
|
|
58
|
+
stack: null,
|
|
105
59
|
status: 'NONE',
|
|
106
60
|
};
|
|
107
61
|
onNotificationPress: ?() => void;
|
|
@@ -113,7 +67,6 @@ class LogBoxLog {
|
|
|
113
67
|
this.stack = data.stack;
|
|
114
68
|
this.category = data.category;
|
|
115
69
|
this.componentStack = data.componentStack;
|
|
116
|
-
this.componentStackType = data.componentStackType || 'legacy';
|
|
117
70
|
this.codeFrame = data.codeFrame;
|
|
118
71
|
this.isComponentError = data.isComponentError;
|
|
119
72
|
this.extraData = data.extraData;
|
|
@@ -131,12 +84,9 @@ class LogBoxLog {
|
|
|
131
84
|
: this.stack;
|
|
132
85
|
}
|
|
133
86
|
|
|
134
|
-
getAvailableComponentStack():
|
|
135
|
-
if (this.componentStackType === 'legacy') {
|
|
136
|
-
return this.componentStack;
|
|
137
|
-
}
|
|
87
|
+
getAvailableComponentStack(): Stack {
|
|
138
88
|
return this.symbolicatedComponentStack.status === 'COMPLETE'
|
|
139
|
-
? this.symbolicatedComponentStack.
|
|
89
|
+
? this.symbolicatedComponentStack.stack
|
|
140
90
|
: this.componentStack;
|
|
141
91
|
}
|
|
142
92
|
|
|
@@ -147,9 +97,7 @@ class LogBoxLog {
|
|
|
147
97
|
retry = true;
|
|
148
98
|
}
|
|
149
99
|
if (this.symbolicatedComponentStack.status !== 'COMPLETE') {
|
|
150
|
-
LogBoxSymbolication.deleteStack(
|
|
151
|
-
convertComponentStateToStack(this.componentStack),
|
|
152
|
-
);
|
|
100
|
+
LogBoxSymbolication.deleteStack(this.componentStack);
|
|
153
101
|
retry = true;
|
|
154
102
|
}
|
|
155
103
|
if (retry) {
|
|
@@ -180,19 +128,16 @@ class LogBoxLog {
|
|
|
180
128
|
}
|
|
181
129
|
if (
|
|
182
130
|
this.componentStack != null &&
|
|
183
|
-
this.
|
|
131
|
+
this.componentStack.length > 0 &&
|
|
184
132
|
this.symbolicatedComponentStack.status !== 'PENDING' &&
|
|
185
133
|
this.symbolicatedComponentStack.status !== 'COMPLETE'
|
|
186
134
|
) {
|
|
187
135
|
this.updateComponentStackStatus(null, null, null, callback);
|
|
188
|
-
|
|
189
|
-
this.componentStack,
|
|
190
|
-
);
|
|
191
|
-
LogBoxSymbolication.symbolicate(componentStackFrames, []).then(
|
|
136
|
+
LogBoxSymbolication.symbolicate(this.componentStack, []).then(
|
|
192
137
|
data => {
|
|
193
138
|
this.updateComponentStackStatus(
|
|
194
139
|
null,
|
|
195
|
-
|
|
140
|
+
data.stack,
|
|
196
141
|
data?.codeFrame,
|
|
197
142
|
callback,
|
|
198
143
|
);
|
|
@@ -211,30 +156,10 @@ class LogBoxLog {
|
|
|
211
156
|
callback?: (status: SymbolicationStatus) => void,
|
|
212
157
|
): void {
|
|
213
158
|
const lastStatus = this.symbolicated.status;
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
stack: null,
|
|
218
|
-
status: 'FAILED',
|
|
219
|
-
};
|
|
220
|
-
} else if (stack != null) {
|
|
221
|
-
if (codeFrame) {
|
|
222
|
-
this.codeFrame = codeFrame;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
this.symbolicated = {
|
|
226
|
-
error: null,
|
|
227
|
-
stack,
|
|
228
|
-
status: 'COMPLETE',
|
|
229
|
-
};
|
|
230
|
-
} else {
|
|
231
|
-
this.symbolicated = {
|
|
232
|
-
error: null,
|
|
233
|
-
stack: null,
|
|
234
|
-
status: 'PENDING',
|
|
235
|
-
};
|
|
159
|
+
this.symbolicated = this._computeSymbolicationState(error, stack);
|
|
160
|
+
if (stack != null && codeFrame) {
|
|
161
|
+
this.codeFrame = codeFrame;
|
|
236
162
|
}
|
|
237
|
-
|
|
238
163
|
if (callback && lastStatus !== this.symbolicated.status) {
|
|
239
164
|
callback(this.symbolicated.status);
|
|
240
165
|
}
|
|
@@ -242,37 +167,43 @@ class LogBoxLog {
|
|
|
242
167
|
|
|
243
168
|
updateComponentStackStatus(
|
|
244
169
|
error: ?Error,
|
|
245
|
-
|
|
170
|
+
stack: ?Stack,
|
|
246
171
|
codeFrame: ?CodeFrame,
|
|
247
172
|
callback?: (status: SymbolicationStatus) => void,
|
|
248
173
|
): void {
|
|
249
174
|
const lastStatus = this.symbolicatedComponentStack.status;
|
|
175
|
+
this.symbolicatedComponentStack = this._computeSymbolicationState(
|
|
176
|
+
error,
|
|
177
|
+
stack,
|
|
178
|
+
);
|
|
179
|
+
if (stack != null && codeFrame) {
|
|
180
|
+
this.componentCodeFrame = codeFrame;
|
|
181
|
+
}
|
|
182
|
+
if (callback && lastStatus !== this.symbolicatedComponentStack.status) {
|
|
183
|
+
callback(this.symbolicatedComponentStack.status);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
_computeSymbolicationState(error: ?Error, stack: ?Stack): SymbolicationState {
|
|
250
188
|
if (error != null) {
|
|
251
|
-
|
|
189
|
+
return {
|
|
252
190
|
error,
|
|
253
|
-
|
|
191
|
+
stack: null,
|
|
254
192
|
status: 'FAILED',
|
|
255
193
|
};
|
|
256
|
-
} else if (
|
|
257
|
-
|
|
258
|
-
this.componentCodeFrame = codeFrame;
|
|
259
|
-
}
|
|
260
|
-
this.symbolicatedComponentStack = {
|
|
194
|
+
} else if (stack != null) {
|
|
195
|
+
return {
|
|
261
196
|
error: null,
|
|
262
|
-
|
|
197
|
+
stack,
|
|
263
198
|
status: 'COMPLETE',
|
|
264
199
|
};
|
|
265
200
|
} else {
|
|
266
|
-
|
|
201
|
+
return {
|
|
267
202
|
error: null,
|
|
268
|
-
|
|
203
|
+
stack: null,
|
|
269
204
|
status: 'PENDING',
|
|
270
205
|
};
|
|
271
206
|
}
|
|
272
|
-
|
|
273
|
-
if (callback && lastStatus !== this.symbolicatedComponentStack.status) {
|
|
274
|
-
callback(this.symbolicatedComponentStack.status);
|
|
275
|
-
}
|
|
276
207
|
}
|
|
277
208
|
}
|
|
278
209
|
|