Socket
Socket
Sign inDemoInstall

libphonenumber-js

Package Overview
Dependencies
Maintainers
1
Versions
392
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

libphonenumber-js - npm Package Compare versions

Comparing version 1.9.53 to 1.10.0

.babelrc

34

build/AsYouType.js

@@ -8,26 +8,32 @@ "use strict";

var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber"));
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber.js"));
var _AsYouTypeState = _interopRequireDefault(require("./AsYouTypeState"));
var _AsYouTypeState = _interopRequireDefault(require("./AsYouTypeState.js"));
var _AsYouTypeFormatter = _interopRequireWildcard(require("./AsYouTypeFormatter"));
var _AsYouTypeFormatter = _interopRequireWildcard(require("./AsYouTypeFormatter.js"));
var _AsYouTypeParser = _interopRequireWildcard(require("./AsYouTypeParser"));
var _AsYouTypeParser = _interopRequireWildcard(require("./AsYouTypeParser.js"));
var _getCountryByCallingCode = _interopRequireDefault(require("./helpers/getCountryByCallingCode"));
var _getCountryByCallingCode = _interopRequireDefault(require("./helpers/getCountryByCallingCode.js"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -39,9 +45,7 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
var AsYouType =
/*#__PURE__*/
function () {
var AsYouType = /*#__PURE__*/function () {
/**

@@ -48,0 +52,0 @@ * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.

@@ -5,32 +5,40 @@ "use strict";

var _AsYouType = _interopRequireDefault(require("./AsYouType"));
var _AsYouType = _interopRequireDefault(require("./AsYouType.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
var AsYouType = /*#__PURE__*/function (_AsYouType_) {
_inherits(AsYouType, _AsYouType_);
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
var _super = _createSuper(AsYouType);
var AsYouType =
/*#__PURE__*/
function (_AsYouType_) {
_inherits(AsYouType, _AsYouType_);
function AsYouType(country_code) {
_classCallCheck(this, AsYouType);
return _possibleConstructorReturn(this, _getPrototypeOf(AsYouType).call(this, country_code, _metadataMin["default"]));
return _super.call(this, country_code, _metadataMin["default"]);
}
return AsYouType;
return _createClass(AsYouType);
}(_AsYouType["default"]);

@@ -1211,2 +1219,8 @@

});
it('should work for formats with no leading digits (`leadingDigitsPatternsCount === 0`)', function () {
var formatter = new AsYouType({
defaultCallingCode: 888
});
formatter.input('1').should.equal('1');
});
});

@@ -1213,0 +1227,0 @@

@@ -6,10 +6,10 @@ "use strict";

});
exports.canFormatCompleteNumber = canFormatCompleteNumber;
exports["default"] = formatCompleteNumber;
exports.canFormatCompleteNumber = canFormatCompleteNumber;
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength.js"));
var _parseDigits = _interopRequireDefault(require("./helpers/parseDigits"));
var _parseDigits = _interopRequireDefault(require("./helpers/parseDigits.js"));
var _formatNationalNumberUsingFormat = _interopRequireDefault(require("./helpers/formatNationalNumberUsingFormat"));
var _formatNationalNumberUsingFormat = _interopRequireDefault(require("./helpers/formatNationalNumberUsingFormat.js"));

@@ -16,0 +16,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -9,3 +11,3 @@ value: true

get: function get() {
return _AsYouTypeFormatter.DIGIT_PLACEHOLDER;
return _AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER;
}

@@ -15,20 +17,28 @@ });

