react-native-debug-toolkit 2.1.0 → 2.3.0

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 (419) hide show
  1. package/README.md +52 -93
  2. package/README.zh-CN.md +48 -89
  3. package/lib/commonjs/core/DebugToolkit.js +33 -11
  4. package/lib/commonjs/core/DebugToolkit.js.map +1 -1
  5. package/lib/commonjs/core/DebugToolkitProvider.js +18 -12
  6. package/lib/commonjs/core/DebugToolkitProvider.js.map +1 -1
  7. package/lib/commonjs/{initialize.js → core/initialize.js} +17 -17
  8. package/lib/commonjs/core/initialize.js.map +1 -0
  9. package/lib/commonjs/{components → features/clipboard}/ClipboardTab.js +2 -2
  10. package/lib/commonjs/features/clipboard/ClipboardTab.js.map +1 -0
  11. package/lib/commonjs/features/{ClipboardFeature.js → clipboard/index.js} +3 -3
  12. package/lib/commonjs/features/clipboard/index.js.map +1 -0
  13. package/lib/commonjs/{components → features/console}/ConsoleLogTab.js +9 -9
  14. package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -0
  15. package/lib/commonjs/features/{ConsoleLogFeature.js → console/index.js} +10 -7
  16. package/lib/commonjs/features/console/index.js.map +1 -0
  17. package/lib/commonjs/{components → features/environment}/EnvironmentTab.js +3 -3
  18. package/lib/commonjs/features/environment/EnvironmentTab.js.map +1 -0
  19. package/lib/commonjs/features/{EnvironmentFeature.js → environment/index.js} +18 -13
  20. package/lib/commonjs/features/environment/index.js.map +1 -0
  21. package/lib/commonjs/{components → features/navigation}/NavigationLogTab.js +4 -3
  22. package/lib/commonjs/features/navigation/NavigationLogTab.js.map +1 -0
  23. package/lib/commonjs/features/{NavigationLogFeature.js → navigation/index.js} +4 -4
  24. package/lib/commonjs/features/navigation/index.js.map +1 -0
  25. package/lib/commonjs/{hooks → features/navigation}/useNavigationLogger.js +3 -3
  26. package/lib/commonjs/features/navigation/useNavigationLogger.js.map +1 -0
  27. package/lib/commonjs/{components → features/network}/NetworkLogTab.js +8 -7
  28. package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -0
  29. package/lib/commonjs/features/{NetworkFeature.js → network/index.js} +18 -35
  30. package/lib/commonjs/features/network/index.js.map +1 -0
  31. package/lib/commonjs/features/network/networkInterceptor.js +216 -0
  32. package/lib/commonjs/features/network/networkInterceptor.js.map +1 -0
  33. package/lib/commonjs/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.js +3 -2
  34. package/lib/commonjs/features/thirdPartyLibs/ThirdPartyLibsTab.js.map +1 -0
  35. package/lib/commonjs/features/{ThirdPartyLibsFeature.js → thirdPartyLibs/index.js} +8 -8
  36. package/lib/commonjs/features/thirdPartyLibs/index.js.map +1 -0
  37. package/lib/commonjs/{native/NativeDebugLibs.js → features/thirdPartyLibs/nativeDebugLibs.js} +1 -1
  38. package/lib/commonjs/features/thirdPartyLibs/nativeDebugLibs.js.map +1 -0
  39. package/lib/commonjs/{components → features/track}/TrackLogTab.js +8 -8
  40. package/lib/commonjs/features/track/TrackLogTab.js.map +1 -0
  41. package/lib/commonjs/features/{TrackFeature.js → track/index.js} +10 -5
  42. package/lib/commonjs/features/track/index.js.map +1 -0
  43. package/lib/commonjs/{components → features/zustand}/ZustandLogTab.js +8 -8
  44. package/lib/commonjs/features/zustand/ZustandLogTab.js.map +1 -0
  45. package/lib/commonjs/features/{ZustandLogFeature.js → zustand/index.js} +4 -4
  46. package/lib/commonjs/features/zustand/index.js.map +1 -0
  47. package/lib/commonjs/index.js +21 -21
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/commonjs/types/environment.js +2 -0
  50. package/lib/commonjs/types/environment.js.map +1 -0
  51. package/lib/commonjs/types/feature.js +6 -0
  52. package/lib/commonjs/types/feature.js.map +1 -0
  53. package/lib/commonjs/types/index.js +0 -4
  54. package/lib/commonjs/types/logs.js +2 -0
  55. package/lib/commonjs/types/logs.js.map +1 -0
  56. package/lib/commonjs/types/navigation.js +2 -0
  57. package/lib/commonjs/types/navigation.js.map +1 -0
  58. package/lib/commonjs/types/thirdPartyLibs.js +2 -0
  59. package/lib/commonjs/types/thirdPartyLibs.js.map +1 -0
  60. package/lib/commonjs/{components → ui}/DebugView.js +2 -2
  61. package/lib/commonjs/ui/DebugView.js.map +1 -0
  62. package/lib/commonjs/{components → ui/floating}/FloatIcon.js +65 -12
  63. package/lib/commonjs/ui/floating/FloatIcon.js.map +1 -0
  64. package/lib/commonjs/{components → ui/panel}/DebugPanel.js +4 -4
  65. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -0
  66. package/lib/commonjs/{components → ui/panel}/FeatureTabBar.js +1 -1
  67. package/lib/commonjs/ui/panel/FeatureTabBar.js.map +1 -0
  68. package/lib/commonjs/{components → ui/panel}/FloatPanelView.js +36 -12
  69. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -0
  70. package/lib/commonjs/{components → ui}/shared/CollapsibleSection.js +1 -1
  71. package/lib/commonjs/ui/shared/CollapsibleSection.js.map +1 -0
  72. package/lib/commonjs/{components → ui}/shared/CopyButton.js +1 -1
  73. package/lib/commonjs/ui/shared/CopyButton.js.map +1 -0
  74. package/lib/commonjs/ui/shared/JsonView.js.map +1 -0
  75. package/lib/commonjs/{components → ui}/shared/LogListScreen.js +2 -2
  76. package/lib/commonjs/ui/shared/LogListScreen.js.map +1 -0
  77. package/lib/commonjs/ui/shared/useSlideDetailAnimation.js.map +1 -0
  78. package/lib/commonjs/{utils → ui/theme}/colors.js +0 -5
  79. package/lib/commonjs/ui/theme/colors.js.map +1 -0
  80. package/lib/commonjs/ui/theme/layout.js.map +1 -0
  81. package/lib/commonjs/utils/createChannelFeature.js +18 -4
  82. package/lib/commonjs/utils/createChannelFeature.js.map +1 -1
  83. package/lib/commonjs/utils/createObservableStore.js +5 -0
  84. package/lib/commonjs/utils/createObservableStore.js.map +1 -1
  85. package/lib/commonjs/utils/createPersistedObservableStore.js +71 -0
  86. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -0
  87. package/lib/commonjs/utils/debugPreferences.js +52 -0
  88. package/lib/commonjs/utils/debugPreferences.js.map +1 -0
  89. package/lib/module/core/DebugToolkit.js +33 -11
  90. package/lib/module/core/DebugToolkit.js.map +1 -1
  91. package/lib/module/core/DebugToolkitProvider.js +18 -12
  92. package/lib/module/core/DebugToolkitProvider.js.map +1 -1
  93. package/lib/module/{initialize.js → core/initialize.js} +10 -10
  94. package/lib/module/core/initialize.js.map +1 -0
  95. package/lib/module/{components → features/clipboard}/ClipboardTab.js +2 -2
  96. package/lib/module/features/clipboard/ClipboardTab.js.map +1 -0
  97. package/lib/module/features/{ClipboardFeature.js → clipboard/index.js} +3 -3
  98. package/lib/module/features/clipboard/index.js.map +1 -0
  99. package/lib/module/{components → features/console}/ConsoleLogTab.js +9 -9
  100. package/lib/module/features/console/ConsoleLogTab.js.map +1 -0
  101. package/lib/module/features/{ConsoleLogFeature.js → console/index.js} +10 -7
  102. package/lib/module/features/console/index.js.map +1 -0
  103. package/lib/module/{components → features/environment}/EnvironmentTab.js +3 -3
  104. package/lib/module/features/environment/EnvironmentTab.js.map +1 -0
  105. package/lib/module/features/{EnvironmentFeature.js → environment/index.js} +18 -13
  106. package/lib/module/features/environment/index.js.map +1 -0
  107. package/lib/module/{components → features/navigation}/NavigationLogTab.js +4 -3
  108. package/lib/module/features/navigation/NavigationLogTab.js.map +1 -0
  109. package/lib/module/features/{NavigationLogFeature.js → navigation/index.js} +4 -4
  110. package/lib/module/features/navigation/index.js.map +1 -0
  111. package/lib/module/{hooks → features/navigation}/useNavigationLogger.js +2 -2
  112. package/lib/module/features/navigation/useNavigationLogger.js.map +1 -0
  113. package/lib/module/{components → features/network}/NetworkLogTab.js +8 -7
  114. package/lib/module/features/network/NetworkLogTab.js.map +1 -0
  115. package/lib/module/features/{NetworkFeature.js → network/index.js} +18 -35
  116. package/lib/module/features/network/index.js.map +1 -0
  117. package/lib/module/features/network/networkInterceptor.js +211 -0
  118. package/lib/module/features/network/networkInterceptor.js.map +1 -0
  119. package/lib/module/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.js +3 -2
  120. package/lib/module/features/thirdPartyLibs/ThirdPartyLibsTab.js.map +1 -0
  121. package/lib/module/features/{ThirdPartyLibsFeature.js → thirdPartyLibs/index.js} +4 -4
  122. package/lib/module/features/thirdPartyLibs/index.js.map +1 -0
  123. package/lib/module/{native/NativeDebugLibs.js → features/thirdPartyLibs/nativeDebugLibs.js} +1 -1
  124. package/lib/module/features/thirdPartyLibs/nativeDebugLibs.js.map +1 -0
  125. package/lib/module/{components → features/track}/TrackLogTab.js +8 -8
  126. package/lib/module/features/track/TrackLogTab.js.map +1 -0
  127. package/lib/module/features/{TrackFeature.js → track/index.js} +10 -5
  128. package/lib/module/features/track/index.js.map +1 -0
  129. package/lib/module/{components → features/zustand}/ZustandLogTab.js +8 -8
  130. package/lib/module/features/zustand/ZustandLogTab.js.map +1 -0
  131. package/lib/module/features/{ZustandLogFeature.js → zustand/index.js} +4 -4
  132. package/lib/module/features/zustand/index.js.map +1 -0
  133. package/lib/module/index.js +11 -11
  134. package/lib/module/index.js.map +1 -1
  135. package/lib/module/types/environment.js +2 -0
  136. package/lib/module/types/environment.js.map +1 -0
  137. package/lib/module/types/feature.js +4 -0
  138. package/lib/module/types/feature.js.map +1 -0
  139. package/lib/module/types/index.js +0 -2
  140. package/lib/module/types/logs.js +2 -0
  141. package/lib/module/types/logs.js.map +1 -0
  142. package/lib/module/types/navigation.js +2 -0
  143. package/lib/module/types/navigation.js.map +1 -0
  144. package/lib/module/types/thirdPartyLibs.js +2 -0
  145. package/lib/module/types/thirdPartyLibs.js.map +1 -0
  146. package/lib/module/{components → ui}/DebugView.js +2 -2
  147. package/lib/module/ui/DebugView.js.map +1 -0
  148. package/lib/module/{components → ui/floating}/FloatIcon.js +66 -13
  149. package/lib/module/ui/floating/FloatIcon.js.map +1 -0
  150. package/lib/module/{components → ui/panel}/DebugPanel.js +4 -4
  151. package/lib/module/ui/panel/DebugPanel.js.map +1 -0
  152. package/lib/module/{components → ui/panel}/FeatureTabBar.js +1 -1
  153. package/lib/module/ui/panel/FeatureTabBar.js.map +1 -0
  154. package/lib/module/{components → ui/panel}/FloatPanelView.js +36 -12
  155. package/lib/module/ui/panel/FloatPanelView.js.map +1 -0
  156. package/lib/module/{components → ui}/shared/CollapsibleSection.js +1 -1
  157. package/lib/module/ui/shared/CollapsibleSection.js.map +1 -0
  158. package/lib/module/{components → ui}/shared/CopyButton.js +1 -1
  159. package/lib/module/ui/shared/CopyButton.js.map +1 -0
  160. package/lib/module/ui/shared/JsonView.js.map +1 -0
  161. package/lib/module/{components → ui}/shared/LogListScreen.js +2 -2
  162. package/lib/module/ui/shared/LogListScreen.js.map +1 -0
  163. package/lib/module/ui/shared/useSlideDetailAnimation.js.map +1 -0
  164. package/lib/module/{utils → ui/theme}/colors.js +0 -5
  165. package/lib/module/ui/theme/colors.js.map +1 -0
  166. package/lib/module/ui/theme/layout.js.map +1 -0
  167. package/lib/module/utils/createChannelFeature.js +18 -4
  168. package/lib/module/utils/createChannelFeature.js.map +1 -1
  169. package/lib/module/utils/createObservableStore.js +5 -0
  170. package/lib/module/utils/createObservableStore.js.map +1 -1
  171. package/lib/module/utils/createPersistedObservableStore.js +67 -0
  172. package/lib/module/utils/createPersistedObservableStore.js.map +1 -0
  173. package/lib/module/utils/debugPreferences.js +46 -0
  174. package/lib/module/utils/debugPreferences.js.map +1 -0
  175. package/lib/typescript/src/core/DebugToolkit.d.ts +7 -3
  176. package/lib/typescript/src/core/DebugToolkit.d.ts.map +1 -1
  177. package/lib/typescript/src/core/DebugToolkitProvider.d.ts +2 -2
  178. package/lib/typescript/src/core/DebugToolkitProvider.d.ts.map +1 -1
  179. package/lib/typescript/src/{initialize.d.ts → core/initialize.d.ts} +7 -7
  180. package/lib/typescript/src/core/initialize.d.ts.map +1 -0
  181. package/lib/typescript/src/features/clipboard/ClipboardTab.d.ts +4 -0
  182. package/lib/typescript/src/features/clipboard/ClipboardTab.d.ts.map +1 -0
  183. package/lib/typescript/src/features/{ClipboardFeature.d.ts → clipboard/index.d.ts} +3 -3
  184. package/lib/typescript/src/features/clipboard/index.d.ts.map +1 -0
  185. package/lib/typescript/src/{components → features/console}/ConsoleLogTab.d.ts +2 -2
  186. package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -0
  187. package/lib/typescript/src/features/{ConsoleLogFeature.d.ts → console/index.d.ts} +3 -3
  188. package/lib/typescript/src/features/console/index.d.ts.map +1 -0
  189. package/lib/typescript/src/{components → features/environment}/EnvironmentTab.d.ts +1 -1
  190. package/lib/typescript/src/features/environment/EnvironmentTab.d.ts.map +1 -0
  191. package/lib/typescript/src/features/{EnvironmentFeature.d.ts → environment/index.d.ts} +2 -2
  192. package/lib/typescript/src/features/environment/index.d.ts.map +1 -0
  193. package/lib/typescript/src/{components → features/navigation}/NavigationLogTab.d.ts +2 -2
  194. package/lib/typescript/src/features/navigation/NavigationLogTab.d.ts.map +1 -0
  195. package/lib/typescript/src/features/{NavigationLogFeature.d.ts → navigation/index.d.ts} +3 -3
  196. package/lib/typescript/src/features/navigation/index.d.ts.map +1 -0
  197. package/lib/typescript/src/{hooks → features/navigation}/useNavigationLogger.d.ts +1 -1
  198. package/lib/typescript/src/features/navigation/useNavigationLogger.d.ts.map +1 -0
  199. package/lib/typescript/src/{components → features/network}/NetworkLogTab.d.ts +2 -2
  200. package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -0
  201. package/lib/typescript/src/features/{NetworkFeature.d.ts → network/index.d.ts} +3 -7
  202. package/lib/typescript/src/features/network/index.d.ts.map +1 -0
  203. package/lib/typescript/src/features/network/networkInterceptor.d.ts +6 -0
  204. package/lib/typescript/src/features/network/networkInterceptor.d.ts.map +1 -0
  205. package/lib/typescript/src/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.d.ts +2 -2
  206. package/lib/typescript/src/features/thirdPartyLibs/ThirdPartyLibsTab.d.ts.map +1 -0
  207. package/lib/typescript/src/features/thirdPartyLibs/index.d.ts +3 -0
  208. package/lib/typescript/src/features/thirdPartyLibs/index.d.ts.map +1 -0
  209. package/lib/typescript/src/{native/NativeDebugLibs.d.ts → features/thirdPartyLibs/nativeDebugLibs.d.ts} +1 -1
  210. package/lib/typescript/src/features/thirdPartyLibs/nativeDebugLibs.d.ts.map +1 -0
  211. package/lib/typescript/src/{components → features/track}/TrackLogTab.d.ts +2 -2
  212. package/lib/typescript/src/features/track/TrackLogTab.d.ts.map +1 -0
  213. package/lib/typescript/src/features/{TrackFeature.d.ts → track/index.d.ts} +3 -3
  214. package/lib/typescript/src/features/track/index.d.ts.map +1 -0
  215. package/lib/typescript/src/{components → features/zustand}/ZustandLogTab.d.ts +2 -2
  216. package/lib/typescript/src/features/zustand/ZustandLogTab.d.ts.map +1 -0
  217. package/lib/typescript/src/features/{ZustandLogFeature.d.ts → zustand/index.d.ts} +3 -3
  218. package/lib/typescript/src/features/zustand/index.d.ts.map +1 -0
  219. package/lib/typescript/src/index.d.ts +19 -19
  220. package/lib/typescript/src/index.d.ts.map +1 -1
  221. package/lib/typescript/src/types/environment.d.ts +11 -0
  222. package/lib/typescript/src/types/environment.d.ts.map +1 -0
  223. package/lib/typescript/src/types/feature.d.ts +23 -0
  224. package/lib/typescript/src/types/feature.d.ts.map +1 -0
  225. package/lib/typescript/src/types/index.d.ts +5 -108
  226. package/lib/typescript/src/types/index.d.ts.map +1 -1
  227. package/lib/typescript/src/types/logs.d.ts +51 -0
  228. package/lib/typescript/src/types/logs.d.ts.map +1 -0
  229. package/lib/typescript/src/types/navigation.d.ts +8 -0
  230. package/lib/typescript/src/types/navigation.d.ts.map +1 -0
  231. package/lib/typescript/src/types/thirdPartyLibs.d.ts +13 -0
  232. package/lib/typescript/src/types/thirdPartyLibs.d.ts.map +1 -0
  233. package/lib/typescript/src/{components → ui}/DebugView.d.ts +1 -1
  234. package/lib/typescript/src/ui/DebugView.d.ts.map +1 -0
  235. package/lib/typescript/src/ui/floating/FloatIcon.d.ts.map +1 -0
  236. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -0
  237. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +1 -0
  238. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts +12 -0
  239. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -0
  240. package/lib/typescript/src/ui/shared/CollapsibleSection.d.ts.map +1 -0
  241. package/lib/typescript/src/ui/shared/CopyButton.d.ts.map +1 -0
  242. package/lib/typescript/src/ui/shared/JsonView.d.ts.map +1 -0
  243. package/lib/typescript/src/ui/shared/LogListScreen.d.ts.map +1 -0
  244. package/lib/typescript/src/ui/shared/useSlideDetailAnimation.d.ts.map +1 -0
  245. package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -0
  246. package/lib/typescript/src/ui/theme/layout.d.ts.map +1 -0
  247. package/lib/typescript/src/utils/createChannelFeature.d.ts +12 -3
  248. package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -1
  249. package/lib/typescript/src/utils/createObservableStore.d.ts +1 -0
  250. package/lib/typescript/src/utils/createObservableStore.d.ts.map +1 -1
  251. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +15 -0
  252. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -0
  253. package/lib/typescript/src/utils/debugPreferences.d.ts +10 -0
  254. package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -0
  255. package/package.json +4 -4
  256. package/src/core/DebugToolkit.tsx +37 -11
  257. package/src/core/DebugToolkitProvider.tsx +20 -13
  258. package/src/{initialize.ts → core/initialize.ts} +16 -16
  259. package/src/{components → features/clipboard}/ClipboardTab.tsx +4 -4
  260. package/src/features/{ClipboardFeature.ts → clipboard/index.ts} +4 -4
  261. package/src/{components → features/console}/ConsoleLogTab.tsx +10 -10
  262. package/src/features/{ConsoleLogFeature.ts → console/index.ts} +11 -8
  263. package/src/{components → features/environment}/EnvironmentTab.tsx +5 -5
  264. package/src/features/{EnvironmentFeature.ts → environment/index.ts} +23 -13
  265. package/src/{components → features/navigation}/NavigationLogTab.tsx +6 -5
  266. package/src/features/{NavigationLogFeature.ts → navigation/index.ts} +5 -5
  267. package/src/{hooks → features/navigation}/useNavigationLogger.ts +3 -3
  268. package/src/{components → features/network}/NetworkLogTab.tsx +10 -9
  269. package/src/features/{NetworkFeature.ts → network/index.ts} +19 -43
  270. package/src/features/network/networkInterceptor.ts +286 -0
  271. package/src/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.tsx +5 -4
  272. package/src/features/{ThirdPartyLibsFeature.ts → thirdPartyLibs/index.ts} +5 -5
  273. package/src/{components → features/track}/TrackLogTab.tsx +9 -9
  274. package/src/features/{TrackFeature.ts → track/index.ts} +13 -6
  275. package/src/{components → features/zustand}/ZustandLogTab.tsx +10 -10
  276. package/src/features/{ZustandLogFeature.ts → zustand/index.ts} +5 -5
  277. package/src/index.ts +19 -19
  278. package/src/types/environment.ts +11 -0
  279. package/src/types/feature.ts +32 -0
  280. package/src/types/index.ts +29 -127
  281. package/src/types/logs.ts +54 -0
  282. package/src/types/navigation.ts +5 -0
  283. package/src/types/thirdPartyLibs.ts +13 -0
  284. package/src/{components → ui}/DebugView.tsx +3 -3
  285. package/src/{components → ui/floating}/FloatIcon.tsx +60 -29
  286. package/src/{components → ui/panel}/DebugPanel.tsx +4 -4
  287. package/src/{components → ui/panel}/FeatureTabBar.tsx +1 -1
  288. package/src/{components → ui/panel}/FloatPanelView.tsx +38 -13
  289. package/src/{components → ui}/shared/CollapsibleSection.tsx +1 -1
  290. package/src/{components → ui}/shared/CopyButton.tsx +1 -1
  291. package/src/{components → ui}/shared/LogListScreen.tsx +2 -2
  292. package/src/{utils → ui/theme}/colors.ts +0 -5
  293. package/src/utils/createChannelFeature.ts +32 -7
  294. package/src/utils/createObservableStore.ts +6 -0
  295. package/src/utils/createPersistedObservableStore.ts +76 -0
  296. package/src/utils/debugPreferences.ts +48 -0
  297. package/lib/commonjs/components/ClipboardTab.js.map +0 -1
  298. package/lib/commonjs/components/ConsoleLogTab.js.map +0 -1
  299. package/lib/commonjs/components/DebugPanel.js.map +0 -1
  300. package/lib/commonjs/components/DebugView.js.map +0 -1
  301. package/lib/commonjs/components/EnvironmentTab.js.map +0 -1
  302. package/lib/commonjs/components/FeatureTabBar.js.map +0 -1
  303. package/lib/commonjs/components/FloatIcon.js.map +0 -1
  304. package/lib/commonjs/components/FloatPanelView.js.map +0 -1
  305. package/lib/commonjs/components/NavigationLogTab.js.map +0 -1
  306. package/lib/commonjs/components/NetworkLogTab.js.map +0 -1
  307. package/lib/commonjs/components/ThirdPartyLibsTab.js.map +0 -1
  308. package/lib/commonjs/components/TrackLogTab.js.map +0 -1
  309. package/lib/commonjs/components/ZustandLogTab.js.map +0 -1
  310. package/lib/commonjs/components/shared/CollapsibleSection.js.map +0 -1
  311. package/lib/commonjs/components/shared/CopyButton.js.map +0 -1
  312. package/lib/commonjs/components/shared/JsonView.js.map +0 -1
  313. package/lib/commonjs/components/shared/LogListScreen.js.map +0 -1
  314. package/lib/commonjs/features/ClipboardFeature.js.map +0 -1
  315. package/lib/commonjs/features/ConsoleLogFeature.js.map +0 -1
  316. package/lib/commonjs/features/EnvironmentFeature.js.map +0 -1
  317. package/lib/commonjs/features/NavigationLogFeature.js.map +0 -1
  318. package/lib/commonjs/features/NetworkFeature.js.map +0 -1
  319. package/lib/commonjs/features/ThirdPartyLibsFeature.js.map +0 -1
  320. package/lib/commonjs/features/TrackFeature.js.map +0 -1
  321. package/lib/commonjs/features/ZustandLogFeature.js.map +0 -1
  322. package/lib/commonjs/hooks/useNavigationLogger.js.map +0 -1
  323. package/lib/commonjs/hooks/useSlideDetailAnimation.js.map +0 -1
  324. package/lib/commonjs/initialize.js.map +0 -1
  325. package/lib/commonjs/interceptors/networkInterceptor.js +0 -466
  326. package/lib/commonjs/interceptors/networkInterceptor.js.map +0 -1
  327. package/lib/commonjs/native/NativeDebugLibs.js.map +0 -1
  328. package/lib/commonjs/utils/colors.js.map +0 -1
  329. package/lib/commonjs/utils/layout.js.map +0 -1
  330. package/lib/module/components/ClipboardTab.js.map +0 -1
  331. package/lib/module/components/ConsoleLogTab.js.map +0 -1
  332. package/lib/module/components/DebugPanel.js.map +0 -1
  333. package/lib/module/components/DebugView.js.map +0 -1
  334. package/lib/module/components/EnvironmentTab.js.map +0 -1
  335. package/lib/module/components/FeatureTabBar.js.map +0 -1
  336. package/lib/module/components/FloatIcon.js.map +0 -1
  337. package/lib/module/components/FloatPanelView.js.map +0 -1
  338. package/lib/module/components/NavigationLogTab.js.map +0 -1
  339. package/lib/module/components/NetworkLogTab.js.map +0 -1
  340. package/lib/module/components/ThirdPartyLibsTab.js.map +0 -1
  341. package/lib/module/components/TrackLogTab.js.map +0 -1
  342. package/lib/module/components/ZustandLogTab.js.map +0 -1
  343. package/lib/module/components/shared/CollapsibleSection.js.map +0 -1
  344. package/lib/module/components/shared/CopyButton.js.map +0 -1
  345. package/lib/module/components/shared/JsonView.js.map +0 -1
  346. package/lib/module/components/shared/LogListScreen.js.map +0 -1
  347. package/lib/module/features/ClipboardFeature.js.map +0 -1
  348. package/lib/module/features/ConsoleLogFeature.js.map +0 -1
  349. package/lib/module/features/EnvironmentFeature.js.map +0 -1
  350. package/lib/module/features/NavigationLogFeature.js.map +0 -1
  351. package/lib/module/features/NetworkFeature.js.map +0 -1
  352. package/lib/module/features/ThirdPartyLibsFeature.js.map +0 -1
  353. package/lib/module/features/TrackFeature.js.map +0 -1
  354. package/lib/module/features/ZustandLogFeature.js.map +0 -1
  355. package/lib/module/hooks/useNavigationLogger.js.map +0 -1
  356. package/lib/module/hooks/useSlideDetailAnimation.js.map +0 -1
  357. package/lib/module/initialize.js.map +0 -1
  358. package/lib/module/interceptors/networkInterceptor.js +0 -460
  359. package/lib/module/interceptors/networkInterceptor.js.map +0 -1
  360. package/lib/module/native/NativeDebugLibs.js.map +0 -1
  361. package/lib/module/utils/colors.js.map +0 -1
  362. package/lib/module/utils/layout.js.map +0 -1
  363. package/lib/typescript/src/components/ClipboardTab.d.ts +0 -4
  364. package/lib/typescript/src/components/ClipboardTab.d.ts.map +0 -1
  365. package/lib/typescript/src/components/ConsoleLogTab.d.ts.map +0 -1
  366. package/lib/typescript/src/components/DebugPanel.d.ts.map +0 -1
  367. package/lib/typescript/src/components/DebugView.d.ts.map +0 -1
  368. package/lib/typescript/src/components/EnvironmentTab.d.ts.map +0 -1
  369. package/lib/typescript/src/components/FeatureTabBar.d.ts.map +0 -1
  370. package/lib/typescript/src/components/FloatIcon.d.ts.map +0 -1
  371. package/lib/typescript/src/components/FloatPanelView.d.ts +0 -9
  372. package/lib/typescript/src/components/FloatPanelView.d.ts.map +0 -1
  373. package/lib/typescript/src/components/NavigationLogTab.d.ts.map +0 -1
  374. package/lib/typescript/src/components/NetworkLogTab.d.ts.map +0 -1
  375. package/lib/typescript/src/components/ThirdPartyLibsTab.d.ts.map +0 -1
  376. package/lib/typescript/src/components/TrackLogTab.d.ts.map +0 -1
  377. package/lib/typescript/src/components/ZustandLogTab.d.ts.map +0 -1
  378. package/lib/typescript/src/components/shared/CollapsibleSection.d.ts.map +0 -1
  379. package/lib/typescript/src/components/shared/CopyButton.d.ts.map +0 -1
  380. package/lib/typescript/src/components/shared/JsonView.d.ts.map +0 -1
  381. package/lib/typescript/src/components/shared/LogListScreen.d.ts.map +0 -1
  382. package/lib/typescript/src/features/ClipboardFeature.d.ts.map +0 -1
  383. package/lib/typescript/src/features/ConsoleLogFeature.d.ts.map +0 -1
  384. package/lib/typescript/src/features/EnvironmentFeature.d.ts.map +0 -1
  385. package/lib/typescript/src/features/NavigationLogFeature.d.ts.map +0 -1
  386. package/lib/typescript/src/features/NetworkFeature.d.ts.map +0 -1
  387. package/lib/typescript/src/features/ThirdPartyLibsFeature.d.ts +0 -3
  388. package/lib/typescript/src/features/ThirdPartyLibsFeature.d.ts.map +0 -1
  389. package/lib/typescript/src/features/TrackFeature.d.ts.map +0 -1
  390. package/lib/typescript/src/features/ZustandLogFeature.d.ts.map +0 -1
  391. package/lib/typescript/src/hooks/useNavigationLogger.d.ts.map +0 -1
  392. package/lib/typescript/src/hooks/useSlideDetailAnimation.d.ts.map +0 -1
  393. package/lib/typescript/src/initialize.d.ts.map +0 -1
  394. package/lib/typescript/src/interceptors/networkInterceptor.d.ts +0 -18
  395. package/lib/typescript/src/interceptors/networkInterceptor.d.ts.map +0 -1
  396. package/lib/typescript/src/native/NativeDebugLibs.d.ts.map +0 -1
  397. package/lib/typescript/src/utils/colors.d.ts.map +0 -1
  398. package/lib/typescript/src/utils/layout.d.ts.map +0 -1
  399. package/src/interceptors/networkInterceptor.ts +0 -646
  400. /package/lib/commonjs/{components → ui}/shared/JsonView.js +0 -0
  401. /package/lib/commonjs/{hooks → ui/shared}/useSlideDetailAnimation.js +0 -0
  402. /package/lib/commonjs/{utils → ui/theme}/layout.js +0 -0
  403. /package/lib/module/{components → ui}/shared/JsonView.js +0 -0
  404. /package/lib/module/{hooks → ui/shared}/useSlideDetailAnimation.js +0 -0
  405. /package/lib/module/{utils → ui/theme}/layout.js +0 -0
  406. /package/lib/typescript/src/{components → ui/floating}/FloatIcon.d.ts +0 -0
  407. /package/lib/typescript/src/{components → ui/panel}/DebugPanel.d.ts +0 -0
  408. /package/lib/typescript/src/{components → ui/panel}/FeatureTabBar.d.ts +0 -0
  409. /package/lib/typescript/src/{components → ui}/shared/CollapsibleSection.d.ts +0 -0
  410. /package/lib/typescript/src/{components → ui}/shared/CopyButton.d.ts +0 -0
  411. /package/lib/typescript/src/{components → ui}/shared/JsonView.d.ts +0 -0
  412. /package/lib/typescript/src/{components → ui}/shared/LogListScreen.d.ts +0 -0
  413. /package/lib/typescript/src/{hooks → ui/shared}/useSlideDetailAnimation.d.ts +0 -0
  414. /package/lib/typescript/src/{utils → ui/theme}/colors.d.ts +0 -0
  415. /package/lib/typescript/src/{utils → ui/theme}/layout.d.ts +0 -0
  416. /package/src/{native/NativeDebugLibs.ts → features/thirdPartyLibs/nativeDebugLibs.ts} +0 -0
  417. /package/src/{components → ui}/shared/JsonView.tsx +0 -0
  418. /package/src/{hooks → ui/shared}/useSlideDetailAnimation.ts +0 -0
  419. /package/src/{utils → ui/theme}/layout.ts +0 -0
