UNPKG

@snap/camera-kit

Version:
23 lines 837 B
const nameDelimiter = "_"; const dimensionDelimiter = "."; const delimiterRegex = new RegExp(`^${nameDelimiter}+|${nameDelimiter}+$`, "g"); export class Metric { constructor(name, dimensions = {}) { this.name = name; this.dimensions = dimensions; } child(constructor, name, dimensions = {}) { return new constructor(`${this.name}${nameDelimiter}${name}`, dimensions); } } export function joinMetricNames(names) { return names.join(nameDelimiter).replace(delimiterRegex, ""); } export function serializeMetricDimensions(dimensions) { if (Object.keys(dimensions).length === 0) return ""; return `${dimensionDelimiter}${Array.from(Object.entries(dimensions)) .map((d) => d.join(dimensionDelimiter)) .join(dimensionDelimiter)}`; } //# sourceMappingURL=Metric.js.map