decimalValues function
The values of input's characters from start to end (exclusive, the whole string when omitted),
ready for Digits.tryFrom.
Read straight off the code units, so a validated whole hands back a digits-only part without allocating
a substring. A non-digit gives -1, so Digits.tryFrom returns null rather than minting something
that lies.
Implementation
List<int> decimalValues(String input, [int start = 0, int? end]) => [
for (var index = start; index < (end ?? input.length); index++)
decimalValue(input.codeUnitAt(index)),
];