1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Intermediate representation for normalized SBOMs.
//!
//! This module defines the canonical data structures used for format-agnostic
//! SBOM comparison. Both `CycloneDX` and SPDX formats are normalized to these
//! structures before diff operations.
//!
//! # Index Support
//!
//! For efficient TUI operations on large SBOMs, use [`NormalizedSbomIndex`]
//! to precompute lookups:
//!
//! ```ignore
//! let sbom = parse_sbom(&path)?;
//! let index = NormalizedSbomIndex::build(&sbom);
//!
//! // O(1) dependency lookup instead of O(edges)
//! let deps = index.dependencies_of(&component_id, &sbom.edges);
//! ```
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;