{"version":3,"sources":["../source/parse.test.js"],"names":["parseNumber","parameters","push","metadata","_parseNumber","apply","USE_NON_GEOGRAPHIC_COUNTRY_CODE","describe","it","should","deep","equal","defaultCountry","country","phone","extended","countryCallingCode","carrierCode","undefined","ext","valid","possible","thrower","defaultCallingCode","expect","to","number"],"mappings":"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","sourcesContent":["import metadata from '../metadata.min.json'\r\nimport _parseNumber from './parse'\r\nimport { extractCountryCallingCode } from './parse_'\r\n\r\nfunction parseNumber(...parameters) {\r\n\tparameters.push(metadata)\r\n\treturn _parseNumber.apply(this, parameters)\r\n}\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\ndescribe('parse', () => {\r\n\tit('should not parse invalid phone numbers', () => {\r\n\t\t// Too short.\r\n\t\tparseNumber('+7 (800) 55-35-35').should.deep.equal({})\r\n\t\t// Too long.\r\n\t\tparseNumber('+7 (800) 55-35-35-55').should.deep.equal({})\r\n\r\n\t\tparseNumber('+7 (800) 55-35-35', 'US').should.deep.equal({})\r\n\t\tparseNumber('(800) 55 35 35', { defaultCountry: 'RU' }).should.deep.equal({})\r\n\t\tparseNumber('+1 187 215 5230', 'US').should.deep.equal({})\r\n\r\n\t\tparseNumber('911231231', 'BE').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse valid phone numbers', () => {\r\n\t\t// Instant loans\r\n\t\t// https://www.youtube.com/watch?v=6e1pMrYH5jI\r\n\t\t//\r\n\t\t// Restrict to RU\r\n\t\tparseNumber('Phone: 8 (800) 555 35 35.', 'RU').should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\t\t// International format\r\n\t\tparseNumber('Phone: +7 (800) 555-35-35.').should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\t\t// // Restrict to US, but not a US country phone code supplied\r\n\t\t// parseNumber('+7 (800) 555-35-35', 'US').should.deep.equal({})\r\n\t\t// Restrict to RU\r\n\t\tparseNumber('(800) 555 35 35', 'RU').should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\t\t// Default to RU\r\n\t\tparseNumber('8 (800) 555 35 35', { defaultCountry: 'RU' }).should.deep.equal({ country: 'RU', phone: '8005553535' })\r\n\r\n\t\t// Gangster partyline\r\n\t\tparseNumber('+1-213-373-4253').should.deep.equal({ country: 'US', phone: '2133734253' })\r\n\r\n\t\t// Switzerland (just in case)\r\n\t\tparseNumber('044 668 18 00', 'CH').should.deep.equal({ country: 'CH', phone: '446681800' })\r\n\r\n\t\t// China, Beijing\r\n\t\tparseNumber('010-852644821', 'CN').should.deep.equal({ country: 'CN', phone: '10852644821' })\r\n\r\n\t\t// France\r\n\t\tparseNumber('+33169454850').should.deep.equal({ country: 'FR', phone: '169454850' })\r\n\r\n\t\t// UK (Jersey)\r\n\t\tparseNumber('+44 7700 300000').should.deep.equal({ country: 'JE', phone: '7700300000' })\r\n\r\n\t\t// KZ\r\n\t\tparseNumber('+7 702 211 1111').should.deep.equal({ country: 'KZ', phone: '7022111111' })\r\n\r\n\t\t// Brazil\r\n\t\tparseNumber('11987654321', 'BR').should.deep.equal({ country: 'BR', phone: '11987654321' })\r\n\r\n\t\t// Long country phone code.\r\n\t\tparseNumber('+212659777777').should.deep.equal({ country: 'MA', phone: '659777777' })\r\n\r\n\t\t// No country could be derived.\r\n\t\t// parseNumber('+212569887076').should.deep.equal({ countryPhoneCode: '212', phone: '569887076' })\r\n\r\n\t\t// GB. Moible numbers starting 07624* are Isle of Man.\r\n\t\tparseNumber('07624369230', 'GB').should.deep.equal({ country: 'IM', phone: '7624369230' })\r\n\t})\r\n\r\n\tit('should parse possible numbers', () => {\r\n\t\t// Invalid phone number for a given country.\r\n\t\tparseNumber('1112223344', 'RU', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '1112223344',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// International phone number.\r\n\t\t// Several countries with the same country phone code.\r\n\t\tparseNumber('+71112223344').should.deep.equal({})\r\n\t\tparseNumber('+71112223344', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : undefined,\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '1112223344',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// International phone number.\r\n\t\t// Single country with the given country phone code.\r\n\t\tparseNumber('+33011222333', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'FR',\r\n\t\t\tcountryCallingCode : '33',\r\n\t\t\tphone : '011222333',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// Too short.\r\n\t\t// Won't strip national prefix `8` because otherwise the number would be too short.\r\n\t\tparseNumber('+7 (800) 55-35-35', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '800553535',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : false\r\n\t\t})\r\n\r\n\t\t// Too long.\r\n\t\tparseNumber('+7 (800) 55-35-35-555', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : undefined,\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '00553535555',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : false,\r\n\t\t\tpossible : false\r\n\t\t})\r\n\r\n\t\t// No national number to be parsed.\r\n\t\tparseNumber('+996', { extended: true }).should.deep.equal({\r\n\t\t\t// countryCallingCode : '996'\r\n\t\t})\r\n\r\n\t\t// Valid number.\r\n\t\tparseNumber('+78005553535', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tcountryCallingCode : '7',\r\n\t\t\tphone : '8005553535',\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\text : undefined,\r\n\t\t\tvalid : true,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/211\r\n\t\tparseNumber('+966', { extended: true }).should.deep.equal({})\r\n\t\tparseNumber('+9664', { extended: true }).should.deep.equal({})\r\n\t\tparseNumber('+96645', { extended: true }).should.deep.equal({\r\n\t\t\tcarrierCode : undefined,\r\n\t\t\tphone : '45',\r\n\t\t\text : undefined,\r\n\t\t\tcountry : 'SA',\r\n\t\t\tcountryCallingCode : '966',\r\n\t\t\tpossible : false,\r\n\t\t\tvalid : false\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse non-European digits', () => {\r\n\t\tparseNumber('+١٢١٢٢٣٢٣٢٣٢').should.deep.equal({ country: 'US', phone: '2122323232' })\r\n\t})\r\n\r\n\tit('should work in edge cases', () => {\r\n\t\tlet thrower\r\n\r\n\t\t// No input\r\n\t\tparseNumber('').should.deep.equal({})\r\n\r\n\t\t// No country phone code\r\n\t\tparseNumber('+').should.deep.equal({})\r\n\r\n\t\t// No country at all (non international number and no explicit country code)\r\n\t\tparseNumber('123').should.deep.equal({})\r\n\r\n\t\t// No country metadata for this `require` country code\r\n\t\tthrower = () => parseNumber('123', 'ZZ')\r\n\t\tthrower.should.throw('Unknown country')\r\n\r\n\t\t// No country metadata for this `default` country code\r\n\t\tthrower = () => parseNumber('123', { defaultCountry: 'ZZ' })\r\n\t\tthrower.should.throw('Unknown country')\r\n\r\n\t\t// Invalid country phone code\r\n\t\tparseNumber('+210').should.deep.equal({})\r\n\r\n\t\t// Invalid country phone code (extended parsing mode)\r\n\t\tparseNumber('+210', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Too short of a number.\r\n\t\tparseNumber('1', 'US', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Too long of a number.\r\n\t\tparseNumber('1111111111111111111', 'RU', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Not a number.\r\n\t\tparseNumber('abcdefg', 'US', { extended: true }).should.deep.equal({})\r\n\r\n\t\t// Country phone code beginning with a '0'\r\n\t\tparseNumber('+0123').should.deep.equal({})\r\n\r\n\t\t// Barbados NANPA phone number\r\n\t\tparseNumber('+12460000000').should.deep.equal({ country: 'BB', phone: '2460000000' })\r\n\r\n\t\t// // A case when country (restricted to) is not equal\r\n\t\t// // to the one parsed out of an international number.\r\n\t\t// parseNumber('+1-213-373-4253', 'RU').should.deep.equal({})\r\n\r\n\t\t// National (significant) number too short\r\n\t\tparseNumber('2', 'US').should.deep.equal({})\r\n\r\n\t\t// National (significant) number too long\r\n\t\tparseNumber('222222222222222222', 'US').should.deep.equal({})\r\n\r\n\t\t// No `national_prefix_for_parsing`\r\n\t\tparseNumber('41111', 'AC').should.deep.equal({ country: 'AC', phone: '41111'})\r\n\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/235\r\n\t\t// `matchesEntirely()` bug fix.\r\n\t\tparseNumber('+4915784846111‬').should.deep.equal({ country: 'DE', phone: '15784846111' })\r\n\r\n\t\t// No metadata\r\n\t\tthrower = () => _parseNumber('')\r\n\t\tthrower.should.throw('`metadata` argument not passed')\r\n\r\n\t\t// Numerical `value`\r\n\t\tthrower = () => parseNumber(2141111111, 'US')\r\n\t\tthrower.should.throw('A text for parsing must be a string.')\r\n\r\n\t\t// Input string too long.\r\n\t\tparseNumber('8005553535 ', 'RU').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse phone number extensions', () => {\r\n\t\t// \"ext\"\r\n\t\tparseNumber('2134567890 ext 123', 'US').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890',\r\n\t\t\text : '123'\r\n\t\t})\r\n\r\n\t\t// \"ext.\"\r\n\t\tparseNumber('+12134567890 ext. 12345', 'US').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890',\r\n\t\t\text : '12345'\r\n\t\t})\r\n\r\n\t\t// \"доб.\"\r\n\t\tparseNumber('+78005553535 доб. 1234', 'RU').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '1234'\r\n\t\t})\r\n\r\n\t\t// \"#\"\r\n\t\tparseNumber('+12134567890#1234').should.deep.equal({\r\n\t\t\tcountry : 'US',\r\n\t\t\tphone : '2134567890',\r\n\t\t\text : '1234'\r\n\t\t})\r\n\r\n\t\t// \"x\"\r\n\t\tparseNumber('+78005553535 x1234').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '1234'\r\n\t\t})\r\n\r\n\t\t// Not a valid extension\r\n\t\tparseNumber('2134567890 ext. 1234567890', 'US').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse RFC 3966 phone numbers', () => {\r\n\t\tparseNumber('tel:+78005553535;ext=123').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '123'\r\n\t\t})\r\n\r\n\t\t// Should parse \"visual separators\".\r\n\t\tparseNumber('tel:+7(800)555-35.35;ext=123').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535',\r\n\t\t\text : '123'\r\n\t\t})\r\n\r\n\t\t// Invalid number.\r\n\t\tparseNumber('tel:+7x8005553535;ext=123').should.deep.equal({})\r\n\t})\r\n\r\n\tit('should parse invalid international numbers even if they are invalid', () => {\r\n\t\tparseNumber('+7(8)8005553535', 'RU').should.deep.equal({\r\n\t\t\tcountry : 'RU',\r\n\t\t\tphone : '8005553535'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse carrier codes', () => {\r\n\t\tparseNumber('0 15 21 5555-5555', 'BR', { extended: true }).should.deep.equal({\r\n\t\t\tcountry : 'BR',\r\n\t\t\tcountryCallingCode : '55',\r\n\t\t\tphone : '2155555555',\r\n\t\t\tcarrierCode : '15',\r\n\t\t\text : undefined,\r\n\t\t\tvalid : true,\r\n\t\t\tpossible : true\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse IDD prefixes', () => {\r\n\t\tparseNumber('011 61 2 3456 7890', 'US').should.deep.equal({\r\n\t\t\tphone : '234567890',\r\n\t\t\tcountry : 'AU'\r\n\t\t})\r\n\r\n\t\tparseNumber('011 61 2 3456 7890', 'FR').should.deep.equal({})\r\n\r\n\t\tparseNumber('00 61 2 3456 7890', 'US').should.deep.equal({})\r\n\r\n\t\tparseNumber('810 61 2 3456 7890', 'RU').should.deep.equal({\r\n\t\t\tphone : '234567890',\r\n\t\t\tcountry : 'AU'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should work with v2 API', () => {\r\n\t\tparseNumber('+99989160151539')\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\tparseNumber('+54 9 3435 55 1212').should.deep.equal({\r\n\t\t\tcountry: 'AR',\r\n\t\t\tphone: '93435551212'\r\n\t\t})\r\n\t\tparseNumber('0343 15-555-1212', 'AR').should.deep.equal({\r\n\t\t\tcountry: 'AR',\r\n\t\t\tphone: '93435551212'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should work with Mexico numbers', () => {\r\n\t\t// Fixed line.\r\n\t\tparseNumber('+52 449 978 0001').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '4499780001'\r\n\t\t})\r\n\t\tparseNumber('01 (449)978-0001', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '4499780001'\r\n\t\t})\r\n\t\tparseNumber('(449)978-0001', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '4499780001'\r\n\t\t})\r\n\t\t// Mobile.\r\n\t\t// `1` is prepended before area code to mobile numbers in international format.\r\n\t\tparseNumber('+52 1 33 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t\tparseNumber('+52 33 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t\tparseNumber('044 (33) 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t\tparseNumber('045 33 1234-5678', 'MX').should.deep.equal({\r\n\t\t\tcountry: 'MX',\r\n\t\t\tphone: '3312345678'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers', () => {\r\n\t\tparseNumber('+870773111632').should.deep.equal(\r\n\t\t\tUSE_NON_GEOGRAPHIC_COUNTRY_CODE ?\r\n\t\t\t{\r\n\t\t\t\tcountry: '001',\r\n\t\t\t\tphone: '773111632'\r\n\t\t\t} :\r\n\t\t\t{}\r\n\t\t)\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers (default country code)', () => {\r\n\t\tparseNumber('773111632', { defaultCallingCode: '870' }).should.deep.equal(\r\n\t\t\tUSE_NON_GEOGRAPHIC_COUNTRY_CODE ?\r\n\t\t\t{\r\n\t\t\t\tcountry: '001',\r\n\t\t\t\tphone: '773111632'\r\n\t\t\t} :\r\n\t\t\t{}\r\n\t\t)\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers (extended)', () => {\r\n\t\tparseNumber('+870773111632', { extended: true }).should.deep.equal({\r\n\t\t\tcountry: USE_NON_GEOGRAPHIC_COUNTRY_CODE ? '001' : undefined,\r\n\t\t\tcountryCallingCode: '870',\r\n\t\t\tphone: '773111632',\r\n\t\t\tcarrierCode: undefined,\r\n\t\t\text: undefined,\r\n\t\t\tpossible: true,\r\n\t\t\tvalid: true\r\n\t\t})\r\n\t})\r\n\r\n\tit('should parse non-geographic numbering plan phone numbers (default country code) (extended)', () => {\r\n\t\tparseNumber('773111632', { defaultCallingCode: '870', extended: true }).should.deep.equal({\r\n\t\t\tcountry: USE_NON_GEOGRAPHIC_COUNTRY_CODE ? '001' : undefined,\r\n\t\t\tcountryCallingCode: '870',\r\n\t\t\tphone: '773111632',\r\n\t\t\tcarrierCode: undefined,\r\n\t\t\text: undefined,\r\n\t\t\tpossible: true,\r\n\t\t\tvalid: true\r\n\t\t})\r\n\t})\r\n\r\n\tit('shouldn\\'t crash when invalid `defaultCallingCode` is passed', () => {\r\n\t\texpect(() => parseNumber('773111632', { defaultCallingCode: '999' }))\r\n\t\t\t.to.throw('Unknown calling code')\r\n\t})\r\n\r\n\tit('shouldn\\'t set `country` when there\\'s no `defaultCountry` and `defaultCallingCode` is not of a \"non-geographic entity\"', () => {\r\n\t\tparseNumber('88005553535', { defaultCallingCode: '7' }).should.deep.equal({\r\n\t\t\tcountry: 'RU',\r\n\t\t\tphone: '8005553535'\r\n\t\t})\r\n\t})\r\n\r\n\tit('should extract country calling code from a number', () => {\r\n\t\textractCountryCallingCode('+78005553535', null, null, metadata).should.deep.equal({\r\n\t\t\tcountryCallingCode: '7',\r\n\t\t\tnumber: '8005553535'\r\n\t\t})\r\n\r\n\t\textractCountryCallingCode('+7800', null, null, metadata).should.deep.equal({\r\n\t\t\tcountryCallingCode: '7',\r\n\t\t\tnumber: '800'\r\n\t\t})\r\n\r\n\t\textractCountryCallingCode('', null, null, metadata).should.deep.equal({})\r\n\t})\r\n\r\n\tit('should correctly parse numbers starting with the same digit as the national prefix', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/373\r\n\t\tparseNumber('+37582004910060').should.deep.equal({\r\n\t\t\tcountry: 'BY',\r\n\t\t\tphone: '82004910060'\r\n\t\t});\r\n\t})\r\n\r\n\tit('should autocorrect numbers without a leading +', () => {\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\tparseNumber('375447521111', 'BY').should.deep.equal({\r\n\t\t\tcountry: 'BY',\r\n\t\t\tphone: '447521111'\r\n\t\t});\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tparseNumber('33612902554', 'FR').should.deep.equal({\r\n\t\t\tcountry: 'FR',\r\n\t\t\tphone: '612902554'\r\n\t\t});\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/375\r\n\t\tparseNumber('61438331999', 'AU').should.deep.equal({\r\n\t\t\tcountry: 'AU',\r\n\t\t\tphone: '438331999'\r\n\t\t});\r\n\t\t// A case when `49` is a country calling code of a number without a leading `+`.\r\n\t\tparseNumber('4930123456', 'DE').should.deep.equal({\r\n\t\t\tcountry: 'DE',\r\n\t\t\tphone: '30123456'\r\n\t\t});\r\n\t\t// A case when `49` is a valid area code.\r\n\t\tparseNumber('4951234567890', 'DE').should.deep.equal({\r\n\t\t\tcountry: 'DE',\r\n\t\t\tphone: '4951234567890'\r\n\t\t});\r\n\t})\r\n})\r\n"],"file":"parse.test.js"}