UNPKG

@wavequery/conductor

Version:
37 lines 1.25 kB
export 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, ])); } } //# sourceMappingURL=eval-reporter-example.js.map