summaryrefslogtreecommitdiff
path: root/src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js
blob: c1c5207cb4f32bbb47cc40b95af57b1998edbf7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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