{"version":3,"sources":["../source/AsYouType.test.js"],"names":["AsYouType","country_code","metadata","AsYouType_","USE_NON_GEOGRAPHIC_COUNTRY_CODE","describe","it","input","should","equal","formatter","template","populatedNationalNumberTemplate","expect","to","be","undefined","type","country","countryCallingCode","getTemplate","reset","getNationalNumber","asYouType","thrower","getNumber","phoneNumber","number","nationalNumber","not","carrierCode","defaultCallingCode","defaultCountry","chosenFormat","format","formats","nationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","formatter2","format2","isPossible","isValid","isInternational","formatterInt","getCountryCallingCode","getCountry","formatterIntRu","something"],"mappings":"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","sourcesContent":["import metadata from '../metadata.min.json'\r\nimport AsYouType_, { closeNonPairedParens, stripNonPairedParens, repeat } from './AsYouType'\r\n\r\nclass AsYouType extends AsYouType_ {\r\n\tconstructor(country_code) {\r\n\t\tsuper(country_code, metadata)\r\n\t}\r\n}\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\ndescribe('as you type', () => {\r\n\tit('should use \"national_prefix_formatting_rule\"', () => {\r\n\t\t// With national prefix (full).\r\n\t\tnew AsYouType('RU').input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\t// With national prefix (partial).\r\n\t\tnew AsYouType('RU').input('880055535').should.equal('8 (800) 555-35')\r\n\t})\r\n\r\n\tit('should populate national number template (digit by digit)', () => {\r\n\t\tconst formatter = new AsYouType('US')\r\n\t\tformatter.input('1')\r\n\t\tformatter.template.should.equal('x (xxx) xxx-xxxx')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('1 (xxx) xxx-xxxx')\r\n\t\tformatter.input('213')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('1 (213) xxx-xxxx')\r\n\t\tformatter.input('3734253')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('1 (213) 373-4253')\r\n\t})\r\n\r\n\tit('should populate international number template (digit by digit) (default country)', () => {\r\n\t\tconst formatter = new AsYouType('US')\r\n\t\texpect(formatter.template).to.be.undefined\r\n\t\texpect(formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('').should.equal('')\r\n\t\texpect(formatter.template).to.be.undefined\r\n\t\texpect(formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\texpect(formatter.template).to.be.undefined\r\n\t\texpect(formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('1').should.equal('+1')\r\n\t\tformatter.template.should.equal('xx xxx xxx xxxx')\r\n\t\t// Hasn't yet started formatting the phone number using the template.\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('xxx xxx xxxx')\r\n\t\t// Has some national number digits, starts formatting the phone number using the template.\r\n\t\tformatter.input('213')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('213 xxx xxxx')\r\n\t\tformatter.input('3734253')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('213 373 4253')\r\n\t})\r\n\r\n\tit('should populate international number template (digit by digit)', () => {\r\n\t\tconst formatter = new AsYouType()\r\n\t\texpect(formatter.template).to.be.undefined\r\n\t\texpect(formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('').should.equal('')\r\n\t\texpect(formatter.template).to.be.undefined\r\n\t\texpect(formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\texpect(formatter.template).to.be.undefined\r\n\t\texpect(formatter.populatedNationalNumberTemplate).to.be.undefined\r\n\t\tformatter.input('1').should.equal('+1')\r\n\t\tformatter.template.should.equal('xx xxx xxx xxxx')\r\n\t\t// Hasn't yet started formatting the phone number using the template.\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('xxx xxx xxxx')\r\n\t\t// Has some national number digits, starts formatting the phone number using the template.\r\n\t\tformatter.input('213')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('213 xxx xxxx')\r\n\t\tformatter.input('3734253')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('213 373 4253')\r\n\t})\r\n\r\n\tit('should populate national number template (attempt to format complete number)', () => {\r\n\t\tconst formatter = new AsYouType('US')\r\n\t\tformatter.input('12133734253').should.equal('1 (213) 373-4253')\r\n\t\tformatter.template.should.equal('x (xxx) xxx-xxxx')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('1 (213) 373-4253')\r\n\t})\r\n\r\n\tit('should parse and format phone numbers as you type', () => {\r\n\t\t// International number test\r\n\t\tnew AsYouType().input('+12133734').should.equal('+1 213 373 4')\r\n\t\t// Local number test\r\n\t\tnew AsYouType('US').input('2133734').should.equal('(213) 373-4')\r\n\r\n\t\t// US national number retains national prefix.\r\n\t\tnew AsYouType('US').input('12133734').should.equal('1 (213) 373-4')\r\n\r\n\t\t// US national number retains national prefix (full number).\r\n\t\tnew AsYouType('US').input('12133734253').should.equal('1 (213) 373-4253')\r\n\r\n\t\t// Should discard the national prefix\r\n\t\t// when a whole phone number format matches\r\n\t\tnew AsYouType('RU').input('8800555353').should.equal('880 055-53-53')\r\n\r\n\t\tnew AsYouType('CH').input('044-668-1').should.equal('044 668 1')\r\n\r\n\t\tlet formatter\r\n\r\n\t\t// Test International phone number (international)\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\t\ttype(formatter.countryCallingCode).should.equal('undefined')\r\n\t\tformatter.getTemplate().should.equal('')\r\n\r\n\t\tformatter.input('+').should.equal('+')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\t\ttype(formatter.countryCallingCode).should.equal('undefined')\r\n\t\tformatter.getTemplate().should.equal('x')\r\n\r\n\t\tformatter.input('1').should.equal('+1')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\t\tformatter.countryCallingCode.should.equal('1')\r\n\t\tformatter.getTemplate().should.equal('xx')\r\n\r\n\t\tformatter.input('2').should.equal('+1 2')\r\n\t\tformatter.getTemplate().should.equal('xx x')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\r\n\t\tformatter.input('1').should.equal('+1 21')\r\n\t\tformatter.input('3').should.equal('+1 213')\r\n\t\tformatter.input(' ').should.equal('+1 213')\r\n\t\tformatter.input('3').should.equal('+1 213 3')\r\n\t\tformatter.input('3').should.equal('+1 213 33')\r\n\t\tformatter.input('3').should.equal('+1 213 333')\r\n\t\tformatter.input('4').should.equal('+1 213 333 4')\r\n\t\tformatter.input('4').should.equal('+1 213 333 44')\r\n\t\tformatter.input('4').should.equal('+1 213 333 444')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\r\n\t\tformatter.input('4').should.equal('+1 213 333 4444')\r\n\r\n\t\t// formatter.valid.should.be.true\r\n\t\tformatter.country.should.equal('US')\r\n\t\t// This one below contains \"punctuation spaces\"\r\n\t\t// along with the regular spaces\r\n\t\tformatter.template.should.equal('xx xxx xxx xxxx')\r\n\r\n\t\tformatter.input('5').should.equal('+1 21333344445')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\t\tformatter.countryCallingCode.should.equal('1')\r\n\t\ttype(formatter.template).should.equal('undefined')\r\n\r\n\t\t// Check that clearing an international formatter\r\n\t\t// also clears country metadata.\r\n\r\n\t\tformatter.reset()\r\n\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.input('7').should.equal('+7')\r\n\t\tformatter.input('9').should.equal('+7 9')\r\n\t\tformatter.input('99 111 22 33').should.equal('+7 999 111 22 33')\r\n\r\n\t\t// Test Switzerland phone numbers\r\n\r\n\t\tformatter = new AsYouType('CH')\r\n\r\n\t\tformatter.input(' ').should.equal('')\r\n\t\tformatter.input('0').should.equal('0')\r\n\t\tformatter.input('4').should.equal('04')\r\n\t\tformatter.input(' ').should.equal('04')\r\n\t\tformatter.input('-').should.equal('04')\r\n\t\tformatter.input('4').should.equal('044')\r\n\t\tformatter.input('-').should.equal('044')\r\n\t\tformatter.input('6').should.equal('044 6')\r\n\t\tformatter.input('6').should.equal('044 66')\r\n\t\tformatter.input('8').should.equal('044 668')\r\n\t\tformatter.input('-').should.equal('044 668')\r\n\t\tformatter.input('1').should.equal('044 668 1')\r\n\t\tformatter.input('8').should.equal('044 668 18')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\tformatter.country.should.equal('CH')\r\n\t\tformatter.template.should.equal('xxx xxx xx xx')\r\n\r\n\t\tformatter.input(' 00').should.equal('044 668 18 00')\r\n\r\n\t\t// formatter.valid.should.be.true\r\n\t\tformatter.country.should.equal('CH')\r\n\t\tformatter.template.should.equal('xxx xxx xx xx')\r\n\r\n\t\tformatter.input('9').should.equal('04466818009')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\tformatter.country.should.equal('CH')\r\n\t\ttype(formatter.template).should.equal('undefined')\r\n\r\n\t\t// Kazakhstan (non-main country for +7 country phone code)\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('+77172580659')\r\n\t\tformatter.country.should.equal('KZ')\r\n\r\n\t\t// Brazil\r\n\r\n\t\tformatter = new AsYouType('BR')\r\n\t\tformatter.input('11987654321').should.equal('11 98765-4321')\r\n\r\n\t\t// UK (Jersey) (non-main country for +44 country phone code)\r\n\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+447700300000').should.equal('+44 7700 300000')\r\n\t\tformatter.template.should.equal('xxx xxxx xxxxxx')\r\n\t\tformatter.country.should.equal('JE')\r\n\r\n\t\t// Test Afghanistan phone numbers\r\n\r\n\t\tformatter = new AsYouType('AF')\r\n\r\n\t\t// No national prefix\r\n\t\tformatter.input('44444444').should.equal('44444444')\r\n\t\ttype(formatter.template).should.equal('undefined')\r\n\r\n\t\t// With national prefix\r\n\t\tformatter.reset().input('044444444').should.equal('044 444 444')\r\n\t\tformatter.template.should.equal('xxx xxx xxxx')\r\n\r\n\t\t// Braces must be part of the template.\r\n\t\tformatter = new AsYouType('RU')\r\n\t\tformatter.input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\tformatter.template.should.equal('x (xxx) xxx-xx-xx')\r\n\r\n\t\t// Test Russian phone numbers\r\n\t\t// (with optional national prefix `8`)\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('9').should.equal('8 9')\r\n\t\tformatter.input('9').should.equal('8 99')\r\n\t\tformatter.input('9').should.equal('8 (999)')\r\n\t\tformatter.input('-').should.equal('8 (999)')\r\n\t\tformatter.input('1234').should.equal('8 (999) 123-4')\r\n\t\tformatter.input('567').should.equal('8 (999) 123-45-67')\r\n\t\tformatter.input('8').should.equal('899912345678')\r\n\r\n\t\t// Shouldn't strip national prefix if it is optional\r\n\t\t// and if it's a valid phone number.\r\n\t\tformatter = new AsYouType('RU')\r\n\t\t// formatter.input('8005553535').should.equal('(800) 555-35-35')\r\n\t\tformatter.input('8005553535')\r\n\t\tformatter.getNationalNumber().should.equal('8005553535')\r\n\r\n\t\t// Check that clearing an national formatter:\r\n\t\t// * doesn't clear country metadata\r\n\t\t// * clears all other things\r\n\r\n\t\tformatter.reset()\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('9').should.equal('8 9')\r\n\t\tformatter.input('9').should.equal('8 99')\r\n\t\tformatter.input('9').should.equal('8 (999)')\r\n\t\tformatter.input('-').should.equal('8 (999)')\r\n\t\tformatter.input('1234').should.equal('8 (999) 123-4')\r\n\t\tformatter.input('567').should.equal('8 (999) 123-45-67')\r\n\t\tformatter.input('8').should.equal('899912345678')\r\n\r\n\t\t// National prefix should not be prepended\r\n\t\t// when formatting local NANPA phone numbers.\r\n\t\tnew AsYouType('US').input('1').should.equal('1')\r\n\t\tnew AsYouType('US').input('12').should.equal('1 2')\r\n\t\tnew AsYouType('US').input('123').should.equal('1 23')\r\n\r\n\t\t// Bulgaria\r\n\t\t// (should not prepend national prefix `0`)\r\n\t\tnew AsYouType('BG').input('111 222 3').should.equal('1112223')\r\n\r\n\t\t// Brazil\r\n\t\t// (should not add braces around `12`\r\n\t\t// because the phone number is being output in the international format)\r\n\t\tnew AsYouType().input('+55123456789').should.equal('+55 12 3456 789')\r\n\t\tnew AsYouType('BR').input('+55123456789').should.equal('+55 12 3456 789')\r\n\t\tnew AsYouType('BR').input('123456789').should.equal('12 3456-789')\r\n\r\n\t\t// Deutchland\r\n\t\tnew AsYouType().input('+4915539898001').should.equal('+49 15539 898001')\r\n\r\n\t\t// KZ detection\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+7 702 211 1111')\r\n\t\tformatter.country.should.equal('KZ')\r\n\t\t// formatter.valid.should.equal(true)\r\n\r\n\t\t// New Zealand formatting fix (issue #89)\r\n\t\tnew AsYouType('NZ').input('0212').should.equal('021 2')\r\n\r\n\t\t// South Korea\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+82111111111').should.equal('+82 11 111 1111')\r\n\t\tformatter.template.should.equal('xxx xx xxx xxxx')\r\n\t})\r\n\r\n\tit('should not forgive incorrect international phone numbers', () => {\r\n\t\tlet formatter\r\n\r\n\t\tformatter = new AsYouType()\r\n\t\t// formatter.input('+1 1 877 215 5230').should.equal('+1 1 877 215 5230')\r\n\t\tformatter.input('+1 1 877 215 5230').should.equal('+1 18772155230')\r\n\t\t// formatter.getNationalNumber().should.equal('8772155230')\r\n\t\tformatter.getNationalNumber().should.equal('18772155230')\r\n\r\n\t\tformatter = new AsYouType()\r\n\t\tformatter.input('+78800555353').should.equal('+7 880 055 53 53')\r\n\t\tformatter.input('5').should.equal('+7 88005553535')\r\n\t\tformatter.getNationalNumber().should.equal('88005553535')\r\n\t})\r\n\r\n\tit('should return a partial template for current value', () => {\r\n\t\tconst asYouType = new AsYouType('US')\r\n\r\n\t\tasYouType.input('').should.equal('')\r\n\t\tasYouType.getTemplate().should.equal('')\r\n\r\n\t\tasYouType.input('2').should.equal('2')\r\n\t\t// asYouType.getTemplate().should.equal('x')\r\n\t\t// Doesn't format for a single digit.\r\n\t\tasYouType.getTemplate().should.equal('x')\r\n\r\n\t\tasYouType.input('1').should.equal('21')\r\n\t\tasYouType.getTemplate().should.equal('xx')\r\n\r\n\t\tasYouType.input('3').should.equal('(213)')\r\n\t\tasYouType.getTemplate().should.equal('(xxx)')\r\n\t})\r\n\r\n\tit('should close non-paired braces', () => {\r\n\t\tcloseNonPairedParens('(000) 123-45 (9 )', 15).should.equal('(000) 123-45 (9 )')\r\n\t})\r\n\r\n\tit('should strip non-paired braces', () => {\r\n\t\tstripNonPairedParens('(000) 123-45 (9').should.equal('(000) 123-45 9')\r\n\t\tstripNonPairedParens('(000) 123-45 (9)').should.equal('(000) 123-45 (9)')\r\n\t})\r\n\r\n\tit(`should fall back to the default country`, () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('9').should.equal('8 9')\r\n\t\tformatter.input('9').should.equal('8 99')\r\n\t\tformatter.input('9').should.equal('8 (999)')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\tformatter.template.should.equal('x (xxx) xxx-xx-xx')\r\n\t\tformatter.country.should.equal('RU')\r\n\t\t// formatter.countryCallingCode.should.equal('7')\r\n\r\n\t\tformatter.input('000000000000').should.equal('8999000000000000')\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.template).should.equal('undefined')\r\n\t\tformatter.country.should.equal('RU')\r\n\t\t// formatter.countryCallingCode.should.equal('7')\r\n\r\n\t\tformatter.reset()\r\n\r\n\t\t// formatter.valid.should.be.false\r\n\t\ttype(formatter.template).should.equal('undefined')\r\n\t\tformatter.country.should.equal('RU')\r\n\t\t// formatter.countryCallingCode.should.equal('7')\r\n\r\n\t\tformatter.input('+1-213-373-4253').should.equal('+1 213 373 4253')\r\n\r\n\t\t// formatter.valid.should.be.true\r\n\t\tformatter.template.should.equal('xx xxx xxx xxxx')\r\n\t\tformatter.country.should.equal('US')\r\n\t\tformatter.countryCallingCode.should.equal('1')\r\n\t})\r\n\r\n\tit('should work in edge cases', () => {\r\n\t\tlet formatter\r\n\t\tlet thrower\r\n\r\n\t\t// No metadata\r\n\t\tthrower = () => new AsYouType_('RU')\r\n\t\tthrower.should.throw('`metadata` argument not passed')\r\n\r\n\t\t// Second '+' sign\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.input('7').should.equal('+7')\r\n\t\tformatter.input('+').should.equal('+7')\r\n\r\n\t\t// Out-of-position '+' sign\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('8').should.equal('8')\r\n\t\tformatter.input('+').should.equal('8')\r\n\r\n\t\t// No format matched\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\tformatter.input('0').should.equal('880055535350')\r\n\r\n\t\t// Invalid country phone code\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('+0123').should.equal('+0123')\r\n\r\n\t\t// No country specified and not an international number\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('88005553535').should.equal('88005553535')\r\n\r\n\t\t// Extract national prefix when no `national_prefix` is set\r\n\r\n\t\tformatter = new AsYouType('AD')\r\n\r\n\t\tformatter.input('155555').should.equal('155 555')\r\n\r\n\t\t// Typing nonsense\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('+1abc2').should.equal('+1')\r\n\r\n\t\t// Should reset default country when explicitly\r\n\t\t// typing in an international phone number\r\n\r\n\t\tformatter = new AsYouType('RU')\r\n\r\n\t\tformatter.input('+')\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\t\ttype(formatter.countryCallingCode).should.equal('undefined')\r\n\r\n\t\t// Country not inferrable from the phone number,\r\n\t\t// while the phone number itself can already be formatted \"completely\".\r\n\r\n\t\tformatter = new AsYouType()\r\n\r\n\t\tformatter.input('+12223333333')\r\n\t\ttype(formatter.country).should.equal('undefined')\r\n\t\tformatter.countryCallingCode.should.equal('1')\r\n\r\n\t\t// An otherwise matching phone number format is skipped\r\n\t\t// when it requires a national prefix but no national prefix was entered.\r\n\t\tformatter = new AsYouType('CN')\r\n\t\tformatter.input('01010000').should.equal('010 10000')\r\n\t\tformatter.reset().input('1010000').should.equal('10 1000 0')\r\n\r\n\t\t// Reset a chosen format when it no longer applies given the new leading digits.\r\n\t\t// If Google changes metadata for England then this test might not cover the case.\r\n\t\tformatter = new AsYouType('GB')\r\n\t\tformatter.input('0845').should.equal('0845')\r\n\t\t// New leading digits don't match the format previously chosen.\r\n\t\t// Reset the format.\r\n\t\tformatter.input('0').should.equal('0845 0')\r\n\t})\r\n\r\n\tit('should not accept phone number extensions', () => {\r\n\t\tnew AsYouType().input('+1-213-373-4253 ext. 123').should.equal('+1 213 373 4253')\r\n\t})\r\n\r\n\tit('should parse non-European digits', () => {\r\n\t\tnew AsYouType().input('+١٢١٢٢٣٢٣٢٣٢').should.equal('+1 212 232 3232')\r\n\t})\r\n\r\n\tit('should return a PhoneNumber instance', () => {\r\n\t\tconst formatter = new AsYouType('BR')\r\n\r\n\t\t// No country calling code.\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\r\n\t\tformatter.input('+1')\r\n\t\t// No national number digits.\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\r\n\t\tformatter.input('213-373-4253')\r\n\r\n\t\tlet phoneNumber = formatter.getNumber()\r\n\t\tphoneNumber.country.should.equal('US')\r\n\t\tphoneNumber.countryCallingCode.should.equal('1')\r\n\t\tphoneNumber.number.should.equal('+12133734253')\r\n\t\tphoneNumber.nationalNumber.should.equal('2133734253')\r\n\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+1-113-373-4253')\r\n\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber.country).to.be.undefined\r\n\t\tphoneNumber.countryCallingCode.should.equal('1')\r\n\r\n\t\t// An incorrect NANPA international phone number.\r\n\t\t// (contains national prefix in an international phone number)\r\n\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+1-1')\r\n\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber).to.not.be.undefined\r\n\r\n\t\tformatter.input('1')\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber.country).to.be.undefined\r\n\t\tphoneNumber.countryCallingCode.should.equal('1')\r\n\t\tphoneNumber.number.should.equal('+111')\r\n\t})\r\n\r\n\tit('should work with Argentina numbers', () => {\r\n\t\t// The same mobile number is written differently\r\n\t\t// in different formats in Argentina:\r\n\t\t// `9` gets prepended in international format.\r\n\t\tconst asYouType = new AsYouType('AR')\r\n\t\tasYouType.input('+5493435551212').should.equal('+54 9 3435 55 1212')\r\n\t\tasYouType.reset()\r\n\t\t// Digits shouldn't be changed.\r\n\t\t// Normally formats `034 35 15 55 1212` as `03934 35-55-1212`.\r\n\t\tasYouType.input('0343515551212').should.equal('0343515551212')\r\n\t})\r\n\r\n\tit('should work with Mexico numbers', () => {\r\n\t\tconst asYouType = new AsYouType('MX')\r\n\t\t// Fixed line.\r\n\t\tasYouType.input('+52(449)978-000').should.equal('+52 449 978 000')\r\n\t\tasYouType.input('1').should.equal('+52 449 978 0001')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('01449978000').should.equal('01449 978 000')\r\n\t\tasYouType.getTemplate().should.equal('xxxxx xxx xxx')\r\n\t\tasYouType.input('1').should.equal('01449 978 0001')\r\n\t\tasYouType.getTemplate().should.equal('xxxxx xxx xxxx')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('(449)978-000').should.equal('449 978 000')\r\n\t\tasYouType.getTemplate().should.equal('xxx xxx xxx')\r\n\t\tasYouType.input('1').should.equal('449 978 0001')\r\n\t\tasYouType.getTemplate().should.equal('xxx xxx xxxx')\r\n\t\t// Mobile.\r\n\t\t// `1` is prepended before area code to mobile numbers in international format.\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('+521331234567').should.equal('+52 13 3123 4567')\r\n\t\tasYouType.getTemplate().should.equal('xxx xx xxxx xxxx')\r\n\t\t// https://issuetracker.google.com/issues/147938979\r\n\t\t// asYouType.input('8').should.equal('+52 133 1234 5678')\r\n\t\t// asYouType.getTemplate().should.equal('xxx xxx xxxx xxxx')\r\n\t\tasYouType.input('8').should.equal('+52 13312345678')\r\n\t\tasYouType.getTemplate().should.equal('xxx xxxxxxxxxxx')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('+52331234567').should.equal('+52 33 1234 567')\r\n\t\tasYouType.input('8').should.equal('+52 33 1234 5678')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('044331234567').should.equal('04433 1234 567')\r\n\t\tasYouType.input('8').should.equal('04433 1234 5678')\r\n\t\tasYouType.reset()\r\n\t\tasYouType.input('045331234567').should.equal('04533 1234 567')\r\n\t\tasYouType.input('8').should.equal('04533 1234 5678')\r\n\t})\r\n\r\n\tit('should not duplicate area code for certain countries', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/318\r\n\t\tconst asYouType = new AsYouType('VI')\r\n\t\t// Even though `parse(\"3406934\")` would return a\r\n\t\t// \"(340) 340-6934\" national number, still\r\n\t\t// \"As You Type\" formatter should leave it as \"(340) 6934\".\r\n\t\tasYouType.input('340693').should.equal('(340) 693')\r\n\t\tasYouType.input('4').should.equal('(340) 693-4')\r\n\t\tasYouType.input('123').should.equal('(340) 693-4123')\r\n\t})\r\n\r\n\tit('shouldn\\'t throw when passed a non-existent default country', () => {\r\n\t\tnew AsYouType('XX').input('+78005553535').should.equal('+7 800 555 35 35')\r\n\t\tnew AsYouType('XX').input('88005553535').should.equal('88005553535')\r\n\t})\r\n\r\n\tit('should parse carrier codes', () => {\r\n\t\tconst formatter = new AsYouType('BR')\r\n\r\n\t\tformatter.input('0 15 21 5555-5555')\r\n\t\tlet phoneNumber = formatter.getNumber()\r\n\t\tphoneNumber.carrierCode.should.equal('15')\r\n\r\n\t\tformatter.reset()\r\n\t\tformatter.input('+1-213-373-4253')\r\n\t\tphoneNumber = formatter.getNumber()\r\n\t\texpect(phoneNumber.carrierCode).to.be.undefined\r\n\t})\r\n\r\n\tit('should format when default country calling code is configured', () => {\r\n\t\tconst formatter = new AsYouType({ defaultCallingCode: '7' })\r\n\t\tformatter.input('88005553535').should.equal('8 (800) 555-35-35')\r\n\t\tformatter.getNumber().countryCallingCode.should.equal('7')\r\n\t\tformatter.getNumber().country.should.equal('RU')\r\n\t})\r\n\r\n\tit('shouldn\\'t return PhoneNumber if country calling code hasn\\'t been input yet', () => {\r\n\t\tconst formatter = new AsYouType()\r\n\t\tformatter.input('+80')\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\t})\r\n\r\n\tit('should format non-geographic numbering plan phone numbers', () => {\r\n\t\tconst formatter = new AsYouType()\r\n\t\tformatter.input('+').should.equal('+')\r\n\t\tformatter.input('8').should.equal('+8')\r\n\t\tformatter.input('7').should.equal('+87')\r\n\t\texpect(formatter.country).to.be.undefined\r\n\t\tformatter.input('0').should.equal('+870')\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.country).to.be.undefined\r\n\t\t}\r\n\t\tformatter.input('7').should.equal('+870 7')\r\n\t\tformatter.input('7').should.equal('+870 77')\r\n\t\tformatter.input('3').should.equal('+870 773')\r\n\t\tformatter.input('1').should.equal('+870 773 1')\r\n\t\tformatter.input('1').should.equal('+870 773 11')\r\n\t\tformatter.input('1').should.equal('+870 773 111')\r\n\t\tformatter.input('6').should.equal('+870 773 111 6')\r\n\t\tformatter.input('3').should.equal('+870 773 111 63')\r\n\t\tformatter.input('2').should.equal('+870 773 111 632')\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getNumber().country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.country).to.be.undefined\r\n\t\t}\r\n\t\tformatter.getNumber().countryCallingCode.should.equal('870')\r\n\t})\r\n\r\n\tit('should format non-geographic numbering plan phone numbers (default country calling code)', () => {\r\n\t\tconst formatter = new AsYouType({ defaultCallingCode: '870' })\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getNumber().country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.country).to.be.undefined\r\n\t\t}\r\n\t\tformatter.input('7').should.equal('7')\r\n\t\tformatter.input('7').should.equal('77')\r\n\t\tformatter.input('3').should.equal('773')\r\n\t\tformatter.input('1').should.equal('773 1')\r\n\t\tformatter.input('1').should.equal('773 11')\r\n\t\tformatter.input('1').should.equal('773 111')\r\n\t\tformatter.input('6').should.equal('773 111 6')\r\n\t\tformatter.input('3').should.equal('773 111 63')\r\n\t\tformatter.input('2').should.equal('773 111 632')\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tformatter.getNumber().country.should.equal('001')\r\n\t\t} else {\r\n\t\t\texpect(formatter.country).to.be.undefined\r\n\t\t}\r\n\t\tformatter.getNumber().countryCallingCode.should.equal('870')\r\n\t})\r\n\r\n\tit('should not format non-geographic numbering plan phone numbers (default country 001)', () => {\r\n\t\tconst formatter = new AsYouType('001')\r\n\t\texpect(formatter.defaultCountry).to.be.undefined\r\n\t\texpect(formatter.defaultCallingCode).to.be.undefined\r\n\t\tformatter.input('7').should.equal('7')\r\n\t\tformatter.input('7').should.equal('77')\r\n\t\tformatter.input('3').should.equal('773')\r\n\t\tformatter.input('1').should.equal('7731')\r\n\t\tformatter.input('1').should.equal('77311')\r\n\t\tformatter.input('1').should.equal('773111')\r\n\t\tformatter.input('6').should.equal('7731116')\r\n\t\tformatter.input('3').should.equal('77311163')\r\n\t\tformatter.input('2').should.equal('773111632')\r\n\t\texpect(formatter.country).to.be.undefined\r\n\t\texpect(formatter.getNumber()).to.be.undefined\r\n\t})\r\n\r\n\tit('should return PhoneNumber', () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.input('+1111')\r\n\t\tformatter.getNumber().number.should.equal('+1111')\r\n\t})\r\n\r\n\tit('should return PhoneNumber with autocorrected international numbers without leading +', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tconst formatter = new AsYouType('FR')\r\n\t\tformatter.input('33612902554').should.equal('33612902554')\r\n\t\tformatter.getNumber().country.should.equal('FR')\r\n\t\tformatter.getNumber().nationalNumber.should.equal('612902554')\r\n\t\tformatter.getNumber().number.should.equal('+33612902554')\r\n\t\t// Should also strip national prefix.\r\n\t\tformatter.reset()\r\n\t\tformatter.input('330612902554').should.equal('330612902554')\r\n\t\tformatter.getNumber().country.should.equal('FR')\r\n\t\tformatter.getNumber().nationalNumber.should.equal('612902554')\r\n\t\tformatter.getNumber().number.should.equal('+33612902554')\r\n\t\t// On second thought, this \"prepend default area code\" feature won't be added,\r\n\t\t// because when a user selects \"British Virgin Islands\" and inputs\r\n\t\t// \"2291234\", then they see \"(229) 123-4\" which clearly indicates that\r\n\t\t// they should input the complete phone number (with area code).\r\n\t\t// So, unless a user completely doesn't understand what they're doing,\r\n\t\t// they'd input the complete phone number (with area code).\r\n\t\t// // Should prepend the default area code in British Virgin Islands.\r\n\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/335\r\n\t\t// const formatter2 = new AsYouType('VG')\r\n\t\t// formatter2.input('2291234').should.equal('(229) 123-4')\r\n\t\t// formatter2.getNumber().country.should.equal('VG')\r\n\t\t// formatter2.getNumber().nationalNumber.should.equal('2842291234')\r\n\t\t// formatter2.getNumber().number.should.equal('+12842291234')\r\n\t})\r\n\r\n\tit('should work with out-of-country dialing prefix (like 00)', () => {\r\n\t\tconst formatter = new AsYouType('DE')\r\n\t\tformatter.input('00498911196611').should.equal('00 49 89 11196611')\r\n\t\tformatter.country.should.equal('DE')\r\n\t\tformatter.template.should.equal('xx xx xx xxxxxxxx')\r\n\t\tformatter.populatedNationalNumberTemplate.should.equal('89 11196611')\r\n\t\tformatter.getTemplate().should.equal('xx xx xx xxxxxxxx')\r\n\t\tformatter.getNumber().country.should.equal('DE')\r\n\t\tformatter.getNumber().nationalNumber.should.equal('8911196611')\r\n\t\tformatter.getNumber().number.should.equal('+498911196611')\r\n\t})\r\n\r\n\tit('shouldn\\'t choose a format when there\\'re too many digits for any of them', () => {\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.input('88005553535')\r\n\t\tformatter.chosenFormat.format().should.equal('$1 $2-$3-$4')\r\n\t\tformatter.reset()\r\n\t\tformatter.input('880055535355')\r\n\t\texpect(formatter.chosenFormat).to.be.undefined\r\n\t})\r\n\r\n\tit('should get separator after national prefix', () => {\r\n\t\t// Russia.\r\n\t\t// Has separator after national prefix.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tconst format = formatter.metadata.formats()[0]\r\n\t\tformat.nationalPrefixFormattingRule().should.equal('8 ($1)')\r\n\t\tformatter.getSeparatorAfterNationalPrefix(format).should.equal(' ')\r\n\t\t// Britain.\r\n\t\t// Has no separator after national prefix.\r\n\t\tconst formatter2 = new AsYouType('GB')\r\n\t\tconst format2 = formatter2.metadata.formats()[0]\r\n\t\tformat2.nationalPrefixFormattingRule().should.equal('0$1')\r\n\t\tformatter2.getSeparatorAfterNationalPrefix(format2).should.equal('')\r\n\t})\r\n\r\n\tit('should repeat string N times', () => {\r\n\t\trepeat('a', 0).should.equal('')\r\n\t\trepeat('a', 3).should.equal('aaa')\r\n\t\trepeat('a', 4).should.equal('aaaa')\r\n\t})\r\n\r\n\tit('should return if the number is possible', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.isPossible().should.equal(false)\r\n\t\tformatter.input('8')\r\n\t\tformatter.isPossible().should.equal(false)\r\n\t\tformatter.input('8005553535')\r\n\t\tformatter.isPossible().should.equal(true)\r\n\t\tformatter.input('5')\r\n\t\tformatter.isPossible().should.equal(false)\r\n\t})\r\n\r\n\tit('should return if the number is valid', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.isValid().should.equal(false)\r\n\t\tformatter.input('88005553535')\r\n\t\tformatter.isValid().should.equal(true)\r\n\t\tformatter.input('5')\r\n\t\tformatter.isValid().should.equal(false)\r\n\t})\r\n\r\n\tit('should return if the number is international', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\tformatter.isInternational().should.equal(false)\r\n\t\tformatter.input('88005553535')\r\n\t\tformatter.isInternational().should.equal(false)\r\n\t\t// International. Russia.\r\n\t\tconst formatterInt = new AsYouType()\r\n\t\tformatterInt.isInternational().should.equal(false)\r\n\t\tformatterInt.input('+')\r\n\t\tformatterInt.isInternational().should.equal(true)\r\n\t\tformatterInt.input('78005553535')\r\n\t\tformatterInt.isInternational().should.equal(true)\r\n\t})\r\n\r\n\tit('should return country calling code part of the number', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\texpect(formatter.getCountryCallingCode()).to.be.undefined\r\n\t\tformatter.input('88005553535')\r\n\t\texpect(formatter.getCountryCallingCode()).to.be.undefined\r\n\t\t// International. Russia.\r\n\t\tconst formatterInt = new AsYouType()\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.be.undefined\r\n\t\tformatterInt.input('+')\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.be.undefined\r\n\t\tformatterInt.input('7')\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.equal('7')\r\n\t\tformatterInt.input('8005553535')\r\n\t\texpect(formatterInt.getCountryCallingCode()).to.equal('7')\r\n\t})\r\n\r\n\tit('should return the country of the number', () => {\r\n\t\t// National. Russia.\r\n\t\tconst formatter = new AsYouType('RU')\r\n\t\texpect(formatter.getCountry()).to.be.undefined\r\n\t\tformatter.input('8')\r\n\t\texpect(formatter.getCountry()).to.equal('RU')\r\n\t\tformatter.input('8005553535')\r\n\t\texpect(formatter.getCountry()).to.equal('RU')\r\n\t\t// International. Austria.\r\n\t\tconst formatterInt = new AsYouType()\r\n\t\texpect(formatterInt.getCountry()).to.be.undefined\r\n\t\tformatterInt.input('+')\r\n\t\texpect(formatterInt.getCountry()).to.be.undefined\r\n\t\tformatterInt.input('43')\r\n\t\texpect(formatterInt.getCountry()).to.equal('AT')\r\n\t\t// International. USA.\r\n\t\tconst formatterIntRu = new AsYouType()\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t\tformatterIntRu.input('+')\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t\tformatterIntRu.input('1')\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t\tformatterIntRu.input('2133734253')\r\n\t\texpect(formatterIntRu.getCountry()).to.equal('US')\r\n\t\tformatterIntRu.input('1')\r\n\t\texpect(formatterIntRu.getCountry()).to.be.undefined\r\n\t})\r\n})\r\n\r\nfunction type(something) {\r\n\treturn typeof something\r\n}"],"file":"AsYouType.test.js"}