luhnValid function
Whether the digit string passes the Luhn checksum.
Implementation
bool luhnValid(String digits) {
var sum = 0;
var doubled = false;
for (var i = digits.length - 1; i >= 0; i--) {
var d = digits.codeUnitAt(i) - 48;
if (doubled) {
d *= 2;
if (d > 9) d -= 9;
}
sum += d;
doubled = !doubled;
}
return sum % 10 == 0;
}