class-validator
Version:
Class-based validation with Typescript / ES6 / ES5 using decorators or validation schemas. Supports both node.js and browser
40 lines (38 loc) • 1.76 kB
JavaScript
var ValidationMetadata_1 = require("../metadata/ValidationMetadata");
var ValidationTypes_1 = require("../validation/ValidationTypes");
/**
* Used to transform validation schemas to validation metadatas.
*/
var ValidationSchemaToMetadataTransformer = (function () {
function ValidationSchemaToMetadataTransformer() {
}
ValidationSchemaToMetadataTransformer.prototype.transform = function (schema) {
var metadatas = [];
Object.keys(schema.properties).forEach(function (property) {
schema.properties[property].forEach(function (validation) {
if (!ValidationTypes_1.ValidationTypes.isValid(validation.type))
throw new Error("Validation schema " + schema.name + "#" + property + " as incorrect type " + validation.type);
var validationOptions = {
message: validation.message,
groups: validation.groups,
always: validation.always,
each: validation.each
};
var args = {
type: validation.type,
target: schema.name,
propertyName: property,
constraints: validation.constraints,
validationTypeOptions: validation.options,
validationOptions: validationOptions
};
metadatas.push(new ValidationMetadata_1.ValidationMetadata(args));
});
});
return metadatas;
};
return ValidationSchemaToMetadataTransformer;
}());
exports.ValidationSchemaToMetadataTransformer = ValidationSchemaToMetadataTransformer;
//# sourceMappingURL=ValidationSchemaToMetadataTransformer.js.map
;