import { registerClearHandler } from './devtools.js'; let entries = []; function formatSize(bytes) { if (bytes === 0 || bytes === undefined) return '-'; if (bytes < 1024) return bytes + ' B'; if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB'; return (bytes / (1024 * 1024)).toFixed(1) + ' MB'; } function typeClass(initiatorType) { switch (initiatorType) { case 'script': return 'net-type-script'; case 'link': case 'css': return 'net-type-link'; case 'img': return 'net-type-img'; case 'fetch': return 'net-type-fetch'; case 'xmlhttprequest': return 'net-type-xmlhttprequest'; default: return 'net-type-other'; } } function truncateUrl(url) { try { const u = new URL(url); const path = u.pathname.split('/').pop() || u.pathname; return path + u.search; } catch { return url; } } function render() { const out = document.getElementById('network-output'); if (!entries.length) { out.innerHTML = '
| Name | Type | Size | Time |
|---|---|---|---|
| ${truncateUrl(e.name)} | ${e.initiatorType} | ${formatSize(e.transferSize)} | ${Math.round(e.duration)}ms |