any function
- List<
IValidator> validators
Passes the test if any of the Validators are valid, and fails if any are invalid
Implementation
IValidator any(List<IValidator> validators) => Validator<Result>(
(value) {
final collected = <Result>[];
for (var i = 0; i < validators.length; i++) {
final resOr = validators[i].validator(value);
if (resOr is Future<Result>) {
return _anyAsync(value, validators, collected, i, resOr);
}
final res = resOr;
collected.add(res);
if (res.isValid) return res;
}
return Result.invalid(
value,
expectations: collected.expand((r) => r.expectations).toList(),
);
},
);