UNPKG

@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
'use strict'; 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;