react-native-inapp-inspector 2.3.19 → 2.3.21

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.
Files changed (353) hide show
  1. package/README.md +14 -14
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +67 -0
  3. package/dist/commonjs/analytics.js +1 -24
  4. package/dist/commonjs/bundle.js +1 -16
  5. package/dist/commonjs/capture.js +1 -35
  6. package/dist/commonjs/components/AnalyticsDetail.js +92 -623
  7. package/dist/commonjs/components/AnalyticsEventCard.js +54 -350
  8. package/dist/commonjs/components/AnalyticsGraph.js +70 -370
  9. package/dist/commonjs/components/AnimatedEntrance.js +1 -11
  10. package/dist/commonjs/components/AppHeaderLogo.js +7 -134
  11. package/dist/commonjs/components/BrandCircleIcon.js +73 -118
  12. package/dist/commonjs/components/BrandSquareIcon.js +63 -108
  13. package/dist/commonjs/components/CodeSnippet.js +48 -623
  14. package/dist/commonjs/components/ConsoleLogCard.js +63 -537
  15. package/dist/commonjs/components/CopyButton.js +3 -89
  16. package/dist/commonjs/components/DiffViewer.js +19 -83
  17. package/dist/commonjs/components/DomainHeader.js +27 -127
  18. package/dist/commonjs/components/EmptyState.js +10 -87
  19. package/dist/commonjs/components/EndOfListFooter.js +7 -81
  20. package/dist/commonjs/components/ErrorBoundary.js +72 -566
  21. package/dist/commonjs/components/HeadersSection.js +31 -110
  22. package/dist/commonjs/components/HighlightText.js +17 -58
  23. package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
  24. package/dist/commonjs/components/Inspector/AboutModal.js +243 -0
  25. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
  26. package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
  27. package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
  28. package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
  29. package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
  30. package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
  31. package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
  32. package/dist/commonjs/components/Inspector/DebuggingTab.js +74 -875
  33. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
  34. package/dist/commonjs/components/Inspector/FabLauncher.js +42 -466
  35. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
  36. package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
  37. package/dist/commonjs/components/Inspector/InspectorHeader.js +191 -1110
  38. package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
  39. package/dist/commonjs/components/Inspector/MainScreen.js +52 -335
  40. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +97 -644
  41. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +90 -605
  42. package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
  43. package/dist/commonjs/components/Inspector/NetworkDetail.js +89 -411
  44. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
  45. package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
  46. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +18 -434
  47. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
  48. package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
  49. package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
  50. package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
  51. package/dist/commonjs/components/Inspector/SettingsPanel.js +427 -3807
  52. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
  53. package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
  54. package/dist/commonjs/components/Inspector/TabBar.js +36 -334
  55. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +37 -412
  56. package/dist/commonjs/components/JsonViewer.js +168 -381
  57. package/dist/commonjs/components/LogCard.js +57 -567
  58. package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
  59. package/dist/commonjs/components/MetaAccordion.js +69 -238
  60. package/dist/commonjs/components/MiniBarChart.js +3 -56
  61. package/dist/commonjs/components/MiniLineChart.js +3 -58
  62. package/dist/commonjs/components/NetworkIcons.d.ts +13 -0
  63. package/dist/commonjs/components/NetworkIcons.js +521 -1022
  64. package/dist/commonjs/components/QRCodeView.js +5 -79
  65. package/dist/commonjs/components/SectionHeader.js +15 -37
  66. package/dist/commonjs/components/SegmentedTabs.js +7 -62
  67. package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
  68. package/dist/commonjs/components/Slider.js +15 -243
  69. package/dist/commonjs/components/SourcePageCard.js +30 -89
  70. package/dist/commonjs/components/Toast.js +5 -147
  71. package/dist/commonjs/components/TouchableScale.js +3 -24
  72. package/dist/commonjs/components/TreeNode.js +55 -130
  73. package/dist/commonjs/console.js +1 -16
  74. package/dist/commonjs/constants/index.js +1 -32
  75. package/dist/commonjs/constants/telemetryConfig.js +1 -6
  76. package/dist/commonjs/constants/version.d.ts +1 -1
  77. package/dist/commonjs/constants/version.js +1 -4
  78. package/dist/commonjs/crash.js +1 -23
  79. package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
  80. package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
  81. package/dist/commonjs/customHooks/consoleLogger.js +6 -445
  82. package/dist/commonjs/customHooks/crashHandler.js +7 -656
  83. package/dist/commonjs/customHooks/logFilters.js +1 -23
  84. package/dist/commonjs/customHooks/networkLogger.js +2 -536
  85. package/dist/commonjs/customHooks/performanceTracker.js +63 -750
  86. package/dist/commonjs/customHooks/reduxLogger.js +2 -313
  87. package/dist/commonjs/customHooks/storageInspector.js +1 -435
  88. package/dist/commonjs/customHooks/useAccordion.js +1 -18
  89. package/dist/commonjs/decorators/index.js +1 -100
  90. package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
  91. package/dist/commonjs/helpers/index.d.ts +1 -0
  92. package/dist/commonjs/helpers/index.js +8 -921
  93. package/dist/commonjs/helpers/memoryManager.js +1 -99
  94. package/dist/commonjs/helpers/qrGenerator.js +1 -367
  95. package/dist/commonjs/helpers/remoteConfig.js +1 -165
  96. package/dist/commonjs/helpers/searchQueryParser.js +1 -62
  97. package/dist/commonjs/helpers/settingsStore.js +1 -144
  98. package/dist/commonjs/helpers/telemetry.js +1 -501
  99. package/dist/commonjs/helpers/toast.js +1 -20
  100. package/dist/commonjs/i18n/index.js +1 -90
  101. package/dist/commonjs/i18n/locales/en.json +1 -1140
  102. package/dist/commonjs/index.js +5 -2168
  103. package/dist/commonjs/metro.js +6 -468
  104. package/dist/commonjs/native/NativeInspector.d.ts +1 -0
  105. package/dist/commonjs/native/NativeInspector.js +1 -415
  106. package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
  107. package/dist/commonjs/network.js +1 -13
  108. package/dist/commonjs/performance.js +1 -29
  109. package/dist/commonjs/redux.js +1 -20
  110. package/dist/commonjs/storage.js +1 -14
  111. package/dist/commonjs/styles/AppColors.js +1 -423
  112. package/dist/commonjs/styles/AppFonts.js +1 -17
  113. package/dist/commonjs/styles/common.js +1 -190
  114. package/dist/commonjs/styles/index.d.ts +6 -0
  115. package/dist/commonjs/styles/index.js +1 -1589
  116. package/dist/commonjs/types/enums.d.ts +0 -1
  117. package/dist/commonjs/types/enums.js +1 -152
  118. package/dist/commonjs/types/index.js +1 -18
  119. package/dist/commonjs/types/interfaces.d.ts +2 -2
  120. package/dist/commonjs/types/interfaces.js +1 -2
  121. package/dist/esm/analytics.js +1 -2
  122. package/dist/esm/bundle.js +1 -2
  123. package/dist/esm/capture.js +1 -32
  124. package/dist/esm/components/AnalyticsDetail.js +171 -664
  125. package/dist/esm/components/AnalyticsEventCard.js +77 -335
  126. package/dist/esm/components/AnalyticsGraph.js +95 -357
  127. package/dist/esm/components/AnimatedEntrance.js +1 -6
  128. package/dist/esm/components/AppHeaderLogo.js +7 -94
  129. package/dist/esm/components/BrandCircleIcon.js +114 -119
  130. package/dist/esm/components/BrandSquareIcon.js +73 -78
  131. package/dist/esm/components/CodeSnippet.js +58 -595
  132. package/dist/esm/components/ConsoleLogCard.js +91 -526
  133. package/dist/esm/components/CopyButton.js +3 -51
  134. package/dist/esm/components/DiffViewer.js +22 -48
  135. package/dist/esm/components/DomainHeader.js +43 -138
  136. package/dist/esm/components/EmptyState.js +17 -56
  137. package/dist/esm/components/EndOfListFooter.js +15 -83
  138. package/dist/esm/components/ErrorBoundary.js +125 -582
  139. package/dist/esm/components/HeadersSection.js +52 -93
  140. package/dist/esm/components/HighlightText.js +17 -53
  141. package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
  142. package/dist/esm/components/Inspector/AboutModal.js +243 -0
  143. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
  144. package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
  145. package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
  146. package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
  147. package/dist/esm/components/Inspector/CrashDetail.js +236 -747
  148. package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
  149. package/dist/esm/components/Inspector/CrashTab.js +177 -711
  150. package/dist/esm/components/Inspector/DebuggingTab.js +164 -925
  151. package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
  152. package/dist/esm/components/Inspector/FabLauncher.js +68 -454
  153. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
  154. package/dist/esm/components/Inspector/InspectorContext.js +1 -12
  155. package/dist/esm/components/Inspector/InspectorHeader.js +282 -1163
  156. package/dist/esm/components/Inspector/LogDetail.js +235 -1023
  157. package/dist/esm/components/Inspector/MainScreen.js +78 -323
  158. package/dist/esm/components/Inspector/MediaGalleryTab.js +143 -650
  159. package/dist/esm/components/Inspector/MediaPreviewModal.js +138 -613
  160. package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
  161. package/dist/esm/components/Inspector/NetworkDetail.js +138 -455
  162. package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
  163. package/dist/esm/components/Inspector/NetworkTab.js +125 -517
  164. package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
  165. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
  166. package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
  167. package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
  168. package/dist/esm/components/Inspector/ReduxTab.js +144 -722
  169. package/dist/esm/components/Inspector/SettingsPanel.js +643 -3985
  170. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
  171. package/dist/esm/components/Inspector/StorageTab.js +172 -866
  172. package/dist/esm/components/Inspector/TabBar.js +45 -305
  173. package/dist/esm/components/Inspector/UpdateAvailableModal.js +80 -418
  174. package/dist/esm/components/JsonViewer.js +179 -354
  175. package/dist/esm/components/LogCard.js +93 -565
  176. package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
  177. package/dist/esm/components/MetaAccordion.js +136 -267
  178. package/dist/esm/components/MiniBarChart.js +3 -18
  179. package/dist/esm/components/MiniLineChart.js +3 -20
  180. package/dist/esm/components/NetworkIcons.d.ts +13 -0
  181. package/dist/esm/components/NetworkIcons.js +523 -838
  182. package/dist/esm/components/QRCodeView.js +8 -45
  183. package/dist/esm/components/SectionHeader.js +22 -39
  184. package/dist/esm/components/SegmentedTabs.js +8 -58
  185. package/dist/esm/components/SkeletonPlaceholder.js +30 -163
  186. package/dist/esm/components/Slider.js +24 -213
  187. package/dist/esm/components/SourcePageCard.js +65 -86
  188. package/dist/esm/components/Toast.js +10 -117
  189. package/dist/esm/components/TouchableScale.js +3 -19
  190. package/dist/esm/components/TreeNode.js +58 -95
  191. package/dist/esm/console.js +1 -2
  192. package/dist/esm/constants/index.js +1 -28
  193. package/dist/esm/constants/telemetryConfig.js +1 -3
  194. package/dist/esm/constants/version.d.ts +1 -1
  195. package/dist/esm/constants/version.js +1 -1
  196. package/dist/esm/crash.js +1 -2
  197. package/dist/esm/customHooks/analyticsLogger.js +1 -230
  198. package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
  199. package/dist/esm/customHooks/consoleLogger.js +6 -432
  200. package/dist/esm/customHooks/crashHandler.js +7 -630
  201. package/dist/esm/customHooks/logFilters.js +1 -20
  202. package/dist/esm/customHooks/networkLogger.js +2 -519
  203. package/dist/esm/customHooks/performanceTracker.js +63 -723
  204. package/dist/esm/customHooks/reduxLogger.js +2 -293
  205. package/dist/esm/customHooks/storageInspector.js +1 -418
  206. package/dist/esm/customHooks/useAccordion.js +1 -16
  207. package/dist/esm/decorators/index.js +1 -95
  208. package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
  209. package/dist/esm/helpers/index.d.ts +1 -0
  210. package/dist/esm/helpers/index.js +8 -861
  211. package/dist/esm/helpers/memoryManager.js +1 -91
  212. package/dist/esm/helpers/qrGenerator.js +1 -364
  213. package/dist/esm/helpers/remoteConfig.js +1 -160
  214. package/dist/esm/helpers/searchQueryParser.js +1 -59
  215. package/dist/esm/helpers/settingsStore.js +1 -134
  216. package/dist/esm/helpers/telemetry.js +1 -489
  217. package/dist/esm/helpers/toast.js +1 -15
  218. package/dist/esm/i18n/index.js +1 -78
  219. package/dist/esm/i18n/locales/en.json +1 -1140
  220. package/dist/esm/index.js +7 -1982
  221. package/dist/esm/metro.js +6 -459
  222. package/dist/esm/native/NativeInspector.d.ts +1 -0
  223. package/dist/esm/native/NativeInspector.js +1 -382
  224. package/dist/esm/native/NativeNetworkInspector.js +1 -2
  225. package/dist/esm/network.js +1 -1
  226. package/dist/esm/performance.js +1 -2
  227. package/dist/esm/redux.js +1 -1
  228. package/dist/esm/storage.js +1 -1
  229. package/dist/esm/styles/AppColors.js +1 -417
  230. package/dist/esm/styles/AppFonts.js +1 -13
  231. package/dist/esm/styles/common.js +1 -186
  232. package/dist/esm/styles/index.d.ts +6 -0
  233. package/dist/esm/styles/index.js +1 -1551
  234. package/dist/esm/types/enums.d.ts +0 -1
  235. package/dist/esm/types/enums.js +1 -149
  236. package/dist/esm/types/index.js +1 -2
  237. package/dist/esm/types/interfaces.d.ts +2 -2
  238. package/dist/esm/types/interfaces.js +1 -1
  239. package/ios/NetworkInspectorModule.mm +60 -12
  240. package/package.json +5 -3
  241. package/src/native/NativeInspector.ts +18 -0
  242. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +0 -7
  243. package/dist/commonjs/components/Inspector/FeedbackModal.js +0 -552
  244. package/dist/esm/components/Inspector/FeedbackModal.d.ts +0 -7
  245. package/dist/esm/components/Inspector/FeedbackModal.js +0 -515
  246. package/src/analytics.ts +0 -35
  247. package/src/bundle.ts +0 -25
  248. package/src/capture.ts +0 -109
  249. package/src/components/AnalyticsDetail.tsx +0 -870
  250. package/src/components/AnalyticsEventCard.tsx +0 -444
  251. package/src/components/AnalyticsGraph.tsx +0 -583
  252. package/src/components/AnimatedEntrance.tsx +0 -20
  253. package/src/components/AppHeaderLogo.tsx +0 -143
  254. package/src/components/BrandCircleIcon.tsx +0 -144
  255. package/src/components/BrandSquareIcon.tsx +0 -184
  256. package/src/components/CodeSnippet.tsx +0 -725
  257. package/src/components/ConsoleLogCard.tsx +0 -679
  258. package/src/components/CopyButton.tsx +0 -87
  259. package/src/components/DiffViewer.tsx +0 -82
  260. package/src/components/DomainHeader.tsx +0 -224
  261. package/src/components/EmptyState.tsx +0 -97
  262. package/src/components/EndOfListFooter.tsx +0 -100
  263. package/src/components/ErrorBoundary.tsx +0 -688
  264. package/src/components/HeadersSection.tsx +0 -172
  265. package/src/components/HighlightText.tsx +0 -100
  266. package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
  267. package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
  268. package/src/components/Inspector/BundleTab.tsx +0 -4768
  269. package/src/components/Inspector/ConsoleTab.tsx +0 -726
  270. package/src/components/Inspector/CrashDetail.tsx +0 -997
  271. package/src/components/Inspector/CrashFilterModal.tsx +0 -721
  272. package/src/components/Inspector/CrashTab.tsx +0 -933
  273. package/src/components/Inspector/DebuggingTab.tsx +0 -1103
  274. package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
  275. package/src/components/Inspector/FabLauncher.tsx +0 -590
  276. package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
  277. package/src/components/Inspector/FeedbackModal.tsx +0 -626
  278. package/src/components/Inspector/InspectorContext.tsx +0 -28
  279. package/src/components/Inspector/InspectorHeader.tsx +0 -1583
  280. package/src/components/Inspector/LogDetail.tsx +0 -1431
  281. package/src/components/Inspector/MainScreen.tsx +0 -460
  282. package/src/components/Inspector/MediaGalleryTab.tsx +0 -829
  283. package/src/components/Inspector/MediaPreviewModal.tsx +0 -783
  284. package/src/components/Inspector/NavigationTracker.tsx +0 -13
  285. package/src/components/Inspector/NetworkDetail.tsx +0 -778
  286. package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
  287. package/src/components/Inspector/NetworkTab.tsx +0 -820
  288. package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
  289. package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
  290. package/src/components/Inspector/PerformanceTab.tsx +0 -1967
  291. package/src/components/Inspector/ReduxDetail.tsx +0 -1651
  292. package/src/components/Inspector/ReduxTab.tsx +0 -987
  293. package/src/components/Inspector/SettingsPanel.tsx +0 -5136
  294. package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
  295. package/src/components/Inspector/StorageTab.tsx +0 -1159
  296. package/src/components/Inspector/TabBar.tsx +0 -431
  297. package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
  298. package/src/components/JsonViewer.tsx +0 -549
  299. package/src/components/LogCard.tsx +0 -694
  300. package/src/components/LogSyntaxHighlighter.tsx +0 -178
  301. package/src/components/MetaAccordion.tsx +0 -355
  302. package/src/components/MiniBarChart.tsx +0 -42
  303. package/src/components/MiniLineChart.tsx +0 -33
  304. package/src/components/NetworkIcons.tsx +0 -2655
  305. package/src/components/QRCodeView.tsx +0 -75
  306. package/src/components/SectionHeader.tsx +0 -101
  307. package/src/components/SegmentedTabs.tsx +0 -84
  308. package/src/components/SkeletonPlaceholder.tsx +0 -206
  309. package/src/components/Slider.tsx +0 -300
  310. package/src/components/SourcePageCard.tsx +0 -150
  311. package/src/components/Toast.tsx +0 -131
  312. package/src/components/TouchableScale.tsx +0 -61
  313. package/src/components/TreeNode.tsx +0 -171
  314. package/src/console.ts +0 -24
  315. package/src/constants/index.ts +0 -41
  316. package/src/constants/telemetryConfig.ts +0 -4
  317. package/src/constants/version.ts +0 -3
  318. package/src/crash.ts +0 -32
  319. package/src/customHooks/analyticsLogger.ts +0 -336
  320. package/src/customHooks/bundleAnalyzer.ts +0 -1256
  321. package/src/customHooks/consoleLogger.ts +0 -530
  322. package/src/customHooks/crashHandler.ts +0 -944
  323. package/src/customHooks/logFilters.ts +0 -32
  324. package/src/customHooks/networkLogger.ts +0 -624
  325. package/src/customHooks/performanceTracker.ts +0 -1014
  326. package/src/customHooks/reduxLogger.ts +0 -406
  327. package/src/customHooks/storageInspector.ts +0 -513
  328. package/src/customHooks/useAccordion.tsx +0 -27
  329. package/src/decorators/index.ts +0 -184
  330. package/src/helpers/gaAnalyticsRegistry.ts +0 -204
  331. package/src/helpers/index.ts +0 -1092
  332. package/src/helpers/memoryManager.ts +0 -138
  333. package/src/helpers/qrGenerator.ts +0 -430
  334. package/src/helpers/remoteConfig.ts +0 -212
  335. package/src/helpers/searchQueryParser.ts +0 -84
  336. package/src/helpers/settingsStore.ts +0 -171
  337. package/src/helpers/telemetry.ts +0 -568
  338. package/src/helpers/toast.ts +0 -17
  339. package/src/i18n/index.ts +0 -104
  340. package/src/i18n/locales/en.json +0 -1141
  341. package/src/index.tsx +0 -2650
  342. package/src/metro.ts +0 -598
  343. package/src/network.ts +0 -22
  344. package/src/performance.ts +0 -38
  345. package/src/redux.ts +0 -23
  346. package/src/storage.ts +0 -18
  347. package/src/styles/AppColors.ts +0 -455
  348. package/src/styles/AppFonts.ts +0 -26
  349. package/src/styles/common.ts +0 -209
  350. package/src/styles/index.ts +0 -1606
  351. package/src/types/enums.ts +0 -210
  352. package/src/types/index.ts +0 -34
  353. package/src/types/interfaces.ts +0 -535
