{"version":3,"sources":["jsdelivr-header.js","/npm/iban-number-validation@1.0.1/src/iban-number-validation.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,MAAM,cAAgB,EAChB,sBAAwB,EAGxB,uBAAyB,IAG7B,MAAM,EAAwB,EAAU,QAAQ,MAAO,IACjD,EAAgB,EAAsB,OAAO,EAAE,GAGrD,OAFuB,EAAsB,OAAO,GAE9B,OAAO,EAAc,EAGvC,yBAA2B,GAAS,EACvC,MAAM,IACN,KAAK,GAAS,SAAS,EAAM,MAC7B,KAAK,IAEF,WAAc,GACG,EAAM,MAAM,IAGb,QAAO,CAAC,EAAa,KACtB,GAAd,EAAoB,OAAO,IAAiB,IAxB7B,GA2BhB,aAAgB,IACpB,GAAI,GAAkC,iBAAd,EAAwB,CAE9C,MAAM,EAAiC,uBAAuB,GACxD,EAAgC,yBAAyB,GAG/D,SAjC0B,IA+BX,WAAW,GAG5B,CAEA,QAAQ,MAAM,8BAA8B,iBAG/B","file":"/npm/iban-number-validation@1.0.1/src/iban-number-validation.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/iban-number-validation@1.0.1/src/iban-number-validation.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// Variables\nconst MOD_START_VAL = 0;\nconst MOD_MUST_EQUAL_TO_ONE = 1;\n\n// Functions\nconst setCharactersLocations = ibanValue => {\n  // The first four characters of the IBAN are truncated and thrown to the right of the number.\n  // ibanValue = TR47 0000 1001 0000 0350 9300 01\n  const removedSpaceIbanValue = ibanValue.replace(/\\s/g, ''); // TR470000100100000350930001\n  const firstFourChar = removedSpaceIbanValue.substr(0,4); // TR47\n  const remainingChars = removedSpaceIbanValue.substr(4); // 0000100100000350930001\n\n  return remainingChars.concat(firstFourChar); // 0000100100000350930001TR47\n}\n\nconst charactersMatchAndChange = value => value\n  .split('') // ['0','0','0','0','1','0','0','1','0','0','0','0','0','3','5','0','9','3','0','0','0','1','T','R','4','7']\n  .map((item) => parseInt(item, 36)) // [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 3, 5, 0, 9, 3, 0, 0, 0, 1, 29, 27, 4, 7]\n  .join('') // 0000100100000350930001292747\n\nconst getMod9710 = (value) => {\n  const valueToArray = value.split('');\n  // [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 3, 5, 0, 9, 3, 0, 0, 0, 1, 2, 9, 2, 7, 4, 7]\n  \n  return valueToArray.reduce((accumulator, currentValue) =>\n    (((accumulator * 10) + Number(currentValue)) % 97 ), MOD_START_VAL);\n}\n\nconst validateIban = (ibanValue) => {\n  if (ibanValue && typeof ibanValue === 'string') {\n    // ibanValue = TR47 0000 1001 0000 0350 9300 01\n    const ibanCharactersLocationsChanged = setCharactersLocations(ibanValue); // 0000100100000350930001TR47\n    const ibanCharactersMatchAndChanged = charactersMatchAndChange(ibanCharactersLocationsChanged); // 0000100100000350930001292747\n    const result = getMod9710(ibanCharactersMatchAndChanged) === MOD_MUST_EQUAL_TO_ONE ? true : false; // getMod9710(ibanCharactersMatchAndChanged) = 1\n    \n    return !!result;\n  }\n\n  console.error(\"iban value must be a string\");\n}\n\nexport default validateIban;\n"]}