fix: 🐛 fix bug of transforming type

This commit is contained in:
gengyang 2020-03-03 11:52:43 +08:00
parent 6e661686e4
commit ebbe58df70
17 changed files with 552 additions and 276 deletions

View File

@ -17,38 +17,47 @@ import BaseParser from './BaseParser';
const log = debug.extend('mat'); const log = debug.extend('mat');
const parser = buildParser(); const parser = buildParser();
function transformType(item: any): any { function transformType(type: any): any {
switch (typeof item) { const { name, value, computed, required } = type;
case 'string': if (!value && !required) {
return { return name;
propType: item,
};
case 'object':
if (Array.isArray(item)) {
return item.map(transformType);
} else if (Object.keys(item).length === 1 && item.name) {
return {
propType: item.name,
};
} else if (item.name === 'shape' || item.name === 'exact') {
return {
propType: item.name,
value: Object.keys(item.value).map(name => {
return {
name,
...transformType(item.value[name]),
};
}),
};
} else if (item.name === 'enum') {
return item.value.map((x: any) => x.value);
} else {
return {
propType: item.name,
isRequired: item.required,
};
}
} }
if (computed !== undefined && value) {
// tslint:disable-next-line:no-eval
return eval(value);
}
const result: any = {
type: name,
};
if (required) {
result.isRequired = required;
}
if (Array.isArray(value)) {
if (name === 'enum') {
result.type = 'oneOf';
}
result.value = value.map(transformType);
} else if (typeof value === 'object') {
if (name === 'objectOf' || name === 'arrayOf' || name === 'instanceOf') {
result.value = transformType(value);
} else {
result.value = Object.keys(value).map((n: string) => {
return transformItem(n, value[n]);
});
}
} else if (value !== undefined) {
result.value = value;
}
return result;
}
function transformItem(name: string, item: any): any {
const result: any = {
name,
propType: transformType(item),
};
return result;
} }
/** /**
* react * react
@ -120,10 +129,14 @@ class ReactParser extends BaseParser {
} }
public static parseProperties(objectPath: any): IPropTypes { public static parseProperties(objectPath: any): IPropTypes {
const results: IPropTypes = objectPath.get('properties').map((p: any) => ({ const results: IPropTypes = objectPath
name: p.get('key').node.name, .get('properties')
...transformType(ReactDocUtils.getPropType(p.get('value'))), .map((p: any) =>
})); transformItem(
p.get('key').node.name,
ReactDocUtils.getPropType(p.get('value')),
),
);
// console.log(JSON.stringify(results, null, 2)); // console.log(JSON.stringify(results, null, 2));
// objectPath.node.properties.forEach((prop: any) => { // objectPath.node.properties.forEach((prop: any) => {
// if (t.isProperty(prop)) { // if (t.isProperty(prop)) {
@ -239,7 +252,7 @@ class ReactParser extends BaseParser {
path.node.expression.left.object.name === defaultExportName && path.node.expression.left.object.name === defaultExportName &&
['propTypes'].includes(path.node.expression.left.property.name) ['propTypes'].includes(path.node.expression.left.property.name)
) { ) {
debugger; // debugger;
// 处理 propTypes // 处理 propTypes
results.push( results.push(
// @ts-ignore // @ts-ignore

View File

@ -25,9 +25,17 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -82,9 +90,17 @@ Generated by [AVA](https://avajs.dev).
propType: 'string', propType: 'string',
}, },
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -151,9 +167,17 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -196,9 +220,17 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -233,9 +265,18 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
'string',
],
},
}, },
{ {
name: 'type', name: 'type',
@ -286,9 +327,17 @@ Generated by [AVA](https://avajs.dev).
propType: 'object', propType: 'object',
}, },
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
'element',
{
type: 'arrayOf',
value: 'element',
},
],
},
}, },
], ],
screenshot: '', screenshot: '',
@ -358,77 +407,106 @@ Generated by [AVA](https://avajs.dev).
propType: 'elementType', propType: 'elementType',
}, },
{ {
isRequired: undefined,
name: 'optionalMessage', name: 'optionalMessage',
propType: 'instanceOf', propType: {
type: 'instanceOf',
value: 'Demo',
},
}, },
{ {
0: '\'News\'',
1: '\'Photos\'',
name: 'optionalEnum', name: 'optionalEnum',
propType: {
type: 'oneOf',
value: [
'News',
'Photos',
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalUnion', name: 'optionalUnion',
propType: 'union', propType: {
type: 'union',
value: [
'string',
'number',
{
type: 'instanceOf',
value: 'Demo',
},
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalArrayOf', name: 'optionalArrayOf',
propType: 'arrayOf', propType: {
type: 'arrayOf',
value: 'number',
},
}, },
{ {
isRequired: undefined,
name: 'optionalObjectOf', name: 'optionalObjectOf',
propType: 'objectOf', propType: {
type: 'objectOf',
value: 'number',
},
}, },
{ {
name: 'optionalObjectWithShape', name: 'optionalObjectWithShape',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithShape2', name: 'optionalObjectWithShape2',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithStrictShape', name: 'optionalObjectWithStrictShape',
propType: 'exact', propType: {
value: [ type: 'exact',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'requiredFunc', name: 'requiredFunc',

View File

@ -25,9 +25,17 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -82,9 +90,17 @@ Generated by [AVA](https://avajs.dev).
propType: 'string', propType: 'string',
}, },
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -151,9 +167,17 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -196,9 +220,17 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -233,9 +265,18 @@ Generated by [AVA](https://avajs.dev).
}, },
props: [ props: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
'string',
],
},
}, },
{ {
name: 'type', name: 'type',
@ -286,9 +327,17 @@ Generated by [AVA](https://avajs.dev).
propType: 'object', propType: 'object',
}, },
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
'element',
{
type: 'arrayOf',
value: 'element',
},
],
},
}, },
], ],
screenshot: '', screenshot: '',
@ -358,77 +407,106 @@ Generated by [AVA](https://avajs.dev).
propType: 'elementType', propType: 'elementType',
}, },
{ {
isRequired: undefined,
name: 'optionalMessage', name: 'optionalMessage',
propType: 'instanceOf', propType: {
type: 'instanceOf',
value: 'Demo',
},
}, },
{ {
0: '\'News\'',
1: '\'Photos\'',
name: 'optionalEnum', name: 'optionalEnum',
propType: {
type: 'oneOf',
value: [
'News',
'Photos',
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalUnion', name: 'optionalUnion',
propType: 'union', propType: {
type: 'union',
value: [
'string',
'number',
{
type: 'instanceOf',
value: 'Demo',
},
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalArrayOf', name: 'optionalArrayOf',
propType: 'arrayOf', propType: {
type: 'arrayOf',
value: 'number',
},
}, },
{ {
isRequired: undefined,
name: 'optionalObjectOf', name: 'optionalObjectOf',
propType: 'objectOf', propType: {
type: 'objectOf',
value: 'number',
},
}, },
{ {
name: 'optionalObjectWithShape', name: 'optionalObjectWithShape',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithShape2', name: 'optionalObjectWithShape2',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithStrictShape', name: 'optionalObjectWithStrictShape',
propType: 'exact', propType: {
value: [ type: 'exact',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'requiredFunc', name: 'requiredFunc',

View File

@ -65,77 +65,106 @@ Generated by [AVA](https://avajs.dev).
propType: 'elementType', propType: 'elementType',
}, },
{ {
isRequired: undefined,
name: 'optionalMessage', name: 'optionalMessage',
propType: 'instanceOf', propType: {
type: 'instanceOf',
value: 'Demo',
},
}, },
{ {
0: '\'News\'',
1: '\'Photos\'',
name: 'optionalEnum', name: 'optionalEnum',
propType: {
type: 'oneOf',
value: [
'News',
'Photos',
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalUnion', name: 'optionalUnion',
propType: 'union', propType: {
type: 'union',
value: [
'string',
'number',
{
type: 'instanceOf',
value: 'Demo',
},
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalArrayOf', name: 'optionalArrayOf',
propType: 'arrayOf', propType: {
type: 'arrayOf',
value: 'number',
},
}, },
{ {
isRequired: undefined,
name: 'optionalObjectOf', name: 'optionalObjectOf',
propType: 'objectOf', propType: {
type: 'objectOf',
value: 'number',
},
}, },
{ {
name: 'optionalObjectWithShape', name: 'optionalObjectWithShape',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithShape2', name: 'optionalObjectWithShape2',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithStrictShape', name: 'optionalObjectWithStrictShape',
propType: 'exact', propType: {
value: [ type: 'exact',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'requiredFunc', name: 'requiredFunc',

View File

@ -176,9 +176,17 @@ Generated by [AVA](https://avajs.dev).
propsDefaults: [], propsDefaults: [],
propsTypes: [ propsTypes: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -295,9 +303,17 @@ Generated by [AVA](https://avajs.dev).
propType: 'string', propType: 'string',
}, },
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -502,9 +518,17 @@ Generated by [AVA](https://avajs.dev).
propsDefaults: [], propsDefaults: [],
propsTypes: [ propsTypes: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -599,9 +623,17 @@ Generated by [AVA](https://avajs.dev).
propsDefaults: [], propsDefaults: [],
propsTypes: [ propsTypes: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
],
},
}, },
{ {
name: 'styleBoxModel', name: 'styleBoxModel',
@ -703,9 +735,18 @@ Generated by [AVA](https://avajs.dev).
propsDefaults: [], propsDefaults: [],
propsTypes: [ propsTypes: [
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
{
type: 'arrayOf',
value: 'node',
},
'node',
'string',
],
},
}, },
{ {
name: 'type', name: 'type',
@ -793,9 +834,17 @@ Generated by [AVA](https://avajs.dev).
propType: 'object', propType: 'object',
}, },
{ {
isRequired: undefined,
name: 'children', name: 'children',
propType: 'union', propType: {
type: 'union',
value: [
'element',
{
type: 'arrayOf',
value: 'element',
},
],
},
}, },
], ],
subModules: [], subModules: [],
@ -897,77 +946,106 @@ Generated by [AVA](https://avajs.dev).
propType: 'elementType', propType: 'elementType',
}, },
{ {
isRequired: undefined,
name: 'optionalMessage', name: 'optionalMessage',
propType: 'instanceOf', propType: {
type: 'instanceOf',
value: 'Demo',
},
}, },
{ {
0: '\'News\'',
1: '\'Photos\'',
name: 'optionalEnum', name: 'optionalEnum',
propType: {
type: 'oneOf',
value: [
'News',
'Photos',
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalUnion', name: 'optionalUnion',
propType: 'union', propType: {
type: 'union',
value: [
'string',
'number',
{
type: 'instanceOf',
value: 'Demo',
},
],
},
}, },
{ {
isRequired: undefined,
name: 'optionalArrayOf', name: 'optionalArrayOf',
propType: 'arrayOf', propType: {
type: 'arrayOf',
value: 'number',
},
}, },
{ {
isRequired: undefined,
name: 'optionalObjectOf', name: 'optionalObjectOf',
propType: 'objectOf', propType: {
type: 'objectOf',
value: 'number',
},
}, },
{ {
name: 'optionalObjectWithShape', name: 'optionalObjectWithShape',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithShape2', name: 'optionalObjectWithShape2',
propType: 'shape', propType: {
value: [ type: 'shape',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'optionalObjectWithStrictShape', name: 'optionalObjectWithStrictShape',
propType: 'exact', propType: {
value: [ type: 'exact',
{ value: [
isRequired: false, {
name: 'optionalProperty', name: 'optionalProperty',
propType: 'string', propType: 'string',
}, },
{ {
isRequired: true, name: 'requiredProperty',
name: 'requiredProperty', propType: {
propType: 'number', isRequired: true,
}, type: 'number',
], },
},
],
},
}, },
{ {
name: 'requiredFunc', name: 'requiredFunc',

View File

@ -1 +1 @@
{"componentName":"AIMakeBlank","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeBlank","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"styleFlexLayout","propType":"object"},{"name":"style","propType":"object"},{"name":"id","propType":"string"}]} {"componentName":"AIMakeBlank","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeBlank","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"union","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"styleFlexLayout","propType":"object"},{"name":"style","propType":"object"},{"name":"id","propType":"string"}]}

View File

@ -1 +1 @@
{"componentName":"AIMakeIcon","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeIcon","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string"},{"name":"iconClassName","propType":"string"},{"name":"children","propType":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]} {"componentName":"AIMakeIcon","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeIcon","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string"},{"name":"iconClassName","propType":"string"},{"name":"children","propType":{"type":"union","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]}

View File

@ -1 +1 @@
{"componentName":"AIMakeImage","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeImage","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":"object"},{"name":"style","propType":"object"}]} {"componentName":"AIMakeImage","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeImage","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":"object"},{"name":"style","propType":"object"}]}

View File

@ -1 +1 @@
{"componentName":"AIMakeLink","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeLink","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]} {"componentName":"AIMakeLink","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeLink","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"union","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]}

View File

@ -1 +1 @@
{"componentName":"AIMakePlaceholder","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakePlaceholder","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"union"},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"style","propType":"object"}]} {"componentName":"AIMakePlaceholder","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakePlaceholder","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"union","value":[{"type":"arrayOf","value":"node"},"node"]}},{"name":"styleBoxModel","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"style","propType":"object"}]}

View File

@ -1 +1 @@
{"componentName":"AIMakeText","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"AIMakeText","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"union"},{"name":"type","propType":"string"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]} {"componentName":"AIMakeText","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeText","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":{"type":"union","value":[{"type":"arrayOf","value":"node"},"node","string"]}},{"name":"type","propType":"string"},{"name":"styleBoxModel","propType":"object"},{"name":"styleText","propType":"object"},{"name":"styleLayout","propType":"object"},{"name":"styleBackground","propType":"object"},{"name":"style","propType":"object"}]}

View File

@ -1 +1 @@
{"componentName":"Root","title":"","docUrl":"","screenshot":"","npm":{"package":"@ali/lowcode-engine-material-parser","version":"0.1.0","exportName":"Root","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object"},{"name":"children","propType":"union"}]} {"componentName":"Root","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"Root","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object"},{"name":"children","propType":{"type":"union","value":["element",{"type":"arrayOf","value":"element"}]}}]}

View File

@ -1 +1 @@
{"componentName":"Demo","title":"","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"Demo","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array"},{"name":"optionalBool","propType":"bool"},{"name":"optionalFunc","propType":"func"},{"name":"optionalNumber","propType":"number"},{"name":"optionalObject","propType":"object"},{"name":"optionalString","propType":"string"},{"name":"optionalSymbol","propType":"symbol"},{"name":"optionalNode","propType":"node"},{"name":"optionalElement","propType":"element"},{"name":"optionalElementType","propType":"elementType"},{"name":"optionalMessage","propType":"instanceOf"},{"0":"'News'","1":"'Photos'","name":"optionalEnum"},{"name":"optionalUnion","propType":"union"},{"name":"optionalArrayOf","propType":"arrayOf"},{"name":"optionalObjectOf","propType":"objectOf"},{"name":"optionalObjectWithShape","propType":"shape","value":[{"name":"optionalProperty","propType":"string","isRequired":false},{"name":"requiredProperty","propType":"number","isRequired":true}]},{"name":"optionalObjectWithShape2","propType":"shape","value":[{"name":"optionalProperty","propType":"string","isRequired":false},{"name":"requiredProperty","propType":"number","isRequired":true}]},{"name":"optionalObjectWithStrictShape","propType":"exact","value":[{"name":"optionalProperty","propType":"string","isRequired":false},{"name":"requiredProperty","propType":"number","isRequired":true}]},{"name":"requiredFunc","propType":"func"},{"name":"requiredAny","propType":"any"}]} {"componentName":"Demo","title":"","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"Demo","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array"},{"name":"optionalBool","propType":"bool"},{"name":"optionalFunc","propType":"func"},{"name":"optionalNumber","propType":"number"},{"name":"optionalObject","propType":"object"},{"name":"optionalString","propType":"string"},{"name":"optionalSymbol","propType":"symbol"},{"name":"optionalNode","propType":"node"},{"name":"optionalElement","propType":"element"},{"name":"optionalElementType","propType":"elementType"},{"name":"optionalMessage","propType":{"type":"instanceOf","value":"Demo"}},{"name":"optionalEnum","propType":{"type":"oneOf","value":["News","Photos"]}},{"name":"optionalUnion","propType":{"type":"union","value":["string","number",{"type":"instanceOf","value":"Demo"}]}},{"name":"optionalArrayOf","propType":{"type":"arrayOf","value":"number"}},{"name":"optionalObjectOf","propType":{"type":"objectOf","value":"number"}},{"name":"optionalObjectWithShape","propType":{"type":"shape","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"optionalObjectWithShape2","propType":{"type":"shape","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"optionalObjectWithStrictShape","propType":{"type":"exact","value":[{"name":"optionalProperty","propType":"string"},{"name":"requiredProperty","propType":{"type":"number","isRequired":true}}]}},{"name":"requiredFunc","propType":"func"},{"name":"requiredAny","propType":"any"}]}