@linaframework/arango-orm
Version:
> Please check out https://github.com/awesome-graphql-space/lina and https://github.com/oknoah/final/packages/arangolize for similar projects that MAY be more up to date
98 lines (71 loc) • 2.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _get2 = require('babel-runtime/helpers/get');
var _get3 = _interopRequireDefault(_get2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _fieldType = require('./field-type');
var _fieldType2 = _interopRequireDefault(_fieldType);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
var FieldTypes = function (_FieldType) {
(0, _inherits3.default)(FieldTypes, _FieldType);
function FieldTypes(basePath, path, type, options, internal) {
(0, _classCallCheck3.default)(this, FieldTypes);
return (0, _possibleConstructorReturn3.default)(this, (FieldTypes.__proto__ || (0, _getPrototypeOf2.default)(FieldTypes)).call(this, basePath, path, type, options, internal));
}
(0, _createClass3.default)(FieldTypes, [{
key: 'validate',
value: function validate(data, basePath) {
var _this2 = this;
if (this.internal) return;
var array = this.getByPath(data);
if (!array && this.options.optional) {
return;
}
if (!Array.isArray(array)) {
this.typeError(Array, array, basePath);
}
array.forEach(function (value, index) {
if (!_this2.validateValue(value)) {
_this2.typeError(_this2.type, value, basePath, [index]);
}
});
}
}, {
key: 'convertToModelValue',
value: function convertToModelValue(array) {
var _this3 = this;
if (!array && this.options.optional) {
return;
}
return array.map(function (value) {
return (0, _get3.default)(FieldTypes.prototype.__proto__ || (0, _getPrototypeOf2.default)(FieldTypes.prototype), 'convertToModelValue', _this3).call(_this3, value);
});
}
}, {
key: 'convertToDocumentValue',
value: function convertToDocumentValue(array) {
var _this4 = this;
if (!array && this.options.optional) {
return;
}
return array.map(function (value) {
return (0, _get3.default)(FieldTypes.prototype.__proto__ || (0, _getPrototypeOf2.default)(FieldTypes.prototype), 'convertToDocumentValue', _this4).call(_this4, value);
});
}
}]);
return FieldTypes;
}(_fieldType2.default);
exports.default = FieldTypes;