call method

BankInformation? call(
  1. String sheba
)

Implementation

BankInformation? call(String sheba) {
  if (!isShebaValid(sheba)) return null;
  final bankCode = RegExp(r'IR[0-9]{2}([0-9]{3})[0-9]{19}').firstMatch(sheba)?[1] ?? '';
  var bank = {for (var bank in _banksInfo) bank.code: bank}[bankCode];
  if (bank == null) return null;
  if (bank.isAccountNumberAvailable) {
    final data = bank.process!(sheba);
    bank.accountNumber = data.accountNumber;
    bank.formattedAccountNumber = data.formattedAccountNumber;
  }
  bank.process = null;
  return bank;
}