| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | "use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports["default"] = isValidNumberForRegion;var _isViablePhoneNumber = _interopRequireDefault(require("../helpers/isViablePhoneNumber.js"));var _parse = _interopRequireDefault(require("../parse.js"));var _isValidNumberForRegion_ = _interopRequireDefault(require("./isValidNumberForRegion_.js"));function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }// This function has been deprecated and is not exported as// `isValidPhoneNumberForCountry()` or `isValidPhoneNumberForRegion()`.//// The rationale is://// * We don't use the "region" word, so "country" would be better.//// * It could be substituted with://// ```js// export default function isValidPhoneNumberForCountry(phoneNumberString, country) {// 	const phoneNumber = parsePhoneNumber(phoneNumberString, {// 		defaultCountry: country,// 		// Demand that the entire input string must be a phone number.// 		// Otherwise, it would "extract" a phone number from an input string.// 		extract: false// 	})// 	if (!phoneNumber) {// 		return false// 	}// 	if (phoneNumber.country !== country) {// 		return false// 	}// 	return phoneNumber.isValid()// }// ```//// * Same function could be used for `isPossiblePhoneNumberForCountry()`//   by replacing `isValid()` with `isPossible()`.//// * The reason why this function is not exported is because its result is ambiguous.//   Suppose `false` is returned. It could mean any of://   * Not a phone number.//   * The phone number is valid but belongs to another country or another calling code.//   * The phone number belongs to the correct country but is not valid digit-wise.//   All those three cases should be handled separately from a "User Experience" standpoint.//   Simply showing "Invalid phone number" error in all of those cases would be lazy UX.function isValidNumberForRegion(number, country, metadata) {  if (typeof number !== 'string') {    throw new TypeError('number must be a string');  }  if (typeof country !== 'string') {    throw new TypeError('country must be a string');  } // `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.  var input;  if ((0, _isViablePhoneNumber["default"])(number)) {    input = (0, _parse["default"])(number, {      defaultCountry: country    }, metadata);  } else {    input = {};  }  return (0, _isValidNumberForRegion_["default"])(input, country, undefined, metadata);}//# sourceMappingURL=isValidNumberForRegion.js.map
 |