expectPreserveValue function
- IValidator validator,
- Expectation expectation
Adds an expectation message while preserving the child's resulting value (useful for coercions where later constraints rely on the coerced type even on failure).
Implementation
IValidator expectPreserveValue(IValidator validator, Expectation expectation) {
return Validator((value) {
final innerResult = validator.validate(value);
if (innerResult.isValid) return Result.valid(innerResult.value);
return Result.invalid(innerResult.value, expectations: [
expectation.copyWith(
code: innerResult.firstExpectation.code,
value: innerResult.value,
)
]);
});
}