listEach function

IEskValidator listEach(
  1. IEskValidator itemValidator
)

Returns a Validator that runs itemValidator for each item in the list

This validator also checks that the value is a list

Implementation

IEskValidator listEach(IEskValidator itemValidator) {
  return EskValidator((value) {
    if (value is! List) return EskResult.invalid('List', value);

    for (int index = 0; index < value.length; index++) {
      final item = value[index];
      final result = itemValidator.validate(item);

      if (result.isNotValid) {
        return EskResult.invalid('[$index] -> ${result.error}', item);
      }
    }

    return EskResult.valid(value);
  });
}