use crate::render_safety::{render_details_safe, Sink};
use crate::report::RunArtifacts;
use std::path::Path;
pub fn render_json(artifacts: &RunArtifacts) -> anyhow::Result<String> {
let v = serde_json::json!({
"run_id": artifacts.run_id,
"suite": artifacts.suite,
"results": artifacts.results,
});
let safe = render_details_safe(Sink::Json, &v, usize::MAX);
Ok(serde_json::to_string_pretty(&safe)?)
}
pub fn write_json(artifacts: &RunArtifacts, out: &Path) -> anyhow::Result<()> {
std::fs::write(out, render_json(artifacts)?)?;
Ok(())
}