UNPKG

agentcrumbs

Version:
73 lines 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatCrumbPretty = formatCrumbPretty; exports.formatCrumbJson = formatCrumbJson; const node_util_1 = require("node:util"); const colors_js_1 = require("../colors.js"); function formatDelta(dt) { if (dt < 1000) return `+${Math.round(dt)}ms`; if (dt < 60000) return `+${(dt / 1000).toFixed(1)}s`; return `+${(dt / 60000).toFixed(1)}m`; } function formatData(data) { if (data === undefined || data === null) return ""; return (0, node_util_1.inspect)(data, { colors: true, compact: true, depth: 4, breakLength: Infinity }); } function formatCrumbPretty(crumb, options) { const color = (0, colors_js_1.getNamespaceColor)(crumb.ns); const ns = (0, colors_js_1.colorize)(crumb.ns.padEnd(20), color); const dt = (0, colors_js_1.dim)(formatDelta(crumb.dt)); const depth = crumb.depth ?? 0; const pad = " ".repeat(depth); let prefix = ns; if (options?.showApp && crumb.app) { prefix = `${(0, colors_js_1.dim)(crumb.app)} ${ns}`; } let line; switch (crumb.type) { case "scope:enter": line = `${prefix} ${pad}${(0, colors_js_1.bold)(`[${crumb.msg}]`)} ${(0, colors_js_1.dim)("->")} enter ${dt}`; break; case "scope:exit": line = `${prefix} ${pad}${(0, colors_js_1.bold)(`[${crumb.msg}]`)} ${(0, colors_js_1.dim)("<-")} exit ${dt}`; break; case "scope:error": line = `${prefix} ${pad}${(0, colors_js_1.bold)(`[${crumb.msg}]`)} ${(0, colors_js_1.dim)("!!")} error ${dt}`; break; case "snapshot": line = `${prefix} ${pad}${(0, colors_js_1.dim)("snapshot:")} ${crumb.msg} ${dt}`; break; case "assert": line = `${prefix} ${pad}${(0, colors_js_1.dim)("assert:")} ${crumb.msg} ${dt}`; break; case "time": line = `${prefix} ${pad}${(0, colors_js_1.dim)("time:")} ${crumb.msg} ${dt}`; break; case "session:start": line = `${prefix} ${pad}${(0, colors_js_1.bold)("session start:")} ${crumb.msg} ${(0, colors_js_1.dim)(`[${crumb.sid}]`)} ${dt}`; break; case "session:end": line = `${prefix} ${pad}${(0, colors_js_1.bold)("session end:")} ${crumb.msg} ${(0, colors_js_1.dim)(`[${crumb.sid}]`)} ${dt}`; break; default: line = `${prefix} ${pad}${crumb.msg} ${dt}`; } if (crumb.tags && crumb.tags.length > 0) { line += ` ${(0, colors_js_1.dim)(`[${crumb.tags.join(", ")}]`)}`; } if (crumb.sid) { line += ` ${(0, colors_js_1.dim)(`sid:${crumb.sid}`)}`; } const dataStr = formatData(crumb.data); if (dataStr) { line += ` ${dataStr}`; } return line; } function formatCrumbJson(crumb) { return JSON.stringify(crumb); } //# sourceMappingURL=format.js.map