browser-debugger-cli
Version:
DevTools telemetry in your terminal. For humans and agents. Direct WebSocket to Chrome's debugging port.
53 lines • 1.58 kB
JavaScript
import { VERSION } from '../../utils/version.js';
export class TelemetryStore {
networkRequests = [];
consoleMessages = [];
navigationEvents = [];
websocketConnections = [];
domData = null;
activeTelemetry = [];
getCurrentNavigationId = null;
sessionStartTime = Date.now();
targetInfo = null;
resetSessionStart() {
this.sessionStartTime = Date.now();
}
setTargetInfo(target) {
this.targetInfo = target;
}
setNavigationResolver(resolver) {
this.getCurrentNavigationId = resolver;
}
setDomData(data) {
this.domData = data;
}
buildOutput(partial = false) {
const duration = Date.now() - this.sessionStartTime;
const data = {};
if (this.networkRequests.length > 0) {
data.network = this.networkRequests;
}
if (this.consoleMessages.length > 0) {
data.console = this.consoleMessages;
}
if (this.domData) {
data.dom = this.domData;
}
if (this.websocketConnections.length > 0) {
data.websockets = this.websocketConnections;
}
return {
version: VERSION,
success: true,
timestamp: new Date(this.sessionStartTime).toISOString(),
duration,
target: {
url: this.targetInfo?.url ?? '',
title: this.targetInfo?.title ?? '',
},
data,
...(partial && { partial: true }),
};
}
}
//# sourceMappingURL=TelemetryStore.js.map