validate method

  1. @override
ValidationResult<T, E> validate(
  1. T value
)
override

Validates value and returns a ValidationResult.

Returns Valid if the value passes validation, or Invalid/InvalidAll if it fails.

Implementation

@override
ValidationResult<T, E> validate(T value) {
  final firstResult = first.validate(value);
  switch (firstResult) {
    case Valid(:final value):
      return second.validate(value);
    case Invalid() || InvalidAll():
      return firstResult;
  }
}