pub struct Sbom {
pub metadata: Metadata,
pub components: IndexMap<ComponentId, Component>,
pub dependencies: BTreeMap<ComponentId, BTreeSet<ComponentId>>,
}Expand description
format-agnostic sbom representation.
Fields§
§metadata: Metadata§components: IndexMap<ComponentId, Component>§dependencies: BTreeMap<ComponentId, BTreeSet<ComponentId>>adjacency list: parent -> children
Implementations§
Source§impl Sbom
impl Sbom
pub fn normalize(&mut self)
pub fn roots(&self) -> Vec<ComponentId>
pub fn deps(&self, id: &ComponentId) -> Vec<ComponentId>
pub fn rdeps(&self, id: &ComponentId) -> Vec<ComponentId>
pub fn transitive_deps(&self, id: &ComponentId) -> BTreeSet<ComponentId>
pub fn ecosystems(&self) -> BTreeSet<String>
pub fn licenses(&self) -> BTreeSet<String>
pub fn missing_hashes(&self) -> Vec<ComponentId>
pub fn by_purl(&self, purl: &str) -> Option<&Component>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Sbom
impl<'de> Deserialize<'de> for Sbom
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Sbom
impl StructuralPartialEq for Sbom
Auto Trait Implementations§
impl Freeze for Sbom
impl RefUnwindSafe for Sbom
impl Send for Sbom
impl Sync for Sbom
impl Unpin for Sbom
impl UnwindSafe for Sbom
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.