summaryrefslogtreecommitdiff
path: root/src/node_modules/class-validator/esm2015/validation-schema/ValidationSchemaToMetadataTransformer.js
diff options
context:
space:
mode:
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.js31
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