UNPKG

@lyra/form-builder

Version:
79 lines (54 loc) 2.37 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = resolveInputComponent; var _customInputs = require('./customInputs'); var _customInputs2 = _interopRequireDefault(_customInputs); var _defaultInputs = require('./defaultInputs'); var _defaultInputs2 = _interopRequireDefault(_defaultInputs); var _is = require('../../utils/is'); var is = _interopRequireWildcard(_is); var _resolveReferenceInput = require('./resolveReferenceInput'); var _resolveReferenceInput2 = _interopRequireDefault(_resolveReferenceInput); var _resolveArrayInput = require('./resolveArrayInput'); var _resolveArrayInput2 = _interopRequireDefault(_resolveArrayInput); var _resolveStringInput = require('./resolveStringInput'); var _resolveStringInput2 = _interopRequireDefault(_resolveStringInput); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function getExport(obj) { return obj && obj.__esModule ? obj.default : obj; } // this is needed to avoid errors due to circular imports // this can happen if a custom input component imports and tries // to access something from the form-builder immediately (top-level) let getCustomResolver = () => { const resolver = getExport(require('part:@lyra/form-builder/input-resolver?')); getCustomResolver = () => resolver; return resolver; }; function resolveTypeVariants(type) { if (is.type('array', type)) { return (0, _resolveArrayInput2.default)(type); } if (is.type('reference', type)) { return (0, _resolveReferenceInput2.default)(type); } // String input with a select if (is.type('string', type)) { return (0, _resolveStringInput2.default)(type); } return null; } function resolveInputComponent(type) { const customResolver = getCustomResolver(); const custom = customResolver && customResolver(type); if (custom) { return custom; } if (type.inputComponent) { return type.inputComponent; } return resolveTypeVariants(type) || _customInputs2.default[type.name] || _defaultInputs2.default[type.name]; }