import { BaseReportGenerator, TestReport, ReportGeneratorOptions, } from './base-report-generator'; export class JSONReportGenerator extends BaseReportGenerator { constructor(options: ReportGeneratorOptions) { super(options); } getExtension(): string { return 'json'; } generate(report: TestReport): string { const json = JSON.stringify(report, null, 2); return this.writeToFile(json); } generateCompact(report: TestReport): string { const json = JSON.stringify(report); return this.writeToFile(json); } generateWithMetadata(report: TestReport, metadata: Record): string { const reportWithMetadata = { ...report, metadata, }; const json = JSON.stringify(reportWithMetadata, null, 2); return this.writeToFile(json); } }