diff options
Diffstat (limited to 'src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js')
-rw-r--r-- | src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js b/src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js new file mode 100644 index 0000000..c1c5207 --- /dev/null +++ b/src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js @@ -0,0 +1,31 @@ +import { ValidationMetadata } from "../metadata/ValidationMetadata"; +/** + * Used to transform validation schemas to validation metadatas. + */ +export class ValidationSchemaToMetadataTransformer { + transform(schema) { + const metadatas = []; + Object.keys(schema.properties).forEach(property => { + schema.properties[property].forEach(validation => { + const validationOptions = { + message: validation.message, + groups: validation.groups, + always: validation.always, + each: validation.each + }; + const args = { + type: validation.type, + target: schema.name, + propertyName: property, + constraints: validation.constraints, + validationTypeOptions: validation.options, + validationOptions: validationOptions + }; + metadatas.push(new ValidationMetadata(args)); + }); + }); + return metadatas; + } +} + +//# sourceMappingURL=ValidationSchemaToMetadataTransformer.js.map |