breeze2-odata4
Version:
Library to allow OData 4 support for breezejs 2
31 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var breeze_client_1 = require("breeze-client");
var utilities_1 = require("../utilities");
var ValidatorDecorator = (function () {
function ValidatorDecorator() {
this.annotation = 'Validator';
}
ValidatorDecorator.prototype.decorate = function (expression, annotation) {
expression.validators = expression.validators || [];
var keys = Object.keys(annotation);
breeze_client_1.core.arrayRemoveItem(keys, 'term', false);
var valueKey = keys[0];
var value = annotation[valueKey];
var nameAndProp = annotation.term.replace(/^.*Validator\./, '').split('.');
var name = nameAndProp.shift();
var prop = nameAndProp.shift();
var validator = expression.validators.find(function (val) {
return val.name === name;
});
if (!validator) {
validator = { name: name };
expression.validators.push(validator);
}
var dataType = utilities_1.getDataType(valueKey);
validator[prop] = dataType.parse(value, 'string');
};
return ValidatorDecorator;
}());
exports.ValidatorDecorator = ValidatorDecorator;
//# sourceMappingURL=validator-decorator.js.map