pub struct ResolvedPackages { /* private fields */ }Expand description
Collection of resolved packages from a lock file.
Supports multiple versions per package name, returning the highest semver version through public API methods.
§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, storing all versions per name.
Sourcepub fn get(&self, name: &str) -> Option<&ResolvedPackage>
pub fn get(&self, name: &str) -> Option<&ResolvedPackage>
Gets the resolved package with the highest semver version.
Sourcepub fn get_version(&self, name: &str) -> Option<&str>
pub fn get_version(&self, name: &str) -> Option<&str>
Gets the highest resolved version string for a package.
Sourcepub fn get_all(&self, name: &str) -> Option<&[ResolvedPackage]>
pub fn get_all(&self, name: &str) -> Option<&[ResolvedPackage]>
Returns all stored versions for a package.
Sourcepub fn iter(&self) -> impl Iterator<Item = (&String, &ResolvedPackage)>
pub fn iter(&self) -> impl Iterator<Item = (&String, &ResolvedPackage)>
Returns an iterator yielding the best version per unique package name.
Sourcepub fn into_map(self) -> HashMap<String, ResolvedPackage>
pub fn into_map(self) -> HashMap<String, ResolvedPackage>
Converts into a HashMap with the best version per package name.
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 UnsafeUnpin 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