use uv_distribution_types::{Requirement, Resolution};
use uv_normalize::ExtraName;
use crate::HashStrategy;
#[derive(Debug, Clone)]
pub struct ResolvedRequirements {
resolution: Resolution,
hasher: HashStrategy,
}
impl ResolvedRequirements {
pub fn new(resolution: Resolution, hasher: HashStrategy) -> Self {
Self { resolution, hasher }
}
pub fn resolution(&self) -> &Resolution {
&self.resolution
}
pub fn hasher(&self) -> &HashStrategy {
&self.hasher
}
}
#[derive(Debug, Clone)]
pub struct RequestedRequirements {
extras: Box<[ExtraName]>,
requirements: Box<[Requirement]>,
direct: bool,
}
impl RequestedRequirements {
pub fn new(extras: Box<[ExtraName]>, requirements: Box<[Requirement]>, direct: bool) -> Self {
Self {
extras,
requirements,
direct,
}
}
pub fn extras(&self) -> &[ExtraName] {
&self.extras
}
pub fn requirements(&self) -> &[Requirement] {
&self.requirements
}
pub fn direct(&self) -> bool {
self.direct
}
}