var _AsYouTypeFormatter = require("./AsYouTypeFormatter.util");
var _AsYouTypeFormatterUtil = require("./AsYouTypeFormatter.util.js");
var _AsYouTypeFormatter2 = _interopRequireWildcard(require("./AsYouTypeFormatter.complete"));
var _AsYouTypeFormatterComplete = _interopRequireWildcard(require("./AsYouTypeFormatter.complete.js"));
var _AsYouTypeFormatter3 = _interopRequireDefault(require("./AsYouTypeFormatter.PatternMatcher"));
var _AsYouTypeFormatterPatternMatcher = _interopRequireDefault(require("./AsYouTypeFormatter.PatternMatcher.js"));
var _parseDigits = _interopRequireDefault(require("./helpers/parseDigits"));
var _parseDigits = _interopRequireDefault(require("./helpers/parseDigits.js"));
var _formatNationalNumberUsingFormat = require("./helpers/formatNationalNumberUsingFormat");
var _formatNationalNumberUsingFormat = require("./helpers/formatNationalNumberUsingFormat.js");
var _constants = require("./constants");
var _constants = require("./constants.js");
var _applyInternationalSeparatorStyle = _interopRequireDefault(require("./helpers/applyInternationalSeparatorStyle"));
var _applyInternationalSeparatorStyle = _interopRequireDefault(require("./helpers/applyInternationalSeparatorStyle.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -38,6 +48,4 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
// Used in phone number format template creation.

@@ -50,3 +58,3 @@ // Could be any digit, I guess.

var LONGEST_DUMMY_PHONE_NUMBER = (0, _AsYouTypeFormatter.repeat)(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to
var LONGEST_DUMMY_PHONE_NUMBER = (0, _AsYouTypeFormatterUtil.repeat)(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to
// us that we should separate the national prefix from the number when formatting.

@@ -120,8 +128,4 @@

var AsYouTypeFormatter =
/*#__PURE__*/
function () {
var AsYouTypeFormatter = /*#__PURE__*/function () {
function AsYouTypeFormatter(_ref) {
var _this = this;
var state = _ref.state,

@@ -132,42 +136,2 @@ metadata = _ref.metadata;

_defineProperty(this, "getSeparatorAfterNationalPrefix", function (format) {
// `US` metadata doesn't have a `national_prefix_formatting_rule`,
// so the `if` condition below doesn't apply to `US`,
// but in reality there shoudl be a separator
// between a national prefix and a national (significant) number.
// So `US` national prefix separator is a "special" "hardcoded" case.
if (_this.isNANP) {
return ' ';
} // If a `format` has a `national_prefix_formatting_rule`
// and that rule has a separator after a national prefix,
// then it means that there should be a separator
// between a national prefix and a national (significant) number.
if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {
return ' ';
} // At this point, there seems to be no clear evidence that
// there should be a separator between a national prefix
// and a national (significant) number. So don't insert one.
return '';
});
_defineProperty(this, "shouldTryNationalPrefixFormattingRule", function (format, _ref2) {
var international = _ref2.international,
nationalPrefix = _ref2.nationalPrefix;
if (format.nationalPrefixFormattingRule()) {
// In some countries, `national_prefix_formatting_rule` is `($1)`,
// so it applies even if the user hasn't input a national prefix.
// `format.usesNationalPrefix()` detects such cases.
var usesNationalPrefix = format.usesNationalPrefix();
if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {
return true;
}
}
});
this.metadata = metadata;

@@ -213,3 +177,3 @@ this.resetFormat();

value: function format(nextDigits, state) {
var _this2 = this;
var _this = this;

@@ -230,20 +194,9 @@ // See if the phone number digits can be formatted as a complete phone number.

//
if ((0, _AsYouTypeFormatter2.canFormatCompleteNumber)(state.nationalSignificantNumber, this.metadata)) {
for (var _iterator = this.matchingFormats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref3;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref3 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref3 = _i.value;
}
var format = _ref3;
var formattedCompleteNumber = (0, _AsYouTypeFormatter2["default"])(state, format, {
if ((0, _AsYouTypeFormatterComplete.canFormatCompleteNumber)(state.nationalSignificantNumber, this.metadata)) {
for (var _iterator = _createForOfIteratorHelperLoose(this.matchingFormats), _step; !(_step = _iterator()).done;) {
var format = _step.value;
var formattedCompleteNumber = (0, _AsYouTypeFormatterComplete["default"])(state, format, {
metadata: this.metadata,
shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {
return _this2.shouldTryNationalPrefixFormattingRule(format, {
return _this.shouldTryNationalPrefixFormattingRule(format, {
international: state.international,

@@ -253,3 +206,5 @@ nationalPrefix: state.nationalPrefix

},
getSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix
getSeparatorAfterNationalPrefix: function getSeparatorAfterNationalPrefix(format) {
return _this.getSeparatorAfterNationalPrefix(format);
}
});

@@ -260,7 +215,7 @@

this.chosenFormat = format;
this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\d/g, _AsYouTypeFormatter.DIGIT_PLACEHOLDER), state);
this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\d/g, _AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER), state);
this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position
// using the old template needs to be reset.
this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(_AsYouTypeFormatter.DIGIT_PLACEHOLDER);
this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(_AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER);
return formattedCompleteNumber;

@@ -300,8 +255,8 @@ }

key: "narrowDownMatchingFormats",
value: function narrowDownMatchingFormats(_ref4) {
var _this3 = this;
value: function narrowDownMatchingFormats(_ref2) {
var _this2 = this;
var nationalSignificantNumber = _ref4.nationalSignificantNumber,
nationalPrefix = _ref4.nationalPrefix,
international = _ref4.international;
var nationalSignificantNumber = _ref2.nationalSignificantNumber,
nationalPrefix = _ref2.nationalPrefix,
international = _ref2.international;
var leadingDigits = nationalSignificantNumber; // "leading digits" pattern list starts with a

@@ -326,3 +281,3 @@ // "leading digits" pattern fitting a maximum of 3 leading digits.

this.matchingFormats = this.matchingFormats.filter(function (format) {
return _this3.formatSuits(format, international, nationalPrefix) && _this3.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);
return _this2.formatSuits(format, international, nationalPrefix) && _this2.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);
}); // If there was a phone number format chosen

@@ -374,2 +329,3 @@ // and it no longer holds given the new leading digits then reset it.

// leading digits pattern then it fits.
// The test case could be found by searching for "leadingDigitsPatternsCount === 0".

@@ -417,3 +373,3 @@ if (leadingDigitsPatternsCount === 0) {

try {
return new _AsYouTypeFormatter3["default"](leadingDigitsPattern).match(leadingDigits, {
return new _AsYouTypeFormatterPatternMatcher["default"](leadingDigitsPattern).match(leadingDigits, {
allowOverflow: true

@@ -449,19 +405,10 @@ }) !== undefined;

value: function chooseFormat(state) {
var _this4 = this;
var _this3 = this;
var _loop2 = function _loop2() {
if (_isArray2) {
if (_i2 >= _iterator2.length) return "break";
_ref5 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) return "break";
_ref5 = _i2.value;
}
var _loop = function _loop() {
var format = _step2.value;
var format = _ref5;
// If this format is currently being used
// and is still suitable, then stick to it.
if (_this4.chosenFormat === format) {
if (_this3.chosenFormat === format) {
return "break";

@@ -510,9 +457,9 @@ } // Sometimes, a formatting rule inserts additional digits in a phone number,

if (!NON_ALTERING_FORMAT_REG_EXP.test(_this4.getFormatFormat(format, state.international))) {
if (!NON_ALTERING_FORMAT_REG_EXP.test(_this3.getFormatFormat(format, state.international))) {
return "continue";
}
if (!_this4.createTemplateForFormat(format, state)) {
if (!_this3.createTemplateForFormat(format, state)) {
// Remove the format if it can't generate a template.
_this4.matchingFormats = _this4.matchingFormats.filter(function (_) {
_this3.matchingFormats = _this3.matchingFormats.filter(function (_) {
return _ !== format;

@@ -523,3 +470,3 @@ });

_this4.chosenFormat = format;
_this3.chosenFormat = format;
return "break";

@@ -530,14 +477,21 @@ };

// format where a formatting template could be created.
_loop: for (var _iterator2 = this.matchingFormats.slice(), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref5;
//
// For some weird reason, `istanbul` says "else path not taken"
// for the `for of` line below. Supposedly that means that
// the loop doesn't ever go over the last element in the list.
// That's true because there always is `this.chosenFormat`
// when `this.matchingFormats` is non-empty.
// And, for some weird reason, it doesn't think that the case
// with empty `this.matchingFormats` qualifies for a valid "else" path.
// So simply muting this `istanbul` warning.
// It doesn't skip the contents of the `for of` loop,
// it just skips the `for of` line.
//
var _ret = _loop2();
/* istanbul ignore next */
for (var _iterator2 = _createForOfIteratorHelperLoose(this.matchingFormats.slice()), _step2; !(_step2 = _iterator2()).done;) {
var _ret = _loop();
switch (_ret) {
case "break":
break _loop;
case "continue":
continue;
}
if (_ret === "break") break;
if (_ret === "continue") continue;
}

@@ -574,6 +528,31 @@

}, {
key: "getSeparatorAfterNationalPrefix",
value: function getSeparatorAfterNationalPrefix(format) {
// `US` metadata doesn't have a `national_prefix_formatting_rule`,
// so the `if` condition below doesn't apply to `US`,
// but in reality there shoudl be a separator
// between a national prefix and a national (significant) number.
// So `US` national prefix separator is a "special" "hardcoded" case.
if (this.isNANP) {
return ' ';
} // If a `format` has a `national_prefix_formatting_rule`
// and that rule has a separator after a national prefix,
// then it means that there should be a separator
// between a national prefix and a national (significant) number.
if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {
return ' ';
} // At this point, there seems to be no clear evidence that
// there should be a separator between a national prefix
// and a national (significant) number. So don't insert one.
return '';
}
}, {
key: "getInternationalPrefixBeforeCountryCallingCode",
value: function getInternationalPrefixBeforeCountryCallingCode(_ref6, options) {
var IDDPrefix = _ref6.IDDPrefix,
missingPlus = _ref6.missingPlus;
value: function getInternationalPrefixBeforeCountryCallingCode(_ref3, options) {
var IDDPrefix = _ref3.IDDPrefix,
missingPlus = _ref3.missingPlus;

@@ -607,7 +586,7 @@ if (IDDPrefix) {

while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {
index = this.template.indexOf(_AsYouTypeFormatter.DIGIT_PLACEHOLDER, index + 1);
index = this.template.indexOf(_AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER, index + 1);
i++;
}
return (0, _AsYouTypeFormatter.cutAndStripNonPairedParens)(this.template, index + 1);
return (0, _AsYouTypeFormatterUtil.cutAndStripNonPairedParens)(this.template, index + 1);
}

@@ -628,3 +607,3 @@ }, {

if (state.international) {
this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\d\+]/g, _AsYouTypeFormatter.DIGIT_PLACEHOLDER) + (0, _AsYouTypeFormatter.repeat)(_AsYouTypeFormatter.DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;
this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\d\+]/g, _AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER) + (0, _AsYouTypeFormatterUtil.repeat)(_AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;
} else {

@@ -644,7 +623,7 @@ this.template = template;

key: "getTemplateForFormat",
value: function getTemplateForFormat(format, _ref7) {
var nationalSignificantNumber = _ref7.nationalSignificantNumber,
international = _ref7.international,
nationalPrefix = _ref7.nationalPrefix,
complexPrefixBeforeNationalSignificantNumber = _ref7.complexPrefixBeforeNationalSignificantNumber;
value: function getTemplateForFormat(format, _ref4) {
var nationalSignificantNumber = _ref4.nationalSignificantNumber,
international = _ref4.international,
nationalPrefix = _ref4.nationalPrefix,
complexPrefixBeforeNationalSignificantNumber = _ref4.complexPrefixBeforeNationalSignificantNumber;
var pattern = format.pattern();

@@ -744,3 +723,3 @@ /* istanbul ignore else */

while (i > 0) {
numberFormat = numberFormat.replace(/\d/, _AsYouTypeFormatter.DIGIT_PLACEHOLDER);
numberFormat = numberFormat.replace(/\d/, _AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER);
i--;

@@ -755,3 +734,3 @@ }

.replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.
.replace(new RegExp(DUMMY_DIGIT, 'g'), _AsYouTypeFormatter.DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple
.replace(new RegExp(DUMMY_DIGIT, 'g'), _AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple
// as just a basic national prefix, then just prepend such prefix

@@ -764,6 +743,6 @@ // before the national (significant) number, optionally spacing

// Prepend the prefix to the template manually.
template = (0, _AsYouTypeFormatter.repeat)(_AsYouTypeFormatter.DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;
template = (0, _AsYouTypeFormatterUtil.repeat)(_AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;
} else if (nationalPrefix) {
// Prepend national prefix to the template manually.
template = (0, _AsYouTypeFormatter.repeat)(_AsYouTypeFormatter.DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;
template = (0, _AsYouTypeFormatterUtil.repeat)(_AsYouTypeFormatterUtil.DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;
}

@@ -781,3 +760,3 @@ }

value: function formatNextNationalNumberDigits(digits) {
var result = (0, _AsYouTypeFormatter.populateTemplateWithDigits)(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);
var result = (0, _AsYouTypeFormatterUtil.populateTemplateWithDigits)(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);

@@ -793,3 +772,3 @@ if (!result) {

return (0, _AsYouTypeFormatter.cutAndStripNonPairedParens)(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good
return (0, _AsYouTypeFormatterUtil.cutAndStripNonPairedParens)(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good
// for `react-phone-number-input`'s default input (`InputBasic`).

@@ -799,2 +778,19 @@ // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)

}
}, {
key: "shouldTryNationalPrefixFormattingRule",
value: function shouldTryNationalPrefixFormattingRule(format, _ref5) {
var international = _ref5.international,
nationalPrefix = _ref5.nationalPrefix;
if (format.nationalPrefixFormattingRule()) {
// In some countries, `national_prefix_formatting_rule` is `($1)`,
// so it applies even if the user hasn't input a national prefix.
// `format.usesNationalPrefix()` detects such cases.
var usesNationalPrefix = format.usesNationalPrefix();
if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {
return true;
}
}
}
}]);

@@ -801,0 +797,0 @@

@@ -8,2 +8,8 @@ "use strict";

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -13,7 +19,5 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var PatternMatcher =
/*#__PURE__*/
function () {
var PatternMatcher = /*#__PURE__*/function () {
function PatternMatcher(pattern) {

@@ -168,16 +172,5 @@ _classCallCheck(this, PatternMatcher);

for (var _iterator = tree.args, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref2;
for (var _iterator = _createForOfIteratorHelperLoose(tree.args), _step; !(_step = _iterator()).done;) {
var branch = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref2 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref2 = _i.value;
}
var branch = _ref2;
var _result = _match(characters, branch, last);

@@ -215,16 +208,5 @@

case '[]':
for (var _iterator2 = tree.args, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref3;
for (var _iterator2 = _createForOfIteratorHelperLoose(tree.args), _step2; !(_step2 = _iterator2()).done;) {
var _char = _step2.value;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref3 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref3 = _i2.value;
}
var _char = _ref3;
if (characters[0] === _char) {

@@ -274,5 +256,3 @@ if (characters.length === 1) {

var PatternParser =
/*#__PURE__*/
function () {
var PatternParser = /*#__PURE__*/function () {
function PatternParser() {

@@ -279,0 +259,0 @@ _classCallCheck(this, PatternParser);

"use strict";
var _AsYouTypeFormatter = _interopRequireDefault(require("./AsYouTypeFormatter.PatternMatcher"));
var _AsYouTypeFormatterPatternMatcher = _interopRequireDefault(require("./AsYouTypeFormatter.PatternMatcher.js"));

@@ -10,7 +10,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

expect(function () {
return new _AsYouTypeFormatter["default"]();
return new _AsYouTypeFormatterPatternMatcher["default"]();
}).to["throw"]('Pattern is required');
});
it('should throw when no string is passed', function () {
var matcher = new _AsYouTypeFormatter["default"]('1');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('1');
expect(function () {

@@ -22,3 +22,3 @@ return matcher.match();

expect(function () {
return new _AsYouTypeFormatter["default"]('4(5|6)7');
return new _AsYouTypeFormatterPatternMatcher["default"]('4(5|6)7');
}).to["throw"]('Illegal characters');

@@ -28,3 +28,3 @@ });

expect(function () {
return new _AsYouTypeFormatter["default"]('4]7');
return new _AsYouTypeFormatterPatternMatcher["default"]('4]7');
}).to["throw"]('"]" operator must be preceded by "[" operator');

@@ -34,3 +34,3 @@ });

expect(function () {
return new _AsYouTypeFormatter["default"]('[-5]');
return new _AsYouTypeFormatterPatternMatcher["default"]('[-5]');
}).to["throw"]('Couldn\'t parse a one-of set pattern: -5');

@@ -40,3 +40,3 @@ });

expect(function () {
return new _AsYouTypeFormatter["default"]('4(?:5|7');
return new _AsYouTypeFormatterPatternMatcher["default"]('4(?:5|7');
}).to["throw"]('Non-finalized contexts left when pattern parse ended');

@@ -46,3 +46,3 @@ });

expect(function () {
return new _AsYouTypeFormatter["default"]('4(?:5|)7');
return new _AsYouTypeFormatterPatternMatcher["default"]('4(?:5|)7');
}).to["throw"]('No instructions found after "|" operator in an "or" group');

@@ -52,3 +52,3 @@ });

expect(function () {
return new _AsYouTypeFormatter["default"]('4[56)]7');
return new _AsYouTypeFormatterPatternMatcher["default"]('4[56)]7');
}).to["throw"]('")" operator must be preceded by "(?:" operator');

@@ -58,7 +58,7 @@ });

expect(function () {
return new _AsYouTypeFormatter["default"]('4[5|6]7');
return new _AsYouTypeFormatterPatternMatcher["default"]('4[5|6]7');
}).to["throw"]('operator can only be used inside "or" groups');
});
it('should match a one-digit pattern', function () {
var matcher = new _AsYouTypeFormatter["default"]('4');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('4');
expect(matcher.match('1')).to.be.undefined;

@@ -76,3 +76,3 @@ matcher.match('4').should.deep.equal({

it('should match a two-digit pattern', function () {
var matcher = new _AsYouTypeFormatter["default"]('44');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('44');
expect(matcher.match('1')).to.be.undefined;

@@ -94,3 +94,3 @@ matcher.match('4').should.deep.equal({

it('should match a one-digit one-of set (single digit)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[4]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[4]');
expect(matcher.match('1')).to.be.undefined;

@@ -108,3 +108,3 @@ matcher.match('4').should.deep.equal({

it('should match a one-digit one-of set (multiple digits)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[479]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[479]');
expect(matcher.match('1')).to.be.undefined;

@@ -122,3 +122,3 @@ matcher.match('4').should.deep.equal({

it('should match a one-digit one-of set using a dash notation (not inclusive)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[2-5]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[2-5]');
expect(matcher.match('1')).to.be.undefined;

@@ -136,3 +136,3 @@ matcher.match('4').should.deep.equal({

it('should match a one-digit one-of set using a dash notation (inclusive)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[3-4]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[3-4]');
expect(matcher.match('1')).to.be.undefined;

@@ -150,3 +150,3 @@ matcher.match('4').should.deep.equal({

it('should match a one-digit one-of set including a dash notation', function () {
var matcher = new _AsYouTypeFormatter["default"]('[124-68]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[124-68]');
expect(matcher.match('0')).to.be.undefined;

@@ -182,3 +182,3 @@ matcher.match('1').should.deep.equal({

it('should match a two-digit one-of set', function () {
var matcher = new _AsYouTypeFormatter["default"]('[479][45]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[479][45]');
expect(matcher.match('1')).to.be.undefined;

@@ -201,3 +201,3 @@ matcher.match('4').should.deep.equal({

it('should match a two-digit one-of set (regular digit and a one-of set)', function () {
var matcher = new _AsYouTypeFormatter["default"]('1[45]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('1[45]');
expect(matcher.match('0')).to.be.undefined;

@@ -213,3 +213,3 @@ matcher.match('1').should.deep.equal({

it('should match a pattern with an or group', function () {
var matcher = new _AsYouTypeFormatter["default"]('7(?:1[0-68]|2[1-9])');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('7(?:1[0-68]|2[1-9])');
expect(matcher.match('1')).to.be.undefined;

@@ -239,3 +239,3 @@ matcher.match('7').should.deep.equal({

it('should match an or pattern containing or groups', function () {
var matcher = new _AsYouTypeFormatter["default"]('2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])');
expect(matcher.match('1')).to.be.undefined;

@@ -275,3 +275,3 @@ matcher.match('2').should.deep.equal({

it('should match an or pattern', function () {
var matcher = new _AsYouTypeFormatter["default"]('6|8');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('6|8');
expect(matcher.match('5')).to.be.undefined;

@@ -287,3 +287,3 @@ matcher.match('6').should.deep.equal({

it('should match an or pattern (one-of sets)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[123]|[5-8]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[123]|[5-8]');
expect(matcher.match('0')).to.be.undefined;

@@ -321,3 +321,3 @@ matcher.match('1').should.deep.equal({

it('should match an or pattern (different lengths)', function () {
var matcher = new _AsYouTypeFormatter["default"]('60|8');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('60|8');
expect(matcher.match('5')).to.be.undefined;

@@ -338,7 +338,7 @@ matcher.match('6').should.deep.equal({

it('should match an or pattern (one-of sets) (different lengths)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[123]|[5-8][2-8]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[123]|[5-8][2-8]');
expect(matcher.match('0')).to.be.undefined;
});
it('should match an or pattern (one-of sets and regular digits) (different lengths)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[2358][2-5]|4');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[2358][2-5]|4');
expect(matcher.match('0')).to.be.undefined;

@@ -371,3 +371,3 @@ matcher.match('2').should.deep.equal({

it('should match an or pattern (one-of sets and regular digits mixed) (different lengths)', function () {
var matcher = new _AsYouTypeFormatter["default"]('[2358]2|4');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('[2358]2|4');
expect(matcher.match('0')).to.be.undefined;

@@ -396,3 +396,3 @@ matcher.match('2').should.deep.equal({

it('should match an or pattern (one-of sets groups and regular digits mixed) (different lengths)', function () {
var matcher = new _AsYouTypeFormatter["default"]('1(?:11|[2-9])');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('1(?:11|[2-9])');
matcher.match('1').should.deep.equal({

@@ -424,3 +424,3 @@ partialMatch: true

it('should match nested or groups', function () {
var matcher = new _AsYouTypeFormatter["default"]('1(?:2(?:3(?:4|5)|6)|7(?:8|9))0');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('1(?:2(?:3(?:4|5)|6)|7(?:8|9))0');
matcher.match('1').should.deep.equal({

@@ -469,3 +469,3 @@ partialMatch: true

it('should match complex patterns', function () {
var matcher = new _AsYouTypeFormatter["default"]('(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]');
var matcher = new _AsYouTypeFormatterPatternMatcher["default"]('(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]');
expect(matcher.match('0')).to.be.undefined;

@@ -472,0 +472,0 @@ matcher.match('3').should.deep.equal({

@@ -6,9 +6,16 @@ "use strict";

});
exports.DIGIT_PLACEHOLDER = void 0;
exports.closeNonPairedParens = closeNonPairedParens;
exports.countOccurences = countOccurences;
exports.cutAndStripNonPairedParens = cutAndStripNonPairedParens;
exports.populateTemplateWithDigits = populateTemplateWithDigits;
exports.repeat = repeat;
exports.cutAndStripNonPairedParens = cutAndStripNonPairedParens;
exports.closeNonPairedParens = closeNonPairedParens;
exports.stripNonPairedParens = stripNonPairedParens;
exports.populateTemplateWithDigits = populateTemplateWithDigits;
exports.DIGIT_PLACEHOLDER = void 0;
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.

@@ -28,16 +35,5 @@ var DIGIT_PLACEHOLDER = 'x'; // '\u2008' (punctuation space)

for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {
var character = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var character = _ref;
if (character === symbol) {

@@ -115,4 +111,4 @@ count++;

for (var _i2 = 0, _dangling_braces = dangling_braces; _i2 < _dangling_braces.length; _i2++) {
var index = _dangling_braces[_i2];
for (var _i = 0, _dangling_braces = dangling_braces; _i < _dangling_braces.length; _i++) {
var index = _dangling_braces[_i];
cleared_string += string.slice(start, index);

@@ -131,16 +127,5 @@ start = index + 1;

// for (const digit of digits)
for (var _iterator2 = digits.split(''), _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
for (var _iterator2 = _createForOfIteratorHelperLoose(digits.split('')), _step2; !(_step2 = _iterator2()).done;) {
var digit = _step2.value;
if (_isArray2) {
if (_i3 >= _iterator2.length) break;
_ref2 = _iterator2[_i3++];
} else {
_i3 = _iterator2.next();
if (_i3.done) break;
_ref2 = _i3.value;
}
var digit = _ref2;
// If there is room for more digits in current `template`,

@@ -147,0 +132,0 @@ // then set the next digit in the `template`,

"use strict";
var _AsYouTypeFormatter = require("./AsYouTypeFormatter.util");
var _AsYouTypeFormatterUtil = require("./AsYouTypeFormatter.util.js");
describe('closeNonPairedParens', function () {
it('should close non-paired braces', function () {
(0, _AsYouTypeFormatter.closeNonPairedParens)('(000) 123-45 (9 )', 15).should.equal('(000) 123-45 (9 )');
(0, _AsYouTypeFormatterUtil.closeNonPairedParens)('(000) 123-45 (9 )', 15).should.equal('(000) 123-45 (9 )');
});

@@ -12,4 +12,4 @@ });

it('should strip non-paired braces', function () {
(0, _AsYouTypeFormatter.stripNonPairedParens)('(000) 123-45 (9').should.equal('(000) 123-45 9');
(0, _AsYouTypeFormatter.stripNonPairedParens)('(000) 123-45 (9)').should.equal('(000) 123-45 (9)');
(0, _AsYouTypeFormatterUtil.stripNonPairedParens)('(000) 123-45 (9').should.equal('(000) 123-45 9');
(0, _AsYouTypeFormatterUtil.stripNonPairedParens)('(000) 123-45 (9)').should.equal('(000) 123-45 (9)');
});

@@ -19,7 +19,7 @@ });

it('should repeat string N times', function () {
(0, _AsYouTypeFormatter.repeat)('a', 0).should.equal('');
(0, _AsYouTypeFormatter.repeat)('a', 3).should.equal('aaa');
(0, _AsYouTypeFormatter.repeat)('a', 4).should.equal('aaaa');
(0, _AsYouTypeFormatterUtil.repeat)('a', 0).should.equal('');
(0, _AsYouTypeFormatterUtil.repeat)('a', 3).should.equal('aaa');
(0, _AsYouTypeFormatterUtil.repeat)('a', 4).should.equal('aaaa');
});
});
//# sourceMappingURL=AsYouTypeFormatter.util.test.js.map

@@ -6,25 +6,29 @@ "use strict";

});
exports["default"] = void 0;
exports.extractFormattedDigitsAndPlus = extractFormattedDigitsAndPlus;
exports["default"] = void 0;
var _extractCountryCallingCode2 = _interopRequireDefault(require("./helpers/extractCountryCallingCode"));
var _extractCountryCallingCode2 = _interopRequireDefault(require("./helpers/extractCountryCallingCode.js"));
var _extractCountryCallingCodeFromInternationalNumberWithoutPlusSign = _interopRequireDefault(require("./helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign"));
var _extractCountryCallingCodeFromInternationalNumberWithoutPlusSign = _interopRequireDefault(require("./helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js"));
var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./helpers/extractNationalNumberFromPossiblyIncompleteNumber"));
var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./helpers/extractNationalNumberFromPossiblyIncompleteNumber.js"));
var _stripIddPrefix = _interopRequireDefault(require("./helpers/stripIddPrefix"));
var _stripIddPrefix = _interopRequireDefault(require("./helpers/stripIddPrefix.js"));
var _parseDigits = _interopRequireDefault(require("./helpers/parseDigits"));
var _parseDigits = _interopRequireDefault(require("./helpers/parseDigits.js"));
var _constants = require("./constants");
var _constants = require("./constants.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -36,3 +40,3 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -48,5 +52,3 @@ var VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + _constants.VALID_PUNCTUATION + _constants.VALID_DIGITS + ']+';

var AsYouTypeParser =
/*#__PURE__*/
function () {
var AsYouTypeParser = /*#__PURE__*/function () {
function AsYouTypeParser(_ref) {

@@ -143,3 +145,5 @@ var defaultCountry = _ref.defaultCountry,

if (!this.hasExtractedNationalSignificantNumber) {
this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);
this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {
return state.update(stateUpdate);
});
}

@@ -327,3 +331,5 @@ }

//
if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, state.update)) {
if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {
return state.update(stateUpdate);
})) {
return true;

@@ -431,3 +437,5 @@ } // If no format matches the phone number, then it could be

// there won't be yet another retry, so also extract national prefix here.
this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);
this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {
return state.update(stateUpdate);
});
}

@@ -434,0 +442,0 @@ }

@@ -12,12 +12,6 @@ "use strict";

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var AsYouTypeState =
/*#__PURE__*/
function () {
var AsYouTypeState = /*#__PURE__*/function () {
function AsYouTypeState(_ref) {
var _this = this;
var onCountryChange = _ref.onCountryChange,

@@ -28,9 +22,2 @@ onCallingCodeChange = _ref.onCallingCodeChange;

_defineProperty(this, "update", function (properties) {
for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
_this[key] = properties[key];
}
});
this.onCountryChange = onCountryChange;

@@ -61,2 +48,10 @@ this.onCallingCodeChange = onCallingCodeChange;

}, {
key: "update",
value: function update(properties) {
for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
this[key] = properties[key];
}
}
}, {
key: "initCountryAndCallingCode",

@@ -63,0 +58,0 @@ value: function initCountryAndCallingCode(country, callingCode) {

@@ -6,3 +6,3 @@ "use strict";

});
exports.PLUS_CHARS = exports.VALID_PUNCTUATION = exports.WHITESPACE = exports.VALID_DIGITS = exports.MAX_LENGTH_COUNTRY_CODE = exports.MAX_LENGTH_FOR_NSN = exports.MIN_LENGTH_FOR_NSN = void 0;
exports.WHITESPACE = exports.VALID_PUNCTUATION = exports.VALID_DIGITS = exports.PLUS_CHARS = exports.MIN_LENGTH_FOR_NSN = exports.MAX_LENGTH_FOR_NSN = exports.MAX_LENGTH_COUNTRY_CODE = void 0;
// The minimum length of the national significant number.

@@ -9,0 +9,0 @@ var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,

@@ -8,3 +8,3 @@ "use strict";

var _PhoneNumberMatcher = _interopRequireDefault(require("./PhoneNumberMatcher"));
var _PhoneNumberMatcher = _interopRequireDefault(require("./PhoneNumberMatcher.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,5 +8,5 @@ "use strict";

var _findNumbers_ = _interopRequireDefault(require("./findNumbers_"));
var _findNumbers_ = _interopRequireDefault(require("./findNumbers_.js"));
var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _findNumbers = _interopRequireDefault(require("./findNumbers"));
var _findNumbers = _interopRequireDefault(require("./findNumbers.js"));

@@ -5,0 +5,0 @@ var _metadataMax = _interopRequireDefault(require("../metadata.max.json"));

@@ -6,10 +6,10 @@ "use strict";

});
exports.LEAD_CLASS = void 0;
exports["default"] = isValidCandidate;
exports.LEAD_CLASS = void 0;
var _constants = require("../constants");
var _constants = require("../constants.js");
var _util = require("./util");
var _util = require("./util.js");
var _utf = require("./utf-8");
var _utf = require("./utf-8.js");

@@ -16,0 +16,0 @@ // Copy-pasted from `PhoneNumberMatcher.js`.

@@ -9,10 +9,16 @@ "use strict";

var _validate_ = _interopRequireDefault(require("../validate_"));
var _validate_ = _interopRequireDefault(require("../validate_.js"));
var _parseDigits = _interopRequireDefault(require("../helpers/parseDigits"));
var _parseDigits = _interopRequireDefault(require("../helpers/parseDigits.js"));
var _util = require("./util");
var _util = require("./util.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
/**

@@ -204,16 +210,5 @@ * Leniency when finding potential phone numbers in text segments

if (alternateFormats) {
for (var _iterator = alternateFormats.numberFormats(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(alternateFormats.numberFormats()), _step; !(_step = _iterator()).done;) {
var alternateFormat = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var alternateFormat = _ref;
if (alternateFormat.leadingDigitsPatterns().length > 0) {

@@ -220,0 +215,0 @@ // There is only one leading digits pattern for alternate formats.

/*
import
{
containsMoreThanOneSlashInNationalNumber
}
from './Leniency'
import { containsMoreThanOneSlashInNationalNumber } from './Leniency.js'
describe('Leniency', () =>
{
it('testContainsMoreThanOneSlashInNationalNumber', () =>
{
describe('Leniency', () => {
it('testContainsMoreThanOneSlashInNationalNumber', () => {
// A date should return true.

@@ -13,0 +7,0 @@ number.setCountryCode(1)

@@ -6,7 +6,7 @@ "use strict";

});
exports.default = void 0;
exports["default"] = void 0;
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -16,3 +16,3 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

// https://medium.com/dsinjs/implementing-lru-cache-in-javascript-94ba6755cda9
var Node = function Node(key, value) {
var Node = /*#__PURE__*/_createClass(function Node(key, value) {
var next = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

@@ -27,7 +27,5 @@ var prev = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;

this.prev = prev;
};
});
var LRUCache =
/*#__PURE__*/
function () {
var LRUCache = /*#__PURE__*/function () {
//set default limit of 10 if limit is not passed.

@@ -34,0 +32,0 @@ function LRUCache() {

@@ -8,3 +8,3 @@ "use strict";

var _util = require("./util");
var _util = require("./util.js");

@@ -11,0 +11,0 @@ // Regular expression of characters typically used to start a second phone number for the purposes

@@ -8,3 +8,3 @@ "use strict";

var _LRUCache = _interopRequireDefault(require("./LRUCache"));
var _LRUCache = _interopRequireDefault(require("./LRUCache.js"));

@@ -17,3 +17,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -24,5 +24,3 @@ // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3

// that use-case won't have a lot of benefit.
var RegExpCache =
/*#__PURE__*/
function () {
var RegExpCache = /*#__PURE__*/function () {
function RegExpCache(size) {

@@ -29,0 +27,0 @@ _classCallCheck(this, RegExpCache);

@@ -6,5 +6,6 @@ "use strict";

});
exports._pN = exports._pL = exports.PZ = void 0;
exports.isInvalidPunctuationSymbol = isInvalidPunctuationSymbol;
exports.isLatinLetter = isLatinLetter;
exports.isInvalidPunctuationSymbol = isInvalidPunctuationSymbol;
exports._pL = exports.pNd = exports._pN = exports.PZ = exports.pZ = void 0;
exports.pZ = exports.pNd = void 0;
// Javascript doesn't support UTF-8 regular expressions.

@@ -11,0 +12,0 @@ // So mimicking them here.

@@ -6,6 +6,6 @@ "use strict";

});
exports.endsWith = endsWith;
exports.limit = limit;
exports.startsWith = startsWith;
exports.trimAfterFirstMatch = trimAfterFirstMatch;
exports.startsWith = startsWith;
exports.endsWith = endsWith;

@@ -12,0 +12,0 @@ /** Returns a regular expression quantifier with an upper and lower limit. */

"use strict";
var _util = require("./util");
var _util = require("./util.js");

@@ -5,0 +5,0 @@ describe('findNumbers/util', function () {

@@ -6,19 +6,19 @@ "use strict";

});
exports.PhoneNumberSearch = exports.EXTN_PATTERNS_FOR_PARSING = void 0;
exports["default"] = findPhoneNumbers;
exports.searchPhoneNumbers = searchPhoneNumbers;
exports.PhoneNumberSearch = exports.EXTN_PATTERNS_FOR_PARSING = void 0;
var _constants = require("./constants");
var _constants = require("./constants.js");
var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
var _isViablePhoneNumber = require("./helpers/isViablePhoneNumber");
var _isViablePhoneNumber = require("./helpers/isViablePhoneNumber.js");
var _createExtensionPattern = _interopRequireDefault(require("./helpers/extension/createExtensionPattern"));
var _createExtensionPattern = _interopRequireDefault(require("./helpers/extension/createExtensionPattern.js"));
var _parsePreCandidate = _interopRequireDefault(require("./findNumbers/parsePreCandidate"));
var _parsePreCandidate = _interopRequireDefault(require("./findNumbers/parsePreCandidate.js"));
var _isValidPreCandidate = _interopRequireDefault(require("./findNumbers/isValidPreCandidate"));
var _isValidPreCandidate = _interopRequireDefault(require("./findNumbers/isValidPreCandidate.js"));
var _isValidCandidate = _interopRequireDefault(require("./findNumbers/isValidCandidate"));
var _isValidCandidate = _interopRequireDefault(require("./findNumbers/isValidCandidate.js"));

@@ -31,3 +31,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -111,11 +111,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

var PhoneNumberSearch =
/*#__PURE__*/
function () {
// Iteration tristate.
var PhoneNumberSearch = /*#__PURE__*/function () {
function PhoneNumberSearch(text, options, metadata) {
_classCallCheck(this, PhoneNumberSearch);
_defineProperty(this, "state", 'NOT_READY');
this.text = text; // If assigning the `{}` default value is moved to the arguments above,

@@ -125,3 +120,5 @@ // code coverage would decrease for some weird reason.

this.options = options || {};
this.metadata = metadata;
this.metadata = metadata; // Iteration tristate.
this.state = 'NOT_READY';
this.regexp = new RegExp(_isViablePhoneNumber.VALID_PHONE_NUMBER_WITH_EXTENSION, 'ig');

@@ -128,0 +125,0 @@ }

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -9,8 +11,10 @@ value: true

var _findPhoneNumbers_ = _interopRequireWildcard(require("./findPhoneNumbers_"));
var _findPhoneNumbers_ = _interopRequireWildcard(require("./findPhoneNumbers_.js"));
var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
// This is a legacy function.

@@ -17,0 +21,0 @@ // Use `findNumbers()` instead.

"use strict";
var _findPhoneNumbers = _interopRequireWildcard(require("./findPhoneNumbers"));
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
var _findPhoneNumbers_ = require("./findPhoneNumbers_");
var _findPhoneNumbers = _interopRequireWildcard(require("./findPhoneNumbers.js"));
var _findPhoneNumbers_ = require("./findPhoneNumbers_.js");
var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -11,6 +13,12 @@

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
// This is a legacy function.
// Use `findNumbers()` instead.
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
describe('findPhoneNumbers', function () {

@@ -127,15 +135,4 @@ it('should find numbers', function () {

for (var _iterator = (0, _findPhoneNumbers.searchPhoneNumbers)('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', _metadataMin["default"]), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var number = _ref;
for (var _iterator = _createForOfIteratorHelperLoose((0, _findPhoneNumbers.searchPhoneNumbers)('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', _metadataMin["default"])), _step; !(_step = _iterator()).done;) {
var number = _step.value;
number.should.deep.equal(expected_numbers.shift());

@@ -142,0 +139,0 @@ }

@@ -9,10 +9,12 @@ "use strict";

var _findNumbers = _interopRequireDefault(require("./findNumbers"));
var _findNumbers = _interopRequireDefault(require("./findNumbers.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -28,3 +30,3 @@

if (defaultCountry) {
options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
defaultCountry: defaultCountry

@@ -55,3 +57,3 @@ });

return {
options: _objectSpread({}, options, {
options: _objectSpread(_objectSpread({}, options), {}, {
v2: true

@@ -58,0 +60,0 @@ }),

"use strict";
var _findPhoneNumbersInText = _interopRequireDefault(require("./findPhoneNumbersInText"));
var _findPhoneNumbersInText = _interopRequireDefault(require("./findPhoneNumbersInText.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -8,18 +10,28 @@ value: true

var _matchesEntirely = _interopRequireDefault(require("./helpers/matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./helpers/matchesEntirely.js"));
var _formatNationalNumberUsingFormat = _interopRequireDefault(require("./helpers/formatNationalNumberUsingFormat"));
var _formatNationalNumberUsingFormat = _interopRequireDefault(require("./helpers/formatNationalNumberUsingFormat.js"));
var _metadata = _interopRequireWildcard(require("./metadata"));
var _metadata = _interopRequireWildcard(require("./metadata.js"));
var _getIddPrefix = _interopRequireDefault(require("./helpers/getIddPrefix"));
var _getIddPrefix = _interopRequireDefault(require("./helpers/getIddPrefix.js"));
var _RFC = require("./helpers/RFC3966");
var _RFC = require("./helpers/RFC3966.js");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -30,22 +42,21 @@

return "".concat(formattedNumber).concat(metadata.ext()).concat(extension);
} // Formats a phone number
//
// Example use cases:
//
// ```js
// formatNumber('8005553535', 'RU', 'INTERNATIONAL')
// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)
// formatNumber('+78005553535', 'NATIONAL')
// formatNumber('+78005553535', 'NATIONAL', metadata)
// ```
//
}
}; // Formats a phone number
//
// Example use cases:
//
// ```js
// formatNumber('8005553535', 'RU', 'INTERNATIONAL')
// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)
// formatNumber('+78005553535', 'NATIONAL')
// formatNumber('+78005553535', 'NATIONAL', metadata)
// ```
//
};
function formatNumber(input, format, options, metadata) {
// Apply default options.
if (options) {
options = _objectSpread({}, DEFAULT_OPTIONS, options);
options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);
} else {

@@ -139,17 +150,8 @@ options = DEFAULT_OPTIONS;

function chooseFormatForNumber(availableFormats, nationalNnumber) {
for (var _iterator = availableFormats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {
var format = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var format = _ref;
// Validate leading digits
// Validate leading digits.
// The test case for "else path" could be found by searching for
// "format.leadingDigitsPatterns().length === 0".
if (format.leadingDigitsPatterns().length > 0) {

@@ -156,0 +158,0 @@ // The last leading_digits_pattern is used here, as it is the most detailed

@@ -8,16 +8,20 @@ "use strict";

var _format_ = _interopRequireDefault(require("./format_"));
var _format_ = _interopRequireDefault(require("./format_.js"));
var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -72,23 +76,6 @@

else {
if (typeof arg_2 !== 'string') {
throw new Error('`format` argument not passed to `formatNumber(number, format)`');
}
if (typeof arg_2 !== 'string') {
throw new Error('`format` argument not passed to `formatNumber(number, format)`');
}
format = arg_2;
if (arg_4) {
options = arg_3;
metadata = arg_4;
} else {
metadata = arg_3;
}
input = (0, _parse_["default"])(arg_1, {
extended: true
}, metadata);
}
} // If the phone number is passed as a parsed number object.
// `format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', [options], metadata)`.
else if (is_object(arg_1)) {
input = arg_1;
format = arg_2;

@@ -102,5 +89,22 @@

}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.'); // Legacy lowercase formats.
input = (0, _parse_["default"])(arg_1, {
extended: true
}, metadata);
}
} // If the phone number is passed as a parsed number object.
// `format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', [options], metadata)`.
else if (is_object(arg_1)) {
input = arg_1;
format = arg_2;
if (arg_4) {
options = arg_3;
metadata = arg_4;
} else {
metadata = arg_3;
}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.'); // Legacy lowercase formats.
if (format === 'International') {

@@ -107,0 +111,0 @@ format = 'INTERNATIONAL';

@@ -5,3 +5,3 @@ "use strict";

var _format = _interopRequireDefault(require("./format"));
var _format = _interopRequireDefault(require("./format.js"));

@@ -33,2 +33,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

});
it('should support legacy "National" / "International" formats', function () {
formatNumber('2133734253', 'US', 'National').should.equal('(213) 373-4253');
formatNumber('2133734253', 'US', 'International').should.equal('+1 213 373 4253');
});
it('should format using formats with no leading digits (`format.leadingDigitsPatterns().length === 0`)', function () {
formatNumber({
phone: '12345678901',
countryCallingCode: 888
}, 'INTERNATIONAL').should.equal('+888 123 456 78901');
});
it('should sort out the arguments', function () {

@@ -35,0 +45,0 @@ var options = {

@@ -8,3 +8,3 @@ "use strict";

var _AsYouType = _interopRequireDefault(require("./AsYouType"));
var _AsYouType = _interopRequireDefault(require("./AsYouType.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _formatIncompletePhoneNumber = _interopRequireDefault(require("./formatIncompletePhoneNumber"));
var _formatIncompletePhoneNumber = _interopRequireDefault(require("./formatIncompletePhoneNumber.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -8,11 +8,11 @@ "use strict";

var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _format_ = _interopRequireDefault(require("./format_"));
var _format_ = _interopRequireDefault(require("./format_.js"));
var _getNumberType = _interopRequireDefault(require("./helpers/getNumberType"));
var _getNumberType = _interopRequireDefault(require("./helpers/getNumberType.js"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength.js"));
var _getCountryCallingCode = _interopRequireDefault(require("./getCountryCallingCode"));
var _getCountryCallingCode = _interopRequireDefault(require("./getCountryCallingCode.js"));

@@ -19,0 +19,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,3 +8,3 @@ "use strict";

var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -5,3 +5,3 @@ "use strict";

var _getCountries = _interopRequireDefault(require("./getCountries"));
var _getCountries = _interopRequireDefault(require("./getCountries.js"));

@@ -8,0 +8,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -13,3 +13,3 @@ "use strict";

var _metadata = require("./metadata");
var _metadata = require("./metadata.js");
//# sourceMappingURL=getCountryCallingCode.js.map

@@ -5,3 +5,3 @@ "use strict";

var _getCountryCallingCode = _interopRequireDefault(require("./getCountryCallingCode"));
var _getCountryCallingCode = _interopRequireDefault(require("./getCountryCallingCode.js"));

@@ -8,0 +8,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,3 +8,3 @@ "use strict";

var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber"));
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -7,3 +7,3 @@ "use strict";

var _getExampleNumber = _interopRequireDefault(require("./getExampleNumber"));
var _getExampleNumber = _interopRequireDefault(require("./getExampleNumber.js"));

@@ -10,0 +10,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -9,18 +9,22 @@ "use strict";

var _isViablePhoneNumber = _interopRequireDefault(require("./helpers/isViablePhoneNumber"));
var _isViablePhoneNumber = _interopRequireDefault(require("./helpers/isViablePhoneNumber.js"));
var _getNumberType2 = _interopRequireDefault(require("./helpers/getNumberType"));
var _getNumberType2 = _interopRequireDefault(require("./helpers/getNumberType.js"));
var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -80,32 +84,32 @@

else {
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
} // `parse` extracts phone numbers from raw text,
// therefore it will cut off all "garbage" characters,
// while this `validate` function needs to verify
// that the phone number contains no "garbage"
// therefore the explicit `isViablePhoneNumber` check.
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
} // `parse` extracts phone numbers from raw text,
// therefore it will cut off all "garbage" characters,
// while this `validate` function needs to verify
// that the phone number contains no "garbage"
// therefore the explicit `isViablePhoneNumber` check.
if ((0, _isViablePhoneNumber["default"])(arg_1)) {
input = (0, _parse_["default"])(arg_1, undefined, metadata);
} else {
input = {};
}
if ((0, _isViablePhoneNumber["default"])(arg_1)) {
input = (0, _parse_["default"])(arg_1, undefined, metadata);
} else {
input = {};
}
}
} // If the phone number is passed as a parsed phone number.
// `getNumberType({ phone: '88005553535', country: 'RU' }, ...)`.
else if (is_object(arg_1)) {
input = arg_1;
input = arg_1;
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.');
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.');

@@ -112,0 +116,0 @@ return {

@@ -5,9 +5,9 @@ "use strict";

var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _getNumberType2 = _interopRequireDefault(require("./getNumberType"));
var _getNumberType2 = _interopRequireDefault(require("./getNumberType.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }

@@ -14,0 +14,0 @@ function getNumberType() {

@@ -8,3 +8,3 @@ "use strict";

var _constants = require("../constants");
var _constants = require("../constants.js");

@@ -11,0 +11,0 @@ // Removes brackets and replaces dashes with spaces.

"use strict";
var _applyInternationalSeparatorStyle = _interopRequireDefault(require("./applyInternationalSeparatorStyle"));
var _applyInternationalSeparatorStyle = _interopRequireDefault(require("./applyInternationalSeparatorStyle.js"));

@@ -5,0 +5,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -6,6 +6,6 @@ "use strict";

});
exports.checkNumberLengthForType = checkNumberLengthForType;
exports["default"] = checkNumberLength;
exports.checkNumberLengthForType = checkNumberLengthForType;
var _mergeArrays = _interopRequireDefault(require("./mergeArrays"));
var _mergeArrays = _interopRequireDefault(require("./mergeArrays.js"));

@@ -65,4 +65,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

else if (type && !type_info) {
return 'INVALID_LENGTH';
}
return 'INVALID_LENGTH';
}

@@ -69,0 +69,0 @@ var actual_length = nationalNumber.length; // In `libphonenumber-js` all "local-only" formats are dropped for simplicity.

"use strict";
var _metadata2 = _interopRequireDefault(require("../metadata.js"));
var _metadataMax = _interopRequireDefault(require("../../metadata.max.json"));
var _metadata2 = _interopRequireDefault(require("../metadata"));
var _metadataMin = _interopRequireDefault(require("../../test/metadata/1.0.0/metadata.min.json"));
var _checkNumberLength = require("./checkNumberLength");
var _checkNumberLength = require("./checkNumberLength.js");

@@ -30,2 +32,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

});
it('should work for old metadata', function () {
var _oldMetadata = new _metadata2["default"](_metadataMin["default"]);
_oldMetadata.country('RU');
(0, _checkNumberLength.checkNumberLengthForType)('8005553535', 'FIXED_LINE', _oldMetadata).should.equal('IS_POSSIBLE');
});
});

@@ -32,0 +41,0 @@

@@ -8,3 +8,3 @@ "use strict";

var _constants = require("../../constants");
var _constants = require("../../constants.js");

@@ -11,0 +11,0 @@ // The RFC 3966 format for extensions.

@@ -8,3 +8,3 @@ "use strict";

var _createExtensionPattern = _interopRequireDefault(require("./createExtensionPattern"));
var _createExtensionPattern = _interopRequireDefault(require("./createExtensionPattern.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,9 +8,9 @@ "use strict";

var _stripIddPrefix = _interopRequireDefault(require("./stripIddPrefix"));
var _stripIddPrefix = _interopRequireDefault(require("./stripIddPrefix.js"));
var _extractCountryCallingCodeFromInternationalNumberWithoutPlusSign = _interopRequireDefault(require("./extractCountryCallingCodeFromInternationalNumberWithoutPlusSign"));
var _extractCountryCallingCodeFromInternationalNumberWithoutPlusSign = _interopRequireDefault(require("./extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js"));
var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));
var _constants = require("../constants");
var _constants = require("../constants.js");

@@ -17,0 +17,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _extractCountryCallingCode = _interopRequireDefault(require("./extractCountryCallingCode"));
var _extractCountryCallingCode = _interopRequireDefault(require("./extractCountryCallingCode.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../../metadata.min.json"));

@@ -8,11 +8,11 @@ "use strict";

var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely.js"));
var _extractNationalNumber = _interopRequireDefault(require("./extractNationalNumber"));
var _extractNationalNumber = _interopRequireDefault(require("./extractNationalNumber.js"));
var _checkNumberLength = _interopRequireDefault(require("./checkNumberLength"));
var _checkNumberLength = _interopRequireDefault(require("./checkNumberLength.js"));
var _getCountryCallingCode = _interopRequireDefault(require("../getCountryCallingCode"));
var _getCountryCallingCode = _interopRequireDefault(require("../getCountryCallingCode.js"));

@@ -19,0 +19,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,7 +8,7 @@ "use strict";

var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./extractNationalNumberFromPossiblyIncompleteNumber"));
var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./extractNationalNumberFromPossiblyIncompleteNumber.js"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely.js"));
var _checkNumberLength = _interopRequireDefault(require("./checkNumberLength"));
var _checkNumberLength = _interopRequireDefault(require("./checkNumberLength.js"));

@@ -15,0 +15,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -65,15 +65,15 @@ "use strict";

else {
// `prefixBeforeNationalNumber` is the whole substring matched by
// the `national_prefix_for_parsing` regular expression.
// There seem to be no guarantees that it's just a national prefix.
// For example, if there's a carrier code, it's gonna be a
// part of `prefixBeforeNationalNumber` too.
var prefixBeforeNationalNumber = prefixMatch[0];
nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,
// then carrier code is the first one.
// `prefixBeforeNationalNumber` is the whole substring matched by
// the `national_prefix_for_parsing` regular expression.
// There seem to be no guarantees that it's just a national prefix.
// For example, if there's a carrier code, it's gonna be a
// part of `prefixBeforeNationalNumber` too.
var prefixBeforeNationalNumber = prefixMatch[0];
nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,
// then carrier code is the first one.
if (hasCapturedGroups) {
carrierCode = prefixMatch[1];
}
} // Tries to guess whether a national prefix was present in the input.
if (hasCapturedGroups) {
carrierCode = prefixMatch[1];
}
} // Tries to guess whether a national prefix was present in the input.
// This is not something copy-pasted from Google's library:

@@ -80,0 +80,0 @@ // they don't seem to have an equivalent for that.

"use strict";
var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));
var _metadataMin = _interopRequireDefault(require("../../metadata.min.json"));
var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./extractNationalNumberFromPossiblyIncompleteNumber"));
var _extractNationalNumberFromPossiblyIncompleteNumber = _interopRequireDefault(require("./extractNationalNumberFromPossiblyIncompleteNumber.js"));

@@ -9,0 +9,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -6,6 +6,6 @@ "use strict";

});
exports.FIRST_GROUP_PATTERN = void 0;
exports["default"] = formatNationalNumberUsingFormat;
exports.FIRST_GROUP_PATTERN = void 0;
var _applyInternationalSeparatorStyle = _interopRequireDefault(require("./applyInternationalSeparatorStyle"));
var _applyInternationalSeparatorStyle = _interopRequireDefault(require("./applyInternationalSeparatorStyle.js"));

@@ -12,0 +12,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,8 +8,14 @@ "use strict";

var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));
var _getNumberType = _interopRequireDefault(require("./getNumberType"));
var _getNumberType = _interopRequireDefault(require("./getNumberType.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;

@@ -45,15 +51,4 @@

for (var _iterator = possibleCountries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var country = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(possibleCountries), _step; !(_step = _iterator()).done;) {
var country = _step.value;
metadata.country(country); // Leading digits check would be the simplest and fastest one.

@@ -71,9 +66,9 @@ // Leading digits patterns are only defined for about 20% of all countries.

else if ((0, _getNumberType["default"])({
phone: nationalPhoneNumber,
country: country
}, undefined, metadata.metadata)) {
return country;
}
phone: nationalPhoneNumber,
country: country
}, undefined, metadata.metadata)) {
return country;
}
}
}
//# sourceMappingURL=getCountryByCallingCode.js.map

@@ -8,3 +8,3 @@ "use strict";

var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -9,8 +9,14 @@ "use strict";

var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)

@@ -46,5 +52,9 @@

return 'FIXED_LINE_OR_MOBILE';
} // v1 metadata.
// Legacy.
// Deprecated.
} // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.
// For example, for "US" country.
// Old metadata (< `1.0.18`) had a specific "types" data structure
// that happened to be `undefined` for `MOBILE` in that case.
// Newer metadata (>= `1.0.18`) has another data structure that is
// not `undefined` for `MOBILE` in that case (it's just an empty array).
// So this `if` is just for backwards compatibility with old metadata.

@@ -67,4 +77,4 @@

for (var _i = 0, _NON_FIXED_LINE_PHONE = NON_FIXED_LINE_PHONE_TYPES; _i < _NON_FIXED_LINE_PHONE.length; _i++) {
var type = _NON_FIXED_LINE_PHONE[_i];
for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {
var type = _step.value;

@@ -71,0 +81,0 @@ if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {

@@ -6,9 +6,9 @@ "use strict";

});
exports.VALID_PHONE_NUMBER_WITH_EXTENSION = exports.VALID_PHONE_NUMBER = void 0;
exports["default"] = isViablePhoneNumber;
exports.isViablePhoneNumberStart = isViablePhoneNumberStart;
exports.VALID_PHONE_NUMBER_WITH_EXTENSION = exports.VALID_PHONE_NUMBER = void 0;
var _constants = require("../constants");
var _constants = require("../constants.js");
var _createExtensionPattern = _interopRequireDefault(require("./extension/createExtensionPattern"));
var _createExtensionPattern = _interopRequireDefault(require("./extension/createExtensionPattern.js"));

@@ -15,0 +15,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./matchesEntirely.js"));

@@ -5,0 +5,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,2 +8,8 @@ "use strict";

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
/**

@@ -18,16 +24,5 @@ * Merges two arrays.

for (var _iterator = b, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {
var element = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var element = _ref;
if (a.indexOf(element) < 0) {

@@ -34,0 +29,0 @@ merged.push(element);

"use strict";
var _mergeArrays = _interopRequireDefault(require("./mergeArrays"));
var _mergeArrays = _interopRequireDefault(require("./mergeArrays.js"));

@@ -5,0 +5,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -6,5 +6,12 @@ "use strict";

});
exports.DIGITS = void 0;
exports["default"] = parseDigits;
exports.parseDigit = parseDigit;
exports["default"] = parseDigits;
exports.DIGITS = void 0;
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// These mappings map a character (key) to a specific digit that should

@@ -116,15 +123,4 @@ // replace it for normalization purposes. Non-European digits that

for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var character = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {
var character = _step.value;
var digit = parseDigit(character);

@@ -131,0 +127,0 @@

"use strict";
var _parseDigits = _interopRequireDefault(require("./parseDigits"));
var _parseDigits = _interopRequireDefault(require("./parseDigits.js"));

@@ -5,0 +5,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -6,17 +6,23 @@ "use strict";

});
exports.formatRFC3966 = formatRFC3966;
exports.parseRFC3966 = parseRFC3966;
exports.formatRFC3966 = formatRFC3966;
var _isViablePhoneNumber = _interopRequireDefault(require("./isViablePhoneNumber"));
var _isViablePhoneNumber = _interopRequireDefault(require("./isViablePhoneNumber.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// https://www.ietf.org/rfc/rfc3966.txt

@@ -34,16 +40,5 @@

for (var _iterator = text.split(';'), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {
var part = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var part = _ref;
var _part$split = part.split('='),

@@ -95,5 +90,5 @@ _part$split2 = _slicedToArray(_part$split, 2),

function formatRFC3966(_ref2) {
var number = _ref2.number,
ext = _ref2.ext;
function formatRFC3966(_ref) {
var number = _ref.number,
ext = _ref.ext;

@@ -100,0 +95,0 @@ if (!number) {

"use strict";
var _RFC = require("./RFC3966");
var _RFC = require("./RFC3966.js");

@@ -5,0 +5,0 @@ describe('RFC3966', function () {

@@ -8,5 +8,5 @@ "use strict";

var _metadata = _interopRequireDefault(require("../metadata"));
var _metadata = _interopRequireDefault(require("../metadata.js"));
var _constants = require("../constants");
var _constants = require("../constants.js");

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _stripIddPrefix = _interopRequireDefault(require("./stripIddPrefix"));
var _stripIddPrefix = _interopRequireDefault(require("./stripIddPrefix.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../../metadata.min.json"));

@@ -9,5 +9,5 @@ "use strict";

var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength.js"));

@@ -48,4 +48,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

}
}
} // Old metadata (< 1.0.18) had no "possible length" data.
if (metadata.possibleLengths()) {

@@ -52,0 +53,0 @@ return isPossibleNumber(input.phone || input.nationalNumber, metadata);

@@ -8,5 +8,5 @@ "use strict";

var _getNumberType = require("./getNumberType");
var _getNumberType = require("./getNumberType.js");
var _isPossibleNumber_ = _interopRequireDefault(require("./isPossibleNumber_"));
var _isPossibleNumber_ = _interopRequireDefault(require("./isPossibleNumber_.js"));

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -5,3 +5,3 @@ "use strict";

var _isPossibleNumber2 = _interopRequireDefault(require("./isPossibleNumber"));
var _isPossibleNumber2 = _interopRequireDefault(require("./isPossibleNumber.js"));

@@ -8,0 +8,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,10 +8,12 @@ "use strict";

var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");
var _parsePhoneNumberFromString_ = _interopRequireDefault(require("./parsePhoneNumberFromString_"));
var _parsePhoneNumberFromString_ = _interopRequireDefault(require("./parsePhoneNumberFromString_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -25,3 +27,3 @@

options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
extract: false

@@ -28,0 +30,0 @@ });

"use strict";
var _isPossiblePhoneNumber2 = _interopRequireDefault(require("./isPossiblePhoneNumber"));
var _isPossiblePhoneNumber2 = _interopRequireDefault(require("./isPossiblePhoneNumber.js"));
var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));
var _metadataMin2 = _interopRequireDefault(require("../test/metadata/1.0.0/metadata.min.json"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -31,3 +33,9 @@

});
it('should detect whether a phone number is possible when using old metadata', function () {
expect(function () {
return (0, _isPossiblePhoneNumber2["default"])('8 (800) 555 35 35', 'RU', _metadataMin2["default"]);
}).to["throw"]('Missing "possibleLengths" in metadata.');
(0, _isPossiblePhoneNumber2["default"])('+888 123 456 78901', _metadataMin2["default"]).should.equal(true);
});
});
//# sourceMappingURL=isPossiblePhoneNumber.test.js.map

@@ -8,3 +8,3 @@ "use strict";

var _validate_ = _interopRequireDefault(require("./validate_"));
var _validate_ = _interopRequireDefault(require("./validate_.js"));

@@ -11,0 +11,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,7 +8,7 @@ "use strict";

var _isViablePhoneNumber = _interopRequireDefault(require("./helpers/isViablePhoneNumber"));
var _isViablePhoneNumber = _interopRequireDefault(require("./helpers/isViablePhoneNumber.js"));
var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_"));
var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_.js"));

@@ -15,0 +15,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -5,5 +5,5 @@ "use strict";

var _isValidNumberForRegion2 = _interopRequireDefault(require("./isValidNumberForRegion"));
var _isValidNumberForRegion2 = _interopRequireDefault(require("./isValidNumberForRegion.js"));
var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_"));
var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_.js"));

@@ -10,0 +10,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,10 +8,12 @@ "use strict";

var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");
var _parsePhoneNumberFromString_ = _interopRequireDefault(require("./parsePhoneNumberFromString_"));
var _parsePhoneNumberFromString_ = _interopRequireDefault(require("./parsePhoneNumberFromString_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -25,3 +27,3 @@

options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
extract: false

@@ -28,0 +30,0 @@ });

"use strict";
var _isValidPhoneNumber2 = _interopRequireDefault(require("./isValidPhoneNumber"));
var _isValidPhoneNumber2 = _interopRequireDefault(require("./isValidPhoneNumber.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -6,13 +6,13 @@ "use strict";

});
exports.validateMetadata = validateMetadata;
exports["default"] = void 0;
exports.getCountryCallingCode = getCountryCallingCode;
exports.getExtPrefix = getExtPrefix;
exports.getCountryCallingCode = getCountryCallingCode;
exports.isSupportedCountry = isSupportedCountry;
exports["default"] = void 0;
exports.validateMetadata = validateMetadata;
var _semverCompare = _interopRequireDefault(require("./tools/semver-compare"));
var _semverCompare = _interopRequireDefault(require("./tools/semver-compare.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }

@@ -23,3 +23,3 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -39,5 +39,3 @@ // Added "possibleLengths" and renamed

var Metadata =
/*#__PURE__*/
function () {
var Metadata = /*#__PURE__*/function () {
function Metadata(metadata) {

@@ -68,2 +66,3 @@ _classCallCheck(this, Metadata);

// It's present in metadata generated from `1.7.35` to `1.7.37`.
// The test case could be found by searching for "nonGeographical".

@@ -187,2 +186,6 @@ return this.metadata.nonGeographic || this.metadata.nonGeographical;

// A hacky workaround for old custom metadata (generated before V4).
// In that metadata, there was no concept of "non-geographic" metadata
// so metadata for `001` country code was stored along with other countries.
// The test case can be found by searching for:
// "should work around `nonGeographic` metadata not existing".
var countryCodes = this.countryCallingCodes()[callingCode];

@@ -291,5 +294,3 @@

var NumberingPlan =
/*#__PURE__*/
function () {
var NumberingPlan = /*#__PURE__*/function () {
function NumberingPlan(metadata, globalMetadataObject) {

@@ -338,3 +339,3 @@ _classCallCheck(this, NumberingPlan);

return this.metadata[2];
} // Is always present.
} // "possible length" data is always present in Google's metadata.

@@ -456,5 +457,3 @@ }, {

var Format =
/*#__PURE__*/
function () {
var Format = /*#__PURE__*/function () {
function Format(format, metadata) {

@@ -531,5 +530,3 @@ _classCallCheck(this, Format);

var Type =
/*#__PURE__*/
function () {
var Type = /*#__PURE__*/function () {
function Type(type, metadata) {

@@ -536,0 +533,0 @@ _classCallCheck(this, Type);

@@ -5,9 +5,19 @@ "use strict";

var _metadata = _interopRequireWildcard(require("./metadata"));
var _metadataMin2 = _interopRequireDefault(require("../test/metadata/1.0.0/metadata.min.json"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
var _metadataMin3 = _interopRequireDefault(require("../test/metadata/1.1.11/metadata.min.json"));
var _metadataMin4 = _interopRequireDefault(require("../test/metadata/1.7.34/metadata.min.json"));
var _metadataMin5 = _interopRequireDefault(require("../test/metadata/1.7.37/metadata.min.json"));
var _metadata = _interopRequireWildcard(require("./metadata.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }

@@ -119,2 +129,63 @@ describe('metadata', function () {

});
it('should work around `nonGeographical` typo in metadata generated from `1.7.35` to `1.7.37`', function () {
var meta = new _metadata["default"](_metadataMin5["default"]);
meta.selectNumberingPlan('888');
type(meta.nonGeographic()).should.equal('object');
});
it('should work around `nonGeographic` metadata not existing before `1.7.35`', function () {
var meta = new _metadata["default"](_metadataMin4["default"]);
type(meta.getNumberingPlanMetadata('800')).should.equal('object');
type(meta.getNumberingPlanMetadata('000')).should.equal('undefined');
});
it('should work with metadata from version `1.1.11`', function () {
var meta = new _metadata["default"](_metadataMin3["default"]);
meta.selectNumberingPlan('US');
meta.numberingPlan.possibleLengths().should.deep.equal([10]);
meta.numberingPlan.formats().length.should.equal(1);
meta.numberingPlan.nationalPrefix().should.equal('1');
meta.numberingPlan.nationalPrefixForParsing().should.equal('1');
meta.numberingPlan.type('MOBILE').pattern().should.equal('');
meta.selectNumberingPlan('AG');
meta.numberingPlan.leadingDigits().should.equal('268'); // Should've been "268$1" but apparently there was a bug in metadata generator
// and no national prefix transform rules were written.
expect(meta.numberingPlan.nationalPrefixTransformRule()).to.be["null"];
meta.selectNumberingPlan('AF');
meta.numberingPlan.formats()[0].nationalPrefixFormattingRule().should.equal('0$1');
meta.selectNumberingPlan('RU');
meta.numberingPlan.formats()[0].nationalPrefixIsOptionalWhenFormattingInNationalFormat().should.equal(true);
});
it('should work with metadata from version `1.0.0`', function () {
var meta = new _metadata["default"](_metadataMin2["default"]);
meta.selectNumberingPlan('US');
meta.numberingPlan.formats().length.should.equal(1);
meta.numberingPlan.nationalPrefix().should.equal('1');
meta.numberingPlan.nationalPrefixForParsing().should.equal('1');
type(meta.numberingPlan.type('MOBILE')).should.equal('undefined');
meta.selectNumberingPlan('AG');
meta.numberingPlan.leadingDigits().should.equal('268'); // Should've been "268$1" but apparently there was a bug in metadata generator
// and no national prefix transform rules were written.
expect(meta.numberingPlan.nationalPrefixTransformRule()).to.be["null"];
meta.selectNumberingPlan('AF');
meta.numberingPlan.formats()[0].nationalPrefixFormattingRule().should.equal('0$1');
meta.selectNumberingPlan('RU');
meta.numberingPlan.formats()[0].nationalPrefixIsOptionalWhenFormattingInNationalFormat().should.equal(true);
});
it('should work around "ext" data not present in metadata from version `1.0.0`', function () {
var meta = new _metadata["default"](_metadataMin2["default"]);
meta.selectNumberingPlan('GB');
meta.ext().should.equal(' ext. ');
var metaNew = new _metadata["default"](_metadataMin["default"]);
metaNew.selectNumberingPlan('GB');
metaNew.ext().should.equal(' x');
});
it('should work around "default IDD prefix" data not present in metadata from version `1.0.0`', function () {
var meta = new _metadata["default"](_metadataMin2["default"]);
meta.selectNumberingPlan('AU');
type(meta.defaultIDDPrefix()).should.equal('undefined');
var metaNew = new _metadata["default"](_metadataMin["default"]);
metaNew.selectNumberingPlan('AU');
metaNew.defaultIDDPrefix().should.equal('0011');
});
});

@@ -121,0 +192,0 @@

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -8,36 +10,38 @@ value: true

var _constants = require("./constants");
var _constants = require("./constants.js");
var _ParseError = _interopRequireDefault(require("./ParseError"));
var _ParseError = _interopRequireDefault(require("./ParseError.js"));
var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _isViablePhoneNumber = _interopRequireWildcard(require("./helpers/isViablePhoneNumber"));
var _isViablePhoneNumber = _interopRequireWildcard(require("./helpers/isViablePhoneNumber.js"));
var _extractExtension = _interopRequireDefault(require("./helpers/extension/extractExtension"));
var _extractExtension = _interopRequireDefault(require("./helpers/extension/extractExtension.js"));
var _parseIncompletePhoneNumber = _interopRequireDefault(require("./parseIncompletePhoneNumber"));
var _parseIncompletePhoneNumber = _interopRequireDefault(require("./parseIncompletePhoneNumber.js"));
var _getCountryCallingCode = _interopRequireDefault(require("./getCountryCallingCode"));
var _getCountryCallingCode = _interopRequireDefault(require("./getCountryCallingCode.js"));
var _isPossibleNumber_ = require("./isPossibleNumber_");
var _isPossibleNumber_ = require("./isPossibleNumber_.js");
var _RFC = require("./helpers/RFC3966");
var _RFC = require("./helpers/RFC3966.js");
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber"));
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber.js"));
var _matchesEntirely = _interopRequireDefault(require("./helpers/matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./helpers/matchesEntirely.js"));
var _extractCountryCallingCode = _interopRequireDefault(require("./helpers/extractCountryCallingCode"));
var _extractCountryCallingCode = _interopRequireDefault(require("./helpers/extractCountryCallingCode.js"));
var _extractCountryCallingCodeFromInternationalNumberWithoutPlusSign = _interopRequireDefault(require("./helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign"));
var _extractCountryCallingCodeFromInternationalNumberWithoutPlusSign = _interopRequireDefault(require("./helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js"));
var _extractNationalNumber = _interopRequireDefault(require("./helpers/extractNationalNumber"));
var _extractNationalNumber = _interopRequireDefault(require("./helpers/extractNationalNumber.js"));
var _stripIddPrefix = _interopRequireDefault(require("./helpers/stripIddPrefix"));
var _stripIddPrefix = _interopRequireDefault(require("./helpers/stripIddPrefix.js"));
var _getCountryByCallingCode = _interopRequireDefault(require("./helpers/getCountryByCallingCode"));
var _getCountryByCallingCode = _interopRequireDefault(require("./helpers/getCountryByCallingCode.js"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -311,17 +315,17 @@

else if (number && (defaultCountry || defaultCallingCode)) {
metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);
metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);
if (defaultCountry) {
country = defaultCountry;
} else {
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {
country = '001';
}
if (defaultCountry) {
country = defaultCountry;
} else {
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {
country = '001';
}
}
}
countryCallingCode = defaultCallingCode || (0, _getCountryCallingCode["default"])(defaultCountry, metadata.metadata);
} else return {};
countryCallingCode = defaultCallingCode || (0, _getCountryCallingCode["default"])(defaultCountry, metadata.metadata);
} else return {};

@@ -328,0 +332,0 @@ if (!number) {

@@ -8,5 +8,5 @@ "use strict";

var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -5,5 +5,5 @@ "use strict";

var _parse = _interopRequireDefault(require("./parse"));
var _parse = _interopRequireDefault(require("./parse.js"));
var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));

@@ -10,0 +10,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -8,16 +10,55 @@ value: true

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
// https://stackoverflow.com/a/46971044/970769
var ParseError = function ParseError(code) {
_classCallCheck(this, ParseError);
// "Breaking changes in Typescript 2.1"
// "Extending built-ins like Error, Array, and Map may no longer work."
// "As a recommendation, you can manually adjust the prototype immediately after any super(...) calls."
// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
var ParseError = /*#__PURE__*/function (_Error) {
_inherits(ParseError, _Error);
this.name = this.constructor.name;
this.message = code;
this.stack = new Error(code).stack;
};
var _super = _createSuper(ParseError);
function ParseError(code) {
var _this;
_classCallCheck(this, ParseError);
_this = _super.call(this, code); // Set the prototype explicitly.
// Any subclass of FooError will have to manually set the prototype as well.
Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);
_this.name = _this.constructor.name;
return _this;
}
return _createClass(ParseError);
}( /*#__PURE__*/_wrapNativeSuper(Error));
exports["default"] = ParseError;
ParseError.prototype = Object.create(Error.prototype);
ParseError.prototype.constructor = ParseError;
//# sourceMappingURL=ParseError.js.map

@@ -9,4 +9,10 @@ "use strict";

var _parseDigits = require("./helpers/parseDigits");
var _parseDigits = require("./helpers/parseDigits.js");
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
/**

@@ -35,15 +41,4 @@ * Parses phone number characters from a string.

for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var character = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {
var character = _step.value;
result += parsePhoneNumberCharacter(character, result) || '';

@@ -50,0 +45,0 @@ }

"use strict";
var _parseIncompletePhoneNumber = _interopRequireWildcard(require("./parseIncompletePhoneNumber"));
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
var _parseIncompletePhoneNumber = _interopRequireWildcard(require("./parseIncompletePhoneNumber.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
describe('parseIncompletePhoneNumber', function () {

@@ -8,0 +12,0 @@ it('should parse phone number character', function () {

@@ -8,12 +8,14 @@ "use strict";

var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function parsePhoneNumber(text, options, metadata) {
return (0, _parse_["default"])(text, _objectSpread({}, options, {
return (0, _parse_["default"])(text, _objectSpread(_objectSpread({}, options), {}, {
v2: true

@@ -20,0 +22,0 @@ }), metadata);

@@ -9,18 +9,24 @@ "use strict";

var _parsePhoneNumber_ = _interopRequireDefault(require("./parsePhoneNumber_"));
var _parsePhoneNumber_ = _interopRequireDefault(require("./parsePhoneNumber_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -73,9 +79,9 @@

else if (isObject(arg_2)) {
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new Error("Invalid second argument: ".concat(arg_2));
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new Error("Invalid second argument: ".concat(arg_2));

@@ -82,0 +88,0 @@ return {

"use strict";
var _parsePhoneNumber2 = _interopRequireDefault(require("./parsePhoneNumber"));
var _parsePhoneNumber2 = _interopRequireDefault(require("./parsePhoneNumber.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -8,12 +8,14 @@ "use strict";

var _parsePhoneNumber_ = _interopRequireDefault(require("./parsePhoneNumber_"));
var _parsePhoneNumber_ = _interopRequireDefault(require("./parsePhoneNumber_.js"));
var _ParseError = _interopRequireDefault(require("./ParseError"));
var _ParseError = _interopRequireDefault(require("./ParseError.js"));
var _metadata = require("./metadata");
var _metadata = require("./metadata.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -24,3 +26,3 @@

if (options && options.defaultCountry && !(0, _metadata.isSupportedCountry)(options.defaultCountry, metadata)) {
options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
defaultCountry: undefined

@@ -27,0 +29,0 @@ });

@@ -8,5 +8,5 @@ "use strict";

var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");
var _parsePhoneNumberFromString_ = _interopRequireDefault(require("./parsePhoneNumberFromString_"));
var _parsePhoneNumberFromString_ = _interopRequireDefault(require("./parsePhoneNumberFromString_.js"));

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _parsePhoneNumberFromString2 = _interopRequireDefault(require("./parsePhoneNumberFromString"));
var _parsePhoneNumberFromString2 = _interopRequireDefault(require("./parsePhoneNumberFromString.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -8,18 +8,20 @@ "use strict";

var _metadata2 = _interopRequireDefault(require("./metadata"));
var _metadata2 = _interopRequireDefault(require("./metadata.js"));
var _isPossibleNumber_ = _interopRequireDefault(require("./isPossibleNumber_"));
var _isPossibleNumber_ = _interopRequireDefault(require("./isPossibleNumber_.js"));
var _validate_ = _interopRequireDefault(require("./validate_"));
var _validate_ = _interopRequireDefault(require("./validate_.js"));
var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_"));
var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_.js"));
var _getNumberType = _interopRequireDefault(require("./helpers/getNumberType"));
var _getNumberType = _interopRequireDefault(require("./helpers/getNumberType.js"));
var _format_ = _interopRequireDefault(require("./format_"));
var _format_ = _interopRequireDefault(require("./format_.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -31,9 +33,7 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
var PhoneNumber =
/*#__PURE__*/
function () {
var PhoneNumber = /*#__PURE__*/function () {
function PhoneNumber(countryCallingCode, nationalNumber, metadata) {

@@ -124,3 +124,3 @@ _classCallCheck(this, PhoneNumber);

value: function format(_format, options) {
return (0, _format_["default"])(this, _format, options ? _objectSpread({}, options, {
return (0, _format_["default"])(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {
v2: true

@@ -127,0 +127,0 @@ }) : {

@@ -5,3 +5,3 @@ "use strict";

var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber"));
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber.js"));

@@ -8,0 +8,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -8,32 +10,44 @@ value: true

var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber"));
var _PhoneNumber = _interopRequireDefault(require("./PhoneNumber.js"));
var _constants = require("./constants");
var _constants = require("./constants.js");
var _createExtensionPattern = _interopRequireDefault(require("./helpers/extension/createExtensionPattern"));
var _createExtensionPattern = _interopRequireDefault(require("./helpers/extension/createExtensionPattern.js"));
var _RegExpCache = _interopRequireDefault(require("./findNumbers/RegExpCache"));
var _RegExpCache = _interopRequireDefault(require("./findNumbers/RegExpCache.js"));
var _util = require("./findNumbers/util");
var _util = require("./findNumbers/util.js");
var _utf = require("./findNumbers/utf-8");
var _utf = require("./findNumbers/utf-8.js");
var _Leniency = _interopRequireDefault(require("./findNumbers/Leniency"));
var _Leniency = _interopRequireDefault(require("./findNumbers/Leniency.js"));
var _parsePreCandidate = _interopRequireDefault(require("./findNumbers/parsePreCandidate"));
var _parsePreCandidate = _interopRequireDefault(require("./findNumbers/parsePreCandidate.js"));
var _isValidPreCandidate = _interopRequireDefault(require("./findNumbers/isValidPreCandidate"));
var _isValidPreCandidate = _interopRequireDefault(require("./findNumbers/isValidPreCandidate.js"));
var _isValidCandidate = _interopRequireWildcard(require("./findNumbers/isValidCandidate"));
var _isValidCandidate = _interopRequireWildcard(require("./findNumbers/isValidCandidate.js"));
var _metadata = require("./metadata");
var _metadata = require("./metadata.js");
var _parse_ = _interopRequireDefault(require("./parse_"));
var _parse_ = _interopRequireDefault(require("./parse_.js"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -43,6 +57,4 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var EXTN_PATTERNS_FOR_MATCHING = (0, _createExtensionPattern["default"])('matching');

@@ -128,13 +140,3 @@ /**

var PhoneNumberMatcher =
/*#__PURE__*/
function () {
/** The iteration tristate. */
/** The next index to start searching at. Undefined in {@link State#DONE}. */
// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
var PhoneNumberMatcher = /*#__PURE__*/function () {
/**

@@ -162,9 +164,3 @@ * Creates a new instance. See the factory methods in {@link PhoneNumberUtil} on how to obtain a

_defineProperty(this, "state", 'NOT_READY');
_defineProperty(this, "searchIndex", 0);
_defineProperty(this, "regExpCache", new _RegExpCache["default"](32));
options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
defaultCallingCode: options.defaultCallingCode,

@@ -199,2 +195,13 @@ defaultCountry: options.defaultCountry && (0, _metadata.isSupportedCountry)(options.defaultCountry, metadata) ? options.defaultCountry : undefined,

this.PATTERN = new RegExp(PATTERN, 'ig');
/** The iteration tristate. */
this.state = 'NOT_READY';
/** The next index to start searching at. Undefined in {@link State#DONE}. */
this.searchIndex = 0; // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
this.regExpCache = new _RegExpCache["default"](32);
}

@@ -258,4 +265,4 @@ /**

value: function extractInnerMatch(substring, offset, text) {
for (var _i = 0, _INNER_MATCHES = INNER_MATCHES; _i < _INNER_MATCHES.length; _i++) {
var innerMatchPattern = _INNER_MATCHES[_i];
for (var _iterator = _createForOfIteratorHelperLoose(INNER_MATCHES), _step; !(_step = _iterator()).done;) {
var innerMatchPattern = _step.value;
var isFirstMatch = true;

@@ -262,0 +269,0 @@ var candidateMatch = void 0;

"use strict";
var _PhoneNumberMatcher = _interopRequireDefault(require("./PhoneNumberMatcher"));
var _PhoneNumberMatcher = _interopRequireDefault(require("./PhoneNumberMatcher.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -8,5 +8,5 @@ "use strict";

var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");
var _PhoneNumberMatcher = _interopRequireDefault(require("./PhoneNumberMatcher"));
var _PhoneNumberMatcher = _interopRequireDefault(require("./PhoneNumberMatcher.js"));

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _searchNumbers = _interopRequireDefault(require("./searchNumbers"));
var _searchNumbers = _interopRequireDefault(require("./searchNumbers.js"));

@@ -9,2 +9,8 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
describe('searchNumbers', function () {

@@ -26,15 +32,4 @@ it('should iterate', function () {

for (var _iterator = (0, _searchNumbers["default"])('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', _metadataMin["default"]), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var number = _ref;
for (var _iterator = _createForOfIteratorHelperLoose((0, _searchNumbers["default"])('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', _metadataMin["default"])), _step; !(_step = _iterator()).done;) {
var number = _step.value;
number.should.deep.equal(expectedNumbers.shift());

@@ -41,0 +36,0 @@ }

@@ -8,5 +8,5 @@ "use strict";

var _searchNumbers = _interopRequireDefault(require("./searchNumbers"));
var _searchNumbers = _interopRequireDefault(require("./searchNumbers.js"));
var _findPhoneNumbersInText = require("./findPhoneNumbersInText");
var _findPhoneNumbersInText = require("./findPhoneNumbersInText.js");

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

"use strict";
var _searchPhoneNumbersInText = _interopRequireDefault(require("./searchPhoneNumbersInText"));
var _searchPhoneNumbersInText = _interopRequireDefault(require("./searchPhoneNumbersInText.js"));

@@ -9,2 +9,8 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
describe('searchPhoneNumbersInText', function () {

@@ -14,15 +20,4 @@ it('should find phone numbers (with default country)', function () {

for (var _iterator = (0, _searchPhoneNumbersInText["default"])('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', _metadataMin["default"]), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var number = _ref;
for (var _iterator = _createForOfIteratorHelperLoose((0, _searchPhoneNumbersInText["default"])('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', _metadataMin["default"])), _step; !(_step = _iterator()).done;) {
var number = _step.value;
number.number.number.should.equal(NUMBERS[0]);

@@ -35,15 +30,4 @@ NUMBERS.shift();

for (var _iterator2 = (0, _searchPhoneNumbersInText["default"])('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', _metadataMin["default"]), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
var number = _ref2;
for (var _iterator2 = _createForOfIteratorHelperLoose((0, _searchPhoneNumbersInText["default"])('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', _metadataMin["default"])), _step2; !(_step2 = _iterator2()).done;) {
var number = _step2.value;
number.number.number.should.equal(NUMBERS[0]);

@@ -50,0 +34,0 @@ NUMBERS.shift();

"use strict";
var _semverCompare = _interopRequireDefault(require("./semver-compare"));
var _semverCompare = _interopRequireDefault(require("./semver-compare.js"));

@@ -5,0 +5,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,7 +8,7 @@ "use strict";

var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _matchesEntirely = _interopRequireDefault(require("./helpers/matchesEntirely"));
var _matchesEntirely = _interopRequireDefault(require("./helpers/matchesEntirely.js"));
var _getNumberType = _interopRequireDefault(require("./helpers/getNumberType"));
var _getNumberType = _interopRequireDefault(require("./helpers/getNumberType.js"));

@@ -15,0 +15,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,5 +8,5 @@ "use strict";

var _validate_ = _interopRequireDefault(require("./validate_"));
var _validate_ = _interopRequireDefault(require("./validate_.js"));
var _getNumberType = require("./getNumberType");
var _getNumberType = require("./getNumberType.js");

@@ -13,0 +13,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -5,3 +5,3 @@ "use strict";

var _validate = _interopRequireDefault(require("./validate"));
var _validate = _interopRequireDefault(require("./validate.js"));

@@ -8,0 +8,0 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -8,16 +8,18 @@ "use strict";

var _parsePhoneNumber = require("./parsePhoneNumber");
var _parsePhoneNumber = require("./parsePhoneNumber.js");
var _parsePhoneNumber_ = _interopRequireDefault(require("./parsePhoneNumber_"));
var _parsePhoneNumber_ = _interopRequireDefault(require("./parsePhoneNumber_.js"));
var _ParseError = _interopRequireDefault(require("./ParseError"));
var _ParseError = _interopRequireDefault(require("./ParseError.js"));
var _metadata = _interopRequireDefault(require("./metadata"));
var _metadata = _interopRequireDefault(require("./metadata.js"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength"));
var _checkNumberLength = _interopRequireDefault(require("./helpers/checkNumberLength.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -31,7 +33,6 @@

options = _objectSpread({}, options, {
extract: false // Parse phone number.
options = _objectSpread(_objectSpread({}, options), {}, {
extract: false
}); // Parse phone number.
});
try {

@@ -38,0 +39,0 @@ var phoneNumber = (0, _parsePhoneNumber_["default"])(text, options, metadata);

"use strict";
var _validatePhoneNumberLength2 = _interopRequireDefault(require("./validatePhoneNumberLength"));
var _validatePhoneNumberLength2 = _interopRequireDefault(require("./validatePhoneNumberLength.js"));

@@ -5,0 +5,0 @@ var _metadataMin = _interopRequireDefault(require("../metadata.min.json"));

@@ -70,2 +70,7 @@ <!-- (breaking change) `parsePhoneNumberFromString()`: `extract: false` is now the default mode: non-phone-number characters aren't now trimmed on the left and on the right sides of a phone number. For example, `(213) 373-4253` is parsed as a valid phone number, but `Call: (213) 373-4253` is not, because `Call: ` doesn't automatically get trimmed now. For the old behavior, pass `extract: true` option. -->

1.10.0 / 18.05.2022
==================
* Migrated the library to use ["ES Modules" export](https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/42). This shouldn't break anyone's code and it makes it more modern since people asked about this feature.
1.9.48 / 06.02.2022

@@ -72,0 +77,0 @@ ==================

@@ -1,34 +0,34 @@

export { default as ParseError } from '../es6/ParseError'
export { default as ParseError } from '../es6/ParseError.js'
// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
export { default as parsePhoneNumberWithError, default as parsePhoneNumber } from '../es6/parsePhoneNumber'
export { default as parsePhoneNumberWithError, default as parsePhoneNumber } from '../es6/parsePhoneNumber.js'
// `parsePhoneNumberFromString()` named export is now considered legacy:
// it has been promoted to a default export due to being too verbose.
export { default as default, default as parsePhoneNumberFromString } from '../es6/parsePhoneNumberFromString'
export { default as default, default as parsePhoneNumberFromString } from '../es6/parsePhoneNumberFromString.js'
export { default as isValidPhoneNumber } from '../es6/isValidPhoneNumber'
export { default as isPossiblePhoneNumber } from '../es6/isPossiblePhoneNumber'
export { default as validatePhoneNumberLength } from '../es6/validatePhoneNumberLength'
export { default as isValidPhoneNumber } from '../es6/isValidPhoneNumber.js'
export { default as isPossiblePhoneNumber } from '../es6/isPossiblePhoneNumber.js'
export { default as validatePhoneNumberLength } from '../es6/validatePhoneNumberLength.js'
// Deprecated.
export { default as findNumbers } from '../es6/findNumbers'
export { default as findNumbers } from '../es6/findNumbers.js'
// Deprecated.
export { default as searchNumbers } from '../es6/searchNumbers'
export { default as searchNumbers } from '../es6/searchNumbers.js'
export { default as findPhoneNumbersInText } from '../es6/findPhoneNumbersInText'
export { default as searchPhoneNumbersInText } from '../es6/searchPhoneNumbersInText'
export { default as PhoneNumberMatcher } from '../es6/PhoneNumberMatcher'
export { default as findPhoneNumbersInText } from '../es6/findPhoneNumbersInText.js'
export { default as searchPhoneNumbersInText } from '../es6/searchPhoneNumbersInText.js'
export { default as PhoneNumberMatcher } from '../es6/PhoneNumberMatcher.js'
export { default as AsYouType } from '../es6/AsYouType'
export { DIGIT_PLACEHOLDER } from '../es6/AsYouTypeFormatter'
export { default as AsYouType } from '../es6/AsYouType.js'
export { DIGIT_PLACEHOLDER } from '../es6/AsYouTypeFormatter.js'
export { default as getCountries } from '../es6/getCountries'
export { default as Metadata, isSupportedCountry, getCountryCallingCode, getExtPrefix } from '../es6/metadata'
export { default as getCountries } from '../es6/getCountries.js'
export { default as Metadata, isSupportedCountry, getCountryCallingCode, getExtPrefix } from '../es6/metadata.js'
export { default as getExampleNumber } from '../es6/getExampleNumber'
export { default as getExampleNumber } from '../es6/getExampleNumber.js'
export { default as formatIncompletePhoneNumber } from '../es6/formatIncompletePhoneNumber'
export { default as parseIncompletePhoneNumber, parsePhoneNumberCharacter } from '../es6/parseIncompletePhoneNumber'
export { default as parseDigits } from '../es6/helpers/parseDigits'
export { default as formatIncompletePhoneNumber } from '../es6/formatIncompletePhoneNumber.js'
export { default as parseIncompletePhoneNumber, parsePhoneNumberCharacter } from '../es6/parseIncompletePhoneNumber.js'
export { default as parseDigits } from '../es6/helpers/parseDigits.js'
export { parseRFC3966, formatRFC3966 } from '../es6/helpers/RFC3966'
export { parseRFC3966, formatRFC3966 } from '../es6/helpers/RFC3966.js'

@@ -5,5 +5,13 @@ {

"version": "1.0.0",
"main": "index.commonjs.js",
"main": "index.cjs",
"module": "index.js",
"type": "module",
"exports": {
".": {
"types": "./index.d.ts",
"import": "./index.js",
"require": "./index.cjs"
}
},
"sideEffects": false
}

@@ -5,3 +5,3 @@ // The `/custom` export has been long deprecated: use `/core` export instead.

var parsePhoneNumberFromString = require('./build/parsePhoneNumberFromString').default
var parsePhoneNumberFromString = require('./build/parsePhoneNumberFromString.js').default

@@ -15,4 +15,4 @@ // ES5 `require()` "default" "interoperability" hack.

exports.ParseError = require('./build/ParseError').default
var parsePhoneNumberWithError = require('./build/parsePhoneNumber').default
exports.ParseError = require('./build/ParseError.js').default
var parsePhoneNumberWithError = require('./build/parsePhoneNumber.js').default
// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.

@@ -28,33 +28,33 @@ exports.parsePhoneNumber = parsePhoneNumberWithError

// (renamed to `parseNumber()`)
exports.parse = require('./build/parse').default
exports.parseNumber = require('./build/parse').default
exports.parse = require('./build/parse.js').default
exports.parseNumber = require('./build/parse.js').default
// Deprecated: remove `format()` export in 2.0.0.
// (renamed to `formatNumber()`)
exports.format = require('./build/format').default
exports.formatNumber = require('./build/format').default
exports.getNumberType = require('./build/getNumberType').default
exports.getExampleNumber = require('./build/getExampleNumber').default
exports.isValidNumber = require('./build/validate').default
exports.isValidNumberForRegion = require('./build/isValidNumberForRegion').default
exports.format = require('./build/format.js').default
exports.formatNumber = require('./build/format.js').default
exports.getNumberType = require('./build/getNumberType.js').default
exports.getExampleNumber = require('./build/getExampleNumber.js').default
exports.isValidNumber = require('./build/validate.js').default
exports.isValidNumberForRegion = require('./build/isValidNumberForRegion.js').default
// Deprecated.
exports.isPossibleNumber = require('./build/isPossibleNumber').default
exports.isPossibleNumber = require('./build/isPossibleNumber.js').default
exports.findNumbers = require('./build/findNumbers').default
exports.searchNumbers = require('./build/searchNumbers').default
exports.findPhoneNumbersInText = require('./build/findPhoneNumbersInText').default
exports.searchPhoneNumbersInText = require('./build/searchPhoneNumbersInText').default
exports.PhoneNumberMatcher = require('./build/PhoneNumberMatcher').default
exports.findNumbers = require('./build/findNumbers.js').default
exports.searchNumbers = require('./build/searchNumbers.js').default
exports.findPhoneNumbersInText = require('./build/findPhoneNumbersInText.js').default
exports.searchPhoneNumbersInText = require('./build/searchPhoneNumbersInText.js').default
exports.PhoneNumberMatcher = require('./build/PhoneNumberMatcher.js').default
// Deprecated.
exports.findPhoneNumbers = require('./build/findPhoneNumbers').default
exports.searchPhoneNumbers = require('./build/findPhoneNumbers').searchPhoneNumbers
exports.PhoneNumberSearch = require('./build/findPhoneNumbers_').PhoneNumberSearch
exports.findPhoneNumbers = require('./build/findPhoneNumbers.js').default
exports.searchPhoneNumbers = require('./build/findPhoneNumbers.js').searchPhoneNumbers
exports.PhoneNumberSearch = require('./build/findPhoneNumbers_.js').PhoneNumberSearch
exports.AsYouType = require('./build/AsYouType').default
exports.AsYouType = require('./build/AsYouType.js').default
exports.formatIncompletePhoneNumber = require('./build/formatIncompletePhoneNumber').default
exports.parseIncompletePhoneNumber = require('./build/parseIncompletePhoneNumber').default
exports.parsePhoneNumberCharacter = require('./build/parseIncompletePhoneNumber').parsePhoneNumberCharacter
exports.parseDigits = require('./build/helpers/parseDigits').default
exports.formatIncompletePhoneNumber = require('./build/formatIncompletePhoneNumber.js').default
exports.parseIncompletePhoneNumber = require('./build/parseIncompletePhoneNumber.js').default
exports.parsePhoneNumberCharacter = require('./build/parseIncompletePhoneNumber.js').parsePhoneNumberCharacter
exports.parseDigits = require('./build/helpers/parseDigits.js').default

@@ -67,17 +67,17 @@ // Deprecated: `DIGITS` were used by `react-phone-number-input`.

//
exports.DIGITS = require('./build/helpers/parseDigits').DIGITS
exports.DIGIT_PLACEHOLDER = require('./build/AsYouTypeFormatter').DIGIT_PLACEHOLDER
exports.DIGITS = require('./build/helpers/parseDigits.js').DIGITS
exports.DIGIT_PLACEHOLDER = require('./build/AsYouTypeFormatter.js').DIGIT_PLACEHOLDER
exports.getCountries = require('./build/getCountries').default
exports.getCountryCallingCode = require('./build/getCountryCallingCode').default
exports.getCountries = require('./build/getCountries.js').default
exports.getCountryCallingCode = require('./build/getCountryCallingCode.js').default
// `getPhoneCode` name is deprecated, use `getCountryCallingCode` instead.
exports.getPhoneCode = exports.getCountryCallingCode
exports.Metadata = require('./build/metadata').default
exports.isSupportedCountry = require('./build/metadata').isSupportedCountry
exports.getExtPrefix = require('./build/metadata').getExtPrefix
exports.Metadata = require('./build/metadata.js').default
exports.isSupportedCountry = require('./build/metadata.js').isSupportedCountry
exports.getExtPrefix = require('./build/metadata.js').getExtPrefix
exports.parseRFC3966 = require('./build/helpers/RFC3966').parseRFC3966
exports.formatRFC3966 = require('./build/helpers/RFC3966').formatRFC3966
exports.parseRFC3966 = require('./build/helpers/RFC3966.js').parseRFC3966
exports.formatRFC3966 = require('./build/helpers/RFC3966.js').formatRFC3966
// exports['default'] = ...

@@ -1,9 +0,13 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -15,15 +19,13 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
import Metadata from './metadata';
import PhoneNumber from './PhoneNumber';
import AsYouTypeState from './AsYouTypeState';
import AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter';
import AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser';
import getCountryByCallingCode from './helpers/getCountryByCallingCode';
import Metadata from './metadata.js';
import PhoneNumber from './PhoneNumber.js';
import AsYouTypeState from './AsYouTypeState.js';
import AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js';
import AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js';
import getCountryByCallingCode from './helpers/getCountryByCallingCode.js';
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
var AsYouType =
/*#__PURE__*/
function () {
var AsYouType = /*#__PURE__*/function () {
/**

@@ -30,0 +32,0 @@ * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.

@@ -1,30 +0,38 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
import metadata from '../metadata.min.json';
import AsYouType_ from './AsYouType';
import AsYouType_ from './AsYouType.js';
var AsYouType =
/*#__PURE__*/
function (_AsYouType_) {
var AsYouType = /*#__PURE__*/function (_AsYouType_) {
_inherits(AsYouType, _AsYouType_);
var _super = _createSuper(AsYouType);
function AsYouType(country_code) {
_classCallCheck(this, AsYouType);
return _possibleConstructorReturn(this, _getPrototypeOf(AsYouType).call(this, country_code, metadata));
return _super.call(this, country_code, metadata);
}
return AsYouType;
return _createClass(AsYouType);
}(AsYouType_);

@@ -1205,2 +1213,8 @@

});
it('should work for formats with no leading digits (`leadingDigitsPatternsCount === 0`)', function () {
var formatter = new AsYouType({
defaultCallingCode: 888
});
formatter.input('1').should.equal('1');
});
});

@@ -1207,0 +1221,0 @@

@@ -1,4 +0,4 @@

import checkNumberLength from './helpers/checkNumberLength';
import parseDigits from './helpers/parseDigits';
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat';
import checkNumberLength from './helpers/checkNumberLength.js';
import parseDigits from './helpers/parseDigits.js';
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';
export default function formatCompleteNumber(state, format, _ref) {

@@ -5,0 +5,0 @@ var metadata = _ref.metadata,

@@ -0,1 +1,7 @@

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -5,14 +11,12 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util';
import formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete';
import PatternMatcher from './AsYouTypeFormatter.PatternMatcher';
import parseDigits from './helpers/parseDigits';
export { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util';
import { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat';
import { VALID_PUNCTUATION } from './constants';
import applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle'; // Used in phone number format template creation.
import { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util.js';
import formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete.js';
import PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js';
import parseDigits from './helpers/parseDigits.js';
export { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js';
import { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js';
import { VALID_PUNCTUATION } from './constants.js';
import applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'; // Used in phone number format template creation.
// Could be any digit, I guess.

@@ -94,8 +98,4 @@

var AsYouTypeFormatter =
/*#__PURE__*/
function () {
var AsYouTypeFormatter = /*#__PURE__*/function () {
function AsYouTypeFormatter(_ref) {
var _this = this;
var state = _ref.state,

@@ -106,42 +106,2 @@ metadata = _ref.metadata;

_defineProperty(this, "getSeparatorAfterNationalPrefix", function (format) {
// `US` metadata doesn't have a `national_prefix_formatting_rule`,
// so the `if` condition below doesn't apply to `US`,
// but in reality there shoudl be a separator
// between a national prefix and a national (significant) number.
// So `US` national prefix separator is a "special" "hardcoded" case.
if (_this.isNANP) {
return ' ';
} // If a `format` has a `national_prefix_formatting_rule`
// and that rule has a separator after a national prefix,
// then it means that there should be a separator
// between a national prefix and a national (significant) number.
if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {
return ' ';
} // At this point, there seems to be no clear evidence that
// there should be a separator between a national prefix
// and a national (significant) number. So don't insert one.
return '';
});
_defineProperty(this, "shouldTryNationalPrefixFormattingRule", function (format, _ref2) {
var international = _ref2.international,
nationalPrefix = _ref2.nationalPrefix;
if (format.nationalPrefixFormattingRule()) {
// In some countries, `national_prefix_formatting_rule` is `($1)`,
// so it applies even if the user hasn't input a national prefix.
// `format.usesNationalPrefix()` detects such cases.
var usesNationalPrefix = format.usesNationalPrefix();
if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {
return true;
}
}
});
this.metadata = metadata;

@@ -187,3 +147,3 @@ this.resetFormat();

value: function format(nextDigits, state) {
var _this2 = this;
var _this = this;

@@ -205,19 +165,8 @@ // See if the phone number digits can be formatted as a complete phone number.

if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {
for (var _iterator = this.matchingFormats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref3;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref3 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref3 = _i.value;
}
var format = _ref3;
for (var _iterator = _createForOfIteratorHelperLoose(this.matchingFormats), _step; !(_step = _iterator()).done;) {
var format = _step.value;
var formattedCompleteNumber = formatCompleteNumber(state, format, {
metadata: this.metadata,
shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {
return _this2.shouldTryNationalPrefixFormattingRule(format, {
return _this.shouldTryNationalPrefixFormattingRule(format, {
international: state.international,

@@ -227,3 +176,5 @@ nationalPrefix: state.nationalPrefix

},
getSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix
getSeparatorAfterNationalPrefix: function getSeparatorAfterNationalPrefix(format) {
return _this.getSeparatorAfterNationalPrefix(format);
}
});

@@ -273,8 +224,8 @@

key: "narrowDownMatchingFormats",
value: function narrowDownMatchingFormats(_ref4) {
var _this3 = this;
value: function narrowDownMatchingFormats(_ref2) {
var _this2 = this;
var nationalSignificantNumber = _ref4.nationalSignificantNumber,
nationalPrefix = _ref4.nationalPrefix,
international = _ref4.international;
var nationalSignificantNumber = _ref2.nationalSignificantNumber,
nationalPrefix = _ref2.nationalPrefix,
international = _ref2.international;
var leadingDigits = nationalSignificantNumber; // "leading digits" pattern list starts with a

@@ -299,3 +250,3 @@ // "leading digits" pattern fitting a maximum of 3 leading digits.

this.matchingFormats = this.matchingFormats.filter(function (format) {
return _this3.formatSuits(format, international, nationalPrefix) && _this3.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);
return _this2.formatSuits(format, international, nationalPrefix) && _this2.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);
}); // If there was a phone number format chosen

@@ -347,2 +298,3 @@ // and it no longer holds given the new leading digits then reset it.

// leading digits pattern then it fits.
// The test case could be found by searching for "leadingDigitsPatternsCount === 0".

@@ -421,19 +373,10 @@ if (leadingDigitsPatternsCount === 0) {

value: function chooseFormat(state) {
var _this4 = this;
var _this3 = this;
var _loop2 = function _loop2() {
if (_isArray2) {
if (_i2 >= _iterator2.length) return "break";
_ref5 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) return "break";
_ref5 = _i2.value;
}
var _loop = function _loop() {
var format = _step2.value;
var format = _ref5;
// If this format is currently being used
// and is still suitable, then stick to it.
if (_this4.chosenFormat === format) {
if (_this3.chosenFormat === format) {
return "break";

@@ -482,9 +425,9 @@ } // Sometimes, a formatting rule inserts additional digits in a phone number,

if (!NON_ALTERING_FORMAT_REG_EXP.test(_this4.getFormatFormat(format, state.international))) {
if (!NON_ALTERING_FORMAT_REG_EXP.test(_this3.getFormatFormat(format, state.international))) {
return "continue";
}
if (!_this4.createTemplateForFormat(format, state)) {
if (!_this3.createTemplateForFormat(format, state)) {
// Remove the format if it can't generate a template.
_this4.matchingFormats = _this4.matchingFormats.filter(function (_) {
_this3.matchingFormats = _this3.matchingFormats.filter(function (_) {
return _ !== format;

@@ -495,3 +438,3 @@ });

_this4.chosenFormat = format;
_this3.chosenFormat = format;
return "break";

@@ -502,14 +445,21 @@ };

// format where a formatting template could be created.
_loop: for (var _iterator2 = this.matchingFormats.slice(), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref5;
//
// For some weird reason, `istanbul` says "else path not taken"
// for the `for of` line below. Supposedly that means that
// the loop doesn't ever go over the last element in the list.
// That's true because there always is `this.chosenFormat`
// when `this.matchingFormats` is non-empty.
// And, for some weird reason, it doesn't think that the case
// with empty `this.matchingFormats` qualifies for a valid "else" path.
// So simply muting this `istanbul` warning.
// It doesn't skip the contents of the `for of` loop,
// it just skips the `for of` line.
//
var _ret = _loop2();
/* istanbul ignore next */
for (var _iterator2 = _createForOfIteratorHelperLoose(this.matchingFormats.slice()), _step2; !(_step2 = _iterator2()).done;) {
var _ret = _loop();
switch (_ret) {
case "break":
break _loop;
case "continue":
continue;
}
if (_ret === "break") break;
if (_ret === "continue") continue;
}

@@ -546,6 +496,31 @@

}, {
key: "getSeparatorAfterNationalPrefix",
value: function getSeparatorAfterNationalPrefix(format) {
// `US` metadata doesn't have a `national_prefix_formatting_rule`,
// so the `if` condition below doesn't apply to `US`,
// but in reality there shoudl be a separator
// between a national prefix and a national (significant) number.
// So `US` national prefix separator is a "special" "hardcoded" case.
if (this.isNANP) {
return ' ';
} // If a `format` has a `national_prefix_formatting_rule`
// and that rule has a separator after a national prefix,
// then it means that there should be a separator
// between a national prefix and a national (significant) number.
if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {
return ' ';
} // At this point, there seems to be no clear evidence that
// there should be a separator between a national prefix
// and a national (significant) number. So don't insert one.
return '';
}
}, {
key: "getInternationalPrefixBeforeCountryCallingCode",
value: function getInternationalPrefixBeforeCountryCallingCode(_ref6, options) {
var IDDPrefix = _ref6.IDDPrefix,
missingPlus = _ref6.missingPlus;
value: function getInternationalPrefixBeforeCountryCallingCode(_ref3, options) {
var IDDPrefix = _ref3.IDDPrefix,
missingPlus = _ref3.missingPlus;

@@ -614,7 +589,7 @@ if (IDDPrefix) {

key: "getTemplateForFormat",
value: function getTemplateForFormat(format, _ref7) {
var nationalSignificantNumber = _ref7.nationalSignificantNumber,
international = _ref7.international,
nationalPrefix = _ref7.nationalPrefix,
complexPrefixBeforeNationalSignificantNumber = _ref7.complexPrefixBeforeNationalSignificantNumber;
value: function getTemplateForFormat(format, _ref4) {
var nationalSignificantNumber = _ref4.nationalSignificantNumber,
international = _ref4.international,
nationalPrefix = _ref4.nationalPrefix,
complexPrefixBeforeNationalSignificantNumber = _ref4.complexPrefixBeforeNationalSignificantNumber;
var pattern = format.pattern();

@@ -764,2 +739,19 @@ /* istanbul ignore else */

}
}, {
key: "shouldTryNationalPrefixFormattingRule",
value: function shouldTryNationalPrefixFormattingRule(format, _ref5) {
var international = _ref5.international,
nationalPrefix = _ref5.nationalPrefix;
if (format.nationalPrefixFormattingRule()) {
// In some countries, `national_prefix_formatting_rule` is `($1)`,
// so it applies even if the user hasn't input a national prefix.
// `format.usesNationalPrefix()` detects such cases.
var usesNationalPrefix = format.usesNationalPrefix();
if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {
return true;
}
}
}
}]);

@@ -766,0 +758,0 @@

@@ -0,1 +1,7 @@

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -5,7 +11,5 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var PatternMatcher =
/*#__PURE__*/
function () {
var PatternMatcher = /*#__PURE__*/function () {
function PatternMatcher(pattern) {

@@ -160,16 +164,5 @@ _classCallCheck(this, PatternMatcher);

for (var _iterator = tree.args, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref2;
for (var _iterator = _createForOfIteratorHelperLoose(tree.args), _step; !(_step = _iterator()).done;) {
var branch = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref2 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref2 = _i.value;
}
var branch = _ref2;
var _result = _match(characters, branch, last);

@@ -207,16 +200,5 @@

case '[]':
for (var _iterator2 = tree.args, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref3;
for (var _iterator2 = _createForOfIteratorHelperLoose(tree.args), _step2; !(_step2 = _iterator2()).done;) {
var _char = _step2.value;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref3 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref3 = _i2.value;
}
var _char = _ref3;
if (characters[0] === _char) {

@@ -266,5 +248,3 @@ if (characters.length === 1) {

var PatternParser =
/*#__PURE__*/
function () {
var PatternParser = /*#__PURE__*/function () {
function PatternParser() {

@@ -271,0 +251,0 @@ _classCallCheck(this, PatternParser);

@@ -1,2 +0,2 @@

import PatternMatcher from './AsYouTypeFormatter.PatternMatcher';
import PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js';
describe('AsYouTypeFormatter.PatternMatcher', function () {

@@ -3,0 +3,0 @@ it('should throw when no pattern is passed', function () {

@@ -0,1 +1,7 @@

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.

@@ -14,16 +20,5 @@ export var DIGIT_PLACEHOLDER = 'x'; // '\u2008' (punctuation space)

for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {
var character = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var character = _ref;
if (character === symbol) {

@@ -97,4 +92,4 @@ count++;

for (var _i2 = 0, _dangling_braces = dangling_braces; _i2 < _dangling_braces.length; _i2++) {
var index = _dangling_braces[_i2];
for (var _i = 0, _dangling_braces = dangling_braces; _i < _dangling_braces.length; _i++) {
var index = _dangling_braces[_i];
cleared_string += string.slice(start, index);

@@ -112,16 +107,5 @@ start = index + 1;

// for (const digit of digits)
for (var _iterator2 = digits.split(''), _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
for (var _iterator2 = _createForOfIteratorHelperLoose(digits.split('')), _step2; !(_step2 = _iterator2()).done;) {
var digit = _step2.value;
if (_isArray2) {
if (_i3 >= _iterator2.length) break;
_ref2 = _iterator2[_i3++];
} else {
_i3 = _iterator2.next();
if (_i3.done) break;
_ref2 = _i3.value;
}
var digit = _ref2;
// If there is room for more digits in current `template`,

@@ -128,0 +112,0 @@ // then set the next digit in the `template`,

@@ -1,2 +0,2 @@

import { closeNonPairedParens, stripNonPairedParens, repeat } from './AsYouTypeFormatter.util';
import { closeNonPairedParens, stripNonPairedParens, repeat } from './AsYouTypeFormatter.util.js';
describe('closeNonPairedParens', function () {

@@ -3,0 +3,0 @@ it('should close non-paired braces', function () {

@@ -1,7 +0,11 @@

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

@@ -13,10 +17,10 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
import _extractCountryCallingCode from './helpers/extractCountryCallingCode';
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';
import extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber';
import stripIddPrefix from './helpers/stripIddPrefix';
import parseDigits from './helpers/parseDigits';
import { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants';
import _extractCountryCallingCode from './helpers/extractCountryCallingCode.js';
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';
import extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js';
import stripIddPrefix from './helpers/stripIddPrefix.js';
import parseDigits from './helpers/parseDigits.js';
import { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants.js';
var VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';

@@ -31,5 +35,3 @@ var VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');

var AsYouTypeParser =
/*#__PURE__*/
function () {
var AsYouTypeParser = /*#__PURE__*/function () {
function AsYouTypeParser(_ref) {

@@ -126,3 +128,5 @@ var defaultCountry = _ref.defaultCountry,

if (!this.hasExtractedNationalSignificantNumber) {
this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);
this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {
return state.update(stateUpdate);
});
}

@@ -310,3 +314,5 @@ }

//
if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, state.update)) {
if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {
return state.update(stateUpdate);
})) {
return true;

@@ -414,3 +420,5 @@ } // If no format matches the phone number, then it could be

// there won't be yet another retry, so also extract national prefix here.
this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);
this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {
return state.update(stateUpdate);
});
}

@@ -417,0 +425,0 @@ }

@@ -5,12 +5,6 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var AsYouTypeState =
/*#__PURE__*/
function () {
var AsYouTypeState = /*#__PURE__*/function () {
function AsYouTypeState(_ref) {
var _this = this;
var onCountryChange = _ref.onCountryChange,

@@ -21,9 +15,2 @@ onCallingCodeChange = _ref.onCallingCodeChange;

_defineProperty(this, "update", function (properties) {
for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
_this[key] = properties[key];
}
});
this.onCountryChange = onCountryChange;

@@ -54,2 +41,10 @@ this.onCallingCodeChange = onCallingCodeChange;

}, {
key: "update",
value: function update(properties) {
for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
this[key] = properties[key];
}
}
}, {
key: "initCountryAndCallingCode",

@@ -56,0 +51,0 @@ value: function initCountryAndCallingCode(country, callingCode) {

@@ -1,2 +0,2 @@

import PhoneNumberMatcher from './PhoneNumberMatcher';
import PhoneNumberMatcher from './PhoneNumberMatcher.js';
export default function findNumbers(text, options, metadata) {

@@ -3,0 +3,0 @@ var matcher = new PhoneNumberMatcher(text, options, metadata);

@@ -1,3 +0,3 @@

import _findNumbers from './findNumbers_';
import { normalizeArguments } from './parsePhoneNumber';
import _findNumbers from './findNumbers_.js';
import { normalizeArguments } from './parsePhoneNumber.js';
export default function findNumbers() {

@@ -4,0 +4,0 @@ var _normalizeArguments = normalizeArguments(arguments),

@@ -1,2 +0,2 @@

import findNumbers from './findNumbers';
import findNumbers from './findNumbers.js';
import metadata from '../metadata.max.json';

@@ -3,0 +3,0 @@ describe('findNumbers', function () {

// Copy-pasted from `PhoneNumberMatcher.js`.
import { PLUS_CHARS } from '../constants';
import { limit } from './util';
import { isLatinLetter, isInvalidPunctuationSymbol } from './utf-8';
import { PLUS_CHARS } from '../constants.js';
import { limit } from './util.js';
import { isLatinLetter, isInvalidPunctuationSymbol } from './utf-8.js';
var OPENING_PARENS = "(\\[\uFF08\uFF3B";

@@ -6,0 +6,0 @@ var CLOSING_PARENS = ")\\]\uFF09\uFF3D";

@@ -1,4 +0,10 @@

import isValidNumber from '../validate_';
import parseDigits from '../helpers/parseDigits';
import { startsWith, endsWith } from './util';
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import isValidNumber from '../validate_.js';
import parseDigits from '../helpers/parseDigits.js';
import { startsWith, endsWith } from './util.js';
/**

@@ -190,16 +196,5 @@ * Leniency when finding potential phone numbers in text segments

if (alternateFormats) {
for (var _iterator = alternateFormats.numberFormats(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(alternateFormats.numberFormats()), _step; !(_step = _iterator()).done;) {
var alternateFormat = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var alternateFormat = _ref;
if (alternateFormat.leadingDigitsPatterns().length > 0) {

@@ -206,0 +201,0 @@ // There is only one leading digits pattern for alternate formats.

/*
import
{
containsMoreThanOneSlashInNationalNumber
}
from './Leniency'
import { containsMoreThanOneSlashInNationalNumber } from './Leniency.js'
describe('Leniency', () =>
{
it('testContainsMoreThanOneSlashInNationalNumber', () =>
{
describe('Leniency', () => {
it('testContainsMoreThanOneSlashInNationalNumber', () => {
// A date should return true.

@@ -13,0 +7,0 @@ number.setCountryCode(1)

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -8,3 +8,3 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

// https://medium.com/dsinjs/implementing-lru-cache-in-javascript-94ba6755cda9
var Node = function Node(key, value) {
var Node = /*#__PURE__*/_createClass(function Node(key, value) {
var next = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

@@ -19,7 +19,5 @@ var prev = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;

this.prev = prev;
};
});
var LRUCache =
/*#__PURE__*/
function () {
var LRUCache = /*#__PURE__*/function () {
//set default limit of 10 if limit is not passed.

@@ -26,0 +24,0 @@ function LRUCache() {

@@ -1,2 +0,2 @@

import { trimAfterFirstMatch } from './util'; // Regular expression of characters typically used to start a second phone number for the purposes
import { trimAfterFirstMatch } from './util.js'; // Regular expression of characters typically used to start a second phone number for the purposes
// of parsing. This allows us to strip off parts of the number that are actually the start of

@@ -3,0 +3,0 @@ // another number, such as for: (530) 583-6985 x302/x2303 -> the second extension here makes this

@@ -5,5 +5,5 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
import LRUCache from './LRUCache'; // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
import LRUCache from './LRUCache.js'; // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have

@@ -13,5 +13,3 @@ // a lot more countries in use, but typically fewer numbers for each so expanding the cache for

var RegExpCache =
/*#__PURE__*/
function () {
var RegExpCache = /*#__PURE__*/function () {
function RegExpCache(size) {

@@ -18,0 +16,0 @@ _classCallCheck(this, RegExpCache);

@@ -1,2 +0,2 @@

import { limit, trimAfterFirstMatch, startsWith, endsWith } from './util';
import { limit, trimAfterFirstMatch, startsWith, endsWith } from './util.js';
describe('findNumbers/util', function () {

@@ -3,0 +3,0 @@ it('should generate regexp limit', function () {

@@ -5,3 +5,3 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

@@ -12,9 +12,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

// Use `findNumbers()` instead.
import { PLUS_CHARS, VALID_PUNCTUATION, VALID_DIGITS, WHITESPACE } from './constants';
import parse from './parse_';
import { VALID_PHONE_NUMBER_WITH_EXTENSION } from './helpers/isViablePhoneNumber';
import createExtensionPattern from './helpers/extension/createExtensionPattern';
import parsePreCandidate from './findNumbers/parsePreCandidate';
import isValidPreCandidate from './findNumbers/isValidPreCandidate';
import isValidCandidate from './findNumbers/isValidCandidate';
import { PLUS_CHARS, VALID_PUNCTUATION, VALID_DIGITS, WHITESPACE } from './constants.js';
import parse from './parse_.js';
import { VALID_PHONE_NUMBER_WITH_EXTENSION } from './helpers/isViablePhoneNumber.js';
import createExtensionPattern from './helpers/extension/createExtensionPattern.js';
import parsePreCandidate from './findNumbers/parsePreCandidate.js';
import isValidPreCandidate from './findNumbers/isValidPreCandidate.js';
import isValidCandidate from './findNumbers/isValidCandidate.js';
/**

@@ -92,11 +92,6 @@ * Regexp of all possible ways to write extensions, for use when parsing. This

export var PhoneNumberSearch =
/*#__PURE__*/
function () {
// Iteration tristate.
export var PhoneNumberSearch = /*#__PURE__*/function () {
function PhoneNumberSearch(text, options, metadata) {
_classCallCheck(this, PhoneNumberSearch);
_defineProperty(this, "state", 'NOT_READY');
this.text = text; // If assigning the `{}` default value is moved to the arguments above,

@@ -106,3 +101,5 @@ // code coverage would decrease for some weird reason.

this.options = options || {};
this.metadata = metadata;
this.metadata = metadata; // Iteration tristate.
this.state = 'NOT_READY';
this.regexp = new RegExp(VALID_PHONE_NUMBER_WITH_EXTENSION, 'ig');

@@ -109,0 +106,0 @@ }

// This is a legacy function.
// Use `findNumbers()` instead.
import _findPhoneNumbers, { searchPhoneNumbers as _searchPhoneNumbers } from './findPhoneNumbers_';
import { normalizeArguments } from './parsePhoneNumber';
import _findPhoneNumbers, { searchPhoneNumbers as _searchPhoneNumbers } from './findPhoneNumbers_.js';
import { normalizeArguments } from './parsePhoneNumber.js';
export default function findPhoneNumbers() {

@@ -6,0 +6,0 @@ var _normalizeArguments = normalizeArguments(arguments),

@@ -0,5 +1,11 @@

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// This is a legacy function.
// Use `findNumbers()` instead.
import findNumbers, { searchPhoneNumbers } from './findPhoneNumbers';
import { PhoneNumberSearch } from './findPhoneNumbers_';
import findNumbers, { searchPhoneNumbers } from './findPhoneNumbers.js';
import { PhoneNumberSearch } from './findPhoneNumbers_.js';
import metadata from '../metadata.min.json';

@@ -117,15 +123,4 @@ describe('findPhoneNumbers', function () {

for (var _iterator = searchPhoneNumbers('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', metadata), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var number = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(searchPhoneNumbers('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', metadata)), _step; !(_step = _iterator()).done;) {
var number = _step.value;
number.should.deep.equal(expected_numbers.shift());

@@ -132,0 +127,0 @@ }

@@ -1,8 +0,10 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import findNumbers from './findNumbers';
import findNumbers from './findNumbers.js';
export default function findPhoneNumbersInText(text, defaultCountry, options, metadata) {

@@ -15,3 +17,3 @@ var args = getArguments(defaultCountry, options, metadata);

if (defaultCountry) {
options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
defaultCountry: defaultCountry

@@ -42,3 +44,3 @@ });

return {
options: _objectSpread({}, options, {
options: _objectSpread(_objectSpread({}, options), {}, {
v2: true

@@ -45,0 +47,0 @@ }),

@@ -1,2 +0,2 @@

import findPhoneNumbersInText from './findPhoneNumbersInText';
import findPhoneNumbersInText from './findPhoneNumbersInText.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@ describe('findPhoneNumbersInText', function () {

@@ -1,3 +0,11 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -9,29 +17,29 @@

// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js
import matchesEntirely from './helpers/matchesEntirely';
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat';
import Metadata, { getCountryCallingCode } from './metadata';
import getIddPrefix from './helpers/getIddPrefix';
import { formatRFC3966 } from './helpers/RFC3966';
import matchesEntirely from './helpers/matchesEntirely.js';
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';
import Metadata, { getCountryCallingCode } from './metadata.js';
import getIddPrefix from './helpers/getIddPrefix.js';
import { formatRFC3966 } from './helpers/RFC3966.js';
var DEFAULT_OPTIONS = {
formatExtension: function formatExtension(formattedNumber, extension, metadata) {
return "".concat(formattedNumber).concat(metadata.ext()).concat(extension);
} // Formats a phone number
//
// Example use cases:
//
// ```js
// formatNumber('8005553535', 'RU', 'INTERNATIONAL')
// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)
// formatNumber('+78005553535', 'NATIONAL')
// formatNumber('+78005553535', 'NATIONAL', metadata)
// ```
//
}
}; // Formats a phone number
//
// Example use cases:
//
// ```js
// formatNumber('8005553535', 'RU', 'INTERNATIONAL')
// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')
// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)
// formatNumber('+78005553535', 'NATIONAL')
// formatNumber('+78005553535', 'NATIONAL', metadata)
// ```
//
};
export default function formatNumber(input, format, options, metadata) {
// Apply default options.
if (options) {
options = _objectSpread({}, DEFAULT_OPTIONS, options);
options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);
} else {

@@ -125,17 +133,8 @@ options = DEFAULT_OPTIONS;

function chooseFormatForNumber(availableFormats, nationalNnumber) {
for (var _iterator = availableFormats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {
var format = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var format = _ref;
// Validate leading digits
// Validate leading digits.
// The test case for "else path" could be found by searching for
// "format.leadingDigitsPatterns().length === 0".
if (format.leadingDigitsPatterns().length > 0) {

@@ -142,0 +141,0 @@ // The last leading_digits_pattern is used here, as it is the most detailed

@@ -1,13 +0,17 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import _formatNumber from './format_';
import parse from './parse_';
import _formatNumber from './format_.js';
import parse from './parse_.js';
export default function formatNumber() {

@@ -59,23 +63,6 @@ var _normalizeArguments = normalizeArguments(arguments),

else {
if (typeof arg_2 !== 'string') {
throw new Error('`format` argument not passed to `formatNumber(number, format)`');
}
if (typeof arg_2 !== 'string') {
throw new Error('`format` argument not passed to `formatNumber(number, format)`');
}
format = arg_2;
if (arg_4) {
options = arg_3;
metadata = arg_4;
} else {
metadata = arg_3;
}
input = parse(arg_1, {
extended: true
}, metadata);
}
} // If the phone number is passed as a parsed number object.
// `format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', [options], metadata)`.
else if (is_object(arg_1)) {
input = arg_1;
format = arg_2;

@@ -89,5 +76,22 @@

}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.'); // Legacy lowercase formats.
input = parse(arg_1, {
extended: true
}, metadata);
}
} // If the phone number is passed as a parsed number object.
// `format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', [options], metadata)`.
else if (is_object(arg_1)) {
input = arg_1;
format = arg_2;
if (arg_4) {
options = arg_3;
metadata = arg_4;
} else {
metadata = arg_3;
}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.'); // Legacy lowercase formats.
if (format === 'International') {

@@ -94,0 +98,0 @@ format = 'INTERNATIONAL';

import metadata from '../metadata.min.json';
import _formatNumber from './format';
import _formatNumber from './format.js';

@@ -27,2 +27,12 @@ function formatNumber() {

});
it('should support legacy "National" / "International" formats', function () {
formatNumber('2133734253', 'US', 'National').should.equal('(213) 373-4253');
formatNumber('2133734253', 'US', 'International').should.equal('+1 213 373 4253');
});
it('should format using formats with no leading digits (`format.leadingDigitsPatterns().length === 0`)', function () {
formatNumber({
phone: '12345678901',
countryCallingCode: 888
}, 'INTERNATIONAL').should.equal('+888 123 456 78901');
});
it('should sort out the arguments', function () {

@@ -29,0 +39,0 @@ var options = {

@@ -1,2 +0,2 @@

import AsYouType from './AsYouType';
import AsYouType from './AsYouType.js';
/**

@@ -3,0 +3,0 @@ * Formats a (possibly incomplete) phone number.

@@ -1,2 +0,2 @@

import formatIncompletePhoneNumber from './formatIncompletePhoneNumber';
import formatIncompletePhoneNumber from './formatIncompletePhoneNumber.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@ describe('formatIncompletePhoneNumber', function () {

@@ -6,7 +6,7 @@ // This function is copy-pasted from

// Send a PR if you want to add them.
import Metadata from './metadata';
import format from './format_';
import getNumberType from './helpers/getNumberType';
import checkNumberLength from './helpers/checkNumberLength';
import getCountryCallingCode from './getCountryCallingCode';
import Metadata from './metadata.js';
import format from './format_.js';
import getNumberType from './helpers/getNumberType.js';
import checkNumberLength from './helpers/checkNumberLength.js';
import getCountryCallingCode from './getCountryCallingCode.js';
var REGION_CODE_FOR_NON_GEO_ENTITY = '001';

@@ -13,0 +13,0 @@ /**

@@ -1,2 +0,2 @@

import Metadata from './metadata';
import Metadata from './metadata.js';
export default function getCountries(metadata) {

@@ -3,0 +3,0 @@ return new Metadata(metadata).getCountries();

import metadata from '../metadata.min.json';
import getCountries from './getCountries';
import getCountries from './getCountries.js';
describe('getCountries', function () {

@@ -4,0 +4,0 @@ it('should get countries list', function () {

// Deprecated. Import from 'metadata.js' directly instead.
export { getCountryCallingCode as default } from './metadata';
export { getCountryCallingCode as default } from './metadata.js';
//# sourceMappingURL=getCountryCallingCode.js.map
import metadata from '../metadata.min.json';
import getCountryCallingCode from './getCountryCallingCode';
import getCountryCallingCode from './getCountryCallingCode.js';
describe('getCountryCallingCode', function () {

@@ -4,0 +4,0 @@ it('should get country calling code', function () {

@@ -1,2 +0,2 @@

import PhoneNumber from './PhoneNumber';
import PhoneNumber from './PhoneNumber.js';
export default function getExampleNumber(country, examples, metadata) {

@@ -3,0 +3,0 @@ if (examples[country]) {

import examples from '../examples.mobile.json';
import metadata from '../metadata.min.json';
import getExampleNumber from './getExampleNumber';
import getExampleNumber from './getExampleNumber.js';
describe('getExampleNumber', function () {

@@ -5,0 +5,0 @@ it('should get an example number', function () {

@@ -1,14 +0,18 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import isViablePhoneNumber from './helpers/isViablePhoneNumber';
import _getNumberType from './helpers/getNumberType';
import parse from './parse_'; // Finds out national phone number type (fixed line, mobile, etc)
import isViablePhoneNumber from './helpers/isViablePhoneNumber.js';
import _getNumberType from './helpers/getNumberType.js';
import parse from './parse_.js'; // Finds out national phone number type (fixed line, mobile, etc)

@@ -65,32 +69,32 @@ export default function getNumberType() {

else {
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
} // `parse` extracts phone numbers from raw text,
// therefore it will cut off all "garbage" characters,
// while this `validate` function needs to verify
// that the phone number contains no "garbage"
// therefore the explicit `isViablePhoneNumber` check.
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
} // `parse` extracts phone numbers from raw text,
// therefore it will cut off all "garbage" characters,
// while this `validate` function needs to verify
// that the phone number contains no "garbage"
// therefore the explicit `isViablePhoneNumber` check.
if (isViablePhoneNumber(arg_1)) {
input = parse(arg_1, undefined, metadata);
} else {
input = {};
}
if (isViablePhoneNumber(arg_1)) {
input = parse(arg_1, undefined, metadata);
} else {
input = {};
}
}
} // If the phone number is passed as a parsed phone number.
// `getNumberType({ phone: '88005553535', country: 'RU' }, ...)`.
else if (is_object(arg_1)) {
input = arg_1;
input = arg_1;
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.');
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.');

@@ -97,0 +101,0 @@ return {

@@ -1,6 +0,6 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
import metadata from '../metadata.max.json';
import Metadata from './metadata';
import _getNumberType from './getNumberType';
import Metadata from './metadata.js';
import _getNumberType from './getNumberType.js';

@@ -7,0 +7,0 @@ function getNumberType() {

@@ -1,2 +0,2 @@

import { VALID_PUNCTUATION } from '../constants'; // Removes brackets and replaces dashes with spaces.
import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.
//

@@ -3,0 +3,0 @@ // E.g. "(999) 111-22-33" -> "999 111 22 33"

@@ -1,2 +0,2 @@

import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle';
import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js';
describe('applyInternationalSeparatorStyle', function () {

@@ -3,0 +3,0 @@ it('should change Google\'s international format style', function () {

@@ -1,2 +0,2 @@

import mergeArrays from './mergeArrays';
import mergeArrays from './mergeArrays.js';
export default function checkNumberLength(nationalNumber, metadata) {

@@ -52,4 +52,4 @@ return checkNumberLengthForType(nationalNumber, undefined, metadata);

else if (type && !type_info) {
return 'INVALID_LENGTH';
}
return 'INVALID_LENGTH';
}

@@ -56,0 +56,0 @@ var actual_length = nationalNumber.length; // In `libphonenumber-js` all "local-only" formats are dropped for simplicity.

@@ -0,4 +1,5 @@

import Metadata from '../metadata.js';
import metadata from '../../metadata.max.json';
import Metadata from '../metadata';
import { checkNumberLengthForType } from './checkNumberLength';
import oldMetadata from '../../test/metadata/1.0.0/metadata.min.json';
import { checkNumberLengthForType } from './checkNumberLength.js';
describe('checkNumberLength', function () {

@@ -23,2 +24,9 @@ it('should check phone number length', function () {

});
it('should work for old metadata', function () {
var _oldMetadata = new Metadata(oldMetadata);
_oldMetadata.country('RU');
checkNumberLengthForType('8005553535', 'FIXED_LINE', _oldMetadata).should.equal('IS_POSSIBLE');
});
});

@@ -25,0 +33,0 @@

@@ -1,2 +0,2 @@

import { VALID_DIGITS } from '../../constants'; // The RFC 3966 format for extensions.
import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.

@@ -3,0 +3,0 @@ var RFC3966_EXTN_PREFIX = ';ext=';

@@ -1,2 +0,2 @@

import createExtensionPattern from './createExtensionPattern'; // Regexp of all known extension prefixes used by different regions followed by
import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by
// 1 or more valid digits, for use when parsing.

@@ -3,0 +3,0 @@

@@ -1,5 +0,5 @@

import stripIddPrefix from './stripIddPrefix';
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';
import Metadata from '../metadata';
import { MAX_LENGTH_COUNTRY_CODE } from '../constants';
import stripIddPrefix from './stripIddPrefix.js';
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';
import Metadata from '../metadata.js';
import { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';
/**

@@ -6,0 +6,0 @@ * Converts a phone number digits (possibly with a `+`)

@@ -1,2 +0,2 @@

import extractCountryCallingCode from './extractCountryCallingCode';
import extractCountryCallingCode from './extractCountryCallingCode.js';
import metadata from '../../metadata.min.json';

@@ -3,0 +3,0 @@ describe('extractCountryCallingCode', function () {

@@ -1,6 +0,6 @@

import Metadata from '../metadata';
import matchesEntirely from './matchesEntirely';
import extractNationalNumber from './extractNationalNumber';
import checkNumberLength from './checkNumberLength';
import getCountryCallingCode from '../getCountryCallingCode';
import Metadata from '../metadata.js';
import matchesEntirely from './matchesEntirely.js';
import extractNationalNumber from './extractNationalNumber.js';
import checkNumberLength from './checkNumberLength.js';
import getCountryCallingCode from '../getCountryCallingCode.js';
/**

@@ -7,0 +7,0 @@ * Sometimes some people incorrectly input international phone numbers

@@ -1,4 +0,4 @@

import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber';
import matchesEntirely from './matchesEntirely';
import checkNumberLength from './checkNumberLength';
import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';
import matchesEntirely from './matchesEntirely.js';
import checkNumberLength from './checkNumberLength.js';
/**

@@ -5,0 +5,0 @@ * Strips national prefix and carrier code from a complete phone number.

@@ -58,15 +58,15 @@ /**

else {
// `prefixBeforeNationalNumber` is the whole substring matched by
// the `national_prefix_for_parsing` regular expression.
// There seem to be no guarantees that it's just a national prefix.
// For example, if there's a carrier code, it's gonna be a
// part of `prefixBeforeNationalNumber` too.
var prefixBeforeNationalNumber = prefixMatch[0];
nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,
// then carrier code is the first one.
// `prefixBeforeNationalNumber` is the whole substring matched by
// the `national_prefix_for_parsing` regular expression.
// There seem to be no guarantees that it's just a national prefix.
// For example, if there's a carrier code, it's gonna be a
// part of `prefixBeforeNationalNumber` too.
var prefixBeforeNationalNumber = prefixMatch[0];
nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,
// then carrier code is the first one.
if (hasCapturedGroups) {
carrierCode = prefixMatch[1];
}
} // Tries to guess whether a national prefix was present in the input.
if (hasCapturedGroups) {
carrierCode = prefixMatch[1];
}
} // Tries to guess whether a national prefix was present in the input.
// This is not something copy-pasted from Google's library:

@@ -73,0 +73,0 @@ // they don't seem to have an equivalent for that.

@@ -1,4 +0,4 @@

import Metadata from '../metadata';
import Metadata from '../metadata.js';
import metadata from '../../metadata.min.json';
import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber';
import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';
describe('extractNationalNumberFromPossiblyIncompleteNumber', function () {

@@ -5,0 +5,0 @@ it('should parse a carrier code when there is no national prefix transform rule', function () {

@@ -1,2 +0,2 @@

import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle'; // This was originally set to $1 but there are some countries for which the
import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the
// first group is not used in the national pattern (e.g. Argentina) so the $1

@@ -3,0 +3,0 @@ // group does not match correctly. Therefore, we use `\d`, so that the first

@@ -1,3 +0,9 @@

import Metadata from '../metadata';
import getNumberType from './getNumberType';
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import Metadata from '../metadata.js';
import getNumberType from './getNumberType.js';
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;

@@ -32,15 +38,4 @@ export default function getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata) {

for (var _iterator = possibleCountries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var country = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(possibleCountries), _step; !(_step = _iterator()).done;) {
var country = _step.value;
metadata.country(country); // Leading digits check would be the simplest and fastest one.

@@ -58,9 +53,9 @@ // Leading digits patterns are only defined for about 20% of all countries.

else if (getNumberType({
phone: nationalPhoneNumber,
country: country
}, undefined, metadata.metadata)) {
return country;
}
phone: nationalPhoneNumber,
country: country
}, undefined, metadata.metadata)) {
return country;
}
}
}
//# sourceMappingURL=getCountryByCallingCode.js.map

@@ -1,2 +0,2 @@

import Metadata from '../metadata';
import Metadata from '../metadata.js';
/**

@@ -3,0 +3,0 @@ * Pattern that makes it easy to distinguish whether a region has a single

@@ -1,3 +0,9 @@

import Metadata from '../metadata';
import matchesEntirely from './matchesEntirely';
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import Metadata from '../metadata.js';
import matchesEntirely from './matchesEntirely.js';
var NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)

@@ -33,5 +39,9 @@

return 'FIXED_LINE_OR_MOBILE';
} // v1 metadata.
// Legacy.
// Deprecated.
} // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.
// For example, for "US" country.
// Old metadata (< `1.0.18`) had a specific "types" data structure
// that happened to be `undefined` for `MOBILE` in that case.
// Newer metadata (>= `1.0.18`) has another data structure that is
// not `undefined` for `MOBILE` in that case (it's just an empty array).
// So this `if` is just for backwards compatibility with old metadata.

@@ -54,4 +64,4 @@

for (var _i = 0, _NON_FIXED_LINE_PHONE = NON_FIXED_LINE_PHONE_TYPES; _i < _NON_FIXED_LINE_PHONE.length; _i++) {
var type = _NON_FIXED_LINE_PHONE[_i];
for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {
var type = _step.value;

@@ -58,0 +68,0 @@ if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {

@@ -1,3 +0,3 @@

import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants';
import createExtensionPattern from './extension/createExtensionPattern'; // Regular expression of viable phone numbers. This is location independent.
import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';
import createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.
// Checks we have at least three leading digits, and only valid punctuation,

@@ -4,0 +4,0 @@ // alpha characters and digits in the phone number. Does not include extension

@@ -1,2 +0,2 @@

import matchesEntirely from './matchesEntirely';
import matchesEntirely from './matchesEntirely.js';
describe('matchesEntirely', function () {

@@ -3,0 +3,0 @@ it('should work in edge cases', function () {

@@ -0,1 +1,7 @@

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
/**

@@ -10,16 +16,5 @@ * Merges two arrays.

for (var _iterator = b, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {
var element = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var element = _ref;
if (a.indexOf(element) < 0) {

@@ -26,0 +21,0 @@ merged.push(element);

@@ -1,2 +0,2 @@

import mergeArrays from './mergeArrays';
import mergeArrays from './mergeArrays.js';
describe('mergeArrays', function () {

@@ -3,0 +3,0 @@ it('should merge arrays', function () {

@@ -0,1 +1,7 @@

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// These mappings map a character (key) to a specific digit that should

@@ -104,15 +110,4 @@ // replace it for normalization purposes. Non-European digits that

for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var character = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {
var character = _step.value;
var digit = parseDigit(character);

@@ -119,0 +114,0 @@

@@ -1,2 +0,2 @@

import parseDigits from './parseDigits';
import parseDigits from './parseDigits.js';
describe('parseDigits', function () {

@@ -3,0 +3,0 @@ it('should parse digits', function () {

@@ -1,11 +0,17 @@

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import isViablePhoneNumber from './isViablePhoneNumber'; // https://www.ietf.org/rfc/rfc3966.txt
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt
/**

@@ -22,16 +28,5 @@ * @param {string} text - Phone URI (RFC 3966).

for (var _iterator = text.split(';'), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {
var part = _step.value;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var part = _ref;
var _part$split = part.split('='),

@@ -82,5 +77,5 @@ _part$split2 = _slicedToArray(_part$split, 2),

export function formatRFC3966(_ref2) {
var number = _ref2.number,
ext = _ref2.ext;
export function formatRFC3966(_ref) {
var number = _ref.number,
ext = _ref.ext;

@@ -87,0 +82,0 @@ if (!number) {

@@ -1,2 +0,2 @@

import { parseRFC3966, formatRFC3966 } from './RFC3966';
import { parseRFC3966, formatRFC3966 } from './RFC3966.js';
describe('RFC3966', function () {

@@ -3,0 +3,0 @@ it('should format', function () {

@@ -1,3 +0,3 @@

import Metadata from '../metadata';
import { VALID_DIGITS } from '../constants';
import Metadata from '../metadata.js';
import { VALID_DIGITS } from '../constants.js';
var CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');

@@ -4,0 +4,0 @@ export default function stripIddPrefix(number, country, callingCode, metadata) {

@@ -1,2 +0,2 @@

import stripIddPrefix from './stripIddPrefix';
import stripIddPrefix from './stripIddPrefix.js';
import metadata from '../../metadata.min.json';

@@ -3,0 +3,0 @@ describe('stripIddPrefix', function () {

@@ -1,3 +0,3 @@

import Metadata from './metadata';
import checkNumberLength from './helpers/checkNumberLength';
import Metadata from './metadata.js';
import checkNumberLength from './helpers/checkNumberLength.js';
export default function isPossiblePhoneNumber(input, options, metadata) {

@@ -35,4 +35,5 @@ /* istanbul ignore if */

}
}
} // Old metadata (< 1.0.18) had no "possible length" data.
if (metadata.possibleLengths()) {

@@ -39,0 +40,0 @@ return isPossibleNumber(input.phone || input.nationalNumber, metadata);

@@ -1,3 +0,3 @@

import { normalizeArguments } from './getNumberType';
import _isPossibleNumber from './isPossibleNumber_';
import { normalizeArguments } from './getNumberType.js';
import _isPossibleNumber from './isPossibleNumber_.js';
/**

@@ -4,0 +4,0 @@ * Checks if a given phone number is possible.

import metadata from '../metadata.min.json';
import _isPossibleNumber from './isPossibleNumber';
import _isPossibleNumber from './isPossibleNumber.js';

@@ -4,0 +4,0 @@ function isPossibleNumber() {

@@ -1,7 +0,9 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { normalizeArguments } from './parsePhoneNumber';
import parsePhoneNumberFromString from './parsePhoneNumberFromString_';
import { normalizeArguments } from './parsePhoneNumber.js';
import parsePhoneNumberFromString from './parsePhoneNumberFromString_.js';
export default function isPossiblePhoneNumber() {

@@ -13,3 +15,3 @@ var _normalizeArguments = normalizeArguments(arguments),

options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
extract: false

@@ -16,0 +18,0 @@ });

@@ -1,3 +0,4 @@

import _isPossiblePhoneNumber from './isPossiblePhoneNumber';
import _isPossiblePhoneNumber from './isPossiblePhoneNumber.js';
import metadata from '../metadata.min.json';
import oldMetadata from '../test/metadata/1.0.0/metadata.min.json';

@@ -26,3 +27,10 @@ function isPossiblePhoneNumber() {

});
it('should detect whether a phone number is possible when using old metadata', function () {
expect(function () {
return _isPossiblePhoneNumber('8 (800) 555 35 35', 'RU', oldMetadata);
}).to["throw"]('Missing "possibleLengths" in metadata.');
_isPossiblePhoneNumber('+888 123 456 78901', oldMetadata).should.equal(true);
});
});
//# sourceMappingURL=isPossiblePhoneNumber.test.js.map

@@ -1,2 +0,2 @@

import isValidNumber from './validate_';
import isValidNumber from './validate_.js';
/**

@@ -3,0 +3,0 @@ * Checks if a given phone number is valid within a given region.

@@ -1,4 +0,4 @@

import isViablePhoneNumber from './helpers/isViablePhoneNumber';
import parseNumber from './parse_';
import _isValidNumberForRegion from './isValidNumberForRegion_';
import isViablePhoneNumber from './helpers/isViablePhoneNumber.js';
import parseNumber from './parse_.js';
import _isValidNumberForRegion from './isValidNumberForRegion_.js';
export default function isValidNumberForRegion(number, country, metadata) {

@@ -5,0 +5,0 @@ if (typeof number !== 'string') {

import metadata from '../metadata.min.json';
import isValidNumberForRegionCustom from './isValidNumberForRegion';
import _isValidNumberForRegion from './isValidNumberForRegion_';
import isValidNumberForRegionCustom from './isValidNumberForRegion.js';
import _isValidNumberForRegion from './isValidNumberForRegion_.js';

@@ -5,0 +5,0 @@ function isValidNumberForRegion() {

@@ -1,7 +0,9 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { normalizeArguments } from './parsePhoneNumber';
import parsePhoneNumberFromString from './parsePhoneNumberFromString_';
import { normalizeArguments } from './parsePhoneNumber.js';
import parsePhoneNumberFromString from './parsePhoneNumberFromString_.js';
export default function isValidPhoneNumber() {

@@ -13,3 +15,3 @@ var _normalizeArguments = normalizeArguments(arguments),

options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
extract: false

@@ -16,0 +18,0 @@ });

@@ -1,2 +0,2 @@

import _isValidPhoneNumber from './isValidPhoneNumber';
import _isValidPhoneNumber from './isValidPhoneNumber.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@

@@ -1,2 +0,2 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }

@@ -7,5 +7,5 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
import compare from './tools/semver-compare'; // Added "possibleLengths" and renamed
import compare from './tools/semver-compare.js'; // Added "possibleLengths" and renamed
// "country_phone_code_to_countries" to "country_calling_codes".

@@ -24,5 +24,3 @@

var Metadata =
/*#__PURE__*/
function () {
var Metadata = /*#__PURE__*/function () {
function Metadata(metadata) {

@@ -53,2 +51,3 @@ _classCallCheck(this, Metadata);

// It's present in metadata generated from `1.7.35` to `1.7.37`.
// The test case could be found by searching for "nonGeographical".

@@ -172,2 +171,6 @@ return this.metadata.nonGeographic || this.metadata.nonGeographical;

// A hacky workaround for old custom metadata (generated before V4).
// In that metadata, there was no concept of "non-geographic" metadata
// so metadata for `001` country code was stored along with other countries.
// The test case can be found by searching for:
// "should work around `nonGeographic` metadata not existing".
var countryCodes = this.countryCallingCodes()[callingCode];

@@ -276,5 +279,3 @@

var NumberingPlan =
/*#__PURE__*/
function () {
var NumberingPlan = /*#__PURE__*/function () {
function NumberingPlan(metadata, globalMetadataObject) {

@@ -323,3 +324,3 @@ _classCallCheck(this, NumberingPlan);

return this.metadata[2];
} // Is always present.
} // "possible length" data is always present in Google's metadata.

@@ -441,5 +442,3 @@ }, {

var Format =
/*#__PURE__*/
function () {
var Format = /*#__PURE__*/function () {
function Format(format, metadata) {

@@ -516,5 +515,3 @@ _classCallCheck(this, Format);

var Type =
/*#__PURE__*/
function () {
var Type = /*#__PURE__*/function () {
function Type(type, metadata) {

@@ -521,0 +518,0 @@ _classCallCheck(this, Type);

@@ -1,5 +0,9 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
import metadata from '../metadata.min.json';
import Metadata, { validateMetadata, getExtPrefix, isSupportedCountry } from './metadata';
import metadataV1 from '../test/metadata/1.0.0/metadata.min.json';
import metadataV2 from '../test/metadata/1.1.11/metadata.min.json';
import metadataV3 from '../test/metadata/1.7.34/metadata.min.json';
import metadataV4 from '../test/metadata/1.7.37/metadata.min.json';
import Metadata, { validateMetadata, getExtPrefix, isSupportedCountry } from './metadata.js';
describe('metadata', function () {

@@ -110,2 +114,63 @@ it('should return undefined for non-defined types', function () {

});
it('should work around `nonGeographical` typo in metadata generated from `1.7.35` to `1.7.37`', function () {
var meta = new Metadata(metadataV4);
meta.selectNumberingPlan('888');
type(meta.nonGeographic()).should.equal('object');
});
it('should work around `nonGeographic` metadata not existing before `1.7.35`', function () {
var meta = new Metadata(metadataV3);
type(meta.getNumberingPlanMetadata('800')).should.equal('object');
type(meta.getNumberingPlanMetadata('000')).should.equal('undefined');
});
it('should work with metadata from version `1.1.11`', function () {
var meta = new Metadata(metadataV2);
meta.selectNumberingPlan('US');
meta.numberingPlan.possibleLengths().should.deep.equal([10]);
meta.numberingPlan.formats().length.should.equal(1);
meta.numberingPlan.nationalPrefix().should.equal('1');
meta.numberingPlan.nationalPrefixForParsing().should.equal('1');
meta.numberingPlan.type('MOBILE').pattern().should.equal('');
meta.selectNumberingPlan('AG');
meta.numberingPlan.leadingDigits().should.equal('268'); // Should've been "268$1" but apparently there was a bug in metadata generator
// and no national prefix transform rules were written.
expect(meta.numberingPlan.nationalPrefixTransformRule()).to.be["null"];
meta.selectNumberingPlan('AF');
meta.numberingPlan.formats()[0].nationalPrefixFormattingRule().should.equal('0$1');
meta.selectNumberingPlan('RU');
meta.numberingPlan.formats()[0].nationalPrefixIsOptionalWhenFormattingInNationalFormat().should.equal(true);
});
it('should work with metadata from version `1.0.0`', function () {
var meta = new Metadata(metadataV1);
meta.selectNumberingPlan('US');
meta.numberingPlan.formats().length.should.equal(1);
meta.numberingPlan.nationalPrefix().should.equal('1');
meta.numberingPlan.nationalPrefixForParsing().should.equal('1');
type(meta.numberingPlan.type('MOBILE')).should.equal('undefined');
meta.selectNumberingPlan('AG');
meta.numberingPlan.leadingDigits().should.equal('268'); // Should've been "268$1" but apparently there was a bug in metadata generator
// and no national prefix transform rules were written.
expect(meta.numberingPlan.nationalPrefixTransformRule()).to.be["null"];
meta.selectNumberingPlan('AF');
meta.numberingPlan.formats()[0].nationalPrefixFormattingRule().should.equal('0$1');
meta.selectNumberingPlan('RU');
meta.numberingPlan.formats()[0].nationalPrefixIsOptionalWhenFormattingInNationalFormat().should.equal(true);
});
it('should work around "ext" data not present in metadata from version `1.0.0`', function () {
var meta = new Metadata(metadataV1);
meta.selectNumberingPlan('GB');
meta.ext().should.equal(' ext. ');
var metaNew = new Metadata(metadata);
metaNew.selectNumberingPlan('GB');
metaNew.ext().should.equal(' x');
});
it('should work around "default IDD prefix" data not present in metadata from version `1.0.0`', function () {
var meta = new Metadata(metadataV1);
meta.selectNumberingPlan('AU');
type(meta.defaultIDDPrefix()).should.equal('undefined');
var metaNew = new Metadata(metadata);
metaNew.selectNumberingPlan('AU');
metaNew.defaultIDDPrefix().should.equal('0011');
});
});

@@ -112,0 +177,0 @@

@@ -5,18 +5,18 @@ // This is a port of Google Android `libphonenumber`'s

// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js
import { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants';
import ParseError from './ParseError';
import Metadata from './metadata';
import isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber';
import extractExtension from './helpers/extension/extractExtension';
import parseIncompletePhoneNumber from './parseIncompletePhoneNumber';
import getCountryCallingCode from './getCountryCallingCode';
import { isPossibleNumber } from './isPossibleNumber_';
import { parseRFC3966 } from './helpers/RFC3966';
import PhoneNumber from './PhoneNumber';
import matchesEntirely from './helpers/matchesEntirely';
import extractCountryCallingCode from './helpers/extractCountryCallingCode';
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';
import extractNationalNumber from './helpers/extractNationalNumber';
import stripIddPrefix from './helpers/stripIddPrefix';
import getCountryByCallingCode from './helpers/getCountryByCallingCode'; // We don't allow input strings for parsing to be longer than 250 chars.
import { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';
import ParseError from './ParseError.js';
import Metadata from './metadata.js';
import isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';
import extractExtension from './helpers/extension/extractExtension.js';
import parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';
import getCountryCallingCode from './getCountryCallingCode.js';
import { isPossibleNumber } from './isPossibleNumber_.js';
import { parseRFC3966 } from './helpers/RFC3966.js';
import PhoneNumber from './PhoneNumber.js';
import matchesEntirely from './helpers/matchesEntirely.js';
import extractCountryCallingCode from './helpers/extractCountryCallingCode.js';
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';
import extractNationalNumber from './helpers/extractNationalNumber.js';
import stripIddPrefix from './helpers/stripIddPrefix.js';
import getCountryByCallingCode from './helpers/getCountryByCallingCode.js'; // We don't allow input strings for parsing to be longer than 250 chars.
// This prevents malicious input from consuming CPU.

@@ -283,17 +283,17 @@

else if (number && (defaultCountry || defaultCallingCode)) {
metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);
metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);
if (defaultCountry) {
country = defaultCountry;
} else {
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {
country = '001';
}
if (defaultCountry) {
country = defaultCountry;
} else {
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {
country = '001';
}
}
}
countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);
} else return {};
countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);
} else return {};

@@ -300,0 +300,0 @@ if (!number) {

@@ -1,3 +0,3 @@

import _parseNumber from './parse_';
import { normalizeArguments } from './parsePhoneNumber'; // `options`:
import _parseNumber from './parse_.js';
import { normalizeArguments } from './parsePhoneNumber.js'; // `options`:
// {

@@ -4,0 +4,0 @@ // country:

import metadata from '../metadata.min.json';
import _parseNumber from './parse';
import Metadata from './metadata';
import _parseNumber from './parse.js';
import Metadata from './metadata.js';

@@ -5,0 +5,0 @@ function parseNumber() {

@@ -0,15 +1,56 @@

function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
// https://stackoverflow.com/a/46971044/970769
var ParseError = function ParseError(code) {
_classCallCheck(this, ParseError);
// "Breaking changes in Typescript 2.1"
// "Extending built-ins like Error, Array, and Map may no longer work."
// "As a recommendation, you can manually adjust the prototype immediately after any super(...) calls."
// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
var ParseError = /*#__PURE__*/function (_Error) {
_inherits(ParseError, _Error);
this.name = this.constructor.name;
this.message = code;
this.stack = new Error(code).stack;
};
var _super = _createSuper(ParseError);
function ParseError(code) {
var _this;
_classCallCheck(this, ParseError);
_this = _super.call(this, code); // Set the prototype explicitly.
// Any subclass of FooError will have to manually set the prototype as well.
Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);
_this.name = _this.constructor.name;
return _this;
}
return _createClass(ParseError);
}( /*#__PURE__*/_wrapNativeSuper(Error));
export { ParseError as default };
ParseError.prototype = Object.create(Error.prototype);
ParseError.prototype.constructor = ParseError;
//# sourceMappingURL=ParseError.js.map

@@ -1,2 +0,8 @@

import { parseDigit } from './helpers/parseDigits';
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import { parseDigit } from './helpers/parseDigits.js';
/**

@@ -26,15 +32,4 @@ * Parses phone number characters from a string.

for (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var character = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {
var character = _step.value;
result += parsePhoneNumberCharacter(character, result) || '';

@@ -41,0 +36,0 @@ }

@@ -1,2 +0,2 @@

import parseIncompletePhoneNumber, { parsePhoneNumberCharacter } from './parseIncompletePhoneNumber';
import parseIncompletePhoneNumber, { parsePhoneNumberCharacter } from './parseIncompletePhoneNumber.js';
describe('parseIncompletePhoneNumber', function () {

@@ -3,0 +3,0 @@ it('should parse phone number character', function () {

@@ -1,8 +0,10 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import parseNumber from './parse_';
import parseNumber from './parse_.js';
export default function parsePhoneNumber(text, options, metadata) {
return parseNumber(text, _objectSpread({}, options, {
return parseNumber(text, _objectSpread(_objectSpread({}, options), {}, {
v2: true

@@ -9,0 +11,0 @@ }), metadata);

@@ -1,16 +0,22 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _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."); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import parsePhoneNumber_ from './parsePhoneNumber_';
import parsePhoneNumber_ from './parsePhoneNumber_.js';
export default function parsePhoneNumber() {

@@ -60,9 +66,9 @@ var _normalizeArguments = normalizeArguments(arguments),

else if (isObject(arg_2)) {
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new Error("Invalid second argument: ".concat(arg_2));
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else {
metadata = arg_2;
}
} else throw new Error("Invalid second argument: ".concat(arg_2));

@@ -69,0 +75,0 @@ return {

@@ -1,2 +0,2 @@

import _parsePhoneNumber from './parsePhoneNumber';
import _parsePhoneNumber from './parsePhoneNumber.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@ import metadataFull from '../metadata.max.json';

@@ -1,12 +0,14 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import parsePhoneNumber from './parsePhoneNumber_';
import ParseError from './ParseError';
import { isSupportedCountry } from './metadata';
import parsePhoneNumber from './parsePhoneNumber_.js';
import ParseError from './ParseError.js';
import { isSupportedCountry } from './metadata.js';
export default function parsePhoneNumberFromString(text, options, metadata) {
// Validate `defaultCountry`.
if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {
options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
defaultCountry: undefined

@@ -13,0 +15,0 @@ });

@@ -1,3 +0,3 @@

import { normalizeArguments } from './parsePhoneNumber';
import parsePhoneNumberFromString_ from './parsePhoneNumberFromString_';
import { normalizeArguments } from './parsePhoneNumber.js';
import parsePhoneNumberFromString_ from './parsePhoneNumberFromString_.js';
export default function parsePhoneNumberFromString() {

@@ -4,0 +4,0 @@ var _normalizeArguments = normalizeArguments(arguments),

@@ -1,2 +0,2 @@

import _parsePhoneNumberFromString from './parsePhoneNumberFromString';
import _parsePhoneNumberFromString from './parsePhoneNumberFromString.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@

@@ -1,3 +0,5 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -9,15 +11,13 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
import Metadata from './metadata';
import isPossibleNumber from './isPossibleNumber_';
import isValidNumber from './validate_';
import isValidNumberForRegion from './isValidNumberForRegion_';
import getNumberType from './helpers/getNumberType';
import formatNumber from './format_';
import Metadata from './metadata.js';
import isPossibleNumber from './isPossibleNumber_.js';
import isValidNumber from './validate_.js';
import isValidNumberForRegion from './isValidNumberForRegion_.js';
import getNumberType from './helpers/getNumberType.js';
import formatNumber from './format_.js';
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
var PhoneNumber =
/*#__PURE__*/
function () {
var PhoneNumber = /*#__PURE__*/function () {
function PhoneNumber(countryCallingCode, nationalNumber, metadata) {

@@ -108,3 +108,3 @@ _classCallCheck(this, PhoneNumber);

value: function format(_format, options) {
return formatNumber(this, _format, options ? _objectSpread({}, options, {
return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {
v2: true

@@ -111,0 +111,0 @@ }) : {

import metadata from '../metadata.min.json';
import PhoneNumber from './PhoneNumber';
import PhoneNumber from './PhoneNumber.js';
describe('PhoneNumber', function () {

@@ -4,0 +4,0 @@ it('should validate constructor arguments', function () {

@@ -1,3 +0,13 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -7,6 +17,4 @@

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
/**

@@ -17,14 +25,14 @@ * A port of Google's `PhoneNumberMatcher.java`.

*/
import PhoneNumber from './PhoneNumber';
import { MAX_LENGTH_FOR_NSN, MAX_LENGTH_COUNTRY_CODE, VALID_PUNCTUATION } from './constants';
import createExtensionPattern from './helpers/extension/createExtensionPattern';
import RegExpCache from './findNumbers/RegExpCache';
import { limit, trimAfterFirstMatch } from './findNumbers/util';
import { _pL, _pN, pZ, PZ, pNd } from './findNumbers/utf-8';
import Leniency from './findNumbers/Leniency';
import parsePreCandidate from './findNumbers/parsePreCandidate';
import isValidPreCandidate from './findNumbers/isValidPreCandidate';
import isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate';
import { isSupportedCountry } from './metadata';
import parseNumber from './parse_';
import PhoneNumber from './PhoneNumber.js';
import { MAX_LENGTH_FOR_NSN, MAX_LENGTH_COUNTRY_CODE, VALID_PUNCTUATION } from './constants.js';
import createExtensionPattern from './helpers/extension/createExtensionPattern.js';
import RegExpCache from './findNumbers/RegExpCache.js';
import { limit, trimAfterFirstMatch } from './findNumbers/util.js';
import { _pL, _pN, pZ, PZ, pNd } from './findNumbers/utf-8.js';
import Leniency from './findNumbers/Leniency.js';
import parsePreCandidate from './findNumbers/parsePreCandidate.js';
import isValidPreCandidate from './findNumbers/isValidPreCandidate.js';
import isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate.js';
import { isSupportedCountry } from './metadata.js';
import parseNumber from './parse_.js';
var EXTN_PATTERNS_FOR_MATCHING = createExtensionPattern('matching');

@@ -110,13 +118,3 @@ /**

var PhoneNumberMatcher =
/*#__PURE__*/
function () {
/** The iteration tristate. */
/** The next index to start searching at. Undefined in {@link State#DONE}. */
// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
var PhoneNumberMatcher = /*#__PURE__*/function () {
/**

@@ -144,9 +142,3 @@ * Creates a new instance. See the factory methods in {@link PhoneNumberUtil} on how to obtain a

_defineProperty(this, "state", 'NOT_READY');
_defineProperty(this, "searchIndex", 0);
_defineProperty(this, "regExpCache", new RegExpCache(32));
options = _objectSpread({}, options, {
options = _objectSpread(_objectSpread({}, options), {}, {
defaultCallingCode: options.defaultCallingCode,

@@ -181,2 +173,13 @@ defaultCountry: options.defaultCountry && isSupportedCountry(options.defaultCountry, metadata) ? options.defaultCountry : undefined,

this.PATTERN = new RegExp(PATTERN, 'ig');
/** The iteration tristate. */
this.state = 'NOT_READY';
/** The next index to start searching at. Undefined in {@link State#DONE}. */
this.searchIndex = 0; // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
this.regExpCache = new RegExpCache(32);
}

@@ -240,4 +243,4 @@ /**

value: function extractInnerMatch(substring, offset, text) {
for (var _i = 0, _INNER_MATCHES = INNER_MATCHES; _i < _INNER_MATCHES.length; _i++) {
var innerMatchPattern = _INNER_MATCHES[_i];
for (var _iterator = _createForOfIteratorHelperLoose(INNER_MATCHES), _step; !(_step = _iterator()).done;) {
var innerMatchPattern = _step.value;
var isFirstMatch = true;

@@ -244,0 +247,0 @@ var candidateMatch = void 0;

@@ -1,2 +0,2 @@

import PhoneNumberMatcher from './PhoneNumberMatcher';
import PhoneNumberMatcher from './PhoneNumberMatcher.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { normalizeArguments } from './parsePhoneNumber';
import PhoneNumberMatcher from './PhoneNumberMatcher';
import { normalizeArguments } from './parsePhoneNumber.js';
import PhoneNumberMatcher from './PhoneNumberMatcher.js';
/**

@@ -6,0 +6,0 @@ * @return ES6 `for ... of` iterator.

@@ -1,2 +0,8 @@

import searchNumbers from './searchNumbers';
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import searchNumbers from './searchNumbers.js';
import metadata from '../metadata.min.json';

@@ -19,15 +25,4 @@ describe('searchNumbers', function () {

for (var _iterator = searchNumbers('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', metadata), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var number = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(searchNumbers('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', metadata)), _step; !(_step = _iterator()).done;) {
var number = _step.value;
number.should.deep.equal(expectedNumbers.shift());

@@ -34,0 +29,0 @@ }

@@ -1,3 +0,3 @@

import searchNumbers from './searchNumbers';
import { getArguments } from './findPhoneNumbersInText';
import searchNumbers from './searchNumbers.js';
import { getArguments } from './findPhoneNumbersInText.js';
export default function searchPhoneNumbersInText(text, defaultCountry, options, metadata) {

@@ -4,0 +4,0 @@ var args = getArguments(defaultCountry, options, metadata);

@@ -1,2 +0,8 @@

import searchPhoneNumbersInText from './searchPhoneNumbersInText';
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import searchPhoneNumbersInText from './searchPhoneNumbersInText.js';
import metadata from '../metadata.min.json';

@@ -7,15 +13,4 @@ describe('searchPhoneNumbersInText', function () {

for (var _iterator = searchPhoneNumbersInText('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', metadata), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var number = _ref;
for (var _iterator = _createForOfIteratorHelperLoose(searchPhoneNumbersInText('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', 'US', metadata)), _step; !(_step = _iterator()).done;) {
var number = _step.value;
number.number.number.should.equal(NUMBERS[0]);

@@ -28,15 +23,4 @@ NUMBERS.shift();

for (var _iterator2 = searchPhoneNumbersInText('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', metadata), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
var number = _ref2;
for (var _iterator2 = _createForOfIteratorHelperLoose(searchPhoneNumbersInText('The number is +7 (800) 555-35-35 and not (213) 373-4253 as written in the document.', metadata)), _step2; !(_step2 = _iterator2()).done;) {
var number = _step2.value;
number.number.number.should.equal(NUMBERS[0]);

@@ -43,0 +27,0 @@ NUMBERS.shift();

@@ -1,2 +0,2 @@

import semverCompare from './semver-compare';
import semverCompare from './semver-compare.js';
describe('semver-compare', function () {

@@ -3,0 +3,0 @@ it('should compare versions', function () {

@@ -1,4 +0,4 @@

import Metadata from './metadata';
import matchesEntirely from './helpers/matchesEntirely';
import getNumberType from './helpers/getNumberType';
import Metadata from './metadata.js';
import matchesEntirely from './helpers/matchesEntirely.js';
import getNumberType from './helpers/getNumberType.js';
/**

@@ -5,0 +5,0 @@ * Checks if a given phone number is valid.

@@ -1,3 +0,3 @@

import _isValidNumber from './validate_';
import { normalizeArguments } from './getNumberType'; // Finds out national phone number type (fixed line, mobile, etc)
import _isValidNumber from './validate_.js';
import { normalizeArguments } from './getNumberType.js'; // Finds out national phone number type (fixed line, mobile, etc)

@@ -4,0 +4,0 @@ export default function isValidNumber() {

import metadata from '../metadata.min.json';
import _isValidNumber from './validate';
import _isValidNumber from './validate.js';

@@ -4,0 +4,0 @@ function isValidNumber() {

@@ -1,10 +0,12 @@

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { normalizeArguments } from './parsePhoneNumber';
import parsePhoneNumber from './parsePhoneNumber_';
import ParseError from './ParseError';
import Metadata from './metadata';
import checkNumberLength from './helpers/checkNumberLength';
import { normalizeArguments } from './parsePhoneNumber.js';
import parsePhoneNumber from './parsePhoneNumber_.js';
import ParseError from './ParseError.js';
import Metadata from './metadata.js';
import checkNumberLength from './helpers/checkNumberLength.js';
export default function validatePhoneNumberLength() {

@@ -16,7 +18,6 @@ var _normalizeArguments = normalizeArguments(arguments),

options = _objectSpread({}, options, {
extract: false // Parse phone number.
options = _objectSpread(_objectSpread({}, options), {}, {
extract: false
}); // Parse phone number.
});
try {

@@ -23,0 +24,0 @@ var phoneNumber = parsePhoneNumber(text, options, metadata);

@@ -1,2 +0,2 @@

import _validatePhoneNumberLength from './validatePhoneNumberLength';
import _validatePhoneNumberLength from './validatePhoneNumberLength.js';
import metadata from '../metadata.min.json';

@@ -3,0 +3,0 @@

'use strict'
var min = require('./min/index.commonjs')
// This file is deprecated.
// It's only for backwards compatibility with Node.js versions < 14.
var min = require('./min/index.commonjs.js')
var metadata = require('./metadata.min.json')

@@ -34,3 +37,3 @@

// `parse()` and `parseNumber()` functions are deprecated.
var parse_ = require('./build/parse').default
var parse_ = require('./build/parse.js').default
exports.parse = function parse() {

@@ -42,3 +45,3 @@ return withMetadata(parse_, arguments)

// `format()` and `formatNumber()` functions are deprecated.
var format_ = require('./build/format').default
var format_ = require('./build/format.js').default
exports.format = function format() {

@@ -50,3 +53,3 @@ return withMetadata(format_, arguments)

// Deprecated.
var getNumberType_ = require('./build/getNumberType').default
var getNumberType_ = require('./build/getNumberType.js').default
exports.getNumberType = function getNumberType() {

@@ -57,3 +60,3 @@ return withMetadata(getNumberType_, arguments)

// Deprecated.
var isPossibleNumber_ = require('./build/isPossibleNumber').default
var isPossibleNumber_ = require('./build/isPossibleNumber.js').default
exports.isPossibleNumber = function isPossibleNumber() {

@@ -64,3 +67,3 @@ return withMetadata(isPossibleNumber_, arguments)

// Deprecated.
var isValidNumber_ = require('./build/validate').default
var isValidNumber_ = require('./build/validate.js').default
exports.isValidNumber = function isValidNumber() {

@@ -71,3 +74,3 @@ return withMetadata(isValidNumber_, arguments)

// Deprecated.
var isValidNumberForRegion_ = require('./build/isValidNumberForRegion').default
var isValidNumberForRegion_ = require('./build/isValidNumberForRegion.js').default
exports.isValidNumberForRegion = function isValidNumberForRegion() {

@@ -81,3 +84,3 @@ return withMetadata(isValidNumberForRegion_, arguments)

// Deprecated.
var findPhoneNumbers_ = require('./build/findPhoneNumbers').default
var findPhoneNumbers_ = require('./build/findPhoneNumbers.js').default
exports.findPhoneNumbers = function findPhoneNumbers() {

@@ -88,3 +91,3 @@ return withMetadata(findPhoneNumbers_, arguments)

// Deprecated.
var searchPhoneNumbers_ = require('./build/findPhoneNumbers').searchPhoneNumbers
var searchPhoneNumbers_ = require('./build/findPhoneNumbers.js').searchPhoneNumbers
exports.searchPhoneNumbers = function searchPhoneNumbers() {

@@ -95,3 +98,3 @@ return withMetadata(searchPhoneNumbers_, arguments)

// Deprecated.
var PhoneNumberSearch_ = require('./build/findPhoneNumbers_').PhoneNumberSearch
var PhoneNumberSearch_ = require('./build/findPhoneNumbers_.js').PhoneNumberSearch
exports.PhoneNumberSearch = function PhoneNumberSearch(text, options) {

@@ -124,3 +127,3 @@ return PhoneNumberSearch_.call(this, text, options, metadata)

// Replaced by `parseDigits()`.
exports.DIGITS = require('./build/helpers/parseDigits').DIGITS
exports.DIGITS = require('./build/helpers/parseDigits.js').DIGITS
exports.DIGIT_PLACEHOLDER = min.DIGIT_PLACEHOLDER

@@ -127,0 +130,0 @@

@@ -1,4 +0,4 @@

import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _findPhoneNumbers from '../es6/findPhoneNumbers'
import _findPhoneNumbers from '../es6/findPhoneNumbers.js'

@@ -5,0 +5,0 @@ export function findPhoneNumbers() {

@@ -1,4 +0,4 @@

import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _format from '../es6/format'
import _format from '../es6/format.js'

@@ -5,0 +5,0 @@ export function format() {

@@ -1,4 +0,4 @@

import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _getNumberType from '../es6/getNumberType'
import _getNumberType from '../es6/getNumberType.js'

@@ -5,0 +5,0 @@ export function getNumberType() {

// Deprecated.
import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _isPossibleNumber from '../es6/isPossibleNumber'
import _isPossibleNumber from '../es6/isPossibleNumber.js'

@@ -7,0 +7,0 @@ export function isPossibleNumber() {

// Deprecated.
import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _isValidNumber from '../es6/validate'
import _isValidNumber from '../es6/validate.js'

@@ -7,0 +7,0 @@ export function isValidNumber() {

@@ -1,4 +0,4 @@

import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _isValidNumberForRegion from '../es6/isValidNumberForRegion'
import _isValidNumberForRegion from '../es6/isValidNumberForRegion.js'

@@ -5,0 +5,0 @@ export function isValidNumberForRegion() {

@@ -1,4 +0,4 @@

import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import _parse from '../es6/parse'
import _parse from '../es6/parse.js'

@@ -5,0 +5,0 @@ export function parse() {

@@ -1,4 +0,4 @@

import metadata from '../min/metadata'
import metadata from '../min/metadata.js'
import { PhoneNumberSearch as _PhoneNumberSearch } from '../es6/findPhoneNumbers_'
import { PhoneNumberSearch as _PhoneNumberSearch } from '../es6/findPhoneNumbers_.js'

@@ -5,0 +5,0 @@ export function PhoneNumberSearch(text, options) {

@@ -1,4 +0,4 @@

import { withMetadata } from '../min/metadata'
import { withMetadata } from '../min/metadata.js'
import { searchPhoneNumbers as _searchPhoneNumbers } from '../es6/findPhoneNumbers'
import { searchPhoneNumbers as _searchPhoneNumbers } from '../es6/findPhoneNumbers.js'

@@ -5,0 +5,0 @@ export function searchPhoneNumbers() {

@@ -1,67 +0,6 @@

// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './min/exports/parsePhoneNumberWithError'
// `parsePhoneNumberFromString()` named export is now considered legacy:
// it has been promoted to a default export due to being too verbose.
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './min/exports/parsePhoneNumberFromString'
// This file is deprecated.
// It's only for backwards compatibility with some old code that might've imported
// the library by a full path of the old `index.es6.js` file. That file was renamed
// to `index.js`.
export { isValidPhoneNumber } from './min/exports/isValidPhoneNumber'
export { isPossiblePhoneNumber } from './min/exports/isPossiblePhoneNumber'
export { validatePhoneNumberLength } from './min/exports/validatePhoneNumberLength'
// Deprecated.
export { findNumbers } from './min/exports/findNumbers'
// Deprecated.
export { searchNumbers } from './min/exports/searchNumbers'
export { findPhoneNumbersInText } from './min/exports/findPhoneNumbersInText'
export { searchPhoneNumbersInText } from './min/exports/searchPhoneNumbersInText'
export { PhoneNumberMatcher } from './min/exports/PhoneNumberMatcher'
export { AsYouType } from './min/exports/AsYouType'
export { DIGIT_PLACEHOLDER } from './es6/AsYouTypeFormatter'
export { isSupportedCountry } from './min/exports/isSupportedCountry'
export { getCountries } from './min/exports/getCountries'
// `getPhoneCode` name is deprecated, use `getCountryCallingCode` instead.
export { getCountryCallingCode, getCountryCallingCode as getPhoneCode } from './min/exports/getCountryCallingCode'
export { getExtPrefix } from './min/exports/getExtPrefix'
export { Metadata } from './min/exports/Metadata'
export { getExampleNumber } from './min/exports/getExampleNumber'
export { formatIncompletePhoneNumber } from './min/exports/formatIncompletePhoneNumber'
export {
ParseError,
parseIncompletePhoneNumber,
parsePhoneNumberCharacter,
parseDigits,
parseRFC3966,
formatRFC3966
} from './core/index'
// Deprecated (old) exports.
export { parse as parseNumber, parse } from './index.es6.exports/parse'
export { format as formatNumber, format } from './index.es6.exports/format'
export { getNumberType } from './index.es6.exports/getNumberType'
export { isPossibleNumber } from './index.es6.exports/isPossibleNumber'
export { isValidNumber } from './index.es6.exports/isValidNumber'
export { isValidNumberForRegion } from './index.es6.exports/isValidNumberForRegion'
export { findPhoneNumbers } from './index.es6.exports/findPhoneNumbers'
export { searchPhoneNumbers } from './index.es6.exports/searchPhoneNumbers'
export { PhoneNumberSearch } from './index.es6.exports/PhoneNumberSearch'
// Deprecated DIGITS export.
// (it was used in `react-phone-number-input`)
export { DIGITS } from './es6/helpers/parseDigits'
// Deprecated "custom" exports.
export { default as parseCustom } from './es6/parse'
export { default as formatCustom } from './es6/format'
export { default as isValidNumberCustom } from './es6/validate'
export { default as findPhoneNumbersCustom } from './es6/findPhoneNumbers'
export { searchPhoneNumbers as searchPhoneNumbersCustom } from './es6/findPhoneNumbers'
export { PhoneNumberSearch as PhoneNumberSearchCustom } from './es6/findPhoneNumbers_'
export { default as getNumberTypeCustom } from './es6/getNumberType'
export { default as getCountryCallingCodeCustom, default as getPhoneCodeCustom } from './es6/getCountryCallingCode'
export { default as AsYouTypeCustom } from './es6/AsYouType'
export * from './index.js'

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { AsYouType as _AsYouType } from '../../core/index'
import metadata from '../metadata.js'
import { AsYouType as _AsYouType } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function AsYouType(country) {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { findNumbers as _findNumbers } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { findNumbers as _findNumbers } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function findNumbers() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function findPhoneNumbersInText() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function formatIncompletePhoneNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getCountries as _getCountries } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getCountries as _getCountries } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getCountries() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getCountryCallingCode as _getCountryCallingCode } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getCountryCallingCode as _getCountryCallingCode } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getCountryCallingCode() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getExampleNumber as _getExampleNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getExampleNumber as _getExampleNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getExampleNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getExtPrefix as _getExtPrefix } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getExtPrefix as _getExtPrefix } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getExtPrefix() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isPossiblePhoneNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isSupportedCountry as _isSupportedCountry } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isSupportedCountry as _isSupportedCountry } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isSupportedCountry() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isValidPhoneNumber() {

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { Metadata as _Metadata } from '../../core/index'
import metadata from '../metadata.js'
import { Metadata as _Metadata } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function Metadata() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function parsePhoneNumberFromString() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function parsePhoneNumberWithError() {

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index'
import metadata from '../metadata.js'
import { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function PhoneNumberMatcher(text, options) {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { searchNumbers as _searchNumbers } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { searchNumbers as _searchNumbers } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function searchNumbers() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function searchPhoneNumbersInText() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { validatePhoneNumberLength as _validatePhoneNumberLength } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { validatePhoneNumberLength as _validatePhoneNumberLength } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function validatePhoneNumberLength() {

// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError'
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError.js'
// `parsePhoneNumberFromString()` named export is now considered legacy:
// it has been promoted to a default export due to being too verbose.
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './exports/parsePhoneNumberFromString'
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './exports/parsePhoneNumberFromString.js'
export { isValidPhoneNumber } from './exports/isValidPhoneNumber'
export { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber'
export { validatePhoneNumberLength } from './exports/validatePhoneNumberLength'
export { isValidPhoneNumber } from './exports/isValidPhoneNumber.js'
export { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber.js'
export { validatePhoneNumberLength } from './exports/validatePhoneNumberLength.js'
// Deprecated.
export { findNumbers } from './exports/findNumbers'
export { findNumbers } from './exports/findNumbers.js'
// Deprecated.
export { searchNumbers } from './exports/searchNumbers'
export { searchNumbers } from './exports/searchNumbers.js'
export { findPhoneNumbersInText } from './exports/findPhoneNumbersInText'
export { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText'
export { PhoneNumberMatcher } from './exports/PhoneNumberMatcher'
export { findPhoneNumbersInText } from './exports/findPhoneNumbersInText.js'
export { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText.js'
export { PhoneNumberMatcher } from './exports/PhoneNumberMatcher.js'
export { AsYouType } from './exports/AsYouType'
export { AsYouType } from './exports/AsYouType.js'
export { isSupportedCountry } from './exports/isSupportedCountry'
export { getCountries } from './exports/getCountries'
export { getCountryCallingCode } from './exports/getCountryCallingCode'
export { getExtPrefix } from './exports/getExtPrefix'
export { isSupportedCountry } from './exports/isSupportedCountry.js'
export { getCountries } from './exports/getCountries.js'
export { getCountryCallingCode } from './exports/getCountryCallingCode.js'
export { getExtPrefix } from './exports/getExtPrefix.js'
export { Metadata } from './exports/Metadata'
export { getExampleNumber } from './exports/getExampleNumber'
export { Metadata } from './exports/Metadata.js'
export { getExampleNumber } from './exports/getExampleNumber.js'
export { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber'
export { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber.js'

@@ -40,2 +40,2 @@ export {

DIGIT_PLACEHOLDER
} from '../core/index'
} from '../core/index.js'

@@ -5,6 +5,14 @@ {

"version": "1.0.0",
"main": "index.commonjs.js",
"main": "index.cjs",
"module": "index.js",
"types": "../min/index.d.ts",
"type": "module",
"exports": {
".": {
"types": "../min/index.d.ts",
"import": "./index.js",
"require": "./index.cjs"
}
},
"sideEffects": false
}

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { AsYouType as _AsYouType } from '../../core/index'
import metadata from '../metadata.js'
import { AsYouType as _AsYouType } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function AsYouType(country) {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { findNumbers as _findNumbers } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { findNumbers as _findNumbers } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function findNumbers() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function findPhoneNumbersInText() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function formatIncompletePhoneNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getCountries as _getCountries } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getCountries as _getCountries } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getCountries() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getCountryCallingCode as _getCountryCallingCode } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getCountryCallingCode as _getCountryCallingCode } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getCountryCallingCode() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getExampleNumber as _getExampleNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getExampleNumber as _getExampleNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getExampleNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getExtPrefix as _getExtPrefix } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getExtPrefix as _getExtPrefix } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getExtPrefix() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isPossiblePhoneNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isSupportedCountry as _isSupportedCountry } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isSupportedCountry as _isSupportedCountry } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isSupportedCountry() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isValidPhoneNumber() {

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { Metadata as _Metadata } from '../../core/index'
import metadata from '../metadata.js'
import { Metadata as _Metadata } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function Metadata() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function parsePhoneNumberFromString() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function parsePhoneNumberWithError() {

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index'
import metadata from '../metadata.js'
import { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function PhoneNumberMatcher(text, options) {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { searchNumbers as _searchNumbers } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { searchNumbers as _searchNumbers } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function searchNumbers() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function searchPhoneNumbersInText() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { validatePhoneNumberLength as _validatePhoneNumberLength } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { validatePhoneNumberLength as _validatePhoneNumberLength } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function validatePhoneNumberLength() {

// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError'
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError.js'
// `parsePhoneNumberFromString()` named export is now considered legacy:
// it has been promoted to a default export due to being too verbose.
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './exports/parsePhoneNumberFromString'
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './exports/parsePhoneNumberFromString.js'
export { isValidPhoneNumber } from './exports/isValidPhoneNumber'
export { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber'
export { validatePhoneNumberLength } from './exports/validatePhoneNumberLength'
export { isValidPhoneNumber } from './exports/isValidPhoneNumber.js'
export { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber.js'
export { validatePhoneNumberLength } from './exports/validatePhoneNumberLength.js'
// Deprecated.
export { findNumbers } from './exports/findNumbers'
export { findNumbers } from './exports/findNumbers.js'
// Deprecated.
export { searchNumbers } from './exports/searchNumbers'
export { searchNumbers } from './exports/searchNumbers.js'
export { findPhoneNumbersInText } from './exports/findPhoneNumbersInText'
export { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText'
export { PhoneNumberMatcher } from './exports/PhoneNumberMatcher'
export { findPhoneNumbersInText } from './exports/findPhoneNumbersInText.js'
export { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText.js'
export { PhoneNumberMatcher } from './exports/PhoneNumberMatcher.js'
export { AsYouType } from './exports/AsYouType'
export { AsYouType } from './exports/AsYouType.js'
export { isSupportedCountry } from './exports/isSupportedCountry'
export { getCountries } from './exports/getCountries'
export { getCountryCallingCode } from './exports/getCountryCallingCode'
export { getExtPrefix } from './exports/getExtPrefix'
export { isSupportedCountry } from './exports/isSupportedCountry.js'
export { getCountries } from './exports/getCountries.js'
export { getCountryCallingCode } from './exports/getCountryCallingCode.js'
export { getExtPrefix } from './exports/getExtPrefix.js'
export { Metadata } from './exports/Metadata'
export { getExampleNumber } from './exports/getExampleNumber'
export { Metadata } from './exports/Metadata.js'
export { getExampleNumber } from './exports/getExampleNumber.js'
export { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber'
export { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber.js'

@@ -40,2 +40,2 @@ export {

DIGIT_PLACEHOLDER
} from '../core/index'
} from '../core/index.js'

@@ -5,5 +5,13 @@ {

"version": "1.0.0",
"main": "index.commonjs.js",
"main": "index.cjs",
"module": "index.js",
"type": "module",
"exports": {
".": {
"types": "../min/index.d.ts",
"import": "./index.js",
"require": "./index.cjs"
}
},
"sideEffects": false
}

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { AsYouType as _AsYouType } from '../../core/index'
import metadata from '../metadata.js'
import { AsYouType as _AsYouType } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function AsYouType(country) {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { findNumbers as _findNumbers } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { findNumbers as _findNumbers } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function findNumbers() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function findPhoneNumbersInText() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function formatIncompletePhoneNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getCountries as _getCountries } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getCountries as _getCountries } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getCountries() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getCountryCallingCode as _getCountryCallingCode } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getCountryCallingCode as _getCountryCallingCode } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getCountryCallingCode() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getExampleNumber as _getExampleNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getExampleNumber as _getExampleNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getExampleNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { getExtPrefix as _getExtPrefix } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { getExtPrefix as _getExtPrefix } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function getExtPrefix() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isPossiblePhoneNumber as _isPossiblePhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isPossiblePhoneNumber() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isSupportedCountry as _isSupportedCountry } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isSupportedCountry as _isSupportedCountry } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isSupportedCountry() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function isValidPhoneNumber() {

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { Metadata as _Metadata } from '../../core/index'
import metadata from '../metadata.js'
import { Metadata as _Metadata } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function Metadata() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function parsePhoneNumberFromString() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function parsePhoneNumberWithError() {

@@ -1,3 +0,3 @@

import metadata from '../metadata'
import { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index'
import metadata from '../metadata.js'
import { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function PhoneNumberMatcher(text, options) {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { searchNumbers as _searchNumbers } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { searchNumbers as _searchNumbers } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function searchNumbers() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function searchPhoneNumbersInText() {

@@ -1,3 +0,3 @@

import { withMetadata } from '../metadata'
import { validatePhoneNumberLength as _validatePhoneNumberLength } from '../../core/index'
import { withMetadata } from '../metadata.js'
import { validatePhoneNumberLength as _validatePhoneNumberLength } from '../../core/index.js'

@@ -4,0 +4,0 @@ export function validatePhoneNumberLength() {

// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError'
export { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError.js'
// `parsePhoneNumberFromString()` named export is now considered legacy:
// it has been promoted to a default export due to being too verbose.
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './exports/parsePhoneNumberFromString'
export { parsePhoneNumberFromString, parsePhoneNumberFromString as default } from './exports/parsePhoneNumberFromString.js'
export { isValidPhoneNumber } from './exports/isValidPhoneNumber'
export { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber'
export { validatePhoneNumberLength } from './exports/validatePhoneNumberLength'
export { isValidPhoneNumber } from './exports/isValidPhoneNumber.js'
export { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber.js'
export { validatePhoneNumberLength } from './exports/validatePhoneNumberLength.js'
// Deprecated.
export { findNumbers } from './exports/findNumbers'
export { findNumbers } from './exports/findNumbers.js'
// Deprecated.
export { searchNumbers } from './exports/searchNumbers'
export { searchNumbers } from './exports/searchNumbers.js'
export { findPhoneNumbersInText } from './exports/findPhoneNumbersInText'
export { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText'
export { PhoneNumberMatcher } from './exports/PhoneNumberMatcher'
export { findPhoneNumbersInText } from './exports/findPhoneNumbersInText.js'
export { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText.js'
export { PhoneNumberMatcher } from './exports/PhoneNumberMatcher.js'
export { AsYouType } from './exports/AsYouType'
export { AsYouType } from './exports/AsYouType.js'
export { isSupportedCountry } from './exports/isSupportedCountry'
export { getCountries } from './exports/getCountries'
export { getCountryCallingCode } from './exports/getCountryCallingCode'
export { getExtPrefix } from './exports/getExtPrefix'
export { isSupportedCountry } from './exports/isSupportedCountry.js'
export { getCountries } from './exports/getCountries.js'
export { getCountryCallingCode } from './exports/getCountryCallingCode.js'
export { getExtPrefix } from './exports/getExtPrefix.js'
export { Metadata } from './exports/Metadata'
export { getExampleNumber } from './exports/getExampleNumber'
export { Metadata } from './exports/Metadata.js'
export { getExampleNumber } from './exports/getExampleNumber.js'
export { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber'
export { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber.js'

@@ -40,2 +40,2 @@ export {

DIGIT_PLACEHOLDER
} from '../core/index'
} from '../core/index.js'

@@ -5,6 +5,14 @@ {

"version": "1.0.0",
"main": "index.commonjs.js",
"main": "index.cjs",
"module": "index.js",
"types": "../min/index.d.ts",
"type": "module",
"exports": {
".": {
"types": "../min/index.d.ts",
"import": "./index.js",
"require": "./index.cjs"
}
},
"sideEffects": false
}
{
"name": "libphonenumber-js",
"version": "1.9.53",
"version": "1.10.0",
"description": "A simpler (and smaller) rewrite of Google Android's libphonenumber library in javascript",
"main": "index.common.js",
"module": "index.es6.js",
"module": "index.js",
"type": "module",
"exports": {
".": {
"types": "./index.d.ts",
"import": "./index.js",
"require": "./index.cjs"
},
"./min": {
"types": "./min/index.d.ts",
"import": "./min/index.js",
"require": "./min/index.commonjs.js"
},
"./max": {
"types": "./min/index.d.ts",
"import": "./max/index.js",
"require": "./max/index.commonjs.js"
},
"./mobile": {
"types": "./min/index.d.ts",
"import": "./mobile/index.js",
"require": "./mobile/index.commonjs.js"
},
"./core": {
"types": "./core/index.d.ts",
"import": "./core/index.js",
"require": "./core/index.commonjs.js"
},
"./metadata.min": {
"types": "./metadata.min.json.d.ts",
"import": "./metadata.min.json.js",
"require": "./metadata.min.json"
},
"./metadata.min.json": {
"types": "./metadata.min.json.d.ts",
"import": "./metadata.min.json.js",
"require": "./metadata.min.json"
},
"./metadata.full": {
"types": "./metadata.max.json.d.ts",
"import": "./metadata.max.json.js",
"require": "./metadata.max.json"
},
"./metadata.full.json": {
"types": "./metadata.max.json.d.ts",
"import": "./metadata.max.json.js",
"require": "./metadata.max.json"
},
"./metadata.max": {
"types": "./metadata.max.json.d.ts",
"import": "./metadata.max.json.js",
"require": "./metadata.max.json"
},
"./metadata.max.json": {
"types": "./metadata.max.json.d.ts",
"import": "./metadata.max.json.js",
"require": "./metadata.max.json"
},
"./metadata.mobile": {
"types": "./metadata.mobile.json.d.ts",
"import": "./metadata.mobile.json.js",
"require": "./metadata.mobile.json"
},
"./metadata.mobile.json": {
"types": "./metadata.mobile.json.d.ts",
"import": "./metadata.mobile.json.js",
"require": "./metadata.mobile.json"
},
"./examples.mobile": {
"types": "./examples.mobile.json.d.ts",
"import": "./examples.mobile.json.js",
"require": "./examples.mobile.json"
},
"./examples.mobile.json": {
"types": "./examples.mobile.json.d.ts",
"import": "./examples.mobile.json.js",
"require": "./examples.mobile.json"
}
},
"sideEffects": false,
"dependencies": {},
"devDependencies": {
"@babel/cli": "^7.4.4",
"@babel/core": "^7.4.5",
"@babel/node": "^7.4.5",
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/plugin-transform-for-of": "^7.4.4",
"@babel/preset-env": "^7.4.5",
"@babel/register": "^7.4.4",
"babel-plugin-istanbul": "^6.0.0",
"chai": "^3.5.0",
"@babel/cli": "^7.17.10",
"@babel/core": "^7.17.12",
"@babel/plugin-transform-for-of": "^7.17.12",
"@babel/preset-env": "^7.17.12",
"@babel/register": "^7.17.7",
"babel-plugin-istanbul": "^6.1.1",
"chai": "^4.3.6",
"crlf": "^1.1.1",
"cross-env": "^5.2.0",
"cross-env": "^7.0.3",
"istanbul": "^1.1.0-alpha.1",
"libphonenumber-metadata-generator": "^1.0.1",
"minimist": "^1.2.5",
"mocha": "^8.1.3",
"npm-run-all": "^1.4.0",
"nyc": "^15.0.1",
"rimraf": "^2.5.0",
"rollup": "^1.31.0",
"minimist": "^1.2.6",
"mocha": "^10.0.0",
"npm-run-all": "^4.1.5",
"nyc": "^15.1.0",
"rimraf": "^3.0.2",
"rollup": "^2.73.0",
"rollup-plugin-json": "^4.0.0",
"rollup-plugin-terser": "^5.2.0"
"rollup-plugin-terser": "^7.0.2"
},
"scripts": {
"metadata:update:job": "git reset --hard && git pull && npm install && npm run metadata:update:release",
"metadata:pull-request": "babel-node runnable/metadata-pull-request",
"metadata:branch": "babel-node runnable/metadata-branch",
"metadata:unbranch": "babel-node runnable/metadata-unbranch",
"metadata:pull-request": "node runnable/metadata-pull-request",
"metadata:branch": "node runnable/metadata-branch",
"metadata:unbranch": "node runnable/metadata-unbranch",
"metadata:publish": "npm version patch && npm publish && git push",
"metadata:update:release": "npm run metadata:download && babel-node runnable/metadata-update-and-release",
"metadata:update:branch": "npm run metadata:branch && npm run metadata:download && babel-node runnable/metadata-update-and-push",
"metadata:update:pull-request": "npm run metadata:branch && npm run metadata:download && babel-node runnable/metadata-update-and-push-and-pull-request",
"metadata:update:release": "npm run metadata:download && node runnable/metadata-update-and-release",
"metadata:update:branch": "npm run metadata:branch && npm run metadata:download && node runnable/metadata-update-and-push",
"metadata:update:pull-request": "npm run metadata:branch && npm run metadata:download && node runnable/metadata-update-and-push-and-pull-request",
"metadata:generate": "npm-run-all metadata:generate:min metadata:generate:full metadata:generate:max metadata:generate:mobile metadata:generate:min:js metadata:generate:full:js metadata:generate:max:js metadata:generate:mobile:js metadata:generate:mobile:examples:js",
"metadata:generate:min": "babel-node -- runnable/generate ../PhoneNumberMetadata.xml ../metadata.min.json --examples mobile",
"metadata:generate:full": "babel-node -- runnable/generate ../PhoneNumberMetadata.xml ../metadata.full.json --extended --debug",
"metadata:generate:max": "babel-node -- runnable/generate ../PhoneNumberMetadata.xml ../metadata.max.json --extended --debug",
"metadata:generate:mobile": "babel-node -- runnable/generate ../PhoneNumberMetadata.xml ../metadata.mobile.json --types mobile",
"metadata:generate:min:js": "babel-node -- runnable/json-to-js ./metadata.min.json",
"metadata:generate:full:js": "babel-node -- runnable/json-to-js ./metadata.full.json",
"metadata:generate:max:js": "babel-node -- runnable/json-to-js ./metadata.max.json",
"metadata:generate:mobile:js": "babel-node -- runnable/json-to-js ./metadata.mobile.json",
"metadata:generate:mobile:examples:js": "babel-node -- runnable/json-to-js ./examples.mobile.json",
"metadata:download": "babel-node runnable/download https://raw.githubusercontent.com/googlei18n/libphonenumber/master/resources/PhoneNumberMetadata.xml PhoneNumberMetadata.xml",
"generate-country-codes": "babel-node -- runnable/generate-country-codes",
"test": "mocha --require @babel/register --colors --bail --reporter spec --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\" --recursive",
"test-coverage": "istanbul cover -x \"build/**\" -x \"es6/**\" -x \"*.test.js\" -x \"source/findNumbers/Leniency.js\" -x \"source/findNumbers/RegExpCache.js\" -x \"source/findNumbers/LRUCache.js\" -x \"source/PhoneNumberMatcher.js\" -x \"source/tools/semver-compare.js\" node_modules/mocha/bin/_mocha -- --require @babel/register --colors --reporter dot --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\" --recursive",
"test-coverage--nyc-is-very-slow-and-is-not-used": "cross-env NODE_ENV=nyc nyc mocha --require @babel/register --bail --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\"",
"metadata:generate:min": "node runnable/generate ../PhoneNumberMetadata.xml ../metadata.min.json --examples mobile",
"metadata:generate:full": "node runnable/generate ../PhoneNumberMetadata.xml ../metadata.full.json --extended --debug",
"metadata:generate:max": "node runnable/generate ../PhoneNumberMetadata.xml ../metadata.max.json --extended --debug",
"metadata:generate:mobile": "node runnable/generate ../PhoneNumberMetadata.xml ../metadata.mobile.json --types mobile",
"metadata:generate:min:js": "node runnable/json-to-js ./metadata.min.json",
"metadata:generate:full:js": "node runnable/json-to-js ./metadata.full.json",
"metadata:generate:max:js": "node runnable/json-to-js ./metadata.max.json",
"metadata:generate:mobile:js": "node runnable/json-to-js ./metadata.mobile.json",
"metadata:generate:mobile:examples:js": "node runnable/json-to-js ./examples.mobile.json",
"metadata:download": "node runnable/download https://raw.githubusercontent.com/googlei18n/libphonenumber/master/resources/PhoneNumberMetadata.xml PhoneNumberMetadata.xml",
"generate-country-codes": "node --experimental-json-modules runnable/generate-country-codes",
"test": "node --experimental-json-modules node_modules/mocha/bin/_mocha --colors --bail --reporter spec --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\" --recursive",
"test-coverage": "npm-run-all build:commonjs test-coverage:commonjs",
"test-coverage:commonjs": "node --experimental-json-modules node_modules/istanbul/lib/cli.js cover -x \"es6/**\" -x \"*.test.js\" -x \"build/findNumbers/Leniency.js\" -x \"build/findNumbers/RegExpCache.js\" -x \"build/findNumbers/LRUCache.js\" -x \"build/PhoneNumberMatcher.js\" -x \"build/tools/semver-compare.js\" node_modules/mocha/bin/_mocha -- --colors --reporter dot --require ./test/setup.js \"build/**/*.test.js\" --recursive",
"test-coverage--does-not-work-with-es-modules": "node --experimental-json-modules node_modules/istanbul/lib/cli.js cover -x \"build/**\" -x \"es6/**\" -x \"*.test.js\" -x \"source/findNumbers/Leniency.js\" -x \"source/findNumbers/RegExpCache.js\" -x \"source/findNumbers/LRUCache.js\" -x \"source/PhoneNumberMatcher.js\" -x \"source/tools/semver-compare.js\" node_modules/mocha/bin/_mocha -- --colors --reporter dot --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\" --recursive",
"test-coverage--nyc--does-not-work-with-es-modules": "cross-env nyc node --experimental-json-modules node_modules/mocha/bin/_mocha --bail --require @babel/register --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\"",
"coveralls--nyc-is-very-slow-and-is-not-used": "nyc report --reporter=text-lcov | coveralls",
"test-travis": "istanbul cover -x \"build/**\" -x \"es6/**\" -x \"*.test.js\" -x \"source/findNumbers/Leniency.js\" -x \"source/findNumbers/RegExpCache.js\" -x \"source/findNumbers/LRUCache.js\" -x \"source/PhoneNumberMatcher.js\" -x \"source/tools/semver-compare.js\" node_modules/mocha/bin/_mocha --report lcovonly -- --require @babel/register --colors --reporter spec --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\" --recursive",
"test-travis": "node --experimental-json-modules node_modules/istanbul/lib/cli.js cover -x \"build/**\" -x \"es6/**\" -x \"*.test.js\" -x \"source/findNumbers/Leniency.js\" -x \"source/findNumbers/RegExpCache.js\" -x \"source/findNumbers/LRUCache.js\" -x \"source/PhoneNumberMatcher.js\" -x \"source/tools/semver-compare.js\" node_modules/mocha/bin/_mocha --report lcovonly -- --colors --reporter spec --require ./test/setup.js \"source/**/*.test.js\" \"test/**/*.test.js\" --recursive",
"clean": "rimraf ./build/**/* ./es6/**/*",
"build:commonjs": "cross-env BABEL_ENV=commonjs babel ./source --out-dir ./build --source-maps --ignore test.js",
"build:commonjs": "npm-run-all build:commonjs:with-tests build:commonjs:package.json",
"build:commonjs:before-es-modules": "cross-env BABEL_ENV=commonjs babel ./source --out-dir ./build --source-maps --ignore test.js",
"build:commonjs:with-tests": "cross-env BABEL_ENV=commonjs babel ./source --out-dir ./build --source-maps",
"build:commonjs:package.json": "node runnable/create-commonjs-package-json.js",
"build:modules": "cross-env BABEL_ENV=es6 babel ./source --out-dir ./es6 --source-maps --ignore test.js",
"build:bundle": "rollup --config rollup.config.js",
"build:bundle": "rollup --config rollup.config.mjs",
"build": "npm-run-all clean build:commonjs build:modules build:bundle",

@@ -63,0 +144,0 @@ "prepublishOnly": "npm run metadata:generate && npm run generate-country-codes && crlf --set=LF metadata.*.json && npm-run-all build test"

@@ -7,2 +7,8 @@ import minimist from 'minimist'

// https://ru.stackoverflow.com/questions/1281148/referenceerror-dirname-is-not-defined
import { fileURLToPath } from 'url'
import { dirname } from 'path'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
// const REGION_CODE_FOR_NON_GEO_ENTITY = '001'

@@ -9,0 +15,0 @@

@@ -1,2 +0,2 @@

var exec = require('./modules/exec')
import exec from './modules/exec.js'

@@ -3,0 +3,0 @@ let metadata_branch_exists = false

@@ -7,5 +7,5 @@ // In order for this script to work:

var update_metadata = require('./modules/update-metadata')
var commit = require('./modules/commit')
var exec = require('./modules/exec')
import update_metadata from './modules/update-metadata.js'
import commit from './modules/commit.js'
import exec from './modules/exec.js'

@@ -12,0 +12,0 @@ if (update_metadata())

@@ -1,4 +0,4 @@

var update_metadata = require('./modules/update-metadata')
var commit = require('./modules/commit')
var exec = require('./modules/exec')
import update_metadata from './modules/update-metadata.js'
import commit from './modules/commit.js'
import exec from './modules/exec.js'

@@ -5,0 +5,0 @@ if (update_metadata())

@@ -1,4 +0,4 @@

var update_metadata = require('./modules/update-metadata')
var commit = require('./modules/commit')
var exec = require('./modules/exec')
import update_metadata from './modules/update-metadata.js'
import commit from './modules/commit.js'
import exec from './modules/exec.js'

@@ -5,0 +5,0 @@ if (update_metadata())

@@ -1,4 +0,4 @@

var exec = require('./exec')
import exec from './exec.js'
module.exports = function()
export default function()
{

@@ -5,0 +5,0 @@ console.log()

@@ -1,6 +0,6 @@

var child_process = require('child_process')
import child_process from 'child_process'
module.exports = function exec(command)
export default function exec(command)
{
return child_process.execSync(command).toString().trim()
}

@@ -1,4 +0,4 @@

var exec = require('./exec')
import exec from './exec.js'
module.exports = function()
export default function()
{

@@ -5,0 +5,0 @@ var metadata_changed = exec('git ls-files --modified PhoneNumberMetadata.xml')

@@ -1,7 +0,7 @@

import Metadata from './metadata'
import PhoneNumber from './PhoneNumber'
import AsYouTypeState from './AsYouTypeState'
import AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter'
import AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser'
import getCountryByCallingCode from './helpers/getCountryByCallingCode'
import Metadata from './metadata.js'
import PhoneNumber from './PhoneNumber.js'
import AsYouTypeState from './AsYouTypeState.js'
import AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js'
import AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js'
import getCountryByCallingCode from './helpers/getCountryByCallingCode.js'

@@ -8,0 +8,0 @@ const USE_NON_GEOGRAPHIC_COUNTRY_CODE = false

import metadata from '../metadata.min.json'
import AsYouType_ from './AsYouType'
import AsYouType_ from './AsYouType.js'

@@ -1333,2 +1333,9 @@ class AsYouType extends AsYouType_ {

})
it('should work for formats with no leading digits (`leadingDigitsPatternsCount === 0`)', function() {
const formatter = new AsYouType({
defaultCallingCode: 888
})
formatter.input('1').should.equal('1')
})
})

@@ -1335,0 +1342,0 @@

@@ -1,4 +0,4 @@

import checkNumberLength from './helpers/checkNumberLength'
import parseDigits from './helpers/parseDigits'
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat'
import checkNumberLength from './helpers/checkNumberLength.js'
import parseDigits from './helpers/parseDigits.js'
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'

@@ -5,0 +5,0 @@ export default function formatCompleteNumber(state, format, {

@@ -9,15 +9,15 @@ import {

populateTemplateWithDigits
} from './AsYouTypeFormatter.util'
} from './AsYouTypeFormatter.util.js'
import formatCompleteNumber, {
canFormatCompleteNumber
} from './AsYouTypeFormatter.complete'
} from './AsYouTypeFormatter.complete.js'
import PatternMatcher from './AsYouTypeFormatter.PatternMatcher'
import PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js'
import parseDigits from './helpers/parseDigits'
export { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util'
import { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat'
import { VALID_PUNCTUATION } from './constants'
import applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle'
import parseDigits from './helpers/parseDigits.js'
export { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js'
import { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js'
import { VALID_PUNCTUATION } from './constants.js'
import applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'

@@ -165,7 +165,7 @@ // Used in phone number format template creation.

metadata: this.metadata,
shouldTryNationalPrefixFormattingRule: format => this.shouldTryNationalPrefixFormattingRule(format, {
shouldTryNationalPrefixFormattingRule: (format) => this.shouldTryNationalPrefixFormattingRule(format, {
international: state.international,
nationalPrefix: state.nationalPrefix
}),
getSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix
getSeparatorAfterNationalPrefix: (format) => this.getSeparatorAfterNationalPrefix(format)
}

@@ -288,2 +288,3 @@ )

// leading digits pattern then it fits.
// The test case could be found by searching for "leadingDigitsPatternsCount === 0".
if (leadingDigitsPatternsCount === 0) {

@@ -359,2 +360,15 @@ return true

// format where a formatting template could be created.
//
// For some weird reason, `istanbul` says "else path not taken"
// for the `for of` line below. Supposedly that means that
// the loop doesn't ever go over the last element in the list.
// That's true because there always is `this.chosenFormat`
// when `this.matchingFormats` is non-empty.
// And, for some weird reason, it doesn't think that the case
// with empty `this.matchingFormats` qualifies for a valid "else" path.
// So simply muting this `istanbul` warning.
// It doesn't skip the contents of the `for of` loop,
// it just skips the `for of` line.
//
/* istanbul ignore next */
for (const format of this.matchingFormats.slice()) {

@@ -441,3 +455,3 @@ // If this format is currently being used

getSeparatorAfterNationalPrefix = (format) => {
getSeparatorAfterNationalPrefix(format) {
// `US` metadata doesn't have a `national_prefix_formatting_rule`,

@@ -691,3 +705,3 @@ // so the `if` condition below doesn't apply to `US`,

shouldTryNationalPrefixFormattingRule = (format, { international, nationalPrefix }) => {
shouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix }) {
if (format.nationalPrefixFormattingRule()) {

@@ -694,0 +708,0 @@ // In some countries, `national_prefix_formatting_rule` is `($1)`,

@@ -1,2 +0,2 @@

import PatternMatcher from './AsYouTypeFormatter.PatternMatcher'
import PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js'

@@ -3,0 +3,0 @@ describe('AsYouTypeFormatter.PatternMatcher', function() {

@@ -1,2 +0,2 @@

import { closeNonPairedParens, stripNonPairedParens, repeat } from './AsYouTypeFormatter.util'
import { closeNonPairedParens, stripNonPairedParens, repeat } from './AsYouTypeFormatter.util.js'

@@ -3,0 +3,0 @@ describe('closeNonPairedParens', () => {

@@ -1,6 +0,6 @@

import extractCountryCallingCode from './helpers/extractCountryCallingCode'
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'
import extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber'
import stripIddPrefix from './helpers/stripIddPrefix'
import parseDigits from './helpers/parseDigits'
import extractCountryCallingCode from './helpers/extractCountryCallingCode.js'
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'
import extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js'
import stripIddPrefix from './helpers/stripIddPrefix.js'
import parseDigits from './helpers/parseDigits.js'

@@ -11,3 +11,3 @@ import {

PLUS_CHARS
} from './constants'
} from './constants.js'

@@ -130,3 +130,6 @@ const VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART =

if (!this.hasExtractedNationalSignificantNumber) {
this.extractNationalSignificantNumber(state.getNationalDigits(), state.update)
this.extractNationalSignificantNumber(
state.getNationalDigits(),
(stateUpdate) => state.update(stateUpdate)
)
}

@@ -324,3 +327,3 @@ }

state.nationalSignificantNumber,
state.update
(stateUpdate) => state.update(stateUpdate)
)) {

@@ -432,3 +435,6 @@ return true

// there won't be yet another retry, so also extract national prefix here.
this.extractNationalSignificantNumber(state.getNationalDigits(), state.update)
this.extractNationalSignificantNumber(
state.getNationalDigits(),
(stateUpdate) => state.update(stateUpdate)
)
}

@@ -435,0 +441,0 @@ }

@@ -25,3 +25,3 @@ export default class AsYouTypeState {

update = (properties) => {
update(properties) {
for (const key of Object.keys(properties)) {

@@ -28,0 +28,0 @@ this[key] = properties[key]

@@ -1,2 +0,2 @@

import PhoneNumberMatcher from './PhoneNumberMatcher'
import PhoneNumberMatcher from './PhoneNumberMatcher.js'

@@ -3,0 +3,0 @@ export default function findNumbers(text, options, metadata) {

@@ -1,3 +0,3 @@

import _findNumbers from './findNumbers_'
import { normalizeArguments } from './parsePhoneNumber'
import _findNumbers from './findNumbers_.js'
import { normalizeArguments } from './parsePhoneNumber.js'

@@ -4,0 +4,0 @@ export default function findNumbers() {

@@ -1,2 +0,2 @@

import findNumbers from './findNumbers'
import findNumbers from './findNumbers.js'
import metadata from '../metadata.max.json'

@@ -3,0 +3,0 @@

// Copy-pasted from `PhoneNumberMatcher.js`.
import { PLUS_CHARS } from '../constants'
import { limit } from './util'
import { PLUS_CHARS } from '../constants.js'
import { limit } from './util.js'

@@ -9,3 +9,3 @@ import {

isInvalidPunctuationSymbol
} from './utf-8'
} from './utf-8.js'

@@ -12,0 +12,0 @@ const OPENING_PARENS = '(\\[\uFF08\uFF3B'

@@ -1,3 +0,3 @@

import isValidNumber from '../validate_'
import parseDigits from '../helpers/parseDigits'
import isValidNumber from '../validate_.js'
import parseDigits from '../helpers/parseDigits.js'

@@ -7,3 +7,3 @@ import {

endsWith
} from './util'
} from './util.js'

@@ -10,0 +10,0 @@ /**

/*
import
{
containsMoreThanOneSlashInNationalNumber
}
from './Leniency'
import { containsMoreThanOneSlashInNationalNumber } from './Leniency.js'
describe('Leniency', () =>
{
it('testContainsMoreThanOneSlashInNationalNumber', () =>
{
describe('Leniency', () => {
it('testContainsMoreThanOneSlashInNationalNumber', () => {
// A date should return true.

@@ -13,0 +7,0 @@ number.setCountryCode(1)

@@ -1,2 +0,2 @@

import { trimAfterFirstMatch } from './util'
import { trimAfterFirstMatch } from './util.js'

@@ -3,0 +3,0 @@ // Regular expression of characters typically used to start a second phone number for the purposes

@@ -1,2 +0,2 @@

import LRUCache from './LRUCache'
import LRUCache from './LRUCache.js'

@@ -3,0 +3,0 @@ // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3

@@ -1,3 +0,2 @@

import
{
import {
limit,

@@ -7,4 +6,3 @@ trimAfterFirstMatch,

endsWith
}
from './util'
} from './util.js'

@@ -11,0 +9,0 @@ describe('findNumbers/util', () =>

@@ -9,11 +9,11 @@ // This is a legacy function.

WHITESPACE
} from './constants'
} from './constants.js'
import parse from './parse_'
import { VALID_PHONE_NUMBER_WITH_EXTENSION } from './helpers/isViablePhoneNumber'
import createExtensionPattern from './helpers/extension/createExtensionPattern'
import parse from './parse_.js'
import { VALID_PHONE_NUMBER_WITH_EXTENSION } from './helpers/isViablePhoneNumber.js'
import createExtensionPattern from './helpers/extension/createExtensionPattern.js'
import parsePreCandidate from './findNumbers/parsePreCandidate'
import isValidPreCandidate from './findNumbers/isValidPreCandidate'
import isValidCandidate from './findNumbers/isValidCandidate'
import parsePreCandidate from './findNumbers/parsePreCandidate.js'
import isValidPreCandidate from './findNumbers/isValidPreCandidate.js'
import isValidCandidate from './findNumbers/isValidCandidate.js'

@@ -93,5 +93,2 @@ /**

export class PhoneNumberSearch {
// Iteration tristate.
state = 'NOT_READY'
constructor(text, options, metadata) {

@@ -104,2 +101,5 @@ this.text = text

// Iteration tristate.
this.state = 'NOT_READY'
this.regexp = new RegExp(VALID_PHONE_NUMBER_WITH_EXTENSION, 'ig')

@@ -106,0 +106,0 @@ }

// This is a legacy function.
// Use `findNumbers()` instead.
import _findPhoneNumbers, { searchPhoneNumbers as _searchPhoneNumbers } from './findPhoneNumbers_'
import { normalizeArguments } from './parsePhoneNumber'
import _findPhoneNumbers, { searchPhoneNumbers as _searchPhoneNumbers } from './findPhoneNumbers_.js'
import { normalizeArguments } from './parsePhoneNumber.js'

@@ -7,0 +7,0 @@ export default function findPhoneNumbers()

// This is a legacy function.
// Use `findNumbers()` instead.
import findNumbers, { searchPhoneNumbers } from './findPhoneNumbers'
import { PhoneNumberSearch } from './findPhoneNumbers_'
import findNumbers, { searchPhoneNumbers } from './findPhoneNumbers.js'
import { PhoneNumberSearch } from './findPhoneNumbers_.js'
import metadata from '../metadata.min.json'

@@ -7,0 +7,0 @@

@@ -1,2 +0,2 @@

import findNumbers from './findNumbers'
import findNumbers from './findNumbers.js'

@@ -3,0 +3,0 @@ export default function findPhoneNumbersInText(text, defaultCountry, options, metadata) {

@@ -1,2 +0,2 @@

import findPhoneNumbersInText from './findPhoneNumbersInText'
import findPhoneNumbersInText from './findPhoneNumbersInText.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -6,7 +6,7 @@ // This is a port of Google Android `libphonenumber`'s

import matchesEntirely from './helpers/matchesEntirely'
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat'
import Metadata, { getCountryCallingCode } from './metadata'
import getIddPrefix from './helpers/getIddPrefix'
import { formatRFC3966 } from './helpers/RFC3966'
import matchesEntirely from './helpers/matchesEntirely.js'
import formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'
import Metadata, { getCountryCallingCode } from './metadata.js'
import getIddPrefix from './helpers/getIddPrefix.js'
import { formatRFC3966 } from './helpers/RFC3966.js'

@@ -132,3 +132,5 @@ const DEFAULT_OPTIONS = {

for (const format of availableFormats) {
// Validate leading digits
// Validate leading digits.
// The test case for "else path" could be found by searching for
// "format.leadingDigitsPatterns().length === 0".
if (format.leadingDigitsPatterns().length > 0) {

@@ -135,0 +137,0 @@ // The last leading_digits_pattern is used here, as it is the most detailed

@@ -1,3 +0,3 @@

import _formatNumber from './format_'
import parse from './parse_'
import _formatNumber from './format_.js'
import parse from './parse_.js'

@@ -4,0 +4,0 @@ export default function formatNumber()

import metadata from '../metadata.min.json'
import _formatNumber from './format'
import _formatNumber from './format.js'

@@ -27,2 +27,11 @@ function formatNumber(...parameters) {

it('should support legacy "National" / "International" formats', () => {
formatNumber('2133734253', 'US', 'National').should.equal('(213) 373-4253')
formatNumber('2133734253', 'US', 'International').should.equal('+1 213 373 4253')
})
it('should format using formats with no leading digits (`format.leadingDigitsPatterns().length === 0`)', () => {
formatNumber({ phone: '12345678901', countryCallingCode: 888 }, 'INTERNATIONAL').should.equal('+888 123 456 78901')
})
it('should sort out the arguments', () => {

@@ -29,0 +38,0 @@ const options = {

@@ -1,2 +0,2 @@

import AsYouType from './AsYouType'
import AsYouType from './AsYouType.js'

@@ -3,0 +3,0 @@ /**

@@ -1,2 +0,2 @@

import formatIncompletePhoneNumber from './formatIncompletePhoneNumber'
import formatIncompletePhoneNumber from './formatIncompletePhoneNumber.js'

@@ -3,0 +3,0 @@ import metadata from '../metadata.min.json'

@@ -7,7 +7,7 @@ // This function is copy-pasted from

import Metadata from './metadata'
import format from './format_'
import getNumberType from './helpers/getNumberType'
import checkNumberLength from './helpers/checkNumberLength'
import getCountryCallingCode from './getCountryCallingCode'
import Metadata from './metadata.js'
import format from './format_.js'
import getNumberType from './helpers/getNumberType.js'
import checkNumberLength from './helpers/checkNumberLength.js'
import getCountryCallingCode from './getCountryCallingCode.js'

@@ -14,0 +14,0 @@ const REGION_CODE_FOR_NON_GEO_ENTITY = '001'

@@ -1,2 +0,2 @@

import Metadata from './metadata'
import Metadata from './metadata.js'

@@ -3,0 +3,0 @@ export default function getCountries(metadata) {

import metadata from '../metadata.min.json'
import getCountries from './getCountries'
import getCountries from './getCountries.js'

@@ -5,0 +5,0 @@ describe('getCountries', () => {

// Deprecated. Import from 'metadata.js' directly instead.
export { getCountryCallingCode as default } from './metadata'
export { getCountryCallingCode as default } from './metadata.js'
import metadata from '../metadata.min.json'
import getCountryCallingCode from './getCountryCallingCode'
import getCountryCallingCode from './getCountryCallingCode.js'

@@ -5,0 +5,0 @@ describe('getCountryCallingCode', () => {

@@ -1,2 +0,2 @@

import PhoneNumber from './PhoneNumber'
import PhoneNumber from './PhoneNumber.js'

@@ -3,0 +3,0 @@ export default function getExampleNumber(country, examples, metadata) {

import examples from '../examples.mobile.json'
import metadata from '../metadata.min.json'
import getExampleNumber from './getExampleNumber'
import getExampleNumber from './getExampleNumber.js'

@@ -5,0 +5,0 @@ describe('getExampleNumber', () => {

@@ -1,4 +0,4 @@

import isViablePhoneNumber from './helpers/isViablePhoneNumber'
import _getNumberType from './helpers/getNumberType'
import parse from './parse_'
import isViablePhoneNumber from './helpers/isViablePhoneNumber.js'
import _getNumberType from './helpers/getNumberType.js'
import parse from './parse_.js'

@@ -5,0 +5,0 @@ // Finds out national phone number type (fixed line, mobile, etc)

import metadata from '../metadata.max.json'
import Metadata from './metadata'
import _getNumberType from './getNumberType'
import Metadata from './metadata.js'
import _getNumberType from './getNumberType.js'

@@ -5,0 +5,0 @@ function getNumberType(...parameters) {

@@ -1,2 +0,2 @@

import { VALID_PUNCTUATION } from '../constants'
import { VALID_PUNCTUATION } from '../constants.js'

@@ -3,0 +3,0 @@ // Removes brackets and replaces dashes with spaces.

@@ -1,2 +0,2 @@

import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle'
import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'

@@ -3,0 +3,0 @@ describe('applyInternationalSeparatorStyle', () => {

@@ -1,2 +0,2 @@

import mergeArrays from './mergeArrays'
import mergeArrays from './mergeArrays.js'

@@ -3,0 +3,0 @@ export default function checkNumberLength(nationalNumber, metadata) {

@@ -0,5 +1,7 @@

import Metadata from '../metadata.js'
import metadata from '../../metadata.max.json'
import Metadata from '../metadata'
import { checkNumberLengthForType } from './checkNumberLength'
import oldMetadata from '../../test/metadata/1.0.0/metadata.min.json'
import { checkNumberLengthForType } from './checkNumberLength.js'
describe('checkNumberLength', () => {

@@ -26,2 +28,8 @@ it('should check phone number length', () => {

})
it('should work for old metadata', function() {
const _oldMetadata = new Metadata(oldMetadata)
_oldMetadata.country('RU')
checkNumberLengthForType('8005553535', 'FIXED_LINE', _oldMetadata).should.equal('IS_POSSIBLE')
})
})

@@ -28,0 +36,0 @@

@@ -1,2 +0,2 @@

import { VALID_DIGITS } from '../../constants'
import { VALID_DIGITS } from '../../constants.js'

@@ -3,0 +3,0 @@ // The RFC 3966 format for extensions.

@@ -1,2 +0,2 @@

import createExtensionPattern from './createExtensionPattern'
import createExtensionPattern from './createExtensionPattern.js'

@@ -3,0 +3,0 @@ // Regexp of all known extension prefixes used by different regions followed by

@@ -1,5 +0,5 @@

import stripIddPrefix from './stripIddPrefix'
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'
import Metadata from '../metadata'
import { MAX_LENGTH_COUNTRY_CODE } from '../constants'
import stripIddPrefix from './stripIddPrefix.js'
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'
import Metadata from '../metadata.js'
import { MAX_LENGTH_COUNTRY_CODE } from '../constants.js'

@@ -6,0 +6,0 @@ /**

@@ -1,2 +0,2 @@

import extractCountryCallingCode from './extractCountryCallingCode'
import extractCountryCallingCode from './extractCountryCallingCode.js'
import metadata from '../../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -1,6 +0,6 @@

import Metadata from '../metadata'
import matchesEntirely from './matchesEntirely'
import extractNationalNumber from './extractNationalNumber'
import checkNumberLength from './checkNumberLength'
import getCountryCallingCode from '../getCountryCallingCode'
import Metadata from '../metadata.js'
import matchesEntirely from './matchesEntirely.js'
import extractNationalNumber from './extractNationalNumber.js'
import checkNumberLength from './checkNumberLength.js'
import getCountryCallingCode from '../getCountryCallingCode.js'

@@ -7,0 +7,0 @@ /**

@@ -1,4 +0,4 @@

import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber'
import matchesEntirely from './matchesEntirely'
import checkNumberLength from './checkNumberLength'
import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js'
import matchesEntirely from './matchesEntirely.js'
import checkNumberLength from './checkNumberLength.js'

@@ -5,0 +5,0 @@ /**

@@ -1,4 +0,4 @@

import Metadata from '../metadata'
import Metadata from '../metadata.js'
import metadata from '../../metadata.min.json'
import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber'
import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js'

@@ -5,0 +5,0 @@ describe('extractNationalNumberFromPossiblyIncompleteNumber', () => {

@@ -1,2 +0,2 @@

import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle'
import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'

@@ -3,0 +3,0 @@ // This was originally set to $1 but there are some countries for which the

@@ -1,3 +0,3 @@

import Metadata from '../metadata'
import getNumberType from './getNumberType'
import Metadata from '../metadata.js'
import getNumberType from './getNumberType.js'

@@ -4,0 +4,0 @@ const USE_NON_GEOGRAPHIC_COUNTRY_CODE = false

@@ -1,2 +0,2 @@

import Metadata from '../metadata'
import Metadata from '../metadata.js'

@@ -3,0 +3,0 @@ /**

@@ -1,3 +0,3 @@

import Metadata from '../metadata'
import matchesEntirely from './matchesEntirely'
import Metadata from '../metadata.js'
import matchesEntirely from './matchesEntirely.js'

@@ -53,5 +53,9 @@ const NON_FIXED_LINE_PHONE_TYPES = [

// v1 metadata.
// Legacy.
// Deprecated.
// `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.
// For example, for "US" country.
// Old metadata (< `1.0.18`) had a specific "types" data structure
// that happened to be `undefined` for `MOBILE` in that case.
// Newer metadata (>= `1.0.18`) has another data structure that is
// not `undefined` for `MOBILE` in that case (it's just an empty array).
// So this `if` is just for backwards compatibility with old metadata.
if (!metadata.type('MOBILE')) {

@@ -58,0 +62,0 @@ return 'FIXED_LINE_OR_MOBILE'

@@ -6,5 +6,5 @@ import {

PLUS_CHARS
} from '../constants'
} from '../constants.js'
import createExtensionPattern from './extension/createExtensionPattern'
import createExtensionPattern from './extension/createExtensionPattern.js'

@@ -11,0 +11,0 @@ // Regular expression of viable phone numbers. This is location independent.

@@ -1,2 +0,2 @@

import matchesEntirely from './matchesEntirely'
import matchesEntirely from './matchesEntirely.js'

@@ -3,0 +3,0 @@ describe('matchesEntirely', () => {

@@ -1,2 +0,2 @@

import mergeArrays from './mergeArrays'
import mergeArrays from './mergeArrays.js'

@@ -3,0 +3,0 @@ describe('mergeArrays', () => {

@@ -1,2 +0,2 @@

import parseDigits from './parseDigits'
import parseDigits from './parseDigits.js'

@@ -3,0 +3,0 @@ describe('parseDigits', () => {

@@ -1,2 +0,2 @@

import isViablePhoneNumber from './isViablePhoneNumber'
import isViablePhoneNumber from './isViablePhoneNumber.js'

@@ -3,0 +3,0 @@ // https://www.ietf.org/rfc/rfc3966.txt

@@ -1,2 +0,2 @@

import { parseRFC3966, formatRFC3966 } from './RFC3966'
import { parseRFC3966, formatRFC3966 } from './RFC3966.js'

@@ -3,0 +3,0 @@ describe('RFC3966', () => {

@@ -1,3 +0,3 @@

import Metadata from '../metadata'
import { VALID_DIGITS } from '../constants'
import Metadata from '../metadata.js'
import { VALID_DIGITS } from '../constants.js'

@@ -4,0 +4,0 @@ const CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])')

@@ -1,2 +0,2 @@

import stripIddPrefix from './stripIddPrefix'
import stripIddPrefix from './stripIddPrefix.js'

@@ -3,0 +3,0 @@ import metadata from '../../metadata.min.json'

@@ -1,3 +0,3 @@

import Metadata from './metadata'
import checkNumberLength from './helpers/checkNumberLength'
import Metadata from './metadata.js'
import checkNumberLength from './helpers/checkNumberLength.js'

@@ -34,2 +34,3 @@ export default function isPossiblePhoneNumber(input, options, metadata) {

// Old metadata (< 1.0.18) had no "possible length" data.
if (metadata.possibleLengths()) {

@@ -36,0 +37,0 @@ return isPossibleNumber(input.phone || input.nationalNumber, metadata)

@@ -1,3 +0,3 @@

import { normalizeArguments } from './getNumberType'
import _isPossibleNumber from './isPossibleNumber_'
import { normalizeArguments } from './getNumberType.js'
import _isPossibleNumber from './isPossibleNumber_.js'

@@ -4,0 +4,0 @@ /**

import metadata from '../metadata.min.json'
import _isPossibleNumber from './isPossibleNumber'
import _isPossibleNumber from './isPossibleNumber.js'

@@ -4,0 +4,0 @@ function isPossibleNumber(...parameters) {

@@ -1,3 +0,3 @@

import { normalizeArguments } from './parsePhoneNumber'
import parsePhoneNumberFromString from './parsePhoneNumberFromString_'
import { normalizeArguments } from './parsePhoneNumber.js'
import parsePhoneNumberFromString from './parsePhoneNumberFromString_.js'

@@ -4,0 +4,0 @@ export default function isPossiblePhoneNumber() {

@@ -1,3 +0,4 @@

import _isPossiblePhoneNumber from './isPossiblePhoneNumber'
import _isPossiblePhoneNumber from './isPossiblePhoneNumber.js'
import metadata from '../metadata.min.json'
import oldMetadata from '../test/metadata/1.0.0/metadata.min.json'

@@ -20,2 +21,8 @@ function isPossiblePhoneNumber(...parameters) {

})
it('should detect whether a phone number is possible when using old metadata', () => {
expect(() => _isPossiblePhoneNumber('8 (800) 555 35 35', 'RU', oldMetadata))
.to.throw('Missing "possibleLengths" in metadata.')
_isPossiblePhoneNumber('+888 123 456 78901', oldMetadata).should.equal(true)
})
})

@@ -1,2 +0,2 @@

import isValidNumber from './validate_'
import isValidNumber from './validate_.js'

@@ -3,0 +3,0 @@ /**

@@ -1,4 +0,4 @@

import isViablePhoneNumber from './helpers/isViablePhoneNumber'
import parseNumber from './parse_'
import _isValidNumberForRegion from './isValidNumberForRegion_'
import isViablePhoneNumber from './helpers/isViablePhoneNumber.js'
import parseNumber from './parse_.js'
import _isValidNumberForRegion from './isValidNumberForRegion_.js'

@@ -5,0 +5,0 @@ export default function isValidNumberForRegion(number, country, metadata) {

import metadata from '../metadata.min.json'
import isValidNumberForRegionCustom from './isValidNumberForRegion'
import _isValidNumberForRegion from './isValidNumberForRegion_'
import isValidNumberForRegionCustom from './isValidNumberForRegion.js'
import _isValidNumberForRegion from './isValidNumberForRegion_.js'

@@ -5,0 +5,0 @@ function isValidNumberForRegion(...parameters) {

@@ -1,3 +0,3 @@

import { normalizeArguments } from './parsePhoneNumber'
import parsePhoneNumberFromString from './parsePhoneNumberFromString_'
import { normalizeArguments } from './parsePhoneNumber.js'
import parsePhoneNumberFromString from './parsePhoneNumberFromString_.js'

@@ -4,0 +4,0 @@ export default function isValidPhoneNumber() {

@@ -1,2 +0,2 @@

import _isValidPhoneNumber from './isValidPhoneNumber'
import _isValidPhoneNumber from './isValidPhoneNumber.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -1,2 +0,2 @@

import compare from './tools/semver-compare'
import compare from './tools/semver-compare.js'

@@ -39,2 +39,3 @@ // Added "possibleLengths" and renamed

// It's present in metadata generated from `1.7.35` to `1.7.37`.
// The test case could be found by searching for "nonGeographical".
return this.metadata.nonGeographic || this.metadata.nonGeographical

@@ -137,2 +138,6 @@ }

// A hacky workaround for old custom metadata (generated before V4).
// In that metadata, there was no concept of "non-geographic" metadata
// so metadata for `001` country code was stored along with other countries.
// The test case can be found by searching for:
// "should work around `nonGeographic` metadata not existing".
const countryCodes = this.countryCallingCodes()[callingCode]

@@ -258,3 +263,3 @@ if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {

// Is always present.
// "possible length" data is always present in Google's metadata.
possibleLengths() {

@@ -261,0 +266,0 @@ if (this.v1) return

import metadata from '../metadata.min.json'
import metadataV1 from '../test/metadata/1.0.0/metadata.min.json'
import metadataV2 from '../test/metadata/1.1.11/metadata.min.json'
import metadataV3 from '../test/metadata/1.7.34/metadata.min.json'
import metadataV4 from '../test/metadata/1.7.37/metadata.min.json'
import Metadata, { validateMetadata, getExtPrefix, isSupportedCountry } from './metadata'
import Metadata, { validateMetadata, getExtPrefix, isSupportedCountry } from './metadata.js'

@@ -78,2 +82,79 @@ describe('metadata', () => {

})
it('should work around `nonGeographical` typo in metadata generated from `1.7.35` to `1.7.37`', function() {
const meta = new Metadata(metadataV4)
meta.selectNumberingPlan('888')
type(meta.nonGeographic()).should.equal('object')
})
it('should work around `nonGeographic` metadata not existing before `1.7.35`', function() {
const meta = new Metadata(metadataV3)
type(meta.getNumberingPlanMetadata('800')).should.equal('object')
type(meta.getNumberingPlanMetadata('000')).should.equal('undefined')
})
it('should work with metadata from version `1.1.11`', function() {
const meta = new Metadata(metadataV2)
meta.selectNumberingPlan('US')
meta.numberingPlan.possibleLengths().should.deep.equal([10])
meta.numberingPlan.formats().length.should.equal(1)
meta.numberingPlan.nationalPrefix().should.equal('1')
meta.numberingPlan.nationalPrefixForParsing().should.equal('1')
meta.numberingPlan.type('MOBILE').pattern().should.equal('')
meta.selectNumberingPlan('AG')
meta.numberingPlan.leadingDigits().should.equal('268')
// Should've been "268$1" but apparently there was a bug in metadata generator
// and no national prefix transform rules were written.
expect(meta.numberingPlan.nationalPrefixTransformRule()).to.be.null
meta.selectNumberingPlan('AF')
meta.numberingPlan.formats()[0].nationalPrefixFormattingRule().should.equal('0$1')
meta.selectNumberingPlan('RU')
meta.numberingPlan.formats()[0].nationalPrefixIsOptionalWhenFormattingInNationalFormat().should.equal(true)
})
it('should work with metadata from version `1.0.0`', function() {
const meta = new Metadata(metadataV1)
meta.selectNumberingPlan('US')
meta.numberingPlan.formats().length.should.equal(1)
meta.numberingPlan.nationalPrefix().should.equal('1')
meta.numberingPlan.nationalPrefixForParsing().should.equal('1')
type(meta.numberingPlan.type('MOBILE')).should.equal('undefined')
meta.selectNumberingPlan('AG')
meta.numberingPlan.leadingDigits().should.equal('268')
// Should've been "268$1" but apparently there was a bug in metadata generator
// and no national prefix transform rules were written.
expect(meta.numberingPlan.nationalPrefixTransformRule()).to.be.null
meta.selectNumberingPlan('AF')
meta.numberingPlan.formats()[0].nationalPrefixFormattingRule().should.equal('0$1')
meta.selectNumberingPlan('RU')
meta.numberingPlan.formats()[0].nationalPrefixIsOptionalWhenFormattingInNationalFormat().should.equal(true)
})
it('should work around "ext" data not present in metadata from version `1.0.0`', function() {
const meta = new Metadata(metadataV1)
meta.selectNumberingPlan('GB')
meta.ext().should.equal(' ext. ')
const metaNew = new Metadata(metadata)
metaNew.selectNumberingPlan('GB')
metaNew.ext().should.equal(' x')
})
it('should work around "default IDD prefix" data not present in metadata from version `1.0.0`', function() {
const meta = new Metadata(metadataV1)
meta.selectNumberingPlan('AU')
type(meta.defaultIDDPrefix()).should.equal('undefined')
const metaNew = new Metadata(metadata)
metaNew.selectNumberingPlan('AU')
metaNew.defaultIDDPrefix().should.equal('0011')
})
})

@@ -80,0 +161,0 @@

@@ -11,19 +11,19 @@ // This is a port of Google Android `libphonenumber`'s

MAX_LENGTH_FOR_NSN
} from './constants'
} from './constants.js'
import ParseError from './ParseError'
import Metadata from './metadata'
import isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber'
import extractExtension from './helpers/extension/extractExtension'
import parseIncompletePhoneNumber from './parseIncompletePhoneNumber'
import getCountryCallingCode from './getCountryCallingCode'
import { isPossibleNumber } from './isPossibleNumber_'
import { parseRFC3966 } from './helpers/RFC3966'
import PhoneNumber from './PhoneNumber'
import matchesEntirely from './helpers/matchesEntirely'
import extractCountryCallingCode from './helpers/extractCountryCallingCode'
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'
import extractNationalNumber from './helpers/extractNationalNumber'
import stripIddPrefix from './helpers/stripIddPrefix'
import getCountryByCallingCode from './helpers/getCountryByCallingCode'
import ParseError from './ParseError.js'
import Metadata from './metadata.js'
import isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js'
import extractExtension from './helpers/extension/extractExtension.js'
import parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js'
import getCountryCallingCode from './getCountryCallingCode.js'
import { isPossibleNumber } from './isPossibleNumber_.js'
import { parseRFC3966 } from './helpers/RFC3966.js'
import PhoneNumber from './PhoneNumber.js'
import matchesEntirely from './helpers/matchesEntirely.js'
import extractCountryCallingCode from './helpers/extractCountryCallingCode.js'
import extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'
import extractNationalNumber from './helpers/extractNationalNumber.js'
import stripIddPrefix from './helpers/stripIddPrefix.js'
import getCountryByCallingCode from './helpers/getCountryByCallingCode.js'

@@ -30,0 +30,0 @@ // We don't allow input strings for parsing to be longer than 250 chars.

@@ -1,3 +0,3 @@

import _parseNumber from './parse_'
import { normalizeArguments } from './parsePhoneNumber'
import _parseNumber from './parse_.js'
import { normalizeArguments } from './parsePhoneNumber.js'

@@ -4,0 +4,0 @@ // `options`:

import metadata from '../metadata.min.json'
import _parseNumber from './parse'
import Metadata from './metadata'
import _parseNumber from './parse.js'
import Metadata from './metadata.js'

@@ -5,0 +5,0 @@ function parseNumber(...parameters) {

// https://stackoverflow.com/a/46971044/970769
export default class ParseError {
// "Breaking changes in Typescript 2.1"
// "Extending built-ins like Error, Array, and Map may no longer work."
// "As a recommendation, you can manually adjust the prototype immediately after any super(...) calls."
// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
export default class ParseError extends Error {
constructor(code) {
super(code)
// Set the prototype explicitly.
// Any subclass of FooError will have to manually set the prototype as well.
Object.setPrototypeOf(this, ParseError.prototype)
this.name = this.constructor.name
this.message = code
this.stack = (new Error(code)).stack
}
}
ParseError.prototype = Object.create(Error.prototype)
ParseError.prototype.constructor = ParseError
}

@@ -1,2 +0,2 @@

import { parseDigit } from './helpers/parseDigits'
import { parseDigit } from './helpers/parseDigits.js'

@@ -3,0 +3,0 @@ /**

@@ -1,2 +0,2 @@

import parseIncompletePhoneNumber, { parsePhoneNumberCharacter } from './parseIncompletePhoneNumber'
import parseIncompletePhoneNumber, { parsePhoneNumberCharacter } from './parseIncompletePhoneNumber.js'

@@ -3,0 +3,0 @@ describe('parseIncompletePhoneNumber', () => {

@@ -1,2 +0,2 @@

import parseNumber from './parse_'
import parseNumber from './parse_.js'

@@ -3,0 +3,0 @@ export default function parsePhoneNumber(text, options, metadata) {

@@ -1,2 +0,2 @@

import parsePhoneNumber_ from './parsePhoneNumber_'
import parsePhoneNumber_ from './parsePhoneNumber_.js'

@@ -3,0 +3,0 @@ export default function parsePhoneNumber() {

@@ -1,2 +0,2 @@

import _parsePhoneNumber from './parsePhoneNumber'
import _parsePhoneNumber from './parsePhoneNumber.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@ import metadataFull from '../metadata.max.json'

@@ -1,4 +0,4 @@

import parsePhoneNumber from './parsePhoneNumber_'
import ParseError from './ParseError'
import { isSupportedCountry } from './metadata'
import parsePhoneNumber from './parsePhoneNumber_.js'
import ParseError from './ParseError.js'
import { isSupportedCountry } from './metadata.js'

@@ -5,0 +5,0 @@ export default function parsePhoneNumberFromString(text, options, metadata) {

@@ -1,3 +0,3 @@

import { normalizeArguments } from './parsePhoneNumber'
import parsePhoneNumberFromString_ from './parsePhoneNumberFromString_'
import { normalizeArguments } from './parsePhoneNumber.js'
import parsePhoneNumberFromString_ from './parsePhoneNumberFromString_.js'

@@ -4,0 +4,0 @@ export default function parsePhoneNumberFromString() {

@@ -1,2 +0,2 @@

import _parsePhoneNumberFromString from './parsePhoneNumberFromString'
import _parsePhoneNumberFromString from './parsePhoneNumberFromString.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -1,7 +0,7 @@

import Metadata from './metadata'
import isPossibleNumber from './isPossibleNumber_'
import isValidNumber from './validate_'
import isValidNumberForRegion from './isValidNumberForRegion_'
import getNumberType from './helpers/getNumberType'
import formatNumber from './format_'
import Metadata from './metadata.js'
import isPossibleNumber from './isPossibleNumber_.js'
import isValidNumber from './validate_.js'
import isValidNumberForRegion from './isValidNumberForRegion_.js'
import getNumberType from './helpers/getNumberType.js'
import formatNumber from './format_.js'

@@ -8,0 +8,0 @@ const USE_NON_GEOGRAPHIC_COUNTRY_CODE = false

import metadata from '../metadata.min.json'
import PhoneNumber from './PhoneNumber'
import PhoneNumber from './PhoneNumber.js'

@@ -4,0 +4,0 @@ describe('PhoneNumber', () => {

@@ -7,3 +7,3 @@ /**

import PhoneNumber from './PhoneNumber'
import PhoneNumber from './PhoneNumber.js'

@@ -14,7 +14,7 @@ import {

VALID_PUNCTUATION
} from './constants'
} from './constants.js'
import createExtensionPattern from './helpers/extension/createExtensionPattern'
import createExtensionPattern from './helpers/extension/createExtensionPattern.js'
import RegExpCache from './findNumbers/RegExpCache'
import RegExpCache from './findNumbers/RegExpCache.js'

@@ -24,3 +24,3 @@ import {

trimAfterFirstMatch
} from './findNumbers/util'
} from './findNumbers/util.js'

@@ -33,12 +33,12 @@ import {

pNd
} from './findNumbers/utf-8'
} from './findNumbers/utf-8.js'
import Leniency from './findNumbers/Leniency'
import parsePreCandidate from './findNumbers/parsePreCandidate'
import isValidPreCandidate from './findNumbers/isValidPreCandidate'
import isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate'
import Leniency from './findNumbers/Leniency.js'
import parsePreCandidate from './findNumbers/parsePreCandidate.js'
import isValidPreCandidate from './findNumbers/isValidPreCandidate.js'
import isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate.js'
import { isSupportedCountry } from './metadata'
import { isSupportedCountry } from './metadata.js'
import parseNumber from './parse_'
import parseNumber from './parse_.js'

@@ -149,14 +149,2 @@ const EXTN_PATTERNS_FOR_MATCHING = createExtensionPattern('matching')

{
/** The iteration tristate. */
state = 'NOT_READY'
/** The next index to start searching at. Undefined in {@link State#DONE}. */
searchIndex = 0
// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
regExpCache = new RegExpCache(32)
/**

@@ -210,2 +198,15 @@ * Creates a new instance. See the factory methods in {@link PhoneNumberUtil} on how to obtain a

this.PATTERN = new RegExp(PATTERN, 'ig')
/** The iteration tristate. */
this.state = 'NOT_READY'
/** The next index to start searching at. Undefined in {@link State#DONE}. */
this.searchIndex = 0
// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
this.regExpCache = new RegExpCache(32)
}

@@ -212,0 +213,0 @@

@@ -1,2 +0,2 @@

import PhoneNumberMatcher from './PhoneNumberMatcher'
import PhoneNumberMatcher from './PhoneNumberMatcher.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -1,3 +0,3 @@

import { normalizeArguments } from './parsePhoneNumber'
import PhoneNumberMatcher from './PhoneNumberMatcher'
import { normalizeArguments } from './parsePhoneNumber.js'
import PhoneNumberMatcher from './PhoneNumberMatcher.js'

@@ -4,0 +4,0 @@ /**

@@ -1,2 +0,2 @@

import searchNumbers from './searchNumbers'
import searchNumbers from './searchNumbers.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -1,3 +0,3 @@

import searchNumbers from './searchNumbers'
import { getArguments } from './findPhoneNumbersInText'
import searchNumbers from './searchNumbers.js'
import { getArguments } from './findPhoneNumbersInText.js'

@@ -4,0 +4,0 @@ export default function searchPhoneNumbersInText(text, defaultCountry, options, metadata) {

@@ -1,2 +0,2 @@

import searchPhoneNumbersInText from './searchPhoneNumbersInText'
import searchPhoneNumbersInText from './searchPhoneNumbersInText.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

@@ -1,2 +0,2 @@

import semverCompare from './semver-compare'
import semverCompare from './semver-compare.js'

@@ -3,0 +3,0 @@ describe('semver-compare', () => {

@@ -1,4 +0,4 @@

import Metadata from './metadata'
import matchesEntirely from './helpers/matchesEntirely'
import getNumberType from './helpers/getNumberType'
import Metadata from './metadata.js'
import matchesEntirely from './helpers/matchesEntirely.js'
import getNumberType from './helpers/getNumberType.js'

@@ -5,0 +5,0 @@ /**

@@ -1,3 +0,3 @@

import _isValidNumber from './validate_'
import { normalizeArguments } from './getNumberType'
import _isValidNumber from './validate_.js'
import { normalizeArguments } from './getNumberType.js'

@@ -4,0 +4,0 @@ // Finds out national phone number type (fixed line, mobile, etc)

import metadata from '../metadata.min.json'
import _isValidNumber from './validate'
import _isValidNumber from './validate.js'

@@ -4,0 +4,0 @@ function isValidNumber(...parameters) {

@@ -1,6 +0,6 @@

import { normalizeArguments } from './parsePhoneNumber'
import parsePhoneNumber from './parsePhoneNumber_'
import ParseError from './ParseError'
import Metadata from './metadata'
import checkNumberLength from './helpers/checkNumberLength'
import { normalizeArguments } from './parsePhoneNumber.js'
import parsePhoneNumber from './parsePhoneNumber_.js'
import ParseError from './ParseError.js'
import Metadata from './metadata.js'
import checkNumberLength from './helpers/checkNumberLength.js'

@@ -7,0 +7,0 @@ export default function validatePhoneNumberLength() {

@@ -1,2 +0,2 @@

import _validatePhoneNumberLength from './validatePhoneNumberLength'
import _validatePhoneNumberLength from './validatePhoneNumberLength.js'
import metadata from '../metadata.min.json'

@@ -3,0 +3,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc