use crate::analysis::AnalysisResult;
use crate::cli::cli_error::CliResult;
use crate::cli::command_outcome::CommandOutcome;
use crate::output::reporter::Reporter;
pub struct StatsCommand<'a> {
result: &'a AnalysisResult,
reporter: &'a dyn Reporter,
}
impl<'a> StatsCommand<'a> {
#[must_use]
pub const fn new(result: &'a AnalysisResult, reporter: &'a dyn Reporter) -> Self {
Self { result, reporter }
}
pub fn run(&self) -> CliResult<CommandOutcome> {
let text = self.reporter.report_stats(&self.result.stats)?;
Ok(CommandOutcome::succeeded(text))
}
}