import { BankCartInterface, BanksInterface } from "../types";
export const formatCartNumber = (num: string | number) => {
return num?.toString().replace(/\B(?=(\d{4})+(?!\d))/g, ` `);
}
export let bankCarts: BankCartInterface[] | [] | any = []
const banks: BanksInterface[] | [] = [
{
name: "ansar",
name_farsi: "انصار",
icon: ,
iban_nbc: "063",
pan_iin: [
"627381"
]
},
{
name: "ayandeh",
name_farsi: "آینده",
icon: ,
iban_nbc: "062",
pan_iin: [
"636214"
]
},
{
name: "dey",
name_farsi: "دی",
icon: ,
iban_nbc: "066",
pan_iin: [
"502938"
]
},
{
name: "eghtesad_novin",
name_farsi: "اقتصاد نوین",
icon: ,
iban_nbc: "055",
pan_iin: [
"627412",
"627884"
]
},
{
name: "gardeshgari",
name_farsi: "گردشگری",
icon: ,
iban_nbc: "064",
pan_iin: [
"505416"
]
},
{
name: "ghavamin",
name_farsi: "قوامین",
icon: ,
iban_nbc: "052",
pan_iin: [
"639599"
]
},
{
name: "hekmat",
name_farsi: "حکمت",
icon: ,
iban_nbc: "065",
pan_iin: [
"636949"
]
},
{
name: "iran_zamin",
name_farsi: "ایرانزمین",
icon: ,
iban_nbc: "069",
pan_iin: [
"505785",
]
},
{
name: "karafarin",
name_farsi: "کارآفرین",
icon: ,
iban_nbc: "053",
pan_iin: [
"502910",
"627488"
]
},
{
name: "keshavarzi",
name_farsi: "کشاورزی",
icon: ,
iban_nbc: "016",
pan_iin: [
"603770",
"639217"
]
},
{
name: "khavar_mianeh",
name_farsi: "خاورمیانه",
icon:
,
iban_nbc: "078",
pan_iin: [
"505809"
]
},
{
name: "maskan",
name_farsi: "مسکن",
icon:
,
iban_nbc: "014",
pan_iin: [
"628023"
]
},
{
name: "mehr_iran",
name_farsi: "مهر ایران",
icon:
,
iban_nbc: "060",
pan_iin: [
"606373"
]
},
{
name: "melall",
name_farsi: "ملل",
icon:
,
iban_nbc: "075",
pan_iin: [
"606256"
]
},
{
name: "mellat",
name_farsi: "ملت",
icon:
,
iban_nbc: "012",
pan_iin: [
"610433",
"991975"
]
},
{
name: "melli",
name_farsi: "ملی",
icon:
,
iban_nbc: "017",
pan_iin: [
"603799",
"589905",
"170019"
]
},
{
name: "parsian",
name_farsi: "پارسیان",
icon:
,
iban_nbc: "054",
pan_iin: [
"622106",
"639194"
]
},
{
name: "pasargad",
name_farsi: "پاسارگاد",
icon:
,
iban_nbc: "057",
pan_iin: [
"502229",
"639347"
]
},
{
name: "postbank",
name_farsi: "پستبانک",
icon:
,
iban_nbc: "021",
pan_iin: [
"627760"
]
},
{
name: "refah",
name_farsi: "رفاه",
icon:
,
iban_nbc: "013",
pan_iin: [
"589463"
]
},
{
name: "resalat",
name_farsi: "رسالت",
icon:
,
iban_nbc: "070",
pan_iin: [
"504172"
]
},
{
name: "saderat",
name_farsi: "صادرات",
icon:
,
iban_nbc: "019",
pan_iin: [
"603769"
]
},
{
name: "saman",
name_farsi: "سامان",
icon:
,
iban_nbc: "056",
pan_iin: [
"621986"
]
},
{
name: "sanat_madan",
name_farsi: "صنعت و معدن",
icon:
,
iban_nbc: "011",
pan_iin: [
"627961"
]
},
{
name: "sarmayeh",
name_farsi: "سرمایه",
icon:
,
iban_nbc: "058",
pan_iin: [
"639607"
]
},
{
name: "sepah",
name_farsi: "سپه",
icon:
,
iban_nbc: "015",
pan_iin: [
"589210"
]
},
{
name: "shahr",
name_farsi: "شهر",
icon: ,
iban_nbc: "061",
pan_iin: [
"502806",
"504706"
]
},
{
name: "sina",
name_farsi: "سینا",
icon:
,
iban_nbc: "059",
pan_iin: [
"639346"
]
},
{
name: "tejarat",
name_farsi: "تجارت",
icon:
,
iban_nbc: "018",
pan_iin: [
"585983",
"627353"
]
},
{
name: "tosee_saderat",
name_farsi: "توسعه صادرات",
icon:
,
iban_nbc: "020",
pan_iin: [
"207177",
"627648"
]
},
{
name: "tosee_taavon",
name_farsi: "توسعه تعاون",
icon:
,
iban_nbc: "022",
pan_iin: [
"502908"
]
}
]
let cache: any = {};
export const findBankByPAN = (cardNumber: string | number) => {
cardNumber = String(cardNumber);
if (!/^[\d*]+$/.test(cardNumber) || cardNumber.length < 6) return {};
const iin: string = cardNumber.slice(0, 6);
if (cache[iin]) {
return cache[iin];
} else {
const bank: any = banks?.find((bank: any) => bank?.pan_iin.includes(iin))
if (!bank) return {};
cache[iin] = { ...bank };
return bank;
};
};