react-native-xenon 2.0.0 → 2.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/lib/module/contexts/MainContext.js.map +1 -1
- package/lib/module/interceptors/WebSocketInterceptor.js +2 -2
- package/lib/module/interceptors/WebSocketInterceptor.js.map +1 -1
- package/lib/module/ui/Xenon.js +7 -45
- package/lib/module/ui/Xenon.js.map +1 -1
- package/lib/module/ui/components/bubble/Bubble.js +11 -4
- package/lib/module/ui/components/bubble/Bubble.js.map +1 -1
- package/lib/module/ui/components/index.js +0 -1
- package/lib/module/ui/components/index.js.map +1 -1
- package/lib/module/ui/components/panels/Panel.js +57 -7
- package/lib/module/ui/components/panels/Panel.js.map +1 -1
- package/lib/typescript/src/contexts/MainContext.d.ts +2 -0
- package/lib/typescript/src/contexts/MainContext.d.ts.map +1 -1
- package/lib/typescript/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
- package/lib/typescript/src/types/websocket.d.ts +10 -0
- package/lib/typescript/src/types/websocket.d.ts.map +1 -1
- package/lib/typescript/src/ui/Xenon.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/bubble/Bubble.d.ts +2 -5
- package/lib/typescript/src/ui/components/bubble/Bubble.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/index.d.ts +0 -1
- package/lib/typescript/src/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/panels/Panel.d.ts +5 -1
- package/lib/typescript/src/ui/components/panels/Panel.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/contexts/MainContext.ts +2 -0
- package/src/interceptors/WebSocketInterceptor.ts +4 -3
- package/src/types/websocket.ts +16 -0
- package/src/ui/Xenon.tsx +14 -48
- package/src/ui/components/bubble/Bubble.tsx +9 -9
- package/src/ui/components/index.ts +0 -1
- package/src/ui/components/panels/Panel.tsx +53 -8
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["createContext","MainContext"],"sourceRoot":"../../../src","sources":["contexts/MainContext.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;
|
1
|
+
{"version":3,"names":["createContext","MainContext"],"sourceRoot":"../../../src","sources":["contexts/MainContext.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAcrC,MAAMC,WAAW,gBAAGD,aAAa,CAA0B,IAAI,CAAC;AAEhE,eAAeC,WAAW","ignoreList":[]}
|
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
var _class, _class2;
|
4
4
|
function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
|
5
|
-
import { NativeEventEmitter } from 'react-native';
|
6
|
-
import NativeWebSocketModule from 'react-native/Libraries/WebSocket/NativeWebSocketModule';
|
5
|
+
import { NativeEventEmitter, TurboModuleRegistry } from 'react-native';
|
7
6
|
import { frozen, singleton } from "../core/utils.js";
|
8
7
|
import { NetworkInterceptor } from "./NetworkInterceptor.js";
|
8
|
+
const NativeWebSocketModule = TurboModuleRegistry.getEnforcing('WebSocketModule');
|
9
9
|
const originalWebSocketConnect = NativeWebSocketModule.connect;
|
10
10
|
const originalWebSocketSend = NativeWebSocketModule.send;
|
11
11
|
const originalWebSocketSendBinary = NativeWebSocketModule.sendBinary;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","
|
1
|
+
{"version":3,"names":["NativeEventEmitter","TurboModuleRegistry","frozen","singleton","NetworkInterceptor","NativeWebSocketModule","getEnforcing","originalWebSocketConnect","connect","originalWebSocketSend","send","originalWebSocketSendBinary","sendBinary","originalWebSocketClose","close","WebSocketInterceptor","_class","_class2","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","forEach","e","remove","enableInterception","isInterceptorEnabled","connectCallback","sendCallback","closeCallback","getCallbacks","args","call","base64String","socketId","disableInterception","clearCallbacks","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor","default"],"sourceRoot":"../../../src","sources":["interceptors/WebSocketInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/ui/Xenon.js
CHANGED
@@ -1,40 +1,19 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
import { enableMapSet } from 'immer';
|
4
|
-
import { createRef, memo, useImperativeHandle
|
5
|
-
import { Platform,
|
6
|
-
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
4
|
+
import { createRef, memo, useImperativeHandle } from 'react';
|
5
|
+
import { Platform, useWindowDimensions } from 'react-native';
|
7
6
|
import { FullWindowOverlay } from 'react-native-screens';
|
8
7
|
import { useImmer } from 'use-immer';
|
9
8
|
import { MainContext } from "../contexts/index.js";
|
10
9
|
import refs, { DebuggerVisibility } from "../core/refs.js";
|
11
10
|
import { useConsoleInterceptor, useNetworkInterceptor } from "../hooks/index.js";
|
12
|
-
import
|
13
|
-
import { Bubble, Header, IndexedStack, Panel, SearchBar } from "./components/index.js";
|
14
|
-
import SafeArea from "./components/common/SafeArea.js";
|
11
|
+
import { Bubble, IndexedStack, Panel, SearchBar } from "./components/index.js";
|
15
12
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
16
13
|
let Xenon;
|
17
14
|
(function (_Xenon) {
|
18
15
|
enableMapSet();
|
19
16
|
const ref = /*#__PURE__*/createRef();
|
20
|
-
const styles = StyleSheet.create({
|
21
|
-
container: {
|
22
|
-
flex: 1,
|
23
|
-
...StyleSheet.absoluteFillObject,
|
24
|
-
pointerEvents: 'box-none',
|
25
|
-
...(Platform.OS === 'android' ? {
|
26
|
-
zIndex: 9999
|
27
|
-
} : {}),
|
28
|
-
top: undefined,
|
29
|
-
bottom: undefined,
|
30
|
-
backgroundColor: colors.lightGray,
|
31
|
-
borderBottomColor: colors.gray,
|
32
|
-
borderBottomWidth: StyleSheet.hairlineWidth
|
33
|
-
},
|
34
|
-
safeArea: {
|
35
|
-
flex: 1
|
36
|
-
}
|
37
|
-
});
|
38
17
|
|
39
18
|
/**
|
40
19
|
* Checks whether the debugger is currently visible.
|
@@ -50,19 +29,12 @@ let Xenon;
|
|
50
29
|
idleBubbleOpacity = 0.5,
|
51
30
|
includeDomains
|
52
31
|
}) => {
|
53
|
-
const
|
54
|
-
width,
|
55
|
-
height
|
56
|
-
} = useWindowDimensions();
|
32
|
+
const dimensions = useWindowDimensions();
|
57
33
|
const [debuggerState, setDebuggerState] = useImmer({
|
58
34
|
position: 'bottom',
|
59
35
|
detailsData: null,
|
60
36
|
searchQuery: ''
|
61
37
|
});
|
62
|
-
const containerStyle = useMemo(() => [styles.container, {
|
63
|
-
[debuggerState.position]: 0,
|
64
|
-
height: Math.min(width, height) * 0.75
|
65
|
-
}], [debuggerState.position, height, width]);
|
66
38
|
const networkInterceptor = useNetworkInterceptor({
|
67
39
|
autoEnabled: autoInspectNetworkEnabled,
|
68
40
|
includeDomains
|
@@ -91,6 +63,7 @@ let Xenon;
|
|
91
63
|
}, []);
|
92
64
|
return /*#__PURE__*/_jsx(MainContext.Provider, {
|
93
65
|
value: {
|
66
|
+
dimensions,
|
94
67
|
debuggerState,
|
95
68
|
setDebuggerState,
|
96
69
|
networkInterceptor,
|
@@ -102,19 +75,8 @@ let Xenon;
|
|
102
75
|
ref: refs.debugger,
|
103
76
|
children: [/*#__PURE__*/_jsx(Bubble, {
|
104
77
|
bubbleSize: bubbleSize,
|
105
|
-
idleBubbleOpacity: idleBubbleOpacity
|
106
|
-
|
107
|
-
screenHeight: height
|
108
|
-
}), /*#__PURE__*/_jsx(View, {
|
109
|
-
style: containerStyle,
|
110
|
-
children: /*#__PURE__*/_jsxs(SafeAreaProvider, {
|
111
|
-
children: [debuggerState.position === 'top' && /*#__PURE__*/_jsx(SafeArea, {
|
112
|
-
inset: "top"
|
113
|
-
}), /*#__PURE__*/_jsx(Header, {}), /*#__PURE__*/_jsx(Panel, {}), debuggerState.position === 'bottom' && /*#__PURE__*/_jsx(SafeArea, {
|
114
|
-
inset: "bottom"
|
115
|
-
})]
|
116
|
-
})
|
117
|
-
}), /*#__PURE__*/_jsx(SearchBar, {})]
|
78
|
+
idleBubbleOpacity: idleBubbleOpacity
|
79
|
+
}), /*#__PURE__*/_jsx(Panel, {}), /*#__PURE__*/_jsx(SearchBar, {})]
|
118
80
|
})
|
119
81
|
});
|
120
82
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["enableMapSet","createRef","memo","useImperativeHandle","
|
1
|
+
{"version":3,"names":["enableMapSet","createRef","memo","useImperativeHandle","Platform","useWindowDimensions","FullWindowOverlay","useImmer","MainContext","refs","DebuggerVisibility","useConsoleInterceptor","useNetworkInterceptor","Bubble","IndexedStack","Panel","SearchBar","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Xenon","_Xenon","ref","isVisible","current","show","hide","Debugger","autoInspectNetworkEnabled","autoInspectConsoleEnabled","bubbleSize","idleBubbleOpacity","includeDomains","dimensions","debuggerState","setDebuggerState","position","detailsData","searchQuery","networkInterceptor","autoEnabled","consoleInterceptor","changeVisibility","condition","value","debugger","setCurrentIndex","getCurrentIndex","Hidden","Provider","children","defaultIndex","id","Wrapper","disabled","props","OS","displayName"],"sourceRoot":"../../../src","sources":["ui/Xenon.tsx"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,OAAO;AACpC,SAASC,SAAS,EAAEC,IAAI,EAAEC,mBAAmB,QAAkC,OAAO;AACtF,SAASC,QAAQ,EAAEC,mBAAmB,QAAQ,cAAc;AAC5D,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,WAAW,QAAQ,sBAAa;AACzC,OAAOC,IAAI,IAAIC,kBAAkB,QAAQ,iBAAc;AACvD,SAASC,qBAAqB,EAAEC,qBAAqB,QAAQ,mBAAU;AAEvE,SAASC,MAAM,EAAEC,YAAY,EAAEC,KAAK,EAAEC,SAAS,QAAQ,uBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAAA,IAAAC,KAAA;AAAA,WAAAC,MAAA;EA+CpExB,YAAY,CAAC,CAAC;EACd,MAAMyB,GAAG,gBAAGxB,SAAS,CAAU,CAAC;;EAEhC;AACF;AACA;AACA;EACS,MAAMyB,SAAS,GAAAF,MAAA,CAAAE,SAAA,GAAG,MAAMD,GAAG,CAACE,OAAO,EAAED,SAAS,CAAC,CAAC,IAAI,KAAK;EAMzD,MAAME,IAAI,GAAAJ,MAAA,CAAAI,IAAA,GAAG,MAAYH,GAAG,CAACE,OAAO,EAAEC,IAAI,CAAC,CAAC;EAM5C,MAAMC,IAAI,GAAAL,MAAA,CAAAK,IAAA,GAAG,MAAYJ,GAAG,CAACE,OAAO,EAAEE,IAAI,CAAC,CAAC;EAEnD,MAAMC,QAAQ,gBAAG5B,IAAI,CACnB,CAAC;IACC6B,yBAAyB,GAAG,IAAI;IAChCC,yBAAyB,GAAG,IAAI;IAChCC,UAAU,GAAG,EAAE;IACfC,iBAAiB,GAAG,GAAG;IACvBC;EACK,CAAC,KAAK;IACX,MAAMC,UAAU,GAAG/B,mBAAmB,CAAC,CAAC;IAExC,MAAM,CAACgC,aAAa,EAAEC,gBAAgB,CAAC,GAAG/B,QAAQ,CAAgB;MAChEgC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAI;MACjBC,WAAW,EAAE;IACf,CAAC,CAAC;IAEF,MAAMC,kBAAkB,GAAG9B,qBAAqB,CAAC;MAC/C+B,WAAW,EAAEZ,yBAAyB;MACtCI;IACF,CAAC,CAAC;IAEF,MAAMS,kBAAkB,GAAGjC,qBAAqB,CAAC;MAC/C;MACA;MACAgC,WAAW,EAAEX;IACf,CAAC,CAAC;IAEF7B,mBAAmB,CAACsB,GAAG,EAAE,MAAM;MAC7B,MAAMoB,gBAAgB,GAAGA,CAACC,SAAkB,EAAEC,KAAyB,KAAK;QAC1E,IAAI,CAACD,SAAS,EAAE;QAEhBrC,IAAI,CAACuC,QAAQ,CAACrB,OAAO,EAAEsB,eAAe,CAACF,KAAK,CAAC;MAC/C,CAAC;MAED,OAAO;QACLrB,SAASA,CAAA,EAAG;UACV,OAAOjB,IAAI,CAACuC,QAAQ,CAACrB,OAAO,EAAEuB,eAAe,CAAC,CAAC,KAAKxC,kBAAkB,CAACyC,MAAM;QAC/E,CAAC;QACDvB,IAAIA,CAAA,EAAG;UACLiB,gBAAgB,CAAC,CAAC,IAAI,CAACnB,SAAS,CAAC,CAAC,EAAEhB,kBAAkB,CAACG,MAAM,CAAC;QAChE,CAAC;QACDgB,IAAIA,CAAA,EAAG;UACLgB,gBAAgB,CAAC,IAAI,CAACnB,SAAS,CAAC,CAAC,EAAEhB,kBAAkB,CAACyC,MAAM,CAAC;QAC/D;MACF,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;IAEN,oBACEjC,IAAA,CAACV,WAAW,CAAC4C,QAAQ;MACnBL,KAAK,EAAE;QACLX,UAAU;QACVC,aAAa;QACbC,gBAAgB;QAChBI,kBAAkB;QAClBE;MACF,CAAE;MAAAS,QAAA,eAEFjC,KAAA,CAACN,YAAY;QAACwC,YAAY,EAAE5C,kBAAkB,CAACyC,MAAO;QAACI,EAAE,EAAC,UAAU;QAAC9B,GAAG,EAAEhB,IAAI,CAACuC,QAAS;QAAAK,QAAA,gBACtFnC,IAAA,CAACL,MAAM;UAACoB,UAAU,EAAEA,UAAW;UAACC,iBAAiB,EAAEA;QAAkB,CAAE,CAAC,eAExEhB,IAAA,CAACH,KAAK,IAAE,CAAC,eAETG,IAAA,CAACF,SAAS,IAAE,CAAC;MAAA,CACD;IAAC,CACK,CAAC;EAE3B,CACF,CAAC;EAEM,SAASwC,OAAOA,CAAC;IAAEC,QAAQ,GAAG,KAAK;IAAEJ,QAAQ;IAAE,GAAGK;EAAoB,CAAC,EAAe;IAC3F,IAAID,QAAQ,EAAE,OAAOJ,QAAQ;IAE7B,oBACEjC,KAAA,CAAAE,SAAA;MAAA+B,QAAA,GACGA,QAAQ,EACRjD,QAAQ,CAACuD,EAAE,KAAK,KAAK,gBACpBzC,IAAA,CAACZ,iBAAiB;QAAA+C,QAAA,eAChBnC,IAAA,CAACY,QAAQ;UAAA,GAAK4B;QAAK,CAAG;MAAC,CACN,CAAC,gBAEpBxC,IAAA,CAACY,QAAQ;QAAA,GAAK4B;MAAK,CAAG,CACvB;IAAA,CACD,CAAC;EAEP;EAAClC,MAAA,CAAAgC,OAAA,GAAAA,OAAA;EAEDA,OAAO,CAACI,WAAW,GAAG,OAAO;AAAC,GAxJtBrC,KAAK,KAALA,KAAK;AA2Jf,eAAeA,KAAK","ignoreList":[]}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { forwardRef, useMemo, useRef, useState } from 'react';
|
3
|
+
import { forwardRef, useContext, useMemo, useRef, useState } from 'react';
|
4
4
|
import { Animated, PanResponder, StyleSheet, View } from 'react-native';
|
5
|
+
import { MainContext } from "../../../contexts/index.js";
|
5
6
|
import refs, { DebuggerVisibility } from "../../../core/refs.js";
|
6
7
|
import { clamp, getVerticalSafeMargin } from "../../../core/utils.js";
|
7
8
|
import colors from "../../../theme/colors.js";
|
@@ -11,10 +12,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
const Bubble = /*#__PURE__*/forwardRef(({
|
12
13
|
bubbleSize,
|
13
14
|
idleBubbleOpacity,
|
14
|
-
|
15
|
-
|
16
|
-
style
|
15
|
+
style,
|
16
|
+
...props
|
17
17
|
}, ref) => {
|
18
|
+
const {
|
19
|
+
dimensions: {
|
20
|
+
width: screenWidth,
|
21
|
+
height: screenHeight
|
22
|
+
}
|
23
|
+
} = useContext(MainContext);
|
18
24
|
const [idleOpacity, setIdleOpacity] = useState(idleBubbleOpacity);
|
19
25
|
const pan = useRef(new Animated.ValueXY({
|
20
26
|
x: 0,
|
@@ -86,6 +92,7 @@ const Bubble = /*#__PURE__*/forwardRef(({
|
|
86
92
|
return /*#__PURE__*/_jsx(View, {
|
87
93
|
ref: ref,
|
88
94
|
style: [styles.bubbleBackdrop, style],
|
95
|
+
...props,
|
89
96
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
90
97
|
...panResponder.panHandlers,
|
91
98
|
style: [styles.bubble, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["forwardRef","useMemo","useRef","useState","Animated","PanResponder","StyleSheet","View","refs","DebuggerVisibility","clamp","getVerticalSafeMargin","colors","icons","Icon","jsx","_jsx","Bubble","bubbleSize","idleBubbleOpacity","
|
1
|
+
{"version":3,"names":["forwardRef","useContext","useMemo","useRef","useState","Animated","PanResponder","StyleSheet","View","MainContext","refs","DebuggerVisibility","clamp","getVerticalSafeMargin","colors","icons","Icon","jsx","_jsx","Bubble","bubbleSize","idleBubbleOpacity","style","props","ref","dimensions","width","screenWidth","height","screenHeight","idleOpacity","setIdleOpacity","pan","ValueXY","x","y","opacityTimer","panResponder","clearTimer","current","clearTimeout","blur","setTimeout","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","setOffset","_value","setValue","onPanResponderMove","event","dx","dy","useNativeDriver","onPanResponderRelease","_","gesture","flattenOffset","isTapGesture","debugger","setCurrentIndex","Panel","moveX","moveY","finalX","verticalSafeMargin","finalY","spring","toValue","start","finished","styles","bubbleBackdrop","children","panHandlers","bubble","borderRadius","transform","getTranslateTransform","opacity","source","bug","size","flex","absoluteFillObject","pointerEvents","backgroundColor","lightGray","position","justifyContent","alignItems"],"sourceRoot":"../../../../../src","sources":["ui/components/bubble/Bubble.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
export { default as Bubble } from "./bubble/Bubble.js";
|
4
4
|
export { default as IndexedStack } from "./common/IndexedStack.js";
|
5
|
-
export { default as Header } from "./headers/Header.js";
|
6
5
|
export { default as Panel } from "./panels/Panel.js";
|
7
6
|
export { default as SearchBar } from "./search-bar/SearchBar.js";
|
8
7
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["default","Bubble","IndexedStack","
|
1
|
+
{"version":3,"names":["default","Bubble","IndexedStack","Panel","SearchBar"],"sourceRoot":"../../../../src","sources":["ui/components/index.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,oBAAiB;AACnD,SAASD,OAAO,IAAIE,YAAY,QAAQ,0BAAuB;AAC/D,SAASF,OAAO,IAAIG,KAAK,QAAQ,mBAAgB;AACjD,SAASH,OAAO,IAAII,SAAS,QAAQ,2BAAwB","ignoreList":[]}
|
@@ -1,18 +1,68 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
3
4
|
import refs, { PanelState } from "../../../core/refs.js";
|
4
5
|
import IndexedStack from "../common/IndexedStack.js";
|
5
6
|
import LogMessageDetails from "../details/LogMessageDetails.js";
|
6
7
|
import NetworkRequestDetails from "../details/NetworkRequestDetails.js";
|
7
8
|
import ConsolePanel from "./ConsolePanel.js";
|
8
9
|
import NetworkPanel from "./NetworkPanel.js";
|
10
|
+
import colors from "../../../theme/colors.js";
|
11
|
+
import { forwardRef, useContext, useMemo } from 'react';
|
12
|
+
import Header from "../headers/Header.js";
|
13
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
14
|
+
import SafeArea from "../common/SafeArea.js";
|
15
|
+
import { MainContext } from "../../../contexts/index.js";
|
9
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
17
|
+
const Panel = /*#__PURE__*/forwardRef(({
|
18
|
+
style,
|
19
|
+
...props
|
20
|
+
}, ref) => {
|
21
|
+
const {
|
22
|
+
debuggerState: {
|
23
|
+
position
|
24
|
+
},
|
25
|
+
dimensions: {
|
26
|
+
width: screenWidth,
|
27
|
+
height: screenHeight
|
28
|
+
}
|
29
|
+
} = useContext(MainContext);
|
30
|
+
const containerStyle = useMemo(() => [styles.container, {
|
31
|
+
[position]: 0,
|
32
|
+
height: Math.min(screenWidth, screenHeight) * 0.75
|
33
|
+
}], [position, screenWidth, screenHeight]);
|
34
|
+
return /*#__PURE__*/_jsx(View, {
|
35
|
+
style: [containerStyle, style],
|
36
|
+
ref: ref,
|
37
|
+
...props,
|
38
|
+
children: /*#__PURE__*/_jsxs(SafeAreaProvider, {
|
39
|
+
children: [position === 'top' && /*#__PURE__*/_jsx(SafeArea, {
|
40
|
+
inset: "top"
|
41
|
+
}), /*#__PURE__*/_jsx(Header, {}), /*#__PURE__*/_jsxs(IndexedStack, {
|
42
|
+
defaultIndex: PanelState.Network,
|
43
|
+
id: "debugger-panel",
|
44
|
+
ref: refs.panel,
|
45
|
+
children: [/*#__PURE__*/_jsx(NetworkPanel, {}), /*#__PURE__*/_jsx(ConsolePanel, {}), /*#__PURE__*/_jsx(NetworkRequestDetails, {}), /*#__PURE__*/_jsx(LogMessageDetails, {})]
|
46
|
+
}), position === 'bottom' && /*#__PURE__*/_jsx(SafeArea, {
|
47
|
+
inset: "bottom"
|
48
|
+
})]
|
49
|
+
})
|
16
50
|
});
|
17
|
-
}
|
51
|
+
});
|
52
|
+
const styles = StyleSheet.create({
|
53
|
+
container: {
|
54
|
+
flex: 1,
|
55
|
+
...StyleSheet.absoluteFillObject,
|
56
|
+
pointerEvents: 'box-none',
|
57
|
+
...(Platform.OS === 'android' ? {
|
58
|
+
zIndex: 9999
|
59
|
+
} : {}),
|
60
|
+
top: undefined,
|
61
|
+
bottom: undefined,
|
62
|
+
backgroundColor: colors.lightGray,
|
63
|
+
borderBottomColor: colors.gray,
|
64
|
+
borderBottomWidth: StyleSheet.hairlineWidth
|
65
|
+
}
|
66
|
+
});
|
67
|
+
export default Panel;
|
18
68
|
//# sourceMappingURL=Panel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["refs","PanelState","IndexedStack","LogMessageDetails","NetworkRequestDetails","ConsolePanel","NetworkPanel","jsx","_jsx","jsxs","_jsxs","Panel","defaultIndex","Network","id","
|
1
|
+
{"version":3,"names":["Platform","StyleSheet","View","refs","PanelState","IndexedStack","LogMessageDetails","NetworkRequestDetails","ConsolePanel","NetworkPanel","colors","forwardRef","useContext","useMemo","Header","SafeAreaProvider","SafeArea","MainContext","jsx","_jsx","jsxs","_jsxs","Panel","style","props","ref","debuggerState","position","dimensions","width","screenWidth","height","screenHeight","containerStyle","styles","container","Math","min","children","inset","defaultIndex","Network","id","panel","create","flex","absoluteFillObject","pointerEvents","OS","zIndex","top","undefined","bottom","backgroundColor","lightGray","borderBottomColor","gray","borderBottomWidth","hairlineWidth"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/Panel.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import type { Updater } from 'use-immer';
|
2
2
|
import type { useConsoleInterceptor, useNetworkInterceptor } from '../hooks';
|
3
3
|
import type { DebuggerState } from '../types';
|
4
|
+
import type { ScaledSize } from 'react-native';
|
4
5
|
interface MainContextValue {
|
6
|
+
dimensions: ScaledSize;
|
5
7
|
debuggerState: DebuggerState;
|
6
8
|
setDebuggerState: Updater<DebuggerState>;
|
7
9
|
networkInterceptor: ReturnType<typeof useNetworkInterceptor>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MainContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/MainContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"MainContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/MainContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,gBAAgB;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,kBAAkB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAC7D,kBAAkB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAC9D;AAED,QAAA,MAAM,WAAW,kDAA+C,CAAC;AAEjE,eAAe,WAAW,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WebSocketInterceptor.d.ts","sourceRoot":"","sources":["../../../../src/interceptors/WebSocketInterceptor.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"WebSocketInterceptor.d.ts","sourceRoot":"","sources":["../../../../src/interceptors/WebSocketInterceptor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAU1D,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IACrF,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAQnC;IAEF,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,gBAAgB;IAOxB,kBAAkB,IAAI,IAAI;IAsC1B,mBAAmB,IAAI,IAAI;CAc5B"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
1
2
|
import type { NetworkRequest, NetworkType } from './common';
|
2
3
|
export interface WebSocketRequest extends NetworkRequest {
|
3
4
|
type: NetworkType.WS;
|
@@ -27,4 +28,13 @@ export interface WebSocketHandlers {
|
|
27
28
|
onError: ((socketId: number, error: WebSocketRequest['serverError']) => void) | null;
|
28
29
|
onClose: ((socketId: number, data: WebSocketRequest['serverClose']) => void) | null;
|
29
30
|
}
|
31
|
+
export interface NativeWebSocket extends TurboModule {
|
32
|
+
connect: (url: string, protocols?: Array<string>, options?: WebSocketRequest['options'], socketID?: number) => void;
|
33
|
+
send: (message: string, forSocketID: number) => void;
|
34
|
+
sendBinary: (base64String: string, forSocketID: number) => void;
|
35
|
+
ping: (socketID: number) => void;
|
36
|
+
close: (code: number, reason: string, socketID: number) => void;
|
37
|
+
addListener: (eventName: string) => void;
|
38
|
+
removeListeners: (count: number) => void;
|
39
|
+
}
|
30
40
|
//# sourceMappingURL=websocket.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../../src/types/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE;QACR,OAAO,EAAE;YAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAC1C,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EACH,CAAC,CACC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACzC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC,GACV,IAAI,CAAC;IACT,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACrF,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACrF"}
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../../src/types/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE;QACR,OAAO,EAAE;YAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAC1C,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EACH,CAAC,CACC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACzC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC,GACV,IAAI,CAAC;IACT,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACrF,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACrF;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,OAAO,EAAE,CACP,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Xenon.d.ts","sourceRoot":"","sources":["../../../../src/ui/Xenon.tsx"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"Xenon.d.ts","sourceRoot":"","sources":["../../../../src/ui/Xenon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvF,kBAAU,KAAK,CAAC;IAOd,UAAU,KAAK;QACb;;;WAGG;QACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC;;;WAGG;QACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;;;;WAIG;QACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B;IAED,UAAU,YAAa,SAAQ,KAAK;QAClC;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,SAAS,CAAC;KACrB;IAKD;;;OAGG;IACH,MAAM,CAAC,MAAM,SAAS,eAA0C,CAAC;IAEjE;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,QAAO,IAA2B,CAAC;IAEpD;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,QAAO,IAA2B,CAAC;IAuEpD,MAAM,UAAU,OAAO,CAAC,EAAE,QAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAe3F;IAfD,MAAM,WAAU,OAAO;;;;CAkBxB;AAED,eAAe,KAAK,CAAC"}
|
@@ -1,10 +1,7 @@
|
|
1
|
-
import { View, type
|
2
|
-
interface BubbleProps {
|
1
|
+
import { View, type ViewProps } from 'react-native';
|
2
|
+
interface BubbleProps extends ViewProps {
|
3
3
|
bubbleSize: number;
|
4
4
|
idleBubbleOpacity: number;
|
5
|
-
screenWidth: number;
|
6
|
-
screenHeight: number;
|
7
|
-
style?: StyleProp<ViewStyle>;
|
8
5
|
}
|
9
6
|
declare const Bubble: import("react").ForwardRefExoticComponent<BubbleProps & import("react").RefAttributes<View>>;
|
10
7
|
export default Bubble;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/bubble/Bubble.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,IAAI,EAEJ,KAAK,SAAS,
|
1
|
+
{"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/bubble/Bubble.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,IAAI,EAEJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,UAAU,WAAY,SAAQ,SAAS;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,QAAA,MAAM,MAAM,8FAiGX,CAAC;AAgBF,eAAe,MAAM,CAAC"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
export { default as Bubble } from './bubble/Bubble';
|
2
2
|
export { default as IndexedStack } from './common/IndexedStack';
|
3
|
-
export { default as Header } from './headers/Header';
|
4
3
|
export { default as Panel } from './panels/Panel';
|
5
4
|
export { default as SearchBar } from './search-bar/SearchBar';
|
6
5
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
|
@@ -1,2 +1,6 @@
|
|
1
|
-
|
1
|
+
import { View, type ViewProps } from 'react-native';
|
2
|
+
interface PanelProps extends ViewProps {
|
3
|
+
}
|
4
|
+
declare const Panel: import("react").ForwardRefExoticComponent<PanelProps & import("react").RefAttributes<View>>;
|
5
|
+
export default Panel;
|
2
6
|
//# sourceMappingURL=Panel.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/Panel.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAc1E,UAAU,UAAW,SAAQ,SAAS;CAAG;AAEzC,QAAA,MAAM,KAAK,6FA6BT,CAAC;AAgBH,eAAe,KAAK,CAAC"}
|
package/package.json
CHANGED
@@ -2,8 +2,10 @@ import { createContext } from 'react';
|
|
2
2
|
import type { Updater } from 'use-immer';
|
3
3
|
import type { useConsoleInterceptor, useNetworkInterceptor } from '../hooks';
|
4
4
|
import type { DebuggerState } from '../types';
|
5
|
+
import type { ScaledSize } from 'react-native';
|
5
6
|
|
6
7
|
interface MainContextValue {
|
8
|
+
dimensions: ScaledSize;
|
7
9
|
debuggerState: DebuggerState;
|
8
10
|
setDebuggerState: Updater<DebuggerState>;
|
9
11
|
networkInterceptor: ReturnType<typeof useNetworkInterceptor>;
|
@@ -1,9 +1,10 @@
|
|
1
|
-
import { NativeEventEmitter, type EmitterSubscription } from 'react-native';
|
2
|
-
import NativeWebSocketModule from 'react-native/Libraries/WebSocket/NativeWebSocketModule';
|
1
|
+
import { NativeEventEmitter, TurboModuleRegistry, type EmitterSubscription } from 'react-native';
|
3
2
|
import { frozen, singleton } from '../core/utils';
|
4
|
-
import type { WebSocketHandlers } from '../types';
|
3
|
+
import type { NativeWebSocket, WebSocketHandlers } from '../types';
|
5
4
|
import { NetworkInterceptor } from './NetworkInterceptor';
|
6
5
|
|
6
|
+
const NativeWebSocketModule = TurboModuleRegistry.getEnforcing<NativeWebSocket>('WebSocketModule');
|
7
|
+
|
7
8
|
const originalWebSocketConnect = NativeWebSocketModule.connect;
|
8
9
|
const originalWebSocketSend = NativeWebSocketModule.send;
|
9
10
|
const originalWebSocketSendBinary = NativeWebSocketModule.sendBinary;
|
package/src/types/websocket.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
1
2
|
import type { NetworkRequest, NetworkType } from './common';
|
2
3
|
|
3
4
|
export interface WebSocketRequest extends NetworkRequest {
|
@@ -30,3 +31,18 @@ export interface WebSocketHandlers {
|
|
30
31
|
onError: ((socketId: number, error: WebSocketRequest['serverError']) => void) | null;
|
31
32
|
onClose: ((socketId: number, data: WebSocketRequest['serverClose']) => void) | null;
|
32
33
|
}
|
34
|
+
|
35
|
+
export interface NativeWebSocket extends TurboModule {
|
36
|
+
connect: (
|
37
|
+
url: string,
|
38
|
+
protocols?: Array<string>,
|
39
|
+
options?: WebSocketRequest['options'],
|
40
|
+
socketID?: number,
|
41
|
+
) => void;
|
42
|
+
send: (message: string, forSocketID: number) => void;
|
43
|
+
sendBinary: (base64String: string, forSocketID: number) => void;
|
44
|
+
ping: (socketID: number) => void;
|
45
|
+
close: (code: number, reason: string, socketID: number) => void;
|
46
|
+
addListener: (eventName: string) => void;
|
47
|
+
removeListeners: (count: number) => void;
|
48
|
+
}
|
package/src/ui/Xenon.tsx
CHANGED
@@ -1,16 +1,13 @@
|
|
1
1
|
import { enableMapSet } from 'immer';
|
2
|
-
import { createRef, memo, useImperativeHandle,
|
3
|
-
import { Platform,
|
4
|
-
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
2
|
+
import { createRef, memo, useImperativeHandle, type JSX, type ReactNode } from 'react';
|
3
|
+
import { Platform, useWindowDimensions } from 'react-native';
|
5
4
|
import { FullWindowOverlay } from 'react-native-screens';
|
6
5
|
import { useImmer } from 'use-immer';
|
7
6
|
import { MainContext } from '../contexts';
|
8
7
|
import refs, { DebuggerVisibility } from '../core/refs';
|
9
8
|
import { useConsoleInterceptor, useNetworkInterceptor } from '../hooks';
|
10
|
-
import colors from '../theme/colors';
|
11
9
|
import { type DebuggerState } from '../types';
|
12
|
-
import { Bubble,
|
13
|
-
import SafeArea from './components/common/SafeArea';
|
10
|
+
import { Bubble, IndexedStack, Panel, SearchBar } from './components';
|
14
11
|
|
15
12
|
namespace Xenon {
|
16
13
|
interface Methods {
|
@@ -60,23 +57,6 @@ namespace Xenon {
|
|
60
57
|
enableMapSet();
|
61
58
|
const ref = createRef<Methods>();
|
62
59
|
|
63
|
-
const styles = StyleSheet.create({
|
64
|
-
container: {
|
65
|
-
flex: 1,
|
66
|
-
...StyleSheet.absoluteFillObject,
|
67
|
-
pointerEvents: 'box-none',
|
68
|
-
...(Platform.OS === 'android' ? { zIndex: 9999 } : {}),
|
69
|
-
top: undefined,
|
70
|
-
bottom: undefined,
|
71
|
-
backgroundColor: colors.lightGray,
|
72
|
-
borderBottomColor: colors.gray,
|
73
|
-
borderBottomWidth: StyleSheet.hairlineWidth,
|
74
|
-
},
|
75
|
-
safeArea: {
|
76
|
-
flex: 1,
|
77
|
-
},
|
78
|
-
});
|
79
|
-
|
80
60
|
/**
|
81
61
|
* Checks whether the debugger is currently visible.
|
82
62
|
* @returns `true` if the debugger is currently visible, otherwise `false`.
|
@@ -103,7 +83,7 @@ namespace Xenon {
|
|
103
83
|
idleBubbleOpacity = 0.5,
|
104
84
|
includeDomains,
|
105
85
|
}: Props) => {
|
106
|
-
const
|
86
|
+
const dimensions = useWindowDimensions();
|
107
87
|
|
108
88
|
const [debuggerState, setDebuggerState] = useImmer<DebuggerState>({
|
109
89
|
position: 'bottom',
|
@@ -111,14 +91,6 @@ namespace Xenon {
|
|
111
91
|
searchQuery: '',
|
112
92
|
});
|
113
93
|
|
114
|
-
const containerStyle = useMemo(
|
115
|
-
() => [
|
116
|
-
styles.container,
|
117
|
-
{ [debuggerState.position]: 0, height: Math.min(width, height) * 0.75 },
|
118
|
-
],
|
119
|
-
[debuggerState.position, height, width],
|
120
|
-
);
|
121
|
-
|
122
94
|
const networkInterceptor = useNetworkInterceptor({
|
123
95
|
autoEnabled: autoInspectNetworkEnabled,
|
124
96
|
includeDomains,
|
@@ -152,24 +124,18 @@ namespace Xenon {
|
|
152
124
|
|
153
125
|
return (
|
154
126
|
<MainContext.Provider
|
155
|
-
value={{
|
127
|
+
value={{
|
128
|
+
dimensions,
|
129
|
+
debuggerState,
|
130
|
+
setDebuggerState,
|
131
|
+
networkInterceptor,
|
132
|
+
consoleInterceptor,
|
133
|
+
}}
|
156
134
|
>
|
157
135
|
<IndexedStack defaultIndex={DebuggerVisibility.Hidden} id="debugger" ref={refs.debugger}>
|
158
|
-
<Bubble
|
159
|
-
|
160
|
-
|
161
|
-
screenWidth={width}
|
162
|
-
screenHeight={height}
|
163
|
-
/>
|
164
|
-
|
165
|
-
<View style={containerStyle}>
|
166
|
-
<SafeAreaProvider>
|
167
|
-
{debuggerState.position === 'top' && <SafeArea inset="top" />}
|
168
|
-
<Header />
|
169
|
-
<Panel />
|
170
|
-
{debuggerState.position === 'bottom' && <SafeArea inset="bottom" />}
|
171
|
-
</SafeAreaProvider>
|
172
|
-
</View>
|
136
|
+
<Bubble bubbleSize={bubbleSize} idleBubbleOpacity={idleBubbleOpacity} />
|
137
|
+
|
138
|
+
<Panel />
|
173
139
|
|
174
140
|
<SearchBar />
|
175
141
|
</IndexedStack>
|
@@ -1,29 +1,29 @@
|
|
1
|
-
import { forwardRef, useMemo, useRef, useState } from 'react';
|
1
|
+
import { forwardRef, useContext, useMemo, useRef, useState } from 'react';
|
2
2
|
import {
|
3
3
|
Animated,
|
4
4
|
PanResponder,
|
5
5
|
StyleSheet,
|
6
6
|
View,
|
7
7
|
type PanResponderGestureState,
|
8
|
-
type
|
9
|
-
type ViewStyle,
|
8
|
+
type ViewProps,
|
10
9
|
} from 'react-native';
|
10
|
+
import { MainContext } from '../../../contexts';
|
11
11
|
import refs, { DebuggerVisibility } from '../../../core/refs';
|
12
12
|
import { clamp, getVerticalSafeMargin } from '../../../core/utils';
|
13
13
|
import colors from '../../../theme/colors';
|
14
14
|
import icons from '../../../theme/icons';
|
15
15
|
import Icon from '../common/Icon';
|
16
16
|
|
17
|
-
interface BubbleProps {
|
17
|
+
interface BubbleProps extends ViewProps {
|
18
18
|
bubbleSize: number;
|
19
19
|
idleBubbleOpacity: number;
|
20
|
-
screenWidth: number;
|
21
|
-
screenHeight: number;
|
22
|
-
style?: StyleProp<ViewStyle>;
|
23
20
|
}
|
24
21
|
|
25
22
|
const Bubble = forwardRef<View, BubbleProps>(
|
26
|
-
({ bubbleSize, idleBubbleOpacity,
|
23
|
+
({ bubbleSize, idleBubbleOpacity, style, ...props }, ref) => {
|
24
|
+
const {
|
25
|
+
dimensions: { width: screenWidth, height: screenHeight },
|
26
|
+
} = useContext(MainContext)!;
|
27
27
|
const [idleOpacity, setIdleOpacity] = useState(idleBubbleOpacity);
|
28
28
|
const pan = useRef(new Animated.ValueXY({ x: 0, y: getVerticalSafeMargin(screenHeight) }));
|
29
29
|
const opacityTimer = useRef<NodeJS.Timeout | null>(null);
|
@@ -97,7 +97,7 @@ const Bubble = forwardRef<View, BubbleProps>(
|
|
97
97
|
}, [bubbleSize, idleBubbleOpacity, screenHeight, screenWidth]);
|
98
98
|
|
99
99
|
return (
|
100
|
-
<View ref={ref} style={[styles.bubbleBackdrop, style]}>
|
100
|
+
<View ref={ref} style={[styles.bubbleBackdrop, style]} {...props}>
|
101
101
|
<Animated.View
|
102
102
|
{...panResponder.panHandlers}
|
103
103
|
style={[
|
@@ -1,5 +1,4 @@
|
|
1
1
|
export { default as Bubble } from './bubble/Bubble';
|
2
2
|
export { default as IndexedStack } from './common/IndexedStack';
|
3
|
-
export { default as Header } from './headers/Header';
|
4
3
|
export { default as Panel } from './panels/Panel';
|
5
4
|
export { default as SearchBar } from './search-bar/SearchBar';
|
@@ -1,17 +1,62 @@
|
|
1
|
+
import { Platform, StyleSheet, View, type ViewProps } from 'react-native';
|
1
2
|
import refs, { PanelState } from '../../../core/refs';
|
2
3
|
import IndexedStack from '../common/IndexedStack';
|
3
4
|
import LogMessageDetails from '../details/LogMessageDetails';
|
4
5
|
import NetworkRequestDetails from '../details/NetworkRequestDetails';
|
5
6
|
import ConsolePanel from './ConsolePanel';
|
6
7
|
import NetworkPanel from './NetworkPanel';
|
8
|
+
import colors from '../../../theme/colors';
|
9
|
+
import { forwardRef, useContext, useMemo } from 'react';
|
10
|
+
import Header from '../headers/Header';
|
11
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
12
|
+
import SafeArea from '../common/SafeArea';
|
13
|
+
import { MainContext } from '../../../contexts';
|
14
|
+
|
15
|
+
interface PanelProps extends ViewProps {}
|
16
|
+
|
17
|
+
const Panel = forwardRef<View, PanelProps>(({ style, ...props }, ref) => {
|
18
|
+
const {
|
19
|
+
debuggerState: { position },
|
20
|
+
dimensions: { width: screenWidth, height: screenHeight },
|
21
|
+
} = useContext(MainContext)!;
|
22
|
+
|
23
|
+
const containerStyle = useMemo(
|
24
|
+
() => [styles.container, { [position]: 0, height: Math.min(screenWidth, screenHeight) * 0.75 }],
|
25
|
+
[position, screenWidth, screenHeight],
|
26
|
+
);
|
7
27
|
|
8
|
-
export default function Panel() {
|
9
28
|
return (
|
10
|
-
<
|
11
|
-
<
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
29
|
+
<View style={[containerStyle, style]} ref={ref} {...props}>
|
30
|
+
<SafeAreaProvider>
|
31
|
+
{position === 'top' && <SafeArea inset="top" />}
|
32
|
+
|
33
|
+
<Header />
|
34
|
+
|
35
|
+
<IndexedStack defaultIndex={PanelState.Network} id="debugger-panel" ref={refs.panel}>
|
36
|
+
<NetworkPanel />
|
37
|
+
<ConsolePanel />
|
38
|
+
<NetworkRequestDetails />
|
39
|
+
<LogMessageDetails />
|
40
|
+
</IndexedStack>
|
41
|
+
|
42
|
+
{position === 'bottom' && <SafeArea inset="bottom" />}
|
43
|
+
</SafeAreaProvider>
|
44
|
+
</View>
|
16
45
|
);
|
17
|
-
}
|
46
|
+
});
|
47
|
+
|
48
|
+
const styles = StyleSheet.create({
|
49
|
+
container: {
|
50
|
+
flex: 1,
|
51
|
+
...StyleSheet.absoluteFillObject,
|
52
|
+
pointerEvents: 'box-none',
|
53
|
+
...(Platform.OS === 'android' ? { zIndex: 9999 } : {}),
|
54
|
+
top: undefined,
|
55
|
+
bottom: undefined,
|
56
|
+
backgroundColor: colors.lightGray,
|
57
|
+
borderBottomColor: colors.gray,
|
58
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
59
|
+
},
|
60
|
+
});
|
61
|
+
|
62
|
+
export default Panel;
|