package/README.md CHANGED
@@ -6,15 +6,19 @@ A dev-only floating debug panel for React Native — inspect network, console, s
6
6
 
7
7
  > Zero impact on production builds (`__DEV__` only).
8
8
 
9
+ ## Preview
10
+
11
+ ![demo](demo.gif)
9
12
  ## Features
10
13
 
11
- - **Network** — Auto-intercepts fetch / XMLHttpRequest, inspect requests & responses, copy as cURL
14
+ - **Network** — Auto-intercepts React Native XHR transport, including fetch and axios in the default adapter, inspect requests & responses, copy as cURL
12
15
  - **Console** — Capture `console.log / info / warn / error`
13
16
  - **Zustand** — Log state transitions via middleware
14
17
  - **Navigation** — Track route changes
15
18
  - **Track** — Record custom analytics events
16
19
  - **Environment** — Switch API hosts on the fly
17
20
  - **Clipboard** — Paste text and copy to computer
21
+ - **Log Persistence** — Network, Console, Track logs survive app restarts (requires AsyncStorage)
18
22
 
19
23
  ## Installation
20
24
 
@@ -28,6 +32,14 @@ Optional — clipboard copy support:
28
32
  npm install @react-native-clipboard/clipboard
29
33
  ```
30
34
 
35
+ Optional — FAB position & last tab persistence:
36
+
37
+ ```bash
38
+ npm install @react-native-async-storage/async-storage
39
+ ```
40
+
41
+ Without AsyncStorage these features degrade gracefully to in-memory state.
42
+
31
43
  ## Quick Start
32
44
 
33
45
  ```tsx
