Files
raven/retired/nest_lib_rs_old/package.rs
2026-02-15 09:36:04 -05:00

39 lines
848 B
Rust

use std::{collections::HashSet, hash::Hash};
use serde::{Deserialize, Serialize};
use crate::dependency::Dependency;
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)]
pub struct Package {
name: String,
version: semver::Version,
source: String,
checksum: String,
dependencies: HashSet<Dependency>,
}
impl Package {
pub fn name(&self) -> String {
self.name.clone()
}
}
impl Default for Package {
fn default() -> Self {
Self {
name: Default::default(),
version: semver::Version::new(0, 1, 0),
source: Default::default(),
checksum: Default::default(),
dependencies: Default::default(),
}
}
}
impl Hash for Package {
fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
self.name.hash(state);
}
}