UNPKG

@wavequery/conductor

Version:
41 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SQLEvaluationReporter = void 0; class SQLEvaluationReporter { constructor(options) { this.options = options; } generateReport(results) { const summary = { totalTests: results.length, passedTests: results.filter((r) => !r.error).length, failedTests: results.filter((r) => r.error).length, averageMetrics: this.calculateAverageMetrics(results), }; return { summary, results, metadata: { timestamp: new Date(), duration: results.reduce((sum, r) => sum + r.duration, 0), options: this.options, }, }; } calculateAverageMetrics(results) { const metrics = {}; for (const result of results) { for (const [name, metric] of Object.entries(result.metrics)) { if (!metrics[name]) metrics[name] = []; metrics[name].push(metric.value); } } return Object.fromEntries(Object.entries(metrics).map(([name, values]) => [ name, values.reduce((sum, val) => sum + val, 0) / values.length, ])); } } exports.SQLEvaluationReporter = SQLEvaluationReporter; //# sourceMappingURL=eval-reporter-example.js.map