all function

Runs rules in order and returns the first error.

Implementation

FieldValidator all(Iterable<FieldValidator> rules) {
  final snapshot = List<FieldValidator>.unmodifiable(rules);
  return (value) {
    for (final rule in snapshot) {
      final error = rule(value);
      if (error != null) {
        return error;
      }
    }
    return null;
  };
}