pub struct ResolvedPackages { /* private fields */ }Expand description
Collection of resolved packages from a lock file.
Provides efficient lookup of resolved versions by package name.
§Examples
use deps_core::lockfile::{ResolvedPackages, ResolvedPackage, ResolvedSource};
let mut packages = ResolvedPackages::new();
packages.insert(ResolvedPackage {
name: "serde".into(),
version: "1.0.195".into(),
source: ResolvedSource::Registry {
url: "https://github.com/rust-lang/crates.io-index".into(),
checksum: "abc123".into(),
},
dependencies: vec!["serde_derive".into()],
});
assert_eq!(packages.get_version("serde"), Some("1.0.195"));
assert_eq!(packages.len(), 1);Implementations§
Source§impl ResolvedPackages
impl ResolvedPackages
Sourcepub fn insert(&mut self, package: ResolvedPackage)
pub fn insert(&mut self, package: ResolvedPackage)
Inserts a resolved package.
If a package with the same name already exists, it is replaced.
Sourcepub fn get(&self, name: &str) -> Option<&ResolvedPackage>
pub fn get(&self, name: &str) -> Option<&ResolvedPackage>
Gets a resolved package by name.
Returns None if the package is not in the lock file.
Sourcepub fn get_version(&self, name: &str) -> Option<&str>
pub fn get_version(&self, name: &str) -> Option<&str>
Gets the resolved version string for a package.
Returns None if the package is not in the lock file.
This is a convenience method equivalent to get(name).map(|p| p.version.as_str()).
Sourcepub fn iter(&self) -> impl Iterator<Item = (&String, &ResolvedPackage)>
pub fn iter(&self) -> impl Iterator<Item = (&String, &ResolvedPackage)>
Returns an iterator over package names and their resolved info.
Sourcepub fn into_map(self) -> HashMap<String, ResolvedPackage>
pub fn into_map(self) -> HashMap<String, ResolvedPackage>
Converts into a HashMap for easier integration.
Trait Implementations§
Source§impl Clone for ResolvedPackages
impl Clone for ResolvedPackages
Source§fn clone(&self) -> ResolvedPackages
fn clone(&self) -> ResolvedPackages
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ResolvedPackages
impl Debug for ResolvedPackages
Source§impl Default for ResolvedPackages
impl Default for ResolvedPackages
Source§fn default() -> ResolvedPackages
fn default() -> ResolvedPackages
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ResolvedPackages
impl RefUnwindSafe for ResolvedPackages
impl Send for ResolvedPackages
impl Sync for ResolvedPackages
impl Unpin for ResolvedPackages
impl UnwindSafe for ResolvedPackages
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