toNum function

IValidator toNum(
  1. IValidator child, {
  2. String? message,
})

Coerces a value to a number (num).

Handles existing numbers (num) and strings that can be parsed as a number. Passes the resulting number to the child validator.

Implementation

IValidator toNum(IValidator child, {String? message}) {
  final base = ($isNumber | $isNumString) &
      core.transform(
        (value) => switch (value) {
          final num n => n,
          final String s => num.tryParse(s.trim()),
          _ => null,
        },
        child,
      );

  return handleReturnPreserveValue(base, message);
}