normalize_native_rules/
ratchet.rs1use normalize_output::OutputFormatter;
6use normalize_output::diagnostics::DiagnosticsReport;
7use serde::Serialize;
8use std::path::Path;
9
10#[derive(Debug, Serialize, schemars::JsonSchema)]
16pub struct RatchetRulesReport(pub DiagnosticsReport);
17
18impl OutputFormatter for RatchetRulesReport {
19 fn format_text(&self) -> String {
20 self.0.format_text()
21 }
22
23 fn format_pretty(&self) -> String {
24 self.0.format_pretty()
25 }
26}
27
28impl From<RatchetRulesReport> for DiagnosticsReport {
29 fn from(report: RatchetRulesReport) -> Self {
30 report.0
31 }
32}
33
34pub fn build_ratchet_report(root: &Path) -> RatchetRulesReport {
39 let factory: normalize_ratchet::MetricFactory = normalize_ratchet::default_metrics;
40 RatchetRulesReport(normalize_ratchet::service::build_ratchet_report(
41 root, &factory,
42 ))
43}