{"version":3,"sources":["../source/countries.js"],"names":["sortCountryOptions","options","order","optionsOnTop","optionsOnBottom","appendTo","element","push","divider","index","indexOf","filter","option","value","splice","concat","getSupportedCountryOptions","countryOptions","metadata","isCountrySupportedWithError","length","country","console","error","getSupportedCountries","countries","undefined"],"mappings":";;;;;;;;;;;;;;;;AAAA;;AAWO,SAASA,kBAAT,CAA4BC,OAA5B,EAAqCC,KAArC,EAA4C;AAClD,MAAI,CAACA,KAAL,EAAY;AACX,WAAOD,OAAP;AACA;;AACD,MAAME,YAAY,GAAG,EAArB;AACA,MAAMC,eAAe,GAAG,EAAxB;AACA,MAAIC,QAAQ,GAAGF,YAAf;;AANkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,QAOvCG,OAPuC;;AAQjD,QAAIA,OAAO,KAAK,GAAhB,EAAqB;AACpBD,MAAAA,QAAQ,CAACE,IAAT,CAAc;AAAEC,QAAAA,OAAO,EAAE;AAAX,OAAd;AACA,KAFD,MAEO,IAAIF,OAAO,KAAK,KAAZ,IAAqBA,OAAO,KAAK,GAArC,EAA0C;AAChDD,MAAAA,QAAQ,GAAGD,eAAX;AACA,KAFM,MAEA;AACN;AACA,UAAMK,KAAK,GAAGR,OAAO,CAACS,OAAR,CAAgBT,OAAO,CAACU,MAAR,CAAe,UAAAC,MAAM;AAAA,eAAIA,MAAM,CAACC,KAAP,KAAiBP,OAArB;AAAA,OAArB,EAAmD,CAAnD,CAAhB,CAAd,CAFM,CAGN;;AACA,UAAMM,MAAM,GAAGX,OAAO,CAACQ,KAAD,CAAtB,CAJM,CAKN;;AACAR,MAAAA,OAAO,CAACa,MAAR,CAAeL,KAAf,EAAsB,CAAtB,EANM,CAON;;AACAJ,MAAAA,QAAQ,CAACE,IAAT,CAAcK,MAAd;AACA;AArBgD;;AAOlD,uBAAsBV,KAAtB,kHAA6B;AAAA;;AAAA;;AAAA;AAe5B;;AACD,SAAOC,YAAY,CAACY,MAAb,CAAoBd,OAApB,EAA6Bc,MAA7B,CAAoCX,eAApC,CAAP;AACA;;AAEM,SAASY,0BAAT,CAAoCC,cAApC,EAAoDC,QAApD,EAA8D;AACpE,MAAID,cAAJ,EAAoB;AACnBA,IAAAA,cAAc,GAAGA,cAAc,CAACN,MAAf,CAAsB,UAACC,MAAD,EAAY;AAClD,cAAQA,MAAR;AACC,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACC,iBAAO,IAAP;;AACD;AACC,iBAAOO,2BAA2B,CAACP,MAAD,EAASM,QAAT,CAAlC;AANF;AAQA,KATgB,CAAjB;;AAUA,QAAID,cAAc,CAACG,MAAf,GAAwB,CAA5B,EAA+B;AAC9B,aAAOH,cAAP;AACA;AACD;AACD;;AAEM,SAASE,2BAAT,CAAqCE,OAArC,EAA8CH,QAA9C,EAAwD;AAC9D,MAAI,8BAAmBG,OAAnB,EAA4BH,QAA5B,CAAJ,EAA2C;AAC1C,WAAO,IAAP;AACA,GAFD,MAEO;AACNI,IAAAA,OAAO,CAACC,KAAR,8BAAoCF,OAApC;AACA,WAAO,KAAP;AACA;AACD;;AAEM,SAASG,qBAAT,CAA+BC,SAA/B,EAA0CP,QAA1C,EAAoD;AAC1D,MAAIO,SAAJ,EAAe;AACdA,IAAAA,SAAS,GAAGA,SAAS,CAACd,MAAV,CAAiB,UAAAU,OAAO;AAAA,aAAIF,2BAA2B,CAACE,OAAD,EAAUH,QAAV,CAA/B;AAAA,KAAxB,CAAZ;;AACA,QAAIO,SAAS,CAACL,MAAV,KAAqB,CAAzB,EAA4B;AAC3BK,MAAAA,SAAS,GAAGC,SAAZ;AACA;AACD;;AACD,SAAOD,SAAP;AACA","sourcesContent":["import { isSupportedCountry } from 'libphonenumber-js/core'\r\nexport { getCountries } from 'libphonenumber-js/core'\r\n\r\n/**\r\n * Sorts country `` options\r\n * to the top of the list, for example.\r\n * @param {object[]} countryOptions — Country `` options order. Example: `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`.\r\n * @return {object[]}\r\n */\r\nexport function sortCountryOptions(options, order) {\r\n\tif (!order) {\r\n\t\treturn options\r\n\t}\r\n\tconst optionsOnTop = []\r\n\tconst optionsOnBottom = []\r\n\tlet appendTo = optionsOnTop\r\n\tfor (const element of order) {\r\n\t\tif (element === '|') {\r\n\t\t\tappendTo.push({ divider: true })\r\n\t\t} else if (element === '...' || element === '…') {\r\n\t\t\tappendTo = optionsOnBottom\r\n\t\t} else {\r\n\t\t\t// Find the position of the option.\r\n\t\t\tconst index = options.indexOf(options.filter(option => option.value === element)[0])\r\n\t\t\t// Get the option.\r\n\t\t\tconst option = options[index]\r\n\t\t\t// Remove the option from its default position.\r\n\t\t\toptions.splice(index, 1)\r\n\t\t\t// Add the option on top.\r\n\t\t\tappendTo.push(option)\r\n\t\t}\r\n\t}\r\n\treturn optionsOnTop.concat(options).concat(optionsOnBottom)\r\n}\r\n\r\nexport function getSupportedCountryOptions(countryOptions, metadata) {\r\n\tif (countryOptions) {\r\n\t\tcountryOptions = countryOptions.filter((option) => {\r\n\t\t\tswitch (option) {\r\n\t\t\t\tcase '|':\r\n\t\t\t\tcase '...':\r\n\t\t\t\tcase '…':\r\n\t\t\t\t\treturn true\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn isCountrySupportedWithError(option, metadata)\r\n\t\t\t}\r\n\t\t})\r\n\t\tif (countryOptions.length > 0) {\r\n\t\t\treturn countryOptions\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isCountrySupportedWithError(country, metadata) {\r\n\tif (isSupportedCountry(country, metadata)) {\r\n\t\treturn true\r\n\t} else {\r\n\t\tconsole.error(`Country not found: ${country}`)\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nexport function getSupportedCountries(countries, metadata) {\r\n\tif (countries) {\r\n\t\tcountries = countries.filter(country => isCountrySupportedWithError(country, metadata))\r\n\t\tif (countries.length === 0) {\r\n\t\t\tcountries = undefined\r\n\t\t}\r\n\t}\r\n\treturn countries\r\n}"],"file":"countries.js"}