UNPKG

nestjs-custom-class-validators

Version:

This package contains a few custom validator I have found to be repetitive, So I made templates that handles both class-validator checks and Swagger configuration

30 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomEnumJSONArrayValidator = void 0; const class_transformer_1 = require("class-transformer"); const class_validator_1 = require("class-validator"); const validatorTransformers_1 = require("../transformers/validatorTransformers"); const commonDecoratorFunctions_1 = require("../utils/commonDecoratorFunctions"); function CustomEnumJSONArrayValidator(details) { const { validEnum, optional, defaultValue, description } = details; const mySwaggerProp = (0, commonDecoratorFunctions_1.swaggerProp)({ optional, description, defaultValue, type: "array", }); return function (target, key) { if (optional) (0, class_validator_1.IsOptional)()(target, key); (0, commonDecoratorFunctions_1.notEmptyFn)(key)(target, key); (0, class_transformer_1.Transform)(validatorTransformers_1.TransformStringToJSONArray)(target, key); (0, class_transformer_1.Transform)(validatorTransformers_1.TransformSingleItemToArray)(target, key); (0, class_validator_1.ArrayMinSize)(1)(target, key); (0, commonDecoratorFunctions_1.isArrayFn)(key)(target, key); (0, commonDecoratorFunctions_1.isEnumFn)(key, validEnum, true)(target, key); (0, class_transformer_1.Transform)(validatorTransformers_1.TransformSortStringArray)(target, key); mySwaggerProp(target, key); }; } exports.CustomEnumJSONArrayValidator = CustomEnumJSONArrayValidator; //# sourceMappingURL=enumArray.decorator.js.map