neural_shared/report/
mod.rs1use crate::Result;
4use serde::Serialize;
5
6pub mod json;
7pub mod markdown;
8
9pub use json::JsonReporter;
10pub use markdown::MarkdownReporter;
11
12pub trait Finding: Serialize {
14 fn kind(&self) -> String;
16 fn name(&self) -> String;
18 fn file(&self) -> String;
20 fn line(&self) -> usize;
22 fn column(&self) -> usize;
24 fn reason(&self) -> String;
26 fn confidence(&self) -> String;
28}
29
30pub trait Reporter<T: Finding> {
32 fn report(&self, findings: &[T]) -> Result<String>;
33}