eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 738 B
JavaScript
const TRACEPARENT_PATTERN=/^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/iu;function formatTraceparent(e){if(!(e===void 0||!validId(e.traceId,32)||!validId(e.spanId,16)||!Number.isInteger(e.traceFlags)||e.traceFlags<0||e.traceFlags>255))return`00-${e.traceId.toLowerCase()}-${e.spanId.toLowerCase()}-${e.traceFlags.toString(16).padStart(2,`0`)}`}function parseTraceparent(e){if(e===null)return;let t=TRACEPARENT_PATTERN.exec(e.trim());if(t===null)return;let n=t[1].toLowerCase(),r=t[2].toLowerCase();if(validId(n,32)&&validId(r,16))return{isRemote:!0,spanId:r,traceFlags:Number.parseInt(t[3],16),traceId:n}}function validId(e,t){return e.length===t&&/^[0-9a-f]+$/iu.test(e)&&!/^0+$/u.test(e)}export{formatTraceparent,parseTraceparent};