UNPKG

autotel

Version:
34 lines (32 loc) 1.03 kB
//#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; } }); //# sourceMappingURL=correlated-events-kSwLo3mi.cjs.map