react-native-debug-toolkit 3.3.8 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -26
- package/README.zh-CN.md +52 -38
- package/android/src/main/java/com/reactnativedebugtoolkit/DebugToolkitNativeLogsModule.java +146 -0
- package/android/src/main/java/com/reactnativedebugtoolkit/ReactNativeDebugToolkitPackage.java +5 -3
- package/ios/DebugToolkitNativeLogs.mm +92 -0
- package/lib/commonjs/constants/logLevels.js +19 -0
- package/lib/commonjs/constants/logLevels.js.map +1 -0
- package/lib/commonjs/core/initialize.js +32 -19
- package/lib/commonjs/core/initialize.js.map +1 -1
- package/lib/commonjs/features/console/ConsoleLogTab.js +4 -15
- package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -1
- package/lib/commonjs/features/console/index.js +15 -8
- package/lib/commonjs/features/console/index.js.map +1 -1
- package/lib/commonjs/features/nativeLogs/NativeLogTab.js +156 -0
- package/lib/commonjs/features/nativeLogs/NativeLogTab.js.map +1 -0
- package/lib/commonjs/features/nativeLogs/index.js +97 -0
- package/lib/commonjs/features/nativeLogs/index.js.map +1 -0
- package/lib/commonjs/features/nativeLogs/nativeLogsBridge.js +71 -0
- package/lib/commonjs/features/nativeLogs/nativeLogsBridge.js.map +1 -0
- package/lib/commonjs/features/network/NetworkLogTab.js +90 -95
- package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -1
- package/lib/commonjs/features/network/index.js +7 -4
- package/lib/commonjs/features/network/index.js.map +1 -1
- package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js +1046 -0
- package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js.map +1 -0
- package/lib/commonjs/features/sessionHistory/index.js +104 -0
- package/lib/commonjs/features/sessionHistory/index.js.map +1 -0
- package/lib/commonjs/features/track/index.js +4 -3
- package/lib/commonjs/features/track/index.js.map +1 -1
- package/lib/commonjs/index.js +27 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/DebugView.js +2 -0
- package/lib/commonjs/ui/DebugView.js.map +1 -1
- package/lib/commonjs/ui/panel/DebugPanel.js +67 -34
- package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
- package/lib/commonjs/ui/panel/FeatureIntroCard.js +151 -0
- package/lib/commonjs/ui/panel/FeatureIntroCard.js.map +1 -0
- package/lib/commonjs/ui/panel/FeatureRail.js +163 -0
- package/lib/commonjs/ui/panel/FeatureRail.js.map +1 -0
- package/lib/commonjs/ui/panel/FloatPanelView.js +119 -22
- package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
- package/lib/commonjs/ui/panel/buildFeatureSummary.js +207 -0
- package/lib/commonjs/ui/panel/buildFeatureSummary.js.map +1 -0
- package/lib/commonjs/ui/panel/filterFeatureSnapshot.js +43 -0
- package/lib/commonjs/ui/panel/filterFeatureSnapshot.js.map +1 -0
- package/lib/commonjs/ui/theme/colors.js +6 -0
- package/lib/commonjs/ui/theme/colors.js.map +1 -1
- package/lib/commonjs/utils/DaemonClient.js +30 -8
- package/lib/commonjs/utils/DaemonClient.js.map +1 -1
- package/lib/commonjs/utils/SessionManager.js +132 -0
- package/lib/commonjs/utils/SessionManager.js.map +1 -0
- package/lib/commonjs/utils/StorageAdapter.js +104 -0
- package/lib/commonjs/utils/StorageAdapter.js.map +1 -0
- package/lib/commonjs/utils/createChannelFeature.js +22 -5
- package/lib/commonjs/utils/createChannelFeature.js.map +1 -1
- package/lib/commonjs/utils/createPersistedObservableStore.js +14 -8
- package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
- package/lib/commonjs/utils/debugPreferences.js +28 -5
- package/lib/commonjs/utils/debugPreferences.js.map +1 -1
- package/lib/commonjs/utils/deviceReport.js +5 -1
- package/lib/commonjs/utils/deviceReport.js.map +1 -1
- package/lib/commonjs/utils/logRuntime.js +32 -0
- package/lib/commonjs/utils/logRuntime.js.map +1 -0
- package/lib/module/constants/logLevels.js +15 -0
- package/lib/module/constants/logLevels.js.map +1 -0
- package/lib/module/core/initialize.js +32 -19
- package/lib/module/core/initialize.js.map +1 -1
- package/lib/module/features/console/ConsoleLogTab.js +1 -12
- package/lib/module/features/console/ConsoleLogTab.js.map +1 -1
- package/lib/module/features/console/index.js +15 -8
- package/lib/module/features/console/index.js.map +1 -1
- package/lib/module/features/nativeLogs/NativeLogTab.js +151 -0
- package/lib/module/features/nativeLogs/NativeLogTab.js.map +1 -0
- package/lib/module/features/nativeLogs/index.js +91 -0
- package/lib/module/features/nativeLogs/index.js.map +1 -0
- package/lib/module/features/nativeLogs/nativeLogsBridge.js +63 -0
- package/lib/module/features/nativeLogs/nativeLogsBridge.js.map +1 -0
- package/lib/module/features/network/NetworkLogTab.js +90 -95
- package/lib/module/features/network/NetworkLogTab.js.map +1 -1
- package/lib/module/features/network/index.js +7 -4
- package/lib/module/features/network/index.js.map +1 -1
- package/lib/module/features/sessionHistory/SessionHistoryTab.js +1041 -0
- package/lib/module/features/sessionHistory/SessionHistoryTab.js.map +1 -0
- package/lib/module/features/sessionHistory/index.js +100 -0
- package/lib/module/features/sessionHistory/index.js.map +1 -0
- package/lib/module/features/track/index.js +4 -3
- package/lib/module/features/track/index.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/DebugView.js +2 -0
- package/lib/module/ui/DebugView.js.map +1 -1
- package/lib/module/ui/panel/DebugPanel.js +67 -34
- package/lib/module/ui/panel/DebugPanel.js.map +1 -1
- package/lib/module/ui/panel/FeatureIntroCard.js +146 -0
- package/lib/module/ui/panel/FeatureIntroCard.js.map +1 -0
- package/lib/module/ui/panel/FeatureRail.js +158 -0
- package/lib/module/ui/panel/FeatureRail.js.map +1 -0
- package/lib/module/ui/panel/FloatPanelView.js +119 -22
- package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
- package/lib/module/ui/panel/buildFeatureSummary.js +203 -0
- package/lib/module/ui/panel/buildFeatureSummary.js.map +1 -0
- package/lib/module/ui/panel/filterFeatureSnapshot.js +39 -0
- package/lib/module/ui/panel/filterFeatureSnapshot.js.map +1 -0
- package/lib/module/ui/theme/colors.js +6 -0
- package/lib/module/ui/theme/colors.js.map +1 -1
- package/lib/module/utils/DaemonClient.js +30 -8
- package/lib/module/utils/DaemonClient.js.map +1 -1
- package/lib/module/utils/SessionManager.js +127 -0
- package/lib/module/utils/SessionManager.js.map +1 -0
- package/lib/module/utils/StorageAdapter.js +96 -0
- package/lib/module/utils/StorageAdapter.js.map +1 -0
- package/lib/module/utils/createChannelFeature.js +22 -5
- package/lib/module/utils/createChannelFeature.js.map +1 -1
- package/lib/module/utils/createPersistedObservableStore.js +14 -8
- package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
- package/lib/module/utils/debugPreferences.js +27 -5
- package/lib/module/utils/debugPreferences.js.map +1 -1
- package/lib/module/utils/deviceReport.js +4 -1
- package/lib/module/utils/deviceReport.js.map +1 -1
- package/lib/module/utils/logRuntime.js +26 -0
- package/lib/module/utils/logRuntime.js.map +1 -0
- package/lib/typescript/src/constants/logLevels.d.ts +3 -0
- package/lib/typescript/src/constants/logLevels.d.ts.map +1 -0
- package/lib/typescript/src/core/initialize.d.ts +6 -0
- package/lib/typescript/src/core/initialize.d.ts.map +1 -1
- package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -1
- package/lib/typescript/src/features/console/index.d.ts +2 -1
- package/lib/typescript/src/features/console/index.d.ts.map +1 -1
- package/lib/typescript/src/features/nativeLogs/NativeLogTab.d.ts +4 -0
- package/lib/typescript/src/features/nativeLogs/NativeLogTab.d.ts.map +1 -0
- package/lib/typescript/src/features/nativeLogs/index.d.ts +12 -0
- package/lib/typescript/src/features/nativeLogs/index.d.ts.map +1 -0
- package/lib/typescript/src/features/nativeLogs/nativeLogsBridge.d.ts +11 -0
- package/lib/typescript/src/features/nativeLogs/nativeLogsBridge.d.ts.map +1 -0
- package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -1
- package/lib/typescript/src/features/network/index.d.ts +2 -1
- package/lib/typescript/src/features/network/index.d.ts.map +1 -1
- package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts +20 -0
- package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts.map +1 -0
- package/lib/typescript/src/features/sessionHistory/index.d.ts +4 -0
- package/lib/typescript/src/features/sessionHistory/index.d.ts.map +1 -0
- package/lib/typescript/src/features/track/index.d.ts +2 -1
- package/lib/typescript/src/features/track/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types/feature.d.ts +1 -1
- package/lib/typescript/src/types/feature.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +3 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/logs.d.ts +15 -0
- package/lib/typescript/src/types/logs.d.ts.map +1 -1
- package/lib/typescript/src/ui/DebugView.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/DebugPanel.d.ts +3 -1
- package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts +14 -0
- package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/FeatureRail.d.ts +16 -0
- package/lib/typescript/src/ui/panel/FeatureRail.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts +13 -0
- package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts +3 -0
- package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts.map +1 -0
- package/lib/typescript/src/ui/theme/colors.d.ts +5 -0
- package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -1
- package/lib/typescript/src/utils/DaemonClient.d.ts +7 -1
- package/lib/typescript/src/utils/DaemonClient.d.ts.map +1 -1
- package/lib/typescript/src/utils/SessionManager.d.ts +30 -0
- package/lib/typescript/src/utils/SessionManager.d.ts.map +1 -0
- package/lib/typescript/src/utils/StorageAdapter.d.ts +38 -0
- package/lib/typescript/src/utils/StorageAdapter.d.ts.map +1 -0
- package/lib/typescript/src/utils/createChannelFeature.d.ts +2 -0
- package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -1
- package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +4 -1
- package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
- package/lib/typescript/src/utils/debugPreferences.d.ts +1 -3
- package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -1
- package/lib/typescript/src/utils/deviceReport.d.ts +1 -0
- package/lib/typescript/src/utils/deviceReport.d.ts.map +1 -1
- package/lib/typescript/src/utils/logRuntime.d.ts +13 -0
- package/lib/typescript/src/utils/logRuntime.d.ts.map +1 -0
- package/node/daemon/src/console/console.html +18 -0
- package/node/mcp/src/logs.js +1 -1
- package/package.json +9 -1
- package/src/constants/logLevels.ts +13 -0
- package/src/core/initialize.ts +54 -25
- package/src/features/console/ConsoleLogTab.tsx +1 -14
- package/src/features/console/index.ts +18 -8
- package/src/features/nativeLogs/NativeLogTab.tsx +66 -0
- package/src/features/nativeLogs/index.ts +94 -0
- package/src/features/nativeLogs/nativeLogsBridge.ts +51 -0
- package/src/features/network/NetworkLogTab.tsx +60 -71
- package/src/features/network/index.ts +12 -3
- package/src/features/sessionHistory/SessionHistoryTab.tsx +693 -0
- package/src/features/sessionHistory/index.ts +102 -0
- package/src/features/track/index.ts +10 -3
- package/src/index.ts +16 -0
- package/src/types/feature.ts +3 -1
- package/src/types/index.ts +13 -0
- package/src/types/logs.ts +17 -0
- package/src/ui/DebugView.tsx +2 -0
- package/src/ui/panel/DebugPanel.tsx +60 -30
- package/src/ui/panel/FeatureIntroCard.tsx +147 -0
- package/src/ui/panel/FeatureRail.tsx +165 -0
- package/src/ui/panel/FloatPanelView.tsx +123 -15
- package/src/ui/panel/buildFeatureSummary.ts +288 -0
- package/src/ui/panel/filterFeatureSnapshot.ts +51 -0
- package/src/ui/theme/colors.ts +7 -0
- package/src/utils/DaemonClient.ts +33 -5
- package/src/utils/SessionManager.ts +174 -0
- package/src/utils/StorageAdapter.ts +135 -0
- package/src/utils/createChannelFeature.ts +28 -6
- package/src/utils/createPersistedObservableStore.ts +18 -10
- package/src/utils/debugPreferences.ts +38 -7
- package/src/utils/deviceReport.ts +5 -1
- package/src/utils/logRuntime.ts +39 -0
- package/lib/commonjs/ui/panel/FeatureTabBar.js +0 -182
- package/lib/commonjs/ui/panel/FeatureTabBar.js.map +0 -1
- package/lib/module/ui/panel/FeatureTabBar.js +0 -177
- package/lib/module/ui/panel/FeatureTabBar.js.map +0 -1
- package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts +0 -13
- package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +0 -1
- package/src/ui/panel/FeatureTabBar.tsx +0 -204
|
@@ -9,19 +9,8 @@ import { JsonView } from '../../ui/shared/JsonView';
|
|
|
9
9
|
import { CopyButton } from '../../ui/shared/CopyButton';
|
|
10
10
|
import { LogListScreen } from '../../ui/shared/LogListScreen';
|
|
11
11
|
import { fmt } from '../../utils/copyToComputer';
|
|
12
|
+
import { LEVEL_COLORS, LEVEL_ICONS } from '../../constants/logLevels';
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
-
const LEVEL_COLORS = {
|
|
14
|
-
log: '#8E8E93',
|
|
15
|
-
info: '#007AFF',
|
|
16
|
-
warn: '#FF9500',
|
|
17
|
-
error: '#FF3B30'
|
|
18
|
-
};
|
|
19
|
-
const LEVEL_ICONS = {
|
|
20
|
-
log: '●',
|
|
21
|
-
info: 'ℹ',
|
|
22
|
-
warn: '⚠',
|
|
23
|
-
error: '✕'
|
|
24
|
-
};
|
|
25
14
|
export const ConsoleLogTab = /*#__PURE__*/React.memo(({
|
|
26
15
|
snapshot
|
|
27
16
|
}) => /*#__PURE__*/_jsx(LogListScreen, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","StyleSheet","ScrollView","Colors","safeStringify","CollapsibleSection","JsonView","CopyButton","LogListScreen","fmt","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","ScrollView","Colors","safeStringify","CollapsibleSection","JsonView","CopyButton","LogListScreen","fmt","LEVEL_COLORS","LEVEL_ICONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConsoleLogTab","memo","snapshot","data","emptyText","renderRow","item","style","s","cardRow","children","levelDot","backgroundColor","level","levelIcon","cardContent","logMessage","numberOfLines","map","d","join","time","Date","timestamp","toLocaleTimeString","renderDetailHeader","levelBadge","levelBadgeText","toUpperCase","detailTime","toLocaleString","renderDetailBody","detailBody","contentContainerStyle","detailBodyContent","index","formatted","String","title","initiallyExpanded","sectionWithCopy","text","label","maxHeight","plainText","selectable","create","flexDirection","padding","alignItems","width","height","borderRadius","justifyContent","marginRight","marginTop","color","fontSize","fontWeight","flex","lineHeight","textSecondary","paddingHorizontal","paddingVertical","textAlign","gap","fontFamily"],"sourceRoot":"../../../../src","sources":["features/console/ConsoleLogTab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { ConsoleLogTab } from './ConsoleLogTab';
|
|
4
4
|
import { createPersistedObservableStore } from '../../utils/createPersistedObservableStore';
|
|
5
|
-
import {
|
|
5
|
+
import { getDefaultLogRuntime } from '../../utils/logRuntime';
|
|
6
6
|
const LEVELS = ['log', 'info', 'warn', 'error'];
|
|
7
7
|
|
|
8
8
|
// ─── Console capture manager (encapsulated mutable state) ──
|
|
@@ -12,7 +12,9 @@ const consoleCapture = (() => {
|
|
|
12
12
|
let refCount = 0;
|
|
13
13
|
function stop() {
|
|
14
14
|
refCount = Math.max(0, refCount - 1);
|
|
15
|
-
if (refCount > 0)
|
|
15
|
+
if (refCount > 0) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
16
18
|
LEVELS.forEach(level => {
|
|
17
19
|
const original = originalMethods[level];
|
|
18
20
|
if (original) {
|
|
@@ -68,10 +70,11 @@ const consoleCapture = (() => {
|
|
|
68
70
|
// ─── Feature factory ──────────────────────────────────
|
|
69
71
|
|
|
70
72
|
const DEFAULT_MAX_LOGS = 200;
|
|
71
|
-
export const createConsoleLogFeature = config => {
|
|
73
|
+
export const createConsoleLogFeature = (config, runtime = getDefaultLogRuntime()) => {
|
|
72
74
|
const maxLogs = config?.maxLogs ?? DEFAULT_MAX_LOGS;
|
|
73
75
|
const logStore = createPersistedObservableStore({
|
|
74
|
-
|
|
76
|
+
storage: runtime.logStorage,
|
|
77
|
+
storageKey: runtime.sessionManager.getLogStorageKey('console_logs'),
|
|
75
78
|
maxPersist: 50
|
|
76
79
|
});
|
|
77
80
|
let initialized = false;
|
|
@@ -81,7 +84,9 @@ export const createConsoleLogFeature = config => {
|
|
|
81
84
|
label: 'Console',
|
|
82
85
|
renderContent: ConsoleLogTab,
|
|
83
86
|
setup: () => {
|
|
84
|
-
if (initialized)
|
|
87
|
+
if (initialized) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
85
90
|
stopCapture = consoleCapture.start(entry => {
|
|
86
91
|
logStore.push({
|
|
87
92
|
...entry,
|
|
@@ -92,13 +97,15 @@ export const createConsoleLogFeature = config => {
|
|
|
92
97
|
},
|
|
93
98
|
getSnapshot: () => logStore.getData(),
|
|
94
99
|
clear: () => {
|
|
95
|
-
logStore.
|
|
100
|
+
logStore.clearPersisted();
|
|
96
101
|
},
|
|
97
102
|
cleanup: () => {
|
|
98
|
-
if (!initialized)
|
|
103
|
+
if (!initialized) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
99
106
|
stopCapture?.();
|
|
100
107
|
stopCapture = null;
|
|
101
|
-
logStore.
|
|
108
|
+
logStore.dispose();
|
|
102
109
|
initialized = false;
|
|
103
110
|
},
|
|
104
111
|
subscribe: listener => logStore.subscribe(listener)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConsoleLogTab","createPersistedObservableStore","
|
|
1
|
+
{"version":3,"names":["ConsoleLogTab","createPersistedObservableStore","getDefaultLogRuntime","LEVELS","consoleCapture","originalMethods","refCount","stop","Math","max","forEach","level","original","console","isIntercepted","some","undefined","start","emit","args","apply","startsWith","id","timestamp","Date","now","data","reset","DEFAULT_MAX_LOGS","createConsoleLogFeature","config","runtime","maxLogs","logStore","storage","logStorage","storageKey","sessionManager","getLogStorageKey","maxPersist","initialized","stopCapture","name","label","renderContent","setup","entry","push","nextId","getSnapshot","getData","clear","clearPersisted","cleanup","dispose","subscribe","listener","_resetConsoleForTesting"],"sourceRoot":"../../../../src","sources":["features/console/index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,SAASC,8BAA8B,QAAQ,4CAA4C;AAC3F,SAASC,oBAAoB,QAAgC,wBAAwB;AAErF,MAAMC,MAAkC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;;AAE3E;;AAEA,MAAMC,cAAc,GAAG,CAAC,MAAM;EAC5B,MAAMC,eAAwF,GAAG,CAAC,CAAC;EACnG,IAAIC,QAAQ,GAAG,CAAC;EAEhB,SAASC,IAAIA,CAAA,EAAS;IACpBD,QAAQ,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,QAAQ,GAAG,CAAC,CAAC;IACpC,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAChB;IACF;IAEAH,MAAM,CAACO,OAAO,CAAEC,KAAK,IAAK;MACxB,MAAMC,QAAQ,GAAGP,eAAe,CAACM,KAAK,CAAC;MACvC,IAAIC,QAAQ,EAAE;QACZC,OAAO,CAACF,KAAK,CAAC,GAAGC,QAAQ;QACzB,OAAOP,eAAe,CAACM,KAAK,CAAC;MAC/B;IACF,CAAC,CAAC;EACJ;EAEA,SAASG,aAAaA,CAAA,EAAY;IAChC,OAAOX,MAAM,CAACY,IAAI,CAAEJ,KAAK,IAAKN,eAAe,CAACM,KAAK,CAAC,KAAKK,SAAS,CAAC;EACrE;EAEA,SAASC,KAAKA,CAACC,IAAsC,EAAc;IACjEZ,QAAQ,IAAI,CAAC;IACb,IAAIQ,aAAa,CAAC,CAAC,EAAE;MACnB,OAAO,MAAM;QAAEP,IAAI,CAAC,CAAC;MAAE,CAAC;IAC1B;IAEAJ,MAAM,CAACO,OAAO,CAAEC,KAAK,IAAK;MACxBN,eAAe,CAACM,KAAK,CAAC,GAAGE,OAAO,CAACF,KAAK,CAAC;MAEvCE,OAAO,CAACF,KAAK,CAAC,GAAG,CAAC,GAAGQ,IAAe,KAAK;QACvCd,eAAe,CAACM,KAAK,CAAC,EAAES,KAAK,CAACP,OAAO,EAAEM,IAAI,CAAC;QAC5C,IAAIR,KAAK,KAAK,KAAK,IAAI,OAAOQ,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAIA,IAAI,CAAC,CAAC,CAAC,CAACE,UAAU,CAAC,qBAAqB,CAAC,EAAE;UAC/F;QACF;QACAH,IAAI,CAAC;UACHI,EAAE,EAAE,EAAE;UACNC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;UACrBd,KAAK;UACLe,IAAI,EAAEP;QACR,CAAC,CAAC;MACJ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,MAAM;MAAEZ,IAAI,CAAC,CAAC;IAAE,CAAC;EAC1B;EAEA,OAAO;IACLU,KAAK;IACLU,KAAKA,CAAA,EAAG;MACNxB,MAAM,CAACO,OAAO,CAAEC,KAAK,IAAK;QACxB,MAAMC,QAAQ,GAAGP,eAAe,CAACM,KAAK,CAAC;QACvC,IAAIC,QAAQ,EAAE;UACZC,OAAO,CAACF,KAAK,CAAC,GAAGC,QAAQ;UACzB,OAAOP,eAAe,CAACM,KAAK,CAAC;QAC/B;MACF,CAAC,CAAC;MACFL,QAAQ,GAAG,CAAC;IACd;EACF,CAAC;AACH,CAAC,EAAE,CAAC;;AAEJ;;AAEA,MAAMsB,gBAAgB,GAAG,GAAG;AAO5B,OAAO,MAAMC,uBAAuB,GAAGA,CACrCC,MAA6B,EAC7BC,OAA0B,GAAG7B,oBAAoB,CAAC,CAAC,KACf;EACpC,MAAM8B,OAAO,GAAGF,MAAM,EAAEE,OAAO,IAAIJ,gBAAgB;EACnD,MAAMK,QAAQ,GAAGhC,8BAA8B,CAAkB;IAC/DiC,OAAO,EAAEH,OAAO,CAACI,UAAU;IAC3BC,UAAU,EAAEL,OAAO,CAACM,cAAc,CAACC,gBAAgB,CAAC,cAAc,CAAC;IACnEC,UAAU,EAAE;EACd,CAAC,CAAC;EACF,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,WAAgC,GAAG,IAAI;EAE3C,OAAO;IACLC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,SAAS;IAChBC,aAAa,EAAE5C,aAAa;IAC5B6C,KAAK,EAAEA,CAAA,KAAM;MACX,IAAIL,WAAW,EAAE;QACf;MACF;MAEAC,WAAW,GAAGrC,cAAc,CAACa,KAAK,CAAE6B,KAAK,IAAK;QAC5Cb,QAAQ,CAACc,IAAI,CAAC;UAAE,GAAGD,KAAK;UAAExB,EAAE,EAAEW,QAAQ,CAACe,MAAM,CAAC;QAAE,CAAC,EAAEhB,OAAO,CAAC;MAC7D,CAAC,CAAC;MACFQ,WAAW,GAAG,IAAI;IACpB,CAAC;IACDS,WAAW,EAAEA,CAAA,KAAMhB,QAAQ,CAACiB,OAAO,CAAC,CAAC;IACrCC,KAAK,EAAEA,CAAA,KAAM;MAAElB,QAAQ,CAACmB,cAAc,CAAC,CAAC;IAAE,CAAC;IAC3CC,OAAO,EAAEA,CAAA,KAAM;MACb,IAAI,CAACb,WAAW,EAAE;QAChB;MACF;MAEAC,WAAW,GAAG,CAAC;MACfA,WAAW,GAAG,IAAI;MAClBR,QAAQ,CAACqB,OAAO,CAAC,CAAC;MAClBd,WAAW,GAAG,KAAK;IACrB,CAAC;IACDe,SAAS,EAAGC,QAAQ,IAAKvB,QAAQ,CAACsB,SAAS,CAACC,QAAQ;EACtD,CAAC;AACH,CAAC;;AAED;AACA,OAAO,SAASC,uBAAuBA,CAAA,EAAS;EAC9CrD,cAAc,CAACuB,KAAK,CAAC,CAAC;AACxB","ignoreList":[]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { ScrollView, StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import { CopyButton } from '../../ui/shared/CopyButton';
|
|
6
|
+
import { LogListScreen } from '../../ui/shared/LogListScreen';
|
|
7
|
+
import { Colors } from '../../ui/theme/colors';
|
|
8
|
+
import { fmt } from '../../utils/copyToComputer';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
|
+
const LEVEL_COLORS = {
|
|
11
|
+
trace: '#8E8E93',
|
|
12
|
+
debug: '#8E8E93',
|
|
13
|
+
info: '#007AFF',
|
|
14
|
+
warn: '#FF9500',
|
|
15
|
+
error: '#FF3B30',
|
|
16
|
+
fatal: '#AF52DE',
|
|
17
|
+
unknown: '#8E8E93'
|
|
18
|
+
};
|
|
19
|
+
export const NativeLogTab = /*#__PURE__*/React.memo(({
|
|
20
|
+
snapshot
|
|
21
|
+
}) => /*#__PURE__*/_jsx(LogListScreen, {
|
|
22
|
+
data: snapshot,
|
|
23
|
+
emptyText: "No native logs",
|
|
24
|
+
renderRow: item => /*#__PURE__*/_jsxs(View, {
|
|
25
|
+
style: s.row,
|
|
26
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
27
|
+
style: [s.level, {
|
|
28
|
+
backgroundColor: LEVEL_COLORS[item.level] ?? LEVEL_COLORS.unknown
|
|
29
|
+
}],
|
|
30
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
31
|
+
style: s.levelText,
|
|
32
|
+
children: item.level.slice(0, 1).toUpperCase()
|
|
33
|
+
})
|
|
34
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
35
|
+
style: s.content,
|
|
36
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
37
|
+
style: s.message,
|
|
38
|
+
numberOfLines: 2,
|
|
39
|
+
children: item.message
|
|
40
|
+
}), /*#__PURE__*/_jsxs(Text, {
|
|
41
|
+
style: s.meta,
|
|
42
|
+
children: [[item.platform, item.source, item.tag].filter(Boolean).join(' / '), " \xB7 ", new Date(item.timestamp).toLocaleTimeString()]
|
|
43
|
+
})]
|
|
44
|
+
})]
|
|
45
|
+
}),
|
|
46
|
+
renderDetailHeader: item => /*#__PURE__*/_jsxs(_Fragment, {
|
|
47
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
48
|
+
style: [s.badge, {
|
|
49
|
+
backgroundColor: LEVEL_COLORS[item.level] ?? LEVEL_COLORS.unknown
|
|
50
|
+
}],
|
|
51
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
52
|
+
style: s.badgeText,
|
|
53
|
+
children: item.level.toUpperCase()
|
|
54
|
+
})
|
|
55
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
56
|
+
style: s.detailTime,
|
|
57
|
+
children: new Date(item.timestamp).toLocaleString()
|
|
58
|
+
})]
|
|
59
|
+
}),
|
|
60
|
+
renderDetailBody: item => /*#__PURE__*/_jsxs(ScrollView, {
|
|
61
|
+
style: s.detailBody,
|
|
62
|
+
contentContainerStyle: s.detailContent,
|
|
63
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
64
|
+
style: s.copyRow,
|
|
65
|
+
children: /*#__PURE__*/_jsx(CopyButton, {
|
|
66
|
+
text: fmt(item),
|
|
67
|
+
label: "Native Log"
|
|
68
|
+
})
|
|
69
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
70
|
+
style: s.messageBlock,
|
|
71
|
+
selectable: true,
|
|
72
|
+
children: item.message
|
|
73
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
74
|
+
style: s.rawBlock,
|
|
75
|
+
selectable: true,
|
|
76
|
+
children: fmt(item)
|
|
77
|
+
})]
|
|
78
|
+
})
|
|
79
|
+
}));
|
|
80
|
+
const s = StyleSheet.create({
|
|
81
|
+
row: {
|
|
82
|
+
flexDirection: 'row',
|
|
83
|
+
padding: 14,
|
|
84
|
+
alignItems: 'flex-start'
|
|
85
|
+
},
|
|
86
|
+
level: {
|
|
87
|
+
width: 24,
|
|
88
|
+
height: 24,
|
|
89
|
+
borderRadius: 12,
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
marginRight: 12
|
|
93
|
+
},
|
|
94
|
+
levelText: {
|
|
95
|
+
color: '#FFF',
|
|
96
|
+
fontSize: 11,
|
|
97
|
+
fontWeight: '700'
|
|
98
|
+
},
|
|
99
|
+
content: {
|
|
100
|
+
flex: 1
|
|
101
|
+
},
|
|
102
|
+
message: {
|
|
103
|
+
fontSize: 14,
|
|
104
|
+
color: Colors.text,
|
|
105
|
+
lineHeight: 20
|
|
106
|
+
},
|
|
107
|
+
meta: {
|
|
108
|
+
fontSize: 12,
|
|
109
|
+
color: Colors.textSecondary,
|
|
110
|
+
marginTop: 4
|
|
111
|
+
},
|
|
112
|
+
badge: {
|
|
113
|
+
paddingHorizontal: 10,
|
|
114
|
+
paddingVertical: 4,
|
|
115
|
+
borderRadius: 6
|
|
116
|
+
},
|
|
117
|
+
badgeText: {
|
|
118
|
+
color: '#FFF',
|
|
119
|
+
fontSize: 12,
|
|
120
|
+
fontWeight: '700'
|
|
121
|
+
},
|
|
122
|
+
detailTime: {
|
|
123
|
+
flex: 1,
|
|
124
|
+
fontSize: 13,
|
|
125
|
+
color: Colors.textSecondary,
|
|
126
|
+
textAlign: 'right'
|
|
127
|
+
},
|
|
128
|
+
detailBody: {
|
|
129
|
+
flex: 1
|
|
130
|
+
},
|
|
131
|
+
detailContent: {
|
|
132
|
+
padding: 12,
|
|
133
|
+
gap: 12
|
|
134
|
+
},
|
|
135
|
+
copyRow: {
|
|
136
|
+
alignItems: 'flex-end'
|
|
137
|
+
},
|
|
138
|
+
messageBlock: {
|
|
139
|
+
fontFamily: 'Courier',
|
|
140
|
+
fontSize: 13,
|
|
141
|
+
color: Colors.text,
|
|
142
|
+
lineHeight: 20
|
|
143
|
+
},
|
|
144
|
+
rawBlock: {
|
|
145
|
+
fontFamily: 'Courier',
|
|
146
|
+
fontSize: 12,
|
|
147
|
+
color: Colors.textSecondary,
|
|
148
|
+
lineHeight: 18
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
//# sourceMappingURL=NativeLogTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ScrollView","StyleSheet","Text","View","CopyButton","LogListScreen","Colors","fmt","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","LEVEL_COLORS","trace","debug","info","warn","error","fatal","unknown","NativeLogTab","memo","snapshot","data","emptyText","renderRow","item","style","s","row","children","level","backgroundColor","levelText","slice","toUpperCase","content","message","numberOfLines","meta","platform","source","tag","filter","Boolean","join","Date","timestamp","toLocaleTimeString","renderDetailHeader","badge","badgeText","detailTime","toLocaleString","renderDetailBody","detailBody","contentContainerStyle","detailContent","copyRow","text","label","messageBlock","selectable","rawBlock","create","flexDirection","padding","alignItems","width","height","borderRadius","justifyContent","marginRight","color","fontSize","fontWeight","flex","lineHeight","textSecondary","marginTop","paddingHorizontal","paddingVertical","textAlign","gap","fontFamily"],"sourceRoot":"../../../../src","sources":["features/nativeLogs/NativeLogTab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeLogTab } from './NativeLogTab';
|
|
4
|
+
import { createPersistedObservableStore } from '../../utils/createPersistedObservableStore';
|
|
5
|
+
import { getDefaultLogRuntime } from '../../utils/logRuntime';
|
|
6
|
+
import { drainNativeLogs, startNativeLogCapture, stopNativeLogCapture } from './nativeLogsBridge';
|
|
7
|
+
const DEFAULT_MAX_LOGS = 200;
|
|
8
|
+
const DEFAULT_MAX_PERSIST = 50;
|
|
9
|
+
const DEFAULT_POLL_INTERVAL_MS = 500;
|
|
10
|
+
const DEFAULT_DRAIN_LIMIT = 100;
|
|
11
|
+
const LEVEL_RANK = {
|
|
12
|
+
trace: 0,
|
|
13
|
+
debug: 1,
|
|
14
|
+
info: 2,
|
|
15
|
+
warn: 3,
|
|
16
|
+
error: 4,
|
|
17
|
+
fatal: 5,
|
|
18
|
+
unknown: 0
|
|
19
|
+
};
|
|
20
|
+
function matchesPattern(value, patterns) {
|
|
21
|
+
if (!value || !patterns?.length) return false;
|
|
22
|
+
return patterns.some(p => p instanceof RegExp ? p.test(value) : value.includes(p));
|
|
23
|
+
}
|
|
24
|
+
function shouldKeepEntry(entry, config) {
|
|
25
|
+
if (config?.minLevel && LEVEL_RANK[entry.level] < LEVEL_RANK[config.minLevel]) return false;
|
|
26
|
+
if (config?.includeTags?.length && !matchesPattern(entry.tag, config.includeTags)) return false;
|
|
27
|
+
if (matchesPattern(entry.tag, config?.excludeTags)) return false;
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
export const createNativeLogsFeature = (config, runtime = getDefaultLogRuntime()) => {
|
|
31
|
+
const maxLogs = config?.maxLogs ?? DEFAULT_MAX_LOGS;
|
|
32
|
+
const pollIntervalMs = Math.max(100, Math.floor(config?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS));
|
|
33
|
+
const logStore = createPersistedObservableStore({
|
|
34
|
+
storage: runtime.logStorage,
|
|
35
|
+
storageKey: runtime.sessionManager.getLogStorageKey('native_logs'),
|
|
36
|
+
maxPersist: DEFAULT_MAX_PERSIST
|
|
37
|
+
});
|
|
38
|
+
let initialized = false;
|
|
39
|
+
let timer = null;
|
|
40
|
+
let draining = false;
|
|
41
|
+
async function drainOnce() {
|
|
42
|
+
if (draining) return;
|
|
43
|
+
draining = true;
|
|
44
|
+
try {
|
|
45
|
+
const entries = await drainNativeLogs(DEFAULT_DRAIN_LIMIT);
|
|
46
|
+
entries.filter(e => shouldKeepEntry(e, config)).forEach(entry => {
|
|
47
|
+
logStore.push({
|
|
48
|
+
...entry,
|
|
49
|
+
id: logStore.nextId()
|
|
50
|
+
}, maxLogs);
|
|
51
|
+
});
|
|
52
|
+
} finally {
|
|
53
|
+
draining = false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
name: 'native',
|
|
58
|
+
label: 'Native',
|
|
59
|
+
renderContent: NativeLogTab,
|
|
60
|
+
setup: () => {
|
|
61
|
+
if (initialized) return;
|
|
62
|
+
initialized = true;
|
|
63
|
+
startNativeLogCapture({
|
|
64
|
+
minLevel: config?.minLevel,
|
|
65
|
+
includeTags: config?.includeTags?.filter(p => typeof p === 'string'),
|
|
66
|
+
excludeTags: config?.excludeTags?.filter(p => typeof p === 'string')
|
|
67
|
+
}).catch(() => {});
|
|
68
|
+
timer = setInterval(() => {
|
|
69
|
+
drainOnce().catch(() => {});
|
|
70
|
+
}, pollIntervalMs);
|
|
71
|
+
},
|
|
72
|
+
getSnapshot: () => logStore.getData(),
|
|
73
|
+
clear: () => {
|
|
74
|
+
logStore.clearPersisted();
|
|
75
|
+
},
|
|
76
|
+
cleanup: () => {
|
|
77
|
+
if (!initialized) return;
|
|
78
|
+
if (timer) clearInterval(timer);
|
|
79
|
+
timer = null;
|
|
80
|
+
stopNativeLogCapture().catch(() => {});
|
|
81
|
+
logStore.dispose();
|
|
82
|
+
initialized = false;
|
|
83
|
+
draining = false;
|
|
84
|
+
},
|
|
85
|
+
subscribe: listener => logStore.subscribe(listener)
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export function _resetNativeLogsForTesting() {
|
|
89
|
+
stopNativeLogCapture().catch(() => {});
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeLogTab","createPersistedObservableStore","getDefaultLogRuntime","drainNativeLogs","startNativeLogCapture","stopNativeLogCapture","DEFAULT_MAX_LOGS","DEFAULT_MAX_PERSIST","DEFAULT_POLL_INTERVAL_MS","DEFAULT_DRAIN_LIMIT","LEVEL_RANK","trace","debug","info","warn","error","fatal","unknown","matchesPattern","value","patterns","length","some","p","RegExp","test","includes","shouldKeepEntry","entry","config","minLevel","level","includeTags","tag","excludeTags","createNativeLogsFeature","runtime","maxLogs","pollIntervalMs","Math","max","floor","logStore","storage","logStorage","storageKey","sessionManager","getLogStorageKey","maxPersist","initialized","timer","draining","drainOnce","entries","filter","e","forEach","push","id","nextId","name","label","renderContent","setup","catch","setInterval","getSnapshot","getData","clear","clearPersisted","cleanup","clearInterval","dispose","subscribe","listener","_resetNativeLogsForTesting"],"sourceRoot":"../../../../src","sources":["features/nativeLogs/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeModules } from 'react-native';
|
|
4
|
+
function getNativeModule() {
|
|
5
|
+
const mod = NativeModules.DebugToolkitNativeLogs;
|
|
6
|
+
if (!mod || typeof mod.drainLogs !== 'function') return null;
|
|
7
|
+
return mod;
|
|
8
|
+
}
|
|
9
|
+
export function isNativeLogsAvailable() {
|
|
10
|
+
return getNativeModule() !== null;
|
|
11
|
+
}
|
|
12
|
+
export async function startNativeLogCapture(options) {
|
|
13
|
+
const mod = getNativeModule();
|
|
14
|
+
if (!mod?.startCapture) return false;
|
|
15
|
+
try {
|
|
16
|
+
const r = await mod.startCapture(options ?? {});
|
|
17
|
+
return r?.ok === true;
|
|
18
|
+
} catch {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export async function stopNativeLogCapture() {
|
|
23
|
+
const mod = getNativeModule();
|
|
24
|
+
if (!mod?.stopCapture) return false;
|
|
25
|
+
try {
|
|
26
|
+
const r = await mod.stopCapture();
|
|
27
|
+
return r?.ok === true;
|
|
28
|
+
} catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export async function drainNativeLogs(max = 100) {
|
|
33
|
+
const mod = getNativeModule();
|
|
34
|
+
if (!mod?.drainLogs) return [];
|
|
35
|
+
try {
|
|
36
|
+
const entries = await mod.drainLogs(Math.max(1, Math.floor(max)));
|
|
37
|
+
return Array.isArray(entries) ? entries : [];
|
|
38
|
+
} catch {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export async function getNativeLogsStatus() {
|
|
43
|
+
const mod = getNativeModule();
|
|
44
|
+
if (!mod?.getStatus) return {
|
|
45
|
+
available: false,
|
|
46
|
+
capturing: false
|
|
47
|
+
};
|
|
48
|
+
try {
|
|
49
|
+
const s = await mod.getStatus();
|
|
50
|
+
return {
|
|
51
|
+
available: s?.available === true,
|
|
52
|
+
capturing: s?.capturing === true,
|
|
53
|
+
error: typeof s?.error === 'string' ? s.error : undefined
|
|
54
|
+
};
|
|
55
|
+
} catch (error) {
|
|
56
|
+
return {
|
|
57
|
+
available: true,
|
|
58
|
+
capturing: false,
|
|
59
|
+
error: error instanceof Error ? error.message : String(error)
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=nativeLogsBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","getNativeModule","mod","DebugToolkitNativeLogs","drainLogs","isNativeLogsAvailable","startNativeLogCapture","options","startCapture","r","ok","stopNativeLogCapture","stopCapture","drainNativeLogs","max","entries","Math","floor","Array","isArray","getNativeLogsStatus","getStatus","available","capturing","s","error","undefined","Error","message","String"],"sourceRoot":"../../../../src","sources":["features/nativeLogs/nativeLogsBridge.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAU5C,SAASC,eAAeA,CAAA,EAA4B;EAClD,MAAMC,GAAG,GAAGF,aAAa,CAACG,sBAAsD;EAChF,IAAI,CAACD,GAAG,IAAI,OAAOA,GAAG,CAACE,SAAS,KAAK,UAAU,EAAE,OAAO,IAAI;EAC5D,OAAOF,GAAG;AACZ;AAEA,OAAO,SAASG,qBAAqBA,CAAA,EAAY;EAC/C,OAAOJ,eAAe,CAAC,CAAC,KAAK,IAAI;AACnC;AAEA,OAAO,eAAeK,qBAAqBA,CAACC,OAAiC,EAAoB;EAC/F,MAAML,GAAG,GAAGD,eAAe,CAAC,CAAC;EAC7B,IAAI,CAACC,GAAG,EAAEM,YAAY,EAAE,OAAO,KAAK;EACpC,IAAI;IAAE,MAAMC,CAAC,GAAG,MAAMP,GAAG,CAACM,YAAY,CAACD,OAAO,IAAI,CAAC,CAAC,CAAC;IAAE,OAAOE,CAAC,EAAEC,EAAE,KAAK,IAAI;EAAE,CAAC,CAC/E,MAAM;IAAE,OAAO,KAAK;EAAE;AACxB;AAEA,OAAO,eAAeC,oBAAoBA,CAAA,EAAqB;EAC7D,MAAMT,GAAG,GAAGD,eAAe,CAAC,CAAC;EAC7B,IAAI,CAACC,GAAG,EAAEU,WAAW,EAAE,OAAO,KAAK;EACnC,IAAI;IAAE,MAAMH,CAAC,GAAG,MAAMP,GAAG,CAACU,WAAW,CAAC,CAAC;IAAE,OAAOH,CAAC,EAAEC,EAAE,KAAK,IAAI;EAAE,CAAC,CACjE,MAAM;IAAE,OAAO,KAAK;EAAE;AACxB;AAEA,OAAO,eAAeG,eAAeA,CAACC,GAAG,GAAG,GAAG,EAA8C;EAC3F,MAAMZ,GAAG,GAAGD,eAAe,CAAC,CAAC;EAC7B,IAAI,CAACC,GAAG,EAAEE,SAAS,EAAE,OAAO,EAAE;EAC9B,IAAI;IAAE,MAAMW,OAAO,GAAG,MAAMb,GAAG,CAACE,SAAS,CAACY,IAAI,CAACF,GAAG,CAAC,CAAC,EAAEE,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC,CAAC,CAAC;IAAE,OAAOI,KAAK,CAACC,OAAO,CAACJ,OAAO,CAAC,GAAGA,OAAO,GAAG,EAAE;EAAE,CAAC,CACxH,MAAM;IAAE,OAAO,EAAE;EAAE;AACrB;AAEA,OAAO,eAAeK,mBAAmBA,CAAA,EAAwE;EAC/G,MAAMlB,GAAG,GAAGD,eAAe,CAAC,CAAC;EAC7B,IAAI,CAACC,GAAG,EAAEmB,SAAS,EAAE,OAAO;IAAEC,SAAS,EAAE,KAAK;IAAEC,SAAS,EAAE;EAAM,CAAC;EAClE,IAAI;IACF,MAAMC,CAAC,GAAG,MAAMtB,GAAG,CAACmB,SAAS,CAAC,CAAC;IAC/B,OAAO;MAAEC,SAAS,EAAEE,CAAC,EAAEF,SAAS,KAAK,IAAI;MAAEC,SAAS,EAAEC,CAAC,EAAED,SAAS,KAAK,IAAI;MAAEE,KAAK,EAAE,OAAOD,CAAC,EAAEC,KAAK,KAAK,QAAQ,GAAGD,CAAC,CAACC,KAAK,GAAGC;IAAU,CAAC;EAC1I,CAAC,CAAC,OAAOD,KAAK,EAAE;IACd,OAAO;MAAEH,SAAS,EAAE,IAAI;MAAEC,SAAS,EAAE,KAAK;MAAEE,KAAK,EAAEA,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACG,OAAO,GAAGC,MAAM,CAACJ,KAAK;IAAE,CAAC;EAC7G;AACF","ignoreList":[]}
|