use super::safe_json;
use crate::apiusage::DepValue;
use crate::cli::Metric;
use crate::model::{Meta, Node};
use crate::parity::CrateRow;
pub fn render(
root: &Node,
meta: &Meta,
deps: &[DepValue],
crates: &[CrateRow],
metric: Metric,
) -> String {
let tmpl = include_str!("../../templates/report.html");
let css = include_str!("../../templates/treemap.css");
let js = include_str!("../../templates/treemap.js");
tmpl.replace("/*__CSS__*/", css)
.replace("/*__JS__*/", js)
.replace("__TREEMAP_META__", &safe_json(meta))
.replace("__TREEMAP_DEPS__", &safe_json(deps))
.replace("__TREEMAP_CRATES__", &safe_json(crates))
.replace("__TREEMAP_DATA__", &safe_json(root))
.replace("__TREEMAP_METRIC__", metric.field())
}