fob_graph/
statistics.rs

1use serde::{Deserialize, Serialize};
2
3/// Basic statistics about a `ModuleGraph` useful for dashboards or logging.
4#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq, Eq)]
5pub struct GraphStatistics {
6    pub module_count: usize,
7    pub entry_point_count: usize,
8    pub external_dependency_count: usize,
9    pub side_effect_module_count: usize,
10    pub unused_export_count: usize,
11    pub unreachable_module_count: usize,
12}
13
14impl GraphStatistics {
15    pub fn new(
16        module_count: usize,
17        entry_point_count: usize,
18        external_dependency_count: usize,
19        side_effect_module_count: usize,
20        unused_export_count: usize,
21        unreachable_module_count: usize,
22    ) -> Self {
23        Self {
24            module_count,
25            entry_point_count,
26            external_dependency_count,
27            side_effect_module_count,
28            unused_export_count,
29            unreachable_module_count,
30        }
31    }
32}