AccountNumber constructor

AccountNumber(
  1. String account
)

Implementation

AccountNumber(String account) {
  // Parse account/checksum if present, simply account otherwise
  if (account.contains('-')) {
    List<String> accountParts = account.split('-');
    this.account = int.parse(accountParts[0]);
    this.checksum = int.parse(accountParts[1]);
    int expectedChecksum = AccountNumber.calculateChecksum(this.account!);
    if (expectedChecksum != this.checksum) {
      throw Exception(
          'Invalid account checksum account: ${this.account}, expected: $expectedChecksum, actual: ${this.checksum}');
    }
  } else {
    this.account = int.parse(account);
    this.checksum = AccountNumber.calculateChecksum(this.account!);
  }
  calcBlockInfo();
}