checksum static method

bool checksum(
  1. String digits
)

Implementation

static bool checksum(String digits) {
  if (digits.isEmpty) return false;
  int sum = 0;
  for (int i = digits.length - 2; i >= 0; i -= 2) {
    final int digit = digits.codeUnitAt(i) - 48;
    if (digit < 0 || digit > 9) return false;
    sum += digit;
  }
  sum *= 3;
  for (int i = digits.length - 3; i >= 0; i -= 2) {
    final int digit = digits.codeUnitAt(i) - 48;
    if (digit < 0 || digit > 9) return false;
    sum += digit;
  }
  return (1000 - sum) % 10 == digits.codeUnitAt(digits.length - 1) - 48;
}