{"version":3,"sources":["../source/phoneInputHelpers.test.js"],"names":["getPreSelectedCountry","getCountrySelectOptions","parsePhoneNumber","generateNationalNumberDigits","migrateParsedInputForNewCountry","e164","getCountryForPartialE164Number","parseInput","getInitialParsedInput","get_country_from_possibly_incomplete_international_phone_number","compare_strings","strip_country_calling_code","getNationalSignificantNumberDigits","could_number_belong_to_country","trimNumber","metadata","describe","it","should","equal","expect","undefined","to","be","country","phone","defaultLabels","deep","value","label","ZZ","phoneNumber","nationalNumber","input"],"mappings":";;;;;;AAAA,SACCA,qBADD,EAECC,uBAFD,EAGCC,gBAHD,EAICC,4BAJD,EAKCC,+BALD,EAMCC,IAND,EAOCC,8BAPD,EAQCC,UARD,EASCC,qBATD,CAUC;AAVD,EAWCC,+DAXD,EAYCC,eAZD,EAaCC,0BAbD,EAcCC,kCAdD,EAeCC,8BAfD,EAgBCC,UAhBD,QAiBO,qBAjBP;AAmBA,OAAOC,QAAP,MAAqB,qCAArB;AAEAC,QAAQ,CAAC,mBAAD,EAAsB,YAC9B;AACCC,EAAAA,EAAE,CAAC,iCAAD,EAAoC,YACtC;AACC;AACAjB,IAAAA,qBAAqB,CAAC,EAAD,EAAK,IAAL,EAAW,CAAC,IAAD,EAAO,IAAP,CAAX,EAAyB,KAAzB,EAAgCe,QAAhC,CAArB,CAA+DG,MAA/D,CAAsEC,KAAtE,CAA4E,IAA5E,EAFD,CAIC;AACA;;AACAC,IAAAA,MAAM,CAACpB,qBAAqB,CAAC,EAAD,EAAKqB,SAAL,EAAgB,CAAC,IAAD,EAAO,IAAP,CAAhB,EAA8B,IAA9B,EAAoCN,QAApC,CAAtB,CAAN,CAA2EO,EAA3E,CAA8EC,EAA9E,CAAiFF,SAAjF,CAND,CAQC;;AACArB,IAAAA,qBAAqB,CAAC;AAAEwB,MAAAA,OAAO,EAAE,IAAX;AAAiBC,MAAAA,KAAK,EAAE;AAAxB,KAAD,EAAyC,IAAzC,EAA+C,CAAC,IAAD,EAAO,IAAP,CAA/C,EAA6D,KAA7D,EAAoEV,QAApE,CAArB,CAAmGG,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH,EATD,CAWC;;AACAnB,IAAAA,qBAAqB,CAAC;AAAEwB,MAAAA,OAAO,EAAE,IAAX;AAAiBC,MAAAA,KAAK,EAAE;AAAxB,KAAD,EAAyC,IAAzC,EAA+C,CAAC,IAAD,EAAO,IAAP,CAA/C,EAA6D,KAA7D,EAAoEV,QAApE,CAArB,CAAmGG,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH,EAZD,CAcC;;AACAnB,IAAAA,qBAAqB,CAAC;AAAEwB,MAAAA,OAAO,EAAE,IAAX;AAAiBC,MAAAA,KAAK,EAAE;AAAxB,KAAD,EAAyC,IAAzC,EAA+C,CAAC,IAAD,EAAO,IAAP,CAA/C,EAA6D,KAA7D,EAAoEV,QAApE,CAArB,CAAmGG,MAAnG,CAA0GC,KAA1G,CAAgH,IAAhH;AACAC,IAAAA,MAAM,CAACpB,qBAAqB,CAAC;AAAEwB,MAAAA,OAAO,EAAE,IAAX;AAAiBC,MAAAA,KAAK,EAAE;AAAxB,KAAD,EAAyC,IAAzC,EAA+C,CAAC,IAAD,EAAO,IAAP,CAA/C,EAA6D,IAA7D,EAAmEV,QAAnE,CAAtB,CAAN,CAA0GO,EAA1G,CAA6GC,EAA7G,CAAgHF,SAAhH;AACA,GAlBC,CAAF;AAoBAJ,EAAAA,EAAE,CAAC,wCAAD,EAA2C,YAC7C;AACC,QAAMS,aAAa,GACnB;AACC,YAAM,iBADP;AAEC,YAAM,eAFP;AAGC,YAAM;AAHP,KADA,CADD,CAQC;;AACAzB,IAAAA,uBAAuB,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,EAAeyB,aAAf,EAA8B,KAA9B,CAAvB,CAA4DR,MAA5D,CAAmES,IAAnE,CAAwER,KAAxE,CACC,CAAC;AACDS,MAAAA,KAAK,EAAG,IADP;AAEDC,MAAAA,KAAK,EAAG;AAFP,KAAD,EAGE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KAHF,CADD,EATD,CAkBC;;AACA5B,IAAAA,uBAAuB,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,oBAAoByB,aAApB;AAAmC,YAAM;AAAzC,QAAqD,KAArD,CAAvB,CAAmFR,MAAnF,CAA0FS,IAA1F,CAA+FR,KAA/F,CACC,CAAC;AACDS,MAAAA,KAAK,EAAG,IADP;AAEDC,MAAAA,KAAK,EAAG;AAFP,KAAD,EAGE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KAHF,CADD,EAnBD,CA4BC;;AACA5B,IAAAA,uBAAuB,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,oBAAoByB,aAApB;AAAmC,YAAML;AAAzC,QAAsD,KAAtD,CAAvB,CAAoFH,MAApF,CAA2FS,IAA3F,CAAgGR,KAAhG,CACC,CAAC;AACDS,MAAAA,KAAK,EAAG,IADP;AAEDC,MAAAA,KAAK,EAAG;AAFP,KAAD,EAGE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KAHF,CADD,EA7BD,CAsCC;;AACA5B,IAAAA,uBAAuB,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,EAAeyB,aAAf,EAA8B,IAA9B,CAAvB,CAA2DR,MAA3D,CAAkES,IAAlE,CAAuER,KAAvE,CACC,CAAC;AACDU,MAAAA,KAAK,EAAG;AADP,KAAD,EAEE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KAFF,EAKE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KALF,CADD,EAvCD,CAkDC;;AACA5B,IAAAA,uBAAuB,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,oBAAoByB,aAApB;AAAmC,YAAM,QAAzC;AAAmDI,MAAAA,EAAE,EAAE;AAAvD,QAAiE,IAAjE,CAAvB,CAA8FZ,MAA9F,CAAqGS,IAArG,CAA0GR,KAA1G,CACC,CAAC;AACDU,MAAAA,KAAK,EAAG;AADP,KAAD,EAEE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KAFF,EAKE;AACFD,MAAAA,KAAK,EAAG,IADN;AAEFC,MAAAA,KAAK,EAAG;AAFN,KALF,CADD;AAUA,GA9DC,CAAF;AAgEAZ,EAAAA,EAAE,CAAC,4BAAD,EAA+B,YACjC;AACC,QAAMc,WAAW,GAAG7B,gBAAgB,CAAC,cAAD,EAAiBa,QAAjB,CAApC;AACAgB,IAAAA,WAAW,CAACP,OAAZ,CAAoBN,MAApB,CAA2BC,KAA3B,CAAiC,IAAjC;AACAY,IAAAA,WAAW,CAACC,cAAZ,CAA2Bd,MAA3B,CAAkCC,KAAlC,CAAwC,YAAxC,EAHD,CAKC;;AACAC,IAAAA,MAAM,CAAClB,gBAAgB,CAAC,IAAD,EAAOa,QAAP,CAAjB,CAAN,CAAyCO,EAAzC,CAA4CH,KAA5C,CAAkDE,SAAlD;AACA,GARC,CAAF;AAUAJ,EAAAA,EAAE,CAAC,wCAAD,EAA2C,YAC7C;AACC,QAAMc,WAAW,GAAG7B,gBAAgB,CAAC,cAAD,EAAiBa,QAAjB,CAApC;AACAZ,IAAAA,4BAA4B,CAAC4B,WAAD,CAA5B,CAA0Cb,MAA1C,CAAiDC,KAAjD,CAAuD,YAAvD;AACA,GAJC,CAAF;AAMAF,EAAAA,EAAE,CAAC,6CAAD,EAAgD,YAClD;AACC;AACAb,IAAAA,+BAA+B,CAAC,EAAD,EAAK,IAAL,EAAW,IAAX,EAAiBW,QAAjB,EAA2B,IAA3B,CAA/B,CAAgEG,MAAhE,CAAuEC,KAAvE,CAA6E,EAA7E,EAFD,CAIC;AACA;AACA;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,cAAnF,EAPD,CASC;;AACAf,IAAAA,+BAA+B,CAAC,YAAD,EAAe,IAAf,EAAqB,IAArB,EAA2BW,QAA3B,CAA/B,CAAoEG,MAApE,CAA2EC,KAA3E,CAAiF,YAAjF,EAVD,CAYC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,IAAnF,EAbD,CAeC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,cAAnF,EAhBD,CAkBC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,IAAnF,EAnBD,CAqBC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,cAAnF,EAtBD,CAwBC;AACA;;AACAf,IAAAA,+BAA+B,CAAC,KAAD,EAAQ,IAAR,EAAc,IAAd,EAAoBW,QAApB,CAA/B,CAA6DG,MAA7D,CAAoEC,KAApE,CAA0E,IAA1E,EA1BD,CA4BC;;AACAf,IAAAA,+BAA+B,CAAC,KAAD,EAAQ,IAAR,EAAc,IAAd,EAAoBW,QAApB,CAA/B,CAA6DG,MAA7D,CAAoEC,KAApE,CAA0E,IAA1E,EA7BD,CA+BC;;AACAf,IAAAA,+BAA+B,CAAC,SAAD,EAAY,IAAZ,EAAkB,IAAlB,EAAwBW,QAAxB,CAA/B,CAAiEG,MAAjE,CAAwEC,KAAxE,CAA8E,UAA9E,EAhCD,CAkCC;;AACAf,IAAAA,+BAA+B,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,EAAkBW,QAAlB,CAA/B,CAA2DG,MAA3D,CAAkEC,KAAlE,CAAwE,EAAxE,EAnCD,CAqCC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,cAAnF,EAtCD,CAwCC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,EAAuC,IAAvC,CAA/B,CAA4EG,MAA5E,CAAmFC,KAAnF,CAAyF,YAAzF,EAzCD,CA2CC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,EAAuC,IAAvC,CAA/B,CAA4EG,MAA5E,CAAmFC,KAAnF,CAAyF,YAAzF,EA5CD,CA8CC;;AACAf,IAAAA,+BAA+B,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BW,QAA7B,EAAuC,IAAvC,CAA/B,CAA4EG,MAA5E,CAAmFC,KAAnF,CAAyF,EAAzF,EA/CD,CAiDC;;AACAf,IAAAA,+BAA+B,CAACiB,SAAD,EAAY,IAAZ,EAAkB,IAAlB,EAAwBN,QAAxB,EAAkC,KAAlC,CAA/B,CAAwEG,MAAxE,CAA+EC,KAA/E,CAAqF,IAArF,EAlDD,CAoDC;;AACAf,IAAAA,+BAA+B,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsBW,QAAtB,EAAgC,KAAhC,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,OAAnF,EArDD,CAuDC;;AACAf,IAAAA,+BAA+B,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsBW,QAAtB,EAAgC,KAAhC,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,IAAnF,EAxDD,CA0DC;;AACAf,IAAAA,+BAA+B,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsBW,QAAtB,EAAgC,KAAhC,CAA/B,CAAsEG,MAAtE,CAA6EC,KAA7E,CAAmF,OAAnF;AACA,GA7DC,CAAF;AA+DAF,EAAAA,EAAE,CAAC,oCAAD,EAAuC,YACzC;AACC;AACAG,IAAAA,MAAM,CAACf,IAAI,EAAL,CAAN,CAAeiB,EAAf,CAAkBC,EAAlB,CAAqBF,SAArB,CAFD,CAIC;;AACAD,IAAAA,MAAM,CAACf,IAAI,CAAC,GAAD,CAAL,CAAN,CAAkBiB,EAAlB,CAAqBC,EAArB,CAAwBF,SAAxB,CALD,CAOC;;AACAhB,IAAAA,IAAI,CAAC,OAAD,CAAJ,CAAca,MAAd,CAAqBC,KAArB,CAA2B,OAA3B,EARD,CAUC;;AACAC,IAAAA,MAAM,CAACf,IAAI,CAAC,MAAD,EAAS,IAAT,CAAL,CAAN,CAA2BiB,EAA3B,CAA8BC,EAA9B,CAAiCF,SAAjC,CAXD,CAaC;;AACAD,IAAAA,MAAM,CAACf,IAAI,CAAC,GAAD,EAAM,IAAN,EAAYU,QAAZ,CAAL,CAAN,CAAkCO,EAAlC,CAAqCC,EAArC,CAAwCF,SAAxC,CAdD,CAgBC;;AACAhB,IAAAA,IAAI,CAAC,MAAD,EAAS,IAAT,EAAeU,QAAf,CAAJ,CAA6BG,MAA7B,CAAoCC,KAApC,CAA0C,OAA1C;AACA,GAnBC,CAAF;AAqBAF,EAAAA,EAAE,CAAC,+DAAD,EAAkE,YACpE;AACC;AACA;AAEA;AACAG,IAAAA,MAAM,CAACN,UAAU,CAAC,EAAD,EAAK,IAAL,EAAWC,QAAX,CAAX,CAAN,CAAuCO,EAAvC,CAA0CH,KAA1C,CAAgD,EAAhD,EALD,CAOC;AACA;AAEA;AACA;AAEA;;AACAL,IAAAA,UAAU,CAAC,aAAD,EAAgB,IAAhB,EAAsBC,QAAtB,CAAV,CAA0CG,MAA1C,CAAiDC,KAAjD,CAAuD,aAAvD,EAdD,CAeC;;AACAL,IAAAA,UAAU,CAAC,cAAD,EAAiB,IAAjB,EAAuBC,QAAvB,CAAV,CAA2CG,MAA3C,CAAkDC,KAAlD,CAAwD,aAAxD,EAhBD,CAkBC;;AACAL,IAAAA,UAAU,CAAC,cAAD,EAAiB,IAAjB,EAAuBC,QAAvB,CAAV,CAA2CG,MAA3C,CAAkDC,KAAlD,CAAwD,cAAxD,EAnBD,CAoBC;;AACAL,IAAAA,UAAU,CAAC,eAAD,EAAkB,IAAlB,EAAwBC,QAAxB,CAAV,CAA4CG,MAA5C,CAAmDC,KAAnD,CAAyD,cAAzD;AACA,GAvBC,CAAF;AAyBAF,EAAAA,EAAE,CAAC,6CAAD,EAAgD,YAClD;AACC;AACAX,IAAAA,8BAA8B,CAAC,GAAD,EAAM,IAAN,EAAY,CAAC,IAAD,EAAO,IAAP,CAAZ,EAA0B,IAA1B,EAAgCS,QAAhC,CAA9B,CAAwEG,MAAxE,CAA+EC,KAA/E,CAAqF,IAArF;AACAC,IAAAA,MAAM,CAACd,8BAA8B,CAAC,GAAD,EAAMe,SAAN,EAAiB,CAAC,IAAD,EAAO,IAAP,CAAjB,EAA+B,IAA/B,EAAqCN,QAArC,CAA/B,CAAN,CAAqFO,EAArF,CAAwFC,EAAxF,CAA2FF,SAA3F,CAHD,CAKC;;AACAf,IAAAA,8BAA8B,CAAC,cAAD,EAAiBe,SAAjB,EAA4B,CAAC,IAAD,EAAO,IAAP,CAA5B,EAA0C,IAA1C,EAAgDN,QAAhD,CAA9B,CAAwFG,MAAxF,CAA+FC,KAA/F,CAAqG,IAArG,EAND,CAQC;AACA;;AACAC,IAAAA,MAAM,CAACd,8BAA8B,CAAC,IAAD,EAAO,IAAP,EAAa,CAAC,IAAD,EAAO,IAAP,CAAb,EAA2B,IAA3B,EAAiCS,QAAjC,CAA/B,CAAN,CAAiFO,EAAjF,CAAoFC,EAApF,CAAuFF,SAAvF;AACAD,IAAAA,MAAM,CAACd,8BAA8B,CAAC,KAAD,EAAQ,IAAR,EAAc,CAAC,IAAD,EAAO,IAAP,CAAd,EAA4B,IAA5B,EAAkCS,QAAlC,CAA/B,CAAN,CAAkFO,EAAlF,CAAqFC,EAArF,CAAwFF,SAAxF,CAXD,CAaC;AACA;AACA;;AACAf,IAAAA,8BAA8B,CAAC,IAAD,EAAO,IAAP,EAAa,CAAC,IAAD,EAAO,IAAP,CAAb,EAA2B,KAA3B,EAAkCS,QAAlC,CAA9B,CAA0EG,MAA1E,CAAiFC,KAAjF,CAAuF,IAAvF;AACAb,IAAAA,8BAA8B,CAAC,KAAD,EAAQ,IAAR,EAAc,CAAC,IAAD,EAAO,IAAP,CAAd,EAA4B,KAA5B,EAAmCS,QAAnC,CAA9B,CAA2EG,MAA3E,CAAkFC,KAAlF,CAAwF,IAAxF;AACA,GAnBC,CAAF;AAqBAF,EAAAA,EAAE,CAAC,wEAAD,EAA2E,YAC7E;AACC;AACA;AACA;AAEA;AACAR,IAAAA,+DAA+D,CAAC,KAAD,EAAQM,QAAR,CAA/D,CAAiFG,MAAjF,CAAwFC,KAAxF,CAA8F,IAA9F,EAND,CAQC;;AACAC,IAAAA,MAAM,CAACX,+DAA+D,CAAC,KAAD,EAAQM,QAAR,CAAhE,CAAN,CAAyFO,EAAzF,CAA4FC,EAA5F,CAA+FF,SAA/F;AACA,GAXC,CAAF;AAaAJ,EAAAA,EAAE,CAAC,wBAAD,EAA2B,YAC7B;AACCP,IAAAA,eAAe,CAAC,IAAD,EAAO,IAAP,CAAf,CAA4BQ,MAA5B,CAAmCC,KAAnC,CAAyC,CAAC,CAA1C;AACAT,IAAAA,eAAe,CAAC,IAAD,EAAO,IAAP,CAAf,CAA4BQ,MAA5B,CAAmCC,KAAnC,CAAyC,CAAzC;AACAT,IAAAA,eAAe,CAAC,KAAD,EAAQ,KAAR,CAAf,CAA8BQ,MAA9B,CAAqCC,KAArC,CAA2C,CAA3C;AACA,GALC,CAAF;AAOAF,EAAAA,EAAE,CAAC,iDAAD,EAAoD,YACtD;AACC;AACAN,IAAAA,0BAA0B,CAAC,OAAD,EAAU,IAAV,EAAgBI,QAAhB,CAA1B,CAAoDG,MAApD,CAA2DC,KAA3D,CAAiE,KAAjE,EAFD,CAIC;;AACAR,IAAAA,0BAA0B,CAAC,IAAD,EAAO,IAAP,EAAaI,QAAb,CAA1B,CAAiDG,MAAjD,CAAwDC,KAAxD,CAA8D,EAA9D;AACAR,IAAAA,0BAA0B,CAAC,IAAD,EAAO,IAAP,EAAaI,QAAb,CAA1B,CAAiDG,MAAjD,CAAwDC,KAAxD,CAA8D,EAA9D,EAND,CAQC;AACA;;AACAR,IAAAA,0BAA0B,CAAC,OAAD,EAAU,IAAV,EAAgBI,QAAhB,CAA1B,CAAoDG,MAApD,CAA2DC,KAA3D,CAAiE,KAAjE,EAVD,CAYC;AACA;;AACAR,IAAAA,0BAA0B,CAAC,MAAD,EAAS,IAAT,EAAeI,QAAf,CAA1B,CAAmDG,MAAnD,CAA0DC,KAA1D,CAAgE,EAAhE;AACA,GAhBC,CAAF;AAkBAF,EAAAA,EAAE,CAAC,6CAAD,EAAgD,YAClD;AACC;AACAL,IAAAA,kCAAkC,CAAC,UAAD,EAAa,IAAb,EAAmBG,QAAnB,CAAlC,CAA+DG,MAA/D,CAAsEC,KAAtE,CAA4E,QAA5E,EAFD,CAIC;AACA;;AACAC,IAAAA,MAAM,CAACR,kCAAkC,CAAC,GAAD,EAAM,IAAN,EAAYG,QAAZ,CAAnC,CAAN,CAAgEO,EAAhE,CAAmEC,EAAnE,CAAsEF,SAAtE;AACAD,IAAAA,MAAM,CAACR,kCAAkC,CAAC,IAAD,EAAO,IAAP,EAAaG,QAAb,CAAnC,CAAN,CAAiEO,EAAjE,CAAoEC,EAApE,CAAuEF,SAAvE,CAPD,CASC;;AACAT,IAAAA,kCAAkC,CAAC,SAAD,EAAY,IAAZ,EAAkBG,QAAlB,CAAlC,CAA8DG,MAA9D,CAAqEC,KAArE,CAA2E,QAA3E,EAVD,CAYC;AACA;;AACAC,IAAAA,MAAM,CAACR,kCAAkC,CAAC,GAAD,EAAM,IAAN,EAAYG,QAAZ,CAAnC,CAAN,CAAgEO,EAAhE,CAAmEC,EAAnE,CAAsEF,SAAtE;AACAD,IAAAA,MAAM,CAACR,kCAAkC,CAAC,EAAD,EAAK,IAAL,EAAWG,QAAX,CAAnC,CAAN,CAA+DO,EAA/D,CAAkEC,EAAlE,CAAqEF,SAArE;AACA,GAjBC,CAAF;AAmBAJ,EAAAA,EAAE,CAAC,wDAAD,EAA2D,YAC7D;AACC;AACAJ,IAAAA,8BAA8B,CAAC,OAAD,EAAU,IAAV,EAAgBE,QAAhB,CAA9B,CAAwDG,MAAxD,CAA+DC,KAA/D,CAAqE,IAArE,EAFD,CAIC;;AACAN,IAAAA,8BAA8B,CAAC,OAAD,EAAU,IAAV,EAAgBE,QAAhB,CAA9B,CAAwDG,MAAxD,CAA+DC,KAA/D,CAAqE,KAArE,EALD,CAOC;;AACAN,IAAAA,8BAA8B,CAAC,KAAD,EAAQ,IAAR,EAAcE,QAAd,CAA9B,CAAsDG,MAAtD,CAA6DC,KAA7D,CAAmE,KAAnE,EARD,CAUC;;AACAN,IAAAA,8BAA8B,CAAC,KAAD,EAAQ,IAAR,EAAcE,QAAd,CAA9B,CAAsDG,MAAtD,CAA6DC,KAA7D,CAAmE,IAAnE;AACA,GAbC,CAAF;AAeAF,EAAAA,EAAE,CAAC,oBAAD,EAAuB,YACzB;AACCV,IAAAA,UAAU,CAACc,SAAD,EAAYA,SAAZ,EAAuB,IAAvB,EAA6BA,SAA7B,EAAwCA,SAAxC,EAAmD,IAAnD,EAAyD,KAAzD,EAAgE,KAAhE,EAAuEN,QAAvE,CAAV,CAA2FG,MAA3F,CAAkGS,IAAlG,CAAuGR,KAAvG,CAA6G;AAC5Gc,MAAAA,KAAK,EAAEZ,SADqG;AAE5GG,MAAAA,OAAO,EAAE,IAFmG;AAG5GI,MAAAA,KAAK,EAAEP;AAHqG,KAA7G;AAMAd,IAAAA,UAAU,CAAC,EAAD,EAAKc,SAAL,EAAgBA,SAAhB,EAA2BA,SAA3B,EAAsCA,SAAtC,EAAiD,IAAjD,EAAuD,KAAvD,EAA8D,KAA9D,EAAqEN,QAArE,CAAV,CAAyFG,MAAzF,CAAgGS,IAAhG,CAAqGR,KAArG,CAA2G;AAC1Gc,MAAAA,KAAK,EAAE,EADmG;AAE1GT,MAAAA,OAAO,EAAEH,SAFiG;AAG1GO,MAAAA,KAAK,EAAEP;AAHmG,KAA3G;AAMAd,IAAAA,UAAU,CAAC,GAAD,EAAMc,SAAN,EAAiBA,SAAjB,EAA4BA,SAA5B,EAAuCA,SAAvC,EAAkD,IAAlD,EAAwD,KAAxD,EAA+D,KAA/D,EAAsEN,QAAtE,CAAV,CAA0FG,MAA1F,CAAiGS,IAAjG,CAAsGR,KAAtG,CAA4G;AAC3Gc,MAAAA,KAAK,EAAE,GADoG;AAE3GT,MAAAA,OAAO,EAAEH,SAFkG;AAG3GO,MAAAA,KAAK,EAAEP;AAHoG,KAA5G;AAMAd,IAAAA,UAAU,CAAC,MAAD,EAASc,SAAT,EAAoBA,SAApB,EAA+BA,SAA/B,EAA0CA,SAA1C,EAAqD,IAArD,EAA2D,KAA3D,EAAkE,KAAlE,EAAyEN,QAAzE,CAAV,CAA6FG,MAA7F,CAAoGS,IAApG,CAAyGR,KAAzG,CAA+G;AAC9Gc,MAAAA,KAAK,EAAE,OADuG;AAE9GT,MAAAA,OAAO,EAAEH,SAFqG;AAG9GO,MAAAA,KAAK,EAAE;AAHuG,KAA/G;AAMArB,IAAAA,UAAU,CAAC,OAAD,EAAUc,SAAV,EAAqBA,SAArB,EAAgCA,SAAhC,EAA2CA,SAA3C,EAAsD,IAAtD,EAA4D,KAA5D,EAAmE,KAAnE,EAA0EN,QAA1E,CAAV,CAA8FG,MAA9F,CAAqGS,IAArG,CAA0GR,KAA1G,CAAgH;AAC/Gc,MAAAA,KAAK,EAAE,OADwG;AAE/GT,MAAAA,OAAO,EAAEH,SAFsG;AAG/GO,MAAAA,KAAK,EAAE;AAHwG,KAAhH;AAMArB,IAAAA,UAAU,CAAC,KAAD,EAAQc,SAAR,EAAmB,IAAnB,EAAyBA,SAAzB,EAAoCA,SAApC,EAA+C,IAA/C,EAAqD,KAArD,EAA4D,KAA5D,EAAmEN,QAAnE,CAAV,CAAuFG,MAAvF,CAA8FS,IAA9F,CAAmGR,KAAnG,CAAyG;AACxGc,MAAAA,KAAK,EAAE,KADiG;AAExGT,MAAAA,OAAO,EAAE,IAF+F;AAGxGI,MAAAA,KAAK,EAAE;AAHiG,KAAzG;AAMArB,IAAAA,UAAU,CAAC,cAAD,EAAiBc,SAAjB,EAA4B,IAA5B,EAAkCA,SAAlC,EAA6CA,SAA7C,EAAwD,IAAxD,EAA8D,KAA9D,EAAqE,KAArE,EAA4EN,QAA5E,CAAV,CAAgGG,MAAhG,CAAuGS,IAAvG,CAA4GR,KAA5G,CAAkH;AACjHc,MAAAA,KAAK,EAAE,cAD0G;AAEjHT,MAAAA,OAAO,EAAE,IAFwG;AAGjHI,MAAAA,KAAK,EAAE;AAH0G,KAAlH,EArCD,CA2CC;;AAEArB,IAAAA,UAAU,CAAC,cAAD,EAAiBc,SAAjB,EAA4B,IAA5B,EAAkCA,SAAlC,EAA6CA,SAA7C,EAAwD,IAAxD,EAA8D,KAA9D,EAAqE,KAArE,EAA4EN,QAA5E,CAAV,CAAgGG,MAAhG,CAAuGS,IAAvG,CAA4GR,KAA5G,CAAkH;AACjHc,MAAAA,KAAK,EAAE,cAD0G;AAEjHT,MAAAA,OAAO,EAAE,IAFwG;AAGjHI,MAAAA,KAAK,EAAE;AAH0G,KAAlH,EA7CD,CAmDC;;AAEArB,IAAAA,UAAU,CAAC,aAAD,EAAgBc,SAAhB,EAA2B,IAA3B,EAAiCA,SAAjC,EAA4CA,SAA5C,EAAuD,IAAvD,EAA6D,KAA7D,EAAoE,IAApE,EAA0EN,QAA1E,CAAV,CAA8FG,MAA9F,CAAqGS,IAArG,CAA0GR,KAA1G,CAAgH;AAC/Gc,MAAAA,KAAK,EAAE,YADwG;AAE/GT,MAAAA,OAAO,EAAE,IAFsG;AAG/GI,MAAAA,KAAK,EAAE;AAHwG,KAAhH;AAMArB,IAAAA,UAAU,CAAC,eAAD,EAAkBc,SAAlB,EAA6B,IAA7B,EAAmCA,SAAnC,EAA8CA,SAA9C,EAAyD,IAAzD,EAA+D,KAA/D,EAAsE,IAAtE,EAA4EN,QAA5E,CAAV,CAAgGG,MAAhG,CAAuGS,IAAvG,CAA4GR,KAA5G,CAAkH;AACjHc,MAAAA,KAAK,EAAE,cAD0G;AAEjHT,MAAAA,OAAO,EAAE,IAFwG;AAGjHI,MAAAA,KAAK,EAAE;AAH0G,KAAlH,EA3DD,CAiEC;;AACArB,IAAAA,UAAU,CAAC,eAAD,EAAkBc,SAAlB,EAA6BA,SAA7B,EAAwCA,SAAxC,EAAmDA,SAAnD,EAA8D,IAA9D,EAAoE,KAApE,EAA2E,IAA3E,EAAiFN,QAAjF,CAAV,CAAqGG,MAArG,CAA4GS,IAA5G,CAAiHR,KAAjH,CAAuH;AACtH;AACA;AACA;AACAc,MAAAA,KAAK,EAAE,eAJ+G;AAKtHT,MAAAA,OAAO,EAAEH,SAL6G;AAMtHO,MAAAA,KAAK,EAAE;AAN+G,KAAvH,EAlED,CA2EC;AACA;AACA;;AACArB,IAAAA,UAAU,CAAC,EAAD,EAAK,cAAL,EAAqB,IAArB,EAA2Bc,SAA3B,EAAsCA,SAAtC,EAAiD,IAAjD,EAAuD,KAAvD,EAA8D,KAA9D,EAAqEN,QAArE,CAAV,CAAyFG,MAAzF,CAAgGS,IAAhG,CAAqGR,KAArG,CAA2G;AAC1Gc,MAAAA,KAAK,EAAE,EADmG;AAE1GT,MAAAA,OAAO,EAAEH,SAFiG;AAG1GO,MAAAA,KAAK,EAAEP;AAHmG,KAA3G,EA9ED,CAoFC;AACA;AACA;AACA;;AACAd,IAAAA,UAAU,CAAC,EAAD,EAAK,cAAL,EAAqB,IAArB,EAA2B,IAA3B,EAAiCc,SAAjC,EAA4C,IAA5C,EAAkD,KAAlD,EAAyD,KAAzD,EAAgEN,QAAhE,CAAV,CAAoFG,MAApF,CAA2FS,IAA3F,CAAgGR,KAAhG,CAAsG;AACrGc,MAAAA,KAAK,EAAE,EAD8F;AAErGT,MAAAA,OAAO,EAAE,IAF4F;AAGrGI,MAAAA,KAAK,EAAEP;AAH8F,KAAtG,EAxFD,CA8FC;AACA;AACA;;AACAd,IAAAA,UAAU,CAAC,EAAD,EAAK,cAAL,EAAqB,IAArB,EAA2B,IAA3B,EAAiCc,SAAjC,EAA4C,IAA5C,EAAkD,IAAlD,EAAwD,KAAxD,EAA+DN,QAA/D,CAAV,CAAmFG,MAAnF,CAA0FS,IAA1F,CAA+FR,KAA/F,CAAqG;AACpGc,MAAAA,KAAK,EAAE,EAD6F;AAEpGT,MAAAA,OAAO,EAAEH,SAF2F;AAGpGO,MAAAA,KAAK,EAAEP;AAH6F,KAArG,EAjGD,CAuGC;AACA;AACA;;AACAd,IAAAA,UAAU,CAAC,GAAD,EAAM,cAAN,EAAsB,IAAtB,EAA4Bc,SAA5B,EAAuCA,SAAvC,EAAkD,IAAlD,EAAwD,KAAxD,EAA+D,KAA/D,EAAsEN,QAAtE,CAAV,CAA0FG,MAA1F,CAAiGS,IAAjG,CAAsGR,KAAtG,CAA4G;AAC3Gc,MAAAA,KAAK,EAAE,GADoG;AAE3GT,MAAAA,OAAO,EAAEH,SAFkG;AAG3GO,MAAAA,KAAK,EAAEP;AAHoG,KAA5G,EA1GD,CAgHC;;AACAd,IAAAA,UAAU,CAAC,GAAD,EAAM,cAAN,EAAsB,IAAtB,EAA4Bc,SAA5B,EAAuCA,SAAvC,EAAkD,IAAlD,EAAwD,IAAxD,EAA8D,KAA9D,EAAqEN,QAArE,CAAV,CAAyFG,MAAzF,CAAgGS,IAAhG,CAAqGR,KAArG,CAA2G;AAC1Gc,MAAAA,KAAK,EAAE,IADmG;AAE1GT,MAAAA,OAAO,EAAEH,SAFiG;AAG1GO,MAAAA,KAAK,EAAE;AAHmG,KAA3G;AAKA,GAvHC,CAAF;AAyHAX,EAAAA,EAAE,CAAC,iCAAD,EAAoC,YAAM;AAC3CT,IAAAA,qBAAqB,CAAC,cAAD,EAAiB,IAAjB,EAAuB,KAAvB,EAA8BO,QAA9B,CAArB,CAA6DG,MAA7D,CAAoEC,KAApE,CAA0E,cAA1E;AACAX,IAAAA,qBAAqB,CAAC,cAAD,EAAiB,IAAjB,EAAuB,IAAvB,EAA6BO,QAA7B,CAArB,CAA4DG,MAA5D,CAAmEC,KAAnE,CAAyE,cAAzE;AACAX,IAAAA,qBAAqB,CAACa,SAAD,EAAY,IAAZ,EAAkB,IAAlB,EAAwBN,QAAxB,CAArB,CAAuDG,MAAvD,CAA8DC,KAA9D,CAAoE,IAApE;AACAC,IAAAA,MAAM,CAACZ,qBAAqB,CAACa,SAAD,EAAY,IAAZ,EAAkB,KAAlB,EAAyBN,QAAzB,CAAtB,CAAN,CAAgEO,EAAhE,CAAmEC,EAAnE,CAAsEF,SAAtE;AACAD,IAAAA,MAAM,CAACZ,qBAAqB,CAACa,SAAD,EAAYA,SAAZ,EAAuB,KAAvB,EAA8BN,QAA9B,CAAtB,CAAN,CAAqEO,EAArE,CAAwEC,EAAxE,CAA2EF,SAA3E;AACA,GANC,CAAF;AAOA,CAhbO,CAAR","sourcesContent":["import {\r\n\tgetPreSelectedCountry,\r\n\tgetCountrySelectOptions,\r\n\tparsePhoneNumber,\r\n\tgenerateNationalNumberDigits,\r\n\tmigrateParsedInputForNewCountry,\r\n\te164,\r\n\tgetCountryForPartialE164Number,\r\n\tparseInput,\r\n\tgetInitialParsedInput,\r\n\t// Private functions\r\n\tget_country_from_possibly_incomplete_international_phone_number,\r\n\tcompare_strings,\r\n\tstrip_country_calling_code,\r\n\tgetNationalSignificantNumberDigits,\r\n\tcould_number_belong_to_country,\r\n\ttrimNumber\r\n} from './phoneInputHelpers'\r\n\r\nimport metadata from 'libphonenumber-js/metadata.min.json'\r\n\r\ndescribe('phoneInputHelpers', () =>\r\n{\r\n\tit('should get pre-selected country', () =>\r\n\t{\r\n\t\t// Can't return \"International\". Return the first country available.\r\n\t\tgetPreSelectedCountry({}, null, ['US', 'RU'], false, metadata).should.equal('US')\r\n\r\n\t\t// Can return \"International\".\r\n\t\t// Country can't be derived from the phone number.\r\n\t\texpect(getPreSelectedCountry({}, undefined, ['US', 'RU'], true, metadata)).to.be.undefined\r\n\r\n\t\t// Derive country from the phone number.\r\n\t\tgetPreSelectedCountry({ country: 'RU', phone: '8005553535' }, null, ['US', 'RU'], false, metadata).should.equal('RU')\r\n\r\n\t\t// Country derived from the phone number overrides the supplied one.\r\n\t\tgetPreSelectedCountry({ country: 'RU', phone: '8005553535' }, 'US', ['US', 'RU'], false, metadata).should.equal('RU')\r\n\r\n\t\t// Only pre-select a country if it's in the available `countries` list.\r\n\t\tgetPreSelectedCountry({ country: 'RU', phone: '8005553535' }, null, ['US', 'DE'], false, metadata).should.equal('US')\r\n\t\texpect(getPreSelectedCountry({ country: 'RU', phone: '8005553535' }, 'US', ['US', 'DE'], true, metadata)).to.be.undefined\r\n\t})\r\n\r\n\tit('should generate country select options', () =>\r\n\t{\r\n\t\tconst defaultLabels =\r\n\t\t{\r\n\t\t\t'RU': 'Russia (Россия)',\r\n\t\t\t'US': 'United States',\r\n\t\t\t'ZZ': 'International'\r\n\t\t}\r\n\r\n\t\t// Without custom country names.\r\n\t\tgetCountrySelectOptions(['US', 'RU'], defaultLabels, false).should.deep.equal\r\n\t\t([{\r\n\t\t\tvalue : 'RU',\r\n\t\t\tlabel : 'Russia (Россия)'\r\n\t\t}, {\r\n\t\t\tvalue : 'US',\r\n\t\t\tlabel : 'United States'\r\n\t\t}])\r\n\r\n\t\t// With custom country names.\r\n\t\tgetCountrySelectOptions(['US', 'RU'], { ...defaultLabels, 'RU': 'Russia' }, false).should.deep.equal\r\n\t\t([{\r\n\t\t\tvalue : 'RU',\r\n\t\t\tlabel : 'Russia'\r\n\t\t}, {\r\n\t\t\tvalue : 'US',\r\n\t\t\tlabel : 'United States'\r\n\t\t}])\r\n\r\n\t\t// Should substitute missing country names with country codes.\r\n\t\tgetCountrySelectOptions(['US', 'RU'], { ...defaultLabels, 'RU': undefined }, false).should.deep.equal\r\n\t\t([{\r\n\t\t\tvalue : 'RU',\r\n\t\t\tlabel : 'RU'\r\n\t\t}, {\r\n\t\t\tvalue : 'US',\r\n\t\t\tlabel : 'United States'\r\n\t\t}])\r\n\r\n\t\t// With \"International\" (without custom country names).\r\n\t\tgetCountrySelectOptions(['US', 'RU'], defaultLabels, true).should.deep.equal\r\n\t\t([{\r\n\t\t\tlabel : 'International'\r\n\t\t}, {\r\n\t\t\tvalue : 'RU',\r\n\t\t\tlabel : 'Russia (Россия)'\r\n\t\t}, {\r\n\t\t\tvalue : 'US',\r\n\t\t\tlabel : 'United States'\r\n\t\t}])\r\n\r\n\t\t// With \"International\" (with custom country names).\r\n\t\tgetCountrySelectOptions(['US', 'RU'], { ...defaultLabels, 'RU': 'Russia', ZZ: 'Intl' }, true).should.deep.equal\r\n\t\t([{\r\n\t\t\tlabel : 'Intl'\r\n\t\t}, {\r\n\t\t\tvalue : 'RU',\r\n\t\t\tlabel : 'Russia'\r\n\t\t}, {\r\n\t\t\tvalue : 'US',\r\n\t\t\tlabel : 'United States'\r\n\t\t}])\r\n\t})\r\n\r\n\tit('should parse phone numbers', () =>\r\n\t{\r\n\t\tconst phoneNumber = parsePhoneNumber('+78005553535', metadata)\r\n\t\tphoneNumber.country.should.equal('RU')\r\n\t\tphoneNumber.nationalNumber.should.equal('8005553535')\r\n\r\n\t\t// No `value` passed.\r\n\t\texpect(parsePhoneNumber(null, metadata)).to.equal.undefined\r\n\t})\r\n\r\n\tit('should generate national number digits', () =>\r\n\t{\r\n\t\tconst phoneNumber = parsePhoneNumber('+33509758351', metadata)\r\n\t\tgenerateNationalNumberDigits(phoneNumber).should.equal('0509758351')\r\n\t})\r\n\r\n\tit('should migrate parsed input for new country', () =>\r\n\t{\r\n\t\t// No input. Returns `undefined`.\r\n\t\tmigrateParsedInputForNewCountry('', 'RU', 'US', metadata, true).should.equal('')\r\n\r\n\t\t// Switching from \"International\" to a country\r\n\t\t// to which the phone number already belongs to.\r\n\t\t// No changes. Returns `undefined`.\r\n\t\tmigrateParsedInputForNewCountry('+18005553535', null, 'US', metadata).should.equal('+18005553535')\r\n\r\n\t\t// Switching between countries. National number. No changes.\r\n\t\tmigrateParsedInputForNewCountry('8005553535', 'RU', 'US', metadata).should.equal('8005553535')\r\n\r\n\t\t// Switching from \"International\" to a country. Calling code not matches. Resets parsed input.\r\n\t\tmigrateParsedInputForNewCountry('+78005553535', null, 'US', metadata).should.equal('+1')\r\n\r\n\t\t// Switching from \"International\" to a country. Calling code matches. Doesn't reset parsed input.\r\n\t\tmigrateParsedInputForNewCountry('+12223333333', null, 'US', metadata).should.equal('+12223333333')\r\n\r\n\t\t// Switching countries. International number. Calling code doesn't match.\r\n\t\tmigrateParsedInputForNewCountry('+78005553535', 'RU', 'US', metadata).should.equal('+1')\r\n\r\n\t\t// Switching countries. International number. Calling code matches.\r\n\t\tmigrateParsedInputForNewCountry('+18005553535', 'CA', 'US', metadata).should.equal('+18005553535')\r\n\r\n\t\t// Switching countries. International number.\r\n\t\t// Country calling code is longer than the amount of digits available.\r\n\t\tmigrateParsedInputForNewCountry('+99', 'KG', 'US', metadata).should.equal('+1')\r\n\r\n\t\t// Switching countries. International number. No such country code.\r\n\t\tmigrateParsedInputForNewCountry('+99', 'KG', 'US', metadata).should.equal('+1')\r\n\r\n\t\t// Switching to \"International\". National number.\r\n\t\tmigrateParsedInputForNewCountry('8800555', 'RU', null, metadata).should.equal('+7800555')\r\n\r\n\t\t// Switching to \"International\". No national (significant) number digits entered.\r\n\t\tmigrateParsedInputForNewCountry('8', 'RU', null, metadata).should.equal('')\r\n\r\n\t\t// Switching to \"International\". International number. No changes.\r\n\t\tmigrateParsedInputForNewCountry('+78005553535', 'RU', null, metadata).should.equal('+78005553535')\r\n\r\n\t\t// Prefer national format. Country matches. Leaves the \"national (significant) number\".\r\n\t\tmigrateParsedInputForNewCountry('+78005553535', null, 'RU', metadata, true).should.equal('8005553535')\r\n\r\n\t\t// Prefer national format. Country doesn't match, but country calling code does. Leaves the \"national (significant) number\".\r\n\t\tmigrateParsedInputForNewCountry('+12133734253', null, 'CA', metadata, true).should.equal('2133734253')\r\n\r\n\t\t// Prefer national format. Country doesn't match, neither does country calling code. Clears the value.\r\n\t\tmigrateParsedInputForNewCountry('+78005553535', null, 'US', metadata, true).should.equal('')\r\n\r\n\t\t// Force international format. `parsedInput` is empty. From no country to a country.\r\n\t\tmigrateParsedInputForNewCountry(undefined, null, 'US', metadata, false).should.equal('+1')\r\n\r\n\t\t// Force international format. `parsedInput` is not empty. From a country to a country with the same calling code.\r\n\t\tmigrateParsedInputForNewCountry('+1222', 'CA', 'US', metadata, false).should.equal('+1222')\r\n\r\n\t\t// Force international format. `parsedInput` is not empty. From a country to a country with another calling code.\r\n\t\tmigrateParsedInputForNewCountry('+1222', 'CA', 'RU', metadata, false).should.equal('+7')\r\n\r\n\t\t// Force international format. `parsedInput` is not empty. From no country to a country.\r\n\t\tmigrateParsedInputForNewCountry('+1222', null, 'US', metadata, false).should.equal('+1222')\r\n\t})\r\n\r\n\tit('should format phone number in e164', () =>\r\n\t{\r\n\t\t// No number.\r\n\t\texpect(e164()).to.be.undefined\r\n\r\n\t\t// International number. Just a '+' sign.\r\n\t\texpect(e164('+')).to.be.undefined\r\n\r\n\t\t// International number.\r\n\t\te164('+7800').should.equal('+7800')\r\n\r\n\t\t// National number. Without country.\r\n\t\texpect(e164('8800', null)).to.be.undefined\r\n\r\n\t\t// National number. With country. Just national prefix.\r\n\t\texpect(e164('8', 'RU', metadata)).to.be.undefined\r\n\r\n\t\t// National number. With country.\r\n\t\te164('8800', 'RU', metadata).should.equal('+7800')\r\n\t})\r\n\r\n\tit('should trim the phone number if it exceeds the maximum length', () =>\r\n\t{\r\n\t\t// // No number.\r\n\t\t// expect(trimNumber()).to.be.undefined\r\n\r\n\t\t// Empty number.\r\n\t\texpect(trimNumber('', 'RU', metadata)).to.equal('')\r\n\r\n\t\t// // International number. Without country.\r\n\t\t// trimNumber('+780055535351').should.equal('+780055535351')\r\n\r\n\t\t// // National number. Without country.\r\n\t\t// trimNumber('880055535351', null).should.equal('880055535351')\r\n\r\n\t\t// National number. Doesn't exceed the maximum length.\r\n\t\ttrimNumber('88005553535', 'RU', metadata).should.equal('88005553535')\r\n\t\t// National number. Exceeds the maximum length.\r\n\t\ttrimNumber('880055535351', 'RU', metadata).should.equal('88005553535')\r\n\r\n\t\t// International number. Doesn't exceed the maximum length.\r\n\t\ttrimNumber('+78005553535', 'RU', metadata).should.equal('+78005553535')\r\n\t\t// International number. Exceeds the maximum length.\r\n\t\ttrimNumber('+780055535351', 'RU', metadata).should.equal('+78005553535')\r\n\t})\r\n\r\n\tit('should get country for partial E.164 number', () =>\r\n\t{\r\n\t\t// Just a '+' sign.\r\n\t\tgetCountryForPartialE164Number('+', 'RU', ['US', 'RU'], true, metadata).should.equal('RU')\r\n\t\texpect(getCountryForPartialE164Number('+', undefined, ['US', 'RU'], true, metadata)).to.be.undefined\r\n\r\n\t\t// A country can be derived.\r\n\t\tgetCountryForPartialE164Number('+78005553535', undefined, ['US', 'RU'], true, metadata).should.equal('RU')\r\n\r\n\t\t// A country can't be derived yet.\r\n\t\t// And the currently selected country doesn't fit the number.\r\n\t\texpect(getCountryForPartialE164Number('+7', 'FR', ['FR', 'RU'], true, metadata)).to.be.undefined\r\n\t\texpect(getCountryForPartialE164Number('+12', 'FR', ['FR', 'US'], true, metadata)).to.be.undefined\r\n\r\n\t\t// A country can't be derived yet.\r\n\t\t// And the currently selected country doesn't fit the number.\r\n\t\t// Bit \"International\" option is not available.\r\n\t\tgetCountryForPartialE164Number('+7', 'FR', ['FR', 'RU'], false, metadata).should.equal('FR')\r\n\t\tgetCountryForPartialE164Number('+12', 'FR', ['FR', 'US'], false, metadata).should.equal('FR')\r\n\t})\r\n\r\n\tit('should get country from possibly incomplete international phone number', () =>\r\n\t{\r\n\t\t// // `001` country calling code.\r\n\t\t// // Non-geographic numbering plan.\r\n\t\t// expect(get_country_from_possibly_incomplete_international_phone_number('+800', metadata)).to.be.undefined\r\n\r\n\t\t// Country can be derived.\r\n\t\tget_country_from_possibly_incomplete_international_phone_number('+33', metadata).should.equal('FR')\r\n\r\n\t\t// Country can't be derived yet.\r\n\t\texpect(get_country_from_possibly_incomplete_international_phone_number('+12', metadata)).to.be.undefined\r\n\t})\r\n\r\n\tit('should compare strings', () =>\r\n\t{\r\n\t\tcompare_strings('aa', 'ab').should.equal(-1)\r\n\t\tcompare_strings('aa', 'aa').should.equal(0)\r\n\t\tcompare_strings('aac', 'aab').should.equal(1)\r\n\t})\r\n\r\n\tit('should strip country calling code from a number', () =>\r\n\t{\r\n\t\t// Number is longer than country calling code prefix.\r\n\t\tstrip_country_calling_code('+7800', 'RU', metadata).should.equal('800')\r\n\r\n\t\t// Number is shorter than (or equal to) country calling code prefix.\r\n\t\tstrip_country_calling_code('+3', 'FR', metadata).should.equal('')\r\n\t\tstrip_country_calling_code('+7', 'FR', metadata).should.equal('')\r\n\r\n\t\t// `country` doesn't fit the actual `number`.\r\n\t\t// Iterates through all available country calling codes.\r\n\t\tstrip_country_calling_code('+7800', 'FR', metadata).should.equal('800')\r\n\r\n\t\t// No `country`.\r\n\t\t// And the calling code doesn't belong to any country.\r\n\t\tstrip_country_calling_code('+999', null, metadata).should.equal('')\r\n\t})\r\n\r\n\tit('should get national significant number part', () =>\r\n\t{\r\n\t\t// International number.\r\n\t\tgetNationalSignificantNumberDigits('+7800555', null, metadata).should.equal('800555')\r\n\r\n\t\t// International number.\r\n\t\t// No national (significant) number digits.\r\n\t\texpect(getNationalSignificantNumberDigits('+', null, metadata)).to.be.undefined\r\n\t\texpect(getNationalSignificantNumberDigits('+7', null, metadata)).to.be.undefined\r\n\r\n\t\t// National number.\r\n\t\tgetNationalSignificantNumberDigits('8800555', 'RU', metadata).should.equal('800555')\r\n\r\n\t\t// National number.\r\n\t\t// No national (significant) number digits.\r\n\t\texpect(getNationalSignificantNumberDigits('8', 'RU', metadata)).to.be.undefined\r\n\t\texpect(getNationalSignificantNumberDigits('', 'RU', metadata)).to.be.undefined\r\n\t})\r\n\r\n\tit('should determine of a number could belong to a country', () =>\r\n\t{\r\n\t\t// Matching.\r\n\t\tcould_number_belong_to_country('+7800', 'RU', metadata).should.equal(true)\r\n\r\n\t\t// First digit already not matching.\r\n\t\tcould_number_belong_to_country('+7800', 'FR', metadata).should.equal(false)\r\n\r\n\t\t// First digit matching, second - not matching.\r\n\t\tcould_number_belong_to_country('+33', 'AM', metadata).should.equal(false)\r\n\r\n\t\t// Number is shorter than country calling code.\r\n\t\tcould_number_belong_to_country('+99', 'KG', metadata).should.equal(true)\r\n\t})\r\n\r\n\tit('should parse input', () =>\r\n\t{\r\n\t\tparseInput(undefined, undefined, 'RU', undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: undefined,\r\n\t\t\tcountry: 'RU',\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\tparseInput('', undefined, undefined, undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\tparseInput('+', undefined, undefined, undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\tparseInput('1213', undefined, undefined, undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+1213',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: '+1213'\r\n\t\t})\r\n\r\n\t\tparseInput('+1213', undefined, undefined, undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+1213',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: '+1213'\r\n\t\t})\r\n\r\n\t\tparseInput('213', undefined, 'US', undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '213',\r\n\t\t\tcountry: 'US',\r\n\t\t\tvalue: '+1213'\r\n\t\t})\r\n\r\n\t\tparseInput('+78005553535', undefined, 'US', undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+78005553535',\r\n\t\t\tcountry: 'RU',\r\n\t\t\tvalue: '+78005553535'\r\n\t\t})\r\n\r\n\t\t// Won't reset an already selected country.\r\n\r\n\t\tparseInput('+15555555555', undefined, 'US', undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+15555555555',\r\n\t\t\tcountry: 'US',\r\n\t\t\tvalue: '+15555555555'\r\n\t\t})\r\n\r\n\t\t// `limitMaxLength`.\r\n\r\n\t\tparseInput('21337342530', undefined, 'US', undefined, undefined, true, false, true, metadata).should.deep.equal({\r\n\t\t\tinput: '2133734253',\r\n\t\t\tcountry: 'US',\r\n\t\t\tvalue: '+12133734253'\r\n\t\t})\r\n\r\n\t\tparseInput('+121337342530', undefined, 'US', undefined, undefined, true, false, true, metadata).should.deep.equal({\r\n\t\t\tinput: '+12133734253',\r\n\t\t\tcountry: 'US',\r\n\t\t\tvalue: '+12133734253'\r\n\t\t})\r\n\r\n\t\t// This case is intentionally ignored to simplify the code.\r\n\t\tparseInput('+121337342530', undefined, undefined, undefined, undefined, true, false, true, metadata).should.deep.equal({\r\n\t\t\t// input: '+12133734253',\r\n\t\t\t// country: 'US',\r\n\t\t\t// value: '+12133734253'\r\n\t\t\tinput: '+121337342530',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: '+121337342530'\r\n\t\t})\r\n\r\n\t\t// Should reset the country if it has likely been automatically\r\n\t\t// selected based on international phone number input\r\n\t\t// and the user decides to erase all input.\r\n\t\tparseInput('', '+78005553535', 'RU', undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\t// Should reset the country if it has likely been automatically\r\n\t\t// selected based on international phone number input\r\n\t\t// and the user decides to erase all input.\r\n\t\t// Should reset to default country.\r\n\t\tparseInput('', '+78005553535', 'RU', 'US', undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '',\r\n\t\t\tcountry: 'US',\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\t// Shouldn't set `country` to `defaultCountry`\r\n\t\t// when erasing parsed input starting with a `+`\r\n\t\t// when `international` is `true`.\r\n\t\tparseInput('', '+78005553535', 'RU', 'US', undefined, true, true, false, metadata).should.deep.equal({\r\n\t\t\tinput: '',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\t// Should reset the country if it has likely been automatically\r\n\t\t// selected based on international phone number input\r\n\t\t// and the user decides to erase all input up to the `+` sign.\r\n\t\tparseInput('+', '+78005553535', 'RU', undefined, undefined, true, false, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: undefined\r\n\t\t})\r\n\r\n\t\t// Should support forcing international phone number input format.\r\n\t\tparseInput('2', '+78005553535', 'RU', undefined, undefined, true, true, false, metadata).should.deep.equal({\r\n\t\t\tinput: '+2',\r\n\t\t\tcountry: undefined,\r\n\t\t\tvalue: '+2'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should get initial parsed input', () => {\r\n\t\tgetInitialParsedInput('+78005553535', 'RU', false, metadata).should.equal('+78005553535')\r\n\t\tgetInitialParsedInput('+78005553535', 'RU', true, metadata).should.equal('+78005553535')\r\n\t\tgetInitialParsedInput(undefined, 'RU', true, metadata).should.equal('+7')\r\n\t\texpect(getInitialParsedInput(undefined, 'RU', false, metadata)).to.be.undefined\r\n\t\texpect(getInitialParsedInput(undefined, undefined, false, metadata)).to.be.undefined\r\n\t})\r\n})"],"file":"phoneInputHelpers.test.js"}