checkDigit static method
Implementation
static String checkDigit(String value) {
if (!RegExp(r'^[A-Z0-9<]+$').hasMatch(value)) {
throw const FormatException('Invalid MRZ characters');
}
var sum = 0;
for (var i = 0; i < value.length; i++) {
final c = value.codeUnitAt(i);
final n = c == 60
? 0
: c >= 48 && c <= 57
? c - 48
: c - 55;
sum += n * [7, 3, 1][i % 3];
}
return (sum % 10).toString();
}