in packages/build-plugin-lowcode/src/utils/parse-props.js [117:177]
extraSetter: propTypeToSetter(typeName === 'objectOf' ? propType.value : 'any'),
},
},
isRequired,
initialValue: {},
};
case 'array':
case 'arrayOf':
return {
componentName: 'ArraySetter',
props: {
itemSetter: propTypeToSetter(typeName === 'arrayOf' ? propType.value : 'any'),
},
isRequired,
initialValue: [],
};
case 'func':
return {
componentName: 'FunctionSetter',
isRequired,
};
case 'color':
return {
componentName: 'ColorSetter',
isRequired,
};
case 'oneOfType':
return {
componentName: 'MixedSetter',
props: {
// TODO:
setters: (propType.value || []).map((item) => propTypeToSetter(item)),
},
isRequired,
};
default:
// do nothing
}
return {
componentName: 'MixedSetter',
isRequired,
props: {},
};
}
const EVENT_RE = /^on|after|before[A-Z][\w]*$/;
module.exports = function (metadata) {
const { configure = {} } = metadata;
// TODO types后续补充
let extendsProps = null;
if (configure.props) {
if (Array.isArray(configure.props)) {
return metadata;
}
const { isExtends, override = [] } = configure.props;
// 不开启继承时,直接返回configure配置
if (!isExtends) {
return {
...metadata,
configure: {