validate method

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

Validates value and returns a ValidationResult.

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

Implementation

@override
ValidationResult<TIn, E> validate(TIn value) {
  final transformed = transform(value);
  if (transformed == null) {
    return Invalid(onNull);
  }
  final result = then.validate(transformed);
  return switch (result) {
    Valid() => Valid(value),
    Invalid(:final error) => Invalid(error),
    InvalidAll(:final errors) => InvalidAll(errors),
  };
}