computeMrzCheckDigit function
Implementation
int computeMrzCheckDigit(String input) {
final weights = [7, 3, 1];
int sum = 0;
for (int i = 0; i < input.length; i++) {
final char = input[i];
int value;
if (RegExp(r'[0-9]').hasMatch(char)) {
value = int.parse(char);
} else if (RegExp(r'[A-Z]').hasMatch(char)) {
value = char.codeUnitAt(0) - 55;
} else if (char == '<') {
value = 0;
} else {
value = 0;
}
sum += value * weights[i % 3];
}
return sum % 10;
}