@zubenelakrab/gitstats
Version:
Powerful Git repository analyzer with comprehensive statistics and insights
27 lines • 701 B
JavaScript
import { writeFile } from 'node:fs/promises';
/**
* Custom replacer for JSON.stringify to handle Set objects
*/
function jsonReplacer(_key, value) {
if (value instanceof Set) {
return Array.from(value);
}
return value;
}
/**
* JSON output renderer
*/
export class JsonRenderer {
async render(report, config) {
const pretty = config.options?.pretty ?? true;
const indent = pretty ? 2 : 0;
return JSON.stringify(report, jsonReplacer, indent);
}
async save(content, path) {
await writeFile(path, content, 'utf-8');
}
}
export function createJsonRenderer() {
return new JsonRenderer();
}
//# sourceMappingURL=json-renderer.js.map