UNPKG

autotel

Version:
31 lines (30 loc) 982 B
// src/correlated-events.ts function sanitizeEventKey(input) { return input.replaceAll(/[^a-zA-Z0-9_.-]/g, "_"); } var sequenceByTarget = /* @__PURE__ */ new WeakMap(); function nextSequence(target) { const n = (sequenceByTarget.get(target) ?? 0) + 1; sequenceByTarget.set(target, n); return n; } function emitCorrelatedEvent(ctx, name, attrs = {}) { const eventName = sanitizeEventKey(name); if (typeof ctx.addEvent === "function") { ctx.addEvent.call(ctx, eventName, attrs); return; } const seq = nextSequence(ctx); const prefix = `autotel.event.${seq}.${eventName}`; const flattened = { [`${prefix}.name`]: eventName, [`${prefix}.ts`]: (/* @__PURE__ */ new Date()).toISOString() }; for (const [k, v] of Object.entries(attrs)) { flattened[`${prefix}.${sanitizeEventKey(k)}`] = v; } ctx.setAttributes(flattened); } export { emitCorrelatedEvent }; //# sourceMappingURL=chunk-KIL5CUN6.js.map //# sourceMappingURL=chunk-KIL5CUN6.js.map