diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2020-11-09 16:42:13 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2020-11-09 16:42:13 +0100 |
commit | 2801f5603771beb5af5d46f860b8b40b0ad85be3 (patch) | |
tree | 9421b70b9cdd99889014971ca3dd9d1a023d9f82 /src | |
parent | ed263cf341ce6cdd93bd75bdec74103b1091a6a2 (diff) |
Add filter generation helper: filter by version constraint
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/util/filters.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/util/filters.rs b/src/util/filters.rs index 143aaa9..613a600 100644 --- a/src/util/filters.rs +++ b/src/util/filters.rs @@ -5,6 +5,7 @@ use resiter::Map; use crate::package::Package; use crate::package::PackageName; +use crate::package::PackageVersionConstraint; use crate::package::ParseDependency; /// Helper function to build a package filter based on some flags and the package version @@ -100,6 +101,13 @@ pub fn build_package_filter_by_name(name: PackageName) -> impl filters::filter:: } +pub fn build_package_filter_by_version_constraint(constraint: PackageVersionConstraint) -> impl filters::filter::Filter<Package> { + move |p: &Package| { + trace!("Checking {:?} -> version matches {:?}", p, constraint); + constraint.matches(p.version()) + } +} + #[cfg(test)] mod tests { use super::*; |