{"version":3,"sources":["../source/phoneInputHelpers.test.js"],"names":["describe","it","metadata","should","equal","expect","undefined","to","be","country","phone","defaultLabels","deep","value","label","ZZ","phoneNumber","nationalNumber","input"],"mappings":"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","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"}