getBankFromSheba static method
Gets bank information from IBAN @param sheba The IBAN number @returns BankInfo? Bank information or null if invalid Example: PersianTools.getBankFromSheba("IR123456789012345678901234") => BankInfo(...)
Implementation
static BankInfo? getBankFromSheba(String sheba) {
if (!isShebaValid(sheba)) return null;
final String? bankCode = RegExp(r"IR[0-9]{2}([0-9]{3})").firstMatch(sheba)?[1];
final BankInfo? bank = _bankInfo[bankCode];
if (bank == null) return null;
if (bank.isAccountNumberAvailable && bank.process != null) {
final AccountNumberModel data = bank.process!(sheba);
return bank.copyWith(
accountNumber: data.accountNumber,
formattedAccountNumber: data.formattedAccountNumber,
);
}
return bank;
}