mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-30 15:28:18 +00:00
fix: remove as Type
This commit is contained in:
parent
6aa02e612f
commit
5d042dd533
@ -1,25 +1,27 @@
|
||||
import { AssetsJson, ComponentDescription } from '@alilc/lowcode-types';
|
||||
|
||||
/* eslint-disable no-param-reassign */
|
||||
import { AssetsJson, ComponentDescription, Package, RemoteComponentDescription } from '@alilc/lowcode-types';
|
||||
|
||||
// TODO: 该转换逻辑未来需要消化掉
|
||||
export function assetsTransform(assets: AssetsJson) {
|
||||
const { components, packages } = assets;
|
||||
const packageMaps = (packages || []).reduce((acc, cur) => {
|
||||
const key = (cur.id || cur.package) as string;
|
||||
const packageMaps = (packages || []).reduce((acc: Record<string, Package>, cur: Package) => {
|
||||
const key = cur.id || cur.package || '';
|
||||
acc[key] = cur;
|
||||
return acc;
|
||||
}, {} as any);
|
||||
components.forEach((componentDesc) => {
|
||||
let { devMode, schema, reference } = componentDesc as ComponentDescription;
|
||||
components.forEach((componentDesc: ComponentDescription | RemoteComponentDescription) => {
|
||||
let { devMode, schema, reference } = componentDesc;
|
||||
if ((devMode as string) === 'lowcode') {
|
||||
devMode = 'lowCode';
|
||||
} else if (devMode === 'proCode') {
|
||||
devMode = 'proCode';
|
||||
}
|
||||
if (devMode) {
|
||||
(componentDesc as ComponentDescription).devMode = devMode;
|
||||
componentDesc.devMode = devMode;
|
||||
}
|
||||
if (devMode === 'lowCode' && !schema && reference) {
|
||||
(componentDesc as ComponentDescription).schema = packageMaps[reference.id as string].schema;
|
||||
const referenceId = reference.id || '';
|
||||
componentDesc.schema = packageMaps[referenceId].schema;
|
||||
}
|
||||
});
|
||||
return assets;
|
||||
|
||||
@ -2,6 +2,7 @@ import { Snippet, ComponentMetadata } from './metadata';
|
||||
import { I18nData } from './i18n';
|
||||
import { Reference } from './npm';
|
||||
import { EitherOr } from './utils';
|
||||
import { ComponentSchema } from './schema';
|
||||
|
||||
export interface AssetItem {
|
||||
type: AssetType;
|
||||
@ -148,6 +149,10 @@ export type Package = EitherOr<{
|
||||
* 组件描述导出名字,可以通过 window[exportName] 获取到组件描述的 Object 内容;
|
||||
*/
|
||||
exportName?: string;
|
||||
/**
|
||||
* 低代码组件 schema 内容
|
||||
*/
|
||||
schema?: ComponentSchema;
|
||||
}, 'package', 'id'>;
|
||||
|
||||
/**
|
||||
@ -223,7 +228,7 @@ export interface ComponentDescription extends ComponentMetadata {
|
||||
/**
|
||||
* 远程物料描述
|
||||
*/
|
||||
export interface RemoteComponentDescription {
|
||||
export interface RemoteComponentDescription extends ComponentMetadata {
|
||||
/**
|
||||
* 组件描述导出名字,可以通过 window[exportName] 获取到组件描述的 Object 内容;
|
||||
*/
|
||||
@ -233,9 +238,14 @@ export interface RemoteComponentDescription {
|
||||
*/
|
||||
url?: string;
|
||||
/**
|
||||
* 组件(库)的 npm 信息;
|
||||
* 组件 (库) 的 npm 信息;
|
||||
*/
|
||||
package?: {
|
||||
npm?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 替代 npm 字段的升级版本
|
||||
*/
|
||||
reference?: Reference;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user