@cloudbase/cals 0.5.13-alpha.2 → 0.5.13-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/utils/dts/index.d.ts
CHANGED
|
@@ -27,8 +27,10 @@ export interface IInputDataRedefineAnyType {
|
|
|
27
27
|
module: string;
|
|
28
28
|
component: string;
|
|
29
29
|
widgetId: string;
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
updateProps: {
|
|
31
|
+
widgetPropName: string;
|
|
32
|
+
widgetPropTypeSchema: IJsonSchemaAny;
|
|
33
|
+
}[];
|
|
32
34
|
}
|
|
33
35
|
export interface IOptions {
|
|
34
36
|
isCompMode?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/dts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IACpC,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,EAAE,CAAA;CACvF;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AACD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/dts/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/dts/index.js
CHANGED
|
@@ -88,14 +88,16 @@ class WeDaDTS {
|
|
|
88
88
|
*/
|
|
89
89
|
static updateDTSPartial(inputData, itemType, options = { setEmptyIfError: false }) {
|
|
90
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
let dts = '';
|
|
92
91
|
try {
|
|
93
|
-
[dts,
|
|
92
|
+
const [dts, replaceRules] = yield _generateOneItemDTS(inputData, itemType);
|
|
93
|
+
replaceRules.forEach(rule => {
|
|
94
|
+
WeDaDTS._dts = WeDaDTS._dts.replace(rule.from, rule.to);
|
|
95
|
+
});
|
|
94
96
|
WeDaDTS._dts = WeDaDTS._dts.replace(new RegExp(`^(\\s*\\/\\/ ${DtsInnerSign[itemType]} Begin)[\\s\\S]*(^\\s*\\/\\/ ${DtsInnerSign[itemType]} End)`, 'm'), `$1\n${dts}\n$2`);
|
|
95
97
|
}
|
|
96
98
|
catch (e) {
|
|
97
99
|
if (options.setEmptyIfError) {
|
|
98
|
-
WeDaDTS._dts = WeDaDTS._dts.replace(new RegExp(`^(\\s*\\/\\/ ${DtsInnerSign[itemType]} Begin)[\\s\\S]*(^\\s*\\/\\/ ${DtsInnerSign[itemType]} End)`, 'm'), `$1\n${
|
|
100
|
+
WeDaDTS._dts = WeDaDTS._dts.replace(new RegExp(`^(\\s*\\/\\/ ${DtsInnerSign[itemType]} Begin)[\\s\\S]*(^\\s*\\/\\/ ${DtsInnerSign[itemType]} End)`, 'm'), `$1\n${''}\n$2`);
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
});
|
|
@@ -168,8 +170,9 @@ function genWeDaCodeComment({ fieldName, title, description, type, group }) {
|
|
|
168
170
|
/**
|
|
169
171
|
* 生成指定类型的 DTS
|
|
170
172
|
*/
|
|
171
|
-
function _generateOneItemDTS(inputData, itemType
|
|
173
|
+
function _generateOneItemDTS(inputData, itemType) {
|
|
172
174
|
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const replaceRules = [];
|
|
173
176
|
/**
|
|
174
177
|
* 处理注释信息
|
|
175
178
|
*/
|
|
@@ -402,24 +405,49 @@ function _generateOneItemDTS(inputData, itemType, currentWholdDTS) {
|
|
|
402
405
|
const results = yield Promise.all(inputData.map((item) => __awaiter(this, void 0, void 0, function* () {
|
|
403
406
|
const compInterfaceName = _genCompInterfaceName(item.module, item.component);
|
|
404
407
|
const widgetInterfaceName = `${item.widgetId}_${compInterfaceName}`;
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
408
|
+
/**
|
|
409
|
+
* 更新
|
|
410
|
+
*/
|
|
411
|
+
replaceRules.push({
|
|
412
|
+
from: new RegExp(`(const ${item.widgetId}): .*`),
|
|
413
|
+
to: `$1: ${widgetInterfaceName}`
|
|
414
|
+
});
|
|
415
|
+
/**
|
|
416
|
+
* 增加类
|
|
417
|
+
*/
|
|
418
|
+
const propDefinitions = yield Promise.all(item.updateProps.map((prop) => __awaiter(this, void 0, void 0, function* () {
|
|
419
|
+
const properties = _handleComment(prop.widgetPropTypeSchema, GroupEnum.DATA_FIELD);
|
|
420
|
+
const widgetPropTypeDTS = yield _compile(Object.assign(Object.assign({}, prop.widgetPropTypeSchema), properties), true);
|
|
421
|
+
// 是否是多层级字段,如 "a.b"
|
|
422
|
+
// FIXME: 当前只支持 a.b 这种形式,不支持 a[].b
|
|
423
|
+
const multiLevelField = prop.widgetPropName.includes('.');
|
|
424
|
+
let multiLevelFields = [];
|
|
425
|
+
let multiLevelFieldObj = {};
|
|
426
|
+
let firstField = '';
|
|
427
|
+
let othersFields = [];
|
|
428
|
+
if (multiLevelField) {
|
|
429
|
+
multiLevelFields = prop.widgetPropName.split('.');
|
|
430
|
+
(0, lodash_1.set)(multiLevelFieldObj, prop.widgetPropName, "$$schema$$");
|
|
431
|
+
const [_firstField, ..._othersFields] = multiLevelFields;
|
|
432
|
+
firstField = _firstField;
|
|
433
|
+
othersFields = _othersFields;
|
|
434
|
+
}
|
|
435
|
+
return `
|
|
436
|
+
/**
|
|
437
|
+
${genWeDaCodeComment({
|
|
438
|
+
fieldName: prop.widgetPropName,
|
|
439
|
+
title: prop.widgetPropTypeSchema.title,
|
|
440
|
+
description: prop.widgetPropTypeSchema.description,
|
|
441
|
+
group: undefined,
|
|
442
|
+
type: getDisplayReturnType(widgetPropTypeDTS)
|
|
443
|
+
}).split('\n').map(item => `* ${item}`).join('\n')}
|
|
444
|
+
*/
|
|
445
|
+
${multiLevelField ? `${firstField}: Omit<${compInterfaceName}['${firstField}'], '${othersFields.join(".")}'> & ${JSON.stringify(multiLevelFieldObj[firstField]).replace('"$$schema$$"', widgetPropTypeDTS)}` : `${prop.widgetPropName}: ${widgetPropTypeDTS}`}
|
|
446
|
+
`;
|
|
447
|
+
})));
|
|
410
448
|
return `
|
|
411
449
|
declare class ${widgetInterfaceName} extends ${compInterfaceName} {
|
|
412
|
-
|
|
413
|
-
/**
|
|
414
|
-
${genWeDaCodeComment({
|
|
415
|
-
fieldName: item.widgetPropName,
|
|
416
|
-
title: item.widgetPropTypeSchema.title,
|
|
417
|
-
description: item.widgetPropTypeSchema.description,
|
|
418
|
-
group: undefined,
|
|
419
|
-
type: getDisplayReturnType(widgetPropTypeDTS)
|
|
420
|
-
}).split('\n').map(item => `* ${item}`).join('\n')}
|
|
421
|
-
*/
|
|
422
|
-
${item.widgetPropName}: ${widgetPropTypeDTS}
|
|
450
|
+
${propDefinitions.join('\n')}
|
|
423
451
|
}
|
|
424
452
|
`;
|
|
425
453
|
})));
|
|
@@ -429,14 +457,14 @@ function _generateOneItemDTS(inputData, itemType, currentWholdDTS) {
|
|
|
429
457
|
};
|
|
430
458
|
let dts = '';
|
|
431
459
|
if (!inputData)
|
|
432
|
-
return dts;
|
|
460
|
+
return [dts, replaceRules];
|
|
433
461
|
const handler = hanlderMap[itemType];
|
|
434
462
|
// 优先判断是否有独立的处理逻辑
|
|
435
463
|
if (handler) {
|
|
436
464
|
dts = yield handler.call(hanlderMap, inputData);
|
|
437
465
|
}
|
|
438
466
|
dts = dts || (yield _compile(inputData));
|
|
439
|
-
return [dts,
|
|
467
|
+
return [dts, replaceRules];
|
|
440
468
|
});
|
|
441
469
|
}
|
|
442
470
|
// 仅仅为了与 unittest 共享,外部请不要使用
|