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) {
  // Return cached result if input unchanged
  if (_hasValidated && _valuesEqual(_lastValue as T, value)) {
    return _lastResult!;
  }

  _lastValue = value;
  _lastResult = _inner.validate(value);
  _hasValidated = true;
  return _lastResult!;
}