UNPKG

canner

Version:

Build CMS in few lines of code for different data sources

86 lines (72 loc) 2.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _forEach2 = _interopRequireDefault(require("lodash/forEach")); var _utils = require("./utils"); var _nullField = _interopRequireDefault(require("./nullField")); var CompositeField = /*#__PURE__*/ function () { function CompositeField(_ref) { var type = _ref.type, rootSchema = _ref.rootSchema, childFields = _ref.childFields, key = _ref.key; (0, _classCallCheck2.default)(this, CompositeField); (0, _defineProperty2.default)(this, "rootSchema", void 0); (0, _defineProperty2.default)(this, "childFields", void 0); (0, _defineProperty2.default)(this, "key", void 0); (0, _defineProperty2.default)(this, "type", void 0); this.key = key; this.type = type; this.rootSchema = rootSchema; this.childFields = childFields; } (0, _createClass2.default)(CompositeField, [{ key: "getKey", value: function getKey() { return this.key; } }, { key: "exists", value: function exists() { return true; } }, { key: "getType", value: function getType() { return this.type; } }, { key: "getChild", value: function getChild(fieldName) { if (!this.childFields || !this.childFields[fieldName]) { return new _nullField.default({ key: fieldName }); } var field = (0, _utils.createField)(fieldName, this.rootSchema, this.childFields[fieldName]); return field; } }, { key: "forEach", value: function forEach(visitor) { var _this = this; if (!this.childFields) { return; } (0, _forEach2.default)(this.childFields, function (item, key) { var field = (0, _utils.createField)(key, _this.rootSchema, _this.childFields[key]); visitor(field); }); } }]); return CompositeField; }(); exports.default = CompositeField;