1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use crate::lock;
#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, serde::Serialize, serde::Deserialize)]
pub struct Package {
pub registry: String,
pub name: String,
pub version: String,
}
pub type DependenciesLocks = std::collections::BTreeMap<Package, Option<lock::Lock>>;
#[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize)]
pub struct PackageLocks {
pub primary_package: Option<Package>,
pub primary_package_lock: Option<lock::Lock>,
pub dependencies_locks: DependenciesLocks,
}
impl PackageLocks {
pub fn has_locks(&self) -> bool {
self.primary_package_lock.is_some() || !self.dependencies_locks.is_empty()
}
}