@@ -42,11 +54,21 @@ function App() {
42
54
  }
43
55
  ```
44
56
 
45
- That's it. A floating debug button appears in dev mode. Tap to open the panel.
57
+ A floating debug button appears in dev mode. Tap to open the panel, tap × or swipe down to close.
46
58
 
47
- Network (fetch and XMLHttpRequest), console, navigation, track, and clipboard features are enabled by default. In React Native and Expo, Axios is covered through the XMLHttpRequest layer, so no Axios setup is required.
59
+ Network, console, navigation, zustand, track, and clipboard are enabled by default. Network capture hooks React Native's XHR transport, so fetch and axios requests using the default adapter are captured automatically.
48
60
 
49
- ### With Navigation Tracking
61
+ Disable specific features:
62
+
63
+ ```tsx
64
+ <DebugView features={{ clipboard: false, zustand: false }}>
65
+ <AppContent />
66
+ </DebugView>
67
+ ```
68
+
69
+ ## Common Patterns
70
+
71
+ ### Navigation Tracking
50
72
 
51
73
  ```tsx
52
74
  import { useRef } from 'react';
@@ -65,7 +87,7 @@ function App() {
65
87
  }
66
88
  ```
67
89
 
68
- ### With Environment Switching
90
+ ### Environment Switching
69
91
 
70
92
  ```tsx
