ValidationSchemaToMetadataTransformer.js 1.4 KB

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