parse function
Returns a Iban object
Throws ValueException
if an invalid ibanString
is provided
InvalidBbanException
if Basic Bank Account Number is invalid
InvalidCheckDigitException
if the check digit is invalid
UnexpectedConstantValue
if a constant value was not found
InvalidMod97Exception
if mod 97 validation result is invalid
var iban = parse('AO06005500009209313310152');
print(iban.country.name) // 'Angola';
Implementation
Future<Iban> parse(String ibanString) async {
var countryCode = ibanString.substring(0, 2);
var spec = await _getIbanSpec(countryCode);
validate(ibanString, spec!);
var account = Account(
_getField(spec.fields.accountNumber, ibanString),
_getField(spec.fields.accountType, ibanString),
_getField(spec.fields.accountHolder, ibanString),
_getField(spec.fields.currencyCode, ibanString),
_getField(spec.fields.balanceAccountNumber, ibanString));
var bankCode = _getField(spec.fields.bankCode, ibanString);
var country = Country(spec.countryCode, spec.countryName);
var bank = await _getBank(countryCode, bankCode);
var iban = Iban(spec.spacesAt, bank, country, account,
ibanString.substring(2, 4), ibanString.substring(4));
return iban;
}