UNPKG

autotel

Version:
33 lines (31 loc) 975 B
//#region src/correlated-events.ts function sanitizeEventKey(input) { return input.replaceAll(/[^a-zA-Z0-9_.-]/g, "_"); } const 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 prefix = `autotel.event.${nextSequence(ctx)}.${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); } //#endregion Object.defineProperty(exports, 'emitCorrelatedEvent', { enumerable: true, get: function () { return emitCorrelatedEvent; } });