@gabliam/validate-class
Version:
Gabliam plugin for add validation with joi on web
27 lines (26 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Validate = void 0;
const core_1 = require("@gabliam/core");
const web_core_1 = require("@gabliam/web-core");
const constants_1 = require("../constants");
const validate_1 = require("../validate");
const defaultOptions = {
transform: false,
disableErrorMessages: false,
validatorOptions: {
validationError: {
target: false,
},
},
transformOptions: {},
exceptionFactory: (errors, disableErrorMessages) => new web_core_1.BadRequestException(disableErrorMessages ? undefined : { validation: errors }),
};
// eslint-disable-next-line @typescript-eslint/no-redeclare
exports.Validate = (0, core_1.makePropAndAnnotationAndParamDecorator)(constants_1.METADATA_KEY.validate, (options = {}) => (Object.assign(Object.assign({}, defaultOptions), options)), (cls, annotationInstance) => {
(0, web_core_1.UsePipes)(new validate_1.ValidatePipe(annotationInstance))(cls);
}, (target, propertyKey, descriptor, instance) => {
(0, web_core_1.UsePipes)(new validate_1.ValidatePipe(instance))(target, propertyKey, descriptor);
}, (target, propertyKey, index, instance) => {
(0, web_core_1.UsePipes)(new validate_1.ValidatePipe(instance))(target, propertyKey, index);
}, true, constants_1.ERRORS_MSGS.DUPLICATED_VALIDATE_DECORATOR);