ValidationSchemaToMetadataTransformer.js 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. import { ValidationMetadata } from '../metadata/ValidationMetadata';
  2. /**
  3. * Used to transform validation schemas to validation metadatas.
  4. */
  5. export class ValidationSchemaToMetadataTransformer {
  6. transform(schema) {
  7. const metadatas = [];
  8. Object.keys(schema.properties).forEach(property => {
  9. schema.properties[property].forEach(validation => {
  10. const validationOptions = {
  11. message: validation.message,
  12. groups: validation.groups,
  13. always: validation.always,
  14. each: validation.each,
  15. };
  16. const args = {
  17. type: validation.type,
  18. name: validation.name,
  19. target: schema.name,
  20. propertyName: property,
  21. constraints: validation.constraints,
  22. validationTypeOptions: validation.options,
  23. validationOptions: validationOptions,
  24. };
  25. metadatas.push(new ValidationMetadata(args));
  26. });
  27. });
  28. return metadatas;
  29. }
  30. }
  31. //# sourceMappingURL=ValidationSchemaToMetadataTransformer.js.map