nestjs-swagger-dto
Version:
Nestjs swagger dto decorators
24 lines • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IsObject = void 0;
const class_validator_1 = require("class-validator");
const core_1 = require("../core");
const IsObject = ({ message, minProperties, maxProperties, ...base } = {}) => (0, core_1.compose)({ type: 'object', minProperties, maxProperties }, base, (0, class_validator_1.IsObject)({ each: !!base.isArray, message }), minProperties
? (0, class_validator_1.ValidateBy)({
name: 'minProperties',
validator: {
validate: (obj) => (0, class_validator_1.isObject)(obj) && Object.keys(obj).length >= minProperties,
defaultMessage: (args) => `${args?.property} must have at least ${minProperties} properties`,
},
})
: core_1.noop, maxProperties
? (0, class_validator_1.ValidateBy)({
name: 'maxProperties',
validator: {
validate: (obj) => (0, class_validator_1.isObject)(obj) && Object.keys(obj).length <= maxProperties,
defaultMessage: (args) => `${args?.property} must have at most ${maxProperties} properties`,
},
})
: core_1.noop);
exports.IsObject = IsObject;
//# sourceMappingURL=is-object.js.map