pub(crate) use crate::adapters::report::projections::coupling::SdpViolationRow;
pub(crate) use crate::adapters::report::projections::srp::{
SrpModuleRow, SrpParamRow, SrpStructRow, StructuralRow,
};
pub struct CouplingView {
pub cycle_paths: Vec<Vec<String>>,
pub sdp_violations: Vec<SdpViolationRow>,
pub structural_rows: Vec<StructuralRow>,
}
pub struct CouplingTableView {
pub modules: Vec<ModuleRow>,
}
pub struct ModuleRow {
pub name: String,
pub afferent: usize,
pub efferent: usize,
pub instability: f64,
pub suppressed: bool,
pub warning: bool,
pub incoming: Vec<String>,
pub outgoing: Vec<String>,
}
pub struct DryView {
pub duplicate_groups: Vec<DryGroupRow>,
pub fragment_groups: Vec<DryGroupRow>,
pub dead_code: Vec<DeadCodeRow>,
pub boilerplate: Vec<BoilerplateRow>,
pub wildcards: Vec<WildcardRow>,
pub repeated_match_groups: Vec<DryGroupRow>,
}
pub(crate) use crate::adapters::report::projections::dry::{
BoilerplateRow, DeadCodeRow, DryGroupRow, ParticipantRow, WildcardRow,
};
pub struct SrpView {
pub struct_warnings: Vec<SrpStructRow>,
pub module_warnings: Vec<SrpModuleRow>,
pub param_warnings: Vec<SrpParamRow>,
pub structural_rows: Vec<StructuralRow>,
}
pub struct TqView {
pub warnings: Vec<TqRow>,
}
pub(crate) use crate::adapters::report::projections::tq::TqRow;
pub struct ArchitectureView {
pub findings: Vec<ArchitectureRow>,
}
pub struct ArchitectureRow {
pub file: String,
pub line: usize,
pub rule_id: String,
pub message: String,
}