const require_rolldown_runtime = require('../../../../../../../../_virtual/rolldown_runtime.js');
const require_ValidateBy$1 = require('../common/ValidateBy.js');
const require_isLength$1 = require('../../../../../../validator@13.12.0/node_modules/validator/lib/isLength.js');

//#region ../../node_modules/.pnpm/class-validator@0.14.1/node_modules/class-validator/cjs/decorator/string/Length.js
var require_Length = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/class-validator@0.14.1/node_modules/class-validator/cjs/decorator/string/Length.js": ((exports) => {
	var __importDefault = exports && exports.__importDefault || function(mod) {
		return mod && mod.__esModule ? mod : { "default": mod };
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.Length = exports.length = exports.IS_LENGTH = void 0;
	const ValidateBy_1 = require_ValidateBy$1.require_ValidateBy();
	const isLength_1 = __importDefault(require_isLength$1.require_isLength());
	exports.IS_LENGTH = "isLength";
	/**
	* Checks if the string's length falls in a range. Note: this function takes into account surrogate pairs.
	* If given value is not a string, then it returns false.
	*/
	function length(value, min, max) {
		return typeof value === "string" && (0, isLength_1.default)(value, {
			min,
			max
		});
	}
	exports.length = length;
	/**
	* Checks if the string's length falls in a range. Note: this function takes into account surrogate pairs.
	* If given value is not a string, then it returns false.
	*/
	function Length(min, max, validationOptions) {
		return (0, ValidateBy_1.ValidateBy)({
			name: exports.IS_LENGTH,
			constraints: [min, max],
			validator: {
				validate: (value, args) => length(value, args === null || args === void 0 ? void 0 : args.constraints[0], args === null || args === void 0 ? void 0 : args.constraints[1]),
				defaultMessage: (0, ValidateBy_1.buildMessage)((eachPrefix, args) => {
					const isMinLength = (args === null || args === void 0 ? void 0 : args.constraints[0]) !== null && (args === null || args === void 0 ? void 0 : args.constraints[0]) !== void 0;
					const isMaxLength = (args === null || args === void 0 ? void 0 : args.constraints[1]) !== null && (args === null || args === void 0 ? void 0 : args.constraints[1]) !== void 0;
					if (isMinLength && (!args.value || args.value.length < (args === null || args === void 0 ? void 0 : args.constraints[0]))) return eachPrefix + "$property must be longer than or equal to $constraint1 characters";
					else if (isMaxLength && args.value.length > (args === null || args === void 0 ? void 0 : args.constraints[1])) return eachPrefix + "$property must be shorter than or equal to $constraint2 characters";
					return eachPrefix + "$property must be longer than or equal to $constraint1 and shorter than or equal to $constraint2 characters";
				}, validationOptions)
			}
		}, validationOptions);
	}
	exports.Length = Length;
}) });

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