fob_graph/memory/
statistics.rs1use super::super::GraphStatistics;
4use super::graph::ModuleGraph;
5use crate::Result;
6
7impl ModuleGraph {
8 pub fn statistics(&self) -> Result<GraphStatistics> {
10 let unused = self.unused_exports()?;
11 let unreachable = self.unreachable_modules()?;
12 let all_modules = self.modules()?;
13 let side_effect_module_count = all_modules.iter().filter(|m| m.has_side_effects).count();
14 let external_dependency_count = self.external_dependencies()?.len();
15 let entry_points = self.entry_points()?;
16
17 Ok(GraphStatistics::new(
18 all_modules.len(),
19 entry_points.len(),
20 external_dependency_count,
21 side_effect_module_count,
22 unused.len(),
23 unreachable.len(),
24 ))
25 }
26}