summaryrefslogtreecommitdiffstats
path: root/src/util/filters.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-11-09 16:42:13 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-11-09 16:42:13 +0100
commit2801f5603771beb5af5d46f860b8b40b0ad85be3 (patch)
tree9421b70b9cdd99889014971ca3dd9d1a023d9f82 /src/util/filters.rs
parented263cf341ce6cdd93bd75bdec74103b1091a6a2 (diff)
Add filter generation helper: filter by version constraint
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/util/filters.rs')
-rw-r--r--src/util/filters.rs8
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::*;