(libraryMap: LibraryMap,
componentsMap: { [componentName: string]: IPublicTypeNpmInfo | ComponentType<any> | IPublicTypeComponentSchema },
createComponent: (schema: IPublicTypeProjectSchema<IPublicTypeComponentSchema>) => Component | null)
| 96 | } |
| 97 | |
| 98 | export function buildComponents(libraryMap: LibraryMap, |
| 99 | componentsMap: { [componentName: string]: IPublicTypeNpmInfo | ComponentType<any> | IPublicTypeComponentSchema }, |
| 100 | createComponent: (schema: IPublicTypeProjectSchema<IPublicTypeComponentSchema>) => Component | null) { |
| 101 | const components: any = {}; |
| 102 | Object.keys(componentsMap).forEach((componentName) => { |
| 103 | let component = componentsMap[componentName]; |
| 104 | if (component && (isLowcodeProjectSchema(component) || isComponentSchema(component))) { |
| 105 | if (isComponentSchema(component)) { |
| 106 | components[componentName] = createComponent({ |
| 107 | version: '', |
| 108 | componentsMap: [], |
| 109 | componentsTree: [component], |
| 110 | }); |
| 111 | } else { |
| 112 | components[componentName] = createComponent(component); |
| 113 | } |
| 114 | } else if (isReactComponent(component)) { |
| 115 | if (!acceptsRef(component)) { |
| 116 | component = wrapReactClass(component as FunctionComponent); |
| 117 | } |
| 118 | components[componentName] = component; |
| 119 | } else if (isMixinComponent(component)) { |
| 120 | components[componentName] = component; |
| 121 | } else { |
| 122 | component = findComponent(libraryMap, componentName, component); |
| 123 | if (component) { |
| 124 | if (!acceptsRef(component) && isReactComponent(component)) { |
| 125 | component = wrapReactClass(component as FunctionComponent); |
| 126 | } |
| 127 | components[componentName] = component; |
| 128 | } |
| 129 | } |
| 130 | }); |
| 131 | return components; |
| 132 | } |
| 133 | |
| 134 | export interface UtilsMetadata { |
| 135 | name: string; |
no test coverage detected
searching dependent graphs…