applyConstraintsAndRefinements method

  1. @override
  2. @protected
SchemaResult<T> applyConstraintsAndRefinements(
  1. T value,
  2. SchemaContext context
)
override

Applies constraints and refinements to a runtime value.

Implementation

@override
@protected
SchemaResult<T> applyConstraintsAndRefinements(
  T value,
  SchemaContext context,
) {
  if (value is double && !value.isFinite) {
    final constraint = NumberFiniteConstraint<T>();
    final error = constraint.validate(value);

    return SchemaResult.fail(
      SchemaConstraintsError(
        constraints: error != null ? [error] : const [],
        context: context,
      ),
    );
  }

  return super.applyConstraintsAndRefinements(value, context);
}