const require_rolldown_runtime = require('../../../../../../../_virtual/rolldown_runtime.js');
const require_metadata$1 = require('../metadata.js');

//#region ../../node_modules/.pnpm/libphonenumber-js@1.11.3/node_modules/libphonenumber-js/build/helpers/getPossibleCountriesForNumber.js
var require_getPossibleCountriesForNumber = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/libphonenumber-js@1.11.3/node_modules/libphonenumber-js/build/helpers/getPossibleCountriesForNumber.js": ((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports["default"] = getPossibleCountriesForNumber;
	var _metadata2 = _interopRequireDefault(require_metadata$1.require_metadata());
	function _interopRequireDefault(obj) {
		return obj && obj.__esModule ? obj : { "default": obj };
	}
	/**
	* Returns a list of countries that the phone number could potentially belong to.
	* @param  {string} callingCode — Calling code.
	* @param  {string} nationalNumber — National (significant) number.
	* @param  {object} metadata — Metadata.
	* @return {string[]} A list of possible countries.
	*/
	function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {
		var possibleCountries = new _metadata2["default"](metadata).getCountryCodesForCallingCode(callingCode);
		if (!possibleCountries) return [];
		return possibleCountries.filter(function(country) {
			return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);
		});
	}
	function couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {
		var _metadata = new _metadata2["default"](metadata);
		_metadata.selectNumberingPlan(country);
		if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) return true;
		return false;
	}
}) });

//#endregion
Object.defineProperty(exports, 'default', {
  enumerable: true,
  get: function () {
    return require_getPossibleCountriesForNumber();
  }
});