const require_rolldown_runtime = require('../../../../../../_virtual/rolldown_runtime.js');
const require_assertString$1 = require('./util/assertString.js');
const require_isIP$1 = require('./isIP.js');

//#region ../../node_modules/.pnpm/validator@13.12.0/node_modules/validator/lib/isIPRange.js
var require_isIPRange = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/validator@13.12.0/node_modules/validator/lib/isIPRange.js": ((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = isIPRange;
	var _assertString = _interopRequireDefault(require_assertString$1.require_assertString());
	var _isIP = _interopRequireDefault(require_isIP$1.require_isIP());
	function _interopRequireDefault(obj) {
		return obj && obj.__esModule ? obj : { default: obj };
	}
	var subnetMaybe = /^\d{1,3}$/;
	var v4Subnet = 32;
	var v6Subnet = 128;
	function isIPRange(str) {
		var version = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
		(0, _assertString.default)(str);
		var parts = str.split("/");
		if (parts.length !== 2) return false;
		if (!subnetMaybe.test(parts[1])) return false;
		if (parts[1].length > 1 && parts[1].startsWith("0")) return false;
		if (!(0, _isIP.default)(parts[0], version)) return false;
		var expectedSubnet = null;
		switch (String(version)) {
			case "4":
				expectedSubnet = v4Subnet;
				break;
			case "6":
				expectedSubnet = v6Subnet;
				break;
			default: expectedSubnet = (0, _isIP.default)(parts[0], "6") ? v6Subnet : v4Subnet;
		}
		return parts[1] <= expectedSubnet && parts[1] >= 0;
	}
	module.exports = exports.default;
	module.exports.default = exports.default;
}) });

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