use normalize_output::OutputFormatter;
use normalize_output::diagnostics::DiagnosticsReport;
use serde::Serialize;
use std::path::Path;
#[derive(Debug, Serialize, schemars::JsonSchema)]
pub struct RatchetRulesReport(pub DiagnosticsReport);
impl OutputFormatter for RatchetRulesReport {
fn format_text(&self) -> String {
self.0.format_text()
}
fn format_pretty(&self) -> String {
self.0.format_pretty()
}
}
impl From<RatchetRulesReport> for DiagnosticsReport {
fn from(report: RatchetRulesReport) -> Self {
report.0
}
}
pub fn build_ratchet_report(root: &Path) -> RatchetRulesReport {
let factory: normalize_ratchet::MetricFactory = normalize_ratchet::default_metrics;
RatchetRulesReport(normalize_ratchet::service::build_ratchet_report(
root, &factory,
))
}