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 0.4.44 to 0.4.45

examples.mobile.json

254

build/tools/generate.js

@@ -16,2 +16,33 @@ 'use strict';

exports.default = function (input, included_countries, extended, included_phone_number_types) {
// Validate `included_phone_number_types`
if (included_phone_number_types) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = (0, _getIterator3.default)(included_phone_number_types), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var type = _step.value;
if (phone_number_types.indexOf(type) < 0) {
return _bluebird2.default.reject('Unknown phone number type: ' + type);
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
// Parse the XML metadata
return _bluebird2.default.promisify(_xml2js.parseString)(input).then(function (xml) {

@@ -26,9 +57,9 @@ // https://github.com/googlei18n/libphonenumber/blob/master/resources/PhoneNumberMetadata.xml

var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
var _loop = function _loop() {
var territory = _step.value;
var territory = _step2.value;

@@ -164,15 +195,7 @@ // A two-letter country code

//
types: {
fixed_line: phone_type_pattern(territory, 'fixedLine'),
mobile: phone_type_pattern(territory, 'mobile'),
toll_free: phone_type_pattern(territory, 'tollFree'),
premium_rate: phone_type_pattern(territory, 'premiumRate'),
personal_number: phone_type_pattern(territory, 'personalNumber'),
voice_mail: phone_type_pattern(territory, 'voicemail'),
uan: phone_type_pattern(territory, 'uan'),
pager: phone_type_pattern(territory, 'pager'),
voip: phone_type_pattern(territory, 'voip'),
shared_cost: phone_type_pattern(territory, 'sharedCost')
}
types: get_phone_number_types(territory),
// Will be filtered out during compression phase
examples: get_phone_number_examples(territory)
// Check that national (significant) phone number pattern

@@ -205,9 +228,9 @@ // is set for this country (no "default" value here)

// Sanity check (using no "default" for this field)
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator4 = (0, _getIterator3.default)(country.formats), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var format = _step4.value;
for (var _iterator5 = (0, _getIterator3.default)(country.formats), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var format = _step5.value;

@@ -225,12 +248,12 @@ // Never happens

} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError5) {
throw _iteratorError5;
}

@@ -267,3 +290,3 @@ }

for (var _iterator = (0, _getIterator3.default)(xml.phoneNumberMetadata.territories[0].territory), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (var _iterator2 = (0, _getIterator3.default)(xml.phoneNumberMetadata.territories[0].territory), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _ret = _loop();

@@ -278,12 +301,12 @@

} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
if (_didIteratorError2) {
throw _iteratorError2;
}

@@ -293,9 +316,9 @@ }

var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator2 = (0, _getIterator3.default)((0, _keys2.default)(countries)), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _country_code = _step2.value;
for (var _iterator3 = (0, _getIterator3.default)((0, _keys2.default)(countries)), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var _country_code = _step3.value;

@@ -327,12 +350,12 @@ var _country = countries[_country_code];

} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
if (_didIteratorError3) {
throw _iteratorError3;
}

@@ -342,9 +365,9 @@ }

var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator3 = (0, _getIterator3.default)((0, _keys2.default)(country_phone_code_to_countries)), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var country_phone_code = _step3.value;
for (var _iterator4 = (0, _getIterator3.default)((0, _keys2.default)(country_phone_code_to_countries)), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var country_phone_code = _step4.value;

@@ -365,9 +388,9 @@ var country_codes = country_phone_code_to_countries[country_phone_code];

var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
var _loop2 = function _loop2() {
var country_code = _step5.value;
var country_code = _step6.value;

@@ -392,9 +415,9 @@ // Leading digits for a country are sufficient

// specified phone number types (if configured).
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
var _loop3 = function _loop3() {
var type = _step6.value;
var type = _step7.value;

@@ -423,3 +446,3 @@ if (!types[type]) {

for (var _iterator6 = (0, _getIterator3.default)(phone_number_types), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
for (var _iterator7 = (0, _getIterator3.default)(phone_number_types), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var _ret3 = _loop3();

@@ -430,12 +453,12 @@

} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
if (_didIteratorError7) {
throw _iteratorError7;
}

@@ -446,3 +469,3 @@ }

for (var _iterator5 = (0, _getIterator3.default)(country_codes), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
for (var _iterator6 = (0, _getIterator3.default)(country_codes), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _ret2 = _loop2();

@@ -453,12 +476,12 @@

} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
if (_didIteratorError6) {
throw _iteratorError6;
}

@@ -469,12 +492,12 @@ }

} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
if (_didIteratorError4) {
throw _iteratorError4;
}

@@ -562,2 +585,42 @@ }

//
// @returns
//
// {
// country_phone_code_to_countries:
// {
// '+7': ['RU', 'KZ', ...],
// ...
// },
// countries:
// {
// RU:
// {
// phone_code: "7",
// national_number_pattern: "[347-9]\\d{9}",
// national_prefix: "8",
// national_prefix_formatting_rule: "8 ($1)",
// national_prefix_is_optional_when_formatting: true,
// types:
// {
// fixed_line: "(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",
// mobile: "9\\d{9}",
// ...
// },
// examples:
// {
// fixed_line: '4955553535',
// mobile: '9991234567',
// ...
// },
// formats:
// [{
// pattern: "([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})",
// leading_digits_patterns: ["[3489]"],
// format: "$1 $2-$3-$4"
// },
// ...]
// },
// ...
// }
// }

@@ -575,6 +638,35 @@

// Gets phone type pattern
function phone_type_pattern(territory, type) {
return territory[type] ? territory[type][0].nationalNumberPattern[0].replace(/\s/g, '') : undefined;
// Extracts various phone number type patterns from country XML metadata
function get_phone_number_types(territory) {
return phone_number_types.reduce(function (output, type) {
var camel_cased_type = underscore_to_camel_case(type);
var pattern = territory[camel_cased_type] && territory[camel_cased_type][0].nationalNumberPattern[0].replace(/\s/g, '');
if (pattern) {
output[type] = pattern;
}
return output;
}, {});
}
// Extracts various phone number type examples from country XML metadata
function get_phone_number_examples(territory) {
return phone_number_types.reduce(function (output, type) {
var camel_cased_type = underscore_to_camel_case(type);
var example = territory[camel_cased_type] && territory[camel_cased_type][0].exampleNumber[0];
if (example) {
output[type] = example;
}
return output;
}, {});
}
function underscore_to_camel_case(string) {
return string.replace(/(\_\w)/g, function (match) {
return match[1].toUpperCase();
});
}
//# sourceMappingURL=generate.js.map

@@ -72,3 +72,74 @@ import _Object$keys from 'babel-runtime/core-js/object/keys';

//
// @returns
//
// {
// country_phone_code_to_countries:
// {
// '+7': ['RU', 'KZ', ...],
// ...
// },
// countries:
// {
// RU:
// {
// phone_code: "7",
// national_number_pattern: "[347-9]\\d{9}",
// national_prefix: "8",
// national_prefix_formatting_rule: "8 ($1)",
// national_prefix_is_optional_when_formatting: true,
// types:
// {
// fixed_line: "(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",
// mobile: "9\\d{9}",
// ...
// },
// examples:
// {
// fixed_line: '4955553535',
// mobile: '9991234567',
// ...
// },
// formats:
// [{
// pattern: "([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})",
// leading_digits_patterns: ["[3489]"],
// format: "$1 $2-$3-$4"
// },
// ...]
// },
// ...
// }
// }
export default function (input, included_countries, extended, included_phone_number_types) {
// Validate `included_phone_number_types`
if (included_phone_number_types) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = _getIterator(included_phone_number_types), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var type = _step.value;
if (phone_number_types.indexOf(type) < 0) {
return Promise.reject('Unknown phone number type: ' + type);
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
// Parse the XML metadata
return Promise.promisify(parseString)(input).then(function (xml) {

@@ -83,9 +154,9 @@ // https://github.com/googlei18n/libphonenumber/blob/master/resources/PhoneNumberMetadata.xml

var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
var _loop = function _loop() {
var territory = _step.value;
var territory = _step2.value;

@@ -221,15 +292,7 @@ // A two-letter country code

//
types: {
fixed_line: phone_type_pattern(territory, 'fixedLine'),
mobile: phone_type_pattern(territory, 'mobile'),
toll_free: phone_type_pattern(territory, 'tollFree'),
premium_rate: phone_type_pattern(territory, 'premiumRate'),
personal_number: phone_type_pattern(territory, 'personalNumber'),
voice_mail: phone_type_pattern(territory, 'voicemail'),
uan: phone_type_pattern(territory, 'uan'),
pager: phone_type_pattern(territory, 'pager'),
voip: phone_type_pattern(territory, 'voip'),
shared_cost: phone_type_pattern(territory, 'sharedCost')
}
types: get_phone_number_types(territory),
// Will be filtered out during compression phase
examples: get_phone_number_examples(territory)
// Check that national (significant) phone number pattern

@@ -262,9 +325,9 @@ // is set for this country (no "default" value here)

// Sanity check (using no "default" for this field)
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator4 = _getIterator(country.formats), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var format = _step4.value;
for (var _iterator5 = _getIterator(country.formats), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var format = _step5.value;

@@ -282,12 +345,12 @@ // Never happens

} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError5) {
throw _iteratorError5;
}

@@ -324,3 +387,3 @@ }

for (var _iterator = _getIterator(xml.phoneNumberMetadata.territories[0].territory), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (var _iterator2 = _getIterator(xml.phoneNumberMetadata.territories[0].territory), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _ret = _loop();

@@ -335,12 +398,12 @@

} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
if (_didIteratorError2) {
throw _iteratorError2;
}

@@ -350,9 +413,9 @@ }

var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator2 = _getIterator(_Object$keys(countries)), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _country_code = _step2.value;
for (var _iterator3 = _getIterator(_Object$keys(countries)), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var _country_code = _step3.value;

@@ -384,12 +447,12 @@ var _country = countries[_country_code];

} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
if (_didIteratorError3) {
throw _iteratorError3;
}

@@ -399,9 +462,9 @@ }

var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator3 = _getIterator(_Object$keys(country_phone_code_to_countries)), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var country_phone_code = _step3.value;
for (var _iterator4 = _getIterator(_Object$keys(country_phone_code_to_countries)), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var country_phone_code = _step4.value;

@@ -422,9 +485,9 @@ var country_codes = country_phone_code_to_countries[country_phone_code];

var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
var _loop2 = function _loop2() {
var country_code = _step5.value;
var country_code = _step6.value;

@@ -449,9 +512,9 @@ // Leading digits for a country are sufficient

// specified phone number types (if configured).
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
var _loop3 = function _loop3() {
var type = _step6.value;
var type = _step7.value;

@@ -480,3 +543,3 @@ if (!types[type]) {

for (var _iterator6 = _getIterator(phone_number_types), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
for (var _iterator7 = _getIterator(phone_number_types), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var _ret3 = _loop3();

@@ -487,12 +550,12 @@

} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
if (_didIteratorError7) {
throw _iteratorError7;
}

@@ -503,3 +566,3 @@ }

for (var _iterator5 = _getIterator(country_codes), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
for (var _iterator6 = _getIterator(country_codes), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _ret2 = _loop2();

@@ -510,12 +573,12 @@

} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
if (_didIteratorError6) {
throw _iteratorError6;
}

@@ -526,12 +589,12 @@ }

} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
if (_didIteratorError4) {
throw _iteratorError4;
}

@@ -555,6 +618,35 @@ }

// Gets phone type pattern
function phone_type_pattern(territory, type) {
return territory[type] ? territory[type][0].nationalNumberPattern[0].replace(/\s/g, '') : undefined;
// Extracts various phone number type patterns from country XML metadata
function get_phone_number_types(territory) {
return phone_number_types.reduce(function (output, type) {
var camel_cased_type = underscore_to_camel_case(type);
var pattern = territory[camel_cased_type] && territory[camel_cased_type][0].nationalNumberPattern[0].replace(/\s/g, '');
if (pattern) {
output[type] = pattern;
}
return output;
}, {});
}
// Extracts various phone number type examples from country XML metadata
function get_phone_number_examples(territory) {
return phone_number_types.reduce(function (output, type) {
var camel_cased_type = underscore_to_camel_case(type);
var example = territory[camel_cased_type] && territory[camel_cased_type][0].exampleNumber[0];
if (example) {
output[type] = example;
}
return output;
}, {});
}
function underscore_to_camel_case(string) {
return string.replace(/(\_\w)/g, function (match) {
return match[1].toUpperCase();
});
}
//# sourceMappingURL=generate.js.map
{
"name": "libphonenumber-js",
"version": "0.4.44",
"version": "0.4.45",
"description": "A simpler (and smaller) rewrite of Google Android's popular libphonenumber library",

@@ -40,3 +40,3 @@ "main": "index.common.js",

"metadata:generate": "npm-run-all metadata:generate:min metadata:generate:full metadata:generate:mobile",
"metadata:generate:min": "babel-node -- runnable/generate ../PhoneNumberMetadata.xml ../metadata.min.json",
"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",

@@ -43,0 +43,0 @@ "metadata:generate:mobile": "babel-node -- runnable/generate ../PhoneNumberMetadata.xml ../metadata.mobile.json --types mobile --debug",

@@ -219,2 +219,6 @@ # libphonenumber-js

## Examples
For those asking for phone number examples for use in `<input placeholder/>`s there's `examples.mobile.json`.
<!-- ## To do

@@ -289,3 +293,3 @@

* `--extended` argument may be passed to include all regular expressions for precise phone number validation and getting phone number type, which increases the precision of phone number validation but at the same time it will enlarge the resulting metadata size approximately twice.
* `--types ...` argument may be passed instead of `--extended` to only include the precise phone number type regular expressions for a specific set of phone number types (a comma-separated list, e.g. `--types mobile,fixed`).
* `--types ...` argument may be passed instead of `--extended` to only include the precise phone number type regular expressions for a specific set of phone number types (a comma-separated list, e.g. `--types mobile,fixed_line`). [The complete list of phone number types](https://github.com/catamphetamine/libphonenumber-js/blob/master/source/tools/generate.js#L6-L18).

@@ -292,0 +296,0 @@ Then use the generated `metadata.min.json` with the exported "custom" functions.

@@ -51,2 +51,21 @@ import generate from '../source/tools/generate'

fs.writeFileSync(path.join(__dirname, output_file), JSON.stringify(compress(output)))
// Output mobile phone number type examples
if (command_line_arguments.examples === 'mobile')
{
var examples = Object.keys(output.countries).reduce(function(out, country_code)
{
const example = output.countries[country_code].examples.mobile
if (example)
{
out[country_code] = example
}
return out
},
{})
fs.writeFileSync(path.join(__dirname, '../examples.mobile.json'), JSON.stringify(examples))
}
})

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