pub mod checklist;
pub mod explain;
pub mod json;
mod layer_name;
use std::io::Write;
use whyno_core::checks::CheckReport;
use whyno_core::fix::FixPlan;
use whyno_core::state::SystemState;
use crate::error::OutputError;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OutputMode {
Checklist,
Json,
Explain,
}
pub fn render(
report: &CheckReport,
plan: &FixPlan,
state: &SystemState,
mode: OutputMode,
writer: &mut dyn Write,
) -> Result<(), OutputError> {
match mode {
OutputMode::Checklist => checklist::render(report, plan, state, writer),
OutputMode::Json => json::render(report, plan, state, writer),
OutputMode::Explain => explain::render(report, plan, state, writer),
}
}