71
93
  <DebugView
@@ -78,41 +100,7 @@ function App() {
78
100
  </DebugView>
79
101
  ```
80
102
 
81
- ### Disable Specific Features
82
-
83
- ```tsx
84
- <DebugView features={{ clipboard: false, zustand: false }}>
85
- <AppContent />
86
- </DebugView>
87
- ```
88
-
89
- ## `<DebugView>` Props
90
-
91
- | Prop | Type | Default | Description |
92
- |------|------|---------|-------------|
93
- | `children` | `ReactNode` | — | App content |
94
- | `features` | `Partial<FeatureConfigs>` | all enabled | Enable/disable features |
95
- | `navigationRef` | `RefObject` | — | Navigation container ref |
96
- | `environments` | `EnvironmentConfig[]` | — | Environment configs |
97
- | `enabled` | `boolean` | `__DEV__` | Force enable/disable |
98
-
99
- ### Per-feature options
100
-
101
- | Feature | Options |
102
- |---------|---------|
103
- | `network` | `maxLogs`, `blacklist` |
104
- | `console` | `maxLogs` |
105
- | `zustand` | `maxLogs` |
106
- | `navigation` | `maxLogs` |
107
- | `track` | `maxLogs` |
108
- | `environment` | `EnvironmentConfig[]` |
109
- | `clipboard` | — |
110
-
111
- All `maxLogs` default to **200**.
112
-
113
- ## Usage Examples
114
-
115
- ### Zustand middleware
103
+ ### Zustand Middleware
116
104
 
117
105
  ```tsx
118
106
  import { zustandLogMiddleware } from 'react-native-debug-toolkit';
@@ -121,11 +109,12 @@ const useStore = create(
121
109
  zustandLogMiddleware((set) => ({
122
110
  count: 0,
123
111
  increment: () => set((s) => ({ count: s.count + 1 }), false, 'increment'),
112
+ // ↑ merge ↑ action name (shown in debug panel)
124
113
  }))
125
114
  );
126
115
  ```
127
116
 
128
- ### Custom events
117
+ ### Custom Events
129
118
 
130
119
  ```tsx
131
120
  import { addTrackLog } from 'react-native-debug-toolkit';
@@ -133,68 +122,37 @@ import { addTrackLog } from 'react-native-debug-toolkit';
133
122
  addTrackLog({ eventName: 'button_click', buttonId: 'submit' });
134
123
  ```
135
124
 
136
- ### Copy to computer
137
-
138
- ```tsx
139
- import { copyToComputer } from 'react-native-debug-toolkit';
140
-
141
- await copyToComputer(jsonString);
142
- ```
143
-
144
- ## Advanced: Imperative API
125
+ ### Network Options
145
126
 
146
- For programmatic control outside React components:
127
+ React Native fetch and axios traffic is captured automatically through the XHR transport layer.
147
128
 
148
129
  ```tsx
149
- import { initializeDebugToolkit } from 'react-native-debug-toolkit';
150
-
151
- const toolkit = initializeDebugToolkit({
152
- features: { network: { maxLogs: 100 }, console: true },
153
- enabled: true,
154
- });
155
-
156
- toolkit?.showPanel();
157
- toolkit?.clearAll();
158
- toolkit?.destroy();
130
+ <DebugView
131
+ features={{
132
+ network: {
133
+ maxLogs: 100,
134
+ blacklist: ['/analytics', /\/healthcheck$/],
135
+ },
136
+ }}
137
+ >
138
+ <AppContent />
139
+ </DebugView>
159
140
  ```
160
141
 
161
- ### `DebugToolkit` methods
162
-
163
- | Method | Description |
164
- |--------|-------------|
165
- | `showPanel()` / `hidePanel()` | Toggle visibility |
166
- | `clearAll()` | Clear all data |
167
- | `addFeature(f)` / `removeFeature(name)` | Manage features at runtime |
168
- | `destroy()` | Full teardown |
169
- | `features` | Active features (read-only) |
142
+ ## Imperative API
170
143
 
171
- ### Custom feature
144
+ For programmatic control outside React (notifications, deep links, dev-only buttons):
172
145
 
173
146
  ```tsx
174
- import type { DebugFeature } from 'react-native-debug-toolkit';
175
-
176
- const myFeature: DebugFeature<MyData> = {
177
- name: 'myFeature',
178
- label: 'My Feature',
179
- setup: () => { /* start capturing */ },
180
- getData: () => myDataArray,
181
- cleanup: () => { /* stop capturing */ },
182
- clear: () => { /* reset data */ },
183
- subscribe: (cb) => { emitter.on('change', cb); return () => emitter.off('change', cb); },
184
- renderContent: MyFeatureTab,
185
- };
186
-
187
- const toolkit = initializeDebugToolkit();
188
- toolkit?.addFeature(myFeature);
189
- ```
147
+ import { DebugToolkit } from 'react-native-debug-toolkit';
190
148
 
191
- ### Utilities
149
+ DebugToolkit.openPanel();
150
+ DebugToolkit.clearAll();
151
+ DebugToolkit.showLauncher();
152
+ DebugToolkit.hideLauncher();
153
+ ```
192
154
 
193
- | Export | Description |
194
- |--------|-------------|
195
- | `safeStringify(value, space?)` | JSON stringify with circular-ref protection |
196
- | `copyToComputer(content, options?)` | Copy content to computer |
197
- | `logToComputer(...args)` | Log to computer console |
155
+ Full API: `DebugToolkit` is a singleton with `openPanel`, `closePanel`, `togglePanel`, `clearAll`, `showLauncher`, `hideLauncher`, `addFeature`, `removeFeature`, `destroy`, `features`, `panelOpen`. See TypeScript types for details.
198
156
 
199
157
  ## Peer Dependencies
200
158
 
@@ -203,6 +161,7 @@ toolkit?.addFeature(myFeature);
203
161
  | react | >= 18.0.0 | Yes |
204
162
  | react-native | >= 0.72.0 | Yes |
205
163
  | @react-native-clipboard/clipboard | >= 1.0.0 | No |
164
+ | @react-native-async-storage/async-storage | >= 1.0.0 | No |
206
165
 
207
166
  ## License
208
167
 
package/README.zh-CN.md CHANGED
@@ -6,15 +6,19 @@
6
6
 
7
7
  > 生产环境零影响(仅在 `__DEV__` 模式下运行)。
8
8
 
9
+ ## 预览
10
+
11
+ ![demo](demo.gif)
9
12
  ## 功能
10
13
 
11
- - **Network** — 自动拦截 fetch / XMLHttpRequest,查看请求与响应,复制为 cURL
14
+ - **Network** — 自动拦截 React Native XHR 传输层,默认覆盖 fetch 和使用默认 adapter 的 axios,可查看请求与响应并复制为 cURL
12
15
  - **Console** — 捕获 `console.log / info / warn / error`
13
16
  - **Zustand** — 通过中间件记录状态变化
14
17
  - **Navigation** — 追踪路由切换
15
18
  - **Track** — 记录自定义埋点事件
16
19
  - **Environment** — 运行时切换 API 环境
17
20
  - **Clipboard** — 粘贴文本并复制到电脑
21
+ - **日志持久化** — Network、Console、Track 日志在应用重启后保留(需要 AsyncStorage)
18
22
 
19
23
  ## 安装
20
24
 
@@ -28,6 +32,14 @@ npm install react-native-debug-toolkit
28
32
  npm install @react-native-clipboard/clipboard
29
33
  ```
30
34
 
35
+ 可选 — FAB 位置与上次 Tab 持久化:
36
+
37
+ ```bash
38
+ npm install @react-native-async-storage/async-storage
39
+ ```
40
+
41
+ 未安装 AsyncStorage 时,这些功能会优雅降级为内存态。
42
+
31
43
  ## 快速开始
32
44
 
33
45
  ```tsx
@@ -42,9 +54,19 @@ function App() {
42
54
  }
43
55
  ```
44
56
 
45
- 开发模式下会出现浮动调试按钮,点击即可打开面板。
57
+ 开发模式下出现浮动调试按钮。点击打开面板,点击 × 或下滑关闭。
46
58
 
47
- 网络(fetch XMLHttpRequest)、控制台、导航、埋点和剪贴板默认启用。在 React Native Expo 中,Axios 会通过 XMLHttpRequest 层发起请求,因此无需额外配置 Axios。
59
+ 网络、控制台、导航、Zustand、埋点和剪贴板默认启用。Network 会拦截 React Native XHR 传输层,因此使用默认 adapter fetch 和 axios 请求会自动被捕获。
60
+
61
+ 禁用特定功能:
62
+
63
+ ```tsx
64
+ <DebugView features={{ clipboard: false, zustand: false }}>
65
+ <AppContent />
66
+ </DebugView>
67
+ ```
68
+
69
+ ## 常用模式
48
70
 
49
71
  ### 导航追踪
50
72
 
@@ -78,40 +100,6 @@ function App() {
78
100
  </DebugView>
79
101
  ```
80
102
 
81
- ### 禁用特定功能
82
-
83
- ```tsx
84
- <DebugView features={{ clipboard: false, zustand: false }}>
85
- <AppContent />
86
- </DebugView>
87
- ```
88
-
89
- ## `<DebugView>` 属性
90
-
91
- | 属性 | 类型 | 默认值 | 说明 |
92
- |------|------|--------|------|
93
- | `children` | `ReactNode` | — | 应用内容 |
94
- | `features` | `Partial<FeatureConfigs>` | 全部启用 | 启用/禁用功能 |
95
- | `navigationRef` | `RefObject` | — | 导航容器 ref |
96
- | `environments` | `EnvironmentConfig[]` | — | 环境配置 |
97
- | `enabled` | `boolean` | `__DEV__` | 强制启用/禁用 |
98
-
99
- ### 功能配置项
100
-
101
- | 功能 | 配置项 |
102
- |------|--------|
103
- | `network` | `maxLogs`, `blacklist` |
104
- | `console` | `maxLogs` |
105
- | `zustand` | `maxLogs` |
106
- | `navigation` | `maxLogs` |
107
- | `track` | `maxLogs` |
108
- | `environment` | `EnvironmentConfig[]` |
109
- | `clipboard` | — |
110
-
111
- 所有 `maxLogs` 默认值为 **200**。
112
-
113
- ## 使用示例
114
-
115
103
  ### Zustand 中间件
116
104
 
117
105
  ```tsx
@@ -121,6 +109,7 @@ const useStore = create(
121
109
  zustandLogMiddleware((set) => ({
122
110
  count: 0,
123
111
  increment: () => set((s) => ({ count: s.count + 1 }), false, 'increment'),
112
+ // ↑ merge ↑ action 名称(显示在调试面板)
124
113
  }))
125
114
  );
126
115
  ```
@@ -133,68 +122,37 @@ import { addTrackLog } from 'react-native-debug-toolkit';
133
122
  addTrackLog({ eventName: 'button_click', buttonId: 'submit' });
134
123
  ```
135
124
 
136
- ### 复制到电脑
137
-
138
- ```tsx
139
- import { copyToComputer } from 'react-native-debug-toolkit';
140
-
141
- await copyToComputer(jsonString);
142
- ```
143
-
144
- ## 高级:命令式 API
125
+ ### 网络配置
145
126
 
146
- 用于 React 组件外的编程控制:
127
+ React Native fetch 和 axios 流量会通过 XHR 传输层自动捕获。
147
128
 
148
129
  ```tsx
149
- import { initializeDebugToolkit } from 'react-native-debug-toolkit';
150
-
151
- const toolkit = initializeDebugToolkit({
152
- features: { network: { maxLogs: 100 }, console: true },
153
- enabled: true,
154
- });
155
-
156
- toolkit?.showPanel();
157
- toolkit?.clearAll();
158
- toolkit?.destroy();
130
+ <DebugView
131
+ features={{
132
+ network: {
133
+ maxLogs: 100,
134
+ blacklist: ['/analytics', /\/healthcheck$/],
135
+ },
136
+ }}
137
+ >
138
+ <AppContent />
139
+ </DebugView>
159
140
  ```
160
141
 
161
- ### `DebugToolkit` 方法
162
-
163
- | 方法 | 说明 |
164
- |------|------|
165
- | `showPanel()` / `hidePanel()` | 切换面板显示 |
166
- | `clearAll()` | 清除所有数据 |
167
- | `addFeature(f)` / `removeFeature(name)` | 运行时管理功能 |
168
- | `destroy()` | 完全销毁 |
169
- | `features` | 当前功能列表(只读) |
142
+ ## 命令式 API
170
143
 
171
- ### 自定义功能
144
+ 用于 React 外部的编程控制(通知、深度链接、开发专用按钮):
172
145
 
173
146
  ```tsx
174
- import type { DebugFeature } from 'react-native-debug-toolkit';
175
-
176
- const myFeature: DebugFeature<MyData> = {
177
- name: 'myFeature',
178
- label: '我的功能',
179
- setup: () => { /* 开始捕获 */ },
180
- getData: () => myDataArray,
181
- cleanup: () => { /* 停止捕获 */ },
182
- clear: () => { /* 重置数据 */ },
183
- subscribe: (cb) => { emitter.on('change', cb); return () => emitter.off('change', cb); },
184
- renderContent: MyFeatureTab,
185
- };
186
-
187
- const toolkit = initializeDebugToolkit();
188
- toolkit?.addFeature(myFeature);
189
- ```
147
+ import { DebugToolkit } from 'react-native-debug-toolkit';
190
148
 
191
- ### 工具函数
149
+ DebugToolkit.openPanel();
150
+ DebugToolkit.clearAll();
151
+ DebugToolkit.showLauncher();
152
+ DebugToolkit.hideLauncher();
153
+ ```
192
154
 
193
- | 导出 | 说明 |
194
- |------|------|
195
- | `safeStringify(value, space?)` | JSON 序列化,自动处理循环引用 |
196
- | `copyToComputer(content, options?)` | 复制内容到电脑 |
197
- | `logToComputer(...args)` | 输出到电脑控制台 |
155
+ 完整 API:`DebugToolkit` 是单例,提供 `openPanel`、`closePanel`、`togglePanel`、`clearAll`、`showLauncher`、`hideLauncher`、`addFeature`、`removeFeature`、`destroy`、`features`、`panelOpen`。详见 TypeScript 类型定义。
198
156
 
199
157
  ## 对等依赖
200
158
 
@@ -203,6 +161,7 @@ toolkit?.addFeature(myFeature);
203
161
  | react | >= 18.0.0 | 是 |
204
162
  | react-native | >= 0.72.0 | 是 |
205
163
  | @react-native-clipboard/clipboard | >= 1.0.0 | 否 |
164
+ | @react-native-async-storage/async-storage | >= 1.0.0 | 否 |
206
165
 
207
166
  ## 许可证
208
167
 
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DebugToolkit = void 0;
7
7
  const listeners = new Set();
8
8
  let _features = [];
9
- let _panelVisible = false;
9
+ let _launcherVisible = false;
10
+ let _panelOpen = false;
10
11
  let _enabled = true;
11
12
  function notify() {
12
13
  listeners.forEach(l => l());
@@ -30,14 +31,14 @@ const DebugToolkit = exports.DebugToolkit = {
30
31
  get enabled() {
31
32
  return _enabled;
32
33
  },
33
- get panelVisible() {
34
- return _panelVisible;
34
+ get launcherVisible() {
35
+ return _launcherVisible;
35
36
  },
36
37
  setEnabled(enabled) {
37
38
  if (_enabled === enabled) return;
38
39
  _enabled = enabled;
39
40
  if (!enabled) {
40
- _panelVisible = false;
41
+ _launcherVisible = false;
41
42
  _features.forEach(cleanupFeature);
42
43
  _features = [];
43
44
  }
@@ -88,12 +89,13 @@ const DebugToolkit = exports.DebugToolkit = {
88
89
  cleanupFeature(feature);
89
90
  _features = _features.filter(f => f.name !== name);
90
91
  if (_features.length === 0) {
91
- _panelVisible = false;
92
+ _launcherVisible = false;
92
93
  }
93
94
  notify();
94
95
  },
95
96
  reset() {
96
- _panelVisible = false;
97
+ _launcherVisible = false;
98
+ _panelOpen = false;
97
99
  _features.forEach(cleanupFeature);
98
100
  _features = [];
99
101
  notify();
@@ -101,13 +103,33 @@ const DebugToolkit = exports.DebugToolkit = {
101
103
  hasFeatures() {
102
104
  return _features.length > 0;
103
105
  },
104
- showPanel() {
106
+ get panelOpen() {
107
+ return _panelOpen;
108
+ },
109
+ openPanel() {
110
+ if (!_enabled || _panelOpen) return;
111
+ _panelOpen = true;
112
+ notify();
113
+ },
114
+ closePanel() {
115
+ if (!_panelOpen) return;
116
+ _panelOpen = false;
117
+ notify();
118
+ },
119
+ togglePanel() {
120
+ if (_panelOpen) {
121
+ DebugToolkit.closePanel();
122
+ } else {
123
+ DebugToolkit.openPanel();
124
+ }
125
+ },
126
+ showLauncher() {
105
127
  if (!_enabled) return;
106
- _panelVisible = true;
128
+ _launcherVisible = true;
107
129
  notify();
108
130
  },
109
- hidePanel() {
110
- _panelVisible = false;
131
+ hideLauncher() {
132
+ _launcherVisible = false;
111
133
  notify();
112
134
  },
113
135
  clearAll() {
@@ -115,7 +137,7 @@ const DebugToolkit = exports.DebugToolkit = {
115
137
  notify();
116
138
  },
117
139
  destroy() {
118
- this.reset();
140
+ DebugToolkit.reset();
119
141
  listeners.clear();
120
142
  }
121
143
  };
@@ -1 +1 @@
1
- {"version":3,"names":["listeners","Set","_features","_panelVisible","_enabled","notify","forEach","l","setupFeature","feature","setup","cleanupFeature","cleanup","DebugToolkit","exports","subscribe","listener","add","delete","features","enabled","panelVisible","setEnabled","replaceFeatures","next","filter","f","i","arr","name","findIndex","item","prevMap","Map","map","nextMap","get","addFeature","existingIndex","existing","slice","removeFeature","find","length","reset","hasFeatures","showPanel","hidePanel","clearAll","clear","destroy"],"sourceRoot":"../../../src","sources":["core/DebugToolkit.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["listeners","Set","_features","_launcherVisible","_panelOpen","_enabled","notify","forEach","l","setupFeature","feature","setup","cleanupFeature","cleanup","DebugToolkit","exports","subscribe","listener","add","delete","features","enabled","launcherVisible","setEnabled","replaceFeatures","next","filter","f","i","arr","name","findIndex","item","prevMap","Map","map","nextMap","get","addFeature","existingIndex","existing","slice","removeFeature","find","length","reset","hasFeatures","panelOpen","openPanel","closePanel","togglePanel","showLauncher","hideLauncher","clearAll","clear","destroy"],"sourceRoot":"../../../src","sources":["core/DebugToolkit.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ exports.DebugToolkitProvider = DebugToolkitProvider;
7
7
  exports.useDebugToolkit = useDebugToolkit;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _DebugToolkit = require("./DebugToolkit");
10
- var _FloatPanelView = require("../components/FloatPanelView");
10
+ var _FloatPanelView = require("../ui/panel/FloatPanelView");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
13
  const ToolkitContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -15,43 +15,49 @@ function DebugToolkitProvider({
15
15
  children
16
16
  }) {
17
17
  const [state, setState] = (0, _react.useState)(() => ({
18
- panelVisible: _DebugToolkit.DebugToolkit.panelVisible,
18
+ launcherVisible: _DebugToolkit.DebugToolkit.launcherVisible,
19
+ panelOpen: _DebugToolkit.DebugToolkit.panelOpen,
19
20
  features: _DebugToolkit.DebugToolkit.features
20
21
  }));
21
22
  (0, _react.useEffect)(() => {
22
23
  // Sync current state — initializeDebugToolkit() may have been called
23
24
  // in a child useEffect that runs before this parent effect subscribes.
24
25
  setState({
25
- panelVisible: _DebugToolkit.DebugToolkit.panelVisible,
26
+ launcherVisible: _DebugToolkit.DebugToolkit.launcherVisible,
27
+ panelOpen: _DebugToolkit.DebugToolkit.panelOpen,
26
28
  features: _DebugToolkit.DebugToolkit.features
27
29
  });
28
30
  const unsubscribe = _DebugToolkit.DebugToolkit.subscribe(() => {
29
31
  setState({
30
- panelVisible: _DebugToolkit.DebugToolkit.panelVisible,
32
+ launcherVisible: _DebugToolkit.DebugToolkit.launcherVisible,
33
+ panelOpen: _DebugToolkit.DebugToolkit.panelOpen,
31
34
  features: _DebugToolkit.DebugToolkit.features
32
35
  });
33
36
  });
34
37
  return unsubscribe;
35
38
  }, []);
36
- const showPanel = (0, _react.useCallback)(() => {
37
- _DebugToolkit.DebugToolkit.showPanel();
39
+ const showLauncher = (0, _react.useCallback)(() => {
40
+ _DebugToolkit.DebugToolkit.showLauncher();
38
41
  }, []);
39
- const hidePanel = (0, _react.useCallback)(() => {
40
- _DebugToolkit.DebugToolkit.hidePanel();
42
+ const hideLauncher = (0, _react.useCallback)(() => {
43
+ _DebugToolkit.DebugToolkit.hideLauncher();
41
44
  }, []);
42
45
  const clearAll = (0, _react.useCallback)(() => {
43
46
  _DebugToolkit.DebugToolkit.clearAll();
44
47
  }, []);
45
48
  const contextValue = (0, _react.useMemo)(() => ({
46
49
  features: state.features,
47
- showPanel,
48
- hidePanel,
50
+ showLauncher,
51
+ hideLauncher,
49
52
  clearAll
50
- }), [state.features, showPanel, hidePanel, clearAll]);
53
+ }), [state.features, showLauncher, hideLauncher, clearAll]);
51
54
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(ToolkitContext.Provider, {
52
55
  value: contextValue,
53
- children: [children, state.panelVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FloatPanelView.FloatPanelView, {
56
+ children: [children, state.launcherVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FloatPanelView.FloatPanelView, {
54
57
  features: state.features,
58
+ panelOpen: state.panelOpen,
59
+ onOpenPanel: () => _DebugToolkit.DebugToolkit.openPanel(),
60
+ onClosePanel: () => _DebugToolkit.DebugToolkit.closePanel(),
55
61
  onClearAll: () => _DebugToolkit.DebugToolkit.clearAll()
56
62
  })]
57
63
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_DebugToolkit","_FloatPanelView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToolkitContext","createContext","DebugToolkitProvider","children","state","setState","useState","panelVisible","DebugToolkit","features","useEffect","unsubscribe","subscribe","showPanel","useCallback","hidePanel","clearAll","contextValue","useMemo","jsxs","Provider","value","jsx","FloatPanelView","onClearAll","useDebugToolkit","context","useContext","Error"],"sourceRoot":"../../../src","sources":["core/DebugToolkitProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_DebugToolkit","_FloatPanelView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToolkitContext","createContext","DebugToolkitProvider","children","state","setState","useState","launcherVisible","DebugToolkit","panelOpen","features","useEffect","unsubscribe","subscribe","showLauncher","useCallback","hideLauncher","clearAll","contextValue","useMemo","jsxs","Provider","value","jsx","FloatPanelView","onOpenPanel","openPanel","onClosePanel","closePanel","onClearAll","useDebugToolkit","context","useContext","Error"],"sourceRoot":"../../../src","sources":["core/DebugToolkitProvider.tsx"],"mappings":"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","ignoreList":[]}