react-native-xenon 0.6.0 → 1.0.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.
- package/README.md +34 -32
- package/lib/commonjs/assets/icons/delete.png +0 -0
- package/lib/commonjs/core/refs.js +33 -0
- package/lib/commonjs/core/refs.js.map +1 -0
- package/lib/commonjs/core/utils.js +40 -9
- package/lib/commonjs/core/utils.js.map +1 -1
- package/lib/commonjs/hooks/useNetworkInterceptor.js +14 -15
- package/lib/commonjs/hooks/useNetworkInterceptor.js.map +1 -1
- package/lib/commonjs/interceptors/FetchInterceptor.js +6 -9
- package/lib/commonjs/interceptors/FetchInterceptor.js.map +1 -1
- package/lib/commonjs/interceptors/WebSocketInterceptor.js +2 -9
- package/lib/commonjs/interceptors/WebSocketInterceptor.js.map +1 -1
- package/lib/commonjs/interceptors/XHRInterceptor.js +9 -6
- package/lib/commonjs/interceptors/XHRInterceptor.js.map +1 -1
- package/lib/commonjs/theme/colors.js +10 -5
- package/lib/commonjs/theme/colors.js.map +1 -1
- package/lib/commonjs/ui/Xenon.js +52 -42
- package/lib/commonjs/ui/Xenon.js.map +1 -1
- package/lib/commonjs/ui/components/bubble/Bubble.js +37 -28
- package/lib/commonjs/ui/components/bubble/Bubble.js.map +1 -1
- package/lib/commonjs/ui/components/common/Divider.js +21 -0
- package/lib/commonjs/ui/components/common/Divider.js.map +1 -0
- package/lib/commonjs/ui/components/common/Icon.js +25 -0
- package/lib/commonjs/ui/components/common/Icon.js.map +1 -0
- package/lib/commonjs/ui/components/common/IndexedStack.js +46 -0
- package/lib/commonjs/ui/components/common/IndexedStack.js.map +1 -0
- package/lib/commonjs/ui/components/common/Touchable.js +22 -0
- package/lib/commonjs/ui/components/common/Touchable.js.map +1 -0
- package/lib/commonjs/ui/components/details/LogMessageDetails.js +24 -11
- package/lib/commonjs/ui/components/details/LogMessageDetails.js.map +1 -1
- package/lib/commonjs/ui/components/details/NetworkRequestDetails.js +64 -39
- package/lib/commonjs/ui/components/details/NetworkRequestDetails.js.map +1 -1
- package/lib/commonjs/ui/components/headers/ConsoleHeader.js +30 -0
- package/lib/commonjs/ui/components/headers/ConsoleHeader.js.map +1 -0
- package/lib/commonjs/ui/components/headers/DebuggerHeader.js +56 -173
- package/lib/commonjs/ui/components/headers/DebuggerHeader.js.map +1 -1
- package/lib/commonjs/ui/components/headers/Header.js +34 -0
- package/lib/commonjs/ui/components/headers/Header.js.map +1 -0
- package/lib/commonjs/ui/components/headers/HeaderComponents.js +111 -0
- package/lib/commonjs/ui/components/headers/HeaderComponents.js.map +1 -0
- package/lib/commonjs/ui/components/headers/NetworkHeader.js +97 -0
- package/lib/commonjs/ui/components/headers/NetworkHeader.js.map +1 -0
- package/lib/commonjs/ui/components/index.js +0 -7
- package/lib/commonjs/ui/components/index.js.map +1 -1
- package/lib/commonjs/ui/components/items/ConsolePanelItem.js +8 -4
- package/lib/commonjs/ui/components/items/ConsolePanelItem.js.map +1 -1
- package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js +7 -10
- package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js.map +1 -1
- package/lib/commonjs/ui/components/items/NetworkPanelItem.js +54 -13
- package/lib/commonjs/ui/components/items/NetworkPanelItem.js.map +1 -1
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js +19 -18
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
- package/lib/commonjs/ui/components/panels/ConsolePanel.js +19 -10
- package/lib/commonjs/ui/components/panels/ConsolePanel.js.map +1 -1
- package/lib/commonjs/ui/components/panels/NetworkPanel.js +24 -22
- package/lib/commonjs/ui/components/panels/NetworkPanel.js.map +1 -1
- package/lib/commonjs/ui/components/panels/Panel.js +25 -0
- package/lib/commonjs/ui/components/panels/Panel.js.map +1 -0
- package/lib/module/assets/icons/delete.png +0 -0
- package/lib/module/core/refs.js +33 -0
- package/lib/module/core/refs.js.map +1 -0
- package/lib/module/core/utils.js +40 -9
- package/lib/module/core/utils.js.map +1 -1
- package/lib/module/hooks/useNetworkInterceptor.js +14 -15
- package/lib/module/hooks/useNetworkInterceptor.js.map +1 -1
- package/lib/module/interceptors/FetchInterceptor.js +6 -9
- package/lib/module/interceptors/FetchInterceptor.js.map +1 -1
- package/lib/module/interceptors/WebSocketInterceptor.js +2 -9
- package/lib/module/interceptors/WebSocketInterceptor.js.map +1 -1
- package/lib/module/interceptors/XHRInterceptor.js +9 -6
- package/lib/module/interceptors/XHRInterceptor.js.map +1 -1
- package/lib/module/theme/colors.js +10 -5
- package/lib/module/theme/colors.js.map +1 -1
- package/lib/module/ui/Xenon.js +52 -42
- package/lib/module/ui/Xenon.js.map +1 -1
- package/lib/module/ui/components/bubble/Bubble.js +37 -28
- package/lib/module/ui/components/bubble/Bubble.js.map +1 -1
- package/lib/module/ui/components/common/Divider.js +21 -0
- package/lib/module/ui/components/common/Divider.js.map +1 -0
- package/lib/module/ui/components/common/Icon.js +25 -0
- package/lib/module/ui/components/common/Icon.js.map +1 -0
- package/lib/module/ui/components/common/IndexedStack.js +46 -0
- package/lib/module/ui/components/common/IndexedStack.js.map +1 -0
- package/lib/module/ui/components/common/Touchable.js +22 -0
- package/lib/module/ui/components/common/Touchable.js.map +1 -0
- package/lib/module/ui/components/details/LogMessageDetails.js +24 -11
- package/lib/module/ui/components/details/LogMessageDetails.js.map +1 -1
- package/lib/module/ui/components/details/NetworkRequestDetails.js +64 -39
- package/lib/module/ui/components/details/NetworkRequestDetails.js.map +1 -1
- package/lib/module/ui/components/headers/ConsoleHeader.js +30 -0
- package/lib/module/ui/components/headers/ConsoleHeader.js.map +1 -0
- package/lib/module/ui/components/headers/DebuggerHeader.js +56 -173
- package/lib/module/ui/components/headers/DebuggerHeader.js.map +1 -1
- package/lib/module/ui/components/headers/Header.js +34 -0
- package/lib/module/ui/components/headers/Header.js.map +1 -0
- package/lib/module/ui/components/headers/HeaderComponents.js +111 -0
- package/lib/module/ui/components/headers/HeaderComponents.js.map +1 -0
- package/lib/module/ui/components/headers/NetworkHeader.js +97 -0
- package/lib/module/ui/components/headers/NetworkHeader.js.map +1 -0
- package/lib/module/ui/components/index.js +0 -7
- package/lib/module/ui/components/index.js.map +1 -1
- package/lib/module/ui/components/items/ConsolePanelItem.js +8 -4
- package/lib/module/ui/components/items/ConsolePanelItem.js.map +1 -1
- package/lib/module/ui/components/items/DebuggerHeaderItem.js +7 -10
- package/lib/module/ui/components/items/DebuggerHeaderItem.js.map +1 -1
- package/lib/module/ui/components/items/NetworkPanelItem.js +54 -13
- package/lib/module/ui/components/items/NetworkPanelItem.js.map +1 -1
- package/lib/module/ui/components/items/NetworkRequestDetailsItem.js +19 -18
- package/lib/module/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
- package/lib/module/ui/components/panels/ConsolePanel.js +19 -10
- package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -1
- package/lib/module/ui/components/panels/NetworkPanel.js +24 -22
- package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -1
- package/lib/module/ui/components/panels/Panel.js +25 -0
- package/lib/module/ui/components/panels/Panel.js.map +1 -0
- package/lib/typescript/commonjs/src/core/refs.d.ts +24 -0
- package/lib/typescript/commonjs/src/core/refs.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/core/utils.d.ts +13 -5
- package/lib/typescript/commonjs/src/core/utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts +0 -1
- package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/theme/colors.d.ts +10 -5
- package/lib/typescript/commonjs/src/theme/colors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/common.d.ts +2 -3
- package/lib/typescript/commonjs/src/types/common.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/http.d.ts +5 -6
- package/lib/typescript/commonjs/src/types/http.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/websocket.d.ts +2 -2
- package/lib/typescript/commonjs/src/types/websocket.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/Xenon.d.ts +5 -2
- package/lib/typescript/commonjs/src/ui/Xenon.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts +4 -5
- package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/common/Divider.d.ts +4 -0
- package/lib/typescript/commonjs/src/ui/components/common/Divider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/common/Icon.d.ts +8 -0
- package/lib/typescript/commonjs/src/ui/components/common/Icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/common/IndexedStack.d.ts +13 -0
- package/lib/typescript/commonjs/src/ui/components/common/IndexedStack.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/common/Touchable.d.ts +10 -0
- package/lib/typescript/commonjs/src/ui/components/common/Touchable.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts +5 -6
- package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts +5 -6
- package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/headers/ConsoleHeader.d.ts +9 -0
- package/lib/typescript/commonjs/src/ui/components/headers/ConsoleHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts +9 -1
- package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/headers/Header.d.ts +3 -0
- package/lib/typescript/commonjs/src/ui/components/headers/Header.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/HeaderComponents.d.ts +20 -0
- package/lib/typescript/commonjs/src/ui/components/headers/HeaderComponents.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkHeader.d.ts +9 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/index.d.ts +0 -1
- package/lib/typescript/commonjs/src/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts +3 -2
- package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts +4 -5
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts +5 -1
- package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts +5 -1
- package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/panels/Panel.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/panels/Panel.d.ts.map +1 -0
- package/lib/typescript/module/src/core/refs.d.ts +24 -0
- package/lib/typescript/module/src/core/refs.d.ts.map +1 -0
- package/lib/typescript/module/src/core/utils.d.ts +13 -5
- package/lib/typescript/module/src/core/utils.d.ts.map +1 -1
- package/lib/typescript/module/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts +0 -1
- package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/theme/colors.d.ts +10 -5
- package/lib/typescript/module/src/theme/colors.d.ts.map +1 -1
- package/lib/typescript/module/src/types/common.d.ts +2 -3
- package/lib/typescript/module/src/types/common.d.ts.map +1 -1
- package/lib/typescript/module/src/types/http.d.ts +5 -6
- package/lib/typescript/module/src/types/http.d.ts.map +1 -1
- package/lib/typescript/module/src/types/websocket.d.ts +2 -2
- package/lib/typescript/module/src/types/websocket.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/Xenon.d.ts +5 -2
- package/lib/typescript/module/src/ui/Xenon.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts +4 -5
- package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/common/Divider.d.ts +4 -0
- package/lib/typescript/module/src/ui/components/common/Divider.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/common/Icon.d.ts +8 -0
- package/lib/typescript/module/src/ui/components/common/Icon.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/common/IndexedStack.d.ts +13 -0
- package/lib/typescript/module/src/ui/components/common/IndexedStack.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/common/Touchable.d.ts +10 -0
- package/lib/typescript/module/src/ui/components/common/Touchable.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts +5 -6
- package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts +5 -6
- package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/headers/ConsoleHeader.d.ts +9 -0
- package/lib/typescript/module/src/ui/components/headers/ConsoleHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts +9 -1
- package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/headers/Header.d.ts +3 -0
- package/lib/typescript/module/src/ui/components/headers/Header.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/HeaderComponents.d.ts +20 -0
- package/lib/typescript/module/src/ui/components/headers/HeaderComponents.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkHeader.d.ts +9 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/index.d.ts +0 -1
- package/lib/typescript/module/src/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts +3 -2
- package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts +4 -5
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts +5 -1
- package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts +5 -1
- package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/panels/Panel.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/panels/Panel.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/assets/icons/delete.png +0 -0
- package/src/core/refs.ts +29 -0
- package/src/core/utils.ts +45 -14
- package/src/hooks/useNetworkInterceptor.ts +20 -27
- package/src/interceptors/FetchInterceptor.ts +7 -20
- package/src/interceptors/WebSocketInterceptor.ts +2 -11
- package/src/interceptors/XHRInterceptor.ts +13 -8
- package/src/theme/colors.ts +10 -5
- package/src/types/common.ts +2 -3
- package/src/types/http.ts +5 -6
- package/src/types/websocket.ts +2 -1
- package/src/ui/Xenon.tsx +42 -42
- package/src/ui/components/bubble/Bubble.tsx +101 -97
- package/src/ui/components/common/Divider.tsx +13 -0
- package/src/ui/components/common/Icon.tsx +12 -0
- package/src/ui/components/common/IndexedStack.tsx +62 -0
- package/src/ui/components/common/Touchable.tsx +21 -0
- package/src/ui/components/details/LogMessageDetails.tsx +31 -16
- package/src/ui/components/details/NetworkRequestDetails.tsx +143 -124
- package/src/ui/components/headers/ConsoleHeader.tsx +25 -0
- package/src/ui/components/headers/DebuggerHeader.tsx +28 -191
- package/src/ui/components/headers/Header.tsx +22 -0
- package/src/ui/components/headers/HeaderComponents.tsx +100 -0
- package/src/ui/components/headers/NetworkHeader.tsx +85 -0
- package/src/ui/components/index.ts +0 -1
- package/src/ui/components/items/ConsolePanelItem.tsx +11 -6
- package/src/ui/components/items/DebuggerHeaderItem.tsx +8 -11
- package/src/ui/components/items/NetworkPanelItem.tsx +64 -15
- package/src/ui/components/items/NetworkRequestDetailsItem.tsx +26 -21
- package/src/ui/components/panels/ConsolePanel.tsx +23 -10
- package/src/ui/components/panels/NetworkPanel.tsx +28 -25
- package/src/ui/components/panels/Panel.tsx +17 -0
- package/lib/commonjs/ui/components/details/DetailsViewer.js +0 -32
- package/lib/commonjs/ui/components/details/DetailsViewer.js.map +0 -1
- package/lib/commonjs/ui/components/headers/NetworkPanelHeader.js +0 -81
- package/lib/commonjs/ui/components/headers/NetworkPanelHeader.js.map +0 -1
- package/lib/module/ui/components/details/DetailsViewer.js +0 -32
- package/lib/module/ui/components/details/DetailsViewer.js.map +0 -1
- package/lib/module/ui/components/headers/NetworkPanelHeader.js +0 -81
- package/lib/module/ui/components/headers/NetworkPanelHeader.js.map +0 -1
- package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts +0 -2
- package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkPanelHeader.d.ts +0 -2
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkPanelHeader.d.ts.map +0 -1
- package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts +0 -2
- package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts.map +0 -1
- package/lib/typescript/module/src/ui/components/headers/NetworkPanelHeader.d.ts +0 -2
- package/lib/typescript/module/src/ui/components/headers/NetworkPanelHeader.d.ts.map +0 -1
- package/src/ui/components/details/DetailsViewer.tsx +0 -19
- package/src/ui/components/headers/NetworkPanelHeader.tsx +0 -69
package/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
<div align="center">
|
2
2
|
|
3
|
+
<img src="./images/logo.svg" alt="React Native Xenon Logo" width="128px" height="128px" />
|
4
|
+
|
3
5
|
# React Native Xenon
|
4
6
|
|
5
7
|
### A powerful in-app debugging tool for React Native.
|
@@ -28,12 +30,26 @@
|
|
28
30
|
- :zap: **Draggable Bubble UI** – Seamlessly debug without disrupting your workflow.
|
29
31
|
- :sparkles: **React Native & Expo Support** – Built for compatibility across both platforms.
|
30
32
|
|
33
|
+
## Screenshots
|
34
|
+
|
35
|
+
|  |  |  |
|
36
|
+
| :-----------------------------------------: | :-----------------------------------------: | :-----------------------------------------: |
|
37
|
+
|
31
38
|
## Installation
|
32
39
|
|
33
|
-
|
40
|
+
### Expo
|
41
|
+
|
42
|
+
If you are using Expo, just run these commands and you're done. No additional configuration required.
|
43
|
+
|
44
|
+
```sh
|
45
|
+
npx expo install react-native-xenon
|
46
|
+
npx expo install react-native-safe-area-context react-native-screens
|
47
|
+
```
|
34
48
|
|
35
49
|
### React Native
|
36
50
|
|
51
|
+
For React Native projects, install the packages and follow the platform-specific setup instructions below.
|
52
|
+
|
37
53
|
```sh
|
38
54
|
yarn add react-native-xenon
|
39
55
|
yarn add react-native-safe-area-context react-native-screens
|
@@ -43,8 +59,6 @@ yarn add react-native-safe-area-context react-native-screens
|
|
43
59
|
|
44
60
|
`react-native-screens` package requires one additional configuration step to properly work on Android devices. Edit `MainActivity.kt` file which is located under `android/app/src/main/java/<your package name>/`.
|
45
61
|
|
46
|
-
Add the highlighted code to the body of `MainActivity` class:
|
47
|
-
|
48
62
|
```diff
|
49
63
|
+ import android.os.Bundle
|
50
64
|
// ...
|
@@ -68,26 +82,18 @@ Don't forget to install pods when you are developing for iOS.
|
|
68
82
|
cd ios && pod install; cd ..
|
69
83
|
```
|
70
84
|
|
71
|
-
### Expo
|
72
|
-
|
73
|
-
```sh
|
74
|
-
npx expo install react-native-xenon
|
75
|
-
npx expo install react-native-safe-area-context react-native-screens
|
76
|
-
```
|
77
|
-
|
78
85
|
## Usage
|
79
86
|
|
80
|
-
|
87
|
+
Wrap your top-level component with `<Xenon.Wrapper />`.
|
81
88
|
|
82
89
|
```tsx
|
83
90
|
import Xenon from 'react-native-xenon';
|
84
91
|
|
85
|
-
function
|
92
|
+
function AppContainer() {
|
86
93
|
return (
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
</>
|
94
|
+
<Xenon.Wrapper>
|
95
|
+
<App />
|
96
|
+
</Xenon.Wrapper>
|
91
97
|
);
|
92
98
|
}
|
93
99
|
```
|
@@ -104,24 +110,20 @@ And hide it by calling the `hide` method.
|
|
104
110
|
Xenon.hide();
|
105
111
|
```
|
106
112
|
|
107
|
-
> [!WARNING]
|
108
|
-
> `<Xenon.Component />` is enabled by default in all environments, **including production**. This could expose sensitive debugging tools to end users, creating potential security risks.
|
109
|
-
> To avoid this, make sure to conditionally render the component only in non-production environments. For example:
|
110
|
-
>
|
111
|
-
> ```tsx
|
112
|
-
> {isProduction ? null : <Xenon.Component />}
|
113
|
-
> ```
|
114
|
-
>
|
115
|
-
> Additionally, consider other approaches such as environment-based feature flags or access control to ensure only authorized users (e.g., developers) can interact with it.
|
116
|
-
|
117
113
|
## Props
|
118
114
|
|
119
|
-
| **Prop** | **Type** | **Description**
|
120
|
-
| --------------------------- | --------- |
|
121
|
-
| `
|
122
|
-
| `
|
123
|
-
| `
|
124
|
-
| `
|
115
|
+
| **Prop** | **Type** | **Description** |
|
116
|
+
| --------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
117
|
+
| `disabled` | `boolean` | If true, completely disables the debugger by rendering only the children components without any debugging functionality. Defaults to `false`. |
|
118
|
+
| `autoInspectNetworkEnabled` | `boolean` | Determines whether the network inspector is automatically enabled upon initialization. Defaults to `true`. |
|
119
|
+
| `autoInspectConsoleEnabled` | `boolean` | Determines whether the console inspector is automatically enabled upon initialization. Defaults to `true`. |
|
120
|
+
| `bubbleSize` | `number` | Defines the size of the interactive bubble used in the UI. Defaults to `40`. |
|
121
|
+
| `idleBubbleOpacity` | `number` | Defines the opacity level of the bubble when it is idle. Defaults to `0.5`. |
|
122
|
+
|
123
|
+
<br />
|
124
|
+
|
125
|
+
> [!IMPORTANT]
|
126
|
+
> The debugger is enabled by default in all environments including production. To prevent exposing sensitive developer tools to end users, always set disabled={true} in production builds (e.g., disabled={isProduction}).
|
125
127
|
|
126
128
|
## Methods
|
127
129
|
|
Binary file
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = exports.PanelState = exports.HeaderState = exports.DebuggerVisibility = void 0;
|
7
|
+
var _react = require("react");
|
8
|
+
let DebuggerVisibility = exports.DebuggerVisibility = /*#__PURE__*/function (DebuggerVisibility) {
|
9
|
+
DebuggerVisibility[DebuggerVisibility["Hidden"] = -1] = "Hidden";
|
10
|
+
DebuggerVisibility[DebuggerVisibility["Bubble"] = 0] = "Bubble";
|
11
|
+
DebuggerVisibility[DebuggerVisibility["Panel"] = 1] = "Panel";
|
12
|
+
return DebuggerVisibility;
|
13
|
+
}({});
|
14
|
+
let PanelState = exports.PanelState = /*#__PURE__*/function (PanelState) {
|
15
|
+
PanelState[PanelState["Network"] = 0] = "Network";
|
16
|
+
PanelState[PanelState["Console"] = 1] = "Console";
|
17
|
+
PanelState[PanelState["NetworkDetail"] = 2] = "NetworkDetail";
|
18
|
+
PanelState[PanelState["ConsoleDetail"] = 3] = "ConsoleDetail";
|
19
|
+
return PanelState;
|
20
|
+
}({});
|
21
|
+
let HeaderState = exports.HeaderState = /*#__PURE__*/function (HeaderState) {
|
22
|
+
HeaderState[HeaderState["Debugger"] = 0] = "Debugger";
|
23
|
+
HeaderState[HeaderState["Network"] = 1] = "Network";
|
24
|
+
HeaderState[HeaderState["Console"] = 2] = "Console";
|
25
|
+
return HeaderState;
|
26
|
+
}({});
|
27
|
+
const refs = {
|
28
|
+
debugger: /*#__PURE__*/(0, _react.createRef)(),
|
29
|
+
panel: /*#__PURE__*/(0, _react.createRef)(),
|
30
|
+
header: /*#__PURE__*/(0, _react.createRef)()
|
31
|
+
};
|
32
|
+
var _default = exports.default = refs;
|
33
|
+
//# sourceMappingURL=refs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_react","require","DebuggerVisibility","exports","PanelState","HeaderState","refs","debugger","createRef","panel","header","_default","default"],"sourceRoot":"../../../src","sources":["core/refs.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkC,IAGtBC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAOVC,WAAW,GAAAF,OAAA,CAAAE,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB,MAAMC,IAAI,GAAG;EACXC,QAAQ,eAAE,IAAAC,gBAAS,EAA0C,CAAC;EAC9DC,KAAK,eAAE,IAAAD,gBAAS,EAAkC,CAAC;EACnDE,MAAM,eAAE,IAAAF,gBAAS,EAAmC;AACtD,CAAC;AAAC,IAAAG,QAAA,GAAAR,OAAA,CAAAS,OAAA,GAEaN,IAAI","ignoreList":[]}
|
@@ -5,15 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.formatRequestStatusCode = exports.formatRequestMethod = exports.formatRequestDuration = exports.formatLogMessage = exports.convertToCurl = exports.clamp = exports.beautify = void 0;
|
7
7
|
exports.frozen = frozen;
|
8
|
-
exports.
|
8
|
+
exports.keyValueToString = exports.getVerticalSafeMargin = exports.getNetworkUtils = exports.getHttpInterceptorId = exports.getConsoleTypeColor = void 0;
|
9
9
|
exports.singleton = singleton;
|
10
10
|
var _reactNativeUrlPolyfill = require("react-native-url-polyfill");
|
11
11
|
var _types = require("../types");
|
12
|
+
var _colors = _interopRequireDefault(require("../theme/colors"));
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
14
|
const getNetworkUtils = data => {
|
15
|
+
if (!data || !data.url) return {};
|
13
16
|
const isHttp = data?.type !== _types.NetworkType.WS;
|
14
17
|
const requestUrl = new _reactNativeUrlPolyfill.URL(data.url);
|
15
18
|
const overviewShown = !!data.url;
|
16
|
-
const
|
19
|
+
const httpHeadersShown = isHttp && (!!data.requestHeaders?.size || !!data.responseHeaders?.size);
|
20
|
+
const websocketHeadersShown = !isHttp && !!Object.keys(data.options?.headers ?? {}).length;
|
21
|
+
const headersShown = httpHeadersShown || websocketHeadersShown;
|
17
22
|
const requestShown = isHttp && (!!requestUrl.search || !!data.body);
|
18
23
|
const responseShown = isHttp && !!data.response;
|
19
24
|
const messagesShown = !isHttp && !!data.messages;
|
@@ -27,9 +32,33 @@ const getNetworkUtils = data => {
|
|
27
32
|
messagesShown
|
28
33
|
};
|
29
34
|
};
|
35
|
+
exports.getNetworkUtils = getNetworkUtils;
|
36
|
+
const hexToHexAlpha = (hex, opacity) => `${hex}${`${(Math.min(Math.max(opacity, 0), 1) * 255).toString(16)}0`.slice(0, 2)}`;
|
37
|
+
const getConsoleTypeColor = type => {
|
38
|
+
let color;
|
39
|
+
switch (type) {
|
40
|
+
case 'log':
|
41
|
+
color = _colors.default.white;
|
42
|
+
break;
|
43
|
+
case 'info':
|
44
|
+
color = _colors.default.blue;
|
45
|
+
break;
|
46
|
+
case 'warn':
|
47
|
+
case 'debug':
|
48
|
+
case 'trace':
|
49
|
+
color = _colors.default.yellow;
|
50
|
+
break;
|
51
|
+
case 'error':
|
52
|
+
color = _colors.default.red;
|
53
|
+
break;
|
54
|
+
default:
|
55
|
+
color = _colors.default.white;
|
56
|
+
}
|
57
|
+
return hexToHexAlpha(color, 0.25);
|
58
|
+
};
|
30
59
|
|
31
60
|
//#region metrics
|
32
|
-
exports.
|
61
|
+
exports.getConsoleTypeColor = getConsoleTypeColor;
|
33
62
|
const getVerticalSafeMargin = screenHeight => screenHeight / 8;
|
34
63
|
exports.getVerticalSafeMargin = getVerticalSafeMargin;
|
35
64
|
const clamp = (value, min, max) => Math.max(min, Math.min(max, value));
|
@@ -47,24 +76,26 @@ const limitChar = (value, limit = 5000) => {
|
|
47
76
|
const stringValue = typeof value === 'string' ? value : JSON.stringify(value ?? '');
|
48
77
|
return stringValue.length > limit ? `${stringValue.slice(0, limit)}\n---LIMITED TO ${limit} CHARACTERS---` : stringValue;
|
49
78
|
};
|
50
|
-
exports.limitChar = limitChar;
|
51
79
|
const keyValueToString = (key, value, newLine = 'trailing') => `${newLine === 'leading' ? '\n' : ''}${key}: ${limitChar(value)}${newLine === 'trailing' ? '\n' : ''}`;
|
52
80
|
exports.keyValueToString = keyValueToString;
|
53
81
|
const formatRequestMethod = method => method ?? 'GET';
|
54
82
|
exports.formatRequestMethod = formatRequestMethod;
|
55
|
-
const formatRequestDuration =
|
83
|
+
const formatRequestDuration = (startTime, endTime) => {
|
84
|
+
if (typeof startTime !== 'number' || typeof endTime !== 'number') return 'pending';
|
85
|
+
return `${endTime - startTime}ms`;
|
86
|
+
};
|
56
87
|
exports.formatRequestDuration = formatRequestDuration;
|
57
88
|
const formatRequestStatusCode = statusCode => `${statusCode ?? 'pending'}`;
|
58
89
|
exports.formatRequestStatusCode = formatRequestStatusCode;
|
59
|
-
const formatLogMessage =
|
60
|
-
|
61
|
-
return `${type.toUpperCase()}: ${message}`;
|
90
|
+
const formatLogMessage = values => {
|
91
|
+
return values.reduce((pre, cur, index) => pre + (!index ? '' : ', ') + limitChar(cur), '');
|
62
92
|
};
|
63
93
|
exports.formatLogMessage = formatLogMessage;
|
64
94
|
const beautify = (data, beautified) => {
|
95
|
+
if (!data) return '';
|
65
96
|
try {
|
66
97
|
const res = typeof data === 'string' ? JSON.parse(data) : data;
|
67
|
-
return beautified ? JSON.stringify(res, null,
|
98
|
+
return beautified ? JSON.stringify(res, null, 4) : limitChar(res);
|
68
99
|
} catch (error) {
|
69
100
|
return limitChar(data);
|
70
101
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNativeUrlPolyfill","require","_types","getNetworkUtils","data","isHttp","type","NetworkType","WS","requestUrl","URL","
|
1
|
+
{"version":3,"names":["_reactNativeUrlPolyfill","require","_types","_colors","_interopRequireDefault","e","__esModule","default","getNetworkUtils","data","url","isHttp","type","NetworkType","WS","requestUrl","URL","overviewShown","httpHeadersShown","requestHeaders","size","responseHeaders","websocketHeadersShown","Object","keys","options","headers","length","headersShown","requestShown","search","body","responseShown","response","messagesShown","messages","exports","hexToHexAlpha","hex","opacity","Math","min","max","toString","slice","getConsoleTypeColor","color","colors","white","blue","yellow","red","getVerticalSafeMargin","screenHeight","clamp","value","getHttpInterceptorId","timestamp","Date","now","randomNum","random","substring","limitChar","limit","stringValue","JSON","stringify","keyValueToString","key","newLine","formatRequestMethod","method","formatRequestDuration","startTime","endTime","formatRequestStatusCode","statusCode","formatLogMessage","values","reduce","pre","cur","index","beautify","beautified","res","parse","error","convertToCurl","curlCommand","toUpperCase","entries","bodyString","frozen","_target","descriptor","arguments","configurable","writable","singleton","constructor","Singleton","instance","args"],"sourceRoot":"../../../src","sources":["core/utils.ts"],"mappings":"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","ignoreList":[]}
|
@@ -38,24 +38,22 @@ function useNetworkInterceptor({
|
|
38
38
|
if (!id) return;
|
39
39
|
setNetworkRequests(draft => {
|
40
40
|
if (!draft.get(id)) return draft;
|
41
|
-
const
|
42
|
-
const
|
43
|
-
const fetchRequestHeaderLineRegex = RegExp((0, _utils.keyValueToString)(_constants.NETWORK_REQUEST_HEADER, _types.NetworkType.Fetch, requestHeaderNewLine), 'gi');
|
41
|
+
const currentHeaderLine = (0, _utils.keyValueToString)(header, value);
|
42
|
+
const fetchRequestHeaderLineRegex = RegExp((0, _utils.keyValueToString)(_constants.NETWORK_REQUEST_HEADER, _types.NetworkType.Fetch), 'gi');
|
44
43
|
const isFetchInXHR = draft.get(id).type === _types.NetworkType.XHR && !!currentHeaderLine.match(fetchRequestHeaderLineRegex);
|
45
44
|
if (isFetchInXHR) {
|
46
45
|
draft.delete(id);
|
47
46
|
} else {
|
48
|
-
draft.get(id).
|
49
|
-
draft.get(id).
|
50
|
-
draft.get(id).requestHeaders ??= {};
|
51
|
-
draft.get(id).requestHeaders[header] = value;
|
47
|
+
draft.get(id).requestHeaders ??= new Map();
|
48
|
+
draft.get(id).requestHeaders.set(header, value);
|
52
49
|
}
|
53
50
|
});
|
54
51
|
};
|
55
|
-
const sendCallback = (id, data) => {
|
52
|
+
const sendCallback = (id, startTime, data) => {
|
56
53
|
if (!id) return;
|
57
54
|
setNetworkRequests(draft => {
|
58
55
|
if (!draft.get(id)) return draft;
|
56
|
+
draft.get(id).startTime = startTime;
|
59
57
|
draft.get(id).body = data;
|
60
58
|
});
|
61
59
|
};
|
@@ -68,13 +66,13 @@ function useNetworkInterceptor({
|
|
68
66
|
draft.get(id).responseHeaders = responseHeaders;
|
69
67
|
});
|
70
68
|
};
|
71
|
-
const responseCallback = (id, status, timeout,
|
69
|
+
const responseCallback = (id, status, timeout, endTime, response, responseURL, responseType) => {
|
72
70
|
if (!id) return;
|
73
71
|
setNetworkRequests(draft => {
|
74
72
|
if (!draft.get(id)) return draft;
|
75
73
|
draft.get(id).status = status;
|
76
74
|
draft.get(id).timeout = timeout;
|
77
|
-
draft.get(id).
|
75
|
+
draft.get(id).endTime = endTime;
|
78
76
|
draft.get(id).response = response;
|
79
77
|
if (responseURL) draft.get(id).url = responseURL;
|
80
78
|
draft.get(id).responseType = responseType;
|
@@ -84,10 +82,11 @@ function useNetworkInterceptor({
|
|
84
82
|
fetchInterceptor.set('open', openCallback).set('requestHeader', requestHeaderCallback).set('send', sendCallback).set('headerReceived', headerReceivedCallback).set('response', responseCallback).enableInterception();
|
85
83
|
}, [setNetworkRequests]);
|
86
84
|
const enableWebSocketInterception = (0, _react.useCallback)(() => {
|
87
|
-
const connectCallback = (url, protocols, options, socketId) => {
|
85
|
+
const connectCallback = (startTime, url, protocols, options, socketId) => {
|
88
86
|
if (typeof socketId !== 'number') return;
|
89
87
|
setNetworkRequests(draft => {
|
90
88
|
draft.set(`${socketId}`, {
|
89
|
+
startTime,
|
91
90
|
url,
|
92
91
|
type: _types.NetworkType.WS,
|
93
92
|
protocols,
|
@@ -100,7 +99,7 @@ function useNetworkInterceptor({
|
|
100
99
|
setNetworkRequests(draft => {
|
101
100
|
if (!draft.get(`${socketId}`)) return draft;
|
102
101
|
draft.get(`${socketId}`).messages ??= '';
|
103
|
-
draft.get(`${socketId}`).messages += (0, _utils.keyValueToString)('SENT', data
|
102
|
+
draft.get(`${socketId}`).messages += (0, _utils.keyValueToString)('SENT', data);
|
104
103
|
});
|
105
104
|
};
|
106
105
|
const closeCallback = (code, reason, socketId) => {
|
@@ -111,11 +110,11 @@ function useNetworkInterceptor({
|
|
111
110
|
draft.get(`${socketId}`).closeReason = reason;
|
112
111
|
});
|
113
112
|
};
|
114
|
-
const onOpenCallback = (socketId,
|
113
|
+
const onOpenCallback = (socketId, endTime) => {
|
115
114
|
if (typeof socketId !== 'number') return;
|
116
115
|
setNetworkRequests(draft => {
|
117
116
|
if (!draft.get(`${socketId}`)) return draft;
|
118
|
-
draft.get(`${socketId}`).
|
117
|
+
draft.get(`${socketId}`).endTime = endTime;
|
119
118
|
});
|
120
119
|
};
|
121
120
|
const onMessageCallback = (socketId, message) => {
|
@@ -123,7 +122,7 @@ function useNetworkInterceptor({
|
|
123
122
|
setNetworkRequests(draft => {
|
124
123
|
if (!draft.get(`${socketId}`)) return draft;
|
125
124
|
draft.get(`${socketId}`).messages ??= '';
|
126
|
-
draft.get(`${socketId}`).messages += (0, _utils.keyValueToString)('RECEIVED', message
|
125
|
+
draft.get(`${socketId}`).messages += (0, _utils.keyValueToString)('RECEIVED', message);
|
127
126
|
});
|
128
127
|
};
|
129
128
|
const onErrorCallback = (socketId, data) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","require","_useImmer","_constants","_interceptors","_types","_utils","initRequests","Map","xhrInterceptor","XHRInterceptor","fetchInterceptor","FetchInterceptor","webSocketInterceptor","WebSocketInterceptor","useNetworkInterceptor","autoEnabled","isInterceptorEnabled","setIsInterceptorEnabled","useState","networkRequests","setNetworkRequests","useImmer","isEnabled","clearAllNetworkRequests","enableHttpInterceptions","useCallback","openCallback","id","type","method","url","draft","set","requestHeaderCallback","header","value","get","
|
1
|
+
{"version":3,"names":["_react","require","_useImmer","_constants","_interceptors","_types","_utils","initRequests","Map","xhrInterceptor","XHRInterceptor","fetchInterceptor","FetchInterceptor","webSocketInterceptor","WebSocketInterceptor","useNetworkInterceptor","autoEnabled","isInterceptorEnabled","setIsInterceptorEnabled","useState","networkRequests","setNetworkRequests","useImmer","isEnabled","clearAllNetworkRequests","enableHttpInterceptions","useCallback","openCallback","id","type","method","url","draft","set","requestHeaderCallback","header","value","get","currentHeaderLine","keyValueToString","fetchRequestHeaderLineRegex","RegExp","NETWORK_REQUEST_HEADER","NetworkType","Fetch","isFetchInXHR","XHR","match","delete","requestHeaders","sendCallback","startTime","data","body","headerReceivedCallback","responseContentType","responseSize","responseHeaders","responseCallback","status","timeout","endTime","response","responseURL","responseType","enableInterception","enableWebSocketInterception","connectCallback","protocols","options","socketId","WS","messages","closeCallback","code","reason","closeReason","onOpenCallback","onMessageCallback","message","onErrorCallback","serverError","onCloseCallback","serverClose","disableInterception","useEffect"],"sourceRoot":"../../../src","sources":["hooks/useNetworkInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
@@ -71,12 +71,10 @@ let FetchInterceptor = exports.default = (0, _utils.singleton)(_class = (_class2
|
|
71
71
|
//#endregion
|
72
72
|
|
73
73
|
//#region send
|
74
|
-
|
75
|
-
sendCallback?.(interceptionId, init?.body ?? null);
|
74
|
+
sendCallback?.(interceptionId, Date.now(), init?.body ?? null);
|
76
75
|
//#endregion
|
77
76
|
|
78
77
|
const response = await originalFetch.call(this, input, requestInit);
|
79
|
-
const endTime = Date.now();
|
80
78
|
const clonedResponse = response.clone();
|
81
79
|
const clonedResponseHeaders = clonedResponse.headers;
|
82
80
|
|
@@ -85,17 +83,16 @@ let FetchInterceptor = exports.default = (0, _utils.singleton)(_class = (_class2
|
|
85
83
|
const contentLengthString = clonedResponseHeaders.get('Content-Length');
|
86
84
|
const responseContentType = contentTypeString ? contentTypeString.split(';')[0] : undefined;
|
87
85
|
const responseSize = contentLengthString ? parseInt(contentLengthString, 10) : undefined;
|
88
|
-
let responseHeaders =
|
89
|
-
|
90
|
-
responseHeaders
|
91
|
-
}
|
86
|
+
let responseHeaders = new Map();
|
87
|
+
clonedResponseHeaders.forEach((headerValue, headerKey) => {
|
88
|
+
responseHeaders.set(headerKey, headerValue);
|
89
|
+
});
|
92
90
|
headerReceivedCallback?.(interceptionId, responseContentType, responseSize, responseHeaders);
|
93
91
|
//#endregion
|
94
92
|
|
95
93
|
//#region response
|
96
94
|
const responseBody = await clonedResponse.text().catch(() => null);
|
97
|
-
|
98
|
-
responseCallback?.(interceptionId, clonedResponse.status, 0, duration, responseBody, clonedResponse.url, clonedResponse.type);
|
95
|
+
responseCallback?.(interceptionId, clonedResponse.status, 0, Date.now(), responseBody, clonedResponse.url, clonedResponse.type);
|
99
96
|
//#endregion
|
100
97
|
|
101
98
|
return response;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_constants","require","_utils","_types","_HttpInterceptor","_interopRequireDefault","_class","_class2","e","__esModule","default","_applyDecoratedDescriptor","i","r","n","l","a","Object","keys","forEach","enumerable","configurable","initializer","writable","slice","reverse","reduce","value","call","defineProperty","originalFetch","global","fetch","FetchInterceptor","exports","singleton","HttpInterceptor","enableInterception","isInterceptorEnabled","openCallback","requestHeaderCallback","sendCallback","headerReceivedCallback","responseCallback","getCallbacks","input","init","interceptionId","getHttpInterceptorId","requestHeaders","Headers","headers","append","NETWORK_REQUEST_HEADER","NetworkType","Fetch","requestInit","method","formatRequestMethod","url","Request","URL","href","headerKey","headerValue","entries","Array","isArray","key","
|
1
|
+
{"version":3,"names":["_constants","require","_utils","_types","_HttpInterceptor","_interopRequireDefault","_class","_class2","e","__esModule","default","_applyDecoratedDescriptor","i","r","n","l","a","Object","keys","forEach","enumerable","configurable","initializer","writable","slice","reverse","reduce","value","call","defineProperty","originalFetch","global","fetch","FetchInterceptor","exports","singleton","HttpInterceptor","enableInterception","isInterceptorEnabled","openCallback","requestHeaderCallback","sendCallback","headerReceivedCallback","responseCallback","getCallbacks","input","init","interceptionId","getHttpInterceptorId","requestHeaders","Headers","headers","append","NETWORK_REQUEST_HEADER","NetworkType","Fetch","requestInit","method","formatRequestMethod","url","Request","URL","href","headerKey","headerValue","entries","Array","isArray","key","Date","now","body","response","clonedResponse","clone","clonedResponseHeaders","contentTypeString","get","contentLengthString","responseContentType","split","undefined","responseSize","parseInt","responseHeaders","Map","set","responseBody","text","catch","status","type","disableInterception","clearCallbacks","prototype","frozen","getOwnPropertyDescriptor"],"sourceRoot":"../../../src","sources":["interceptors/FetchInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
@@ -27,7 +27,6 @@ let WebSocketInterceptor = exports.default = (0, _utils.singleton)(_class = (_cl
|
|
27
27
|
};
|
28
28
|
eventEmitter = null;
|
29
29
|
subscriptions = [];
|
30
|
-
startTimes = new Map();
|
31
30
|
arrayBufferToString(data) {
|
32
31
|
try {
|
33
32
|
if (!data) return '(no input)';
|
@@ -41,11 +40,7 @@ let WebSocketInterceptor = exports.default = (0, _utils.singleton)(_class = (_cl
|
|
41
40
|
registerEvents() {
|
42
41
|
if (!this.eventEmitter) return;
|
43
42
|
this.subscriptions = [this.eventEmitter.addListener('websocketOpen', ev => {
|
44
|
-
|
45
|
-
const endTime = Date.now();
|
46
|
-
const duration = endTime - (startTime ?? 0);
|
47
|
-
this.startTimes.delete(ev.id);
|
48
|
-
this.handlers.onOpen?.(ev.id, duration);
|
43
|
+
this.handlers.onOpen?.(ev.id, Date.now());
|
49
44
|
}), this.eventEmitter.addListener('websocketMessage', ev => {
|
50
45
|
this.handlers.onMessage?.(ev.id, ev.type === 'binary' ? this.arrayBufferToString(ev.data) : ev.data);
|
51
46
|
}), this.eventEmitter.addListener('websocketClosed', ev => {
|
@@ -73,10 +68,8 @@ let WebSocketInterceptor = exports.default = (0, _utils.singleton)(_class = (_cl
|
|
73
68
|
sendCallback,
|
74
69
|
closeCallback
|
75
70
|
} = this.getCallbacks();
|
76
|
-
const startTimes = this.startTimes;
|
77
71
|
_NativeWebSocketModule.default.connect = function (...args) {
|
78
|
-
connectCallback?.(...args);
|
79
|
-
startTimes.set(args[3], Date.now());
|
72
|
+
connectCallback?.(Date.now(), ...args);
|
80
73
|
originalWebSocketConnect.call(this, ...args);
|
81
74
|
};
|
82
75
|
_NativeWebSocketModule.default.send = function (...args) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeWebSocketModule","_interopRequireDefault","_utils","_NetworkInterceptor","_class","_class2","e","__esModule","default","_applyDecoratedDescriptor","i","r","n","l","a","Object","keys","forEach","enumerable","configurable","initializer","writable","slice","reverse","reduce","value","call","defineProperty","originalWebSocketConnect","NativeWebSocketModule","connect","originalWebSocketSend","send","originalWebSocketSendBinary","sendBinary","originalWebSocketClose","close","WebSocketInterceptor","exports","singleton","NetworkInterceptor","handlers","onOpen","onMessage","onError","onClose","eventEmitter","subscriptions","
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeWebSocketModule","_interopRequireDefault","_utils","_NetworkInterceptor","_class","_class2","e","__esModule","default","_applyDecoratedDescriptor","i","r","n","l","a","Object","keys","forEach","enumerable","configurable","initializer","writable","slice","reverse","reduce","value","call","defineProperty","originalWebSocketConnect","NativeWebSocketModule","connect","originalWebSocketSend","send","originalWebSocketSendBinary","sendBinary","originalWebSocketClose","close","WebSocketInterceptor","exports","singleton","NetworkInterceptor","handlers","onOpen","onMessage","onError","onClose","eventEmitter","subscriptions","arrayBufferToString","data","byteArray","Buffer","from","length","join","error","Error","message","registerEvents","addListener","ev","id","Date","now","type","code","reason","unregisterEvents","remove","enableInterception","isInterceptorEnabled","NativeEventEmitter","connectCallback","sendCallback","closeCallback","getCallbacks","args","base64String","socketId","disableInterception","clearCallbacks","prototype","frozen","getOwnPropertyDescriptor"],"sourceRoot":"../../../src","sources":["interceptors/WebSocketInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
@@ -34,8 +34,7 @@ let XHRInterceptor = exports.default = (0, _utils.singleton)(_class = (_class2 =
|
|
34
34
|
originalXHRSetRequestHeader.call(this, header, value);
|
35
35
|
};
|
36
36
|
XMLHttpRequest.prototype.send = function (data) {
|
37
|
-
sendCallback?.(this._interceptionId, data);
|
38
|
-
const startTime = Date.now();
|
37
|
+
sendCallback?.(this._interceptionId, Date.now(), data);
|
39
38
|
this.addEventListener?.('readystatechange', () => {
|
40
39
|
if (!isInterceptorEnabled()) return;
|
41
40
|
if (this.readyState === this.HEADERS_RECEIVED) {
|
@@ -43,12 +42,16 @@ let XHRInterceptor = exports.default = (0, _utils.singleton)(_class = (_class2 =
|
|
43
42
|
const contentLengthString = this.getResponseHeader('Content-Length');
|
44
43
|
const responseContentType = contentTypeString ? contentTypeString.split(';')[0] : undefined;
|
45
44
|
const responseSize = contentLengthString ? parseInt(contentLengthString, 10) : undefined;
|
46
|
-
|
45
|
+
const responseHeadersArray = this.getAllResponseHeaders().split('\n');
|
46
|
+
const responseHeaders = responseHeadersArray.reduce((acc, header) => {
|
47
|
+
const [key, value] = header.split(': ');
|
48
|
+
if (key && value) acc.set(key, value);
|
49
|
+
return acc;
|
50
|
+
}, new Map());
|
51
|
+
headerReceivedCallback?.(this._interceptionId, responseContentType, responseSize, responseHeaders);
|
47
52
|
}
|
48
53
|
if (this.readyState === this.DONE) {
|
49
|
-
|
50
|
-
const duration = endTime - startTime;
|
51
|
-
responseCallback?.(this._interceptionId, this.status, this.timeout, duration, this.response, this.responseURL, this.responseType);
|
54
|
+
responseCallback?.(this._interceptionId, this.status, this.timeout, Date.now(), this.response, this.responseURL, this.responseType);
|
52
55
|
}
|
53
56
|
});
|
54
57
|
originalXHRSend.call(this, data);
|