uv_resolver/
exclusions.rs1use uv_configuration::{Reinstall, Upgrade};
2use uv_normalize::PackageName;
3
4#[derive(Debug, Default, Clone)]
6pub struct Exclusions {
7 reinstall: Reinstall,
8 upgrade: Upgrade,
9}
10
11impl Exclusions {
12 pub fn new(reinstall: Reinstall, upgrade: Upgrade) -> Self {
13 Self { reinstall, upgrade }
14 }
15
16 pub fn reinstall(&self, package: &PackageName) -> bool {
17 self.reinstall.contains_package(package)
18 }
19
20 pub fn upgrade(&self, package: &PackageName) -> bool {
21 self.upgrade.contains(package)
22 }
23
24 pub fn contains(&self, package: &PackageName) -> bool {
25 self.reinstall(package) || self.upgrade(package)
26 }
27}