diff options
Diffstat (limited to 'librepology/src/packagefilters.rs')
-rw-r--r-- | librepology/src/packagefilters.rs | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/librepology/src/packagefilters.rs b/librepology/src/packagefilters.rs deleted file mode 100644 index d1293d4..0000000 --- a/librepology/src/packagefilters.rs +++ /dev/null @@ -1,81 +0,0 @@ -use filters::filter::Filter; - -use crate::v1::types::{Package, Repo, Name, Status, Version, License, Maintainer}; - - -#[derive(new, Debug)] -pub struct PackageRepoNameFilter(Repo); - -/// Filter implementation for PackageRepoNameFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageRepoNameFilter { - fn filter(&self, package: &Package) -> bool { - self.0 == *package.repo() - } -} - - -#[derive(new, Debug)] -pub struct PackageNameFilter(Name); - -/// Filter implementation for PackageNameFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageNameFilter { - fn filter(&self, package: &Package) -> bool { - self.0 == *package.name() - } -} - - -#[derive(new, Debug)] -pub struct PackageVersionFilter(Version); - -/// Filter implementation for PackageVersionFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageVersionFilter { - fn filter(&self, package: &Package) -> bool { - self.0 == *package.version() - } -} - - -#[derive(new, Debug)] -pub struct PackageStatusFilter(Status); - -/// Filter implementation for PackageStatusFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageStatusFilter { - fn filter(&self, package: &Package) -> bool { - package.status().map(|s| self.0 == *s).unwrap_or(false) - } -} - - -#[derive(new, Debug)] -pub struct PackageLicenseFilter(License); - -/// Filter implementation for PackageLicenseFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageLicenseFilter { - fn filter(&self, package: &Package) -> bool { - package.licenses().map(|lcs| lcs.iter().any(|l| self.0 == *l)).unwrap_or(false) - } -} - - -#[derive(new, Debug)] -pub struct PackageMaintainerFilter(Maintainer); - -/// Filter implementation for PackageMaintainerFilter -/// -/// filters based on _equality_! -impl Filter<Package> for PackageMaintainerFilter { - fn filter(&self, package: &Package) -> bool { - package.maintainers().map(|mts| mts.iter().any(|m| self.0 == *m)).unwrap_or(false) - } -} |