1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.ValidationSchemaToMetadataTransformer = void 0;
|
4 | const ValidationMetadata_1 = require("../metadata/ValidationMetadata");
|
5 |
|
6 |
|
7 |
|
8 | class ValidationSchemaToMetadataTransformer {
|
9 | transform(schema) {
|
10 | const metadatas = [];
|
11 | Object.keys(schema.properties).forEach(property => {
|
12 | schema.properties[property].forEach(validation => {
|
13 | const validationOptions = {
|
14 | message: validation.message,
|
15 | groups: validation.groups,
|
16 | always: validation.always,
|
17 | each: validation.each,
|
18 | };
|
19 | const args = {
|
20 | type: validation.type,
|
21 | target: schema.name,
|
22 | propertyName: property,
|
23 | constraints: validation.constraints,
|
24 | validationTypeOptions: validation.options,
|
25 | validationOptions: validationOptions,
|
26 | };
|
27 | metadatas.push(new ValidationMetadata_1.ValidationMetadata(args));
|
28 | });
|
29 | });
|
30 | return metadatas;
|
31 | }
|
32 | }
|
33 | exports.ValidationSchemaToMetadataTransformer = ValidationSchemaToMetadataTransformer;
|
34 |
|
\ | No newline at end of file |