import {latinDigits} from './auth-input';
export type IranianBank={code:string;name:string;logo:string|null;prefixes:string[]};
// Issuer identification only. Ownership is verified separately by Shabanic.
export const iranianBanks: IranianBank[]=[
  {
    "code": "010",
    "name": "بانک مرکزی جمهوری اسلامی ایران",
    "prefixes": [
      "636795"
    ],
    "logo": "/banks/centeral.svg"
  },
  {
    "code": "011",
    "name": "بانک صنعت و معدن",
    "prefixes": [
      "627961"
    ],
    "logo": "/banks/sanatmadan.svg"
  },
  {
    "code": "012",
    "name": "بانک ملت",
    "prefixes": [
      "610433",
      "991975"
    ],
    "logo": "/banks/mellat.svg"
  },
  {
    "code": "013",
    "name": "بانک رفاه کارگران",
    "prefixes": [
      "589463"
    ],
    "logo": "/banks/refahkargaran.svg"
  },
  {
    "code": "014",
    "name": "بانک مسکن",
    "prefixes": [
      "628023"
    ],
    "logo": "/banks/maskan.svg"
  },
  {
    "code": "015",
    "name": "بانک سپه",
    "prefixes": [
      "589210"
    ],
    "logo": "/banks/sepah.svg"
  },
  {
    "code": "016",
    "name": "بانک کشاورزی",
    "prefixes": [
      "603770",
      "639217"
    ],
    "logo": "/banks/keshavarzi.svg"
  },
  {
    "code": "017",
    "name": "بانک ملی ایران",
    "prefixes": [
      "603799"
    ],
    "logo": "/banks/melli.svg"
  },
  {
    "code": "018",
    "name": "بانک تجارت",
    "prefixes": [
      "627353",
      "585983"
    ],
    "logo": "/banks/tejarat.svg"
  },
  {
    "code": "019",
    "name": "بانک صادرات ایران",
    "prefixes": [
      "603769"
    ],
    "logo": "/banks/saderat.svg"
  },
  {
    "code": "020",
    "name": "بانک توسعه صادرات",
    "prefixes": [
      "627648",
      "207177"
    ],
    "logo": "/banks/tosesaderat.svg"
  },
  {
    "code": "021",
    "name": "پست بانک ایران",
    "prefixes": [
      "627760"
    ],
    "logo": "/banks/post.svg"
  },
  {
    "code": "022",
    "name": "بانک توسعه تعاون",
    "prefixes": [
      "502908"
    ],
    "logo": "/banks/tosetaavon.svg"
  },
  {
    "code": "051",
    "name": "موسسه اعتباری توسعه",
    "prefixes": [
      "628157"
    ],
    "logo": "/banks/tose.svg"
  },
  {
    "code": "052",
    "name": "بانک قوامین",
    "prefixes": [
      "639599"
    ],
    "logo": "/banks/ghavvamin.svg"
  },
  {
    "code": "053",
    "name": "بانک کارآفرین",
    "prefixes": [
      "627488",
      "502910"
    ],
    "logo": "/banks/karafarin.svg"
  },
  {
    "code": "054",
    "name": "بانک پارسیان",
    "prefixes": [
      "622106",
      "639194",
      "627884"
    ],
    "logo": "/banks/parsian.svg"
  },
  {
    "code": "055",
    "name": "بانک اقتصاد نوین",
    "prefixes": [
      "627412"
    ],
    "logo": "/banks/eghtesad.svg"
  },
  {
    "code": "056",
    "name": "بانک سامان",
    "prefixes": [
      "621986"
    ],
    "logo": "/banks/saman.svg"
  },
  {
    "code": "057",
    "name": "بانک پاسارگاد",
    "prefixes": [
      "639347",
      "502229"
    ],
    "logo": "/banks/pasargad.svg"
  },
  {
    "code": "058",
    "name": "بانک سرمایه",
    "prefixes": [
      "639607"
    ],
    "logo": "/banks/sarmaye.svg"
  },
  {
    "code": "059",
    "name": "بانک سینا",
    "prefixes": [
      "639346"
    ],
    "logo": "/banks/sina.svg"
  },
  {
    "code": "060",
    "name": "بانک مهر ایران",
    "prefixes": [
      "606373"
    ],
    "logo": "/banks/mehriran.svg"
  },
  {
    "code": "061",
    "name": "بانک شهر",
    "prefixes": [
      "502806",
      "504706"
    ],
    "logo": "/banks/shahr.svg"
  },
  {
    "code": "062",
    "name": "بانک آینده",
    "prefixes": [
      "636214"
    ],
    "logo": "/banks/ayande.svg"
  },
  {
    "code": "063",
    "name": "بانک انصار",
    "prefixes": [
      "627381"
    ],
    "logo": "/banks/ansar.svg"
  },
  {
    "code": "064",
    "name": "بانک گردشگری",
    "prefixes": [
      "505416",
      "505426"
    ],
    "logo": "/banks/gardeshgari.svg"
  },
  {
    "code": "065",
    "name": "بانک حکمت ایرانیان",
    "prefixes": [
      "636949"
    ],
    "logo": "/banks/hekmat.svg"
  },
  {
    "code": "066",
    "name": "بانک دی",
    "prefixes": [
      "502938"
    ],
    "logo": "/banks/day.svg"
  },
  {
    "code": "069",
    "name": "بانک ایران زمین",
    "prefixes": [
      "505785"
    ],
    "logo": "/banks/iranzamin.svg"
  },
  {
    "code": "070",
    "name": "بانک قرض الحسنه رسالت",
    "prefixes": [
      "504172"
    ],
    "logo": "/banks/resalat.svg"
  },
  {
    "code": "073",
    "name": "موسسه اعتباری کوثر",
    "prefixes": [
      "505801"
    ],
    "logo": "/banks/kosar.svg"
  },
  {
    "code": "075",
    "name": "موسسه اعتباری ملل",
    "prefixes": [
      "606256"
    ],
    "logo": "/banks/melal.svg"
  },
  {
    "code": "078",
    "name": "بانک خاورمیانه",
    "prefixes": [
      "585947"
    ],
    "logo": "/banks/khavarmianeh.svg"
  },
  {
    "code": "080",
    "name": "موسسه اعتباری نور",
    "prefixes": [
      "507677"
    ],
    "logo": "/banks/noor.svg"
  },
  {
    "code": "079",
    "name": "بانک مهر اقتصاد",
    "prefixes": [
      "639370"
    ],
    "logo": "/banks/mehreghtesad.svg"
  },
  {
    "code": "090",
    "name": "بانک مهر ایران",
    "prefixes": [],
    "logo": "/banks/mehriran.svg"
  },
  {
    "code": "095",
    "name": "بانک ایران و ونزوئلا",
    "prefixes": [],
    "logo": "/banks/iran-venezuela.svg"
  }
];
export function bankFromIban(value:string){
 const iban=latinDigits(value).replace(/\s/g,'').toUpperCase();
 if(!/^IR\d{5,24}$/.test(iban))return null;
 return iranianBanks.find(bank=>bank.code===iban.slice(4,7))||null;
}
export function bankFromCard(value:string){
 const card=latinDigits(value).replace(/[\s-]/g,'');
 if(!/^\d{6,16}$/.test(card))return null;
 return iranianBanks.find(bank=>bank.prefixes.some(prefix=>card.startsWith(prefix)))||null;
}
