UNPKG

breeze2-odata4

Version:

Library to allow OData 4 support for breezejs 2

31 lines 1.31 kB
"use strict"; 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