@rpcbase/ui 0.180.0 → 0.182.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/index147.js +1 -1
  2. package/dist/index148.js +40 -599
  3. package/dist/index148.js.map +1 -1
  4. package/dist/index149.js +205 -5
  5. package/dist/index149.js.map +1 -1
  6. package/dist/index150.js +22 -69
  7. package/dist/index150.js.map +1 -1
  8. package/dist/index151.js +25 -2
  9. package/dist/index151.js.map +1 -1
  10. package/dist/index152.js +378 -342
  11. package/dist/index152.js.map +1 -1
  12. package/dist/index153.js +5 -261
  13. package/dist/index153.js.map +1 -1
  14. package/dist/index154.js +59 -51
  15. package/dist/index154.js.map +1 -1
  16. package/dist/index155.js +2 -47
  17. package/dist/index155.js.map +1 -1
  18. package/dist/index156.js +340 -146
  19. package/dist/index156.js.map +1 -1
  20. package/dist/index157.js +249 -97
  21. package/dist/index157.js.map +1 -1
  22. package/dist/index158.js +60 -24
  23. package/dist/index158.js.map +1 -1
  24. package/dist/index159.js +47 -8
  25. package/dist/index159.js.map +1 -1
  26. package/dist/index160.js +169 -4
  27. package/dist/index160.js.map +1 -1
  28. package/dist/index161.js +109 -5
  29. package/dist/index161.js.map +1 -1
  30. package/dist/index162.js +24 -4
  31. package/dist/index162.js.map +1 -1
  32. package/dist/index163.js +8 -467
  33. package/dist/index163.js.map +1 -1
  34. package/dist/index164.js +4 -185
  35. package/dist/index164.js.map +1 -1
  36. package/dist/index165.js +5 -107
  37. package/dist/index165.js.map +1 -1
  38. package/dist/index166.js +4 -262
  39. package/dist/index166.js.map +1 -1
  40. package/dist/index167.js +466 -9
  41. package/dist/index167.js.map +1 -1
  42. package/dist/index168.js +180 -37
  43. package/dist/index168.js.map +1 -1
  44. package/dist/index169.js +107 -4
  45. package/dist/index169.js.map +1 -1
  46. package/dist/index170.js +260 -44
  47. package/dist/index170.js.map +1 -1
  48. package/dist/index171.js +8 -204
  49. package/dist/index171.js.map +1 -1
  50. package/dist/index172.js +43 -22
  51. package/dist/index172.js.map +1 -1
  52. package/dist/index173.js +4 -24
  53. package/dist/index173.js.map +1 -1
  54. package/dist/index174.js +589 -383
  55. package/dist/index174.js.map +1 -1
  56. package/dist/index23.js +1 -1
  57. package/dist/index235.js +22 -65
  58. package/dist/index235.js.map +1 -1
  59. package/dist/index236.js +27 -179
  60. package/dist/index236.js.map +1 -1
  61. package/dist/index237.js +5 -47
  62. package/dist/index237.js.map +1 -1
  63. package/dist/index238.js +1 -1
  64. package/dist/index240.js +1 -1
  65. package/dist/index241.js +1 -1
  66. package/dist/index242.js +1 -1
  67. package/dist/index243.js +1 -1
  68. package/dist/index244.js +2 -2
  69. package/dist/index245.js +3 -3
  70. package/dist/index245.js.map +1 -1
  71. package/dist/index247.js +1 -1
  72. package/dist/index250.js +1 -1
  73. package/dist/index252.js +4 -4
  74. package/dist/index253.js +1 -1
  75. package/dist/index256.js +1 -1
  76. package/dist/index257.js +1 -1
  77. package/dist/index258.js +1 -1
  78. package/dist/index258.js.map +1 -1
  79. package/dist/index259.js +1 -1
  80. package/dist/index260.js +1 -1
  81. package/dist/index262.js +2 -2
  82. package/dist/index263.js +65 -22
  83. package/dist/index263.js.map +1 -1
  84. package/dist/index264.js +179 -27
  85. package/dist/index264.js.map +1 -1
  86. package/dist/index265.js +47 -5
  87. package/dist/index265.js.map +1 -1
  88. package/dist/index269.js +5 -21
  89. package/dist/index269.js.map +1 -1
  90. package/dist/index270.js +3 -5
  91. package/dist/index270.js.map +1 -1
  92. package/dist/index271.js +24 -3
  93. package/dist/index271.js.map +1 -1
  94. package/dist/index272.js +111 -22
  95. package/dist/index272.js.map +1 -1
  96. package/dist/index273.js +14 -111
  97. package/dist/index273.js.map +1 -1
  98. package/dist/index274.js +523 -14
  99. package/dist/index274.js.map +1 -1
  100. package/dist/index275.js +114 -511
  101. package/dist/index275.js.map +1 -1
  102. package/dist/index276.js +117 -111
  103. package/dist/index276.js.map +1 -1
  104. package/dist/index277.js +20 -133
  105. package/dist/index277.js.map +1 -1
  106. package/dist/index29.js +5 -5
  107. package/dist/index295.js +1 -1
  108. package/dist/index296.js +1 -1
  109. package/dist/index33.js +1 -1
  110. package/dist/index37.js +1 -1
  111. package/dist/index38.js +2 -2
  112. package/dist/index41.js +2 -2
  113. package/dist/index42.js +20 -20
  114. package/dist/index46.js +1 -1
  115. package/dist/index47.js +1 -1
  116. package/dist/index48.js +7 -205
  117. package/dist/index48.js.map +1 -1
  118. package/dist/index49.js +33 -6
  119. package/dist/index49.js.map +1 -1
  120. package/dist/index50.js +26 -33
  121. package/dist/index50.js.map +1 -1
  122. package/dist/index51.js +7 -26
  123. package/dist/index51.js.map +1 -1
  124. package/dist/index52.js +11 -7
  125. package/dist/index52.js.map +1 -1
  126. package/dist/index53.js +3 -11
  127. package/dist/index53.js.map +1 -1
  128. package/dist/index54.js +47 -5
  129. package/dist/index54.js.map +1 -1
  130. package/dist/index55.js +50 -7
  131. package/dist/index55.js.map +1 -1
  132. package/dist/index56.js +7 -5
  133. package/dist/index56.js.map +1 -1
  134. package/dist/index57.js +14 -3
  135. package/dist/index57.js.map +1 -1
  136. package/dist/index58.js +129 -43
  137. package/dist/index58.js.map +1 -1
  138. package/dist/index59.js +10 -50
  139. package/dist/index59.js.map +1 -1
  140. package/dist/index60.js +216 -7
  141. package/dist/index60.js.map +1 -1
  142. package/dist/index61.js +13 -15
  143. package/dist/index61.js.map +1 -1
  144. package/dist/index62.js +41 -128
  145. package/dist/index62.js.map +1 -1
  146. package/dist/index63.js +48 -9
  147. package/dist/index63.js.map +1 -1
  148. package/dist/index64.js +3 -216
  149. package/dist/index64.js.map +1 -1
  150. package/dist/index65.js +6 -13
  151. package/dist/index65.js.map +1 -1
  152. package/dist/index66.js +27 -46
  153. package/dist/index66.js.map +1 -1
  154. package/dist/index67.js +50 -50
  155. package/dist/index67.js.map +1 -1
  156. package/dist/index68.js +9 -4
  157. package/dist/index68.js.map +1 -1
  158. package/dist/index69.js +2 -6
  159. package/dist/index69.js.map +1 -1
  160. package/dist/index70.js +2 -28
  161. package/dist/index70.js.map +1 -1
  162. package/dist/index71.js +203 -48
  163. package/dist/index71.js.map +1 -1
  164. package/dist/index72.js +54 -9
  165. package/dist/index72.js.map +1 -1
  166. package/dist/index73.js +6 -2
  167. package/dist/index73.js.map +1 -1
  168. package/dist/index74.js +8 -2
  169. package/dist/index74.js.map +1 -1
  170. package/dist/index75.js +5 -53
  171. package/dist/index75.js.map +1 -1
  172. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index166.js","sources":["../../../node_modules/libphonenumber-js/es6/AsYouTypeParser.js"],"sourcesContent":["function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport _extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants.js';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$');\n\n// Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\nvar AsYouTypeParser = /*#__PURE__*/function () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n _classCallCheck(this, AsYouTypeParser);\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n return _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n var digits = parseDigits(formattedDigits);\n // Checks for a special case: just a leading `+` has been entered.\n var justLeadingPlus;\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber(undefined, undefined);\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n if (digits) {\n this.inputDigits(digits, state);\n }\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3;\n\n // Append phone number digits.\n state.appendDigits(nextDigits);\n\n // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n }\n\n // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n }\n\n // Extracts a country calling code from a number\n // being entered in internatonal format.\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode(state) {\n var _extractCountryCallin = _extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), state.country, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n if (nationalNumber === nationalDigits) {\n return;\n }\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode;\n // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n /* istanbul ignore if */\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n // Tells if the parsed national (significant) number is present as-is in the input string.\n // For example, when inputting \"0343515551212999\" Argentinian mobile number,\n // the parsed national (significant) number is \"93435551212999\".\n // There, one can see how it stripped \"0\" national prefix and prepended a \"9\",\n // because that's how it is instructed to do in Argentina's metadata.\n // So in the described example, the parsed national (significant) number is not present\n // as-is in the input string. Instead, it's \"modified\" in the input string.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n var nationalSignificantNumberIsModified = false;\n\n // In some countries, a phone number could have a prefix that is not a \"national prefix\"\n // but rather some other type of \"utility\" prefix.\n // For example, when calling within Australia, one could prepend `1831` prefix to hide\n // caller's phone number.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n var prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix;\n\n // `nationalSignificantNumber` could be empty. In that case, `.lastIndexOf()` still works correctly.\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber);\n\n // If the parsed national (significant) number is the last substring of the `nationalDigits`,\n // then it means that it's present as-is in the input string.\n // In any other case, the parsed national (significant) number is \"modified\" in the input string.\n if (nationalSignificantNumberIndex < 0 || nationalSignificantNumberIndex !== nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberIsModified = true;\n } else {\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex);\n // When national (significant) number is equal to the `nationalDigits`,\n // this `onExtractedNationalNumber()` function simply doesn't get called.\n // This means that at this point, `prefixBeforeNationalNumber` is always non-empty.\n // Still, added this `if` check just to prevent potential silly bugs.\n // The `!prefixBeforeNationalNumber` case is not really testable\n // so this line is exluded from the code coverage.\n /* istanbul ignore if */\n if (prefixBeforeNationalNumber) {\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix = prefixBeforeNationalNumber;\n }\n }\n }\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberIsModified: nationalSignificantNumberIsModified,\n prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix: prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix\n });\n // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1” after Mexico’s country code\n // (which is “52”) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1”, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {\n return state.update(stateUpdate);\n })) {\n return true;\n }\n // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits,\n nationalSignificantNumber = state.nationalSignificantNumber;\n if (international || IDDPrefix) {\n return;\n }\n // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state, {\n country: undefined,\n callingCode: undefined\n });\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, state.country, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode;\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state, {\n country: state.country,\n callingCode: newCallingCode\n });\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state, _ref3) {\n var country = _ref3.country,\n callingCode = _ref3.callingCode;\n state.startInternationalNumber(country, callingCode);\n // If a national (significant) number has been extracted before, reset it.\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }]);\n}();\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\nexport { AsYouTypeParser as default };\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART);\n if (startsAt < 0) {\n return;\n }\n // Trim everything to the left of the phone number.\n text = text.slice(startsAt);\n // Trim the `+`.\n var hasPlus;\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n }\n // Trim everything to the right of the phone number.\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, '');\n // Re-add the previously trimmed `+`.\n if (hasPlus) {\n text = '+' + text;\n }\n return text;\n}\n\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || '';\n // Trim a `+`.\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n return [extractedNumber];\n}\n\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\nexport function extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1];\n // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n if (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n return [formattedDigits, hasPlus];\n}\n//# sourceMappingURL=AsYouTypeParser.js.map"],"names":["_typeof","o","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","n","l","i","u","f","_classCallCheck","_defineProperties","_toPropertyKey","_createClass","t","_toPrimitive","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART","VALID_PUNCTUATION","VALID_DIGITS","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN","VALID_FORMATTED_PHONE_NUMBER_PART","PLUS_CHARS","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","_ref","defaultCountry","defaultCallingCode","metadata","onNationalSignificantNumberChange","text","state","_extractFormattedDigi","extractFormattedDigitsAndPlus","_extractFormattedDigi2","formattedDigits","hasPlus","digits","parseDigits","justLeadingPlus","nextDigits","hasReceivedThreeLeadingDigits","stateUpdate","_ref2","international","callingCode","_extractCountryCallin","_extractCountryCallingCode","countryCallingCode","number","numberingPlan","nationalPrefixForParsing","nationalDigits","setState","_extractNationalNumbe","extractNationalNumberFromPossiblyIncompleteNumber","nationalPrefix","nationalNumber","carrierCode","prevNationalSignificantNumber","_extractNationalNumbe2","nationalSignificantNumber","nationalSignificantNumberIsModified","prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix","nationalSignificantNumberIndex","prefixBeforeNationalNumber","IDDPrefix","numberWithoutIDD","stripIddPrefix","_extractCountryCallin2","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","newCallingCode","_ref3","country","extractFormattedPhoneNumber","startsAt","_extractFormattedDigitsAndPlus","extractedNumber","_extractFormattedDigi3","_extractFormattedDigi4"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index166.js","sources":["../../../node_modules/libphonenumber-js/es6/getCountries.js"],"sourcesContent":["import Metadata from './metadata.js';\nexport default function getCountries(metadata) {\n return new Metadata(metadata).getCountries();\n}\n//# sourceMappingURL=getCountries.js.map"],"names":["getCountries","metadata","Metadata"],"mappings":";AACe,SAASA,EAAaC,GAAU;AAC7C,SAAO,IAAIC,EAASD,CAAQ,EAAE,aAAY;AAC5C;","x_google_ignoreList":[0]}
