react-native-xenon 0.1.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/LICENSE +20 -0
- package/README.md +62 -0
- package/lib/commonjs/assets/code.png +0 -0
- package/lib/commonjs/assets/delete.png +0 -0
- package/lib/commonjs/assets/hide.png +0 -0
- package/lib/commonjs/assets/move.png +0 -0
- package/lib/commonjs/assets/record.png +0 -0
- package/lib/commonjs/constants.js +8 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/contexts/MainContext.js +10 -0
- package/lib/commonjs/contexts/MainContext.js.map +1 -0
- package/lib/commonjs/contexts/index.js +14 -0
- package/lib/commonjs/contexts/index.js.map +1 -0
- package/lib/commonjs/global.d.js +2 -0
- package/lib/commonjs/global.d.js.map +1 -0
- package/lib/commonjs/hooks/index.js +28 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useConsoleInterceptor.js +49 -0
- package/lib/commonjs/hooks/useConsoleInterceptor.js.map +1 -0
- package/lib/commonjs/hooks/useNetworkInterceptor.js +162 -0
- package/lib/commonjs/hooks/useNetworkInterceptor.js.map +1 -0
- package/lib/commonjs/hooks/useScrollToBottom.js +23 -0
- package/lib/commonjs/hooks/useScrollToBottom.js.map +1 -0
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/interceptors/ConsoleInterceptor.js +93 -0
- package/lib/commonjs/interceptors/ConsoleInterceptor.js.map +1 -0
- package/lib/commonjs/interceptors/FetchInterceptor.js +114 -0
- package/lib/commonjs/interceptors/FetchInterceptor.js.map +1 -0
- package/lib/commonjs/interceptors/HttpInterceptor.js +57 -0
- package/lib/commonjs/interceptors/HttpInterceptor.js.map +1 -0
- package/lib/commonjs/interceptors/Interceptor.js +11 -0
- package/lib/commonjs/interceptors/Interceptor.js.map +1 -0
- package/lib/commonjs/interceptors/NetworkInterceptor.js +11 -0
- package/lib/commonjs/interceptors/NetworkInterceptor.js.map +1 -0
- package/lib/commonjs/interceptors/WebSocketInterceptor.js +150 -0
- package/lib/commonjs/interceptors/WebSocketInterceptor.js.map +1 -0
- package/lib/commonjs/interceptors/XHRInterceptor.js +69 -0
- package/lib/commonjs/interceptors/XHRInterceptor.js.map +1 -0
- package/lib/commonjs/interceptors/index.js +35 -0
- package/lib/commonjs/interceptors/index.js.map +1 -0
- package/lib/commonjs/types/common.js +18 -0
- package/lib/commonjs/types/common.js.map +1 -0
- package/lib/commonjs/types/console.js +2 -0
- package/lib/commonjs/types/console.js.map +1 -0
- package/lib/commonjs/types/http.js +6 -0
- package/lib/commonjs/types/http.js.map +1 -0
- package/lib/commonjs/types/index.js +50 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/types/websocket.js +6 -0
- package/lib/commonjs/types/websocket.js.map +1 -0
- package/lib/commonjs/ui/Xenon.js +117 -0
- package/lib/commonjs/ui/Xenon.js.map +1 -0
- package/lib/commonjs/ui/components/bubble/Bubble.js +82 -0
- package/lib/commonjs/ui/components/bubble/Bubble.js.map +1 -0
- package/lib/commonjs/ui/components/details/DetailsViewer.js +33 -0
- package/lib/commonjs/ui/components/details/DetailsViewer.js.map +1 -0
- package/lib/commonjs/ui/components/details/LogMessageDetails.js +30 -0
- package/lib/commonjs/ui/components/details/LogMessageDetails.js.map +1 -0
- package/lib/commonjs/ui/components/details/NetworkRequestDetails.js +130 -0
- package/lib/commonjs/ui/components/details/NetworkRequestDetails.js.map +1 -0
- package/lib/commonjs/ui/components/headers/DebuggerHeader.js +94 -0
- package/lib/commonjs/ui/components/headers/DebuggerHeader.js.map +1 -0
- package/lib/commonjs/ui/components/headers/NetworkPanelHeader.js +68 -0
- package/lib/commonjs/ui/components/headers/NetworkPanelHeader.js.map +1 -0
- package/lib/commonjs/ui/components/headers/NetworkRequestDetailsHeader.js +65 -0
- package/lib/commonjs/ui/components/headers/NetworkRequestDetailsHeader.js.map +1 -0
- package/lib/commonjs/ui/components/index.js +42 -0
- package/lib/commonjs/ui/components/index.js.map +1 -0
- package/lib/commonjs/ui/components/items/ConsolePanelItem.js +35 -0
- package/lib/commonjs/ui/components/items/ConsolePanelItem.js.map +1 -0
- package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js +54 -0
- package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js.map +1 -0
- package/lib/commonjs/ui/components/items/NetworkPanelItem.js +76 -0
- package/lib/commonjs/ui/components/items/NetworkPanelItem.js.map +1 -0
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsHeaderItem.js +47 -0
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsHeaderItem.js.map +1 -0
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js +41 -0
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js.map +1 -0
- package/lib/commonjs/ui/components/panels/ConsolePanel.js +58 -0
- package/lib/commonjs/ui/components/panels/ConsolePanel.js.map +1 -0
- package/lib/commonjs/ui/components/panels/NetworkPanel.js +66 -0
- package/lib/commonjs/ui/components/panels/NetworkPanel.js.map +1 -0
- package/lib/commonjs/utils.js +46 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/module/assets/code.png +0 -0
- package/lib/module/assets/delete.png +0 -0
- package/lib/module/assets/hide.png +0 -0
- package/lib/module/assets/move.png +0 -0
- package/lib/module/assets/record.png +0 -0
- package/lib/module/constants.js +4 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/contexts/MainContext.js +6 -0
- package/lib/module/contexts/MainContext.js.map +1 -0
- package/lib/module/contexts/index.js +4 -0
- package/lib/module/contexts/index.js.map +1 -0
- package/lib/module/global.d.js +2 -0
- package/lib/module/global.d.js.map +1 -0
- package/lib/module/hooks/index.js +6 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useConsoleInterceptor.js +45 -0
- package/lib/module/hooks/useConsoleInterceptor.js.map +1 -0
- package/lib/module/hooks/useNetworkInterceptor.js +158 -0
- package/lib/module/hooks/useNetworkInterceptor.js.map +1 -0
- package/lib/module/hooks/useScrollToBottom.js +19 -0
- package/lib/module/hooks/useScrollToBottom.js.map +1 -0
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/interceptors/ConsoleInterceptor.js +86 -0
- package/lib/module/interceptors/ConsoleInterceptor.js.map +1 -0
- package/lib/module/interceptors/FetchInterceptor.js +108 -0
- package/lib/module/interceptors/FetchInterceptor.js.map +1 -0
- package/lib/module/interceptors/HttpInterceptor.js +52 -0
- package/lib/module/interceptors/HttpInterceptor.js.map +1 -0
- package/lib/module/interceptors/Interceptor.js +6 -0
- package/lib/module/interceptors/Interceptor.js.map +1 -0
- package/lib/module/interceptors/NetworkInterceptor.js +5 -0
- package/lib/module/interceptors/NetworkInterceptor.js.map +1 -0
- package/lib/module/interceptors/WebSocketInterceptor.js +144 -0
- package/lib/module/interceptors/WebSocketInterceptor.js.map +1 -0
- package/lib/module/interceptors/XHRInterceptor.js +63 -0
- package/lib/module/interceptors/XHRInterceptor.js.map +1 -0
- package/lib/module/interceptors/index.js +7 -0
- package/lib/module/interceptors/index.js.map +1 -0
- package/lib/module/types/common.js +14 -0
- package/lib/module/types/common.js.map +1 -0
- package/lib/module/types/console.js +2 -0
- package/lib/module/types/console.js.map +1 -0
- package/lib/module/types/http.js +4 -0
- package/lib/module/types/http.js.map +1 -0
- package/lib/module/types/index.js +7 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/websocket.js +4 -0
- package/lib/module/types/websocket.js.map +1 -0
- package/lib/module/ui/Xenon.js +112 -0
- package/lib/module/ui/Xenon.js.map +1 -0
- package/lib/module/ui/components/bubble/Bubble.js +78 -0
- package/lib/module/ui/components/bubble/Bubble.js.map +1 -0
- package/lib/module/ui/components/details/DetailsViewer.js +28 -0
- package/lib/module/ui/components/details/DetailsViewer.js.map +1 -0
- package/lib/module/ui/components/details/LogMessageDetails.js +26 -0
- package/lib/module/ui/components/details/LogMessageDetails.js.map +1 -0
- package/lib/module/ui/components/details/NetworkRequestDetails.js +125 -0
- package/lib/module/ui/components/details/NetworkRequestDetails.js.map +1 -0
- package/lib/module/ui/components/headers/DebuggerHeader.js +89 -0
- package/lib/module/ui/components/headers/DebuggerHeader.js.map +1 -0
- package/lib/module/ui/components/headers/NetworkPanelHeader.js +64 -0
- package/lib/module/ui/components/headers/NetworkPanelHeader.js.map +1 -0
- package/lib/module/ui/components/headers/NetworkRequestDetailsHeader.js +60 -0
- package/lib/module/ui/components/headers/NetworkRequestDetailsHeader.js.map +1 -0
- package/lib/module/ui/components/index.js +8 -0
- package/lib/module/ui/components/index.js.map +1 -0
- package/lib/module/ui/components/items/ConsolePanelItem.js +31 -0
- package/lib/module/ui/components/items/ConsolePanelItem.js.map +1 -0
- package/lib/module/ui/components/items/DebuggerHeaderItem.js +50 -0
- package/lib/module/ui/components/items/DebuggerHeaderItem.js.map +1 -0
- package/lib/module/ui/components/items/NetworkPanelItem.js +72 -0
- package/lib/module/ui/components/items/NetworkPanelItem.js.map +1 -0
- package/lib/module/ui/components/items/NetworkRequestDetailsHeaderItem.js +43 -0
- package/lib/module/ui/components/items/NetworkRequestDetailsHeaderItem.js.map +1 -0
- package/lib/module/ui/components/items/NetworkRequestDetailsItem.js +37 -0
- package/lib/module/ui/components/items/NetworkRequestDetailsItem.js.map +1 -0
- package/lib/module/ui/components/panels/ConsolePanel.js +53 -0
- package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -0
- package/lib/module/ui/components/panels/NetworkPanel.js +61 -0
- package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -0
- package/lib/module/utils.js +35 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/constants.d.ts +2 -0
- package/lib/typescript/commonjs/src/constants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/contexts/MainContext.d.ts +24 -0
- package/lib/typescript/commonjs/src/contexts/MainContext.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/contexts/index.d.ts +2 -0
- package/lib/typescript/commonjs/src/contexts/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useConsoleInterceptor.d.ts +13 -0
- package/lib/typescript/commonjs/src/hooks/useConsoleInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts +12 -0
- package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/hooks/useScrollToBottom.d.ts +3 -0
- package/lib/typescript/commonjs/src/hooks/useScrollToBottom.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +2 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/ConsoleInterceptor.d.ts +10 -0
- package/lib/typescript/commonjs/src/interceptors/ConsoleInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts +8 -0
- package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/HttpInterceptor.d.ts +23 -0
- package/lib/typescript/commonjs/src/interceptors/HttpInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/Interceptor.d.ts +6 -0
- package/lib/typescript/commonjs/src/interceptors/Interceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/NetworkInterceptor.d.ts +6 -0
- package/lib/typescript/commonjs/src/interceptors/NetworkInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts +34 -0
- package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts +8 -0
- package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/interceptors/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/interceptors/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/common.d.ts +19 -0
- package/lib/typescript/commonjs/src/types/common.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/console.d.ts +5 -0
- package/lib/typescript/commonjs/src/types/console.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/http.d.ts +21 -0
- package/lib/typescript/commonjs/src/types/http.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/types/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types/websocket.d.ts +29 -0
- package/lib/typescript/commonjs/src/types/websocket.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/Xenon.d.ts +16 -0
- package/lib/typescript/commonjs/src/ui/Xenon.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts +9 -0
- package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts +7 -0
- package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts +7 -0
- package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkPanelHeader.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkPanelHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkRequestDetailsHeader.d.ts +13 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkRequestDetailsHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/index.d.ts +6 -0
- package/lib/typescript/commonjs/src/ui/components/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/items/ConsolePanelItem.d.ts +7 -0
- package/lib/typescript/commonjs/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/items/DebuggerHeaderItem.d.ts +10 -0
- package/lib/typescript/commonjs/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts +10 -0
- package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts +11 -0
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts +8 -0
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/utils.d.ts +9 -0
- package/lib/typescript/commonjs/src/utils.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/constants.d.ts +2 -0
- package/lib/typescript/module/src/constants.d.ts.map +1 -0
- package/lib/typescript/module/src/contexts/MainContext.d.ts +24 -0
- package/lib/typescript/module/src/contexts/MainContext.d.ts.map +1 -0
- package/lib/typescript/module/src/contexts/index.d.ts +2 -0
- package/lib/typescript/module/src/contexts/index.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/index.d.ts +4 -0
- package/lib/typescript/module/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useConsoleInterceptor.d.ts +13 -0
- package/lib/typescript/module/src/hooks/useConsoleInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useNetworkInterceptor.d.ts +12 -0
- package/lib/typescript/module/src/hooks/useNetworkInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/hooks/useScrollToBottom.d.ts +3 -0
- package/lib/typescript/module/src/hooks/useScrollToBottom.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +2 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/ConsoleInterceptor.d.ts +10 -0
- package/lib/typescript/module/src/interceptors/ConsoleInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts +8 -0
- package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/HttpInterceptor.d.ts +23 -0
- package/lib/typescript/module/src/interceptors/HttpInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/Interceptor.d.ts +6 -0
- package/lib/typescript/module/src/interceptors/Interceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/NetworkInterceptor.d.ts +6 -0
- package/lib/typescript/module/src/interceptors/NetworkInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts +34 -0
- package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts +8 -0
- package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts.map +1 -0
- package/lib/typescript/module/src/interceptors/index.d.ts +5 -0
- package/lib/typescript/module/src/interceptors/index.d.ts.map +1 -0
- package/lib/typescript/module/src/types/common.d.ts +19 -0
- package/lib/typescript/module/src/types/common.d.ts.map +1 -0
- package/lib/typescript/module/src/types/console.d.ts +5 -0
- package/lib/typescript/module/src/types/console.d.ts.map +1 -0
- package/lib/typescript/module/src/types/http.d.ts +21 -0
- package/lib/typescript/module/src/types/http.d.ts.map +1 -0
- package/lib/typescript/module/src/types/index.d.ts +5 -0
- package/lib/typescript/module/src/types/index.d.ts.map +1 -0
- package/lib/typescript/module/src/types/websocket.d.ts +29 -0
- package/lib/typescript/module/src/types/websocket.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/Xenon.d.ts +16 -0
- package/lib/typescript/module/src/ui/Xenon.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts +9 -0
- package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts +7 -0
- package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts +7 -0
- package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkPanelHeader.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkPanelHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkRequestDetailsHeader.d.ts +13 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkRequestDetailsHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/index.d.ts +6 -0
- package/lib/typescript/module/src/ui/components/index.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/items/ConsolePanelItem.d.ts +7 -0
- package/lib/typescript/module/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/items/DebuggerHeaderItem.d.ts +10 -0
- package/lib/typescript/module/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts +10 -0
- package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts +11 -0
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts +8 -0
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts.map +1 -0
- package/lib/typescript/module/src/utils.d.ts +9 -0
- package/lib/typescript/module/src/utils.d.ts.map +1 -0
- package/package.json +219 -0
- package/src/assets/code.png +0 -0
- package/src/assets/delete.png +0 -0
- package/src/assets/hide.png +0 -0
- package/src/assets/move.png +0 -0
- package/src/assets/record.png +0 -0
- package/src/constants.ts +1 -0
- package/src/contexts/MainContext.ts +34 -0
- package/src/contexts/index.ts +1 -0
- package/src/global.d.ts +29 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useConsoleInterceptor.ts +58 -0
- package/src/hooks/useNetworkInterceptor.ts +263 -0
- package/src/hooks/useScrollToBottom.ts +23 -0
- package/src/index.ts +1 -0
- package/src/interceptors/ConsoleInterceptor.ts +115 -0
- package/src/interceptors/FetchInterceptor.ts +134 -0
- package/src/interceptors/HttpInterceptor.ts +65 -0
- package/src/interceptors/Interceptor.ts +6 -0
- package/src/interceptors/NetworkInterceptor.ts +6 -0
- package/src/interceptors/WebSocketInterceptor.ts +189 -0
- package/src/interceptors/XHRInterceptor.ts +97 -0
- package/src/interceptors/index.ts +4 -0
- package/src/types/common.ts +26 -0
- package/src/types/console.ts +4 -0
- package/src/types/http.ts +44 -0
- package/src/types/index.ts +4 -0
- package/src/types/websocket.ts +46 -0
- package/src/ui/Xenon.tsx +149 -0
- package/src/ui/components/bubble/Bubble.tsx +93 -0
- package/src/ui/components/details/DetailsViewer.tsx +20 -0
- package/src/ui/components/details/LogMessageDetails.tsx +26 -0
- package/src/ui/components/details/NetworkRequestDetails.tsx +140 -0
- package/src/ui/components/headers/DebuggerHeader.tsx +112 -0
- package/src/ui/components/headers/NetworkPanelHeader.tsx +58 -0
- package/src/ui/components/headers/NetworkRequestDetailsHeader.tsx +91 -0
- package/src/ui/components/index.ts +5 -0
- package/src/ui/components/items/ConsolePanelItem.tsx +28 -0
- package/src/ui/components/items/DebuggerHeaderItem.tsx +65 -0
- package/src/ui/components/items/NetworkPanelItem.tsx +71 -0
- package/src/ui/components/items/NetworkRequestDetailsHeaderItem.tsx +52 -0
- package/src/ui/components/items/NetworkRequestDetailsItem.tsx +43 -0
- package/src/ui/components/panels/ConsolePanel.tsx +55 -0
- package/src/ui/components/panels/NetworkPanel.tsx +64 -0
- package/src/utils.ts +54 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["global.d.ts"],"mappings":"","ignoreList":[]}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
export { default as useConsoleInterceptor } from "./useConsoleInterceptor.js";
|
4
|
+
export { default as useNetworkInterceptor } from "./useNetworkInterceptor.js";
|
5
|
+
export { default as useScrollToBottom } from "./useScrollToBottom.js";
|
6
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["default","useConsoleInterceptor","useNetworkInterceptor","useScrollToBottom"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,qBAAqB,QAAQ,4BAAyB;AAC1E,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,4BAAyB;AAC1E,SAASF,OAAO,IAAIG,iBAAiB,QAAQ,wBAAqB","ignoreList":[]}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { useCallback, useEffect, useState } from 'react';
|
4
|
+
import { useImmer } from 'use-immer';
|
5
|
+
import { ConsoleInterceptor } from "../interceptors/index.js";
|
6
|
+
export default function useConsoleInterceptor(params) {
|
7
|
+
const {
|
8
|
+
autoEnabled = false
|
9
|
+
} = params || {};
|
10
|
+
const [isInterceptorEnabled, setIsInterceptorEnabled] = useState(autoEnabled);
|
11
|
+
const [logMessages, setLogMessages] = useImmer([]);
|
12
|
+
const clearAllLogMessages = () => {
|
13
|
+
setLogMessages([]);
|
14
|
+
};
|
15
|
+
const _isInterceptorEnabled = () => ConsoleInterceptor.instance.isInterceptorEnabled;
|
16
|
+
const enableInterception = useCallback(() => {
|
17
|
+
if (_isInterceptorEnabled()) return;
|
18
|
+
ConsoleInterceptor.instance.setCallback((type, args) => {
|
19
|
+
setLogMessages(draft => {
|
20
|
+
draft.push({
|
21
|
+
type,
|
22
|
+
values: args
|
23
|
+
});
|
24
|
+
});
|
25
|
+
}).enableInterception();
|
26
|
+
setIsInterceptorEnabled(true);
|
27
|
+
}, [setLogMessages]);
|
28
|
+
const disableInterception = useCallback(() => {
|
29
|
+
if (!_isInterceptorEnabled()) return;
|
30
|
+
ConsoleInterceptor.instance.disableInterception();
|
31
|
+
setIsInterceptorEnabled(false);
|
32
|
+
}, []);
|
33
|
+
useEffect(() => {
|
34
|
+
if (autoEnabled) enableInterception();
|
35
|
+
if (autoEnabled) return disableInterception;
|
36
|
+
}, [autoEnabled, disableInterception, enableInterception]);
|
37
|
+
return {
|
38
|
+
isInterceptorEnabled,
|
39
|
+
enableInterception,
|
40
|
+
disableInterception,
|
41
|
+
clearAllLogMessages,
|
42
|
+
logMessages
|
43
|
+
};
|
44
|
+
}
|
45
|
+
//# sourceMappingURL=useConsoleInterceptor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","useImmer","ConsoleInterceptor","useConsoleInterceptor","params","autoEnabled","isInterceptorEnabled","setIsInterceptorEnabled","logMessages","setLogMessages","clearAllLogMessages","_isInterceptorEnabled","instance","enableInterception","setCallback","type","args","draft","push","values","disableInterception"],"sourceRoot":"../../../src","sources":["hooks/useConsoleInterceptor.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,kBAAkB,QAAQ,0BAAiB;AAOpD,eAAe,SAASC,qBAAqBA,CAACC,MAAgC,EAAE;EAC9E,MAAM;IAAEC,WAAW,GAAG;EAAM,CAAC,GAAGD,MAAM,IAAI,CAAC,CAAC;EAE5C,MAAM,CAACE,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGP,QAAQ,CAACK,WAAW,CAAC;EAE7E,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAAe,EAAE,CAAC;EAEhE,MAAMS,mBAAmB,GAAGA,CAAA,KAAM;IAChCD,cAAc,CAAC,EAAE,CAAC;EACpB,CAAC;EAED,MAAME,qBAAqB,GAAGA,CAAA,KAAMT,kBAAkB,CAACU,QAAQ,CAACN,oBAAoB;EAEpF,MAAMO,kBAAkB,GAAGf,WAAW,CAAC,MAAM;IAC3C,IAAIa,qBAAqB,CAAC,CAAC,EAAE;IAE7BT,kBAAkB,CAACU,QAAQ,CACxBE,WAAW,CAAC,CAACC,IAAI,EAAEC,IAAI,KAAK;MAC3BP,cAAc,CAACQ,KAAK,IAAI;QACtBA,KAAK,CAACC,IAAI,CAAC;UAAEH,IAAI;UAAEI,MAAM,EAAEH;QAAK,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ,CAAC,CAAC,CACDH,kBAAkB,CAAC,CAAC;IAEvBN,uBAAuB,CAAC,IAAI,CAAC;EAC/B,CAAC,EAAE,CAACE,cAAc,CAAC,CAAC;EAEpB,MAAMW,mBAAmB,GAAGtB,WAAW,CAAC,MAAM;IAC5C,IAAI,CAACa,qBAAqB,CAAC,CAAC,EAAE;IAE9BT,kBAAkB,CAACU,QAAQ,CAACQ,mBAAmB,CAAC,CAAC;IAEjDb,uBAAuB,CAAC,KAAK,CAAC;EAChC,CAAC,EAAE,EAAE,CAAC;EAENR,SAAS,CAAC,MAAM;IACd,IAAIM,WAAW,EAAEQ,kBAAkB,CAAC,CAAC;IAErC,IAAIR,WAAW,EAAE,OAAOe,mBAAmB;EAC7C,CAAC,EAAE,CAACf,WAAW,EAAEe,mBAAmB,EAAEP,kBAAkB,CAAC,CAAC;EAE1D,OAAO;IACLP,oBAAoB;IACpBO,kBAAkB;IAClBO,mBAAmB;IACnBV,mBAAmB;IACnBF;EACF,CAAC;AACH","ignoreList":[]}
|
@@ -0,0 +1,158 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { enableMapSet } from 'immer';
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
5
|
+
import { useImmer } from 'use-immer';
|
6
|
+
import { NETWORK_REQUEST_HEADER } from "../constants.js";
|
7
|
+
import { NetworkType } from "../types/index.js";
|
8
|
+
import { keyValueToString } from "../utils.js";
|
9
|
+
import { XHRInterceptor, FetchInterceptor, WebSocketInterceptor } from "../interceptors/index.js";
|
10
|
+
enableMapSet();
|
11
|
+
const initRequests = new Map();
|
12
|
+
export default function useNetworkInterceptor(params) {
|
13
|
+
const {
|
14
|
+
autoEnabled = false
|
15
|
+
} = params || {};
|
16
|
+
const [isInterceptorEnabled, setIsInterceptorEnabled] = useState(autoEnabled);
|
17
|
+
const [networkRequests, setNetworkRequests] = useImmer(initRequests);
|
18
|
+
const _isInterceptorEnabled = () => XHRInterceptor.instance.isInterceptorEnabled && FetchInterceptor.instance.isInterceptorEnabled && WebSocketInterceptor.instance.isInterceptorEnabled;
|
19
|
+
const clearAllNetworkRequests = () => {
|
20
|
+
setNetworkRequests(initRequests);
|
21
|
+
};
|
22
|
+
const enableHttpInterceptions = useCallback(() => {
|
23
|
+
const openCallback = (id, type, method, url) => {
|
24
|
+
if (!id) return;
|
25
|
+
setNetworkRequests(draft => {
|
26
|
+
draft.set(id, {
|
27
|
+
type,
|
28
|
+
method,
|
29
|
+
url
|
30
|
+
});
|
31
|
+
});
|
32
|
+
};
|
33
|
+
const requestHeaderCallback = (id, header, value) => {
|
34
|
+
if (!id) return;
|
35
|
+
setNetworkRequests(draft => {
|
36
|
+
if (!draft.get(id)) return draft;
|
37
|
+
const currentHeaderLine = keyValueToString(header, value);
|
38
|
+
const fetchRequestHeaderLineRegex = RegExp(keyValueToString(NETWORK_REQUEST_HEADER, NetworkType.Fetch), 'gi');
|
39
|
+
const isFetchInXHR = draft.get(id).type === NetworkType.XHR && !!currentHeaderLine.match(fetchRequestHeaderLineRegex);
|
40
|
+
if (isFetchInXHR) {
|
41
|
+
draft.delete(id);
|
42
|
+
} else {
|
43
|
+
draft.get(id).requestHeadersString ??= '';
|
44
|
+
draft.get(id).requestHeadersString += currentHeaderLine;
|
45
|
+
draft.get(id).requestHeaders ??= {};
|
46
|
+
draft.get(id).requestHeaders[header] = value;
|
47
|
+
}
|
48
|
+
});
|
49
|
+
};
|
50
|
+
const sendCallback = (id, data) => {
|
51
|
+
if (!id) return;
|
52
|
+
setNetworkRequests(draft => {
|
53
|
+
if (!draft.get(id)) return draft;
|
54
|
+
draft.get(id).body = data;
|
55
|
+
});
|
56
|
+
};
|
57
|
+
const headerReceivedCallback = (id, responseContentType, responseSize, responseHeaders) => {
|
58
|
+
if (!id) return;
|
59
|
+
setNetworkRequests(draft => {
|
60
|
+
if (!draft.get(id)) return draft;
|
61
|
+
draft.get(id).responseContentType = responseContentType;
|
62
|
+
draft.get(id).responseSize = responseSize;
|
63
|
+
draft.get(id).responseHeaders = responseHeaders;
|
64
|
+
});
|
65
|
+
};
|
66
|
+
const responseCallback = (id, status, timeout, response, responseURL, responseType) => {
|
67
|
+
if (!id) return;
|
68
|
+
setNetworkRequests(draft => {
|
69
|
+
if (!draft.get(id)) return draft;
|
70
|
+
draft.get(id).status = status;
|
71
|
+
draft.get(id).timeout = timeout;
|
72
|
+
draft.get(id).response = response;
|
73
|
+
if (responseURL) draft.get(id).url = responseURL;
|
74
|
+
draft.get(id).responseType = responseType;
|
75
|
+
});
|
76
|
+
};
|
77
|
+
XHRInterceptor.instance.setOpenCallback(openCallback).setRequestHeaderCallback(requestHeaderCallback).setSendCallback(sendCallback).setHeaderReceivedCallback(headerReceivedCallback).setResponseCallback(responseCallback).enableInterception();
|
78
|
+
FetchInterceptor.instance.setOpenCallback(openCallback).setRequestHeaderCallback(requestHeaderCallback).setSendCallback(sendCallback).setHeaderReceivedCallback(headerReceivedCallback).setResponseCallback(responseCallback).enableInterception();
|
79
|
+
}, [setNetworkRequests]);
|
80
|
+
const enableWebSocketInterception = useCallback(() => {
|
81
|
+
const connectCallback = (uri, protocols, options, socketId) => {
|
82
|
+
if (typeof socketId !== 'number') return;
|
83
|
+
setNetworkRequests(draft => {
|
84
|
+
draft.set(`${socketId}`, {
|
85
|
+
uri,
|
86
|
+
type: NetworkType.WS,
|
87
|
+
protocols,
|
88
|
+
options
|
89
|
+
});
|
90
|
+
});
|
91
|
+
};
|
92
|
+
const sendCallback = (data, socketId) => {
|
93
|
+
if (typeof socketId !== 'number') return;
|
94
|
+
setNetworkRequests(draft => {
|
95
|
+
if (!draft.get(`${socketId}`)) return draft;
|
96
|
+
draft.get(`${socketId}`).messages ??= '';
|
97
|
+
draft.get(`${socketId}`).messages += keyValueToString('SENT', data);
|
98
|
+
});
|
99
|
+
};
|
100
|
+
const closeCallback = (code, reason, socketId) => {
|
101
|
+
if (typeof socketId !== 'number') return;
|
102
|
+
setNetworkRequests(draft => {
|
103
|
+
if (!draft.get(`${socketId}`)) return draft;
|
104
|
+
draft.get(`${socketId}`).status = code;
|
105
|
+
draft.get(`${socketId}`).closeReason = reason;
|
106
|
+
});
|
107
|
+
};
|
108
|
+
const onOpenCallback = () => {};
|
109
|
+
const onMessageCallback = (socketId, message) => {
|
110
|
+
if (typeof socketId !== 'number') return;
|
111
|
+
setNetworkRequests(draft => {
|
112
|
+
if (!draft.get(`${socketId}`)) return draft;
|
113
|
+
draft.get(`${socketId}`).messages ??= '';
|
114
|
+
draft.get(`${socketId}`).messages += keyValueToString('RECEIVED', message);
|
115
|
+
});
|
116
|
+
};
|
117
|
+
const onErrorCallback = (socketId, data) => {
|
118
|
+
if (typeof socketId !== 'number') return;
|
119
|
+
setNetworkRequests(draft => {
|
120
|
+
if (!draft.get(`${socketId}`)) return draft;
|
121
|
+
draft.get(`${socketId}`).serverError = data;
|
122
|
+
});
|
123
|
+
};
|
124
|
+
const onCloseCallback = (socketId, data) => {
|
125
|
+
if (typeof socketId !== 'number') return;
|
126
|
+
setNetworkRequests(draft => {
|
127
|
+
if (!draft.get(`${socketId}`)) return draft;
|
128
|
+
draft.get(`${socketId}`).serverClose = data;
|
129
|
+
});
|
130
|
+
};
|
131
|
+
WebSocketInterceptor.instance.setConnectCallback(connectCallback).setSendCallback(sendCallback).setCloseCallback(closeCallback).setOnOpenCallback(onOpenCallback).setOnMessageCallback(onMessageCallback).setOnErrorCallback(onErrorCallback).setOnCloseCallback(onCloseCallback).enableInterception();
|
132
|
+
}, [setNetworkRequests]);
|
133
|
+
const enableInterception = useCallback(() => {
|
134
|
+
if (_isInterceptorEnabled()) return;
|
135
|
+
enableHttpInterceptions();
|
136
|
+
enableWebSocketInterception();
|
137
|
+
setIsInterceptorEnabled(true);
|
138
|
+
}, [enableHttpInterceptions, enableWebSocketInterception]);
|
139
|
+
const disableInterception = useCallback(() => {
|
140
|
+
if (!_isInterceptorEnabled()) return;
|
141
|
+
XHRInterceptor.instance.disableInterception();
|
142
|
+
FetchInterceptor.instance.disableInterception();
|
143
|
+
WebSocketInterceptor.instance.disableInterception();
|
144
|
+
setIsInterceptorEnabled(false);
|
145
|
+
}, []);
|
146
|
+
useEffect(() => {
|
147
|
+
if (autoEnabled) enableInterception();
|
148
|
+
if (autoEnabled) return disableInterception;
|
149
|
+
}, [autoEnabled, disableInterception, enableInterception]);
|
150
|
+
return {
|
151
|
+
isInterceptorEnabled,
|
152
|
+
enableInterception,
|
153
|
+
disableInterception,
|
154
|
+
clearAllNetworkRequests,
|
155
|
+
networkRequests
|
156
|
+
};
|
157
|
+
}
|
158
|
+
//# sourceMappingURL=useNetworkInterceptor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["enableMapSet","useCallback","useEffect","useState","useImmer","NETWORK_REQUEST_HEADER","NetworkType","keyValueToString","XHRInterceptor","FetchInterceptor","WebSocketInterceptor","initRequests","Map","useNetworkInterceptor","params","autoEnabled","isInterceptorEnabled","setIsInterceptorEnabled","networkRequests","setNetworkRequests","_isInterceptorEnabled","instance","clearAllNetworkRequests","enableHttpInterceptions","openCallback","id","type","method","url","draft","set","requestHeaderCallback","header","value","get","currentHeaderLine","fetchRequestHeaderLineRegex","RegExp","Fetch","isFetchInXHR","XHR","match","delete","requestHeadersString","requestHeaders","sendCallback","data","body","headerReceivedCallback","responseContentType","responseSize","responseHeaders","responseCallback","status","timeout","response","responseURL","responseType","setOpenCallback","setRequestHeaderCallback","setSendCallback","setHeaderReceivedCallback","setResponseCallback","enableInterception","enableWebSocketInterception","connectCallback","uri","protocols","options","socketId","WS","messages","closeCallback","code","reason","closeReason","onOpenCallback","onMessageCallback","message","onErrorCallback","serverError","onCloseCallback","serverClose","setConnectCallback","setCloseCallback","setOnOpenCallback","setOnMessageCallback","setOnErrorCallback","setOnCloseCallback","disableInterception"],"sourceRoot":"../../../src","sources":["hooks/useNetworkInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { useEffect, useRef } from 'react';
|
4
|
+
export default function useScrollToBottom(listSize) {
|
5
|
+
const currentSize = useRef(listSize);
|
6
|
+
const listRef = useRef(null);
|
7
|
+
useEffect(() => {
|
8
|
+
if (listSize <= currentSize.current) return;
|
9
|
+
currentSize.current = listSize;
|
10
|
+
const timer = setTimeout(() => {
|
11
|
+
if (listSize) listRef.current?.scrollToEnd();
|
12
|
+
}, 0);
|
13
|
+
return () => {
|
14
|
+
clearTimeout(timer);
|
15
|
+
};
|
16
|
+
}, [listSize]);
|
17
|
+
return listRef;
|
18
|
+
}
|
19
|
+
//# sourceMappingURL=useScrollToBottom.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useScrollToBottom","listSize","currentSize","listRef","current","timer","setTimeout","scrollToEnd","clearTimeout"],"sourceRoot":"../../../src","sources":["hooks/useScrollToBottom.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAGzC,eAAe,SAASC,iBAAiBA,CAACC,QAAgB,EAAE;EAC1D,MAAMC,WAAW,GAAGH,MAAM,CAACE,QAAQ,CAAC;EACpC,MAAME,OAAO,GAAGJ,MAAM,CAAkB,IAAI,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAIG,QAAQ,IAAIC,WAAW,CAACE,OAAO,EAAE;IAErCF,WAAW,CAACE,OAAO,GAAGH,QAAQ;IAE9B,MAAMI,KAAK,GAAGC,UAAU,CAAC,MAAM;MAC7B,IAAIL,QAAQ,EAAEE,OAAO,CAACC,OAAO,EAAEG,WAAW,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,CAAC;IAEL,OAAO,MAAM;MACXC,YAAY,CAACH,KAAK,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,OAAOE,OAAO;AAChB","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,eAAY","ignoreList":[]}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
/* eslint-disable no-console */
|
4
|
+
import Interceptor from "./Interceptor.js";
|
5
|
+
const originalConsoleError = console.error;
|
6
|
+
const originalConsoleInfo = console.info;
|
7
|
+
const originalConsoleLog = console.log;
|
8
|
+
const originalConsoleWarn = console.warn;
|
9
|
+
const originalConsoleTrace = console.trace;
|
10
|
+
const originalConsoleDebug = console.debug;
|
11
|
+
const originalConsoleTable = console.table;
|
12
|
+
const originalConsoleGroupCollapsed = console.groupCollapsed;
|
13
|
+
const originalConsoleGroupEnd = console.groupEnd;
|
14
|
+
const originalConsoleGroup = console.group;
|
15
|
+
export default class ConsoleInterceptor extends Interceptor {
|
16
|
+
static instance = new ConsoleInterceptor();
|
17
|
+
constructor() {
|
18
|
+
super();
|
19
|
+
}
|
20
|
+
callback = null;
|
21
|
+
setCallback(callback) {
|
22
|
+
this.callback = callback;
|
23
|
+
return this;
|
24
|
+
}
|
25
|
+
enableInterception() {
|
26
|
+
if (this.isInterceptorEnabled) return;
|
27
|
+
const callback = this.callback?.bind(this);
|
28
|
+
console.error = function (...args) {
|
29
|
+
callback?.('error', args);
|
30
|
+
originalConsoleError.call(this, ...args);
|
31
|
+
};
|
32
|
+
console.info = function (...args) {
|
33
|
+
callback?.('info', args);
|
34
|
+
originalConsoleInfo.call(this, ...args);
|
35
|
+
};
|
36
|
+
console.log = function (...args) {
|
37
|
+
callback?.('log', args);
|
38
|
+
originalConsoleLog.call(this, ...args);
|
39
|
+
};
|
40
|
+
console.warn = function (...args) {
|
41
|
+
callback?.('warn', args);
|
42
|
+
originalConsoleWarn.call(this, ...args);
|
43
|
+
};
|
44
|
+
console.trace = function (...args) {
|
45
|
+
callback?.('trace', args);
|
46
|
+
originalConsoleTrace.call(this, ...args);
|
47
|
+
};
|
48
|
+
console.debug = function (...args) {
|
49
|
+
callback?.('debug', args);
|
50
|
+
originalConsoleDebug.call(this, ...args);
|
51
|
+
};
|
52
|
+
console.table = function (...args) {
|
53
|
+
callback?.('table', args);
|
54
|
+
originalConsoleTable.call(this, ...args);
|
55
|
+
};
|
56
|
+
console.groupCollapsed = function (...args) {
|
57
|
+
callback?.('groupCollapsed', args);
|
58
|
+
originalConsoleGroupCollapsed.call(this, ...args);
|
59
|
+
};
|
60
|
+
console.groupEnd = function (...args) {
|
61
|
+
callback?.('groupEnd', args);
|
62
|
+
originalConsoleGroupEnd.call(this, ...args);
|
63
|
+
};
|
64
|
+
console.group = function (...args) {
|
65
|
+
callback?.('group', args);
|
66
|
+
originalConsoleGroup.call(this, ...args);
|
67
|
+
};
|
68
|
+
this.isInterceptorEnabled = true;
|
69
|
+
}
|
70
|
+
disableInterception() {
|
71
|
+
if (!this.isInterceptorEnabled) return;
|
72
|
+
this.isInterceptorEnabled = false;
|
73
|
+
console.error = originalConsoleError;
|
74
|
+
console.info = originalConsoleInfo;
|
75
|
+
console.log = originalConsoleLog;
|
76
|
+
console.warn = originalConsoleWarn;
|
77
|
+
console.trace = originalConsoleTrace;
|
78
|
+
console.debug = originalConsoleDebug;
|
79
|
+
console.table = originalConsoleTable;
|
80
|
+
console.groupCollapsed = originalConsoleGroupCollapsed;
|
81
|
+
console.groupEnd = originalConsoleGroupEnd;
|
82
|
+
console.group = originalConsoleGroup;
|
83
|
+
this.callback = null;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
//# sourceMappingURL=ConsoleInterceptor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["Interceptor","originalConsoleError","console","error","originalConsoleInfo","info","originalConsoleLog","log","originalConsoleWarn","warn","originalConsoleTrace","trace","originalConsoleDebug","debug","originalConsoleTable","table","originalConsoleGroupCollapsed","groupCollapsed","originalConsoleGroupEnd","groupEnd","originalConsoleGroup","group","ConsoleInterceptor","instance","constructor","callback","setCallback","enableInterception","isInterceptorEnabled","bind","args","call","disableInterception"],"sourceRoot":"../../../src","sources":["interceptors/ConsoleInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { NETWORK_REQUEST_HEADER } from "../constants.js";
|
4
|
+
import { NetworkType } from "../types/index.js";
|
5
|
+
import { keyValueToString, formatMethod, getHttpInterceptorId } from "../utils.js";
|
6
|
+
import HttpInterceptor from "./HttpInterceptor.js";
|
7
|
+
const originalFetch = global.fetch;
|
8
|
+
export default class FetchInterceptor extends HttpInterceptor {
|
9
|
+
static instance = new FetchInterceptor();
|
10
|
+
constructor() {
|
11
|
+
super();
|
12
|
+
}
|
13
|
+
enableInterception() {
|
14
|
+
if (this.isInterceptorEnabled) return;
|
15
|
+
const {
|
16
|
+
openCallback,
|
17
|
+
requestHeaderCallback,
|
18
|
+
sendCallback,
|
19
|
+
headerReceivedCallback,
|
20
|
+
responseCallback
|
21
|
+
} = this.getCallbacks();
|
22
|
+
global.fetch = async function (input, init) {
|
23
|
+
const interceptionId = getHttpInterceptorId();
|
24
|
+
const requestHeaders = new Headers(init?.headers);
|
25
|
+
requestHeaders.append(NETWORK_REQUEST_HEADER, NetworkType.Fetch);
|
26
|
+
const requestInit = {
|
27
|
+
...init,
|
28
|
+
headers: requestHeaders
|
29
|
+
};
|
30
|
+
|
31
|
+
//#region open
|
32
|
+
const method = formatMethod(init?.method);
|
33
|
+
let url;
|
34
|
+
switch (true) {
|
35
|
+
case input instanceof Request:
|
36
|
+
url = input.url;
|
37
|
+
break;
|
38
|
+
case input instanceof URL:
|
39
|
+
url = input.href;
|
40
|
+
break;
|
41
|
+
default:
|
42
|
+
url = input;
|
43
|
+
}
|
44
|
+
openCallback?.(interceptionId, NetworkType.Fetch, method, url);
|
45
|
+
//#endregion
|
46
|
+
|
47
|
+
//#region requestHeader
|
48
|
+
const headers = requestInit?.headers;
|
49
|
+
if (headers) {
|
50
|
+
switch (true) {
|
51
|
+
case headers instanceof Headers:
|
52
|
+
for (const [headerKey, headerValue] of headers.entries()) {
|
53
|
+
requestHeaderCallback?.(interceptionId, headerKey, headerValue);
|
54
|
+
}
|
55
|
+
break;
|
56
|
+
case Array.isArray(headers):
|
57
|
+
for (const [headerKey, headerValue] of headers) {
|
58
|
+
if (headerKey && headerValue) requestHeaderCallback?.(interceptionId, headerKey, headerValue);
|
59
|
+
}
|
60
|
+
break;
|
61
|
+
default:
|
62
|
+
for (const key in headers) {
|
63
|
+
if (headers[key]) requestHeaderCallback?.(interceptionId, key, headers[key]);
|
64
|
+
}
|
65
|
+
break;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
//#endregion
|
69
|
+
|
70
|
+
//#region send
|
71
|
+
sendCallback?.(interceptionId, init?.body ?? null);
|
72
|
+
//#endregion
|
73
|
+
|
74
|
+
const response = await originalFetch.call(this, input, requestInit);
|
75
|
+
const clonedResponse = response.clone();
|
76
|
+
const clonedResponseHeaders = clonedResponse.headers;
|
77
|
+
|
78
|
+
//#region headerReceived
|
79
|
+
const contentTypeString = clonedResponseHeaders.get('Content-Type');
|
80
|
+
const contentLengthString = clonedResponseHeaders.get('Content-Length');
|
81
|
+
let responseContentType;
|
82
|
+
let responseSize;
|
83
|
+
let responseHeaders = '';
|
84
|
+
if (contentTypeString) responseContentType = contentTypeString.split(';')[0];
|
85
|
+
if (contentLengthString) responseSize = parseInt(contentLengthString, 10);
|
86
|
+
for (const [headerKey, headerValue] of clonedResponseHeaders.entries()) {
|
87
|
+
responseHeaders += keyValueToString(headerKey, headerValue);
|
88
|
+
}
|
89
|
+
headerReceivedCallback?.(interceptionId, responseContentType, responseSize, responseHeaders);
|
90
|
+
//#endregion
|
91
|
+
|
92
|
+
//#region response
|
93
|
+
const responseBody = await clonedResponse.text().catch(() => null);
|
94
|
+
responseCallback?.(interceptionId, clonedResponse.status, 0, responseBody, clonedResponse.url, clonedResponse.type);
|
95
|
+
//#endregion
|
96
|
+
|
97
|
+
return response;
|
98
|
+
};
|
99
|
+
this.isInterceptorEnabled = true;
|
100
|
+
}
|
101
|
+
disableInterception() {
|
102
|
+
if (!this.isInterceptorEnabled) return;
|
103
|
+
this.isInterceptorEnabled = false;
|
104
|
+
global.fetch = originalFetch;
|
105
|
+
this.clearCallbacks();
|
106
|
+
}
|
107
|
+
}
|
108
|
+
//# sourceMappingURL=FetchInterceptor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["NETWORK_REQUEST_HEADER","NetworkType","keyValueToString","formatMethod","getHttpInterceptorId","HttpInterceptor","originalFetch","global","fetch","FetchInterceptor","instance","constructor","enableInterception","isInterceptorEnabled","openCallback","requestHeaderCallback","sendCallback","headerReceivedCallback","responseCallback","getCallbacks","input","init","interceptionId","requestHeaders","Headers","headers","append","Fetch","requestInit","method","url","Request","URL","href","headerKey","headerValue","entries","Array","isArray","key","body","response","call","clonedResponse","clone","clonedResponseHeaders","contentTypeString","get","contentLengthString","responseContentType","responseSize","responseHeaders","split","parseInt","responseBody","text","catch","status","type","disableInterception","clearCallbacks"],"sourceRoot":"../../../src","sources":["interceptors/FetchInterceptor.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,iBAAc;AACrD,SAASC,WAAW,QAAQ,mBAAU;AACtC,SAASC,gBAAgB,EAAEC,YAAY,EAAEC,oBAAoB,QAAQ,aAAU;AAC/E,OAAOC,eAAe,MAAM,sBAAmB;AAE/C,MAAMC,aAAa,GAAGC,MAAM,CAACC,KAAK;AAElC,eAAe,MAAMC,gBAAgB,SAASJ,eAAe,CAAC;EAC5D,OAAOK,QAAQ,GAAG,IAAID,gBAAgB,CAAC,CAAC;EAEhCE,WAAWA,CAAA,EAAG;IACpB,KAAK,CAAC,CAAC;EACT;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,IAAI,CAACC,oBAAoB,EAAE;IAE/B,MAAM;MACJC,YAAY;MACZC,qBAAqB;MACrBC,YAAY;MACZC,sBAAsB;MACtBC;IACF,CAAC,GAAG,IAAI,CAACC,YAAY,CAAC,CAAC;IAEvBZ,MAAM,CAACC,KAAK,GAAG,gBAAgBY,KAAK,EAAEC,IAAI,EAAE;MAC1C,MAAMC,cAAc,GAAGlB,oBAAoB,CAAC,CAAC;MAE7C,MAAMmB,cAAc,GAAG,IAAIC,OAAO,CAACH,IAAI,EAAEI,OAAO,CAAC;MAEjDF,cAAc,CAACG,MAAM,CAAC1B,sBAAsB,EAAEC,WAAW,CAAC0B,KAAK,CAAC;MAEhE,MAAMC,WAAwB,GAAG;QAAE,GAAGP,IAAI;QAAEI,OAAO,EAAEF;MAAe,CAAC;;MAErE;MACA,MAAMM,MAAM,GAAG1B,YAAY,CAACkB,IAAI,EAAEQ,MAAM,CAAC;MAEzC,IAAIC,GAAW;MAEf,QAAQ,IAAI;QACV,KAAKV,KAAK,YAAYW,OAAO;UAC3BD,GAAG,GAAGV,KAAK,CAACU,GAAG;UACf;QACF,KAAKV,KAAK,YAAYY,GAAG;UACvBF,GAAG,GAAGV,KAAK,CAACa,IAAI;UAChB;QACF;UACEH,GAAG,GAAGV,KAAK;MACf;MAEAN,YAAY,GAAGQ,cAAc,EAAErB,WAAW,CAAC0B,KAAK,EAAEE,MAAM,EAAEC,GAAG,CAAC;MAC9D;;MAEA;MACA,MAAML,OAAO,GAAGG,WAAW,EAAEH,OAAO;MACpC,IAAIA,OAAO,EAAE;QACX,QAAQ,IAAI;UACV,KAAKA,OAAO,YAAYD,OAAO;YAC7B,KAAK,MAAM,CAACU,SAAS,EAAEC,WAAW,CAAC,IAAIV,OAAO,CAACW,OAAO,CAAC,CAAC,EAAE;cACxDrB,qBAAqB,GAAGO,cAAc,EAAEY,SAAS,EAAEC,WAAW,CAAC;YACjE;YACA;UACF,KAAKE,KAAK,CAACC,OAAO,CAACb,OAAO,CAAC;YACzB,KAAK,MAAM,CAACS,SAAS,EAAEC,WAAW,CAAC,IAAIV,OAAO,EAAE;cAC9C,IAAIS,SAAS,IAAIC,WAAW,EAC1BpB,qBAAqB,GAAGO,cAAc,EAAEY,SAAS,EAAEC,WAAW,CAAC;YACnE;YACA;UACF;YACE,KAAK,MAAMI,GAAG,IAAId,OAAO,EAAE;cACzB,IAAIA,OAAO,CAACc,GAAG,CAAC,EAAExB,qBAAqB,GAAGO,cAAc,EAAEiB,GAAG,EAAEd,OAAO,CAACc,GAAG,CAAC,CAAC;YAC9E;YACA;QACJ;MACF;MACA;;MAEA;MACAvB,YAAY,GAAGM,cAAc,EAAED,IAAI,EAAEmB,IAAI,IAAI,IAAI,CAAC;MAClD;;MAEA,MAAMC,QAAQ,GAAG,MAAMnC,aAAa,CAACoC,IAAI,CAAC,IAAI,EAAEtB,KAAK,EAAEQ,WAAW,CAAC;MAEnE,MAAMe,cAAc,GAAGF,QAAQ,CAACG,KAAK,CAAC,CAAC;MACvC,MAAMC,qBAAqB,GAAGF,cAAc,CAAClB,OAAO;;MAEpD;MACA,MAAMqB,iBAAiB,GAAGD,qBAAqB,CAACE,GAAG,CAAC,cAAc,CAAC;MACnE,MAAMC,mBAAmB,GAAGH,qBAAqB,CAACE,GAAG,CAAC,gBAAgB,CAAC;MAEvE,IAAIE,mBAAuC;MAC3C,IAAIC,YAAgC;MACpC,IAAIC,eAAuB,GAAG,EAAE;MAEhC,IAAIL,iBAAiB,EAAEG,mBAAmB,GAAGH,iBAAiB,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAE5E,IAAIJ,mBAAmB,EAAEE,YAAY,GAAGG,QAAQ,CAACL,mBAAmB,EAAE,EAAE,CAAC;MAEzE,KAAK,MAAM,CAACd,SAAS,EAAEC,WAAW,CAAC,IAAIU,qBAAqB,CAACT,OAAO,CAAC,CAAC,EAAE;QACtEe,eAAe,IAAIjD,gBAAgB,CAACgC,SAAS,EAAEC,WAAW,CAAC;MAC7D;MAEAlB,sBAAsB,GAAGK,cAAc,EAAE2B,mBAAmB,EAAEC,YAAY,EAAEC,eAAe,CAAC;MAC5F;;MAEA;MACA,MAAMG,YAA2B,GAAG,MAAMX,cAAc,CAACY,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,IAAI,CAAC;MAEjFtC,gBAAgB,GACdI,cAAc,EACdqB,cAAc,CAACc,MAAM,EACrB,CAAC,EACDH,YAAY,EACZX,cAAc,CAACb,GAAG,EAClBa,cAAc,CAACe,IACjB,CAAC;MACD;;MAEA,OAAOjB,QAAQ;IACjB,CAAC;IAED,IAAI,CAAC5B,oBAAoB,GAAG,IAAI;EAClC;EAEA8C,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAAC9C,oBAAoB,EAAE;IAEhC,IAAI,CAACA,oBAAoB,GAAG,KAAK;IAEjCN,MAAM,CAACC,KAAK,GAAGF,aAAa;IAE5B,IAAI,CAACsD,cAAc,CAAC,CAAC;EACvB;AACF","ignoreList":[]}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { NetworkInterceptor } from "./NetworkInterceptor.js";
|
4
|
+
export default class HttpInterceptor extends NetworkInterceptor {
|
5
|
+
openCallback = null;
|
6
|
+
requestHeaderCallback = null;
|
7
|
+
sendCallback = null;
|
8
|
+
headerReceivedCallback = null;
|
9
|
+
responseCallback = null;
|
10
|
+
setOpenCallback(callback) {
|
11
|
+
this.openCallback = callback;
|
12
|
+
return this;
|
13
|
+
}
|
14
|
+
setRequestHeaderCallback(callback) {
|
15
|
+
this.requestHeaderCallback = callback;
|
16
|
+
return this;
|
17
|
+
}
|
18
|
+
setSendCallback(callback) {
|
19
|
+
this.sendCallback = callback;
|
20
|
+
return this;
|
21
|
+
}
|
22
|
+
setHeaderReceivedCallback(callback) {
|
23
|
+
this.headerReceivedCallback = callback;
|
24
|
+
return this;
|
25
|
+
}
|
26
|
+
setResponseCallback(callback) {
|
27
|
+
this.responseCallback = callback;
|
28
|
+
return this;
|
29
|
+
}
|
30
|
+
getCallbacks() {
|
31
|
+
const openCallback = this.openCallback?.bind(this);
|
32
|
+
const requestHeaderCallback = this.requestHeaderCallback?.bind(this);
|
33
|
+
const sendCallback = this.sendCallback?.bind(this);
|
34
|
+
const headerReceivedCallback = this.headerReceivedCallback?.bind(this);
|
35
|
+
const responseCallback = this.responseCallback?.bind(this);
|
36
|
+
return {
|
37
|
+
openCallback,
|
38
|
+
requestHeaderCallback,
|
39
|
+
sendCallback,
|
40
|
+
headerReceivedCallback,
|
41
|
+
responseCallback
|
42
|
+
};
|
43
|
+
}
|
44
|
+
clearCallbacks() {
|
45
|
+
this.openCallback = null;
|
46
|
+
this.requestHeaderCallback = null;
|
47
|
+
this.sendCallback = null;
|
48
|
+
this.headerReceivedCallback = null;
|
49
|
+
this.responseCallback = null;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
//# sourceMappingURL=HttpInterceptor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["NetworkInterceptor","HttpInterceptor","openCallback","requestHeaderCallback","sendCallback","headerReceivedCallback","responseCallback","setOpenCallback","callback","setRequestHeaderCallback","setSendCallback","setHeaderReceivedCallback","setResponseCallback","getCallbacks","bind","clearCallbacks"],"sourceRoot":"../../../src","sources":["interceptors/HttpInterceptor.ts"],"mappings":";;AAOA,SAASA,kBAAkB,QAAQ,yBAAsB;AAEzD,eAAe,MAAeC,eAAe,SAASD,kBAAkB,CAAC;EAC7DE,YAAY,GAAqB,IAAI;EACrCC,qBAAqB,GAA8B,IAAI;EACvDC,YAAY,GAAqB,IAAI;EACrCC,sBAAsB,GAA+B,IAAI;EACzDC,gBAAgB,GAAyB,IAAI;EAEvDC,eAAeA,CAACC,QAAkC,EAAE;IAClD,IAAI,CAACN,YAAY,GAAGM,QAAQ;IAC5B,OAAO,IAAI;EACb;EAEAC,wBAAwBA,CAACD,QAA2C,EAAE;IACpE,IAAI,CAACL,qBAAqB,GAAGK,QAAQ;IACrC,OAAO,IAAI;EACb;EAEAE,eAAeA,CAACF,QAAkC,EAAE;IAClD,IAAI,CAACJ,YAAY,GAAGI,QAAQ;IAC5B,OAAO,IAAI;EACb;EAEAG,yBAAyBA,CAACH,QAA4C,EAAE;IACtE,IAAI,CAACH,sBAAsB,GAAGG,QAAQ;IACtC,OAAO,IAAI;EACb;EAEAI,mBAAmBA,CAACJ,QAAsC,EAAE;IAC1D,IAAI,CAACF,gBAAgB,GAAGE,QAAQ;IAChC,OAAO,IAAI;EACb;EAEUK,YAAYA,CAAA,EAAG;IACvB,MAAMX,YAAY,GAAG,IAAI,CAACA,YAAY,EAAEY,IAAI,CAAC,IAAI,CAAC;IAClD,MAAMX,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,EAAEW,IAAI,CAAC,IAAI,CAAC;IACpE,MAAMV,YAAY,GAAG,IAAI,CAACA,YAAY,EAAEU,IAAI,CAAC,IAAI,CAAC;IAClD,MAAMT,sBAAsB,GAAG,IAAI,CAACA,sBAAsB,EAAES,IAAI,CAAC,IAAI,CAAC;IACtE,MAAMR,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,EAAEQ,IAAI,CAAC,IAAI,CAAC;IAE1D,OAAO;MACLZ,YAAY;MACZC,qBAAqB;MACrBC,YAAY;MACZC,sBAAsB;MACtBC;IACF,CAAC;EACH;EAEUS,cAAcA,CAAA,EAAS;IAC/B,IAAI,CAACb,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,sBAAsB,GAAG,IAAI;IAClC,IAAI,CAACC,gBAAgB,GAAG,IAAI;EAC9B;AACF","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["Interceptor","isInterceptorEnabled"],"sourceRoot":"../../../src","sources":["interceptors/Interceptor.ts"],"mappings":";;AAAA,eAAe,MAAeA,WAAW,CAAC;EACxCC,oBAAoB,GAAG,KAAK;AAI9B","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["Interceptor","NetworkInterceptor"],"sourceRoot":"../../../src","sources":["interceptors/NetworkInterceptor.ts"],"mappings":";;AAAA,OAAOA,WAAW,MAAM,kBAAe;AAEvC,OAAO,MAAeC,kBAAkB,SAASD,WAAW,CAAC","ignoreList":[]}
|