pub mod formatter;
pub mod generator;
use crate::types::*;
use anyhow::Result;
use std::path::Path;
pub use formatter::ReportFormatter;
pub use generator::ReportGenerator;
pub fn generate_assault_report(
xray_report: XRayReport,
attack_results: Vec<AttackResult>,
) -> Result<AssaultReport> {
let generator = ReportGenerator::new();
generator.generate(xray_report, attack_results)
}
pub fn save_report<P: AsRef<Path>>(report: &AssaultReport, path: P) -> Result<()> {
let formatter = ReportFormatter::new();
formatter.save(report, path)
}
pub fn print_report(report: &AssaultReport) {
let formatter = ReportFormatter::new();
formatter.print(report);
}