package/dist/index167.js CHANGED
@@ -1,13 +1,470 @@
1
- import o from "./index168.js";
2
- function i(n, a) {
3
- var r = a.nationalNumber, e = a.metadata, t = e.getCountryCodesForCallingCode(n);
4
- if (t)
5
- return t.length === 1 ? t[0] : o(r, {
6
- countries: t,
7
- metadata: e.metadata
8
- });
1
+ import f from "./index249.js";
2
+ import l from "./index173.js";
3
+ function a(n) {
4
+ "@babel/helpers - typeof";
5
+ return a = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
6
+ return typeof t;
7
+ } : function(t) {
8
+ return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
9
+ }, a(n);
10
+ }
11
+ function o(n, t) {
12
+ if (!(n instanceof t)) throw new TypeError("Cannot call a class as a function");
13
+ }
14
+ function y(n, t) {
15
+ for (var e = 0; e < t.length; e++) {
16
+ var i = t[e];
17
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(n, v(i.key), i);
18
+ }
19
+ }
20
+ function u(n, t, e) {
21
+ return t && y(n.prototype, t), Object.defineProperty(n, "prototype", { writable: !1 }), n;
22
+ }
23
+ function v(n) {
24
+ var t = P(n, "string");
25
+ return a(t) == "symbol" ? t : t + "";
26
+ }
27
+ function P(n, t) {
28
+ if (a(n) != "object" || !n) return n;
29
+ var e = n[Symbol.toPrimitive];
30
+ if (e !== void 0) {
31
+ var i = e.call(n, t);
32
+ if (a(i) != "object") return i;
33
+ throw new TypeError("@@toPrimitive must return a primitive value.");
34
+ }
35
+ return String(n);
36
+ }
37
+ var d = "1.2.0", p = "1.7.35", h = " ext. ", C = /^\d+$/, b = /* @__PURE__ */ (function() {
38
+ function n(t) {
39
+ o(this, n), _(t), this.metadata = t, m.call(this, t);
40
+ }
41
+ return u(n, [{
42
+ key: "getCountries",
43
+ value: function() {
44
+ return Object.keys(this.metadata.countries).filter(function(e) {
45
+ return e !== "001";
46
+ });
47
+ }
48
+ }, {
49
+ key: "getCountryMetadata",
50
+ value: function(e) {
51
+ return this.metadata.countries[e];
52
+ }
53
+ }, {
54
+ key: "nonGeographic",
55
+ value: function() {
56
+ if (!(this.v1 || this.v2 || this.v3))
57
+ return this.metadata.nonGeographic || this.metadata.nonGeographical;
58
+ }
59
+ }, {
60
+ key: "hasCountry",
61
+ value: function(e) {
62
+ return this.getCountryMetadata(e) !== void 0;
63
+ }
64
+ }, {
65
+ key: "hasCallingCode",
66
+ value: function(e) {
67
+ if (this.getCountryCodesForCallingCode(e))
68
+ return !0;
69
+ if (this.nonGeographic()) {
70
+ if (this.nonGeographic()[e])
71
+ return !0;
72
+ } else {
73
+ var i = this.countryCallingCodes()[e];
74
+ if (i && i.length === 1 && i[0] === "001")
75
+ return !0;
76
+ }
77
+ }
78
+ }, {
79
+ key: "isNonGeographicCallingCode",
80
+ value: function(e) {
81
+ return this.nonGeographic() ? !!this.nonGeographic()[e] : !this.getCountryCodesForCallingCode(e);
82
+ }
83
+ // Deprecated.
84
+ }, {
85
+ key: "country",
86
+ value: function(e) {
87
+ return this.selectNumberingPlan(e);
88
+ }
89
+ }, {
90
+ key: "selectNumberingPlan",
91
+ value: function(e, i) {
92
+ if (e && C.test(e) && (i = e, e = null), e && e !== "001") {
93
+ if (!this.hasCountry(e))
94
+ throw new Error("Unknown country: ".concat(e));
95
+ this.numberingPlan = new g(this.getCountryMetadata(e), this);
96
+ } else if (i) {
97
+ if (!this.hasCallingCode(i))
98
+ throw new Error("Unknown calling code: ".concat(i));
99
+ this.numberingPlan = new g(this.getNumberingPlanMetadata(i), this);
100
+ } else
101
+ this.numberingPlan = void 0;
102
+ return this;
103
+ }
104
+ }, {
105
+ key: "getCountryCodesForCallingCode",
106
+ value: function(e) {
107
+ var i = this.countryCallingCodes()[e];
108
+ if (i)
109
+ return i.length === 1 && i[0].length === 3 ? void 0 : i;
110
+ }
111
+ }, {
112
+ key: "getCountryCodeForCallingCode",
113
+ value: function(e) {
114
+ var i = this.getCountryCodesForCallingCode(e);
115
+ if (i)
116
+ return i[0];
117
+ }
118
+ }, {
119
+ key: "getNumberingPlanMetadata",
120
+ value: function(e) {
121
+ var i = this.getCountryCodeForCallingCode(e);
122
+ if (i)
123
+ return this.getCountryMetadata(i);
124
+ if (this.nonGeographic()) {
125
+ var r = this.nonGeographic()[e];
126
+ if (r)
127
+ return r;
128
+ } else {
129
+ var s = this.countryCallingCodes()[e];
130
+ if (s && s.length === 1 && s[0] === "001")
131
+ return this.metadata.countries["001"];
132
+ }
133
+ }
134
+ // Deprecated.
135
+ }, {
136
+ key: "countryCallingCode",
137
+ value: function() {
138
+ return this.numberingPlan.callingCode();
139
+ }
140
+ // Deprecated.
141
+ }, {
142
+ key: "IDDPrefix",
143
+ value: function() {
144
+ return this.numberingPlan.IDDPrefix();
145
+ }
146
+ // Deprecated.
147
+ }, {
148
+ key: "defaultIDDPrefix",
149
+ value: function() {
150
+ return this.numberingPlan.defaultIDDPrefix();
151
+ }
152
+ // Deprecated.
153
+ }, {
154
+ key: "nationalNumberPattern",
155
+ value: function() {
156
+ return this.numberingPlan.nationalNumberPattern();
157
+ }
158
+ // Deprecated.
159
+ }, {
160
+ key: "possibleLengths",
161
+ value: function() {
162
+ return this.numberingPlan.possibleLengths();
163
+ }
164
+ // Deprecated.
165
+ }, {
166
+ key: "formats",
167
+ value: function() {
168
+ return this.numberingPlan.formats();
169
+ }
170
+ // Deprecated.
171
+ }, {
172
+ key: "nationalPrefixForParsing",
173
+ value: function() {
174
+ return this.numberingPlan.nationalPrefixForParsing();
175
+ }
176
+ // Deprecated.
177
+ }, {
178
+ key: "nationalPrefixTransformRule",
179
+ value: function() {
180
+ return this.numberingPlan.nationalPrefixTransformRule();
181
+ }
182
+ // Deprecated.
183
+ }, {
184
+ key: "leadingDigits",
185
+ value: function() {
186
+ return this.numberingPlan.leadingDigits();
187
+ }
188
+ // Deprecated.
189
+ }, {
190
+ key: "hasTypes",
191
+ value: function() {
192
+ return this.numberingPlan.hasTypes();
193
+ }
194
+ // Deprecated.
195
+ }, {
196
+ key: "type",
197
+ value: function(e) {
198
+ return this.numberingPlan.type(e);
199
+ }
200
+ // Deprecated.
201
+ }, {
202
+ key: "ext",
203
+ value: function() {
204
+ return this.numberingPlan.ext();
205
+ }
206
+ }, {
207
+ key: "countryCallingCodes",
208
+ value: function() {
209
+ return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
210
+ }
211
+ // Deprecated.
212
+ }, {
213
+ key: "chooseCountryByCountryCallingCode",
214
+ value: function(e) {
215
+ return this.selectNumberingPlan(e);
216
+ }
217
+ }, {
218
+ key: "hasSelectedNumberingPlan",
219
+ value: function() {
220
+ return this.numberingPlan !== void 0;
221
+ }
222
+ }]);
223
+ })(), g = /* @__PURE__ */ (function() {
224
+ function n(t, e) {
225
+ o(this, n), this.globalMetadataObject = e, this.metadata = t, m.call(this, e.metadata);
226
+ }
227
+ return u(n, [{
228
+ key: "callingCode",
229
+ value: function() {
230
+ return this.metadata[0];
231
+ }
232
+ // Formatting information for regions which share
233
+ // a country calling code is contained by only one region
234
+ // for performance reasons. For example, for NANPA region
235
+ // ("North American Numbering Plan Administration",
236
+ // which includes USA, Canada, Cayman Islands, Bahamas, etc)
237
+ // it will be contained in the metadata for `US`.
238
+ }, {
239
+ key: "getDefaultCountryMetadataForRegion",
240
+ value: function() {
241
+ return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
242
+ }
243
+ // Is always present.
244
+ }, {
245
+ key: "IDDPrefix",
246
+ value: function() {
247
+ if (!(this.v1 || this.v2))
248
+ return this.metadata[1];
249
+ }
250
+ // Is only present when a country supports multiple IDD prefixes.
251
+ }, {
252
+ key: "defaultIDDPrefix",
253
+ value: function() {
254
+ if (!(this.v1 || this.v2))
255
+ return this.metadata[12];
256
+ }
257
+ }, {
258
+ key: "nationalNumberPattern",
259
+ value: function() {
260
+ return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
261
+ }
262
+ // "possible length" data is always present in Google's metadata.
263
+ }, {
264
+ key: "possibleLengths",
265
+ value: function() {
266
+ if (!this.v1)
267
+ return this.metadata[this.v2 ? 2 : 3];
268
+ }
269
+ }, {
270
+ key: "_getFormats",
271
+ value: function(e) {
272
+ return e[this.v1 ? 2 : this.v2 ? 3 : 4];
273
+ }
274
+ // For countries of the same region (e.g. NANPA)
275
+ // formats are all stored in the "main" country for that region.
276
+ // E.g. "RU" and "KZ", "US" and "CA".
277
+ }, {
278
+ key: "formats",
279
+ value: function() {
280
+ var e = this, i = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
281
+ return i.map(function(r) {
282
+ return new F(r, e);
283
+ });
284
+ }
285
+ }, {
286
+ key: "nationalPrefix",
287
+ value: function() {
288
+ return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
289
+ }
290
+ }, {
291
+ key: "_getNationalPrefixFormattingRule",
292
+ value: function(e) {
293
+ return e[this.v1 ? 4 : this.v2 ? 5 : 6];
294
+ }
295
+ // For countries of the same region (e.g. NANPA)
296
+ // national prefix formatting rule is stored in the "main" country for that region.
297
+ // E.g. "RU" and "KZ", "US" and "CA".
298
+ }, {
299
+ key: "nationalPrefixFormattingRule",
300
+ value: function() {
301
+ return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
302
+ }
303
+ }, {
304
+ key: "_nationalPrefixForParsing",
305
+ value: function() {
306
+ return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
307
+ }
308
+ }, {
309
+ key: "nationalPrefixForParsing",
310
+ value: function() {
311
+ return this._nationalPrefixForParsing() || this.nationalPrefix();
312
+ }
313
+ }, {
314
+ key: "nationalPrefixTransformRule",
315
+ value: function() {
316
+ return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
317
+ }
318
+ }, {
319
+ key: "_getNationalPrefixIsOptionalWhenFormatting",
320
+ value: function() {
321
+ return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
322
+ }
323
+ // For countries of the same region (e.g. NANPA)
324
+ // "national prefix is optional when formatting" flag is
325
+ // stored in the "main" country for that region.
326
+ // E.g. "RU" and "KZ", "US" and "CA".
327
+ }, {
328
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
329
+ value: function() {
330
+ return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
331
+ }
332
+ }, {
333
+ key: "leadingDigits",
334
+ value: function() {
335
+ return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
336
+ }
337
+ }, {
338
+ key: "types",
339
+ value: function() {
340
+ return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
341
+ }
342
+ }, {
343
+ key: "hasTypes",
344
+ value: function() {
345
+ return this.types() && this.types().length === 0 ? !1 : !!this.types();
346
+ }
347
+ }, {
348
+ key: "type",
349
+ value: function(e) {
350
+ if (this.hasTypes() && c(this.types(), e))
351
+ return new x(c(this.types(), e), this);
352
+ }
353
+ }, {
354
+ key: "ext",
355
+ value: function() {
356
+ return this.v1 || this.v2 ? h : this.metadata[13] || h;
357
+ }
358
+ }]);
359
+ })(), F = /* @__PURE__ */ (function() {
360
+ function n(t, e) {
361
+ o(this, n), this._format = t, this.metadata = e;
362
+ }
363
+ return u(n, [{
364
+ key: "pattern",
365
+ value: function() {
366
+ return this._format[0];
367
+ }
368
+ }, {
369
+ key: "format",
370
+ value: function() {
371
+ return this._format[1];
372
+ }
373
+ }, {
374
+ key: "leadingDigitsPatterns",
375
+ value: function() {
376
+ return this._format[2] || [];
377
+ }
378
+ }, {
379
+ key: "nationalPrefixFormattingRule",
380
+ value: function() {
381
+ return this._format[3] || this.metadata.nationalPrefixFormattingRule();
382
+ }
383
+ }, {
384
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
385
+ value: function() {
386
+ return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
387
+ }
388
+ }, {
389
+ key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
390
+ value: function() {
391
+ return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
392
+ }
393
+ // Checks whether national prefix formatting rule contains national prefix.
394
+ }, {
395
+ key: "usesNationalPrefix",
396
+ value: function() {
397
+ return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
398
+ !k.test(this.nationalPrefixFormattingRule()));
399
+ }
400
+ }, {
401
+ key: "internationalFormat",
402
+ value: function() {
403
+ return this._format[5] || this.format();
404
+ }
405
+ }]);
406
+ })(), k = /^\(?\$1\)?$/, x = /* @__PURE__ */ (function() {
407
+ function n(t, e) {
408
+ o(this, n), this.type = t, this.metadata = e;
409
+ }
410
+ return u(n, [{
411
+ key: "pattern",
412
+ value: function() {
413
+ return this.metadata.v1 ? this.type : this.type[0];
414
+ }
415
+ }, {
416
+ key: "possibleLengths",
417
+ value: function() {
418
+ if (!this.metadata.v1)
419
+ return this.type[1] || this.metadata.possibleLengths();
420
+ }
421
+ }]);
422
+ })();
423
+ function c(n, t) {
424
+ switch (t) {
425
+ case "FIXED_LINE":
426
+ return n[0];
427
+ case "MOBILE":
428
+ return n[1];
429
+ case "TOLL_FREE":
430
+ return n[2];
431
+ case "PREMIUM_RATE":
432
+ return n[3];
433
+ case "PERSONAL_NUMBER":
434
+ return n[4];
435
+ case "VOICEMAIL":
436
+ return n[5];
437
+ case "UAN":
438
+ return n[6];
439
+ case "PAGER":
440
+ return n[7];
441
+ case "VOIP":
442
+ return n[8];
443
+ case "SHARED_COST":
444
+ return n[9];
445
+ }
446
+ }
447
+ function _(n) {
448
+ if (!n)
449
+ throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
450
+ if (!l(n) || !l(n.countries))
451
+ throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(l(n) ? "an object of shape: { " + Object.keys(n).join(", ") + " }" : "a " + N(n) + ": " + n, "."));
452
+ }
453
+ var N = function(t) {
454
+ return a(t);
455
+ };
456
+ function R(n, t) {
457
+ if (t = new b(t), t.hasCountry(n))
458
+ return t.selectNumberingPlan(n).countryCallingCode();
459
+ throw new Error("Unknown country: ".concat(n));
460
+ }
461
+ function m(n) {
462
+ var t = n.version;
463
+ typeof t == "number" ? (this.v1 = t === 1, this.v2 = t === 2, this.v3 = t === 3, this.v4 = t === 4) : t ? f(t, d) === -1 ? this.v2 = !0 : f(t, p) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
9
464
  }
