react-native-inapp-inspector 2.3.18 → 2.3.20
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/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +57 -0
- package/dist/commonjs/analytics.js +1 -24
- package/dist/commonjs/bundle.js +1 -16
- package/dist/commonjs/capture.d.ts +2 -0
- package/dist/commonjs/capture.js +1 -32
- package/dist/commonjs/components/AnalyticsDetail.js +92 -623
- package/dist/commonjs/components/AnalyticsEventCard.js +54 -350
- package/dist/commonjs/components/AnalyticsGraph.js +70 -370
- package/dist/commonjs/components/AnimatedEntrance.js +1 -11
- package/dist/commonjs/components/AppHeaderLogo.js +7 -134
- package/dist/commonjs/components/BrandCircleIcon.js +73 -118
- package/dist/commonjs/components/BrandSquareIcon.js +63 -108
- package/dist/commonjs/components/CodeSnippet.js +48 -623
- package/dist/commonjs/components/ConsoleLogCard.js +63 -537
- package/dist/commonjs/components/CopyButton.js +3 -89
- package/dist/commonjs/components/DiffViewer.js +19 -83
- package/dist/commonjs/components/DomainHeader.js +27 -127
- package/dist/commonjs/components/EmptyState.d.ts +1 -0
- package/dist/commonjs/components/EmptyState.js +10 -87
- package/dist/commonjs/components/EndOfListFooter.js +7 -81
- package/dist/commonjs/components/ErrorBoundary.js +72 -566
- package/dist/commonjs/components/HeadersSection.js +31 -110
- package/dist/commonjs/components/HighlightText.js +17 -58
- package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
- package/dist/commonjs/components/Inspector/AboutModal.js +351 -0
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
- package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
- package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
- package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
- package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
- package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
- package/dist/commonjs/components/Inspector/DebuggingTab.js +64 -871
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
- package/dist/commonjs/components/Inspector/FabLauncher.js +85 -54
- package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
- package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +9 -0
- package/dist/commonjs/components/Inspector/FeedbackModal.js +167 -521
- package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
- package/dist/commonjs/components/Inspector/InspectorHeader.js +219 -1093
- package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
- package/dist/commonjs/components/Inspector/MainScreen.js +60 -332
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +136 -278
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +134 -361
- package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
- package/dist/commonjs/components/Inspector/NetworkDetail.js +96 -432
- package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
- package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
- package/dist/commonjs/components/Inspector/NpmStarPrompt.js +17 -433
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
- package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
- package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
- package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
- package/dist/commonjs/components/Inspector/SettingsPanel.js +431 -3431
- package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
- package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
- package/dist/commonjs/components/Inspector/TabBar.js +47 -183
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +34 -408
- package/dist/commonjs/components/JsonViewer.js +168 -380
- package/dist/commonjs/components/LogCard.js +57 -567
- package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
- package/dist/commonjs/components/MetaAccordion.js +69 -238
- package/dist/commonjs/components/MiniBarChart.js +3 -56
- package/dist/commonjs/components/MiniLineChart.js +3 -58
- package/dist/commonjs/components/NetworkIcons.d.ts +7 -0
- package/dist/commonjs/components/NetworkIcons.js +479 -997
- package/dist/commonjs/components/QRCodeView.js +5 -79
- package/dist/commonjs/components/SectionHeader.js +15 -37
- package/dist/commonjs/components/SegmentedTabs.js +7 -61
- package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
- package/dist/commonjs/components/Slider.js +15 -243
- package/dist/commonjs/components/SourcePageCard.js +30 -89
- package/dist/commonjs/components/Toast.js +5 -147
- package/dist/commonjs/components/TouchableScale.js +3 -24
- package/dist/commonjs/components/TreeNode.js +55 -130
- package/dist/commonjs/console.js +1 -16
- package/dist/commonjs/constants/index.js +1 -32
- package/dist/commonjs/constants/telemetryConfig.js +1 -6
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -4
- package/dist/commonjs/crash.js +1 -23
- package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
- package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
- package/dist/commonjs/customHooks/consoleLogger.js +6 -445
- package/dist/commonjs/customHooks/crashHandler.js +7 -656
- package/dist/commonjs/customHooks/logFilters.js +1 -23
- package/dist/commonjs/customHooks/networkLogger.js +2 -536
- package/dist/commonjs/customHooks/performanceTracker.js +63 -750
- package/dist/commonjs/customHooks/reduxLogger.js +2 -313
- package/dist/commonjs/customHooks/storageInspector.js +1 -435
- package/dist/commonjs/customHooks/useAccordion.js +1 -18
- package/dist/commonjs/decorators/index.js +1 -100
- package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
- package/dist/commonjs/helpers/index.js +8 -921
- package/dist/commonjs/helpers/memoryManager.js +1 -99
- package/dist/commonjs/helpers/qrGenerator.js +1 -367
- package/dist/commonjs/helpers/remoteConfig.js +1 -165
- package/dist/commonjs/helpers/searchQueryParser.js +1 -62
- package/dist/commonjs/helpers/settingsStore.js +1 -144
- package/dist/commonjs/helpers/telemetry.js +1 -501
- package/dist/commonjs/helpers/toast.js +1 -20
- package/dist/commonjs/i18n/index.js +1 -90
- package/dist/commonjs/i18n/locales/en.json +1 -1122
- package/dist/commonjs/index.js +5 -2153
- package/dist/commonjs/metro.js +6 -468
- package/dist/commonjs/native/NativeInspector.d.ts +3 -0
- package/dist/commonjs/native/NativeInspector.js +1 -402
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
- package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
- package/dist/commonjs/network.js +1 -13
- package/dist/commonjs/performance.js +1 -29
- package/dist/commonjs/redux.js +1 -20
- package/dist/commonjs/storage.js +1 -14
- package/dist/commonjs/styles/AppColors.js +1 -423
- package/dist/commonjs/styles/AppFonts.js +1 -17
- package/dist/commonjs/styles/common.js +1 -190
- package/dist/commonjs/styles/index.d.ts +6 -0
- package/dist/commonjs/styles/index.js +1 -1589
- package/dist/commonjs/types/enums.d.ts +2 -1
- package/dist/commonjs/types/enums.js +1 -150
- package/dist/commonjs/types/index.js +1 -18
- package/dist/commonjs/types/interfaces.d.ts +7 -0
- package/dist/commonjs/types/interfaces.js +1 -2
- package/dist/esm/analytics.js +1 -2
- package/dist/esm/bundle.js +1 -2
- package/dist/esm/capture.d.ts +2 -0
- package/dist/esm/capture.js +1 -29
- package/dist/esm/components/AnalyticsDetail.js +171 -664
- package/dist/esm/components/AnalyticsEventCard.js +77 -335
- package/dist/esm/components/AnalyticsGraph.js +95 -357
- package/dist/esm/components/AnimatedEntrance.js +1 -6
- package/dist/esm/components/AppHeaderLogo.js +7 -94
- package/dist/esm/components/BrandCircleIcon.js +114 -119
- package/dist/esm/components/BrandSquareIcon.js +73 -78
- package/dist/esm/components/CodeSnippet.js +58 -595
- package/dist/esm/components/ConsoleLogCard.js +91 -526
- package/dist/esm/components/CopyButton.js +3 -51
- package/dist/esm/components/DiffViewer.js +22 -48
- package/dist/esm/components/DomainHeader.js +43 -138
- package/dist/esm/components/EmptyState.d.ts +1 -0
- package/dist/esm/components/EmptyState.js +17 -56
- package/dist/esm/components/EndOfListFooter.js +15 -83
- package/dist/esm/components/ErrorBoundary.js +125 -582
- package/dist/esm/components/HeadersSection.js +52 -93
- package/dist/esm/components/HighlightText.js +17 -53
- package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
- package/dist/esm/components/Inspector/AboutModal.js +351 -0
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
- package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
- package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
- package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
- package/dist/esm/components/Inspector/CrashDetail.js +236 -747
- package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
- package/dist/esm/components/Inspector/CrashTab.js +177 -711
- package/dist/esm/components/Inspector/DebuggingTab.js +156 -923
- package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
- package/dist/esm/components/Inspector/FabLauncher.js +85 -49
- package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
- package/dist/esm/components/Inspector/FeedbackModal.d.ts +9 -0
- package/dist/esm/components/Inspector/FeedbackModal.js +182 -499
- package/dist/esm/components/Inspector/InspectorContext.js +1 -12
- package/dist/esm/components/Inspector/InspectorHeader.js +309 -1145
- package/dist/esm/components/Inspector/LogDetail.js +235 -1023
- package/dist/esm/components/Inspector/MainScreen.js +86 -320
- package/dist/esm/components/Inspector/MediaGalleryTab.js +157 -259
- package/dist/esm/components/Inspector/MediaPreviewModal.js +153 -340
- package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
- package/dist/esm/components/Inspector/NetworkDetail.js +141 -472
- package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
- package/dist/esm/components/Inspector/NetworkTab.js +125 -517
- package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
- package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
- package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
- package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
- package/dist/esm/components/Inspector/ReduxTab.js +144 -722
- package/dist/esm/components/Inspector/SettingsPanel.js +647 -3609
- package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
- package/dist/esm/components/Inspector/StorageTab.js +172 -866
- package/dist/esm/components/Inspector/TabBar.js +52 -183
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +79 -416
- package/dist/esm/components/JsonViewer.js +179 -353
- package/dist/esm/components/LogCard.js +93 -565
- package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
- package/dist/esm/components/MetaAccordion.js +136 -267
- package/dist/esm/components/MiniBarChart.js +3 -18
- package/dist/esm/components/MiniLineChart.js +3 -20
- package/dist/esm/components/NetworkIcons.d.ts +7 -0
- package/dist/esm/components/NetworkIcons.js +481 -817
- package/dist/esm/components/QRCodeView.js +8 -45
- package/dist/esm/components/SectionHeader.js +22 -39
- package/dist/esm/components/SegmentedTabs.js +8 -57
- package/dist/esm/components/SkeletonPlaceholder.js +30 -163
- package/dist/esm/components/Slider.js +24 -213
- package/dist/esm/components/SourcePageCard.js +65 -86
- package/dist/esm/components/Toast.js +10 -117
- package/dist/esm/components/TouchableScale.js +3 -19
- package/dist/esm/components/TreeNode.js +58 -95
- package/dist/esm/console.js +1 -2
- package/dist/esm/constants/index.js +1 -28
- package/dist/esm/constants/telemetryConfig.js +1 -3
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/crash.js +1 -2
- package/dist/esm/customHooks/analyticsLogger.js +1 -230
- package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
- package/dist/esm/customHooks/consoleLogger.js +6 -432
- package/dist/esm/customHooks/crashHandler.js +7 -630
- package/dist/esm/customHooks/logFilters.js +1 -20
- package/dist/esm/customHooks/networkLogger.js +2 -519
- package/dist/esm/customHooks/performanceTracker.js +63 -723
- package/dist/esm/customHooks/reduxLogger.js +2 -293
- package/dist/esm/customHooks/storageInspector.js +1 -418
- package/dist/esm/customHooks/useAccordion.js +1 -16
- package/dist/esm/decorators/index.js +1 -95
- package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
- package/dist/esm/helpers/index.js +8 -861
- package/dist/esm/helpers/memoryManager.js +1 -91
- package/dist/esm/helpers/qrGenerator.js +1 -364
- package/dist/esm/helpers/remoteConfig.js +1 -160
- package/dist/esm/helpers/searchQueryParser.js +1 -59
- package/dist/esm/helpers/settingsStore.js +1 -134
- package/dist/esm/helpers/telemetry.js +1 -489
- package/dist/esm/helpers/toast.js +1 -15
- package/dist/esm/i18n/index.js +1 -78
- package/dist/esm/i18n/locales/en.json +1 -1122
- package/dist/esm/index.js +7 -1967
- package/dist/esm/metro.js +6 -459
- package/dist/esm/native/NativeInspector.d.ts +3 -0
- package/dist/esm/native/NativeInspector.js +1 -370
- package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
- package/dist/esm/native/NativeNetworkInspector.js +1 -2
- package/dist/esm/network.js +1 -1
- package/dist/esm/performance.js +1 -2
- package/dist/esm/redux.js +1 -1
- package/dist/esm/storage.js +1 -1
- package/dist/esm/styles/AppColors.js +1 -417
- package/dist/esm/styles/AppFonts.js +1 -13
- package/dist/esm/styles/common.js +1 -186
- package/dist/esm/styles/index.d.ts +6 -0
- package/dist/esm/styles/index.js +1 -1551
- package/dist/esm/types/enums.d.ts +2 -1
- package/dist/esm/types/enums.js +1 -147
- package/dist/esm/types/index.js +1 -2
- package/dist/esm/types/interfaces.d.ts +7 -0
- package/dist/esm/types/interfaces.js +1 -1
- package/ios/NetworkInspectorModule.mm +253 -136
- package/package.json +5 -3
- package/react-native-inapp-inspector.podspec +1 -1
- package/src/native/NativeInspector.ts +17 -0
- package/src/native/NativeNetworkInspector.ts +1 -0
- package/src/analytics.ts +0 -35
- package/src/bundle.ts +0 -25
- package/src/capture.ts +0 -101
- package/src/components/AnalyticsDetail.tsx +0 -870
- package/src/components/AnalyticsEventCard.tsx +0 -444
- package/src/components/AnalyticsGraph.tsx +0 -583
- package/src/components/AnimatedEntrance.tsx +0 -20
- package/src/components/AppHeaderLogo.tsx +0 -143
- package/src/components/BrandCircleIcon.tsx +0 -144
- package/src/components/BrandSquareIcon.tsx +0 -184
- package/src/components/CodeSnippet.tsx +0 -725
- package/src/components/ConsoleLogCard.tsx +0 -679
- package/src/components/CopyButton.tsx +0 -87
- package/src/components/DiffViewer.tsx +0 -82
- package/src/components/DomainHeader.tsx +0 -224
- package/src/components/EmptyState.tsx +0 -95
- package/src/components/EndOfListFooter.tsx +0 -100
- package/src/components/ErrorBoundary.tsx +0 -688
- package/src/components/HeadersSection.tsx +0 -172
- package/src/components/HighlightText.tsx +0 -100
- package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
- package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
- package/src/components/Inspector/BundleTab.tsx +0 -4768
- package/src/components/Inspector/ConsoleTab.tsx +0 -726
- package/src/components/Inspector/CrashDetail.tsx +0 -997
- package/src/components/Inspector/CrashFilterModal.tsx +0 -721
- package/src/components/Inspector/CrashTab.tsx +0 -933
- package/src/components/Inspector/DebuggingTab.tsx +0 -1103
- package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
- package/src/components/Inspector/FabLauncher.tsx +0 -80
- package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
- package/src/components/Inspector/FeedbackModal.tsx +0 -626
- package/src/components/Inspector/InspectorContext.tsx +0 -28
- package/src/components/Inspector/InspectorHeader.tsx +0 -1545
- package/src/components/Inspector/LogDetail.tsx +0 -1431
- package/src/components/Inspector/MainScreen.tsx +0 -459
- package/src/components/Inspector/MediaGalleryTab.tsx +0 -355
- package/src/components/Inspector/MediaPreviewModal.tsx +0 -435
- package/src/components/Inspector/NavigationTracker.tsx +0 -13
- package/src/components/Inspector/NetworkDetail.tsx +0 -795
- package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
- package/src/components/Inspector/NetworkTab.tsx +0 -820
- package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
- package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
- package/src/components/Inspector/PerformanceTab.tsx +0 -1967
- package/src/components/Inspector/ReduxDetail.tsx +0 -1651
- package/src/components/Inspector/ReduxTab.tsx +0 -987
- package/src/components/Inspector/SettingsPanel.tsx +0 -4580
- package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
- package/src/components/Inspector/StorageTab.tsx +0 -1159
- package/src/components/Inspector/TabBar.tsx +0 -263
- package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
- package/src/components/JsonViewer.tsx +0 -547
- package/src/components/LogCard.tsx +0 -694
- package/src/components/LogSyntaxHighlighter.tsx +0 -178
- package/src/components/MetaAccordion.tsx +0 -355
- package/src/components/MiniBarChart.tsx +0 -42
- package/src/components/MiniLineChart.tsx +0 -33
- package/src/components/NetworkIcons.tsx +0 -2599
- package/src/components/QRCodeView.tsx +0 -75
- package/src/components/SectionHeader.tsx +0 -101
- package/src/components/SegmentedTabs.tsx +0 -83
- package/src/components/SkeletonPlaceholder.tsx +0 -206
- package/src/components/Slider.tsx +0 -300
- package/src/components/SourcePageCard.tsx +0 -150
- package/src/components/Toast.tsx +0 -131
- package/src/components/TouchableScale.tsx +0 -61
- package/src/components/TreeNode.tsx +0 -171
- package/src/console.ts +0 -24
- package/src/constants/index.ts +0 -41
- package/src/constants/telemetryConfig.ts +0 -4
- package/src/constants/version.ts +0 -3
- package/src/crash.ts +0 -32
- package/src/customHooks/analyticsLogger.ts +0 -336
- package/src/customHooks/bundleAnalyzer.ts +0 -1256
- package/src/customHooks/consoleLogger.ts +0 -530
- package/src/customHooks/crashHandler.ts +0 -944
- package/src/customHooks/logFilters.ts +0 -32
- package/src/customHooks/networkLogger.ts +0 -624
- package/src/customHooks/performanceTracker.ts +0 -1014
- package/src/customHooks/reduxLogger.ts +0 -406
- package/src/customHooks/storageInspector.ts +0 -513
- package/src/customHooks/useAccordion.tsx +0 -27
- package/src/decorators/index.ts +0 -184
- package/src/helpers/gaAnalyticsRegistry.ts +0 -204
- package/src/helpers/index.ts +0 -1092
- package/src/helpers/memoryManager.ts +0 -138
- package/src/helpers/qrGenerator.ts +0 -430
- package/src/helpers/remoteConfig.ts +0 -212
- package/src/helpers/searchQueryParser.ts +0 -84
- package/src/helpers/settingsStore.ts +0 -171
- package/src/helpers/telemetry.ts +0 -568
- package/src/helpers/toast.ts +0 -17
- package/src/i18n/index.ts +0 -104
- package/src/i18n/locales/en.json +0 -1125
- package/src/index.tsx +0 -2635
- package/src/metro.ts +0 -598
- package/src/network.ts +0 -22
- package/src/performance.ts +0 -38
- package/src/redux.ts +0 -23
- package/src/storage.ts +0 -18
- package/src/styles/AppColors.ts +0 -455
- package/src/styles/AppFonts.ts +0 -26
- package/src/styles/common.ts +0 -209
- package/src/styles/index.ts +0 -1606
- package/src/types/enums.ts +0 -208
- package/src/types/index.ts +0 -34
- package/src/types/interfaces.ts +0 -530
|
@@ -1,293 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
let
|
|
3
|
-
const listeners = new Set();
|
|
4
|
-
let globalReduxAutoRefresh = true;
|
|
5
|
-
let isReduxModuleEnabled = false;
|
|
6
|
-
export const setReduxModuleEnabled = (enabled) => {
|
|
7
|
-
isReduxModuleEnabled = enabled;
|
|
8
|
-
};
|
|
9
|
-
export const getReduxModuleEnabled = () => isReduxModuleEnabled;
|
|
10
|
-
let lastActionForReducer = {};
|
|
11
|
-
let actionHistory = [];
|
|
12
|
-
let maxReduxHistoryLimit = 50;
|
|
13
|
-
let historyIdSeq = 0;
|
|
14
|
-
export const setMaxReduxHistoryLimit = (limit) => {
|
|
15
|
-
maxReduxHistoryLimit = Math.max(10, limit);
|
|
16
|
-
if (actionHistory.length > maxReduxHistoryLimit) {
|
|
17
|
-
actionHistory = actionHistory.slice(0, maxReduxHistoryLimit);
|
|
18
|
-
notify();
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
export const getMaxReduxHistoryLimit = () => maxReduxHistoryLimit;
|
|
22
|
-
export const pruneReduxHistory = (targetCount) => {
|
|
23
|
-
const countToKeep = targetCount !== undefined ? Math.max(0, targetCount) : Math.floor(actionHistory.length / 2);
|
|
24
|
-
const pruned = actionHistory.length - countToKeep;
|
|
25
|
-
if (pruned > 0) {
|
|
26
|
-
actionHistory = actionHistory.slice(0, countToKeep);
|
|
27
|
-
notify();
|
|
28
|
-
}
|
|
29
|
-
return Math.max(0, pruned);
|
|
30
|
-
};
|
|
31
|
-
const connectedStores = new WeakSet();
|
|
32
|
-
let middlewareAttached = false;
|
|
33
|
-
export const isReduxConnected = () => middlewareAttached || currentReduxState != null || actionHistory.length > 0;
|
|
34
|
-
export const getReduxState = () => currentReduxState;
|
|
35
|
-
export const setReduxAutoRefresh = (val) => {
|
|
36
|
-
globalReduxAutoRefresh = val;
|
|
37
|
-
};
|
|
38
|
-
export const getReduxAutoRefresh = () => globalReduxAutoRefresh;
|
|
39
|
-
export const getLastActionForReducer = () => lastActionForReducer;
|
|
40
|
-
export const clearLastActionForReducer = () => {
|
|
41
|
-
lastActionForReducer = {};
|
|
42
|
-
notify();
|
|
43
|
-
};
|
|
44
|
-
export const getActionHistory = () => actionHistory;
|
|
45
|
-
export const clearActionHistory = () => {
|
|
46
|
-
actionHistory = [];
|
|
47
|
-
notify();
|
|
48
|
-
};
|
|
49
|
-
export const setReduxState = (state) => {
|
|
50
|
-
currentReduxState = state;
|
|
51
|
-
notify();
|
|
52
|
-
};
|
|
53
|
-
export const subscribeReduxState = (cb) => {
|
|
54
|
-
listeners.add(cb);
|
|
55
|
-
return () => {
|
|
56
|
-
listeners.delete(cb);
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
function notify() {
|
|
60
|
-
listeners.forEach(cb => cb());
|
|
61
|
-
}
|
|
62
|
-
function actionTypeOf(action) {
|
|
63
|
-
if (typeof action === 'string')
|
|
64
|
-
return action;
|
|
65
|
-
if (action && typeof action === 'object' && action.type != null) {
|
|
66
|
-
return String(action.type);
|
|
67
|
-
}
|
|
68
|
-
if (typeof action === 'function') {
|
|
69
|
-
return action.name ? `thunk: ${action.name}` : 'thunk';
|
|
70
|
-
}
|
|
71
|
-
return 'UNKNOWN_ACTION';
|
|
72
|
-
}
|
|
73
|
-
function detectActionOrigin(stack, actionType, actionObj) {
|
|
74
|
-
const stackLower = (stack || '').toLowerCase();
|
|
75
|
-
const typeLower = (actionType || '').toLowerCase();
|
|
76
|
-
if (actionObj && actionObj.__origin) {
|
|
77
|
-
const raw = String(actionObj.__origin).toLowerCase();
|
|
78
|
-
if (raw.includes('saga'))
|
|
79
|
-
return { originType: 'saga' };
|
|
80
|
-
if (raw.includes('thunk'))
|
|
81
|
-
return { originType: 'thunk' };
|
|
82
|
-
if (raw.includes('ui'))
|
|
83
|
-
return { originType: 'ui' };
|
|
84
|
-
}
|
|
85
|
-
const isSaga = stackLower.includes('redux-saga') ||
|
|
86
|
-
stackLower.includes('runputeffect') ||
|
|
87
|
-
stackLower.includes('proc.js') ||
|
|
88
|
-
stackLower.includes('effects.js') ||
|
|
89
|
-
stackLower.includes('sagamiddleware') ||
|
|
90
|
-
stackLower.includes('saga.ts') ||
|
|
91
|
-
stackLower.includes('saga.js') ||
|
|
92
|
-
stackLower.includes('sagas') ||
|
|
93
|
-
typeLower.includes('saga') ||
|
|
94
|
-
typeLower.startsWith('saga/') ||
|
|
95
|
-
typeLower.startsWith('@saga/');
|
|
96
|
-
const isThunk = stackLower.includes('createasyncthunk') ||
|
|
97
|
-
stackLower.includes('redux-thunk') ||
|
|
98
|
-
stackLower.includes('rtk-query') ||
|
|
99
|
-
stackLower.includes('thunkmiddleware') ||
|
|
100
|
-
stackLower.includes('actioncreator') ||
|
|
101
|
-
typeLower.includes('thunk') ||
|
|
102
|
-
typeLower.endsWith('/pending') ||
|
|
103
|
-
typeLower.endsWith('/fulfilled') ||
|
|
104
|
-
typeLower.endsWith('/rejected');
|
|
105
|
-
const lines = (stack || '').split('\n').map(l => l.trim()).filter(Boolean);
|
|
106
|
-
let bestFrame = null;
|
|
107
|
-
for (let i = 0; i < lines.length; i++) {
|
|
108
|
-
const line = lines[i];
|
|
109
|
-
if (line.includes('reduxLogger') ||
|
|
110
|
-
line.includes('inspectorReduxMiddleware') ||
|
|
111
|
-
line.includes('recordAction') ||
|
|
112
|
-
line.includes('redux.js') ||
|
|
113
|
-
line.includes('redux.cjs')) {
|
|
114
|
-
continue;
|
|
115
|
-
}
|
|
116
|
-
const parsed = parseStackLine(line, false);
|
|
117
|
-
if (parsed.frameType === 'app' || (!parsed.isRuntimeNoise && parsed.fileName !== 'Unknown')) {
|
|
118
|
-
bestFrame = parsed;
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
if (!bestFrame && lines.length > 0) {
|
|
123
|
-
for (let i = 0; i < lines.length; i++) {
|
|
124
|
-
if (!lines[i].includes('reduxLogger') && !lines[i].includes('inspectorReduxMiddleware')) {
|
|
125
|
-
bestFrame = parseStackLine(lines[i], false);
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
let originType = 'direct';
|
|
131
|
-
if (isSaga || (bestFrame && bestFrame.fileName?.toLowerCase().includes('saga'))) {
|
|
132
|
-
originType = 'saga';
|
|
133
|
-
}
|
|
134
|
-
else if (isThunk || (bestFrame && bestFrame.fileName?.toLowerCase().includes('thunk'))) {
|
|
135
|
-
originType = 'thunk';
|
|
136
|
-
}
|
|
137
|
-
else if (bestFrame &&
|
|
138
|
-
(bestFrame.fileName?.endsWith('.tsx') ||
|
|
139
|
-
bestFrame.functionName?.includes('onPress') ||
|
|
140
|
-
bestFrame.functionName?.includes('touchable') ||
|
|
141
|
-
bestFrame.functionName?.includes('Effect'))) {
|
|
142
|
-
originType = 'ui';
|
|
143
|
-
}
|
|
144
|
-
else if (stackLower.includes('listener') || stackLower.includes('subscribe')) {
|
|
145
|
-
originType = 'listener';
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
originType,
|
|
149
|
-
caller: bestFrame?.copyableLocation || bestFrame?.raw || undefined,
|
|
150
|
-
callerFile: bestFrame?.fullPath || bestFrame?.fileName || undefined,
|
|
151
|
-
callerLine: bestFrame?.lineNumber ? Number(bestFrame.lineNumber) : undefined,
|
|
152
|
-
callerCol: bestFrame?.columnNumber ? Number(bestFrame.columnNumber) : undefined,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
function extractSliceName(actionType, affectedSlices) {
|
|
156
|
-
if (affectedSlices && affectedSlices.length > 0) {
|
|
157
|
-
return affectedSlices[0];
|
|
158
|
-
}
|
|
159
|
-
const match = actionType.match(/^([a-zA-Z0-9_\-]+)\//);
|
|
160
|
-
if (match && match[1] && !match[1].startsWith('@@')) {
|
|
161
|
-
return match[1];
|
|
162
|
-
}
|
|
163
|
-
return undefined;
|
|
164
|
-
}
|
|
165
|
-
function recordAction(action, prevState, nextState, rawStack) {
|
|
166
|
-
if (!isReduxModuleEnabled)
|
|
167
|
-
return;
|
|
168
|
-
const stack = rawStack || new Error().stack || '';
|
|
169
|
-
const type = actionTypeOf(action);
|
|
170
|
-
const payload = action && typeof action === 'object' && action.payload !== undefined
|
|
171
|
-
? action.payload
|
|
172
|
-
: null;
|
|
173
|
-
const now = Date.now();
|
|
174
|
-
const timestamp = new Date(now).toLocaleTimeString();
|
|
175
|
-
const affectedSlices = [];
|
|
176
|
-
const origin = detectActionOrigin(stack, type, action);
|
|
177
|
-
const sliceName = extractSliceName(type, affectedSlices);
|
|
178
|
-
if (prevState &&
|
|
179
|
-
nextState &&
|
|
180
|
-
typeof prevState === 'object' &&
|
|
181
|
-
typeof nextState === 'object') {
|
|
182
|
-
Object.keys(nextState).forEach(key => {
|
|
183
|
-
if (prevState[key] !== nextState[key]) {
|
|
184
|
-
lastActionForReducer[key] = {
|
|
185
|
-
type,
|
|
186
|
-
payload,
|
|
187
|
-
timestamp,
|
|
188
|
-
updatedAt: now,
|
|
189
|
-
originType: origin.originType,
|
|
190
|
-
callerFile: origin.callerFile,
|
|
191
|
-
callerLine: origin.callerLine,
|
|
192
|
-
callerCol: origin.callerCol,
|
|
193
|
-
caller: origin.caller,
|
|
194
|
-
stack,
|
|
195
|
-
};
|
|
196
|
-
affectedSlices.push(key);
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
actionHistory.unshift({
|
|
201
|
-
id: ++historyIdSeq,
|
|
202
|
-
type,
|
|
203
|
-
payload,
|
|
204
|
-
timestamp,
|
|
205
|
-
updatedAt: now,
|
|
206
|
-
affectedSlices,
|
|
207
|
-
prevState,
|
|
208
|
-
nextState,
|
|
209
|
-
stack,
|
|
210
|
-
caller: origin.caller,
|
|
211
|
-
callerFile: origin.callerFile,
|
|
212
|
-
callerLine: origin.callerLine,
|
|
213
|
-
callerCol: origin.callerCol,
|
|
214
|
-
originType: origin.originType,
|
|
215
|
-
sliceName,
|
|
216
|
-
});
|
|
217
|
-
if (actionHistory.length > maxReduxHistoryLimit) {
|
|
218
|
-
actionHistory.length = maxReduxHistoryLimit;
|
|
219
|
-
}
|
|
220
|
-
if (globalReduxAutoRefresh) {
|
|
221
|
-
currentReduxState = nextState;
|
|
222
|
-
}
|
|
223
|
-
notify();
|
|
224
|
-
}
|
|
225
|
-
export const inspectorReduxMiddleware = (storeApi) => (next) => (action) => {
|
|
226
|
-
middlewareAttached = true;
|
|
227
|
-
const capturedStack = new Error().stack || '';
|
|
228
|
-
if (typeof action === 'function') {
|
|
229
|
-
return next(action);
|
|
230
|
-
}
|
|
231
|
-
const prevState = storeApi.getState();
|
|
232
|
-
const result = next(action);
|
|
233
|
-
const nextState = storeApi.getState();
|
|
234
|
-
if (currentReduxState == null)
|
|
235
|
-
currentReduxState = nextState;
|
|
236
|
-
recordAction(action, prevState, nextState, capturedStack);
|
|
237
|
-
return result;
|
|
238
|
-
};
|
|
239
|
-
export const connectReduxStore = (store) => {
|
|
240
|
-
if (!store ||
|
|
241
|
-
typeof store.getState !== 'function' ||
|
|
242
|
-
typeof store.subscribe !== 'function') {
|
|
243
|
-
console.warn('[NetworkInspector] Invalid Redux store passed to connectReduxStore.');
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
|
-
if (connectedStores.has(store)) {
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
connectedStores.add(store);
|
|
250
|
-
const originalDispatch = store.dispatch.bind(store);
|
|
251
|
-
let inWrappedDispatch = false;
|
|
252
|
-
store.dispatch = (action) => {
|
|
253
|
-
const capturedStack = new Error().stack || '';
|
|
254
|
-
if (middlewareAttached || typeof action === 'function') {
|
|
255
|
-
inWrappedDispatch = true;
|
|
256
|
-
try {
|
|
257
|
-
return originalDispatch(action);
|
|
258
|
-
}
|
|
259
|
-
finally {
|
|
260
|
-
inWrappedDispatch = false;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
const prevState = store.getState();
|
|
264
|
-
inWrappedDispatch = true;
|
|
265
|
-
let result;
|
|
266
|
-
try {
|
|
267
|
-
result = originalDispatch(action);
|
|
268
|
-
}
|
|
269
|
-
finally {
|
|
270
|
-
inWrappedDispatch = false;
|
|
271
|
-
}
|
|
272
|
-
recordAction(action, prevState, store.getState(), capturedStack);
|
|
273
|
-
return result;
|
|
274
|
-
};
|
|
275
|
-
setReduxState(store.getState());
|
|
276
|
-
let lastSeenState = store.getState();
|
|
277
|
-
store.subscribe(() => {
|
|
278
|
-
const nextState = store.getState();
|
|
279
|
-
if (nextState === lastSeenState)
|
|
280
|
-
return;
|
|
281
|
-
const prevState = lastSeenState;
|
|
282
|
-
lastSeenState = nextState;
|
|
283
|
-
if (inWrappedDispatch || middlewareAttached) {
|
|
284
|
-
if (globalReduxAutoRefresh) {
|
|
285
|
-
currentReduxState = nextState;
|
|
286
|
-
notify();
|
|
287
|
-
}
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
const subStack = new Error().stack || '';
|
|
291
|
-
recordAction({ type: '@@inspector/EXTERNAL_STATE_CHANGE' }, prevState, nextState, subStack);
|
|
292
|
-
});
|
|
293
|
-
};
|
|
1
|
+
import{parseStackLine as k}from"../helpers";let g=null;const R=new Set;let m=!0,b=!1;export const setReduxModuleEnabled=e=>{b=e},getReduxModuleEnabled=()=>b;let w={},o=[],x=50,L=0;export const setMaxReduxHistoryLimit=e=>{x=Math.max(10,e),o.length>x&&(o=o.slice(0,x),h())},getMaxReduxHistoryLimit=()=>x,pruneReduxHistory=e=>{const s=e!==void 0?Math.max(0,e):Math.floor(o.length/2),t=o.length-s;return t>0&&(o=o.slice(0,s),h()),Math.max(0,t)};const N=new WeakSet;let y=!1;export const isReduxConnected=()=>y||g!=null||o.length>0,getReduxState=()=>g,setReduxAutoRefresh=e=>{m=e},getReduxAutoRefresh=()=>m,getLastActionForReducer=()=>w,clearLastActionForReducer=()=>{w={},h()},getActionHistory=()=>o,clearActionHistory=()=>{o=[],h()},setReduxState=e=>{g=e,h()},subscribeReduxState=e=>(R.add(e),()=>{R.delete(e)});function h(){R.forEach(e=>e())}function A(e){return typeof e=="string"?e:e&&typeof e=="object"&&e.type!=null?String(e.type):typeof e=="function"?e.name?`thunk: ${e.name}`:"thunk":"UNKNOWN_ACTION"}function T(e,s,t){const r=(e||"").toLowerCase(),i=(s||"").toLowerCase();if(t&&t.__origin){const n=String(t.__origin).toLowerCase();if(n.includes("saga"))return{originType:"saga"};if(n.includes("thunk"))return{originType:"thunk"};if(n.includes("ui"))return{originType:"ui"}}const u=r.includes("redux-saga")||r.includes("runputeffect")||r.includes("proc.js")||r.includes("effects.js")||r.includes("sagamiddleware")||r.includes("saga.ts")||r.includes("saga.js")||r.includes("sagas")||i.includes("saga")||i.startsWith("saga/")||i.startsWith("@saga/"),a=r.includes("createasyncthunk")||r.includes("redux-thunk")||r.includes("rtk-query")||r.includes("thunkmiddleware")||r.includes("actioncreator")||i.includes("thunk")||i.endsWith("/pending")||i.endsWith("/fulfilled")||i.endsWith("/rejected"),c=(e||"").split(`
|
|
2
|
+
`).map(n=>n.trim()).filter(Boolean);let l=null;for(let n=0;n<c.length;n++){const p=c[n];if(p.includes("reduxLogger")||p.includes("inspectorReduxMiddleware")||p.includes("recordAction")||p.includes("redux.js")||p.includes("redux.cjs"))continue;const f=k(p,!1);if(f.frameType==="app"||!f.isRuntimeNoise&&f.fileName!=="Unknown"){l=f;break}}if(!l&&c.length>0){for(let n=0;n<c.length;n++)if(!c[n].includes("reduxLogger")&&!c[n].includes("inspectorReduxMiddleware")){l=k(c[n],!1);break}}let d="direct";return u||l&&l.fileName?.toLowerCase().includes("saga")?d="saga":a||l&&l.fileName?.toLowerCase().includes("thunk")?d="thunk":l&&(l.fileName?.endsWith(".tsx")||l.functionName?.includes("onPress")||l.functionName?.includes("touchable")||l.functionName?.includes("Effect"))?d="ui":(r.includes("listener")||r.includes("subscribe"))&&(d="listener"),{originType:d,caller:l?.copyableLocation||l?.raw||void 0,callerFile:l?.fullPath||l?.fileName||void 0,callerLine:l?.lineNumber?Number(l.lineNumber):void 0,callerCol:l?.columnNumber?Number(l.columnNumber):void 0}}function E(e,s){if(s&&s.length>0)return s[0];const t=e.match(/^([a-zA-Z0-9_\-]+)\//);if(t&&t[1]&&!t[1].startsWith("@@"))return t[1]}function S(e,s,t,r){if(!b)return;const i=r||new Error().stack||"",u=A(e),a=e&&typeof e=="object"&&e.payload!==void 0?e.payload:null,c=Date.now(),l=new Date(c).toLocaleTimeString(),d=[],n=T(i,u,e),p=E(u,d);s&&t&&typeof s=="object"&&typeof t=="object"&&Object.keys(t).forEach(f=>{s[f]!==t[f]&&(w[f]={type:u,payload:a,timestamp:l,updatedAt:c,originType:n.originType,callerFile:n.callerFile,callerLine:n.callerLine,callerCol:n.callerCol,caller:n.caller,stack:i},d.push(f))}),o.unshift({id:++L,type:u,payload:a,timestamp:l,updatedAt:c,affectedSlices:d,prevState:s,nextState:t,stack:i,caller:n.caller,callerFile:n.callerFile,callerLine:n.callerLine,callerCol:n.callerCol,originType:n.originType,sliceName:p}),o.length>x&&(o.length=x),m&&(g=t),h()}export const inspectorReduxMiddleware=e=>s=>t=>{y=!0;const r=new Error().stack||"";if(typeof t=="function")return s(t);const i=e.getState(),u=s(t),a=e.getState();return g==null&&(g=a),S(t,i,a,r),u},connectReduxStore=e=>{if(!e||typeof e.getState!="function"||typeof e.subscribe!="function"){console.warn("[NetworkInspector] Invalid Redux store passed to connectReduxStore.");return}if(N.has(e))return;N.add(e);const s=e.dispatch.bind(e);let t=!1;e.dispatch=i=>{const u=new Error().stack||"";if(y||typeof i=="function"){t=!0;try{return s(i)}finally{t=!1}}const a=e.getState();t=!0;let c;try{c=s(i)}finally{t=!1}return S(i,a,e.getState(),u),c},setReduxState(e.getState());let r=e.getState();e.subscribe(()=>{const i=e.getState();if(i===r)return;const u=r;if(r=i,t||y){m&&(g=i,h());return}const a=new Error().stack||"";S({type:"@@inspector/EXTERNAL_STATE_CHANGE"},u,i,a)})};
|