vtex
Version:
The platform for e-commerce apps
45 lines (44 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetricReport = void 0;
const tslib_1 = require("tslib");
const pkg = tslib_1.__importStar(require("../../../package.json"));
const SessionManager_1 = require("../session/SessionManager");
const getPlatform_1 = require("../../lib/utils/getPlatform");
class MetricReport {
constructor({ metric, env }) {
this.metric = metric;
this.env = env;
}
static create(metric, env) {
if (env) {
return new MetricReport({ metric, env });
}
const { workspace, account } = SessionManager_1.SessionManager.getSingleton();
return new MetricReport({
metric,
env: {
account,
workspace,
toolbeltVersion: pkg.version,
nodeVersion: process.version,
platform: getPlatform_1.getPlatform(),
},
});
}
addMetric(metricName, value) {
this.metric[metricName] = value;
}
addMetrics(metrics) {
Object.entries(metrics).forEach(([metricName, metricValue]) => {
this.metric[metricName] = metricValue;
});
}
toObject() {
return {
metric: this.metric,
env: this.env,
};
}
}
exports.MetricReport = MetricReport;