summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-05-31 13:33:54 +0200
committerDavid Lönnhager <david.l@mullvad.net>2024-06-10 16:55:40 +0200
commit5faf8a058065e1aeae8891c9317d336d47935692 (patch)
tree88af69458d37ce12a6d5071de87f3fe853074099
parent379cee24f1d2e8d58247f7ede257b3b6cc143b76 (diff)
downloadmullvadvpn-5faf8a058065e1aeae8891c9317d336d47935692.tar.xz
mullvadvpn-5faf8a058065e1aeae8891c9317d336d47935692.zip
Add Constraint::and_then
-rw-r--r--mullvad-types/src/constraints/constraint.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/mullvad-types/src/constraints/constraint.rs b/mullvad-types/src/constraints/constraint.rs
index eae5102638..2554a97d25 100644
--- a/mullvad-types/src/constraints/constraint.rs
+++ b/mullvad-types/src/constraints/constraint.rs
@@ -70,6 +70,13 @@ impl<T> Constraint<T> {
}
}
+ pub fn and_then<U, F: FnOnce(T) -> Constraint<U>>(self, f: F) -> Constraint<U> {
+ match self {
+ Constraint::Any => Constraint::Any,
+ Constraint::Only(value) => f(value),
+ }
+ }
+
pub const fn is_any(&self) -> bool {
match self {
Constraint::Any => true,