10
465
  export {
11
- i as default
466
+ b as default,
467
+ R as getCountryCallingCode,
468
+ _ as validateMetadata
12
469
  };
13
470
  //# sourceMappingURL=index167.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index167.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js"],"sourcesContent":["import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\n// Returns the exact country for the `nationalNumber`\n// that belongs to the specified \"country calling code\".\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n metadata = _ref.metadata;\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n if (!possibleCountries) {\n return;\n }\n // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map"],"names":["getCountryByCallingCode","callingCode","_ref","nationalPhoneNumber","metadata","possibleCountries","getCountryByNationalNumber"],"mappings":";AAKe,SAASA,EAAwBC,GAAaC,GAAM;AACjE,MAAIC,IAAsBD,EAAK,gBAC7BE,IAAWF,EAAK,UAOdG,IAAoBD,EAAS,8BAA8BH,CAAW;AAC1E,MAAKI;AAKL,WAAIA,EAAkB,WAAW,IACxBA,EAAkB,CAAC,IAErBC,EAA2BH,GAAqB;AAAA,MACrD,WAAWE;AAAA,MACX,UAAUD,EAAS;AAAA,IACvB,CAAG;AACH;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index167.js","sources":["../../../node_modules/libphonenumber-js/es6/metadata.js"],"sourcesContent":["function _readOnlyError(r) { throw new TypeError('\"' + r + '\" is read-only'); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js';\n\n// Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\nvar V2 = '1.0.18';\n\n// Added \"idd_prefix\" and \"default_idd_prefix\".\nvar V3 = '1.2.0';\n\n// Moved `001` country code to \"nonGeographic\" section of metadata.\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n return _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return;\n // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n }\n\n // Deprecated.\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n }\n\n // Deprecated.\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n }\n\n // Deprecated.\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n }\n\n // Deprecated.\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n }\n\n // Deprecated.\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n }\n\n // Deprecated.\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n }\n\n // Deprecated.\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n }\n\n // Deprecated.\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n }\n\n // Deprecated.\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n }\n\n // Deprecated.\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n }\n\n // Deprecated.\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n }\n\n // Deprecated.\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n }\n\n // Deprecated.\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n }\n\n // Deprecated.\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n}();\nexport { Metadata as default };\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n return _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n }\n\n // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n }\n\n // Is always present.\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n }\n\n // Is only present when a country supports multiple IDD prefixes.\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n }\n\n // \"possible length\" data is always present in Google's metadata.\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n }\n\n // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n }\n\n // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n }\n\n // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n }\n // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n}();\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n this._format = format;\n this.metadata = metadata;\n }\n return _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n\n // Checks whether national prefix formatting rule contains national prefix.\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() &&\n // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\n // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n this.type = type;\n this.metadata = metadata;\n }\n return _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n}();\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n case 'MOBILE':\n return types[1];\n case 'TOLL_FREE':\n return types[2];\n case 'PREMIUM_RATE':\n return types[3];\n case 'PERSONAL_NUMBER':\n return types[4];\n case 'VOICEMAIL':\n return types[5];\n case 'UAN':\n return types[6];\n case 'PAGER':\n return types[7];\n case 'VOIP':\n return types[8];\n case 'SHARED_COST':\n return types[9];\n }\n}\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n }\n\n // `country_phone_code_to_countries` was renamed to `country_calling_codes` in `1.0.18`.\n // For that reason, it's not used in this detection algorithm.\n // Instead, it detects by `countries: {}` property existence.\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n}\n\n// Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n/* istanbul ignore next */\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n if (metadata.hasCountry(country)) {\n return metadata.selectNumberingPlan(country).ext();\n }\n return DEFAULT_EXT_PREFIX;\n}\n\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n if (metadata.hasCountry(country)) {\n return metadata.selectNumberingPlan(country).countryCallingCode();\n }\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\nfunction setVersion(metadata) {\n var version = metadata.version;\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n}\n\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map"],"names":["_typeof","o","_classCallCheck","a","n","_defineProperties","e","r","t","_toPropertyKey","_createClass","i","_toPrimitive","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","metadata","validateMetadata","setVersion","_","countryCode","country","callingCode","countryCodes","NumberingPlan","_type","globalMetadataObject","_this","formats","Format","_type2","getType","Type","format","FIRST_GROUP_ONLY_PREFIX_PATTERN","type","types","isObject","typeOf","getCountryCallingCode","version","compare"],"mappings":"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","x_google_ignoreList":[0]}