1use crate::Version;
2
3#[derive(Debug, Eq, PartialEq)]
4pub struct Package {
5 pub name: String,
6 pub version: Version,
7}
8
9impl Package {
10 #[must_use]
11 pub fn new(name: impl Into<String>, version: impl Into<Version>) -> Self {
12 Self {
13 name: name.into(),
14 version: version.into(),
15 }
16 }
17}
18
19#[derive(Debug, Default, Eq, PartialEq)]
20pub struct PackageSnapshot {
21 pub packages: Vec<Package>,
22}
23
24impl PackageSnapshot {
25 #[must_use]
26 pub fn new(packages: impl Into<Vec<Package>>) -> Self {
27 Self {
28 packages: packages.into(),
29 }
30 }
31}