PATH:
opt
/
bitninja-dispatcher
/
node_modules
/
libphonenumber-js
/
es6
{"version":3,"file":"AsYouType.js","names":["Metadata","PhoneNumber","AsYouTypeState","AsYouTypeFormatter","DIGIT_PLACEHOLDER","AsYouTypeParser","extractFormattedDigitsAndPlus","getCountryByCallingCode","USE_NON_GEOGRAPHIC_COUNTRY_CODE","AsYouType","optionsOrDefaultCountry","metadata","getCountryAndCallingCode","defaultCountry","defaultCallingCode","reset","hasCountry","undefined","isNonGeographicCallingCode","text","parser","input","state","digits","justLeadingPlus","formattedOutput","determineTheCountryIfNeeded","nationalSignificantNumber","formatter","narrowDownMatchingFormats","formattedNationalNumber","hasSelectedNumberingPlan","format","reExtractNationalSignificantNumber","nationalDigits","getNationalDigits","getFullNumber","getNonFormattedNumber","onCountryChange","country","onCallingCodeChange","callingCode","selectNumberingPlan","numberingPlan","onNationalSignificantNumberChange","international","isInternational","getCallingCode","_getCountry","isCountryCallingCodeAmbiguous","determineTheCountry","prefix","getInternationalPrefixBeforeCountryCallingCode","spacing","getDigitsWithoutInternationalPrefix","complexPrefixBeforeNationalSignificantNumber","nationalPrefix","number","nationalSignificantNumberMatchesInput","getNonFormattedNationalNumberWithPrefix","replace","countryCodes","getCountryCodesForCallingCode","length","setCountry","callingCode_","countryCallingCode","carrierCode","phoneNumber","getNumber","isPossible","isValid","getTemplate","getNonFormattedTemplate"],"sources":["../source/AsYouType.js"],"sourcesContent":["import Metadata from './metadata.js'\r\nimport PhoneNumber from './PhoneNumber.js'\r\nimport AsYouTypeState from './AsYouTypeState.js'\r\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js'\r\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class AsYouType {\r\n\t/**\r\n\t * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n\t * @param {Object} metadata\r\n\t */\r\n\tconstructor(optionsOrDefaultCountry, metadata) {\r\n\t\tthis.metadata = new Metadata(metadata)\r\n\t\tconst [defaultCountry, defaultCallingCode] = this.getCountryAndCallingCode(optionsOrDefaultCountry)\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.reset()\r\n\t}\r\n\r\n\tgetCountryAndCallingCode(optionsOrDefaultCountry) {\r\n\t\t// Set `defaultCountry` and `defaultCallingCode` options.\r\n\t\tlet defaultCountry\r\n\t\tlet defaultCallingCode\r\n\t\t// Turns out `null` also has type \"object\". Weird.\r\n\t\tif (optionsOrDefaultCountry) {\r\n\t\t\tif (typeof optionsOrDefaultCountry === 'object') {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry.defaultCountry\r\n\t\t\t\tdefaultCallingCode = optionsOrDefaultCountry.defaultCallingCode\r\n\t\t\t} else {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\r\n\t\t\tdefaultCountry = undefined\r\n\t\t}\r\n\t\tif (defaultCallingCode) {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tdefaultCountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [defaultCountry, defaultCallingCode]\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number characters.\r\n\t * @param {string} text\r\n\t * @return {string} Formatted phone number characters that have been input so far.\r\n\t */\r\n\tinput(text) {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t} = this.parser.input(text, this.state)\r\n\t\tif (justLeadingPlus) {\r\n\t\t\tthis.formattedOutput = '+'\r\n\t\t} else if (digits) {\r\n\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t// Match the available formats by the currently available leading digits.\r\n\t\t\tif (this.state.nationalSignificantNumber) {\r\n\t\t\t\tthis.formatter.narrowDownMatchingFormats(this.state)\r\n\t\t\t}\r\n\t\t\tlet formattedNationalNumber\r\n\t\t\tif (this.metadata.hasSelectedNumberingPlan()) {\r\n\t\t\t\tformattedNationalNumber = this.formatter.format(digits, this.state)\r\n\t\t\t}\r\n\t\t\tif (formattedNationalNumber === undefined) {\r\n\t\t\t\t// See if another national (significant) number could be re-extracted.\r\n\t\t\t\tif (this.parser.reExtractNationalSignificantNumber(this.state)) {\r\n\t\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\t\t// If it could, then re-try formatting the new national (significant) number.\r\n\t\t\t\t\tconst nationalDigits = this.state.getNationalDigits()\r\n\t\t\t\t\tif (nationalDigits) {\r\n\t\t\t\t\t\tformattedNationalNumber = this.formatter.format(nationalDigits, this.state)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.formattedOutput = formattedNationalNumber\r\n\t\t\t\t? this.getFullNumber(formattedNationalNumber)\r\n\t\t\t\t: this.getNonFormattedNumber()\r\n\t\t}\r\n\t\treturn this.formattedOutput\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.state = new AsYouTypeState({\r\n\t\t\tonCountryChange: (country) => {\r\n\t\t\t\t// Before version `1.6.0`, the official `AsYouType` formatter API\r\n\t\t\t\t// included the `.country` property of an `AsYouType` instance.\r\n\t\t\t\t// Since that property (along with the others) have been moved to\r\n\t\t\t\t// `this.state`, `this.country` property is emulated for compatibility\r\n\t\t\t\t// with the old versions.\r\n\t\t\t\tthis.country = country\r\n\t\t\t},\r\n\t\t\tonCallingCodeChange: (callingCode, country) => {\r\n\t\t\t\tthis.metadata.selectNumberingPlan(country, callingCode)\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t\tthis.parser.reset(this.metadata.numberingPlan)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.formatter = new AsYouTypeFormatter({\r\n\t\t\tstate: this.state,\r\n\t\t\tmetadata: this.metadata\r\n\t\t})\r\n\t\tthis.parser = new AsYouTypeParser({\r\n\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\tdefaultCallingCode: this.defaultCallingCode,\r\n\t\t\tmetadata: this.metadata,\r\n\t\t\tstate: this.state,\r\n\t\t\tonNationalSignificantNumberChange: () => {\r\n\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.state.reset(this.defaultCountry, this.defaultCallingCode)\r\n\t\tthis.formattedOutput = ''\r\n\t\treturn this\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is being input in international format.\r\n\t * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisInternational() {\r\n\t\treturn this.state.international\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the \"calling code\" part of the phone number when it's being input\r\n\t * in an international format.\r\n\t * If no valid calling code has been entered so far, returns `undefined`.\r\n\t * @return {string} [callingCode]\r\n\t */\r\n\tgetCallingCode() {\r\n\t\t // If the number is being input in national format and some \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then `this.state.callingCode`\r\n\t\t // is equal to that \"default calling code\".\r\n\t\t //\r\n\t\t // If the number is being input in national format and no \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then returns `undefined`,\r\n\t\t // even if a \"default country\" has been passed to `AsYouType` constructor.\r\n\t\t //\r\n\t\tif (this.isInternational()) {\r\n\t\t\treturn this.state.callingCode\r\n\t\t}\r\n\t}\r\n\r\n\t// A legacy alias.\r\n\tgetCountryCallingCode() {\r\n\t\treturn this.getCallingCode()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * Returns `undefined` if no phone number has been input yet.\r\n\t * @return {string} [country]\r\n\t */\r\n\tgetCountry() {\r\n\t\tconst { digits } = this.state\r\n\t\t// Return `undefined` if no digits have been input yet.\r\n\t\tif (digits) {\r\n\t\t\treturn this._getCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * @return {string} [country]\r\n\t */\r\n\t_getCountry() {\r\n\t\tconst { country } = this.state\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t// `AsYouType.getCountry()` returns `undefined`\r\n\t\t\t// for \"non-geographic\" phone numbering plans.\r\n\t\t\tif (country === '001') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn country\r\n\t}\r\n\r\n\tdetermineTheCountryIfNeeded() {\r\n\t\t// Suppose a user enters a phone number in international format,\r\n\t\t// and there're several countries corresponding to that country calling code,\r\n\t\t// and a country has been derived from the number, and then\r\n\t\t// a user enters one more digit and the number is no longer\r\n\t\t// valid for the derived country, so the country should be re-derived\r\n\t\t// on every new digit in those cases.\r\n\t\t//\r\n\t\t// If the phone number is being input in national format,\r\n\t\t// then it could be a case when `defaultCountry` wasn't specified\r\n\t\t// when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\r\n\t\t// and that \"calling code\" could correspond to a \"non-geographic entity\",\r\n\t\t// or there could be several countries corresponding to that country calling code.\r\n\t\t// In those cases, `this.country` is `undefined` and should be derived\r\n\t\t// from the number. Again, if country calling code is ambiguous, then\r\n\t\t// `this.country` should be re-derived with each new digit.\r\n\t\t//\r\n\t\tif (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\r\n\t\t\tthis.determineTheCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t// Prepends `+CountryCode ` in case of an international phone number\r\n\tgetFullNumber(formattedNationalNumber) {\r\n\t\tif (this.isInternational()) {\r\n\t\t\tconst prefix = (text) => this.formatter.getInternationalPrefixBeforeCountryCallingCode(this.state, {\r\n\t\t\t\tspacing: text ? true : false\r\n\t\t\t}) + text\r\n\t\t\tconst { callingCode } = this.state\r\n\t\t\tif (!callingCode) {\r\n\t\t\t\treturn prefix(`${this.state.getDigitsWithoutInternationalPrefix()}`)\r\n\t\t\t}\r\n\t\t\tif (!formattedNationalNumber) {\r\n\t\t\t\treturn prefix(callingCode)\r\n\t\t\t}\r\n\t\t\treturn prefix(`${callingCode} ${formattedNationalNumber}`)\r\n\t\t}\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n\r\n\tgetNonFormattedNationalNumberWithPrefix() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber,\r\n\t\t\tnationalPrefix\r\n\t\t} = this.state\r\n\t\tlet number = nationalSignificantNumber\r\n\t\tconst prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix\r\n\t\tif (prefix) {\r\n\t\t\tnumber = prefix + number\r\n\t\t}\r\n\t\treturn number\r\n\t}\r\n\r\n\tgetNonFormattedNumber() {\r\n\t\tconst { nationalSignificantNumberMatchesInput } = this.state\r\n\t\treturn this.getFullNumber(\r\n\t\t\tnationalSignificantNumberMatchesInput\r\n\t\t\t\t? this.getNonFormattedNationalNumberWithPrefix()\r\n\t\t\t\t: this.state.getNationalDigits()\r\n\t\t)\r\n\t}\r\n\r\n\tgetNonFormattedTemplate() {\r\n\t\tconst number = this.getNonFormattedNumber()\r\n\t\tif (number) {\r\n\t\t\treturn number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER)\r\n\t\t}\r\n\t}\r\n\r\n\tisCountryCallingCodeAmbiguous() {\r\n\t\tconst { callingCode } = this.state\r\n\t\tconst countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\treturn countryCodes && countryCodes.length > 1\r\n\t}\r\n\r\n\t// Determines the country of the phone number\r\n\t// entered so far based on the country phone code\r\n\t// and the national phone number.\r\n\tdetermineTheCountry() {\r\n\t\tthis.state.setCountry(getCountryByCallingCode(\r\n\t\t\tthis.isInternational() ? this.state.callingCode : this.defaultCallingCode,\r\n\t\t\tthis.state.nationalSignificantNumber,\r\n\t\t\tthis.metadata\r\n\t\t))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a E.164 phone number value for the user's input.\r\n\t *\r\n\t * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n\t * it will return `\"+12223334444\"`.\r\n\t *\r\n\t * For international phone number input, it will also auto-correct\r\n\t * some minor errors such as using a national prefix when writing\r\n\t * an international phone number. For example, if the user inputs\r\n\t * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n\t * `\"+447400000000\"` phone number value.\r\n\t *\r\n\t * Will return `undefined` if no digits have been input,\r\n\t * or when inputting a phone number in national format and no\r\n\t * default country or default \"country calling code\" have been set.\r\n\t *\r\n\t * @return {string} [value]\r\n\t */\r\n\tgetNumberValue() {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tcallingCode,\r\n\t\t\tcountry,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = this.state\r\n\r\n\t \t// Will return `undefined` if no digits have been input.\r\n\t\tif (!digits) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (this.isInternational()) {\r\n\t\t\tif (callingCode) {\r\n\t\t\t\treturn '+' + callingCode + nationalSignificantNumber\r\n\t\t\t} else {\r\n\t\t\t\treturn '+' + digits\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst callingCode_ = country ? this.metadata.countryCallingCode() : callingCode\r\n\t\t\t\treturn '+' + callingCode_ + nationalSignificantNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an instance of `PhoneNumber` class.\r\n\t * Will return `undefined` if no national (significant) number\r\n\t * digits have been entered so far, or if no `defaultCountry` has been\r\n\t * set and the user enters a phone number not in international format.\r\n\t */\r\n\tgetNumber() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcarrierCode,\r\n\t\t\tcallingCode\r\n\t\t} = this.state\r\n\r\n\t\t// `this._getCountry()` is basically same as `this.state.country`\r\n\t\t// with the only change that it return `undefined` in case of a\r\n\t\t// \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\r\n\t\tconst country = this._getCountry()\r\n\r\n\t\tif (!nationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (!country && !callingCode) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountry || callingCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\t// Phone number extensions are not supported by \"As You Type\" formatter.\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"possible\".\r\n\t * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisPossible() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isPossible()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"valid\".\r\n\t * Is just a shortcut for `PhoneNumber.isValid()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisValid() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isValid()\r\n\t}\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t * This method is used in `react-phone-number-input/source/input-control.js`\r\n\t * in versions before `3.0.16`.\r\n\t */\r\n\tgetNationalNumber() {\r\n\t\treturn this.state.nationalSignificantNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the phone number characters entered by the user.\r\n\t * @return {string}\r\n\t */\r\n\tgetChars() {\r\n\t\treturn (this.state.international ? '+' : '') + this.state.digits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the template for the formatted phone number.\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplate() {\r\n\t\treturn this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || ''\r\n\t}\r\n}"],"mappings":"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"}
[+]
..
[-] parsePhoneNumberFromString.test.js
[edit]
[-] AsYouTypeFormatter.PatternMatcher.js.map
[edit]
[-] parseIncompletePhoneNumber.js.map
[edit]
[-] metadata.js
[edit]
[-] isPossibleNumber_.js.map
[edit]
[-] PhoneNumber.js
[edit]
[-] findNumbers.js.map
[edit]
[-] parsePhoneNumber.js
[edit]
[-] isPossibleNumber.test.js.map
[edit]
[-] isPossiblePhoneNumber.test.js
[edit]
[-] findNumbers.js
[edit]
[-] isPossibleNumber.js
[edit]
[-] getNumberType.js
[edit]
[-] getNumberType.js.map
[edit]
[-] AsYouTypeFormatter.PatternMatcher.js
[edit]
[-] parseIncompletePhoneNumber.test.js.map
[edit]
[-] parse_.js
[edit]
[-] getExampleNumber.js.map
[edit]
[-] format.test.js.map
[edit]
[-] parsePhoneNumber_.js.map
[edit]
[-] getExampleNumber.test.js
[edit]
[-] AsYouTypeState.js.map
[edit]
[-] formatNumberForMobileDialing.js.map
[edit]
[-] formatIncompletePhoneNumber.test.js.map
[edit]
[-] AsYouTypeParser.js
[edit]
[-] getExampleNumber.test.js.map
[edit]
[-] validate_.js
[edit]
[-] PhoneNumberMatcher.js.map
[edit]
[-] parsePhoneNumberFromString_.js
[edit]
[-] getNumberType.test.js.map
[edit]
[-] getCountryCallingCode.js.map
[edit]
[-] AsYouTypeFormatter.PatternMatcher.test.js.map
[edit]
[-] searchPhoneNumbersInText.test.js
[edit]
[-] isValidPhoneNumber.test.js.map
[edit]
[-] format_.js.map
[edit]
[-] constants.js.map
[edit]
[-] parse.js.map
[edit]
[-] AsYouTypeFormatter.js.map
[edit]
[-] getCountries.test.js
[edit]
[-] searchPhoneNumbersInText.js
[edit]
[-] AsYouTypeFormatter.PatternParser.test.js
[edit]
[-] isPossiblePhoneNumber.test.js.map
[edit]
[-] PhoneNumber.test.js.map
[edit]
[-] parsePhoneNumber.test.js.map
[edit]
[-] formatNumberForMobileDialing.js
[edit]
[-] AsYouTypeFormatter.util.test.js.map
[edit]
[-] getCountryCallingCode.js
[edit]
[-] searchNumbers.test.js.map
[edit]
[-] findPhoneNumbers.test.js
[edit]
[-] isPossibleNumber.js.map
[edit]
[-] parsePhoneNumber.test.js
[edit]
[-] isValidPhoneNumber.test.js
[edit]
[-] metadata.test.js.map
[edit]
[-] searchPhoneNumbersInText.test.js.map
[edit]
[-] AsYouTypeFormatter.PatternParser.test.js.map
[edit]
[-] AsYouType.test.js
[edit]
[-] isPossiblePhoneNumber.js.map
[edit]
[-] getCountries.js
[edit]
[-] validate.test.js
[edit]
[-] getCountryCallingCode.test.js.map
[edit]
[-] AsYouTypeFormatter.js
[edit]
[-] PhoneNumberMatcher.js
[edit]
[-] validate.test.js.map
[edit]
[-] findNumbers_.js
[edit]
[-] getCountries.js.map
[edit]
[-] formatIncompletePhoneNumber.test.js
[edit]
[-] format.test.js
[edit]
[-] findPhoneNumbers.js
[edit]
[-] searchNumbers.js
[edit]
[-] findPhoneNumbersInText.test.js.map
[edit]
[-] findPhoneNumbersInText.js
[edit]
[-] findPhoneNumbersInText.test.js
[edit]
[-] metadata.test.js
[edit]
[-] validatePhoneNumberLength.test.js.map
[edit]
[-] parse.js
[edit]
[-] validate_.js.map
[edit]
[-] validatePhoneNumberLength.test.js
[edit]
[-] format.js.map
[edit]
[-] findNumbers.test.js
[edit]
[-] AsYouTypeFormatter.complete.js.map
[edit]
[+]
tools
[-] AsYouTypeParser.js.map
[edit]
[-] parsePhoneNumberFromString.js
[edit]
[-] getCountryCallingCode.test.js
[edit]
[-] isPossibleNumber.test.js
[edit]
[-] findPhoneNumbers.test.js.map
[edit]
[-] AsYouTypeFormatter.PatternParser.js.map
[edit]
[-] parse.test.js
[edit]
[-] parsePhoneNumber_.js
[edit]
[-] parsePhoneNumberFromString_.js.map
[edit]
[-] ParseError.js
[edit]
[-] searchNumbers.js.map
[edit]
[-] PhoneNumber.test.js
[edit]
[-] AsYouTypeFormatter.PatternMatcher.test.js
[edit]
[-] getNumberType.test.js
[edit]
[-] AsYouTypeFormatter.PatternParser.js
[edit]
[-] validatePhoneNumberLength.js
[edit]
[-] isValidPhoneNumber.js
[edit]
[-] PhoneNumber.js.map
[edit]
[-] parsePhoneNumberFromString.js.map
[edit]
[-] isValidNumberForRegion.js.map
[edit]
[+]
helpers
[-] parseIncompletePhoneNumber.test.js
[edit]
[-] formatNumberForMobileDialing.test.js
[edit]
[-] isValidNumberForRegion_.js.map
[edit]
[-] parse.test.js.map
[edit]
[-] isValidNumberForRegion_.js
[edit]
[-] PhoneNumberMatcher.test.js
[edit]
[-] isPossibleNumber_.js
[edit]
[-] AsYouTypeFormatter.util.js
[edit]
[-] format.js
[edit]
[-] isValidNumberForRegion.test.js
[edit]
[-] AsYouType.js
[edit]
[-] AsYouTypeFormatter.complete.js
[edit]
[-] formatNumberForMobileDialing.test.js.map
[edit]
[+]
findNumbers
[-] findNumbers_.js.map
[edit]
[-] getExampleNumber.js
[edit]
[-] format_.js
[edit]
[-] isPossiblePhoneNumber.js
[edit]
[-] findPhoneNumbers_.js
[edit]
[-] isValidNumberForRegion.test.js.map
[edit]
[-] AsYouType.test.js.map
[edit]
[-] isValidNumberForRegion.js
[edit]
[-] ParseError.js.map
[edit]
[-] parsePhoneNumberFromString.test.js.map
[edit]
[-] findPhoneNumbersInText.js.map
[edit]
[-] findPhoneNumbers.js.map
[edit]
[-] getCountries.test.js.map
[edit]
[-] validate.js
[edit]
[-] AsYouTypeState.js
[edit]
[-] parsePhoneNumber.js.map
[edit]
[-] formatIncompletePhoneNumber.js
[edit]
[-] AsYouTypeFormatter.util.js.map
[edit]
[-] constants.js
[edit]
[-] validate.js.map
[edit]
[-] PhoneNumberMatcher.test.js.map
[edit]
[-] parse_.js.map
[edit]
[-] findNumbers.test.js.map
[edit]
[-] findPhoneNumbers_.js.map
[edit]
[-] metadata.js.map
[edit]
[-] parseIncompletePhoneNumber.js
[edit]
[-] searchNumbers.test.js
[edit]
[-] AsYouType.js.map
[edit]
[-] searchPhoneNumbersInText.js.map
[edit]
[-] validatePhoneNumberLength.js.map
[edit]
[-] AsYouTypeFormatter.util.test.js
[edit]
[-] formatIncompletePhoneNumber.js.map
[edit]
[-] isValidPhoneNumber.js.map
[edit]