in packages/build-plugin-lowcode/src/index.js [93:134]
function formatComponentSchema(schema) {
let { props } = schema;
const defaultProps = {};
let noStyleProp = true;
if (props && Array.isArray(props)) {
props.forEach((prop) => {
if (prop.defaultValue) {
defaultProps[prop.name] = prop.defaultValue;
}
if (noStyleProp && ['style'].includes(prop.name)) {
noStyleProp = false;
}
});
if (noStyleProp) {
props.push({
name: 'style',
propType: 'object',
});
}
} else {
props = [
{
name: 'style',
propType: 'object',
},
];
}
schema.props = props;
const parsedSchema = parseProps(schema);
delete parsedSchema.props;
parsedSchema.snippets = [
{
title: schema.componentName,
screenshot: schema.screenshot,
schema: {
componentName: schema.componentName,
props: defaultProps,
},
},
];
return parsedSchema;
}