parse function

Future<Iban> parse(
  1. String ibanString
)

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;
}