UNPKG

@lyra/form-builder

Version:
45 lines (35 loc) 1.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // todo: fix issue with type being a cicular proptype. Should probably replace all this with flowtypes function lazy(fn) { let cachedFn; return (...args) => (cachedFn || (cachedFn = fn()))(...args); } const field = _propTypes2.default.shape({ name: _propTypes2.default.string, type: _propTypes2.default.object }); const type = _propTypes2.default.shape({ name: _propTypes2.default.string, title: _propTypes2.default.string, description: _propTypes2.default.string, placeholder: _propTypes2.default.string, type: lazy(() => type), to: lazy(() => _propTypes2.default.arrayOf(type)), fields: lazy(() => _propTypes2.default.arrayOf(field)), of: lazy(() => _propTypes2.default.arrayOf(type)) }); const schema = _propTypes2.default.shape({ name: _propTypes2.default.string, fields: _propTypes2.default.arrayOf(type) }); exports.default = { type, field, schema };