Skip to content

Commit 5d042dd

Browse files
JackLianliujuping
authored andcommitted
fix: remove as Type
1 parent 6aa02e6 commit 5d042dd

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

packages/editor-core/src/utils/assets-transform.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
1-
import { AssetsJson, ComponentDescription } from '@alilc/lowcode-types';
2-
1+
/* eslint-disable no-param-reassign */
2+
import { AssetsJson, ComponentDescription, Package, RemoteComponentDescription } from '@alilc/lowcode-types';
33

4+
// TODO: 该转换逻辑未来需要消化掉
45
export function assetsTransform(assets: AssetsJson) {
56
const { components, packages } = assets;
6-
const packageMaps = (packages || []).reduce((acc, cur) => {
7-
const key = (cur.id || cur.package) as string;
7+
const packageMaps = (packages || []).reduce((acc: Record<string, Package>, cur: Package) => {
8+
const key = cur.id || cur.package || '';
89
acc[key] = cur;
910
return acc;
1011
}, {} as any);
11-
components.forEach((componentDesc) => {
12-
let { devMode, schema, reference } = componentDesc as ComponentDescription;
12+
components.forEach((componentDesc: ComponentDescription | RemoteComponentDescription) => {
13+
let { devMode, schema, reference } = componentDesc;
1314
if ((devMode as string) === 'lowcode') {
1415
devMode = 'lowCode';
1516
} else if (devMode === 'proCode') {
1617
devMode = 'proCode';
1718
}
1819
if (devMode) {
19-
(componentDesc as ComponentDescription).devMode = devMode;
20+
componentDesc.devMode = devMode;
2021
}
2122
if (devMode === 'lowCode' && !schema && reference) {
22-
(componentDesc as ComponentDescription).schema = packageMaps[reference.id as string].schema;
23+
const referenceId = reference.id || '';
24+
componentDesc.schema = packageMaps[referenceId].schema;
2325
}
2426
});
2527
return assets;

packages/types/src/assets.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Snippet, ComponentMetadata } from './metadata';
22
import { I18nData } from './i18n';
33
import { Reference } from './npm';
44
import { EitherOr } from './utils';
5+
import { ComponentSchema } from './schema';
56

67
export interface AssetItem {
78
type: AssetType;
@@ -148,6 +149,10 @@ export type Package = EitherOr<{
148149
* 组件描述导出名字,可以通过 window[exportName] 获取到组件描述的 Object 内容;
149150
*/
150151
exportName?: string;
152+
/**
153+
* 低代码组件 schema 内容
154+
*/
155+
schema?: ComponentSchema;
151156
}, 'package', 'id'>;
152157

153158
/**
@@ -223,7 +228,7 @@ export interface ComponentDescription extends ComponentMetadata {
223228
/**
224229
* 远程物料描述
225230
*/
226-
export interface RemoteComponentDescription {
231+
export interface RemoteComponentDescription extends ComponentMetadata {
227232
/**
228233
* 组件描述导出名字,可以通过 window[exportName] 获取到组件描述的 Object 内容;
229234
*/
@@ -233,9 +238,14 @@ export interface RemoteComponentDescription {
233238
*/
234239
url?: string;
235240
/**
236-
* 组件(库)的 npm 信息;
241+
* 组件 (库) 的 npm 信息;
237242
*/
238243
package?: {
239244
npm?: string;
240245
};
246+
247+
/**
248+
* 替代 npm 字段的升级版本
249+
*/
250+
reference?: Reference;
241251
}

0 commit comments

Comments
 (0)