From e72f0a0af5600589333070612e93ed5be3d06f7e Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Fri, 24 Apr 2015 21:52:18 +0600 Subject: Add validate_any to Value_checker for testing if a value passes at least one test. --- src/value_checker.ml | 6 ++++++ src/value_checker.mli | 2 ++ 2 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/value_checker.ml b/src/value_checker.ml index ed7c5d1..245b769 100644 --- a/src/value_checker.ml +++ b/src/value_checker.ml @@ -16,3 +16,9 @@ let validate_value validators value_constraint value = | Unix.WEXITED 0 -> true | _ -> false with Not_found -> raise (Bad_validator t) + +let rec validate_any validators constraints value = + match constraints with + | [] -> false + | c :: cs -> if validate_value validators c value then true + else validate_any validators cs value diff --git a/src/value_checker.mli b/src/value_checker.mli index 96d8f3c..115ec9f 100644 --- a/src/value_checker.mli +++ b/src/value_checker.mli @@ -3,3 +3,5 @@ type value_constraint = Regex of string | External of string * string exception Bad_validator of string val validate_value : (string, string) Hashtbl.t -> value_constraint -> string -> bool + +val validate_any : (string, string) Hashtbl.t -> value_constraint list -> string -> bool -- cgit v1.2.3