@@ -1,2170 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.registerComponentProfile = exports.getHermesMemoryStats = exports.measureAsync = exports.trackHeavyTask = exports.trackNavigationTransition = exports.trackComponentRender = exports.useNavigationProfiler = exports.useComponentProfiler = exports.usePerformanceTracker = exports.registerGAPlugin = exports.getEventCategory = exports.getLastActionForReducer = exports.clearActionHistory = exports.getActionHistory = exports.subscribeReduxState = exports.getReduxState = exports.inspectorReduxMiddleware = exports.connectReduxStore = exports.ErrorBoundary = exports.CrashTab = exports.computeCrashFingerprint = exports.recordUserActionBreadcrumb = exports.recordReduxBreadcrumb = exports.recordNetworkBreadcrumb = exports.recordNavigationBreadcrumb = exports.addCrashBreadcrumb = exports.recordCustomCrash = exports.parseCrashStackTrace = exports.exportCrashReport = exports.simulateTestCrash = exports.clearCrashRecords = exports.getCrashRecords = exports.emitCrashEvent = exports.subscribeCrashEvents = exports.setupGlobalCrashHandler = exports.getCollectionEnabled = exports.getDefaultEventParameters = exports.getCurrentUserId = exports.getCurrentUserProperties = exports.clearAnalyticsEvents = exports.subscribeAnalyticsEvents = exports.logAnalyticsEvent = exports.setupAnalyticsLogger = exports.subscribeConsoleLogs = exports.clearConsoleLogs = exports.setupConsoleLogger = exports.addAxiosInterceptors = exports.subscribeNetworkLogs = exports.clearNetworkLogs = exports.setupNetworkLogger = void 0;
40
- exports.connectMMKV = exports.connectAsyncStorage = exports.BrandCircleIcon = exports.BrandSquareIcon = exports.prunePerformanceEvents = exports.getMaxPerformanceEventsLimit = exports.setMaxPerformanceEventsLimit = exports.pruneCrashRecords = exports.getMaxCrashLogsLimit = exports.pruneAnalyticsLogs = exports.getMaxAnalyticsLogsLimit = exports.setMaxAnalyticsLogsLimit = exports.pruneReduxHistory = exports.getMaxReduxHistoryLimit = exports.setMaxReduxHistoryLimit = exports.pruneConsoleLogs = exports.getMaxConsoleLogsLimit = exports.setMaxConsoleLogsLimit = exports.pruneNetworkLogs = exports.getMaxNetworkLogsLimit = exports.setMaxNetworkLogsLimit = exports.subscribeMemoryWarning = exports.pruneAllLogs = exports.setupMemoryWarningHandler = exports.isNativeModuleAvailable = exports.setNativeStorageItem = exports.getNativeStorageItem = exports.getNativeFpsMetrics = exports.stopNativeFpsMonitoring = exports.startNativeFpsMonitoring = exports.subscribeNativeDeviceShake = exports.subscribeNativeFloatingButtonPress = exports.setNativeFloatingButtonBadge = exports.hideNativeFloatingButton = exports.showNativeFloatingButton = exports.subscribeNativeCrashes = exports.enableNativeCrashProtection = exports.getNativeDeviceMetrics = exports.InspectCatch = exports.InspectTrackTime = exports.InspectLog = exports.generateFixSnippet = exports.getInitialPerformanceEvents = exports.getInitialRenderProfiles = exports.getPerformanceEvents = exports.subscribePerformanceEvents = exports.clearPerformanceEvents = exports.logPerformanceEvent = exports.getRenderProfiles = exports.subscribeRenderProfiles = void 0;
41
- exports.LIB_VERSION = exports.ScreenRecorder = exports.ScreenCapture = exports.isFirebaseRemoteConfigAvailable = exports.fetchRemoteConfigModuleStatus = exports.I18nextProvider = exports.setTranslations = exports.addTranslations = exports.setLanguage = exports.useTranslation = exports.i18n = exports.t = exports.updateAppColorsTheme = exports.getThemeColors = exports.setAppColors = exports.AppColors = exports.setAppFonts = exports.AppFonts = exports.BreadcrumbType = exports.CrashFilterType = exports.CrashDetailSubTab = exports.CrashExportFormat = exports.CrashType = exports.PerformanceSubTab = exports.BundleSubTab = exports.DiffResultType = exports.StackFrameType = exports.GAEventCategory = exports.AnalyticsEventSource = exports.ConsoleLogType = exports.LogFilter = exports.SettingsSubTab = exports.SettingsPage = exports.ModalAnimationType = exports.LocalFilter = exports.SortOrder = exports.StatusFilter = exports.Method = exports.ActiveTab = exports.subscribeToStorageChanges = exports.clearStorageDriver = exports.removeStorageEntry = exports.setStorageEntry = exports.fetchStorageEntries = exports.getRegisteredMMKVInstanceIds = exports.isMMKVConnected = exports.isAsyncStorageConnected = void 0;
42
- const react_1 = __importStar(require("react"));
43
- const react_native_1 = require("react-native");
44
- const native_1 = require("@react-navigation/native");
45
- const i18n_1 = require("./i18n");
46
- const ErrorBoundary_1 = __importDefault(require("./components/ErrorBoundary"));
47
- const MainScreen_1 = __importDefault(require("./components/Inspector/MainScreen"));
48
- const InspectorContext_1 = require("./components/Inspector/InspectorContext");
49
- const helpers_1 = require("./helpers");
50
- const settingsStore_1 = require("./helpers/settingsStore");
51
- const NativeInspector_1 = require("./native/NativeInspector");
52
- const networkLogger_1 = require("./customHooks/networkLogger");
53
- const consoleLogger_1 = require("./customHooks/consoleLogger");
54
- const logFilters_1 = require("./customHooks/logFilters");
55
- const crashHandler_1 = require("./customHooks/crashHandler");
56
- const telemetry_1 = require("./helpers/telemetry");
57
- const analyticsLogger_1 = require("./customHooks/analyticsLogger");
58
- const reduxLogger_1 = require("./customHooks/reduxLogger");
59
- const performanceTracker_1 = require("./customHooks/performanceTracker");
60
- const bundleAnalyzer_1 = require("./customHooks/bundleAnalyzer");
61
- const NativeInspector_2 = require("./native/NativeInspector");
62
- const remoteConfig_1 = require("./helpers/remoteConfig");
63
- const capture_1 = require("./capture");
64
- const constants_1 = require("./constants");
65
- const styles_1 = require("./styles");
66
- const NetworkInspector = ({ enabled = true, storage, navigationRef, appIcon, environment, initialVisible = false, visible: controlledVisible, remoteConfig, }) => {
67
- (0, settingsStore_1.setCustomStorage)(storage || null);
68
- const [isDark, setIsDark] = (0, react_1.useState)(false);
69
- const [reduxState, setReduxState] = (0, react_1.useState)(null);
70
- const [reduxLastActionMap, setReduxLastActionMap] = (0, react_1.useState)({});
71
- const [modalHeightPercent, setModalHeightPercent] = (0, react_1.useState)(90);
72
- const [modalAnimationType, setModalAnimationType] = (0, react_1.useState)('slide');
73
- const [logs, setLogs] = (0, react_1.useState)([]);
74
- const [visible, setVisible] = (0, react_1.useState)(controlledVisible ?? initialVisible ?? false);
75
- const [isMinimized, setIsMinimized] = (0, react_1.useState)(false);
76
- const minimizeInspector = (0, react_1.useCallback)(() => {
77
- setIsMinimized(true);
78
- setVisible(false);
79
- }, []);
80
- (0, react_1.useEffect)(() => {
81
- if (controlledVisible !== undefined) {
82
- setVisible(controlledVisible);
83
- }
84
- }, [controlledVisible]);
85
- const [isReady, setIsReady] = (0, react_1.useState)(false);
86
- const [selected, setSelected] = (0, react_1.useState)(null);
87
- const [selectedLogs, setSelectedLogs] = (0, react_1.useState)(new Set());
88
- const [search, setSearch] = (0, react_1.useState)('');
89
- const [searchScope, setSearchScope] = (0, react_1.useState)('all');
90
- const [isRegexSearch, setIsRegexSearch] = (0, react_1.useState)(false);
91
- const [isCaseSensitive, setIsCaseSensitive] = (0, react_1.useState)(false);
92
- const [quickFilter, setQuickFilter] = (0, react_1.useState)('all');
93
- const [detailSearch, setDetailSearch] = (0, react_1.useState)('');
94
- const [reduxSearch, setReduxSearch] = (0, react_1.useState)('');
95
- const [selectedReduxSlice, setSelectedReduxSlice] = (0, react_1.useState)(null);
96
- const [selectedReduxAction, setSelectedReduxAction] = (0, react_1.useState)(null);
97
- const [reduxActiveSubTab, setReduxActiveSubTab] = (0, react_1.useState)('state');
98
- const [apiDetailActiveTab, setApiDetailActiveTab] = (0, react_1.useState)('response');
99
- (0, react_1.useEffect)(() => {
100
- react_native_1.LogBox.ignoreAllLogs(enabled);
101
- return () => {
102
- react_native_1.LogBox.ignoreAllLogs(false);
103
- };
104
- }, [enabled]);
105
- (0, react_1.useEffect)(() => {
106
- if (selected) {
107
- setApiDetailActiveTab('response');
108
- setDetailSearch('');
109
- }
110
- }, [selected]);
111
- const [statusFilters, setStatusFilters] = (0, react_1.useState)(new Set());
112
- const [methodFilters, setMethodFilters] = (0, react_1.useState)(new Set());
113
- const [sectionFilters, setSectionFilters] = (0, react_1.useState)({});
114
- const [collapsedSections, setCollapsedSections] = (0, react_1.useState)(new Set());
115
- const [showHeaderInfo, setShowHeaderInfo] = (0, react_1.useState)(true);
116
- const [sortOrder, setSortOrder] = (0, react_1.useState)('newest');
117
- const [logSortOrder, setLogSortOrder] = (0, react_1.useState)('newest');
118
- const [reqExpanded, setReqExpanded] = (0, react_1.useState)(true);
119
- const [resExpanded, setResExpanded] = (0, react_1.useState)(true);
120
- const [showReqDiff, setShowReqDiff] = (0, react_1.useState)(false);
121
- const [showResDiff, setShowResDiff] = (0, react_1.useState)(false);
122
- const [activeTab, setActiveTab] = (0, react_1.useState)('apis');
123
- const [analyticsEvents, setAnalyticsEvents] = (0, react_1.useState)([]);
124
- const [consoleLogs, setConsoleLogs] = (0, react_1.useState)([]);
125
- const [selectedLog, setSelectedLog] = (0, react_1.useState)(null);
126
- const [isNetworkPaused, setIsNetworkPaused] = (0, react_1.useState)(false);
127
- const isNetworkPausedRef = (0, react_1.useRef)(isNetworkPaused);
128
- isNetworkPausedRef.current = isNetworkPaused;
129
- const latestNetworkLogsRef = (0, react_1.useRef)([]);
130
- const [isConsolePaused, setIsConsolePaused] = (0, react_1.useState)(false);
131
- const isConsolePausedRef = (0, react_1.useRef)(isConsolePaused);
132
- isConsolePausedRef.current = isConsolePaused;
133
- const latestConsoleLogsRef = (0, react_1.useRef)([]);
134
- const [isAnalyticsPaused, setIsAnalyticsPaused] = (0, react_1.useState)(false);
135
- const isAnalyticsPausedRef = (0, react_1.useRef)(isAnalyticsPaused);
136
- isAnalyticsPausedRef.current = isAnalyticsPaused;
137
- const latestAnalyticsEventsRef = (0, react_1.useRef)([]);
138
- const [lastReadLogsCount, setLastReadLogsCount] = (0, react_1.useState)(0);
139
- const [lastReadApisCount, setLastReadApisCount] = (0, react_1.useState)(0);
140
- const [lastReadCrashesCount, setLastReadCrashesCount] = (0, react_1.useState)(0);
141
- const [mediaCount, setMediaCount] = (0, react_1.useState)(0);
142
- const refreshMediaCount = (0, react_1.useCallback)(async () => {
143
- try {
144
- const items = await capture_1.ScreenCapture.getMediaList();
145
- const count = items ? items.length : 0;
146
- setMediaCount(count);
147
- return count;
148
- }
149
- catch {
150
- setMediaCount(0);
151
- return 0;
152
- }
153
- }, []);
154
- (0, react_1.useEffect)(() => {
155
- if (visible) {
156
- refreshMediaCount();
157
- }
158
- }, [visible, refreshMediaCount]);
159
- const [crashRecords, setCrashRecords] = (0, react_1.useState)(() => (0, crashHandler_1.getCrashRecords)());
160
- const [selectedCrash, setSelectedCrash] = (0, react_1.useState)(null);
161
- const [maxCrashLogs, setMaxCrashLogs] = (0, react_1.useState)(50);
162
- (0, react_1.useEffect)(() => {
163
- (0, crashHandler_1.setMaxCrashLogsLimit)(maxCrashLogs);
164
- }, [maxCrashLogs]);
165
- (0, react_1.useEffect)(() => {
166
- if (visible) {
167
- if (activeTab === 'apis') {
168
- setLastReadApisCount(logs.length);
169
- }
170
- if (activeTab === 'logs') {
171
- setLastReadLogsCount(consoleLogs.length);
172
- }
173
- if (activeTab === 'crash') {
174
- setLastReadCrashesCount(crashRecords.length);
175
- }
176
- }
177
- }, [visible]);
178
- (0, react_1.useEffect)(() => {
179
- if (activeTab === 'apis') {
180
- setLastReadApisCount(logs.length);
181
- }
182
- }, [activeTab, logs.length]);
183
- (0, react_1.useEffect)(() => {
184
- if (activeTab === 'logs') {
185
- setLastReadLogsCount(consoleLogs.length);
186
- }
187
- }, [activeTab, consoleLogs.length]);
188
- (0, react_1.useEffect)(() => {
189
- if (activeTab === 'crash') {
190
- setLastReadCrashesCount(crashRecords.length);
191
- }
192
- }, [activeTab, crashRecords.length]);
193
- const [maxConsoleLogs, setMaxConsoleLogs] = (0, react_1.useState)(100);
194
- const [showConsoleLevels, setShowConsoleLevels] = (0, react_1.useState)({
195
- info: true,
196
- warn: true,
197
- error: true,
198
- });
199
- const visibleConsoleLogs = (0, react_1.useMemo)(() => {
200
- const filtered = consoleLogs.filter(log => {
201
- const type = log.type;
202
- if (type === 'info' && !showConsoleLevels?.info)
203
- return false;
204
- if (type === 'warn' && !showConsoleLevels?.warn)
205
- return false;
206
- if (type === 'error' && !showConsoleLevels?.error)
207
- return false;
208
- const message = log.message || '';
209
- const allPrefixes = [
210
- ...((logFilters_1.IGNORED_LOG_PREFIXES && logFilters_1.IGNORED_LOG_PREFIXES.info) || []),
211
- ...((logFilters_1.IGNORED_LOG_PREFIXES && logFilters_1.IGNORED_LOG_PREFIXES.warn) || []),
212
- ...((logFilters_1.IGNORED_LOG_PREFIXES && logFilters_1.IGNORED_LOG_PREFIXES.error) || []),
213
- ].filter(p => typeof p === 'string' && p.trim().length > 0);
214
- const isIgnored = allPrefixes.some(prefix => message
215
- .toLowerCase()
216
- .trim()
217
- .startsWith(prefix.toLowerCase().trim()) ||
218
- message.toLowerCase().trim().includes(prefix.toLowerCase().trim()));
219
- return !isIgnored;
220
- });
221
- return filtered.slice(0, maxConsoleLogs);
222
- }, [consoleLogs, showConsoleLevels, maxConsoleLogs]);
223
- const [logSearch, setLogSearch] = (0, react_1.useState)('');
224
- const [logFilters, setLogFilters] = (0, react_1.useState)(new Set(['all']));
225
- const [settingsPage, setSettingsPage] = (0, react_1.useState)(null);
226
- const [isFeedbackOpen, setIsFeedbackOpen] = (0, react_1.useState)(false);
227
- const [settingsActiveSubTab, setSettingsActiveSubTab] = (0, react_1.useState)('module');
228
- const [tabVisibility, setTabVisibility] = (0, react_1.useState)({
229
- apis: true,
230
- logs: true,
231
- analytics: false,
232
- redux: false,
233
- bundle: false,
234
- performance: false,
235
- crash: false,
236
- device: false,
237
- storage: false,
238
- debugging: false,
239
- media: true,
240
- });
241
- const [maxNetworkLogs, setMaxNetworkLogs] = (0, react_1.useState)(250);
242
- const [maxAnalyticsEventsLimit, setMaxAnalyticsEventsLimit] = (0, react_1.useState)(150);
243
- const [isAutoRamLimitEnabled, setIsAutoRamLimitEnabled] = (0, react_1.useState)(true);
244
- const [deviceFreeRamMb, setDeviceFreeRamMb] = (0, react_1.useState)(1800);
245
- const [reduxAutoRefresh, setReduxAutoRefreshState] = (0, react_1.useState)(true);
246
- const [reduxExpandDepth, setReduxExpandDepth] = (0, react_1.useState)(1);
247
- const [defaultTab, setDefaultTab] = (0, react_1.useState)('apis');
248
- const [showDuplicateLogs, setShowDuplicateLogs] = (0, react_1.useState)(false);
249
- const [showUpdateToast, setShowUpdateToast] = (0, react_1.useState)(true);
250
- (0, react_1.useEffect)(() => {
251
- (0, networkLogger_1.setNetworkModuleEnabled)(!!tabVisibility.apis);
252
- (0, consoleLogger_1.setConsoleModuleEnabled)(!!tabVisibility.logs);
253
- (0, analyticsLogger_1.setAnalyticsModuleEnabled)(!!tabVisibility.analytics);
254
- (0, reduxLogger_1.setReduxModuleEnabled)(!!tabVisibility.redux);
255
- (0, performanceTracker_1.setPerformanceModuleEnabled)(!!tabVisibility.performance);
256
- (0, crashHandler_1.setCrashModuleEnabled)(!!tabVisibility.crash);
257
- (0, bundleAnalyzer_1.setBundleModuleEnabled)(!!tabVisibility.bundle);
258
- }, [tabVisibility]);
259
- (0, react_1.useEffect)(() => {
260
- (0, NativeInspector_1.getNativeSystemMetrics)()
261
- .then(metrics => {
262
- if (metrics) {
263
- const freeRam = metrics.totalPhysicalRamMb - metrics.residentRamMb;
264
- const freeMb = Math.max(200, Math.round(freeRam > 0 ? freeRam : 1500));
265
- setDeviceFreeRamMb(freeMb);
266
- if (isAutoRamLimitEnabled) {
267
- const profile = (0, settingsStore_1.calculateRamBasedLimits)(freeMb);
268
- setMaxNetworkLogs(profile.maxNetworkLogs);
269
- setMaxConsoleLogs(profile.maxConsoleLogs);
270
- setMaxAnalyticsEventsLimit(profile.maxAnalyticsEvents);
271
- setMaxCrashLogs(profile.maxCrashRecords);
272
- }
273
- }
274
- })
275
- .catch(() => { });
276
- }, [isAutoRamLimitEnabled]);
277
- const resetToDefaults = async () => {
278
- await (0, settingsStore_1.clearPersistedSettings)();
279
- setIsDark(false);
280
- (0, styles_1.toggleGlobalTheme)(false);
281
- setModalHeightPercent(90);
282
- setModalAnimationType('slide');
283
- setTabVisibility({
284
- apis: true,
285
- logs: true,
286
- analytics: false,
287
- redux: false,
288
- bundle: false,
289
- performance: false,
290
- crash: false,
291
- device: false,
292
- storage: false,
293
- debugging: false,
294
- media: true,
295
- });
296
- setDefaultTab('apis');
297
- setIsAutoRamLimitEnabled(true);
298
- const profile = (0, settingsStore_1.calculateRamBasedLimits)(deviceFreeRamMb);
299
- setMaxCrashLogs(profile.maxCrashRecords);
300
- setMaxNetworkLogs(profile.maxNetworkLogs);
301
- setMaxConsoleLogs(profile.maxConsoleLogs);
302
- setMaxAnalyticsEventsLimit(profile.maxAnalyticsEvents);
303
- setShowConsoleLevels({
304
- info: true,
305
- warn: true,
306
- error: true,
307
- });
308
- setReduxAutoRefreshState(true);
309
- setReduxExpandDepth(1);
310
- setShowDuplicateLogs(false);
311
- setShowUpdateToast(true);
312
- react_native_1.Alert.alert('Settings Reset', 'All settings have been reset to default values.');
313
- };
314
- const settingsHydratedRef = (0, react_1.useRef)(false);
315
- (0, react_1.useEffect)(() => {
316
- let cancelled = false;
317
- (0, settingsStore_1.loadSettings)().then(saved => {
318
- if (cancelled)
319
- return;
320
- if (saved.isDark != null) {
321
- setIsDark(saved.isDark);
322
- (0, styles_1.toggleGlobalTheme)(saved.isDark);
323
- }
324
- if (saved.modalHeightPercent != null)
325
- setModalHeightPercent(saved.modalHeightPercent);
326
- if (saved.modalAnimationType)
327
- setModalAnimationType(saved.modalAnimationType);
328
- if (saved.tabVisibility)
329
- setTabVisibility(prev => ({
330
- ...prev,
331
- ...saved.tabVisibility,
332
- apis: true,
333
- }));
334
- if (saved.defaultTab)
335
- setDefaultTab(saved.defaultTab);
336
- if (saved.isAutoRamLimitEnabled != null)
337
- setIsAutoRamLimitEnabled(saved.isAutoRamLimitEnabled);
338
- if (saved.maxNetworkLogs != null)
339
- setMaxNetworkLogs(saved.maxNetworkLogs);
340
- if (saved.maxConsoleLogs != null)
341
- setMaxConsoleLogs(saved.maxConsoleLogs);
342
- if (saved.maxAnalyticsEventsLimit != null)
343
- setMaxAnalyticsEventsLimit(saved.maxAnalyticsEventsLimit);
344
- if (saved.maxCrashLogs != null)
345
- setMaxCrashLogs(saved.maxCrashLogs);
346
- if (saved.showConsoleLevels)
347
- setShowConsoleLevels(saved.showConsoleLevels);
348
- if (saved.reduxAutoRefresh != null)
349
- setReduxAutoRefreshState(saved.reduxAutoRefresh);
350
- if (saved.reduxExpandDepth != null)
351
- setReduxExpandDepth(saved.reduxExpandDepth);
352
- if (saved.showDuplicateLogs != null)
353
- setShowDuplicateLogs(saved.showDuplicateLogs);
354
- if (saved.showUpdateToast != null)
355
- setShowUpdateToast(saved.showUpdateToast);
356
- if (saved.defaultTab) {
357
- const dt = saved.defaultTab;
358
- const vis = {
359
- ...{
360
- apis: true,
361
- logs: true,
362
- analytics: false,
363
- redux: false,
364
- bundle: false,
365
- performance: false,
366
- crash: false,
367
- device: false,
368
- storage: false,
369
- },
370
- ...(saved.tabVisibility || {}),
371
- apis: true,
372
- };
373
- setActiveTab(vis[dt] ? dt : 'apis');
374
- }
375
- settingsHydratedRef.current = true;
376
- });
377
- return () => {
378
- cancelled = true;
379
- };
380
- }, []);
381
- (0, react_1.useEffect)(() => {
382
- let isMounted = true;
383
- if (remoteConfig === false)
384
- return;
385
- (0, remoteConfig_1.fetchRemoteConfigModuleStatus)(typeof remoteConfig === 'object' ? remoteConfig : undefined)
386
- .then(remoteModules => {
387
- if (isMounted && remoteModules) {
388
- setTabVisibility(prev => ({
389
- ...prev,
390
- ...remoteModules,
391
- apis: remoteModules.apis ?? true,
392
- }));
393
- }
394
- })
395
- .catch(() => { });
396
- return () => {
397
- isMounted = false;
398
- };
399
- }, [remoteConfig]);
400
- (0, react_1.useEffect)(() => {
401
- if (!settingsHydratedRef.current)
402
- return;
403
- (0, settingsStore_1.saveSettings)({
404
- isDark,
405
- modalHeightPercent,
406
- modalAnimationType,
407
- tabVisibility,
408
- defaultTab,
409
- maxNetworkLogs,
410
- maxConsoleLogs,
411
- maxAnalyticsEventsLimit,
412
- maxCrashLogs,
413
- isAutoRamLimitEnabled,
414
- showConsoleLevels,
415
- reduxAutoRefresh,
416
- reduxExpandDepth,
417
- showDuplicateLogs,
418
- showUpdateToast,
419
- });
420
- }, [
421
- isDark,
422
- modalHeightPercent,
423
- modalAnimationType,
424
- tabVisibility,
425
- defaultTab,
426
- maxNetworkLogs,
427
- maxConsoleLogs,
428
- maxAnalyticsEventsLimit,
429
- maxCrashLogs,
430
- isAutoRamLimitEnabled,
431
- showConsoleLevels,
432
- reduxAutoRefresh,
433
- reduxExpandDepth,
434
- showDuplicateLogs,
435
- ]);
436
- const [latestNpmVersion, setLatestNpmVersion] = (0, react_1.useState)(null);
437
- const updateAvailable = (0, react_1.useMemo)(() => {
438
- if (!latestNpmVersion)
439
- return false;
440
- const parse = (v) => v
441
- .replace(/^v/, '')
442
- .split('.')
443
- .map(n => parseInt(n, 10) || 0);
444
- const cur = parse(constants_1.LIB_VERSION);
445
- const latest = parse(latestNpmVersion);
446
- for (let i = 0; i < 3; i++) {
447
- if ((latest[i] || 0) > (cur[i] || 0))
448
- return true;
449
- if ((latest[i] || 0) < (cur[i] || 0))
450
- return false;
451
- }
452
- return false;
453
- }, [latestNpmVersion]);
454
- (0, react_1.useEffect)(() => {
455
- if (typeof __DEV__ === 'undefined' || !__DEV__) {
456
- return;
457
- }
458
- let cancelled = false;
459
- fetch('https://registry.npmjs.org/react-native-inapp-inspector/latest')
460
- .then(res => (res.ok ? res.json() : null))
461
- .then(data => {
462
- if (!cancelled && data && typeof data.version === 'string') {
463
- setLatestNpmVersion(data.version);
464
- }
465
- })
466
- .catch(() => {
467
- });
468
- return () => {
469
- cancelled = true;
470
- };
471
- }, []);
472
- (0, react_1.useEffect)(() => {
473
- (0, reduxLogger_1.setReduxAutoRefresh)(reduxAutoRefresh);
474
- }, [reduxAutoRefresh]);
475
- (0, react_1.useEffect)(() => {
476
- if (activeTab === 'redux' && !(0, reduxLogger_1.isReduxConnected)()) {
477
- setActiveTab('apis');
478
- }
479
- if (activeTab === 'analytics' && !(0, analyticsLogger_1.isAnalyticsConnected)()) {
480
- setActiveTab('apis');
481
- }
482
- }, [activeTab]);
483
- const toggleTabVisibility = (key) => {
484
- if (key === 'apis')
485
- return;
486
- if (key === 'redux' && !(0, reduxLogger_1.isReduxConnected)())
487
- return;
488
- if (key === 'analytics' && !(0, analyticsLogger_1.isAnalyticsConnected)())
489
- return;
490
- setTabVisibility(prev => {
491
- const nextVal = !prev[key];
492
- const newVisibility = { ...prev, [key]: nextVal };
493
- if (!nextVal && activeTab === key) {
494
- (0, InspectorContext_1.animateNextLayout)();
495
- setActiveTab('apis');
496
- }
497
- if (!nextVal && defaultTab === key) {
498
- setDefaultTab('apis');
499
- }
500
- return newVisibility;
501
- });
502
- };
503
- const loadNativePage = (0, react_1.useCallback)(async (tabKey, query = '') => {
504
- if (tabKey === 'apis' || tabKey === 'logs' || tabKey === 'analytics' || tabKey === 'crash') {
505
- const pageData = await (0, NativeInspector_1.fetchNativeCachedPage)(tabKey, 0, 100, query);
506
- if (pageData && pageData.items && pageData.items.length > 0) {
507
- if (tabKey === 'apis')
508
- setLogs(pageData.items);
509
- else if (tabKey === 'logs')
510
- setConsoleLogs(pageData.items);
511
- else if (tabKey === 'analytics')
512
- setAnalyticsEvents(pageData.items);
513
- else if (tabKey === 'crash')
514
- setCrashRecords(pageData.items);
515
- }
516
- }
517
- }, []);
518
- const switchActiveTab = (0, react_1.useCallback)((key) => {
519
- if (key === 'redux' && !(0, reduxLogger_1.isReduxConnected)())
520
- return;
521
- if (key === 'analytics' && !(0, analyticsLogger_1.isAnalyticsConnected)())
522
- return;
523
- setSelected(null);
524
- setSelectedEvent(null);
525
- setSelectedLog(null);
526
- setSelectedReduxSlice(null);
527
- setSelectedReduxAction(null);
528
- setSelectedCrash(null);
529
- if (typeof react_1.default.startTransition === 'function') {
530
- react_1.default.startTransition(() => {
531
- setActiveTab(key);
532
- loadNativePage(key);
533
- });
534
- }
535
- else {
536
- setActiveTab(key);
537
- loadNativePage(key);
538
- }
539
- (0, telemetry_1.trackInspectorTabView)(key);
540
- }, [loadNativePage]);
541
- const [selectedEvent, setSelectedEvent] = (0, react_1.useState)(null);
542
- const [analyticsSearch, setAnalyticsSearch] = (0, react_1.useState)('');
543
- const [analyticsFilters, setAnalyticsFilters] = (0, react_1.useState)({
544
- categories: new Set(['all']),
545
- screens: new Set(),
546
- sources: new Set(['all']),
547
- userTypes: new Set(['all']),
548
- timeWindow: 'all',
549
- payloadComplexity: 'all',
550
- hasRevenue: false,
551
- hasItems: false,
552
- hasUserProps: false,
553
- hasParams: false,
554
- onlyDuplicates: false,
555
- onlyConversions: false,
556
- sortBy: 'time_desc',
557
- });
558
- const isAnalyticsFilterApplied = (0, react_1.useMemo)(() => {
559
- if (analyticsFilters.categories.size > 0 && !analyticsFilters.categories.has('all'))
560
- return true;
561
- if (analyticsFilters.screens.size > 0)
562
- return true;
563
- if (analyticsFilters.sources.size > 0 && !analyticsFilters.sources.has('all'))
564
- return true;
565
- if (analyticsFilters.userTypes.size > 0 && !analyticsFilters.userTypes.has('all'))
566
- return true;
567
- if (analyticsFilters.timeWindow !== 'all')
568
- return true;
569
- if (analyticsFilters.payloadComplexity !== 'all')
570
- return true;
571
- if (analyticsFilters.hasRevenue)
572
- return true;
573
- if (analyticsFilters.hasItems)
574
- return true;
575
- if (analyticsFilters.hasUserProps)
576
- return true;
577
- if (analyticsFilters.hasParams)
578
- return true;
579
- if (analyticsFilters.onlyDuplicates)
580
- return true;
581
- if (analyticsFilters.onlyConversions)
582
- return true;
583
- if (analyticsFilters.sortBy !== 'time_desc')
584
- return true;
585
- return false;
586
- }, [analyticsFilters]);
587
- const resetAnalyticsFilters = (0, react_1.useCallback)(() => {
588
- setAnalyticsFilters({
589
- categories: new Set(['all']),
590
- screens: new Set(),
591
- sources: new Set(['all']),
592
- userTypes: new Set(['all']),
593
- timeWindow: 'all',
594
- payloadComplexity: 'all',
595
- hasRevenue: false,
596
- hasItems: false,
597
- hasUserProps: false,
598
- hasParams: false,
599
- onlyDuplicates: false,
600
- onlyConversions: false,
601
- sortBy: 'time_desc',
602
- });
603
- }, []);
604
- const [isAnalyticsLayoutReady, setIsAnalyticsLayoutReady] = (0, react_1.useState)(false);
605
- const [analyticsHeaderExpanded, setAnalyticsHeaderExpanded] = (0, react_1.useState)(false);
606
- const [newEventIds, setNewEventIds] = (0, react_1.useState)(new Set());
607
- const prevEventIdsRef = (0, react_1.useRef)(new Set());
608
- const [navState, setNavState] = (0, react_1.useState)(null);
609
- const navigationContext = react_1.default.useContext(native_1.NavigationContext);
610
- const hasNavigationContext = navigationContext !== undefined;
611
- const currentRouteRef = (0, react_1.useRef)({
612
- path: '',
613
- params: null,
614
- });
615
- (0, react_1.useEffect)(() => {
616
- (0, networkLogger_1.setRouteInfoProvider)(() => currentRouteRef.current);
617
- return () => {
618
- (0, networkLogger_1.setRouteInfoProvider)(null);
619
- };
620
- }, []);
621
- (0, react_1.useEffect)(() => {
622
- if (navState) {
623
- const info = (0, helpers_1.getNavigationInfo)(navState);
624
- if (info?.path) {
625
- currentRouteRef.current = info;
626
- }
627
- }
628
- }, [navState]);
629
- (0, react_1.useEffect)(() => {
630
- if (!navigationRef)
631
- return;
632
- const updateState = () => {
633
- try {
634
- if (typeof navigationRef.isReady === 'function' && navigationRef.isReady()) {
635
- const currentRoute = typeof navigationRef.getCurrentRoute === 'function'
636
- ? navigationRef.getCurrentRoute()
637
- : null;
638
- if (currentRoute?.name) {
639
- currentRouteRef.current = {
640
- path: currentRoute.name,
641
- params: currentRoute.params || null,
642
- };
643
- }
644
- const state = navigationRef.getRootState();
645
- if (state) {
646
- setNavState(state);
647
- const routeInfo = (0, helpers_1.getNavigationInfo)(state);
648
- if (routeInfo?.path) {
649
- currentRouteRef.current = routeInfo;
650
- }
651
- }
652
- }
653
- }
654
- catch (err) {
655
- }
656
- };
657
- updateState();
658
- const unsubscribe = typeof navigationRef.addListener === 'function'
659
- ? navigationRef.addListener('state', () => {
660
- updateState();
661
- })
662
- : null;
663
- return () => {
664
- if (unsubscribe) {
665
- unsubscribe();
666
- }
667
- };
668
- }, [navigationRef]);
669
- const logRouteMapRef = (0, react_1.useRef)(new Map());
670
- const prevLogIdsRef = (0, react_1.useRef)(new Set());
671
- const [newLogIds, setNewLogIds] = (0, react_1.useState)(new Set());
672
- const pulseAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(1)).current;
673
- const activePulseAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(0.4)).current;
674
- const unreadPulseAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(1)).current;
675
- const fabShineAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(0)).current;
676
- const clearAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(0)).current;
677
- const fabPan = (0, react_1.useRef)(new react_native_1.Animated.ValueXY({ x: 0, y: 0 })).current;
678
- const fabPanRef = (0, react_1.useRef)({ x: 0, y: 0 });
679
- (0, react_1.useEffect)(() => {
680
- const idX = fabPan.x.addListener(v => (fabPanRef.current.x = v.value));
681
- const idY = fabPan.y.addListener(v => (fabPanRef.current.y = v.value));
682
- return () => {
683
- fabPan.x.removeListener(idX);
684
- fabPan.y.removeListener(idY);
685
- };
686
- }, [fabPan]);
687
- const fabDraggedRef = (0, react_1.useRef)(false);
688
- const fabPanResponder = (0, react_1.useRef)(react_native_1.PanResponder.create({
689
- onStartShouldSetPanResponder: () => false,
690
- onMoveShouldSetPanResponder: (_e, g) => Math.abs(g.dx) > 4 || Math.abs(g.dy) > 4,
691
- onPanResponderGrant: () => {
692
- fabDraggedRef.current = true;
693
- fabPan.setOffset({
694
- x: fabPanRef.current.x,
695
- y: fabPanRef.current.y,
696
- });
697
- fabPan.setValue({ x: 0, y: 0 });
698
- },
699
- onPanResponderMove: react_native_1.Animated.event([null, { dx: fabPan.x, dy: fabPan.y }], {
700
- useNativeDriver: false,
701
- }),
702
- onPanResponderRelease: () => {
703
- fabPan.flattenOffset();
704
- setTimeout(() => {
705
- fabDraggedRef.current = false;
706
- }, 50);
707
- },
708
- onPanResponderTerminate: () => {
709
- fabPan.flattenOffset();
710
- fabDraggedRef.current = false;
711
- },
712
- })).current;
713
- const runClearAllWithAnimation = (0, react_1.useCallback)(() => {
714
- react_native_1.Animated.sequence([
715
- react_native_1.Animated.timing(clearAnim, {
716
- toValue: 1,
717
- duration: 320,
718
- useNativeDriver: false,
719
- }),
720
- react_native_1.Animated.timing(clearAnim, {
721
- toValue: 0,
722
- duration: 0,
723
- useNativeDriver: false,
724
- }),
725
- ]).start();
726
- handleClearAll();
727
- }, [clearAnim]);
728
- (0, react_1.useEffect)(() => {
729
- if (react_native_1.Platform.OS === 'android') {
730
- react_native_1.UIManager.setLayoutAnimationEnabledExperimental?.(true);
731
- }
732
- }, []);
733
- (0, react_1.useEffect)(() => {
734
- if (visible)
735
- return;
736
- const loop = react_native_1.Animated.loop(react_native_1.Animated.sequence([
737
- react_native_1.Animated.timing(pulseAnim, {
738
- toValue: 1.2,
739
- duration: 800,
740
- useNativeDriver: false,
741
- }),
742
- react_native_1.Animated.timing(pulseAnim, {
743
- toValue: 1,
744
- duration: 800,
745
- useNativeDriver: false,
746
- }),
747
- ]));
748
- loop.start();
749
- return () => loop.stop();
750
- }, [pulseAnim, visible]);
751
- (0, react_1.useEffect)(() => {
752
- if (visible)
753
- return;
754
- const loop = react_native_1.Animated.loop(react_native_1.Animated.sequence([
755
- react_native_1.Animated.timing(fabShineAnim, {
756
- toValue: 1,
757
- duration: 3200,
758
- easing: react_native_1.Easing.inOut(react_native_1.Easing.ease),
759
- useNativeDriver: false,
760
- }),
761
- react_native_1.Animated.delay(3500),
762
- react_native_1.Animated.timing(fabShineAnim, {
763
- toValue: 0,
764
- duration: 0,
765
- useNativeDriver: false,
766
- }),
767
- ]));
768
- loop.start();
769
- return () => loop.stop();
770
- }, [fabShineAnim, visible]);
771
- (0, react_1.useEffect)(() => {
772
- const loop = react_native_1.Animated.loop(react_native_1.Animated.sequence([
773
- react_native_1.Animated.timing(activePulseAnim, {
774
- toValue: 1,
775
- duration: 1200,
776
- useNativeDriver: false,
777
- }),
778
- react_native_1.Animated.timing(activePulseAnim, {
779
- toValue: 0.4,
780
- duration: 1200,
781
- useNativeDriver: false,
782
- }),
783
- ]));
784
- loop.start();
785
- return () => loop.stop();
786
- }, [activePulseAnim]);
787
- (0, react_1.useEffect)(() => {
788
- const loop = react_native_1.Animated.loop(react_native_1.Animated.sequence([
789
- react_native_1.Animated.timing(unreadPulseAnim, {
790
- toValue: 1.3,
791
- duration: 800,
792
- useNativeDriver: false,
793
- }),
794
- react_native_1.Animated.timing(unreadPulseAnim, {
795
- toValue: 0.8,
796
- duration: 800,
797
- useNativeDriver: false,
798
- }),
799
- ]));
800
- loop.start();
801
- return () => loop.stop();
802
- }, [unreadPulseAnim]);
803
- const isNativeModule = (0, react_1.useMemo)(() => (0, NativeInspector_2.isNativeModuleAvailable)(), []);
804
- const useNativeFab = (react_native_1.Platform.OS === 'ios' || react_native_1.Platform.OS === 'android') && isNativeModule;
805
- (0, react_1.useEffect)(() => {
806
- if (useNativeFab) {
807
- (0, NativeInspector_2.hideNativeFloatingButton)().catch(() => { });
808
- }
809
- }, [useNativeFab, visible]);
810
- (0, react_1.useEffect)(() => {
811
- if (!useNativeFab)
812
- return;
813
- const unsubscribe = (0, NativeInspector_2.subscribeNativeFloatingButtonPress)(() => {
814
- (0, NativeInspector_2.hideNativeFloatingButton)().catch(() => { });
815
- setVisible(true);
816
- });
817
- return () => {
818
- unsubscribe();
819
- };
820
- }, [useNativeFab]);
821
- (0, react_1.useEffect)(() => {
822
- if (!useNativeFab)
823
- return;
824
- const unsubscribe = (0, NativeInspector_2.subscribeNativeDeviceShake)(() => {
825
- setVisible(prev => {
826
- const next = !prev;
827
- if (next) {
828
- (0, NativeInspector_2.hideNativeFloatingButton)().catch(() => { });
829
- }
830
- return next;
831
- });
832
- });
833
- return () => {
834
- unsubscribe();
835
- };
836
- }, [useNativeFab]);
837
- const isVisibleRefObj = (0, react_1.useRef)(visible);
838
- (0, react_1.useEffect)(() => {
839
- isVisibleRefObj.current = visible;
840
- if (visible) {
841
- (0, telemetry_1.trackInspectorScreenView)('InspectorModal');
842
- const target = defaultTab === 'apis' || tabVisibility?.[defaultTab]
843
- ? defaultTab
844
- : 'apis';
845
- setActiveTab(target);
846
- (0, telemetry_1.trackInspectorTabView)(target);
847
- if (latestNetworkLogsRef.current.length > 0) {
848
- const deduped = (0, helpers_1.deduplicateLogs)(latestNetworkLogsRef.current);
849
- const incoming = new Set(deduped.map(l => l.id));
850
- prevLogIdsRef.current = incoming;
851
- setLogs(deduped);
852
- }
853
- if (latestConsoleLogsRef.current.length > 0) {
854
- setConsoleLogs(latestConsoleLogsRef.current);
855
- }
856
- if (latestAnalyticsEventsRef.current.length > 0) {
857
- setAnalyticsEvents(latestAnalyticsEventsRef.current);
858
- }
859
- const freshState = (0, reduxLogger_1.getReduxState)();
860
- if (freshState) {
861
- setReduxState(typeof freshState === 'object' ? { ...freshState } : freshState);
862
- setReduxLastActionMap({ ...(0, reduxLogger_1.getLastActionForReducer)() });
863
- }
864
- const freshCrashes = (0, crashHandler_1.getCrashRecords)();
865
- if (freshCrashes.length > 0) {
866
- setCrashRecords(freshCrashes);
867
- }
868
- const frame = requestAnimationFrame(() => {
869
- setIsReady(true);
870
- });
871
- return () => {
872
- cancelAnimationFrame(frame);
873
- };
874
- }
875
- else {
876
- setIsReady(false);
877
- setSelectedLogs(new Set());
878
- }
879
- }, [visible]);
880
- (0, react_1.useEffect)(() => {
881
- (0, networkLogger_1.setupNetworkLogger)();
882
- (0, networkLogger_1.clearNetworkLogs)();
883
- (0, consoleLogger_1.setupConsoleLogger)();
884
- (0, analyticsLogger_1.autoSetupAnalyticsLogger)();
885
- (0, crashHandler_1.setupGlobalCrashHandler)();
886
- const cleanupMemoryWarning = (0, helpers_1.setupMemoryWarningHandler)();
887
- const isVisibleRef = isVisibleRefObj;
888
- const unsubscribeCrash = (0, crashHandler_1.subscribeCrashEvents)(crashInfo => {
889
- if (crashInfo.message === '__CLEARED__') {
890
- setCrashRecords([]);
891
- setSelectedCrash(null);
892
- return;
893
- }
894
- const updated = (0, crashHandler_1.getCrashRecords)();
895
- if (updated.length > 0) {
896
- (0, NativeInspector_1.pushNativeLogRecord)('crash', JSON.stringify(updated[0]));
897
- }
898
- if (isVisibleRef.current) {
899
- setCrashRecords(updated);
900
- }
901
- });
902
- const pendingCrashes = (0, crashHandler_1.getCrashRecords)();
903
- if (pendingCrashes.length > 0) {
904
- pendingCrashes.forEach(c => (0, NativeInspector_1.pushNativeLogRecord)('crash', JSON.stringify(c)));
905
- setCrashRecords(pendingCrashes);
906
- }
907
- let timeoutId;
908
- let isFirstNetworkCall = true;
909
- const unsubscribe = (0, networkLogger_1.subscribeNetworkLogs)((raw) => {
910
- latestNetworkLogsRef.current = raw;
911
- if (raw.length > 0) {
912
- (0, NativeInspector_1.pushNativeLogRecord)('apis', JSON.stringify(raw[0]));
913
- }
914
- if (isNetworkPausedRef.current)
915
- return;
916
- if (!isVisibleRef.current)
917
- return;
918
- clearTimeout(timeoutId);
919
- const updateNetworkState = () => {
920
- const deduped = (0, helpers_1.deduplicateLogs)(raw);
921
- const incoming = new Set(deduped.map(l => l.id));
922
- const freshIds = new Set();
923
- incoming.forEach(id => {
924
- if (!prevLogIdsRef.current.has(id))
925
- freshIds.add(id);
926
- });
927
- prevLogIdsRef.current = incoming;
928
- if (freshIds.size > 0) {
929
- freshIds.forEach(id => {
930
- if (!logRouteMapRef.current.has(id)) {
931
- const matchedLog = deduped.find(l => l.id === id);
932
- const resolvedRoute = matchedLog?.routeInfo || currentRouteRef.current;
933
- logRouteMapRef.current.set(id, resolvedRoute);
934
- }
935
- });
936
- setNewLogIds(freshIds);
937
- setTimeout(() => setNewLogIds(new Set()), 1200);
938
- }
939
- setLogs(deduped);
940
- };
941
- if (isFirstNetworkCall) {
942
- isFirstNetworkCall = false;
943
- const deduped = (0, helpers_1.deduplicateLogs)(raw);
944
- const incoming = new Set(deduped.map(l => l.id));
945
- prevLogIdsRef.current = incoming;
946
- deduped.forEach(l => {
947
- if (!logRouteMapRef.current.has(l.id)) {
948
- const resolvedRoute = l?.routeInfo || currentRouteRef.current;
949
- logRouteMapRef.current.set(l.id, resolvedRoute);
950
- }
951
- });
952
- setLogs(deduped);
953
- }
954
- else {
955
- timeoutId = setTimeout(updateNetworkState, 250);
956
- }
957
- });
958
- let analyticsTimeoutId;
959
- let isFirstAnalyticsCall = true;
960
- const unsubscribeAnalytics = (0, analyticsLogger_1.subscribeAnalyticsEvents)((raw) => {
961
- latestAnalyticsEventsRef.current = raw;
962
- if (raw.length > 0) {
963
- (0, NativeInspector_1.pushNativeLogRecord)('analytics', JSON.stringify(raw[0]));
964
- }
965
- if (isAnalyticsPausedRef.current)
966
- return;
967
- if (!isVisibleRef.current)
968
- return;
969
- clearTimeout(analyticsTimeoutId);
970
- const updateAnalyticsState = () => {
971
- const incoming = new Set(raw.map(e => e.id));
972
- const freshIds = new Set();
973
- incoming.forEach(id => {
974
- if (!prevEventIdsRef.current.has(id))
975
- freshIds.add(id);
976
- });
977
- prevEventIdsRef.current = incoming;
978
- if (freshIds.size > 0) {
979
- freshIds.forEach(id => {
980
- if (!logRouteMapRef.current.has(id + 1000000)) {
981
- logRouteMapRef.current.set(id + 1000000, currentRouteRef.current);
982
- }
983
- });
984
- setNewEventIds(freshIds);
985
- setTimeout(() => setNewEventIds(new Set()), 1200);
986
- }
987
- setAnalyticsEvents(raw);
988
- };
989
- if (isFirstAnalyticsCall) {
990
- isFirstAnalyticsCall = false;
991
- const incoming = new Set(raw.map(e => e.id));
992
- prevEventIdsRef.current = incoming;
993
- setAnalyticsEvents(raw);
994
- }
995
- else {
996
- analyticsTimeoutId = setTimeout(updateAnalyticsState, 200);
997
- }
998
- });
999
- let consoleTimeoutId;
1000
- let isFirstConsoleCall = true;
1001
- const unsubscribeConsole = (0, consoleLogger_1.subscribeConsoleLogs)((raw) => {
1002
- latestConsoleLogsRef.current = raw;
1003
- if (raw.length > 0) {
1004
- (0, NativeInspector_1.pushNativeLogRecord)('logs', JSON.stringify(raw[0]));
1005
- }
1006
- if (isConsolePausedRef.current)
1007
- return;
1008
- if (!isVisibleRef.current)
1009
- return;
1010
- clearTimeout(consoleTimeoutId);
1011
- if (isFirstConsoleCall) {
1012
- isFirstConsoleCall = false;
1013
- setConsoleLogs(raw);
1014
- }
1015
- else {
1016
- consoleTimeoutId = setTimeout(() => {
1017
- setConsoleLogs(raw);
1018
- }, 200);
1019
- }
1020
- });
1021
- const initialReduxState = (0, reduxLogger_1.getReduxState)();
1022
- if (initialReduxState) {
1023
- setReduxState(typeof initialReduxState === 'object' ? { ...initialReduxState } : initialReduxState);
1024
- setReduxLastActionMap({ ...(0, reduxLogger_1.getLastActionForReducer)() });
1025
- }
1026
- const unsubscribeRedux = (0, reduxLogger_1.subscribeReduxState)(() => {
1027
- if (!isVisibleRef.current)
1028
- return;
1029
- const freshState = (0, reduxLogger_1.getReduxState)();
1030
- setReduxState(freshState && typeof freshState === 'object' ? { ...freshState } : freshState);
1031
- setReduxLastActionMap({ ...(0, reduxLogger_1.getLastActionForReducer)() });
1032
- });
1033
- return () => {
1034
- unsubscribe();
1035
- clearTimeout(timeoutId);
1036
- unsubscribeAnalytics();
1037
- clearTimeout(analyticsTimeoutId);
1038
- unsubscribeConsole();
1039
- clearTimeout(consoleTimeoutId);
1040
- unsubscribeRedux();
1041
- unsubscribeCrash();
1042
- cleanupMemoryWarning();
1043
- };
1044
- }, []);
1045
- (0, react_1.useEffect)(() => {
1046
- (0, networkLogger_1.setMaxNetworkLogsLimit)(maxNetworkLogs);
1047
- }, [maxNetworkLogs]);
1048
- (0, react_1.useEffect)(() => {
1049
- (0, crashHandler_1.setMaxCrashLogsLimit)(maxCrashLogs);
1050
- }, [maxCrashLogs]);
1051
- (0, react_1.useEffect)(() => {
1052
- if (!isNetworkPaused && latestNetworkLogsRef.current.length > 0) {
1053
- const deduped = (0, helpers_1.deduplicateLogs)(latestNetworkLogsRef.current);
1054
- setLogs(deduped);
1055
- }
1056
- }, [isNetworkPaused]);
1057
- (0, react_1.useEffect)(() => {
1058
- if (!isAnalyticsPaused && latestAnalyticsEventsRef.current.length > 0) {
1059
- setAnalyticsEvents(latestAnalyticsEventsRef.current);
1060
- }
1061
- }, [isAnalyticsPaused]);
1062
- (0, react_1.useEffect)(() => {
1063
- if (!isConsolePaused && latestConsoleLogsRef.current.length > 0) {
1064
- setConsoleLogs(latestConsoleLogsRef.current);
1065
- }
1066
- }, [isConsolePaused]);
1067
- (0, react_1.useEffect)(() => {
1068
- setReqExpanded(true);
1069
- setResExpanded(true);
1070
- setShowReqDiff(false);
1071
- setShowResDiff(false);
1072
- setDetailSearch('');
1073
- }, [selected]);
1074
- const filteredLogs = (0, react_1.useMemo)(() => {
1075
- let result = logs.filter(log => {
1076
- if (quickFilter && quickFilter !== 'all') {
1077
- if (quickFilter === 'errors') {
1078
- const isErr = log.status === 0 ||
1079
- log.status == null ||
1080
- (typeof log.status === 'number' && log.status >= 400);
1081
- if (!isErr)
1082
- return false;
1083
- }
1084
- else if (quickFilter === 'success') {
1085
- const isSuccess = typeof log.status === 'number' &&
1086
- log.status >= 200 &&
1087
- log.status < 400;
1088
- if (!isSuccess)
1089
- return false;
1090
- }
1091
- else if (quickFilter === 'slow') {
1092
- if ((log.duration || 0) < 500)
1093
- return false;
1094
- }
1095
- else if (quickFilter === 'graphql') {
1096
- const isGql = (log.url || '').toLowerCase().includes('graphql') ||
1097
- (log.client || '').toLowerCase().includes('graphql') ||
1098
- (log.client || '').toLowerCase().includes('apollo');
1099
- if (!isGql)
1100
- return false;
1101
- }
1102
- else {
1103
- if (log.method?.toUpperCase() !== quickFilter.toUpperCase()) {
1104
- return false;
1105
- }
1106
- }
1107
- }
1108
- if (statusFilters.size > 0) {
1109
- const matched = [...statusFilters].some(f => {
1110
- if (f === 'ALL')
1111
- return true;
1112
- if (f === 'Failed')
1113
- return log.status === 0 || log.status == null;
1114
- const codeNum = parseInt(f, 10);
1115
- if (!isNaN(codeNum)) {
1116
- return Number(log.status) === codeNum;
1117
- }
1118
- return String(log.status)[0] === f[0];
1119
- });
1120
- if (!matched)
1121
- return false;
1122
- }
1123
- if (methodFilters.size > 0) {
1124
- const matchedMethod = [...methodFilters].some(m => {
1125
- if (m === 'ALL')
1126
- return true;
1127
- return log.method?.toUpperCase() === m;
1128
- });
1129
- if (!matchedMethod)
1130
- return false;
1131
- }
1132
- if (search && search.trim().length > 0) {
1133
- const routePath = logRouteMapRef.current.get(log.id)?.path || '';
1134
- const isMatch = (0, helpers_1.matchNetworkLogQuery)(log, search, routePath, {
1135
- scope: searchScope,
1136
- isRegex: isRegexSearch,
1137
- isCaseSensitive: isCaseSensitive,
1138
- });
1139
- if (!isMatch)
1140
- return false;
1141
- }
1142
- return true;
1143
- });
1144
- if (sortOrder === 'oldest') {
1145
- result = [...result].reverse();
1146
- }
1147
- if (!showDuplicateLogs) {
1148
- const collapsed = [];
1149
- for (const log of result) {
1150
- const last = collapsed[collapsed.length - 1];
1151
- if (last &&
1152
- last.method === log.method &&
1153
- last.url === log.url &&
1154
- last.status === log.status) {
1155
- collapsed[collapsed.length - 1] = {
1156
- ...last,
1157
- duplicateCount: (last.duplicateCount || 1) + 1,
1158
- };
1159
- }
1160
- else {
1161
- collapsed.push({ ...log, duplicateCount: 1 });
1162
- }
1163
- }
1164
- result = collapsed;
1165
- }
1166
- return result.slice(0, maxNetworkLogs);
1167
- }, [
1168
- logs,
1169
- search,
1170
- searchScope,
1171
- isRegexSearch,
1172
- isCaseSensitive,
1173
- quickFilter,
1174
- statusFilters,
1175
- methodFilters,
1176
- sortOrder,
1177
- maxNetworkLogs,
1178
- showDuplicateLogs,
1179
- ]);
1180
- const availableMethods = (0, react_1.useMemo)(() => {
1181
- const methods = new Set();
1182
- logs.forEach(log => {
1183
- if (log.method)
1184
- methods.add(log.method.toUpperCase());
1185
- });
1186
- return ['ALL', ...Array.from(methods)];
1187
- }, [logs]);
1188
- const toggleSectionFilter = (0, react_1.useCallback)((pageName, filter) => {
1189
- setSectionFilters(prev => {
1190
- const current = prev[pageName] || new Set(['success', 'failed', 'loading']);
1191
- const next = new Set(current);
1192
- if (next.has(filter)) {
1193
- next.delete(filter);
1194
- }
1195
- else {
1196
- next.add(filter);
1197
- }
1198
- return { ...prev, [pageName]: next };
1199
- });
1200
- }, []);
1201
- const toggleSectionCollapse = (0, react_1.useCallback)((pageName) => {
1202
- setCollapsedSections(prev => {
1203
- const next = new Set(prev);
1204
- if (next.has(pageName))
1205
- next.delete(pageName);
1206
- else
1207
- next.add(pageName);
1208
- return next;
1209
- });
1210
- }, []);
1211
- const groupedData = (0, react_1.useMemo)(() => {
1212
- const result = [];
1213
- const groupMap = new Map();
1214
- for (let i = 0; i < filteredLogs.length; i++) {
1215
- const log = filteredLogs[i];
1216
- const routeInfo = logRouteMapRef.current.get(log.id) || log?.routeInfo;
1217
- const pageName = (0, helpers_1.getLogPageName)(log, routeInfo);
1218
- let group = groupMap.get(pageName);
1219
- if (!group) {
1220
- group = { pageName, color: (0, helpers_1.getDomainColor)(pageName), logs: [] };
1221
- groupMap.set(pageName, group);
1222
- }
1223
- group.logs.push(log);
1224
- }
1225
- let idx = 0;
1226
- groupMap.forEach(g => {
1227
- let success = 0;
1228
- let failed = 0;
1229
- let loading = 0;
1230
- g.logs.forEach(l => {
1231
- if (l.status == null)
1232
- loading++;
1233
- else if (l.status === 0 || l.status >= 400)
1234
- failed++;
1235
- else
1236
- success++;
1237
- });
1238
- const activeFilters = sectionFilters[g.pageName] || new Set(['success', 'failed', 'loading']);
1239
- const isCollapsed = collapsedSections.has(g.pageName);
1240
- const timestamp = g.logs[0]?.startTime || 0;
1241
- result.push({
1242
- type: 'header',
1243
- id: `hdr-${g.pageName}`,
1244
- pageName: g.pageName,
1245
- color: g.color,
1246
- stats: { success, failed, loading },
1247
- timestamp,
1248
- activeFilters,
1249
- isCollapsed,
1250
- isFirst: idx === 0,
1251
- });
1252
- idx++;
1253
- if (!isCollapsed) {
1254
- const displayLogs = g.logs.filter(l => {
1255
- if (l.status == null)
1256
- return activeFilters.has('loading');
1257
- if (l.status === 0 || l.status >= 400)
1258
- return activeFilters.has('failed');
1259
- return activeFilters.has('success');
1260
- });
1261
- displayLogs.forEach((log, index) => {
1262
- result.push({
1263
- type: 'log',
1264
- id: `log-${log.id}`,
1265
- log,
1266
- isLast: index === displayLogs.length - 1,
1267
- color: g.color,
1268
- });
1269
- });
1270
- }
1271
- });
1272
- return result;
1273
- }, [filteredLogs, logs, sectionFilters, collapsedSections]);
1274
- const { minStart, totalRange } = (0, react_1.useMemo)(() => {
1275
- if (filteredLogs.length === 0)
1276
- return { minStart: 0, totalRange: 0 };
1277
- const min = Math.min(...filteredLogs.map(l => l.startTime));
1278
- const max = Math.max(...filteredLogs.map(l => l.startTime + (l.duration || 10)));
1279
- return { minStart: min, totalRange: max - min };
1280
- }, [filteredLogs]);
1281
- const prevSameRequest = (0, react_1.useMemo)(() => {
1282
- if (!selected)
1283
- return null;
1284
- const index = logs.findIndex(l => l.id === selected.id);
1285
- if (index === -1)
1286
- return null;
1287
- for (let i = index + 1; i < logs.length; i++) {
1288
- const l = logs[i];
1289
- if (l.url === selected.url && l.method === selected.method) {
1290
- return l;
1291
- }
1292
- }
1293
- return null;
1294
- }, [selected, logs]);
1295
- const prevRequestData = prevSameRequest ? prevSameRequest.request : null;
1296
- const prevResponseData = prevSameRequest ? prevSameRequest.response : null;
1297
- const filteredAnalyticsEvents = (0, react_1.useMemo)(() => {
1298
- let events = analyticsEvents;
1299
- if (analyticsSearch && analyticsSearch.trim().length > 0) {
1300
- const queryTokens = analyticsSearch.trim().toLowerCase().split(/\s+/).filter(Boolean);
1301
- events = events.filter(e => {
1302
- const searchTarget = [
1303
- e.name || '',
1304
- JSON.stringify(e.params || ''),
1305
- JSON.stringify(e.userProperties || ''),
1306
- e.screenName || '',
1307
- e.pageTitle || '',
1308
- e.userId || '',
1309
- e.source || '',
1310
- ].join(' ').toLowerCase();
1311
- return queryTokens.every(token => searchTarget.includes(token));
1312
- });
1313
- }
1314
- if (analyticsFilters.categories.size > 0 && !analyticsFilters.categories.has('all')) {
1315
- events = events.filter(e => {
1316
- const cat = (0, helpers_1.getEventCategory)(e.name);
1317
- return analyticsFilters.categories.has(cat);
1318
- });
1319
- }
1320
- if (analyticsFilters.timeWindow !== 'all') {
1321
- const now = Date.now();
1322
- const cutoff = analyticsFilters.timeWindow === '1m'
1323
- ? now - 60 * 1000
1324
- : analyticsFilters.timeWindow === '5m'
1325
- ? now - 5 * 60 * 1000
1326
- : analyticsFilters.timeWindow === '15m'
1327
- ? now - 15 * 60 * 1000
1328
- : now - 60 * 60 * 1000;
1329
- events = events.filter(e => e.timestamp >= cutoff);
1330
- }
1331
- if (analyticsFilters.sources.size > 0 && !analyticsFilters.sources.has('all')) {
1332
- events = events.filter(e => analyticsFilters.sources.has(e.source || 'manual'));
1333
- }
1334
- if (analyticsFilters.userTypes.size > 0 && !analyticsFilters.userTypes.has('all')) {
1335
- events = events.filter(e => {
1336
- const isIdentified = Boolean(e.userId && e.userId.trim() !== '');
1337
- if (analyticsFilters.userTypes.has('identified') && isIdentified)
1338
- return true;
1339
- if (analyticsFilters.userTypes.has('anonymous') && !isIdentified)
1340
- return true;
1341
- return false;
1342
- });
1343
- }
1344
- if (analyticsFilters.payloadComplexity !== 'all') {
1345
- if (analyticsFilters.payloadComplexity === 'none') {
1346
- events = events.filter(e => !e.params || Object.keys(e.params).length === 0);
1347
- }
1348
- else if (analyticsFilters.payloadComplexity === 'simple') {
1349
- events = events.filter(e => e.params && Object.keys(e.params).length <= 3);
1350
- }
1351
- else if (analyticsFilters.payloadComplexity === 'heavy') {
1352
- events = events.filter(e => e.params && Object.keys(e.params).length > 3);
1353
- }
1354
- }
1355
- if (analyticsFilters.onlyConversions) {
1356
- const CONVERSION_PATTERNS = [
1357
- 'purchase',
1358
- 'item_purchase',
1359
- 'ecommerce_purchase',
1360
- 'sign_up',
1361
- 'login',
1362
- 'lead',
1363
- 'generate_lead',
1364
- 'tutorial_complete',
1365
- 'add_payment_info',
1366
- 'begin_checkout',
1367
- 'spend_virtual_currency',
1368
- ];
1369
- events = events.filter(e => CONVERSION_PATTERNS.some(pat => e.name.toLowerCase().includes(pat)));
1370
- }
1371
- if (analyticsFilters.screens.size > 0) {
1372
- events = events.filter(e => {
1373
- const scr = e.screenName ||
1374
- e.params?.firebase_screen ||
1375
- e.params?.screen_name ||
1376
- e.params?.firebase_screen_class ||
1377
- e.screenClass ||
1378
- '';
1379
- return analyticsFilters.screens.has(scr);
1380
- });
1381
- }
1382
- if (analyticsFilters.hasRevenue) {
1383
- events = events.filter(e => (e.params?.value != null && !isNaN(Number(e.params.value))) ||
1384
- (e.params?.price != null && !isNaN(Number(e.params.price))));
1385
- }
1386
- if (analyticsFilters.hasItems) {
1387
- events = events.filter(e => Array.isArray(e.params?.items) && e.params.items.length > 0);
1388
- }
1389
- if (analyticsFilters.hasUserProps) {
1390
- events = events.filter(e => e.userProperties && Object.keys(e.userProperties).length > 0);
1391
- }
1392
- if (analyticsFilters.hasParams) {
1393
- events = events.filter(e => e.params && Object.keys(e.params).length > 0);
1394
- }
1395
- const deduplicatedEvents = [];
1396
- for (const e of events) {
1397
- if (deduplicatedEvents.length === 0) {
1398
- deduplicatedEvents.push({ ...e, count: 1 });
1399
- continue;
1400
- }
1401
- const last = deduplicatedEvents[deduplicatedEvents.length - 1];
1402
- if (last.name === e.name &&
1403
- JSON.stringify(last.params) === JSON.stringify(e.params) &&
1404
- JSON.stringify(last.userProperties) === JSON.stringify(e.userProperties)) {
1405
- last.count = (last.count || 1) + 1;
1406
- last.timestamp = e.timestamp;
1407
- last.id = e.id;
1408
- }
1409
- else {
1410
- deduplicatedEvents.push({ ...e, count: 1 });
1411
- }
1412
- }
1413
- let result = deduplicatedEvents;
1414
- if (analyticsFilters.onlyDuplicates) {
1415
- result = result.filter(e => (e.count || 1) > 1);
1416
- }
1417
- if (analyticsFilters.sortBy === 'time_asc') {
1418
- result = [...result].sort((a, b) => a.timestamp - b.timestamp);
1419
- }
1420
- else if (analyticsFilters.sortBy === 'revenue_desc') {
1421
- result = [...result].sort((a, b) => {
1422
- const valA = Number(a.params?.value ?? a.params?.price ?? 0);
1423
- const valB = Number(b.params?.value ?? b.params?.price ?? 0);
1424
- return valB - valA;
1425
- });
1426
- }
1427
- else if (analyticsFilters.sortBy === 'count_desc') {
1428
- result = [...result].sort((a, b) => (b.count || 1) - (a.count || 1));
1429
- }
1430
- return result.slice(0, maxAnalyticsEventsLimit);
1431
- }, [analyticsEvents, analyticsSearch, analyticsFilters, maxAnalyticsEventsLimit]);
1432
- const filteredConsoleLogs = (0, react_1.useMemo)(() => {
1433
- let result = visibleConsoleLogs;
1434
- if (logFilters.size > 0 && !logFilters.has('all')) {
1435
- result = result.filter(log => {
1436
- if (logFilters.has(log.type))
1437
- return true;
1438
- if (logFilters.has('user-log') && log.sourceMethod === 'log')
1439
- return true;
1440
- if (logFilters.has('analytics') &&
1441
- log.message?.toLowerCase().includes('[analytics error]'))
1442
- return true;
1443
- return false;
1444
- });
1445
- }
1446
- if (logSearch && logSearch.trim().length > 0) {
1447
- const queryTokens = logSearch.trim().toLowerCase().split(/\s+/).filter(Boolean);
1448
- result = result.filter(log => {
1449
- const searchTarget = [
1450
- log.message || '',
1451
- log.caller || '',
1452
- log.type || '',
1453
- log.sourceMethod || '',
1454
- log.stack || '',
1455
- ].join(' ').toLowerCase();
1456
- return queryTokens.every(token => {
1457
- if (token === 'error' || token === 'err') {
1458
- return log.type === 'error' || searchTarget.includes(token);
1459
- }
1460
- if (token === 'warn' || token === 'warning') {
1461
- return log.type === 'warn' || searchTarget.includes(token);
1462
- }
1463
- if (token === 'info') {
1464
- return log.type === 'info' || searchTarget.includes(token);
1465
- }
1466
- return searchTarget.includes(token);
1467
- });
1468
- });
1469
- }
1470
- result = [...result].sort((a, b) => logSortOrder === 'newest'
1471
- ? b.timestamp - a.timestamp
1472
- : a.timestamp - b.timestamp);
1473
- if (!showDuplicateLogs) {
1474
- const collapsed = [];
1475
- for (const log of result) {
1476
- const last = collapsed[collapsed.length - 1];
1477
- if (last &&
1478
- last.type === log.type &&
1479
- last.sourceMethod === log.sourceMethod &&
1480
- last.message === log.message) {
1481
- collapsed[collapsed.length - 1] = {
1482
- ...last,
1483
- duplicateCount: (last.duplicateCount || 1) + 1,
1484
- };
1485
- }
1486
- else {
1487
- collapsed.push({ ...log, duplicateCount: 1 });
1488
- }
1489
- }
1490
- result = collapsed;
1491
- }
1492
- return result;
1493
- }, [
1494
- visibleConsoleLogs,
1495
- logFilters,
1496
- logSearch,
1497
- logSortOrder,
1498
- showDuplicateLogs,
1499
- ]);
1500
- const logCounts = (0, react_1.useMemo)(() => {
1501
- let searchedLogs = visibleConsoleLogs;
1502
- if (logSearch && logSearch.trim().length > 0) {
1503
- const queryTokens = logSearch.trim().toLowerCase().split(/\s+/).filter(Boolean);
1504
- searchedLogs = visibleConsoleLogs.filter(log => {
1505
- const searchTarget = [
1506
- log.message || '',
1507
- log.caller || '',
1508
- log.type || '',
1509
- log.sourceMethod || '',
1510
- log.stack || '',
1511
- ].join(' ').toLowerCase();
1512
- return queryTokens.every(token => {
1513
- if (token === 'error' || token === 'err') {
1514
- return log.type === 'error' || searchTarget.includes(token);
1515
- }
1516
- if (token === 'warn' || token === 'warning') {
1517
- return log.type === 'warn' || searchTarget.includes(token);
1518
- }
1519
- if (token === 'info') {
1520
- return log.type === 'info' || searchTarget.includes(token);
1521
- }
1522
- return searchTarget.includes(token);
1523
- });
1524
- });
1525
- }
1526
- const total = visibleConsoleLogs.length;
1527
- return {
1528
- all: `${searchedLogs.length}/${total}`,
1529
- info: `${searchedLogs.filter(l => l.type === 'info').length}/${total}`,
1530
- warn: `${searchedLogs.filter(l => l.type === 'warn').length}/${total}`,
1531
- error: `${searchedLogs.filter(l => l.type === 'error').length}/${total}`,
1532
- 'user-log': `${searchedLogs.filter(l => l.sourceMethod === 'log').length}/${total}`,
1533
- analytics: `${searchedLogs.filter(l => l.message.toLowerCase().includes('[analytics error]')).length}/${total}`,
1534
- };
1535
- }, [visibleConsoleLogs, logSearch]);
1536
- const closeModal = (0, react_1.useCallback)(() => {
1537
- setVisible(false);
1538
- setIsMinimized(false);
1539
- setTimeout(() => {
1540
- setSelected(null);
1541
- setSelectedEvent(null);
1542
- setSelectedLog(null);
1543
- setSelectedReduxSlice(null);
1544
- setSelectedReduxAction(null);
1545
- setSelectedCrash(null);
1546
- }, 300);
1547
- }, []);
1548
- function handleClearAll() {
1549
- (0, networkLogger_1.clearNetworkLogs)();
1550
- setLogs([]);
1551
- setSelectedLogs(new Set());
1552
- setSectionFilters({});
1553
- setCollapsedSections(new Set());
1554
- setStatusFilters(new Set());
1555
- setMethodFilters(new Set());
1556
- setSearch('');
1557
- prevLogIdsRef.current = new Set();
1558
- logRouteMapRef.current = new Map();
1559
- (0, analyticsLogger_1.clearAnalyticsEvents)();
1560
- setAnalyticsEvents([]);
1561
- setAnalyticsSearch('');
1562
- prevEventIdsRef.current = new Set();
1563
- (0, consoleLogger_1.clearConsoleLogs)();
1564
- setConsoleLogs([]);
1565
- setLogFilters(new Set(['all']));
1566
- setLogSearch('');
1567
- }
1568
- function handleDelete() {
1569
- if (activeTab === 'logs') {
1570
- react_native_1.Alert.alert('Clear Logs', 'Are you sure you want to clear all console logs?', [
1571
- { text: 'Cancel', style: 'cancel' },
1572
- {
1573
- text: 'Clear All',
1574
- onPress: () => {
1575
- (0, consoleLogger_1.clearConsoleLogs)();
1576
- setConsoleLogs([]);
1577
- },
1578
- style: 'destructive',
1579
- },
1580
- ]);
1581
- return;
1582
- }
1583
- if (activeTab === 'analytics') {
1584
- react_native_1.Alert.alert('Clear Analytics', 'Are you sure you want to clear all analytics events?', [
1585
- { text: 'Cancel', style: 'cancel' },
1586
- {
1587
- text: 'Clear All',
1588
- onPress: () => {
1589
- (0, analyticsLogger_1.clearAnalyticsEvents)();
1590
- setAnalyticsEvents([]);
1591
- setSelectedEvent(null);
1592
- prevEventIdsRef.current = new Set();
1593
- },
1594
- style: 'destructive',
1595
- },
1596
- ]);
1597
- return;
1598
- }
1599
- if (activeTab === 'redux') {
1600
- react_native_1.Alert.alert('Clear Redux Timeline', 'Are you sure you want to clear the dispatched action history?', [
1601
- { text: 'Cancel', style: 'cancel' },
1602
- {
1603
- text: 'Clear All',
1604
- onPress: () => {
1605
- (0, reduxLogger_1.clearActionHistory)();
1606
- setReduxLastActionMap({});
1607
- },
1608
- style: 'destructive',
1609
- },
1610
- ]);
1611
- return;
1612
- }
1613
- if (activeTab === 'crash') {
1614
- react_native_1.Alert.alert('Clear Crash History', 'Are you sure you want to clear all intercepted crash records?', [
1615
- { text: 'Cancel', style: 'cancel' },
1616
- {
1617
- text: 'Clear All',
1618
- onPress: () => {
1619
- (0, crashHandler_1.clearCrashRecords)();
1620
- setCrashRecords([]);
1621
- setSelectedCrash(null);
1622
- },
1623
- style: 'destructive',
1624
- },
1625
- ]);
1626
- return;
1627
- }
1628
- if (selectedLogs.size > 0) {
1629
- setLogs(prev => prev.filter(l => !selectedLogs.has(l.id)));
1630
- setSelectedLogs(new Set());
1631
- }
1632
- else {
1633
- react_native_1.Alert.alert('Clear Logs', 'Are you sure you want to clear all network logs?', [
1634
- { text: 'Cancel', style: 'cancel' },
1635
- {
1636
- text: 'Clear All',
1637
- onPress: clearNetworkOnly,
1638
- style: 'destructive',
1639
- },
1640
- ]);
1641
- }
1642
- }
1643
- function clearNetworkOnly() {
1644
- (0, networkLogger_1.clearNetworkLogs)();
1645
- setLogs([]);
1646
- setSelectedLogs(new Set());
1647
- setSectionFilters({});
1648
- setCollapsedSections(new Set());
1649
- setStatusFilters(new Set());
1650
- setMethodFilters(new Set());
1651
- prevLogIdsRef.current = new Set();
1652
- logRouteMapRef.current = new Map();
1653
- }
1654
- const detailTitle = (0, react_1.useMemo)(() => {
1655
- if (!selected)
1656
- return '';
1657
- try {
1658
- const path = new URL(selected.url).pathname;
1659
- const parts = path.split('/').filter(Boolean);
1660
- return parts.length > 0 ? `/${parts.slice(-2).join('/')}` : '/';
1661
- }
1662
- catch {
1663
- const parts = selected.url.split('/').filter(Boolean);
1664
- return parts.length > 0 ? `/${parts.slice(-2).join('/')}` : selected.url;
1665
- }
1666
- }, [selected]);
1667
- const detailDisplayUrl = (0, react_1.useMemo)(() => {
1668
- return selected ? (0, helpers_1.formatDisplayUrl)(selected.url) : '';
1669
- }, [selected]);
1670
- const toggleSelect = (0, react_1.useCallback)((id) => {
1671
- setSelectedLogs(prev => {
1672
- const next = new Set(prev);
1673
- if (next.has(id))
1674
- next.delete(id);
1675
- else
1676
- next.add(id);
1677
- return next;
1678
- });
1679
- }, []);
1680
- const contextValue = (0, react_1.useMemo)(() => ({
1681
- visible,
1682
- setVisible,
1683
- closeModal,
1684
- isMinimized,
1685
- setIsMinimized,
1686
- minimizeInspector,
1687
- isReady,
1688
- enabled,
1689
- isEnabled: enabled,
1690
- appIcon,
1691
- environment,
1692
- modalHeightPercent,
1693
- setModalHeightPercent,
1694
- modalAnimationType,
1695
- setModalAnimationType,
1696
- hasNavigationContext,
1697
- setNavState,
1698
- activeTab,
1699
- switchActiveTab,
1700
- tabVisibility,
1701
- toggleTabVisibility,
1702
- lastReadApisCount,
1703
- lastReadLogsCount,
1704
- mediaCount,
1705
- refreshMediaCount,
1706
- selected,
1707
- setSelected,
1708
- selectedEvent,
1709
- setSelectedEvent,
1710
- selectedLog,
1711
- setSelectedLog,
1712
- showHeaderInfo,
1713
- setShowHeaderInfo,
1714
- settingsPage,
1715
- setSettingsPage,
1716
- isFeedbackOpen,
1717
- setIsFeedbackOpen,
1718
- updateAvailable,
1719
- latestNpmVersion,
1720
- clearAnim,
1721
- activePulseAnim,
1722
- unreadPulseAnim,
1723
- runClearAllWithAnimation,
1724
- useNativeFab,
1725
- fabPan,
1726
- fabPanResponder,
1727
- fabDraggedRef,
1728
- pulseAnim,
1729
- fabShineAnim,
1730
- logs,
1731
- filteredLogs,
1732
- groupedData,
1733
- search,
1734
- setSearch,
1735
- searchScope,
1736
- setSearchScope,
1737
- isRegexSearch,
1738
- setIsRegexSearch,
1739
- isCaseSensitive,
1740
- setIsCaseSensitive,
1741
- quickFilter,
1742
- setQuickFilter,
1743
- statusFilters,
1744
- setStatusFilters,
1745
- methodFilters,
1746
- setMethodFilters,
1747
- availableMethods,
1748
- sortOrder,
1749
- setSortOrder,
1750
- selectedLogs,
1751
- toggleSelect,
1752
- minStart,
1753
- totalRange,
1754
- newLogIds,
1755
- toggleSectionFilter,
1756
- toggleSectionCollapse,
1757
- handleDelete,
1758
- isNetworkPaused,
1759
- setIsNetworkPaused,
1760
- detailTitle,
1761
- detailDisplayUrl,
1762
- apiDetailActiveTab,
1763
- setApiDetailActiveTab,
1764
- detailSearch,
1765
- setDetailSearch,
1766
- reqExpanded,
1767
- setReqExpanded,
1768
- resExpanded,
1769
- setResExpanded,
1770
- showReqDiff,
1771
- setShowReqDiff,
1772
- showResDiff,
1773
- setShowResDiff,
1774
- prevRequestData,
1775
- prevResponseData,
1776
- logRouteMapRef,
1777
- consoleLogs,
1778
- visibleConsoleLogs,
1779
- filteredConsoleLogs,
1780
- logSearch,
1781
- setLogSearch,
1782
- logFilters,
1783
- setLogFilters,
1784
- logCounts,
1785
- logSortOrder,
1786
- setLogSortOrder,
1787
- isConsolePaused,
1788
- setIsConsolePaused,
1789
- analyticsEvents,
1790
- filteredAnalyticsEvents,
1791
- analyticsSearch,
1792
- setAnalyticsSearch,
1793
- analyticsFilters,
1794
- setAnalyticsFilters,
1795
- isAnalyticsFilterApplied,
1796
- resetAnalyticsFilters,
1797
- newEventIds,
1798
- isAnalyticsLayoutReady,
1799
- setIsAnalyticsLayoutReady,
1800
- analyticsHeaderExpanded,
1801
- setAnalyticsHeaderExpanded,
1802
- isAnalyticsPaused,
1803
- setIsAnalyticsPaused,
1804
- reduxState,
1805
- setReduxState,
1806
- reduxLastActionMap,
1807
- reduxSearch,
1808
- setReduxSearch,
1809
- selectedReduxSlice,
1810
- setSelectedReduxSlice,
1811
- selectedReduxAction,
1812
- setSelectedReduxAction,
1813
- reduxActiveSubTab,
1814
- setReduxActiveSubTab,
1815
- crashRecords,
1816
- setCrashRecords,
1817
- selectedCrash,
1818
- setSelectedCrash,
1819
- lastReadCrashesCount,
1820
- maxCrashLogs,
1821
- setMaxCrashLogs,
1822
- clearAllCrashes: () => {
1823
- (0, crashHandler_1.clearCrashRecords)();
1824
- setCrashRecords([]);
1825
- setSelectedCrash(null);
1826
- },
1827
- settingsActiveSubTab,
1828
- setSettingsActiveSubTab,
1829
- defaultTab,
1830
- setDefaultTab,
1831
- isDark,
1832
- setIsDark,
1833
- showDuplicateLogs,
1834
- setShowDuplicateLogs,
1835
- showUpdateToast,
1836
- setShowUpdateToast,
1837
- showConsoleLevels,
1838
- setShowConsoleLevels,
1839
- resetToDefaults,
1840
- storage,
1841
- maxNetworkLogs,
1842
- setMaxNetworkLogs,
1843
- maxConsoleLogs,
1844
- setMaxConsoleLogs,
1845
- maxAnalyticsEventsLimit,
1846
- setMaxAnalyticsEventsLimit,
1847
- isAutoRamLimitEnabled,
1848
- setIsAutoRamLimitEnabled,
1849
- deviceFreeRamMb,
1850
- reduxAutoRefresh,
1851
- setReduxAutoRefreshState,
1852
- reduxExpandDepth,
1853
- setReduxExpandDepth,
1854
- }), [
1855
- visible,
1856
- closeModal,
1857
- isReady,
1858
- enabled,
1859
- appIcon,
1860
- environment,
1861
- modalHeightPercent,
1862
- modalAnimationType,
1863
- hasNavigationContext,
1864
- setNavState,
1865
- activeTab,
1866
- switchActiveTab,
1867
- tabVisibility,
1868
- toggleTabVisibility,
1869
- lastReadApisCount,
1870
- lastReadLogsCount,
1871
- mediaCount,
1872
- refreshMediaCount,
1873
- selected,
1874
- selectedEvent,
1875
- selectedLog,
1876
- showHeaderInfo,
1877
- settingsPage,
1878
- isFeedbackOpen,
1879
- updateAvailable,
1880
- latestNpmVersion,
1881
- clearAnim,
1882
- activePulseAnim,
1883
- unreadPulseAnim,
1884
- runClearAllWithAnimation,
1885
- useNativeFab,
1886
- fabPan,
1887
- fabPanResponder,
1888
- pulseAnim,
1889
- fabShineAnim,
1890
- logs,
1891
- filteredLogs,
1892
- groupedData,
1893
- search,
1894
- searchScope,
1895
- isRegexSearch,
1896
- isCaseSensitive,
1897
- quickFilter,
1898
- statusFilters,
1899
- methodFilters,
1900
- availableMethods,
1901
- sortOrder,
1902
- selectedLogs,
1903
- toggleSelect,
1904
- minStart,
1905
- totalRange,
1906
- newLogIds,
1907
- toggleSectionFilter,
1908
- toggleSectionCollapse,
1909
- handleDelete,
1910
- isNetworkPaused,
1911
- detailTitle,
1912
- detailDisplayUrl,
1913
- apiDetailActiveTab,
1914
- detailSearch,
1915
- reqExpanded,
1916
- resExpanded,
1917
- showReqDiff,
1918
- showResDiff,
1919
- prevRequestData,
1920
- prevResponseData,
1921
- consoleLogs,
1922
- visibleConsoleLogs,
1923
- filteredConsoleLogs,
1924
- logSearch,
1925
- logFilters,
1926
- logCounts,
1927
- logSortOrder,
1928
- isConsolePaused,
1929
- analyticsEvents,
1930
- filteredAnalyticsEvents,
1931
- analyticsSearch,
1932
- analyticsFilters,
1933
- isAnalyticsFilterApplied,
1934
- resetAnalyticsFilters,
1935
- newEventIds,
1936
- isAnalyticsLayoutReady,
1937
- analyticsHeaderExpanded,
1938
- isAnalyticsPaused,
1939
- reduxState,
1940
- reduxLastActionMap,
1941
- reduxSearch,
1942
- selectedReduxSlice,
1943
- selectedReduxAction,
1944
- reduxActiveSubTab,
1945
- crashRecords,
1946
- selectedCrash,
1947
- lastReadCrashesCount,
1948
- maxCrashLogs,
1949
- settingsActiveSubTab,
1950
- defaultTab,
1951
- isDark,
1952
- showDuplicateLogs,
1953
- showUpdateToast,
1954
- showConsoleLevels,
1955
- storage,
1956
- maxNetworkLogs,
1957
- maxConsoleLogs,
1958
- maxAnalyticsEventsLimit,
1959
- isAutoRamLimitEnabled,
1960
- deviceFreeRamMb,
1961
- reduxAutoRefresh,
1962
- reduxExpandDepth,
1963
- isMinimized,
1964
- ]);
1965
- return (<InspectorContext_1.InspectorContext.Provider value={contextValue}>
1966
- <MainScreen_1.default />
1967
- </InspectorContext_1.InspectorContext.Provider>);
1968
- };
1969
- const NetworkInspectorWrapper = (props) => {
1970
- const enabled = props?.enabled ?? true;
1971
- const telemetry = props?.telemetry ?? true;
1972
- (0, react_1.useEffect)(() => {
1973
- if (!enabled) {
1974
- (0, NativeInspector_2.hideNativeFloatingButton)().catch(() => { });
1975
- (0, telemetry_1.setTelemetryEnabled)(false);
1976
- }
1977
- else if (telemetry) {
1978
- (0, telemetry_1.trackActiveTelemetryHeartbeat)(true, props?.environment);
1979
- }
1980
- else {
1981
- (0, telemetry_1.setTelemetryEnabled)(false);
1982
- }
1983
- return () => {
1984
- (0, NativeInspector_2.hideNativeFloatingButton)().catch(() => { });
1985
- };
1986
- }, [enabled, telemetry, props?.environment]);
1987
- if (!enabled) {
1988
- return null;
1989
- }
1990
- return (<i18n_1.I18nextProvider i18n={i18n_1.i18n}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(a,i,l,d){d===void 0&&(d=l);var b=Object.getOwnPropertyDescriptor(i,l);(!b||("get"in b?!i.__esModule:b.writable||b.configurable))&&(b={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(a,d,b)}):(function(a,i,l,d){d===void 0&&(d=l),a[d]=i[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(a,i){Object.defineProperty(a,"default",{enumerable:!0,value:i})}):function(a,i){a.default=i}),__importStar=this&&this.__importStar||(function(){var a=function(i){return a=Object.getOwnPropertyNames||function(l){var d=[];for(var b in l)Object.prototype.hasOwnProperty.call(l,b)&&(d[d.length]=b);return d},a(i)};return function(i){if(i&&i.__esModule)return i;var l={};if(i!=null)for(var d=a(i),b=0;b<d.length;b++)d[b]!=="default"&&__createBinding(l,i,d[b]);return __setModuleDefault(l,i),l}})(),__importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.registerComponentProfile=exports.getHermesMemoryStats=exports.measureAsync=exports.trackHeavyTask=exports.trackNavigationTransition=exports.trackComponentRender=exports.useNavigationProfiler=exports.useComponentProfiler=exports.usePerformanceTracker=exports.registerGAPlugin=exports.getEventCategory=exports.getLastActionForReducer=exports.clearActionHistory=exports.getActionHistory=exports.subscribeReduxState=exports.getReduxState=exports.inspectorReduxMiddleware=exports.connectReduxStore=exports.ErrorBoundary=exports.CrashTab=exports.computeCrashFingerprint=exports.recordUserActionBreadcrumb=exports.recordReduxBreadcrumb=exports.recordNetworkBreadcrumb=exports.recordNavigationBreadcrumb=exports.addCrashBreadcrumb=exports.recordCustomCrash=exports.parseCrashStackTrace=exports.exportCrashReport=exports.simulateTestCrash=exports.clearCrashRecords=exports.getCrashRecords=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.setupGlobalCrashHandler=exports.getCollectionEnabled=exports.getDefaultEventParameters=exports.getCurrentUserId=exports.getCurrentUserProperties=exports.clearAnalyticsEvents=exports.subscribeAnalyticsEvents=exports.logAnalyticsEvent=exports.setupAnalyticsLogger=exports.subscribeConsoleLogs=exports.clearConsoleLogs=exports.setupConsoleLogger=exports.addAxiosInterceptors=exports.subscribeNetworkLogs=exports.clearNetworkLogs=exports.setupNetworkLogger=void 0,exports.connectMMKV=exports.connectAsyncStorage=exports.BrandCircleIcon=exports.BrandSquareIcon=exports.prunePerformanceEvents=exports.getMaxPerformanceEventsLimit=exports.setMaxPerformanceEventsLimit=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.pruneAnalyticsLogs=exports.getMaxAnalyticsLogsLimit=exports.setMaxAnalyticsLogsLimit=exports.pruneReduxHistory=exports.getMaxReduxHistoryLimit=exports.setMaxReduxHistoryLimit=exports.pruneConsoleLogs=exports.getMaxConsoleLogsLimit=exports.setMaxConsoleLogsLimit=exports.pruneNetworkLogs=exports.getMaxNetworkLogsLimit=exports.setMaxNetworkLogsLimit=exports.subscribeMemoryWarning=exports.pruneAllLogs=exports.setupMemoryWarningHandler=exports.isNativeModuleAvailable=exports.setNativeStorageItem=exports.getNativeStorageItem=exports.getNativeFpsMetrics=exports.stopNativeFpsMonitoring=exports.startNativeFpsMonitoring=exports.subscribeNativeDeviceShake=exports.subscribeNativeFloatingButtonPress=exports.setNativeFloatingButtonBadge=exports.hideNativeFloatingButton=exports.showNativeFloatingButton=exports.subscribeNativeCrashes=exports.enableNativeCrashProtection=exports.getNativeDeviceMetrics=exports.InspectCatch=exports.InspectTrackTime=exports.InspectLog=exports.generateFixSnippet=exports.getInitialPerformanceEvents=exports.getInitialRenderProfiles=exports.getPerformanceEvents=exports.subscribePerformanceEvents=exports.clearPerformanceEvents=exports.logPerformanceEvent=exports.getRenderProfiles=exports.subscribeRenderProfiles=void 0,exports.LIB_VERSION=exports.ScreenRecorder=exports.ScreenCapture=exports.isFirebaseRemoteConfigAvailable=exports.fetchRemoteConfigModuleStatus=exports.I18nextProvider=exports.setTranslations=exports.addTranslations=exports.setLanguage=exports.useTranslation=exports.i18n=exports.t=exports.updateAppColorsTheme=exports.getThemeColors=exports.setAppColors=exports.AppColors=exports.setAppFonts=exports.AppFonts=exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.PerformanceSubTab=exports.BundleSubTab=exports.DiffResultType=exports.StackFrameType=exports.GAEventCategory=exports.AnalyticsEventSource=exports.ConsoleLogType=exports.LogFilter=exports.SettingsSubTab=exports.SettingsPage=exports.ModalAnimationType=exports.LocalFilter=exports.SortOrder=exports.StatusFilter=exports.Method=exports.ActiveTab=exports.subscribeToStorageChanges=exports.clearStorageDriver=exports.removeStorageEntry=exports.setStorageEntry=exports.fetchStorageEntries=exports.getRegisteredMMKVInstanceIds=exports.isMMKVConnected=exports.isAsyncStorageConnected=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),native_1=require("@react-navigation/native"),i18n_1=require("./i18n"),ErrorBoundary_1=__importDefault(require("./components/ErrorBoundary")),MainScreen_1=__importDefault(require("./components/Inspector/MainScreen")),InspectorContext_1=require("./components/Inspector/InspectorContext"),helpers_1=require("./helpers"),settingsStore_1=require("./helpers/settingsStore"),NativeInspector_1=require("./native/NativeInspector"),networkLogger_1=require("./customHooks/networkLogger"),consoleLogger_1=require("./customHooks/consoleLogger"),logFilters_1=require("./customHooks/logFilters"),crashHandler_1=require("./customHooks/crashHandler"),telemetry_1=require("./helpers/telemetry"),analyticsLogger_1=require("./customHooks/analyticsLogger"),reduxLogger_1=require("./customHooks/reduxLogger"),performanceTracker_1=require("./customHooks/performanceTracker"),bundleAnalyzer_1=require("./customHooks/bundleAnalyzer"),NativeInspector_2=require("./native/NativeInspector"),remoteConfig_1=require("./helpers/remoteConfig"),capture_1=require("./capture"),constants_1=require("./constants"),styles_1=require("./styles"),NetworkInspector=({enabled:a=!0,storage:i,navigationRef:l,appIcon:d,environment:b,initialVisible:Vr=!1,visible:Se,remoteConfig:Ce})=>{(0,settingsStore_1.setCustomStorage)(i||null);const[ve,$e]=(0,react_1.useState)(!1),[ht,Pe]=(0,react_1.useState)(null),[St,Le]=(0,react_1.useState)({}),[Ae,Je]=(0,react_1.useState)(90),[Re,Xe]=(0,react_1.useState)("slide"),[y,j]=(0,react_1.useState)([]),[x,$]=(0,react_1.useState)(Se??Vr??!1),[Ct,Ke]=(0,react_1.useState)(!1),Gr=(0,react_1.useCallback)(()=>{Ke(!0),$(!1)},[]);(0,react_1.useEffect)(()=>{Se!==void 0&&$(Se)},[Se]);const[vt,Pt]=(0,react_1.useState)(!1),[g,Qe]=(0,react_1.useState)(null),[Oe,oe]=(0,react_1.useState)(new Set),[J,Lt]=(0,react_1.useState)(""),[Ee,Ur]=(0,react_1.useState)("all"),[we,zr]=(0,react_1.useState)(!1),[Ne,Wr]=(0,react_1.useState)(!1),[A,$r]=(0,react_1.useState)("all"),[At,Ye]=(0,react_1.useState)(""),[Rt,Jr]=(0,react_1.useState)(""),[Ot,Ze]=(0,react_1.useState)(null),[Et,et]=(0,react_1.useState)(null),[wt,Xr]=(0,react_1.useState)("state"),[Nt,Mt]=(0,react_1.useState)("response");(0,react_1.useEffect)(()=>(react_native_1.LogBox.ignoreAllLogs(a),()=>{react_native_1.LogBox.ignoreAllLogs(!1)}),[a]),(0,react_1.useEffect)(()=>{g&&(Mt("response"),Ye(""))},[g]);const[ae,tt]=(0,react_1.useState)(new Set),[ie,rt]=(0,react_1.useState)(new Set),[jt,st]=(0,react_1.useState)({}),[Tt,nt]=(0,react_1.useState)(new Set),[It,Kr]=(0,react_1.useState)(!0),[Me,Qr]=(0,react_1.useState)("newest"),[je,Yr]=(0,react_1.useState)("newest"),[_t,kt]=(0,react_1.useState)(!0),[Ft,Dt]=(0,react_1.useState)(!0),[Bt,qt]=(0,react_1.useState)(!1),[Ht,Vt]=(0,react_1.useState)(!1),[p,H]=(0,react_1.useState)("apis"),[Te,V]=(0,react_1.useState)([]),[G,U]=(0,react_1.useState)([]),[Gt,ot]=(0,react_1.useState)(null),[X,Zr]=(0,react_1.useState)(!1),Ut=(0,react_1.useRef)(X);Ut.current=X;const ue=(0,react_1.useRef)([]),[K,es]=(0,react_1.useState)(!1),zt=(0,react_1.useRef)(K);zt.current=K;const ce=(0,react_1.useRef)([]),[Q,ts]=(0,react_1.useState)(!1),Wt=(0,react_1.useRef)(Q);Wt.current=Q;const le=(0,react_1.useRef)([]),[$t,Jt]=(0,react_1.useState)(0),[Xt,Kt]=(0,react_1.useState)(0),[Qt,Yt]=(0,react_1.useState)(0),[Zt,er]=(0,react_1.useState)(0),Ie=(0,react_1.useCallback)(async()=>{try{const t=await capture_1.ScreenCapture.getMediaList(),e=t?t.length:0;return er(e),e}catch{return er(0),0}},[]);(0,react_1.useEffect)(()=>{x&&Ie()},[x,Ie]);const[fe,T]=(0,react_1.useState)(()=>(0,crashHandler_1.getCrashRecords)()),[tr,Y]=(0,react_1.useState)(null),[I,_e]=(0,react_1.useState)(50);(0,react_1.useEffect)(()=>{(0,crashHandler_1.setMaxCrashLogsLimit)(I)},[I]),(0,react_1.useEffect)(()=>{x&&(p==="apis"&&Kt(y.length),p==="logs"&&Jt(G.length),p==="crash"&&Yt(fe.length))},[x]),(0,react_1.useEffect)(()=>{p==="apis"&&Kt(y.length)},[p,y.length]),(0,react_1.useEffect)(()=>{p==="logs"&&Jt(G.length)},[p,G.length]),(0,react_1.useEffect)(()=>{p==="crash"&&Yt(fe.length)},[p,fe.length]);const[Z,ke]=(0,react_1.useState)(100),[_,at]=(0,react_1.useState)({info:!0,warn:!0,error:!0}),k=(0,react_1.useMemo)(()=>G.filter(e=>{const s=e.type;if(s==="info"&&!_?.info||s==="warn"&&!_?.warn||s==="error"&&!_?.error)return!1;const r=e.message||"";return![...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.info||[],...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.warn||[],...logFilters_1.IGNORED_LOG_PREFIXES&&logFilters_1.IGNORED_LOG_PREFIXES.error||[]].filter(f=>typeof f=="string"&&f.trim().length>0).some(f=>r.toLowerCase().trim().startsWith(f.toLowerCase().trim())||r.toLowerCase().trim().includes(f.toLowerCase().trim()))}).slice(0,Z),[G,_,Z]),[R,rr]=(0,react_1.useState)(""),[O,sr]=(0,react_1.useState)(new Set(["all"])),[nr,rs]=(0,react_1.useState)(null),[or,ss]=(0,react_1.useState)(!1),[ar,ns]=(0,react_1.useState)("module"),[h,Fe]=(0,react_1.useState)({apis:!0,logs:!0,analytics:!1,redux:!1,bundle:!1,performance:!1,crash:!1,device:!1,storage:!1,debugging:!1,media:!0}),[F,De]=(0,react_1.useState)(250),[ee,Be]=(0,react_1.useState)(150),[te,it]=(0,react_1.useState)(!0),[ut,os]=(0,react_1.useState)(1800),[re,ct]=(0,react_1.useState)(!0),[qe,lt]=(0,react_1.useState)(1),[D,He]=(0,react_1.useState)("apis"),[B,ft]=(0,react_1.useState)(!1),[pt,dt]=(0,react_1.useState)(!0);(0,react_1.useEffect)(()=>{(0,networkLogger_1.setNetworkModuleEnabled)(!!h.apis),(0,consoleLogger_1.setConsoleModuleEnabled)(!!h.logs),(0,analyticsLogger_1.setAnalyticsModuleEnabled)(!!h.analytics),(0,reduxLogger_1.setReduxModuleEnabled)(!!h.redux),(0,performanceTracker_1.setPerformanceModuleEnabled)(!!h.performance),(0,crashHandler_1.setCrashModuleEnabled)(!!h.crash),(0,bundleAnalyzer_1.setBundleModuleEnabled)(!!h.bundle)},[h]),(0,react_1.useEffect)(()=>{(0,NativeInspector_1.getNativeSystemMetrics)().then(t=>{if(t){const e=t.totalPhysicalRamMb-t.residentRamMb,s=Math.max(200,Math.round(e>0?e:1500));if(os(s),te){const r=(0,settingsStore_1.calculateRamBasedLimits)(s);De(r.maxNetworkLogs),ke(r.maxConsoleLogs),Be(r.maxAnalyticsEvents),_e(r.maxCrashRecords)}}}).catch(()=>{})},[te]);const as=async()=>{await(0,settingsStore_1.clearPersistedSettings)(),$e(!1),(0,styles_1.toggleGlobalTheme)(!1),Je(90),Xe("slide"),Fe({apis:!0,logs:!0,analytics:!1,redux:!1,bundle:!1,performance:!1,crash:!1,device:!1,storage:!1,debugging:!1,media:!0}),He("apis"),it(!0);const t=(0,settingsStore_1.calculateRamBasedLimits)(ut);_e(t.maxCrashRecords),De(t.maxNetworkLogs),ke(t.maxConsoleLogs),Be(t.maxAnalyticsEvents),at({info:!0,warn:!0,error:!0}),ct(!0),lt(1),ft(!1),dt(!0),react_native_1.Alert.alert("Settings Reset","All settings have been reset to default values.")},ir=(0,react_1.useRef)(!1);(0,react_1.useEffect)(()=>{let t=!1;return(0,settingsStore_1.loadSettings)().then(e=>{if(!t){if(e.isDark!=null&&($e(e.isDark),(0,styles_1.toggleGlobalTheme)(e.isDark)),e.modalHeightPercent!=null&&Je(e.modalHeightPercent),e.modalAnimationType&&Xe(e.modalAnimationType),e.tabVisibility&&Fe(s=>({...s,...e.tabVisibility,apis:!0})),e.defaultTab&&He(e.defaultTab),e.isAutoRamLimitEnabled!=null&&it(e.isAutoRamLimitEnabled),e.maxNetworkLogs!=null&&De(e.maxNetworkLogs),e.maxConsoleLogs!=null&&ke(e.maxConsoleLogs),e.maxAnalyticsEventsLimit!=null&&Be(e.maxAnalyticsEventsLimit),e.maxCrashLogs!=null&&_e(e.maxCrashLogs),e.showConsoleLevels&&at(e.showConsoleLevels),e.reduxAutoRefresh!=null&&ct(e.reduxAutoRefresh),e.reduxExpandDepth!=null&&lt(e.reduxExpandDepth),e.showDuplicateLogs!=null&&ft(e.showDuplicateLogs),e.showUpdateToast!=null&&dt(e.showUpdateToast),e.defaultTab){const s=e.defaultTab,r={apis:!0,logs:!0,analytics:!1,redux:!1,bundle:!1,performance:!1,crash:!1,device:!1,storage:!1,...e.tabVisibility||{},apis:!0};H(r[s]?s:"apis")}ir.current=!0}}),()=>{t=!0}},[]),(0,react_1.useEffect)(()=>{let t=!0;if(Ce!==!1)return(0,remoteConfig_1.fetchRemoteConfigModuleStatus)(typeof Ce=="object"?Ce:void 0).then(e=>{t&&e&&Fe(s=>({...s,...e,apis:e.apis??!0}))}).catch(()=>{}),()=>{t=!1}},[Ce]),(0,react_1.useEffect)(()=>{ir.current&&(0,settingsStore_1.saveSettings)({isDark:ve,modalHeightPercent:Ae,modalAnimationType:Re,tabVisibility:h,defaultTab:D,maxNetworkLogs:F,maxConsoleLogs:Z,maxAnalyticsEventsLimit:ee,maxCrashLogs:I,isAutoRamLimitEnabled:te,showConsoleLevels:_,reduxAutoRefresh:re,reduxExpandDepth:qe,showDuplicateLogs:B,showUpdateToast:pt})},[ve,Ae,Re,h,D,F,Z,ee,I,te,_,re,qe,B]);const[pe,is]=(0,react_1.useState)(null),ur=(0,react_1.useMemo)(()=>{if(!pe)return!1;const t=r=>r.replace(/^v/,"").split(".").map(n=>parseInt(n,10)||0),e=t(constants_1.LIB_VERSION),s=t(pe);for(let r=0;r<3;r++){if((s[r]||0)>(e[r]||0))return!0;if((s[r]||0)<(e[r]||0))return!1}return!1},[pe]);(0,react_1.useEffect)(()=>{if(typeof __DEV__>"u"||!__DEV__)return;let t=!1;return fetch("https://registry.npmjs.org/react-native-inapp-inspector/latest").then(e=>e.ok?e.json():null).then(e=>{!t&&e&&typeof e.version=="string"&&is(e.version)}).catch(()=>{}),()=>{t=!0}},[]),(0,react_1.useEffect)(()=>{(0,reduxLogger_1.setReduxAutoRefresh)(re)},[re]),(0,react_1.useEffect)(()=>{p==="redux"&&!(0,reduxLogger_1.isReduxConnected)()&&H("apis"),p==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()&&H("apis")},[p]);const cr=t=>{t!=="apis"&&(t==="redux"&&!(0,reduxLogger_1.isReduxConnected)()||t==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()||Fe(e=>{const s=!e[t],r={...e,[t]:s};return!s&&p===t&&((0,InspectorContext_1.animateNextLayout)(),H("apis")),!s&&D===t&&He("apis"),r}))},gt=(0,react_1.useCallback)(async(t,e="")=>{if(t==="apis"||t==="logs"||t==="analytics"||t==="crash"){const s=await(0,NativeInspector_1.fetchNativeCachedPage)(t,0,100,e);s&&s.items&&s.items.length>0&&(t==="apis"?j(s.items):t==="logs"?U(s.items):t==="analytics"?V(s.items):t==="crash"&&T(s.items))}},[]),lr=(0,react_1.useCallback)(t=>{t==="redux"&&!(0,reduxLogger_1.isReduxConnected)()||t==="analytics"&&!(0,analyticsLogger_1.isAnalyticsConnected)()||(Qe(null),Ve(null),ot(null),Ze(null),et(null),Y(null),typeof react_1.default.startTransition=="function"?react_1.default.startTransition(()=>{H(t),gt(t)}):(H(t),gt(t)),(0,telemetry_1.trackInspectorTabView)(t))},[gt]),[fr,Ve]=(0,react_1.useState)(null),[se,pr]=(0,react_1.useState)(""),[o,dr]=(0,react_1.useState)({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"}),gr=(0,react_1.useMemo)(()=>!!(o.categories.size>0&&!o.categories.has("all")||o.screens.size>0||o.sources.size>0&&!o.sources.has("all")||o.userTypes.size>0&&!o.userTypes.has("all")||o.timeWindow!=="all"||o.payloadComplexity!=="all"||o.hasRevenue||o.hasItems||o.hasUserProps||o.hasParams||o.onlyDuplicates||o.onlyConversions||o.sortBy!=="time_desc"),[o]),mr=(0,react_1.useCallback)(()=>{dr({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"})},[]),[br,us]=(0,react_1.useState)(!1),[xr,cs]=(0,react_1.useState)(!1),[yr,hr]=(0,react_1.useState)(new Set),de=(0,react_1.useRef)(new Set),[mt,bt]=(0,react_1.useState)(null),Sr=react_1.default.useContext(native_1.NavigationContext)!==void 0,z=(0,react_1.useRef)({path:"",params:null});(0,react_1.useEffect)(()=>((0,networkLogger_1.setRouteInfoProvider)(()=>z.current),()=>{(0,networkLogger_1.setRouteInfoProvider)(null)}),[]),(0,react_1.useEffect)(()=>{if(mt){const t=(0,helpers_1.getNavigationInfo)(mt);t?.path&&(z.current=t)}},[mt]),(0,react_1.useEffect)(()=>{if(!l)return;const t=()=>{try{if(typeof l.isReady=="function"&&l.isReady()){const s=typeof l.getCurrentRoute=="function"?l.getCurrentRoute():null;s?.name&&(z.current={path:s.name,params:s.params||null});const r=l.getRootState();if(r){bt(r);const n=(0,helpers_1.getNavigationInfo)(r);n?.path&&(z.current=n)}}}catch{}};t();const e=typeof l.addListener=="function"?l.addListener("state",()=>{t()}):null;return()=>{e&&e()}},[l]);const P=(0,react_1.useRef)(new Map),ne=(0,react_1.useRef)(new Set),[Cr,vr]=(0,react_1.useState)(new Set),ge=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,me=(0,react_1.useRef)(new react_native_1.Animated.Value(.4)).current,be=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,xe=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,ye=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,S=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,Ge=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const t=S.x.addListener(s=>Ge.current.x=s.value),e=S.y.addListener(s=>Ge.current.y=s.value);return()=>{S.x.removeListener(t),S.y.removeListener(e)}},[S]);const Ue=(0,react_1.useRef)(!1),Pr=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(t,e)=>Math.abs(e.dx)>4||Math.abs(e.dy)>4,onPanResponderGrant:()=>{Ue.current=!0,S.setOffset({x:Ge.current.x,y:Ge.current.y}),S.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:S.x,dy:S.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{S.flattenOffset(),setTimeout(()=>{Ue.current=!1},50)},onPanResponderTerminate:()=>{S.flattenOffset(),Ue.current=!1}})).current,Lr=(0,react_1.useCallback)(()=>{react_native_1.Animated.sequence([react_native_1.Animated.timing(ye,{toValue:1,duration:320,useNativeDriver:!1}),react_native_1.Animated.timing(ye,{toValue:0,duration:0,useNativeDriver:!1})]).start(),fs()},[ye]);(0,react_1.useEffect)(()=>{react_native_1.Platform.OS==="android"&&react_native_1.UIManager.setLayoutAnimationEnabledExperimental?.(!0)},[]),(0,react_1.useEffect)(()=>{if(x)return;const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(ge,{toValue:1.2,duration:800,useNativeDriver:!1}),react_native_1.Animated.timing(ge,{toValue:1,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[ge,x]),(0,react_1.useEffect)(()=>{if(x)return;const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(xe,{toValue:1,duration:3200,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!1}),react_native_1.Animated.delay(3500),react_native_1.Animated.timing(xe,{toValue:0,duration:0,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[xe,x]),(0,react_1.useEffect)(()=>{const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(me,{toValue:1,duration:1200,useNativeDriver:!1}),react_native_1.Animated.timing(me,{toValue:.4,duration:1200,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[me]),(0,react_1.useEffect)(()=>{const t=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(be,{toValue:1.3,duration:800,useNativeDriver:!1}),react_native_1.Animated.timing(be,{toValue:.8,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[be]);const ls=(0,react_1.useMemo)(()=>(0,NativeInspector_2.isNativeModuleAvailable)(),[]),q=(react_native_1.Platform.OS==="ios"||react_native_1.Platform.OS==="android")&&ls;(0,react_1.useEffect)(()=>{q&&(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})},[q,x]),(0,react_1.useEffect)(()=>{if(!q)return;const t=(0,NativeInspector_2.subscribeNativeFloatingButtonPress)(()=>{(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),$(!0)});return()=>{t()}},[q]),(0,react_1.useEffect)(()=>{if(!q)return;const t=(0,NativeInspector_2.subscribeNativeDeviceShake)(()=>{$(e=>{const s=!e;return s&&(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),s})});return()=>{t()}},[q]);const Ar=(0,react_1.useRef)(x);(0,react_1.useEffect)(()=>{if(Ar.current=x,x){(0,telemetry_1.trackInspectorScreenView)("InspectorModal");const t=D==="apis"||h?.[D]?D:"apis";if(H(t),(0,telemetry_1.trackInspectorTabView)(t),ue.current.length>0){const n=(0,helpers_1.deduplicateLogs)(ue.current),u=new Set(n.map(f=>f.id));ne.current=u,j(n)}ce.current.length>0&&U(ce.current),le.current.length>0&&V(le.current);const e=(0,reduxLogger_1.getReduxState)();e&&(Pe(typeof e=="object"?{...e}:e),Le({...(0,reduxLogger_1.getLastActionForReducer)()}));const s=(0,crashHandler_1.getCrashRecords)();s.length>0&&T(s);const r=requestAnimationFrame(()=>{Pt(!0)});return()=>{cancelAnimationFrame(r)}}else Pt(!1),oe(new Set)},[x]),(0,react_1.useEffect)(()=>{(0,networkLogger_1.setupNetworkLogger)(),(0,networkLogger_1.clearNetworkLogs)(),(0,consoleLogger_1.setupConsoleLogger)(),(0,analyticsLogger_1.autoSetupAnalyticsLogger)(),(0,crashHandler_1.setupGlobalCrashHandler)();const t=(0,helpers_1.setupMemoryWarningHandler)(),e=Ar,s=(0,crashHandler_1.subscribeCrashEvents)(c=>{if(c.message==="__CLEARED__"){T([]),Y(null);return}const W=(0,crashHandler_1.getCrashRecords)();W.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("crash",JSON.stringify(W[0])),e.current&&T(W)}),r=(0,crashHandler_1.getCrashRecords)();r.length>0&&(r.forEach(c=>(0,NativeInspector_1.pushNativeLogRecord)("crash",JSON.stringify(c))),T(r));let n,u=!0;const f=(0,networkLogger_1.subscribeNetworkLogs)(c=>{if(ue.current=c,c.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("apis",JSON.stringify(c[0])),Ut.current||!e.current)return;clearTimeout(n);const W=()=>{const v=(0,helpers_1.deduplicateLogs)(c),L=new Set(v.map(w=>w.id)),m=new Set;L.forEach(w=>{ne.current.has(w)||m.add(w)}),ne.current=L,m.size>0&&(m.forEach(w=>{if(!P.current.has(w)){const ms=v.find(bs=>bs.id===w)?.routeInfo||z.current;P.current.set(w,ms)}}),vr(m),setTimeout(()=>vr(new Set),1200)),j(v)};if(u){u=!1;const v=(0,helpers_1.deduplicateLogs)(c),L=new Set(v.map(m=>m.id));ne.current=L,v.forEach(m=>{if(!P.current.has(m.id)){const w=m?.routeInfo||z.current;P.current.set(m.id,w)}}),j(v)}else n=setTimeout(W,250)});let C,he=!0;const xt=(0,analyticsLogger_1.subscribeAnalyticsEvents)(c=>{if(le.current=c,c.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("analytics",JSON.stringify(c[0])),Wt.current||!e.current)return;clearTimeout(C);const W=()=>{const v=new Set(c.map(m=>m.id)),L=new Set;v.forEach(m=>{de.current.has(m)||L.add(m)}),de.current=v,L.size>0&&(L.forEach(m=>{P.current.has(m+1e6)||P.current.set(m+1e6,z.current)}),hr(L),setTimeout(()=>hr(new Set),1200)),V(c)};if(he){he=!1;const v=new Set(c.map(L=>L.id));de.current=v,V(c)}else C=setTimeout(W,200)});let E,M=!0;const yt=(0,consoleLogger_1.subscribeConsoleLogs)(c=>{ce.current=c,c.length>0&&(0,NativeInspector_1.pushNativeLogRecord)("logs",JSON.stringify(c[0])),!zt.current&&e.current&&(clearTimeout(E),M?(M=!1,U(c)):E=setTimeout(()=>{U(c)},200))}),We=(0,reduxLogger_1.getReduxState)();We&&(Pe(typeof We=="object"?{...We}:We),Le({...(0,reduxLogger_1.getLastActionForReducer)()}));const gs=(0,reduxLogger_1.subscribeReduxState)(()=>{if(!e.current)return;const c=(0,reduxLogger_1.getReduxState)();Pe(c&&typeof c=="object"?{...c}:c),Le({...(0,reduxLogger_1.getLastActionForReducer)()})});return()=>{f(),clearTimeout(n),xt(),clearTimeout(C),yt(),clearTimeout(E),gs(),s(),t()}},[]),(0,react_1.useEffect)(()=>{(0,networkLogger_1.setMaxNetworkLogsLimit)(F)},[F]),(0,react_1.useEffect)(()=>{(0,crashHandler_1.setMaxCrashLogsLimit)(I)},[I]),(0,react_1.useEffect)(()=>{if(!X&&ue.current.length>0){const t=(0,helpers_1.deduplicateLogs)(ue.current);j(t)}},[X]),(0,react_1.useEffect)(()=>{!Q&&le.current.length>0&&V(le.current)},[Q]),(0,react_1.useEffect)(()=>{!K&&ce.current.length>0&&U(ce.current)},[K]),(0,react_1.useEffect)(()=>{kt(!0),Dt(!0),qt(!1),Vt(!1),Ye("")},[g]);const N=(0,react_1.useMemo)(()=>{let t=y.filter(e=>{if(A&&A!=="all"){if(A==="errors"){if(!(e.status===0||e.status==null||typeof e.status=="number"&&e.status>=400))return!1}else if(A==="success"){if(!(typeof e.status=="number"&&e.status>=200&&e.status<400))return!1}else if(A==="slow"){if((e.duration||0)<500)return!1}else if(A==="graphql"){if(!((e.url||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("apollo")))return!1}else if(e.method?.toUpperCase()!==A.toUpperCase())return!1}if(ae.size>0&&![...ae].some(r=>{if(r==="ALL")return!0;if(r==="Failed")return e.status===0||e.status==null;const n=parseInt(r,10);return isNaN(n)?String(e.status)[0]===r[0]:Number(e.status)===n})||ie.size>0&&![...ie].some(r=>r==="ALL"?!0:e.method?.toUpperCase()===r))return!1;if(J&&J.trim().length>0){const s=P.current.get(e.id)?.path||"";if(!(0,helpers_1.matchNetworkLogQuery)(e,J,s,{scope:Ee,isRegex:we,isCaseSensitive:Ne}))return!1}return!0});if(Me==="oldest"&&(t=[...t].reverse()),!B){const e=[];for(const s of t){const r=e[e.length-1];r&&r.method===s.method&&r.url===s.url&&r.status===s.status?e[e.length-1]={...r,duplicateCount:(r.duplicateCount||1)+1}:e.push({...s,duplicateCount:1})}t=e}return t.slice(0,F)},[y,J,Ee,we,Ne,A,ae,ie,Me,F,B]),Rr=(0,react_1.useMemo)(()=>{const t=new Set;return y.forEach(e=>{e.method&&t.add(e.method.toUpperCase())}),["ALL",...Array.from(t)]},[y]),Or=(0,react_1.useCallback)((t,e)=>{st(s=>{const r=s[t]||new Set(["success","failed","loading"]),n=new Set(r);return n.has(e)?n.delete(e):n.add(e),{...s,[t]:n}})},[]),Er=(0,react_1.useCallback)(t=>{nt(e=>{const s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},[]),wr=(0,react_1.useMemo)(()=>{const t=[],e=new Map;for(let r=0;r<N.length;r++){const n=N[r],u=P.current.get(n.id)||n?.routeInfo,f=(0,helpers_1.getLogPageName)(n,u);let C=e.get(f);C||(C={pageName:f,color:(0,helpers_1.getDomainColor)(f),logs:[]},e.set(f,C)),C.logs.push(n)}let s=0;return e.forEach(r=>{let n=0,u=0,f=0;r.logs.forEach(E=>{E.status==null?f++:E.status===0||E.status>=400?u++:n++});const C=jt[r.pageName]||new Set(["success","failed","loading"]),he=Tt.has(r.pageName),xt=r.logs[0]?.startTime||0;if(t.push({type:"header",id:`hdr-${r.pageName}`,pageName:r.pageName,color:r.color,stats:{success:n,failed:u,loading:f},timestamp:xt,activeFilters:C,isCollapsed:he,isFirst:s===0}),s++,!he){const E=r.logs.filter(M=>M.status==null?C.has("loading"):M.status===0||M.status>=400?C.has("failed"):C.has("success"));E.forEach((M,yt)=>{t.push({type:"log",id:`log-${M.id}`,log:M,isLast:yt===E.length-1,color:r.color})})}}),t},[N,y,jt,Tt]),{minStart:Nr,totalRange:Mr}=(0,react_1.useMemo)(()=>{if(N.length===0)return{minStart:0,totalRange:0};const t=Math.min(...N.map(s=>s.startTime)),e=Math.max(...N.map(s=>s.startTime+(s.duration||10)));return{minStart:t,totalRange:e-t}},[N]),ze=(0,react_1.useMemo)(()=>{if(!g)return null;const t=y.findIndex(e=>e.id===g.id);if(t===-1)return null;for(let e=t+1;e<y.length;e++){const s=y[e];if(s.url===g.url&&s.method===g.method)return s}return null},[g,y]),jr=ze?ze.request:null,Tr=ze?ze.response:null,Ir=(0,react_1.useMemo)(()=>{let t=Te;if(se&&se.trim().length>0){const r=se.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(n=>{const u=[n.name||"",JSON.stringify(n.params||""),JSON.stringify(n.userProperties||""),n.screenName||"",n.pageTitle||"",n.userId||"",n.source||""].join(" ").toLowerCase();return r.every(f=>u.includes(f))})}if(o.categories.size>0&&!o.categories.has("all")&&(t=t.filter(r=>{const n=(0,helpers_1.getEventCategory)(r.name);return o.categories.has(n)})),o.timeWindow!=="all"){const r=Date.now(),n=o.timeWindow==="1m"?r-60*1e3:o.timeWindow==="5m"?r-300*1e3:o.timeWindow==="15m"?r-900*1e3:r-3600*1e3;t=t.filter(u=>u.timestamp>=n)}if(o.sources.size>0&&!o.sources.has("all")&&(t=t.filter(r=>o.sources.has(r.source||"manual"))),o.userTypes.size>0&&!o.userTypes.has("all")&&(t=t.filter(r=>{const n=!!(r.userId&&r.userId.trim()!=="");return!!(o.userTypes.has("identified")&&n||o.userTypes.has("anonymous")&&!n)})),o.payloadComplexity!=="all"&&(o.payloadComplexity==="none"?t=t.filter(r=>!r.params||Object.keys(r.params).length===0):o.payloadComplexity==="simple"?t=t.filter(r=>r.params&&Object.keys(r.params).length<=3):o.payloadComplexity==="heavy"&&(t=t.filter(r=>r.params&&Object.keys(r.params).length>3))),o.onlyConversions){const r=["purchase","item_purchase","ecommerce_purchase","sign_up","login","lead","generate_lead","tutorial_complete","add_payment_info","begin_checkout","spend_virtual_currency"];t=t.filter(n=>r.some(u=>n.name.toLowerCase().includes(u)))}o.screens.size>0&&(t=t.filter(r=>{const n=r.screenName||r.params?.firebase_screen||r.params?.screen_name||r.params?.firebase_screen_class||r.screenClass||"";return o.screens.has(n)})),o.hasRevenue&&(t=t.filter(r=>r.params?.value!=null&&!isNaN(Number(r.params.value))||r.params?.price!=null&&!isNaN(Number(r.params.price)))),o.hasItems&&(t=t.filter(r=>Array.isArray(r.params?.items)&&r.params.items.length>0)),o.hasUserProps&&(t=t.filter(r=>r.userProperties&&Object.keys(r.userProperties).length>0)),o.hasParams&&(t=t.filter(r=>r.params&&Object.keys(r.params).length>0));const e=[];for(const r of t){if(e.length===0){e.push({...r,count:1});continue}const n=e[e.length-1];n.name===r.name&&JSON.stringify(n.params)===JSON.stringify(r.params)&&JSON.stringify(n.userProperties)===JSON.stringify(r.userProperties)?(n.count=(n.count||1)+1,n.timestamp=r.timestamp,n.id=r.id):e.push({...r,count:1})}let s=e;return o.onlyDuplicates&&(s=s.filter(r=>(r.count||1)>1)),o.sortBy==="time_asc"?s=[...s].sort((r,n)=>r.timestamp-n.timestamp):o.sortBy==="revenue_desc"?s=[...s].sort((r,n)=>{const u=Number(r.params?.value??r.params?.price??0);return Number(n.params?.value??n.params?.price??0)-u}):o.sortBy==="count_desc"&&(s=[...s].sort((r,n)=>(n.count||1)-(r.count||1))),s.slice(0,ee)},[Te,se,o,ee]),_r=(0,react_1.useMemo)(()=>{let t=k;if(O.size>0&&!O.has("all")&&(t=t.filter(e=>!!(O.has("user-log")&&e.sourceMethod==="log"||O.has("info")&&(e.sourceMethod==="info"||e.type==="info"&&e.sourceMethod!=="log")||O.has("warn")&&(e.type==="warn"||e.sourceMethod==="warn")||O.has("error")&&(e.type==="error"||e.sourceMethod==="error")||O.has("analytics")&&e.message?.toLowerCase().includes("[analytics error]")))),R&&R.trim().length>0){const e=R.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(s=>{const r=[s.message||"",s.caller||"",s.type||"",s.sourceMethod||"",s.stack||""].join(" ").toLowerCase();return e.every(n=>n==="error"||n==="err"?s.type==="error"||r.includes(n):n==="warn"||n==="warning"?s.type==="warn"||r.includes(n):n==="info"&&s.type==="info"||r.includes(n))})}if(t=[...t].sort((e,s)=>je==="newest"?s.timestamp-e.timestamp:e.timestamp-s.timestamp),!B){const e=[];for(const s of t){const r=e[e.length-1];r&&r.type===s.type&&r.sourceMethod===s.sourceMethod&&r.message===s.message?e[e.length-1]={...r,duplicateCount:(r.duplicateCount||1)+1}:e.push({...s,duplicateCount:1})}t=e}return t},[k,O,R,je,B]),kr=(0,react_1.useMemo)(()=>{let t=k;if(R&&R.trim().length>0){const s=R.trim().toLowerCase().split(/\s+/).filter(Boolean);t=k.filter(r=>{const n=[r.message||"",r.caller||"",r.type||"",r.sourceMethod||"",r.stack||""].join(" ").toLowerCase();return s.every(u=>u==="error"||u==="err"?r.type==="error"||n.includes(u):u==="warn"||u==="warning"?r.type==="warn"||n.includes(u):u==="info"&&r.type==="info"||n.includes(u))})}const e=k.length;return{all:`${t.length}/${e}`,info:`${t.filter(s=>s.sourceMethod==="info"||s.type==="info"&&s.sourceMethod!=="log").length}/${e}`,warn:`${t.filter(s=>s.type==="warn"||s.sourceMethod==="warn").length}/${e}`,error:`${t.filter(s=>s.type==="error"||s.sourceMethod==="error").length}/${e}`,"user-log":`${t.filter(s=>s.sourceMethod==="log").length}/${e}`,analytics:`${t.filter(s=>s.message.toLowerCase().includes("[analytics error]")).length}/${e}`}},[k,R]),Fr=(0,react_1.useCallback)(()=>{$(!1),Ke(!1),setTimeout(()=>{Qe(null),Ve(null),ot(null),Ze(null),et(null),Y(null)},300)},[]);function fs(){(0,networkLogger_1.clearNetworkLogs)(),j([]),oe(new Set),st({}),nt(new Set),tt(new Set),rt(new Set),Lt(""),ne.current=new Set,P.current=new Map,(0,analyticsLogger_1.clearAnalyticsEvents)(),V([]),pr(""),de.current=new Set,(0,consoleLogger_1.clearConsoleLogs)(),U([]),sr(new Set(["all"])),rr("")}function Dr(){if(p==="logs"){react_native_1.Alert.alert("Clear Logs","Are you sure you want to clear all console logs?",[{text:"Cancel",style:"cancel"},{text:"Clear All",onPress:()=>{(0,consoleLogger_1.clearConsoleLogs)(),U([])},style:"destructive"}]);return}if(p==="analytics"){react_native_1.Alert.alert("Clear Analytics","Are you sure you want to clear all analytics events?",[{text:"Cancel",style:"cancel"},{text:"Clear All",onPress:()=>{(0,analyticsLogger_1.clearAnalyticsEvents)(),V([]),Ve(null),de.current=new Set},style:"destructive"}]);return}if(p==="redux"){react_native_1.Alert.alert("Clear Redux Timeline","Are you sure you want to clear the dispatched action history?",[{text:"Cancel",style:"cancel"},{text:"Clear All",onPress:()=>{(0,reduxLogger_1.clearActionHistory)(),Le({})},style:"destructive"}]);return}if(p==="crash"){react_native_1.Alert.alert("Clear Crash History","Are you sure you want to clear all intercepted crash records?",[{text:"Cancel",style:"cancel"},{text:"Clear All",onPress:()=>{(0,crashHandler_1.clearCrashRecords)(),T([]),Y(null)},style:"destructive"}]);return}Oe.size>0?(j(t=>t.filter(e=>!Oe.has(e.id))),oe(new Set)):react_native_1.Alert.alert("Clear Logs","Are you sure you want to clear all network logs?",[{text:"Cancel",style:"cancel"},{text:"Clear All",onPress:ps,style:"destructive"}])}function ps(){(0,networkLogger_1.clearNetworkLogs)(),j([]),oe(new Set),st({}),nt(new Set),tt(new Set),rt(new Set),ne.current=new Set,P.current=new Map}const Br=(0,react_1.useMemo)(()=>{if(!g)return"";try{const e=new URL(g.url).pathname.split("/").filter(Boolean);return e.length>0?`/${e.slice(-2).join("/")}`:"/"}catch{const t=g.url.split("/").filter(Boolean);return t.length>0?`/${t.slice(-2).join("/")}`:g.url}},[g]),qr=(0,react_1.useMemo)(()=>g?(0,helpers_1.formatDisplayUrl)(g.url):"",[g]),Hr=(0,react_1.useCallback)(t=>{oe(e=>{const s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},[]),ds=(0,react_1.useMemo)(()=>({visible:x,setVisible:$,closeModal:Fr,isMinimized:Ct,setIsMinimized:Ke,minimizeInspector:Gr,isReady:vt,enabled:a,isEnabled:a,appIcon:d,environment:b,modalHeightPercent:Ae,setModalHeightPercent:Je,modalAnimationType:Re,setModalAnimationType:Xe,hasNavigationContext:Sr,setNavState:bt,activeTab:p,switchActiveTab:lr,tabVisibility:h,toggleTabVisibility:cr,lastReadApisCount:Xt,lastReadLogsCount:$t,mediaCount:Zt,refreshMediaCount:Ie,selected:g,setSelected:Qe,selectedEvent:fr,setSelectedEvent:Ve,selectedLog:Gt,setSelectedLog:ot,showHeaderInfo:It,setShowHeaderInfo:Kr,settingsPage:nr,setSettingsPage:rs,isAboutOpen:or,setIsAboutOpen:ss,updateAvailable:ur,latestNpmVersion:pe,clearAnim:ye,activePulseAnim:me,unreadPulseAnim:be,runClearAllWithAnimation:Lr,useNativeFab:q,fabPan:S,fabPanResponder:Pr,fabDraggedRef:Ue,pulseAnim:ge,fabShineAnim:xe,logs:y,filteredLogs:N,groupedData:wr,search:J,setSearch:Lt,searchScope:Ee,setSearchScope:Ur,isRegexSearch:we,setIsRegexSearch:zr,isCaseSensitive:Ne,setIsCaseSensitive:Wr,quickFilter:A,setQuickFilter:$r,statusFilters:ae,setStatusFilters:tt,methodFilters:ie,setMethodFilters:rt,availableMethods:Rr,sortOrder:Me,setSortOrder:Qr,selectedLogs:Oe,toggleSelect:Hr,minStart:Nr,totalRange:Mr,newLogIds:Cr,toggleSectionFilter:Or,toggleSectionCollapse:Er,handleDelete:Dr,isNetworkPaused:X,setIsNetworkPaused:Zr,detailTitle:Br,detailDisplayUrl:qr,apiDetailActiveTab:Nt,setApiDetailActiveTab:Mt,detailSearch:At,setDetailSearch:Ye,reqExpanded:_t,setReqExpanded:kt,resExpanded:Ft,setResExpanded:Dt,showReqDiff:Bt,setShowReqDiff:qt,showResDiff:Ht,setShowResDiff:Vt,prevRequestData:jr,prevResponseData:Tr,logRouteMapRef:P,consoleLogs:G,visibleConsoleLogs:k,filteredConsoleLogs:_r,logSearch:R,setLogSearch:rr,logFilters:O,setLogFilters:sr,logCounts:kr,logSortOrder:je,setLogSortOrder:Yr,isConsolePaused:K,setIsConsolePaused:es,analyticsEvents:Te,filteredAnalyticsEvents:Ir,analyticsSearch:se,setAnalyticsSearch:pr,analyticsFilters:o,setAnalyticsFilters:dr,isAnalyticsFilterApplied:gr,resetAnalyticsFilters:mr,newEventIds:yr,isAnalyticsLayoutReady:br,setIsAnalyticsLayoutReady:us,analyticsHeaderExpanded:xr,setAnalyticsHeaderExpanded:cs,isAnalyticsPaused:Q,setIsAnalyticsPaused:ts,reduxState:ht,setReduxState:Pe,reduxLastActionMap:St,reduxSearch:Rt,setReduxSearch:Jr,selectedReduxSlice:Ot,setSelectedReduxSlice:Ze,selectedReduxAction:Et,setSelectedReduxAction:et,reduxActiveSubTab:wt,setReduxActiveSubTab:Xr,crashRecords:fe,setCrashRecords:T,selectedCrash:tr,setSelectedCrash:Y,lastReadCrashesCount:Qt,maxCrashLogs:I,setMaxCrashLogs:_e,clearAllCrashes:()=>{(0,crashHandler_1.clearCrashRecords)(),T([]),Y(null)},settingsActiveSubTab:ar,setSettingsActiveSubTab:ns,defaultTab:D,setDefaultTab:He,isDark:ve,setIsDark:$e,showDuplicateLogs:B,setShowDuplicateLogs:ft,showUpdateToast:pt,setShowUpdateToast:dt,showConsoleLevels:_,setShowConsoleLevels:at,resetToDefaults:as,storage:i,maxNetworkLogs:F,setMaxNetworkLogs:De,maxConsoleLogs:Z,setMaxConsoleLogs:ke,maxAnalyticsEventsLimit:ee,setMaxAnalyticsEventsLimit:Be,isAutoRamLimitEnabled:te,setIsAutoRamLimitEnabled:it,deviceFreeRamMb:ut,reduxAutoRefresh:re,setReduxAutoRefreshState:ct,reduxExpandDepth:qe,setReduxExpandDepth:lt}),[x,Fr,vt,a,d,b,Ae,Re,Sr,bt,p,lr,h,cr,Xt,$t,Zt,Ie,g,fr,Gt,It,nr,or,ur,pe,ye,me,be,Lr,q,S,Pr,ge,xe,y,N,wr,J,Ee,we,Ne,A,ae,ie,Rr,Me,Oe,Hr,Nr,Mr,Cr,Or,Er,Dr,X,Br,qr,Nt,At,_t,Ft,Bt,Ht,jr,Tr,G,k,_r,R,O,kr,je,K,Te,Ir,se,o,gr,mr,yr,br,xr,Q,ht,St,Rt,Ot,Et,wt,fe,tr,Qt,I,ar,D,ve,B,pt,_,i,F,Z,ee,te,ut,re,qe,Ct]);return<InspectorContext_1.InspectorContext.Provider value={ds}>
2
+ <MainScreen_1.default/>
3
+ </InspectorContext_1.InspectorContext.Provider>},NetworkInspectorWrapper=a=>{const i=a?.enabled??!0,l=a?.telemetry??!0;return(0,react_1.useEffect)(()=>(i?l?(0,telemetry_1.trackActiveTelemetryHeartbeat)(!0,a?.environment):(0,telemetry_1.setTelemetryEnabled)(!1):((0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{}),(0,telemetry_1.setTelemetryEnabled)(!1)),()=>{(0,NativeInspector_2.hideNativeFloatingButton)().catch(()=>{})}),[i,l,a?.environment]),i?<i18n_1.I18nextProvider i18n={i18n_1.i18n}>
1991
4
  <ErrorBoundary_1.default fallbackType="inline">
1992
- <NetworkInspector {...props} enabled={enabled}/>
5
+ <NetworkInspector{...a}enabled={i}/>
1993
6
  </ErrorBoundary_1.default>
1994
- </i18n_1.I18nextProvider>);
1995
- };
1996
- exports.default = NetworkInspectorWrapper;
1997
- var networkLogger_2 = require("./customHooks/networkLogger");
1998
- Object.defineProperty(exports, "setupNetworkLogger", { enumerable: true, get: function () { return networkLogger_2.setupNetworkLogger; } });
1999
- Object.defineProperty(exports, "clearNetworkLogs", { enumerable: true, get: function () { return networkLogger_2.clearNetworkLogs; } });
2000
- Object.defineProperty(exports, "subscribeNetworkLogs", { enumerable: true, get: function () { return networkLogger_2.subscribeNetworkLogs; } });
2001
- Object.defineProperty(exports, "addAxiosInterceptors", { enumerable: true, get: function () { return networkLogger_2.addAxiosInterceptors; } });
2002
- var consoleLogger_2 = require("./customHooks/consoleLogger");
2003
- Object.defineProperty(exports, "setupConsoleLogger", { enumerable: true, get: function () { return consoleLogger_2.setupConsoleLogger; } });
2004
- Object.defineProperty(exports, "clearConsoleLogs", { enumerable: true, get: function () { return consoleLogger_2.clearConsoleLogs; } });
2005
- Object.defineProperty(exports, "subscribeConsoleLogs", { enumerable: true, get: function () { return consoleLogger_2.subscribeConsoleLogs; } });
2006
- var analyticsLogger_2 = require("./customHooks/analyticsLogger");
2007
- Object.defineProperty(exports, "setupAnalyticsLogger", { enumerable: true, get: function () { return analyticsLogger_2.setupAnalyticsLogger; } });
2008
- Object.defineProperty(exports, "logAnalyticsEvent", { enumerable: true, get: function () { return analyticsLogger_2.logAnalyticsEvent; } });
2009
- Object.defineProperty(exports, "subscribeAnalyticsEvents", { enumerable: true, get: function () { return analyticsLogger_2.subscribeAnalyticsEvents; } });
2010
- Object.defineProperty(exports, "clearAnalyticsEvents", { enumerable: true, get: function () { return analyticsLogger_2.clearAnalyticsEvents; } });
2011
- Object.defineProperty(exports, "getCurrentUserProperties", { enumerable: true, get: function () { return analyticsLogger_2.getCurrentUserProperties; } });
2012
- Object.defineProperty(exports, "getCurrentUserId", { enumerable: true, get: function () { return analyticsLogger_2.getCurrentUserId; } });
2013
- Object.defineProperty(exports, "getDefaultEventParameters", { enumerable: true, get: function () { return analyticsLogger_2.getDefaultEventParameters; } });
2014
- Object.defineProperty(exports, "getCollectionEnabled", { enumerable: true, get: function () { return analyticsLogger_2.getCollectionEnabled; } });
2015
- var crashHandler_2 = require("./customHooks/crashHandler");
2016
- Object.defineProperty(exports, "setupGlobalCrashHandler", { enumerable: true, get: function () { return crashHandler_2.setupGlobalCrashHandler; } });
2017
- Object.defineProperty(exports, "subscribeCrashEvents", { enumerable: true, get: function () { return crashHandler_2.subscribeCrashEvents; } });
2018
- Object.defineProperty(exports, "emitCrashEvent", { enumerable: true, get: function () { return crashHandler_2.emitCrashEvent; } });
2019
- Object.defineProperty(exports, "getCrashRecords", { enumerable: true, get: function () { return crashHandler_2.getCrashRecords; } });
2020
- Object.defineProperty(exports, "clearCrashRecords", { enumerable: true, get: function () { return crashHandler_2.clearCrashRecords; } });
2021
- Object.defineProperty(exports, "simulateTestCrash", { enumerable: true, get: function () { return crashHandler_2.simulateTestCrash; } });
2022
- Object.defineProperty(exports, "exportCrashReport", { enumerable: true, get: function () { return crashHandler_2.exportCrashReport; } });
2023
- Object.defineProperty(exports, "parseCrashStackTrace", { enumerable: true, get: function () { return crashHandler_2.parseCrashStackTrace; } });
2024
- Object.defineProperty(exports, "recordCustomCrash", { enumerable: true, get: function () { return crashHandler_2.recordCustomCrash; } });
2025
- Object.defineProperty(exports, "addCrashBreadcrumb", { enumerable: true, get: function () { return crashHandler_2.addCrashBreadcrumb; } });
2026
- Object.defineProperty(exports, "recordNavigationBreadcrumb", { enumerable: true, get: function () { return crashHandler_2.recordNavigationBreadcrumb; } });
2027
- Object.defineProperty(exports, "recordNetworkBreadcrumb", { enumerable: true, get: function () { return crashHandler_2.recordNetworkBreadcrumb; } });
2028
- Object.defineProperty(exports, "recordReduxBreadcrumb", { enumerable: true, get: function () { return crashHandler_2.recordReduxBreadcrumb; } });
2029
- Object.defineProperty(exports, "recordUserActionBreadcrumb", { enumerable: true, get: function () { return crashHandler_2.recordUserActionBreadcrumb; } });
2030
- Object.defineProperty(exports, "computeCrashFingerprint", { enumerable: true, get: function () { return crashHandler_2.computeCrashFingerprint; } });
2031
- var CrashTab_1 = require("./components/Inspector/CrashTab");
2032
- Object.defineProperty(exports, "CrashTab", { enumerable: true, get: function () { return __importDefault(CrashTab_1).default; } });
2033
- var ErrorBoundary_2 = require("./components/ErrorBoundary");
2034
- Object.defineProperty(exports, "ErrorBoundary", { enumerable: true, get: function () { return __importDefault(ErrorBoundary_2).default; } });
2035
- var reduxLogger_2 = require("./customHooks/reduxLogger");
2036
- Object.defineProperty(exports, "connectReduxStore", { enumerable: true, get: function () { return reduxLogger_2.connectReduxStore; } });
2037
- Object.defineProperty(exports, "inspectorReduxMiddleware", { enumerable: true, get: function () { return reduxLogger_2.inspectorReduxMiddleware; } });
2038
- Object.defineProperty(exports, "getReduxState", { enumerable: true, get: function () { return reduxLogger_2.getReduxState; } });
2039
- Object.defineProperty(exports, "subscribeReduxState", { enumerable: true, get: function () { return reduxLogger_2.subscribeReduxState; } });
2040
- Object.defineProperty(exports, "getActionHistory", { enumerable: true, get: function () { return reduxLogger_2.getActionHistory; } });
2041
- Object.defineProperty(exports, "clearActionHistory", { enumerable: true, get: function () { return reduxLogger_2.clearActionHistory; } });
2042
- Object.defineProperty(exports, "getLastActionForReducer", { enumerable: true, get: function () { return reduxLogger_2.getLastActionForReducer; } });
2043
- var gaAnalyticsRegistry_1 = require("./helpers/gaAnalyticsRegistry");
2044
- Object.defineProperty(exports, "getEventCategory", { enumerable: true, get: function () { return gaAnalyticsRegistry_1.getEventCategory; } });
2045
- Object.defineProperty(exports, "registerGAPlugin", { enumerable: true, get: function () { return gaAnalyticsRegistry_1.registerGAPlugin; } });
2046
- var performanceTracker_2 = require("./customHooks/performanceTracker");
2047
- Object.defineProperty(exports, "usePerformanceTracker", { enumerable: true, get: function () { return performanceTracker_2.usePerformanceTracker; } });
2048
- Object.defineProperty(exports, "useComponentProfiler", { enumerable: true, get: function () { return performanceTracker_2.useComponentProfiler; } });
2049
- Object.defineProperty(exports, "useNavigationProfiler", { enumerable: true, get: function () { return performanceTracker_2.useNavigationProfiler; } });
2050
- Object.defineProperty(exports, "trackComponentRender", { enumerable: true, get: function () { return performanceTracker_2.trackComponentRender; } });
2051
- Object.defineProperty(exports, "trackNavigationTransition", { enumerable: true, get: function () { return performanceTracker_2.trackNavigationTransition; } });
2052
- Object.defineProperty(exports, "trackHeavyTask", { enumerable: true, get: function () { return performanceTracker_2.trackHeavyTask; } });
2053
- Object.defineProperty(exports, "measureAsync", { enumerable: true, get: function () { return performanceTracker_2.measureAsync; } });
2054
- Object.defineProperty(exports, "getHermesMemoryStats", { enumerable: true, get: function () { return performanceTracker_2.getHermesMemoryStats; } });
2055
- Object.defineProperty(exports, "registerComponentProfile", { enumerable: true, get: function () { return performanceTracker_2.registerComponentProfile; } });
2056
- Object.defineProperty(exports, "subscribeRenderProfiles", { enumerable: true, get: function () { return performanceTracker_2.subscribeRenderProfiles; } });
2057
- Object.defineProperty(exports, "getRenderProfiles", { enumerable: true, get: function () { return performanceTracker_2.getRenderProfiles; } });
2058
- Object.defineProperty(exports, "logPerformanceEvent", { enumerable: true, get: function () { return performanceTracker_2.logPerformanceEvent; } });
2059
- Object.defineProperty(exports, "clearPerformanceEvents", { enumerable: true, get: function () { return performanceTracker_2.clearPerformanceEvents; } });
2060
- Object.defineProperty(exports, "subscribePerformanceEvents", { enumerable: true, get: function () { return performanceTracker_2.subscribePerformanceEvents; } });
2061
- Object.defineProperty(exports, "getPerformanceEvents", { enumerable: true, get: function () { return performanceTracker_2.getPerformanceEvents; } });
2062
- Object.defineProperty(exports, "getInitialRenderProfiles", { enumerable: true, get: function () { return performanceTracker_2.getInitialRenderProfiles; } });
2063
- Object.defineProperty(exports, "getInitialPerformanceEvents", { enumerable: true, get: function () { return performanceTracker_2.getInitialPerformanceEvents; } });
2064
- Object.defineProperty(exports, "generateFixSnippet", { enumerable: true, get: function () { return performanceTracker_2.generateFixSnippet; } });
2065
- var decorators_1 = require("./decorators");
2066
- Object.defineProperty(exports, "InspectLog", { enumerable: true, get: function () { return decorators_1.InspectLog; } });
2067
- Object.defineProperty(exports, "InspectTrackTime", { enumerable: true, get: function () { return decorators_1.InspectTrackTime; } });
2068
- Object.defineProperty(exports, "InspectCatch", { enumerable: true, get: function () { return decorators_1.InspectCatch; } });
2069
- var NativeInspector_3 = require("./native/NativeInspector");
2070
- Object.defineProperty(exports, "getNativeDeviceMetrics", { enumerable: true, get: function () { return NativeInspector_3.getNativeDeviceMetrics; } });
2071
- Object.defineProperty(exports, "enableNativeCrashProtection", { enumerable: true, get: function () { return NativeInspector_3.enableNativeCrashProtection; } });
2072
- Object.defineProperty(exports, "subscribeNativeCrashes", { enumerable: true, get: function () { return NativeInspector_3.subscribeNativeCrashes; } });
2073
- Object.defineProperty(exports, "showNativeFloatingButton", { enumerable: true, get: function () { return NativeInspector_3.showNativeFloatingButton; } });
2074
- Object.defineProperty(exports, "hideNativeFloatingButton", { enumerable: true, get: function () { return NativeInspector_3.hideNativeFloatingButton; } });
2075
- Object.defineProperty(exports, "setNativeFloatingButtonBadge", { enumerable: true, get: function () { return NativeInspector_3.setNativeFloatingButtonBadge; } });
2076
- Object.defineProperty(exports, "subscribeNativeFloatingButtonPress", { enumerable: true, get: function () { return NativeInspector_3.subscribeNativeFloatingButtonPress; } });
2077
- Object.defineProperty(exports, "subscribeNativeDeviceShake", { enumerable: true, get: function () { return NativeInspector_3.subscribeNativeDeviceShake; } });
2078
- Object.defineProperty(exports, "startNativeFpsMonitoring", { enumerable: true, get: function () { return NativeInspector_3.startNativeFpsMonitoring; } });
2079
- Object.defineProperty(exports, "stopNativeFpsMonitoring", { enumerable: true, get: function () { return NativeInspector_3.stopNativeFpsMonitoring; } });
2080
- Object.defineProperty(exports, "getNativeFpsMetrics", { enumerable: true, get: function () { return NativeInspector_3.getNativeFpsMetrics; } });
2081
- Object.defineProperty(exports, "getNativeStorageItem", { enumerable: true, get: function () { return NativeInspector_3.getNativeStorageItem; } });
2082
- Object.defineProperty(exports, "setNativeStorageItem", { enumerable: true, get: function () { return NativeInspector_3.setNativeStorageItem; } });
2083
- Object.defineProperty(exports, "isNativeModuleAvailable", { enumerable: true, get: function () { return NativeInspector_3.isNativeModuleAvailable; } });
2084
- var helpers_2 = require("./helpers");
2085
- Object.defineProperty(exports, "setupMemoryWarningHandler", { enumerable: true, get: function () { return helpers_2.setupMemoryWarningHandler; } });
2086
- Object.defineProperty(exports, "pruneAllLogs", { enumerable: true, get: function () { return helpers_2.pruneAllLogs; } });
2087
- Object.defineProperty(exports, "subscribeMemoryWarning", { enumerable: true, get: function () { return helpers_2.subscribeMemoryWarning; } });
2088
- var networkLogger_3 = require("./customHooks/networkLogger");
2089
- Object.defineProperty(exports, "setMaxNetworkLogsLimit", { enumerable: true, get: function () { return networkLogger_3.setMaxNetworkLogsLimit; } });
2090
- Object.defineProperty(exports, "getMaxNetworkLogsLimit", { enumerable: true, get: function () { return networkLogger_3.getMaxNetworkLogsLimit; } });
2091
- Object.defineProperty(exports, "pruneNetworkLogs", { enumerable: true, get: function () { return networkLogger_3.pruneNetworkLogs; } });
2092
- var consoleLogger_3 = require("./customHooks/consoleLogger");
2093
- Object.defineProperty(exports, "setMaxConsoleLogsLimit", { enumerable: true, get: function () { return consoleLogger_3.setMaxConsoleLogsLimit; } });
2094
- Object.defineProperty(exports, "getMaxConsoleLogsLimit", { enumerable: true, get: function () { return consoleLogger_3.getMaxConsoleLogsLimit; } });
2095
- Object.defineProperty(exports, "pruneConsoleLogs", { enumerable: true, get: function () { return consoleLogger_3.pruneConsoleLogs; } });
2096
- var reduxLogger_3 = require("./customHooks/reduxLogger");
2097
- Object.defineProperty(exports, "setMaxReduxHistoryLimit", { enumerable: true, get: function () { return reduxLogger_3.setMaxReduxHistoryLimit; } });
2098
- Object.defineProperty(exports, "getMaxReduxHistoryLimit", { enumerable: true, get: function () { return reduxLogger_3.getMaxReduxHistoryLimit; } });
2099
- Object.defineProperty(exports, "pruneReduxHistory", { enumerable: true, get: function () { return reduxLogger_3.pruneReduxHistory; } });
2100
- var analyticsLogger_3 = require("./customHooks/analyticsLogger");
2101
- Object.defineProperty(exports, "setMaxAnalyticsLogsLimit", { enumerable: true, get: function () { return analyticsLogger_3.setMaxAnalyticsLogsLimit; } });
2102
- Object.defineProperty(exports, "getMaxAnalyticsLogsLimit", { enumerable: true, get: function () { return analyticsLogger_3.getMaxAnalyticsLogsLimit; } });
2103
- Object.defineProperty(exports, "pruneAnalyticsLogs", { enumerable: true, get: function () { return analyticsLogger_3.pruneAnalyticsLogs; } });
2104
- var crashHandler_3 = require("./customHooks/crashHandler");
2105
- Object.defineProperty(exports, "getMaxCrashLogsLimit", { enumerable: true, get: function () { return crashHandler_3.getMaxCrashLogsLimit; } });
2106
- Object.defineProperty(exports, "pruneCrashRecords", { enumerable: true, get: function () { return crashHandler_3.pruneCrashRecords; } });
2107
- var performanceTracker_3 = require("./customHooks/performanceTracker");
2108
- Object.defineProperty(exports, "setMaxPerformanceEventsLimit", { enumerable: true, get: function () { return performanceTracker_3.setMaxPerformanceEventsLimit; } });
2109
- Object.defineProperty(exports, "getMaxPerformanceEventsLimit", { enumerable: true, get: function () { return performanceTracker_3.getMaxPerformanceEventsLimit; } });
2110
- Object.defineProperty(exports, "prunePerformanceEvents", { enumerable: true, get: function () { return performanceTracker_3.prunePerformanceEvents; } });
2111
- var NetworkIcons_1 = require("./components/NetworkIcons");
2112
- Object.defineProperty(exports, "BrandSquareIcon", { enumerable: true, get: function () { return NetworkIcons_1.BrandSquareIcon; } });
2113
- Object.defineProperty(exports, "BrandCircleIcon", { enumerable: true, get: function () { return NetworkIcons_1.BrandCircleIcon; } });
2114
- var storageInspector_1 = require("./customHooks/storageInspector");
2115
- Object.defineProperty(exports, "connectAsyncStorage", { enumerable: true, get: function () { return storageInspector_1.connectAsyncStorage; } });
2116
- Object.defineProperty(exports, "connectMMKV", { enumerable: true, get: function () { return storageInspector_1.connectMMKV; } });
2117
- Object.defineProperty(exports, "isAsyncStorageConnected", { enumerable: true, get: function () { return storageInspector_1.isAsyncStorageConnected; } });
2118
- Object.defineProperty(exports, "isMMKVConnected", { enumerable: true, get: function () { return storageInspector_1.isMMKVConnected; } });
2119
- Object.defineProperty(exports, "getRegisteredMMKVInstanceIds", { enumerable: true, get: function () { return storageInspector_1.getRegisteredMMKVInstanceIds; } });
2120
- Object.defineProperty(exports, "fetchStorageEntries", { enumerable: true, get: function () { return storageInspector_1.fetchStorageEntries; } });
2121
- Object.defineProperty(exports, "setStorageEntry", { enumerable: true, get: function () { return storageInspector_1.setStorageEntry; } });
2122
- Object.defineProperty(exports, "removeStorageEntry", { enumerable: true, get: function () { return storageInspector_1.removeStorageEntry; } });
2123
- Object.defineProperty(exports, "clearStorageDriver", { enumerable: true, get: function () { return storageInspector_1.clearStorageDriver; } });
2124
- Object.defineProperty(exports, "subscribeToStorageChanges", { enumerable: true, get: function () { return storageInspector_1.subscribeToStorageChanges; } });
2125
- var types_1 = require("./types");
2126
- Object.defineProperty(exports, "ActiveTab", { enumerable: true, get: function () { return types_1.ActiveTab; } });
2127
- Object.defineProperty(exports, "Method", { enumerable: true, get: function () { return types_1.Method; } });
2128
- Object.defineProperty(exports, "StatusFilter", { enumerable: true, get: function () { return types_1.StatusFilter; } });
2129
- Object.defineProperty(exports, "SortOrder", { enumerable: true, get: function () { return types_1.SortOrder; } });
2130
- Object.defineProperty(exports, "LocalFilter", { enumerable: true, get: function () { return types_1.LocalFilter; } });
2131
- Object.defineProperty(exports, "ModalAnimationType", { enumerable: true, get: function () { return types_1.ModalAnimationType; } });
2132
- Object.defineProperty(exports, "SettingsPage", { enumerable: true, get: function () { return types_1.SettingsPage; } });
2133
- Object.defineProperty(exports, "SettingsSubTab", { enumerable: true, get: function () { return types_1.SettingsSubTab; } });
2134
- Object.defineProperty(exports, "LogFilter", { enumerable: true, get: function () { return types_1.LogFilter; } });
2135
- Object.defineProperty(exports, "ConsoleLogType", { enumerable: true, get: function () { return types_1.ConsoleLogType; } });
2136
- Object.defineProperty(exports, "AnalyticsEventSource", { enumerable: true, get: function () { return types_1.AnalyticsEventSource; } });
2137
- Object.defineProperty(exports, "GAEventCategory", { enumerable: true, get: function () { return types_1.GAEventCategory; } });
2138
- Object.defineProperty(exports, "StackFrameType", { enumerable: true, get: function () { return types_1.StackFrameType; } });
2139
- Object.defineProperty(exports, "DiffResultType", { enumerable: true, get: function () { return types_1.DiffResultType; } });
2140
- Object.defineProperty(exports, "BundleSubTab", { enumerable: true, get: function () { return types_1.BundleSubTab; } });
2141
- Object.defineProperty(exports, "PerformanceSubTab", { enumerable: true, get: function () { return types_1.PerformanceSubTab; } });
2142
- Object.defineProperty(exports, "CrashType", { enumerable: true, get: function () { return types_1.CrashType; } });
2143
- Object.defineProperty(exports, "CrashExportFormat", { enumerable: true, get: function () { return types_1.CrashExportFormat; } });
2144
- Object.defineProperty(exports, "CrashDetailSubTab", { enumerable: true, get: function () { return types_1.CrashDetailSubTab; } });
2145
- Object.defineProperty(exports, "CrashFilterType", { enumerable: true, get: function () { return types_1.CrashFilterType; } });
2146
- Object.defineProperty(exports, "BreadcrumbType", { enumerable: true, get: function () { return types_1.BreadcrumbType; } });
2147
- var AppFonts_1 = require("./styles/AppFonts");
2148
- Object.defineProperty(exports, "AppFonts", { enumerable: true, get: function () { return AppFonts_1.AppFonts; } });
2149
- Object.defineProperty(exports, "setAppFonts", { enumerable: true, get: function () { return AppFonts_1.setAppFonts; } });
2150
- var AppColors_1 = require("./styles/AppColors");
2151
- Object.defineProperty(exports, "AppColors", { enumerable: true, get: function () { return AppColors_1.AppColors; } });
2152
- Object.defineProperty(exports, "setAppColors", { enumerable: true, get: function () { return AppColors_1.setAppColors; } });
2153
- Object.defineProperty(exports, "getThemeColors", { enumerable: true, get: function () { return AppColors_1.getThemeColors; } });
2154
- Object.defineProperty(exports, "updateAppColorsTheme", { enumerable: true, get: function () { return AppColors_1.updateAppColorsTheme; } });
2155
- var i18n_2 = require("./i18n");
2156
- Object.defineProperty(exports, "t", { enumerable: true, get: function () { return i18n_2.t; } });
2157
- Object.defineProperty(exports, "i18n", { enumerable: true, get: function () { return i18n_2.i18n; } });
2158
- Object.defineProperty(exports, "useTranslation", { enumerable: true, get: function () { return i18n_2.useTranslation; } });
2159
- Object.defineProperty(exports, "setLanguage", { enumerable: true, get: function () { return i18n_2.setLanguage; } });
2160
- Object.defineProperty(exports, "addTranslations", { enumerable: true, get: function () { return i18n_2.addTranslations; } });
2161
- Object.defineProperty(exports, "setTranslations", { enumerable: true, get: function () { return i18n_2.setTranslations; } });
2162
- Object.defineProperty(exports, "I18nextProvider", { enumerable: true, get: function () { return i18n_2.I18nextProvider; } });
2163
- var remoteConfig_2 = require("./helpers/remoteConfig");
2164
- Object.defineProperty(exports, "fetchRemoteConfigModuleStatus", { enumerable: true, get: function () { return remoteConfig_2.fetchRemoteConfigModuleStatus; } });
2165
- Object.defineProperty(exports, "isFirebaseRemoteConfigAvailable", { enumerable: true, get: function () { return remoteConfig_2.isFirebaseRemoteConfigAvailable; } });
2166
- var capture_2 = require("./capture");
2167
- Object.defineProperty(exports, "ScreenCapture", { enumerable: true, get: function () { return capture_2.ScreenCapture; } });
2168
- Object.defineProperty(exports, "ScreenRecorder", { enumerable: true, get: function () { return capture_2.ScreenRecorder; } });
2169
- var version_1 = require("./constants/version");
2170
- Object.defineProperty(exports, "LIB_VERSION", { enumerable: true, get: function () { return version_1.LIB_VERSION; } });
7
+ </i18n_1.I18nextProvider>:null};exports.default=NetworkInspectorWrapper;var networkLogger_2=require("./customHooks/networkLogger");Object.defineProperty(exports,"setupNetworkLogger",{enumerable:!0,get:function(){return networkLogger_2.setupNetworkLogger}}),Object.defineProperty(exports,"clearNetworkLogs",{enumerable:!0,get:function(){return networkLogger_2.clearNetworkLogs}}),Object.defineProperty(exports,"subscribeNetworkLogs",{enumerable:!0,get:function(){return networkLogger_2.subscribeNetworkLogs}}),Object.defineProperty(exports,"addAxiosInterceptors",{enumerable:!0,get:function(){return networkLogger_2.addAxiosInterceptors}});var consoleLogger_2=require("./customHooks/consoleLogger");Object.defineProperty(exports,"setupConsoleLogger",{enumerable:!0,get:function(){return consoleLogger_2.setupConsoleLogger}}),Object.defineProperty(exports,"clearConsoleLogs",{enumerable:!0,get:function(){return consoleLogger_2.clearConsoleLogs}}),Object.defineProperty(exports,"subscribeConsoleLogs",{enumerable:!0,get:function(){return consoleLogger_2.subscribeConsoleLogs}});var analyticsLogger_2=require("./customHooks/analyticsLogger");Object.defineProperty(exports,"setupAnalyticsLogger",{enumerable:!0,get:function(){return analyticsLogger_2.setupAnalyticsLogger}}),Object.defineProperty(exports,"logAnalyticsEvent",{enumerable:!0,get:function(){return analyticsLogger_2.logAnalyticsEvent}}),Object.defineProperty(exports,"subscribeAnalyticsEvents",{enumerable:!0,get:function(){return analyticsLogger_2.subscribeAnalyticsEvents}}),Object.defineProperty(exports,"clearAnalyticsEvents",{enumerable:!0,get:function(){return analyticsLogger_2.clearAnalyticsEvents}}),Object.defineProperty(exports,"getCurrentUserProperties",{enumerable:!0,get:function(){return analyticsLogger_2.getCurrentUserProperties}}),Object.defineProperty(exports,"getCurrentUserId",{enumerable:!0,get:function(){return analyticsLogger_2.getCurrentUserId}}),Object.defineProperty(exports,"getDefaultEventParameters",{enumerable:!0,get:function(){return analyticsLogger_2.getDefaultEventParameters}}),Object.defineProperty(exports,"getCollectionEnabled",{enumerable:!0,get:function(){return analyticsLogger_2.getCollectionEnabled}});var crashHandler_2=require("./customHooks/crashHandler");Object.defineProperty(exports,"setupGlobalCrashHandler",{enumerable:!0,get:function(){return crashHandler_2.setupGlobalCrashHandler}}),Object.defineProperty(exports,"subscribeCrashEvents",{enumerable:!0,get:function(){return crashHandler_2.subscribeCrashEvents}}),Object.defineProperty(exports,"emitCrashEvent",{enumerable:!0,get:function(){return crashHandler_2.emitCrashEvent}}),Object.defineProperty(exports,"getCrashRecords",{enumerable:!0,get:function(){return crashHandler_2.getCrashRecords}}),Object.defineProperty(exports,"clearCrashRecords",{enumerable:!0,get:function(){return crashHandler_2.clearCrashRecords}}),Object.defineProperty(exports,"simulateTestCrash",{enumerable:!0,get:function(){return crashHandler_2.simulateTestCrash}}),Object.defineProperty(exports,"exportCrashReport",{enumerable:!0,get:function(){return crashHandler_2.exportCrashReport}}),Object.defineProperty(exports,"parseCrashStackTrace",{enumerable:!0,get:function(){return crashHandler_2.parseCrashStackTrace}}),Object.defineProperty(exports,"recordCustomCrash",{enumerable:!0,get:function(){return crashHandler_2.recordCustomCrash}}),Object.defineProperty(exports,"addCrashBreadcrumb",{enumerable:!0,get:function(){return crashHandler_2.addCrashBreadcrumb}}),Object.defineProperty(exports,"recordNavigationBreadcrumb",{enumerable:!0,get:function(){return crashHandler_2.recordNavigationBreadcrumb}}),Object.defineProperty(exports,"recordNetworkBreadcrumb",{enumerable:!0,get:function(){return crashHandler_2.recordNetworkBreadcrumb}}),Object.defineProperty(exports,"recordReduxBreadcrumb",{enumerable:!0,get:function(){return crashHandler_2.recordReduxBreadcrumb}}),Object.defineProperty(exports,"recordUserActionBreadcrumb",{enumerable:!0,get:function(){return crashHandler_2.recordUserActionBreadcrumb}}),Object.defineProperty(exports,"computeCrashFingerprint",{enumerable:!0,get:function(){return crashHandler_2.computeCrashFingerprint}});var CrashTab_1=require("./components/Inspector/CrashTab");Object.defineProperty(exports,"CrashTab",{enumerable:!0,get:function(){return __importDefault(CrashTab_1).default}});var ErrorBoundary_2=require("./components/ErrorBoundary");Object.defineProperty(exports,"ErrorBoundary",{enumerable:!0,get:function(){return __importDefault(ErrorBoundary_2).default}});var reduxLogger_2=require("./customHooks/reduxLogger");Object.defineProperty(exports,"connectReduxStore",{enumerable:!0,get:function(){return reduxLogger_2.connectReduxStore}}),Object.defineProperty(exports,"inspectorReduxMiddleware",{enumerable:!0,get:function(){return reduxLogger_2.inspectorReduxMiddleware}}),Object.defineProperty(exports,"getReduxState",{enumerable:!0,get:function(){return reduxLogger_2.getReduxState}}),Object.defineProperty(exports,"subscribeReduxState",{enumerable:!0,get:function(){return reduxLogger_2.subscribeReduxState}}),Object.defineProperty(exports,"getActionHistory",{enumerable:!0,get:function(){return reduxLogger_2.getActionHistory}}),Object.defineProperty(exports,"clearActionHistory",{enumerable:!0,get:function(){return reduxLogger_2.clearActionHistory}}),Object.defineProperty(exports,"getLastActionForReducer",{enumerable:!0,get:function(){return reduxLogger_2.getLastActionForReducer}});var gaAnalyticsRegistry_1=require("./helpers/gaAnalyticsRegistry");Object.defineProperty(exports,"getEventCategory",{enumerable:!0,get:function(){return gaAnalyticsRegistry_1.getEventCategory}}),Object.defineProperty(exports,"registerGAPlugin",{enumerable:!0,get:function(){return gaAnalyticsRegistry_1.registerGAPlugin}});var performanceTracker_2=require("./customHooks/performanceTracker");Object.defineProperty(exports,"usePerformanceTracker",{enumerable:!0,get:function(){return performanceTracker_2.usePerformanceTracker}}),Object.defineProperty(exports,"useComponentProfiler",{enumerable:!0,get:function(){return performanceTracker_2.useComponentProfiler}}),Object.defineProperty(exports,"useNavigationProfiler",{enumerable:!0,get:function(){return performanceTracker_2.useNavigationProfiler}}),Object.defineProperty(exports,"trackComponentRender",{enumerable:!0,get:function(){return performanceTracker_2.trackComponentRender}}),Object.defineProperty(exports,"trackNavigationTransition",{enumerable:!0,get:function(){return performanceTracker_2.trackNavigationTransition}}),Object.defineProperty(exports,"trackHeavyTask",{enumerable:!0,get:function(){return performanceTracker_2.trackHeavyTask}}),Object.defineProperty(exports,"measureAsync",{enumerable:!0,get:function(){return performanceTracker_2.measureAsync}}),Object.defineProperty(exports,"getHermesMemoryStats",{enumerable:!0,get:function(){return performanceTracker_2.getHermesMemoryStats}}),Object.defineProperty(exports,"registerComponentProfile",{enumerable:!0,get:function(){return performanceTracker_2.registerComponentProfile}}),Object.defineProperty(exports,"subscribeRenderProfiles",{enumerable:!0,get:function(){return performanceTracker_2.subscribeRenderProfiles}}),Object.defineProperty(exports,"getRenderProfiles",{enumerable:!0,get:function(){return performanceTracker_2.getRenderProfiles}}),Object.defineProperty(exports,"logPerformanceEvent",{enumerable:!0,get:function(){return performanceTracker_2.logPerformanceEvent}}),Object.defineProperty(exports,"clearPerformanceEvents",{enumerable:!0,get:function(){return performanceTracker_2.clearPerformanceEvents}}),Object.defineProperty(exports,"subscribePerformanceEvents",{enumerable:!0,get:function(){return performanceTracker_2.subscribePerformanceEvents}}),Object.defineProperty(exports,"getPerformanceEvents",{enumerable:!0,get:function(){return performanceTracker_2.getPerformanceEvents}}),Object.defineProperty(exports,"getInitialRenderProfiles",{enumerable:!0,get:function(){return performanceTracker_2.getInitialRenderProfiles}}),Object.defineProperty(exports,"getInitialPerformanceEvents",{enumerable:!0,get:function(){return performanceTracker_2.getInitialPerformanceEvents}}),Object.defineProperty(exports,"generateFixSnippet",{enumerable:!0,get:function(){return performanceTracker_2.generateFixSnippet}});var decorators_1=require("./decorators");Object.defineProperty(exports,"InspectLog",{enumerable:!0,get:function(){return decorators_1.InspectLog}}),Object.defineProperty(exports,"InspectTrackTime",{enumerable:!0,get:function(){return decorators_1.InspectTrackTime}}),Object.defineProperty(exports,"InspectCatch",{enumerable:!0,get:function(){return decorators_1.InspectCatch}});var NativeInspector_3=require("./native/NativeInspector");Object.defineProperty(exports,"getNativeDeviceMetrics",{enumerable:!0,get:function(){return NativeInspector_3.getNativeDeviceMetrics}}),Object.defineProperty(exports,"enableNativeCrashProtection",{enumerable:!0,get:function(){return NativeInspector_3.enableNativeCrashProtection}}),Object.defineProperty(exports,"subscribeNativeCrashes",{enumerable:!0,get:function(){return NativeInspector_3.subscribeNativeCrashes}}),Object.defineProperty(exports,"showNativeFloatingButton",{enumerable:!0,get:function(){return NativeInspector_3.showNativeFloatingButton}}),Object.defineProperty(exports,"hideNativeFloatingButton",{enumerable:!0,get:function(){return NativeInspector_3.hideNativeFloatingButton}}),Object.defineProperty(exports,"setNativeFloatingButtonBadge",{enumerable:!0,get:function(){return NativeInspector_3.setNativeFloatingButtonBadge}}),Object.defineProperty(exports,"subscribeNativeFloatingButtonPress",{enumerable:!0,get:function(){return NativeInspector_3.subscribeNativeFloatingButtonPress}}),Object.defineProperty(exports,"subscribeNativeDeviceShake",{enumerable:!0,get:function(){return NativeInspector_3.subscribeNativeDeviceShake}}),Object.defineProperty(exports,"startNativeFpsMonitoring",{enumerable:!0,get:function(){return NativeInspector_3.startNativeFpsMonitoring}}),Object.defineProperty(exports,"stopNativeFpsMonitoring",{enumerable:!0,get:function(){return NativeInspector_3.stopNativeFpsMonitoring}}),Object.defineProperty(exports,"getNativeFpsMetrics",{enumerable:!0,get:function(){return NativeInspector_3.getNativeFpsMetrics}}),Object.defineProperty(exports,"getNativeStorageItem",{enumerable:!0,get:function(){return NativeInspector_3.getNativeStorageItem}}),Object.defineProperty(exports,"setNativeStorageItem",{enumerable:!0,get:function(){return NativeInspector_3.setNativeStorageItem}}),Object.defineProperty(exports,"isNativeModuleAvailable",{enumerable:!0,get:function(){return NativeInspector_3.isNativeModuleAvailable}});var helpers_2=require("./helpers");Object.defineProperty(exports,"setupMemoryWarningHandler",{enumerable:!0,get:function(){return helpers_2.setupMemoryWarningHandler}}),Object.defineProperty(exports,"pruneAllLogs",{enumerable:!0,get:function(){return helpers_2.pruneAllLogs}}),Object.defineProperty(exports,"subscribeMemoryWarning",{enumerable:!0,get:function(){return helpers_2.subscribeMemoryWarning}});var networkLogger_3=require("./customHooks/networkLogger");Object.defineProperty(exports,"setMaxNetworkLogsLimit",{enumerable:!0,get:function(){return networkLogger_3.setMaxNetworkLogsLimit}}),Object.defineProperty(exports,"getMaxNetworkLogsLimit",{enumerable:!0,get:function(){return networkLogger_3.getMaxNetworkLogsLimit}}),Object.defineProperty(exports,"pruneNetworkLogs",{enumerable:!0,get:function(){return networkLogger_3.pruneNetworkLogs}});var consoleLogger_3=require("./customHooks/consoleLogger");Object.defineProperty(exports,"setMaxConsoleLogsLimit",{enumerable:!0,get:function(){return consoleLogger_3.setMaxConsoleLogsLimit}}),Object.defineProperty(exports,"getMaxConsoleLogsLimit",{enumerable:!0,get:function(){return consoleLogger_3.getMaxConsoleLogsLimit}}),Object.defineProperty(exports,"pruneConsoleLogs",{enumerable:!0,get:function(){return consoleLogger_3.pruneConsoleLogs}});var reduxLogger_3=require("./customHooks/reduxLogger");Object.defineProperty(exports,"setMaxReduxHistoryLimit",{enumerable:!0,get:function(){return reduxLogger_3.setMaxReduxHistoryLimit}}),Object.defineProperty(exports,"getMaxReduxHistoryLimit",{enumerable:!0,get:function(){return reduxLogger_3.getMaxReduxHistoryLimit}}),Object.defineProperty(exports,"pruneReduxHistory",{enumerable:!0,get:function(){return reduxLogger_3.pruneReduxHistory}});var analyticsLogger_3=require("./customHooks/analyticsLogger");Object.defineProperty(exports,"setMaxAnalyticsLogsLimit",{enumerable:!0,get:function(){return analyticsLogger_3.setMaxAnalyticsLogsLimit}}),Object.defineProperty(exports,"getMaxAnalyticsLogsLimit",{enumerable:!0,get:function(){return analyticsLogger_3.getMaxAnalyticsLogsLimit}}),Object.defineProperty(exports,"pruneAnalyticsLogs",{enumerable:!0,get:function(){return analyticsLogger_3.pruneAnalyticsLogs}});var crashHandler_3=require("./customHooks/crashHandler");Object.defineProperty(exports,"getMaxCrashLogsLimit",{enumerable:!0,get:function(){return crashHandler_3.getMaxCrashLogsLimit}}),Object.defineProperty(exports,"pruneCrashRecords",{enumerable:!0,get:function(){return crashHandler_3.pruneCrashRecords}});var performanceTracker_3=require("./customHooks/performanceTracker");Object.defineProperty(exports,"setMaxPerformanceEventsLimit",{enumerable:!0,get:function(){return performanceTracker_3.setMaxPerformanceEventsLimit}}),Object.defineProperty(exports,"getMaxPerformanceEventsLimit",{enumerable:!0,get:function(){return performanceTracker_3.getMaxPerformanceEventsLimit}}),Object.defineProperty(exports,"prunePerformanceEvents",{enumerable:!0,get:function(){return performanceTracker_3.prunePerformanceEvents}});var NetworkIcons_1=require("./components/NetworkIcons");Object.defineProperty(exports,"BrandSquareIcon",{enumerable:!0,get:function(){return NetworkIcons_1.BrandSquareIcon}}),Object.defineProperty(exports,"BrandCircleIcon",{enumerable:!0,get:function(){return NetworkIcons_1.BrandCircleIcon}});var storageInspector_1=require("./customHooks/storageInspector");Object.defineProperty(exports,"connectAsyncStorage",{enumerable:!0,get:function(){return storageInspector_1.connectAsyncStorage}}),Object.defineProperty(exports,"connectMMKV",{enumerable:!0,get:function(){return storageInspector_1.connectMMKV}}),Object.defineProperty(exports,"isAsyncStorageConnected",{enumerable:!0,get:function(){return storageInspector_1.isAsyncStorageConnected}}),Object.defineProperty(exports,"isMMKVConnected",{enumerable:!0,get:function(){return storageInspector_1.isMMKVConnected}}),Object.defineProperty(exports,"getRegisteredMMKVInstanceIds",{enumerable:!0,get:function(){return storageInspector_1.getRegisteredMMKVInstanceIds}}),Object.defineProperty(exports,"fetchStorageEntries",{enumerable:!0,get:function(){return storageInspector_1.fetchStorageEntries}}),Object.defineProperty(exports,"setStorageEntry",{enumerable:!0,get:function(){return storageInspector_1.setStorageEntry}}),Object.defineProperty(exports,"removeStorageEntry",{enumerable:!0,get:function(){return storageInspector_1.removeStorageEntry}}),Object.defineProperty(exports,"clearStorageDriver",{enumerable:!0,get:function(){return storageInspector_1.clearStorageDriver}}),Object.defineProperty(exports,"subscribeToStorageChanges",{enumerable:!0,get:function(){return storageInspector_1.subscribeToStorageChanges}});var types_1=require("./types");Object.defineProperty(exports,"ActiveTab",{enumerable:!0,get:function(){return types_1.ActiveTab}}),Object.defineProperty(exports,"Method",{enumerable:!0,get:function(){return types_1.Method}}),Object.defineProperty(exports,"StatusFilter",{enumerable:!0,get:function(){return types_1.StatusFilter}}),Object.defineProperty(exports,"SortOrder",{enumerable:!0,get:function(){return types_1.SortOrder}}),Object.defineProperty(exports,"LocalFilter",{enumerable:!0,get:function(){return types_1.LocalFilter}}),Object.defineProperty(exports,"ModalAnimationType",{enumerable:!0,get:function(){return types_1.ModalAnimationType}}),Object.defineProperty(exports,"SettingsPage",{enumerable:!0,get:function(){return types_1.SettingsPage}}),Object.defineProperty(exports,"SettingsSubTab",{enumerable:!0,get:function(){return types_1.SettingsSubTab}}),Object.defineProperty(exports,"LogFilter",{enumerable:!0,get:function(){return types_1.LogFilter}}),Object.defineProperty(exports,"ConsoleLogType",{enumerable:!0,get:function(){return types_1.ConsoleLogType}}),Object.defineProperty(exports,"AnalyticsEventSource",{enumerable:!0,get:function(){return types_1.AnalyticsEventSource}}),Object.defineProperty(exports,"GAEventCategory",{enumerable:!0,get:function(){return types_1.GAEventCategory}}),Object.defineProperty(exports,"StackFrameType",{enumerable:!0,get:function(){return types_1.StackFrameType}}),Object.defineProperty(exports,"DiffResultType",{enumerable:!0,get:function(){return types_1.DiffResultType}}),Object.defineProperty(exports,"BundleSubTab",{enumerable:!0,get:function(){return types_1.BundleSubTab}}),Object.defineProperty(exports,"PerformanceSubTab",{enumerable:!0,get:function(){return types_1.PerformanceSubTab}}),Object.defineProperty(exports,"CrashType",{enumerable:!0,get:function(){return types_1.CrashType}}),Object.defineProperty(exports,"CrashExportFormat",{enumerable:!0,get:function(){return types_1.CrashExportFormat}}),Object.defineProperty(exports,"CrashDetailSubTab",{enumerable:!0,get:function(){return types_1.CrashDetailSubTab}}),Object.defineProperty(exports,"CrashFilterType",{enumerable:!0,get:function(){return types_1.CrashFilterType}}),Object.defineProperty(exports,"BreadcrumbType",{enumerable:!0,get:function(){return types_1.BreadcrumbType}});var AppFonts_1=require("./styles/AppFonts");Object.defineProperty(exports,"AppFonts",{enumerable:!0,get:function(){return AppFonts_1.AppFonts}}),Object.defineProperty(exports,"setAppFonts",{enumerable:!0,get:function(){return AppFonts_1.setAppFonts}});var AppColors_1=require("./styles/AppColors");Object.defineProperty(exports,"AppColors",{enumerable:!0,get:function(){return AppColors_1.AppColors}}),Object.defineProperty(exports,"setAppColors",{enumerable:!0,get:function(){return AppColors_1.setAppColors}}),Object.defineProperty(exports,"getThemeColors",{enumerable:!0,get:function(){return AppColors_1.getThemeColors}}),Object.defineProperty(exports,"updateAppColorsTheme",{enumerable:!0,get:function(){return AppColors_1.updateAppColorsTheme}});var i18n_2=require("./i18n");Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i18n_2.t}}),Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return i18n_2.i18n}}),Object.defineProperty(exports,"useTranslation",{enumerable:!0,get:function(){return i18n_2.useTranslation}}),Object.defineProperty(exports,"setLanguage",{enumerable:!0,get:function(){return i18n_2.setLanguage}}),Object.defineProperty(exports,"addTranslations",{enumerable:!0,get:function(){return i18n_2.addTranslations}}),Object.defineProperty(exports,"setTranslations",{enumerable:!0,get:function(){return i18n_2.setTranslations}}),Object.defineProperty(exports,"I18nextProvider",{enumerable:!0,get:function(){return i18n_2.I18nextProvider}});var remoteConfig_2=require("./helpers/remoteConfig");Object.defineProperty(exports,"fetchRemoteConfigModuleStatus",{enumerable:!0,get:function(){return remoteConfig_2.fetchRemoteConfigModuleStatus}}),Object.defineProperty(exports,"isFirebaseRemoteConfigAvailable",{enumerable:!0,get:function(){return remoteConfig_2.isFirebaseRemoteConfigAvailable}});var capture_2=require("./capture");Object.defineProperty(exports,"ScreenCapture",{enumerable:!0,get:function(){return capture_2.ScreenCapture}}),Object.defineProperty(exports,"ScreenRecorder",{enumerable:!0,get:function(){return capture_2.ScreenRecorder}});var version_1=require("./constants/version");Object.defineProperty(exports,"LIB_VERSION",{enumerable:!0,get:function(){return version_1.LIB_VERSION}});