Skip to main content

blast_radius/report/
mod.rs

1use anyhow::Result;
2
3use crate::cli::OutputFormat;
4use crate::graph::AnalysisResult;
5
6mod graph_formats;
7use graph_formats::{render_dot, render_mermaid};
8
9mod theme;
10
11mod tree;
12use tree::render_tree;
13
14pub fn render(format: &OutputFormat, result: &AnalysisResult, verbose: bool) -> Result<String> {
15    let rendered = match format {
16        OutputFormat::Tree => render_tree(result, verbose),
17        OutputFormat::Json => serde_json::to_string_pretty(result)?,
18        OutputFormat::Mermaid => render_mermaid(result),
19        OutputFormat::Dot => render_dot(result),
20    };
21
22    Ok(rendered)
23}