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/getIddPrefix.js
var require_getIddPrefix = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/libphonenumber-js@1.11.3/node_modules/libphonenumber-js/build/helpers/getIddPrefix.js": ((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports["default"] = getIddPrefix;
	var _metadata = _interopRequireDefault(require_metadata$1.require_metadata());
	function _interopRequireDefault(obj) {
		return obj && obj.__esModule ? obj : { "default": obj };
	}
	/**
	* Pattern that makes it easy to distinguish whether a region has a single
	* international dialing prefix or not. If a region has a single international
	* prefix (e.g. 011 in USA), it will be represented as a string that contains
	* a sequence of ASCII digits, and possibly a tilde, which signals waiting for
	* the tone. If there are multiple available international prefixes in a
	* region, they will be represented as a regex string that always contains one
	* or more characters that are not ASCII digits or a tilde.
	*/
	var SINGLE_IDD_PREFIX_REG_EXP = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
	function getIddPrefix(country, callingCode, metadata) {
		var countryMetadata = new _metadata["default"](metadata);
		countryMetadata.selectNumberingPlan(country, callingCode);
		if (countryMetadata.defaultIDDPrefix()) return countryMetadata.defaultIDDPrefix();
		if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) return countryMetadata.IDDPrefix();
	}
}) });

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