UNPKG

autotel

Version:
33 lines (31 loc) 1.02 kB
'use strict'; // 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); } exports.emitCorrelatedEvent = emitCorrelatedEvent; //# sourceMappingURL=chunk-4P6ZOARG.cjs.map //# sourceMappingURL=chunk-4P6ZOARG.cjs.map