@cloudbase/cals 0.3.28 → 0.3.30-alpha.1
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/parser/cals/index.d.ts +1 -1
- package/lib/parser/cals/index.d.ts.map +1 -1
- package/lib/parser/cals/index.js +51 -72
- package/lib/parser/cals/utils/common.d.ts.map +1 -1
- package/lib/parser/cals/utils/common.js +6 -12
- package/lib/parser/cals/utils/runtime.d.ts.map +1 -1
- package/lib/parser/cals/utils/runtime.js +19 -17
- package/lib/parser/cals/utils/transform/index.d.ts +4 -0
- package/lib/parser/cals/utils/transform/index.d.ts.map +1 -0
- package/lib/parser/cals/utils/transform/index.js +247 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/lcds.d.ts +30 -0
- package/lib/types/lcds.d.ts.map +1 -1
- package/lib/types/platform/common.d.ts +13 -1
- package/lib/types/platform/common.d.ts.map +1 -1
- package/lib/types/platform/common.js +4 -0
- package/lib/types/platform/widget/form.js +0 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { getUsedComps } from './utils/common';
|
|
2
1
|
import { IAttributes, IPlatformApp, IComplexComponent, IBasicComponent, IPageComponent, IDataSourceVariable, IDataVarMethod, // 勿删,为了生成d.ts
|
|
3
2
|
IPlatformDataSource, IDependencies, LCDS } from '../../types';
|
|
4
3
|
import { IDynamicValue, PropBindType } from '../expression';
|
|
4
|
+
export { getUsedComps } from './utils/common';
|
|
5
5
|
interface IDeserializeContext {
|
|
6
6
|
app?: IPlatformApp;
|
|
7
7
|
dependencies?: any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../parser/cals/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../parser/cals/index.ts"],"names":[],"mappings":"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"}
|
package/lib/parser/cals/index.js
CHANGED
|
@@ -14,16 +14,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.deserializeComponentLibraryMeta = exports.deserializeRuntimeComponent = exports.serializeRuntimeComponent = exports.serializeRuntimePage = exports.deserializePlatformApp = exports.serializePlatformApp = exports.deserializePage = exports.serializePage = exports.deserializeComponent = exports.serializeComponent = exports.deserializeDataVariables = exports.deserializeAttributes = exports.serializeAttributes = exports.deserializeDynamicMap = exports.serializeDynamicMap = exports.deserializeValue = exports.serializeValue = exports.getUsedComps = void 0;
|
|
15
15
|
const lodash_1 = require("lodash");
|
|
16
16
|
const common_1 = require("../../types/platform/common");
|
|
17
|
-
var common_2 = require("./utils/common");
|
|
18
|
-
Object.defineProperty(exports, "getUsedComps", { enumerable: true, get: function () { return common_2.getUsedComps; } });
|
|
19
17
|
const expression_1 = require("../expression");
|
|
20
|
-
const
|
|
18
|
+
const common_2 = require("./utils/common");
|
|
21
19
|
const style_1 = require("./utils/style");
|
|
22
20
|
const runtime_1 = require("./utils/runtime");
|
|
23
21
|
const config_1 = require("./utils/version/config");
|
|
22
|
+
var common_3 = require("./utils/common");
|
|
23
|
+
Object.defineProperty(exports, "getUsedComps", { enumerable: true, get: function () { return common_3.getUsedComps; } });
|
|
24
24
|
function serializeValue({ ctx, key, dynamicValue, scope = 'page', streamlineDefaultValue, }) {
|
|
25
25
|
var _a, _b;
|
|
26
|
-
let value = dynamicValue
|
|
26
|
+
let { value } = dynamicValue;
|
|
27
27
|
let { dependenciesMap = {} } = ctx;
|
|
28
28
|
if (dynamicValue.type && dynamicValue.type !== 'static') {
|
|
29
29
|
key = `:${key}`;
|
|
@@ -80,8 +80,7 @@ function serializeValue({ ctx, key, dynamicValue, scope = 'page', streamlineDefa
|
|
|
80
80
|
let { module = '', component = '' } = ctx.component || {};
|
|
81
81
|
let sourceKey = `${module}:${component}`;
|
|
82
82
|
let config = (_b = (_a = dependenciesMap === null || dependenciesMap === void 0 ? void 0 : dependenciesMap[sourceKey]) === null || _a === void 0 ? void 0 : _a.dataForm) === null || _b === void 0 ? void 0 : _b[key];
|
|
83
|
-
if ((config === null || config === void 0 ? void 0 : config.default) === value ||
|
|
84
|
-
(config && config.default === undefined && value === '')) {
|
|
83
|
+
if ((config === null || config === void 0 ? void 0 : config.default) === value || (config && config.default === undefined && value === '')) {
|
|
85
84
|
value = undefined;
|
|
86
85
|
}
|
|
87
86
|
}
|
|
@@ -110,9 +109,7 @@ function deserializeValue(ctx, key, value, extra) {
|
|
|
110
109
|
else {
|
|
111
110
|
type = expression_1.PropBindType.expression;
|
|
112
111
|
try {
|
|
113
|
-
value = value
|
|
114
|
-
.replace(/\$app\./g, 'app.')
|
|
115
|
-
.replace(/\$for./g, 'forItems.');
|
|
112
|
+
value = value.replace(/\$app\./g, 'app.').replace(/\$for./g, 'forItems.');
|
|
116
113
|
}
|
|
117
114
|
catch (e) { }
|
|
118
115
|
}
|
|
@@ -128,7 +125,7 @@ function deserializeValue(ctx, key, value, extra) {
|
|
|
128
125
|
value: value === undefined
|
|
129
126
|
? undefined
|
|
130
127
|
: {
|
|
131
|
-
type: undefined /*'static'*/,
|
|
128
|
+
type: undefined /* 'static'*/,
|
|
132
129
|
value,
|
|
133
130
|
extra,
|
|
134
131
|
},
|
|
@@ -172,8 +169,7 @@ function serializeDynamicMapWithExtra({ ctx, map = {}, scope = 'page', streamlin
|
|
|
172
169
|
}
|
|
173
170
|
if ((0, lodash_1.get)(data, processedKey) == undefined) {
|
|
174
171
|
/* 选区结构处理 [formily] to [CALS] */
|
|
175
|
-
if (Array.isArray(processedValue) &&
|
|
176
|
-
(processedValue === null || processedValue === void 0 ? void 0 : processedValue.some((item) => item && item.selectableBlock))) {
|
|
172
|
+
if (Array.isArray(processedValue) && (processedValue === null || processedValue === void 0 ? void 0 : processedValue.some((item) => !!(item === null || item === void 0 ? void 0 : item.selectableBlock)))) {
|
|
177
173
|
let valueTmp = (0, lodash_1.cloneDeep)(processedValue);
|
|
178
174
|
processedValue = valueTmp === null || valueTmp === void 0 ? void 0 : valueTmp.map((_value) => {
|
|
179
175
|
var _a, _b, _c;
|
|
@@ -203,8 +199,7 @@ function deserializeDynamicMap(ctx, map, extraMap) {
|
|
|
203
199
|
let matched = key.match(DYNAMIC_KEY_REG);
|
|
204
200
|
let { key: processedKey, value: processedValue } = deserializeValue(ctx, key, value, extraMap === null || extraMap === void 0 ? void 0 : extraMap[matched ? matched[1] : key]);
|
|
205
201
|
/* 选区结构处理 [CALS] to [formily] */
|
|
206
|
-
if (Array.isArray(processedValue === null || processedValue === void 0 ? void 0 : processedValue.value) &&
|
|
207
|
-
((_b = processedValue === null || processedValue === void 0 ? void 0 : processedValue.value) === null || _b === void 0 ? void 0 : _b.some((item) => item && item.selectableBlock))) {
|
|
202
|
+
if (Array.isArray(processedValue === null || processedValue === void 0 ? void 0 : processedValue.value) && ((_b = processedValue === null || processedValue === void 0 ? void 0 : processedValue.value) === null || _b === void 0 ? void 0 : _b.some((item) => !!(item === null || item === void 0 ? void 0 : item.selectableBlock)))) {
|
|
208
203
|
let valueTmp = (0, lodash_1.cloneDeep)(processedValue);
|
|
209
204
|
(_c = valueTmp === null || valueTmp === void 0 ? void 0 : valueTmp.value) === null || _c === void 0 ? void 0 : _c.forEach((_value) => {
|
|
210
205
|
var _a, _b, _c, _d;
|
|
@@ -316,8 +311,7 @@ function isDatasetNeedToProcess(dataset) {
|
|
|
316
311
|
return false;
|
|
317
312
|
const hasNoParams = Object.values(dataset.state).every((item) => {
|
|
318
313
|
var _a, _b;
|
|
319
|
-
return
|
|
320
|
-
!(((_a = item.initMethod) === null || _a === void 0 ? void 0 : _a.params) || ((_b = item.updateMethod) === null || _b === void 0 ? void 0 : _b.params)));
|
|
314
|
+
return item.varType !== 'datasource' || !(((_a = item.initMethod) === null || _a === void 0 ? void 0 : _a.params) || ((_b = item.updateMethod) === null || _b === void 0 ? void 0 : _b.params));
|
|
321
315
|
});
|
|
322
316
|
if (hasNoParams)
|
|
323
317
|
return false;
|
|
@@ -352,12 +346,8 @@ function serializeDirecties(ctx, directives, scope = 'page') {
|
|
|
352
346
|
return undefined;
|
|
353
347
|
}
|
|
354
348
|
function deserializeDirecties(ctx, directives) {
|
|
355
|
-
let waIf = (directives === null || directives === void 0 ? void 0 : directives[':if']) != undefined
|
|
356
|
-
|
|
357
|
-
: { value: true };
|
|
358
|
-
let waFor = (directives === null || directives === void 0 ? void 0 : directives[':for'])
|
|
359
|
-
? deserializeValue(ctx, ':for', directives[':for']).value
|
|
360
|
-
: undefined;
|
|
349
|
+
let waIf = (directives === null || directives === void 0 ? void 0 : directives[':if']) != undefined ? deserializeValue(ctx, ':if', directives[':if']).value : { value: true };
|
|
350
|
+
let waFor = (directives === null || directives === void 0 ? void 0 : directives[':for']) ? deserializeValue(ctx, ':for', directives[':for']).value : undefined;
|
|
361
351
|
if (waFor) {
|
|
362
352
|
let { type, value } = waFor;
|
|
363
353
|
if (type === expression_1.PropBindType.expression) {
|
|
@@ -366,7 +356,7 @@ function deserializeDirecties(ctx, directives) {
|
|
|
366
356
|
}
|
|
367
357
|
let processed = {
|
|
368
358
|
waIf: (waIf === null || waIf === void 0 ? void 0 : waIf.value) === true ? undefined : waIf,
|
|
369
|
-
waFor
|
|
359
|
+
waFor,
|
|
370
360
|
};
|
|
371
361
|
for (let key in processed) {
|
|
372
362
|
let map = processed;
|
|
@@ -381,26 +371,31 @@ function deserializeDirecties(ctx, directives) {
|
|
|
381
371
|
* heander 更新为表达式
|
|
382
372
|
*/
|
|
383
373
|
function serializeListener(ctx, listener) {
|
|
384
|
-
|
|
385
|
-
|
|
374
|
+
const { data, extra = {} } = serializeDynamicMapWithExtra({
|
|
375
|
+
ctx,
|
|
376
|
+
map: listener.data,
|
|
377
|
+
}) || {};
|
|
378
|
+
const platfromListener = {
|
|
386
379
|
id: listener.key,
|
|
387
380
|
eventName: listener.trigger,
|
|
388
381
|
type: listener.type,
|
|
389
382
|
handler: {
|
|
390
383
|
name: listener.handler.name,
|
|
391
|
-
module: /^comp
|
|
392
|
-
|
|
393
|
-
: listener.handler.moduleName,
|
|
394
|
-
params: (_a = serializeDynamicMapWithExtra({
|
|
395
|
-
ctx,
|
|
396
|
-
map: listener.data,
|
|
397
|
-
})) === null || _a === void 0 ? void 0 : _a.data,
|
|
384
|
+
module: /^comp-\w+$/.test(listener.handler.moduleName) ? '$comp' : listener.handler.moduleName,
|
|
385
|
+
params: data,
|
|
398
386
|
},
|
|
399
387
|
isCapturePhase: listener.isCapturePhase,
|
|
400
388
|
};
|
|
389
|
+
if (Object.keys(extra).length) {
|
|
390
|
+
if (!platfromListener.extra) {
|
|
391
|
+
platfromListener.extra = {};
|
|
392
|
+
}
|
|
393
|
+
platfromListener.extra.handlerParamExtraData = extra;
|
|
394
|
+
}
|
|
395
|
+
return platfromListener;
|
|
401
396
|
}
|
|
402
397
|
function deserializeListener(ctx, listener) {
|
|
403
|
-
var _a, _b, _c;
|
|
398
|
+
var _a, _b, _c, _d;
|
|
404
399
|
let processed = {
|
|
405
400
|
key: listener.id,
|
|
406
401
|
trigger: listener.eventName,
|
|
@@ -409,7 +404,7 @@ function deserializeListener(ctx, listener) {
|
|
|
409
404
|
name: (_a = listener.handler) === null || _a === void 0 ? void 0 : _a.name,
|
|
410
405
|
moduleName: (_b = listener.handler) === null || _b === void 0 ? void 0 : _b.module,
|
|
411
406
|
},
|
|
412
|
-
data: deserializeDynamicMap(ctx, ((_c = listener.handler) === null || _c === void 0 ? void 0 : _c.params) || {}),
|
|
407
|
+
data: deserializeDynamicMap(ctx, ((_c = listener.handler) === null || _c === void 0 ? void 0 : _c.params) || {}, ((_d = listener === null || listener === void 0 ? void 0 : listener.extra) === null || _d === void 0 ? void 0 : _d.handlerParamExtraData) || {}),
|
|
413
408
|
isCapturePhase: !!listener.isCapturePhase,
|
|
414
409
|
// TODO
|
|
415
410
|
noPropagation: !!listener.noPropagation,
|
|
@@ -518,7 +513,7 @@ function serializeComponent(ctx, component, scope = 'page') {
|
|
|
518
513
|
scope,
|
|
519
514
|
});
|
|
520
515
|
if (classListBindData.extra) {
|
|
521
|
-
attributeExtraData
|
|
516
|
+
attributeExtraData.class = classListBindData.extra;
|
|
522
517
|
}
|
|
523
518
|
}
|
|
524
519
|
if ((_g = component === null || component === void 0 ? void 0 : component.xProps) === null || _g === void 0 ? void 0 : _g.styleBind) {
|
|
@@ -528,7 +523,7 @@ function serializeComponent(ctx, component, scope = 'page') {
|
|
|
528
523
|
dynamicValue: (_h = component === null || component === void 0 ? void 0 : component.xProps) === null || _h === void 0 ? void 0 : _h.styleBind,
|
|
529
524
|
});
|
|
530
525
|
if (styleBindData.extra) {
|
|
531
|
-
attributeExtraData
|
|
526
|
+
attributeExtraData.style = styleBindData.extra;
|
|
532
527
|
}
|
|
533
528
|
}
|
|
534
529
|
return {
|
|
@@ -557,9 +552,7 @@ function serializeComponent(ctx, component, scope = 'page') {
|
|
|
557
552
|
xIndex: component.xIndex,
|
|
558
553
|
styleBindPath: (_r = component === null || component === void 0 ? void 0 : component.xProps) === null || _r === void 0 ? void 0 : _r.styleBindPath,
|
|
559
554
|
staticResourceAttribute: (_s = component === null || component === void 0 ? void 0 : component.xProps) === null || _s === void 0 ? void 0 : _s.staticResourceAttribute,
|
|
560
|
-
attributeExtraData: (0,
|
|
561
|
-
? undefined
|
|
562
|
-
: attributeExtraData,
|
|
555
|
+
attributeExtraData: (0, common_2.isEmptyObj)(attributeExtraData) ? undefined : attributeExtraData,
|
|
563
556
|
},
|
|
564
557
|
};
|
|
565
558
|
}
|
|
@@ -569,12 +562,10 @@ function deserializeComponent(ctx, components) {
|
|
|
569
562
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
570
563
|
const { attributeExtraData = {} } = item.extra || {};
|
|
571
564
|
let dynamicStyle = item[':style']
|
|
572
|
-
? deserializeValue(ctx, ':style', item[':style'], attributeExtraData
|
|
573
|
-
).value
|
|
565
|
+
? deserializeValue(ctx, ':style', item[':style'], attributeExtraData.style).value
|
|
574
566
|
: undefined;
|
|
575
567
|
let dynamicClassList = item[':class']
|
|
576
|
-
? deserializeValue(ctx, ':class', item[':class'], attributeExtraData
|
|
577
|
-
).value
|
|
568
|
+
? deserializeValue(ctx, ':class', item[':class'], attributeExtraData.class).value
|
|
578
569
|
: undefined;
|
|
579
570
|
const xComponent = {
|
|
580
571
|
moduleName: item.module,
|
|
@@ -582,8 +573,7 @@ function deserializeComponent(ctx, components) {
|
|
|
582
573
|
};
|
|
583
574
|
if (xComponent.name) {
|
|
584
575
|
xComponent.moduleName =
|
|
585
|
-
deserializeModuleName(ctx, xComponent.name, xComponent.moduleName) ||
|
|
586
|
-
xComponent.moduleName;
|
|
576
|
+
deserializeModuleName(ctx, xComponent.name, xComponent.moduleName) || xComponent.moduleName;
|
|
587
577
|
}
|
|
588
578
|
const xProps = {
|
|
589
579
|
data: deserializeAttributes(ctx, item.attributes, attributeExtraData),
|
|
@@ -609,26 +599,20 @@ function deserializeComponent(ctx, components) {
|
|
|
609
599
|
})) || [],
|
|
610
600
|
};
|
|
611
601
|
let processed = {
|
|
612
|
-
xComponent: Object.values(xComponent).find((item) => item != undefined)
|
|
613
|
-
? xComponent
|
|
614
|
-
: undefined,
|
|
602
|
+
xComponent: Object.values(xComponent).find((item) => item != undefined) ? xComponent : undefined,
|
|
615
603
|
xProps: Object.values(xProps).find((item) => {
|
|
616
604
|
if (Array.isArray(item)) {
|
|
617
605
|
return !!item.length;
|
|
618
606
|
}
|
|
619
|
-
return item != undefined && !(0,
|
|
607
|
+
return item != undefined && !(0, common_2.isEmptyObj)(item);
|
|
620
608
|
})
|
|
621
609
|
? xProps
|
|
622
610
|
: undefined,
|
|
623
611
|
/**
|
|
624
612
|
* TODO
|
|
625
613
|
*/
|
|
626
|
-
xIndex: ((_h = item.extra) === null || _h === void 0 ? void 0 : _h.xIndex) !== undefined
|
|
627
|
-
|
|
628
|
-
: undefined /*0*/,
|
|
629
|
-
properties: item.items
|
|
630
|
-
? deserializeComponent(ctx, item.items)
|
|
631
|
-
: undefined,
|
|
614
|
+
xIndex: ((_h = item.extra) === null || _h === void 0 ? void 0 : _h.xIndex) !== undefined ? (_j = item.extra) === null || _j === void 0 ? void 0 : _j.xIndex : undefined /* 0*/,
|
|
615
|
+
properties: item.items ? deserializeComponent(ctx, item.items) : undefined,
|
|
632
616
|
};
|
|
633
617
|
map[item.id] = processed;
|
|
634
618
|
return map;
|
|
@@ -685,7 +669,7 @@ function serializePage(ctx, page) {
|
|
|
685
669
|
exports.serializePage = serializePage;
|
|
686
670
|
function deserializePage(ctx, page) {
|
|
687
671
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
688
|
-
let pageCtx = Object.assign(Object.assign({}, ctx), { page
|
|
672
|
+
let pageCtx = Object.assign(Object.assign({}, ctx), { page });
|
|
689
673
|
return {
|
|
690
674
|
id: page.id,
|
|
691
675
|
isHome: page.id === ctx.homePageId,
|
|
@@ -730,7 +714,7 @@ function serializePlatformApp(data, optsions) {
|
|
|
730
714
|
label: label || extraLabel,
|
|
731
715
|
name: name || extraName,
|
|
732
716
|
author: author || extraAuthor,
|
|
733
|
-
version
|
|
717
|
+
version,
|
|
734
718
|
description: description || extraDescription,
|
|
735
719
|
main: homePage ? homePage.id : ((_a = pageInstanceList === null || pageInstanceList === void 0 ? void 0 : pageInstanceList[0]) === null || _a === void 0 ? void 0 : _a.id) || selectedPageId,
|
|
736
720
|
items: pageInstanceList === null || pageInstanceList === void 0 ? void 0 : pageInstanceList.map((page) => serializePage(ctx, page)),
|
|
@@ -784,11 +768,11 @@ function deserializePlatformApp(data, optsions) {
|
|
|
784
768
|
compHiddenConfig: compHiddenConfig || {},
|
|
785
769
|
npmDependencies: npmDependencies || {},
|
|
786
770
|
plugins: plugins || [],
|
|
787
|
-
maxID
|
|
788
|
-
rootPath
|
|
789
|
-
themeVars
|
|
771
|
+
maxID,
|
|
772
|
+
rootPath,
|
|
773
|
+
themeVars,
|
|
790
774
|
presetColors: presetColors || [],
|
|
791
|
-
appConfig
|
|
775
|
+
appConfig,
|
|
792
776
|
miniprogramPlugins,
|
|
793
777
|
extra: Object.assign(Object.assign({}, restExtra), { name: data.name, author: data.author, description: data.description }),
|
|
794
778
|
dependencies: data.dependencies,
|
|
@@ -802,8 +786,7 @@ exports.deserializePlatformApp = deserializePlatformApp;
|
|
|
802
786
|
* page
|
|
803
787
|
* [formily] to [CALS]
|
|
804
788
|
*/
|
|
805
|
-
function serializeRuntimePage(ctx, page
|
|
806
|
-
) {
|
|
789
|
+
function serializeRuntimePage(ctx, page) {
|
|
807
790
|
var _a, _b, _c, _d, _e, _f;
|
|
808
791
|
const pageCtx = Object.assign(Object.assign({}, ctx), { dependenciesMap: processDependenciesMap(ctx.dependencies || []), page: { id: page.id } });
|
|
809
792
|
let processedPage = {
|
|
@@ -828,15 +811,14 @@ function serializeRuntimePage(ctx, page //IPageInstance
|
|
|
828
811
|
children: (0, runtime_1.getValidValue)((_f = page.children) === null || _f === void 0 ? void 0 : _f.map((child) => serializeRuntimePage(ctx, child))),
|
|
829
812
|
},
|
|
830
813
|
};
|
|
831
|
-
if ((0,
|
|
814
|
+
if ((0, common_2.isValidStyleBind)(page.styleBind) && (0, runtime_1.getValidValue)(page.styleBind)) {
|
|
832
815
|
page[':style'] = serializeValue({
|
|
833
816
|
ctx: pageCtx,
|
|
834
817
|
key: 'styleBind',
|
|
835
818
|
dynamicValue: page.styleBind,
|
|
836
819
|
}).value;
|
|
837
820
|
}
|
|
838
|
-
if ((0,
|
|
839
|
-
(0, runtime_1.getValidValue)(page.classListBind)) {
|
|
821
|
+
if ((0, common_2.isValidClassNameListBind)(page.classListBind) && (0, runtime_1.getValidValue)(page.classListBind)) {
|
|
840
822
|
page[':class'] = serializeValue({
|
|
841
823
|
ctx: pageCtx,
|
|
842
824
|
key: 'classListBind',
|
|
@@ -858,8 +840,7 @@ exports.serializeRuntimePage = serializeRuntimePage;
|
|
|
858
840
|
* component
|
|
859
841
|
* [formily] to [CALS]
|
|
860
842
|
*/
|
|
861
|
-
function serializeRuntimeComponent(ctx, component
|
|
862
|
-
) {
|
|
843
|
+
function serializeRuntimeComponent(ctx, component) {
|
|
863
844
|
var _a, _b, _c;
|
|
864
845
|
if (!component.id) {
|
|
865
846
|
component.id = component.key;
|
|
@@ -898,7 +879,7 @@ function serializeRuntimeComponent(ctx, component //IComponentSchemaJson
|
|
|
898
879
|
attributeExtraData.style = styleBindData === null || styleBindData === void 0 ? void 0 : styleBindData.extra;
|
|
899
880
|
}
|
|
900
881
|
}
|
|
901
|
-
if ((0,
|
|
882
|
+
if ((0, common_2.isValidClassNameListBind)(props.classNameListBind)) {
|
|
902
883
|
classListBindData = serializeValue({
|
|
903
884
|
ctx: componentCtx,
|
|
904
885
|
key: 'classListBind',
|
|
@@ -921,9 +902,7 @@ function serializeRuntimeComponent(ctx, component //IComponentSchemaJson
|
|
|
921
902
|
xIndex: (0, runtime_1.getValidValue)(component['x-index']),
|
|
922
903
|
styleBindPath: (0, runtime_1.getValidValue)(props.styleBindPath),
|
|
923
904
|
staticResourceAttribute: (0, runtime_1.getValidValue)(props.staticResourceAttribute),
|
|
924
|
-
attributeExtraData: (0,
|
|
925
|
-
? undefined
|
|
926
|
-
: attributeExtraData,
|
|
905
|
+
attributeExtraData: (0, common_2.isEmptyObj)(attributeExtraData) ? undefined : attributeExtraData,
|
|
927
906
|
} });
|
|
928
907
|
}
|
|
929
908
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../parser/cals/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../parser/cals/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAYnD,aAAK,UAAU,GAAG;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAGrD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,UAAQ,UAQ5D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,WAErC;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,YAUrC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,WAQpD;AAED,wBAAgB,wBAAwB,CAAC,iBAAiB,EAAE,SAAS,WAQpE;AAyED,wBAAgB,YAAY,CAE1B,IAAI,EAAE,GAAG,EAAE,EAEX,KAAK,EAAE,GAAG,EAAE,GACX,UAAU,CA6CZ"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getUsedComps = exports.isValidClassNameListBind = exports.isValidStyleBind = exports.isEmptyObj = exports.isPlainObject = exports.camelcase = void 0;
|
|
4
4
|
const index_1 = require("../index");
|
|
5
5
|
function camelcase(str, firstUpperCase = false) {
|
|
6
|
-
str = str.replace(/[_-]([a-z])/g,
|
|
6
|
+
str = str.replace(/[_-]([a-z])/g, (l) => {
|
|
7
7
|
return l[1].toUpperCase();
|
|
8
8
|
});
|
|
9
9
|
if (firstUpperCase)
|
|
@@ -89,7 +89,7 @@ addedUsedComps) {
|
|
|
89
89
|
const cmp = lib.components.find((c) => c.name === cmpName);
|
|
90
90
|
if (!cmp) {
|
|
91
91
|
// 找不到复合组件内容, 应该抛异常
|
|
92
|
-
console.warn('Component not found', libName
|
|
92
|
+
console.warn('Component not found', `${libName}:${cmpName}`);
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
95
|
if (checkedComps.indexOf(cmp) > -1) {
|
|
@@ -122,12 +122,12 @@ apps,
|
|
|
122
122
|
// 分库后的组件库 denpendienicy
|
|
123
123
|
comps) {
|
|
124
124
|
// 0. 应用内容转换(cals to weapps)
|
|
125
|
-
const transferApps = apps.map(app => {
|
|
125
|
+
const transferApps = apps.map((app) => {
|
|
126
126
|
return (0, index_1.deserializePlatformApp)(app, { dependencies: comps });
|
|
127
127
|
});
|
|
128
128
|
// 1. 寻找应用内容里用到的所有组件
|
|
129
129
|
// 1.1 寻找主子应用各自的内容里所用到的组件
|
|
130
|
-
const appUsedComps = transferApps.map(app => {
|
|
130
|
+
const appUsedComps = transferApps.map((app) => {
|
|
131
131
|
var _a;
|
|
132
132
|
const usedComps = {};
|
|
133
133
|
// 主子包模式下, 可能没有应用内容
|
|
@@ -139,10 +139,7 @@ comps) {
|
|
|
139
139
|
// 1.2 合并主子包所有用到的组件
|
|
140
140
|
const mergeAppUsedComps = appUsedComps.reduce((comps, item) => {
|
|
141
141
|
for (const libName in item) {
|
|
142
|
-
comps[libName] = new Set([
|
|
143
|
-
...Array.from(item[libName]),
|
|
144
|
-
...Array.from(comps[libName] || [])
|
|
145
|
-
]);
|
|
142
|
+
comps[libName] = new Set([...Array.from(item[libName]), ...Array.from(comps[libName] || [])]);
|
|
146
143
|
}
|
|
147
144
|
return comps;
|
|
148
145
|
}, {});
|
|
@@ -160,10 +157,7 @@ comps) {
|
|
|
160
157
|
// 3. 合并[应用内容用到的组件]和[复合组件库用到的组件]
|
|
161
158
|
const allUsedComps = [mergeAppUsedComps, libUsedComps].reduce((comps, item) => {
|
|
162
159
|
for (const libName in item) {
|
|
163
|
-
comps[libName] = new Set([
|
|
164
|
-
...Array.from(item[libName]),
|
|
165
|
-
...Array.from(comps[libName] || [])
|
|
166
|
-
]);
|
|
160
|
+
comps[libName] = new Set([...Array.from(item[libName]), ...Array.from(comps[libName] || [])]);
|
|
167
161
|
}
|
|
168
162
|
return comps;
|
|
169
163
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../parser/cals/utils/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../parser/cals/utils/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,kBAAkB,CAAC;AAK1E,wBAAgB,cAAc,CAC5B,UAAU,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAoB,EACpD,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,CAqDR;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,OAkCtC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CA4B1E;AAED,wBAAgB,aAAa,CAAC,iBAAiB,GAAE,GAAG,EAAO,OAiB1D;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAE,GAAG,EAAO,SAenD;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAgExE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAKjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,OAWvC"}
|
|
@@ -6,6 +6,7 @@ const style_1 = require("./style");
|
|
|
6
6
|
const common_1 = require("./common");
|
|
7
7
|
const lodash_1 = require("lodash");
|
|
8
8
|
function readComponents(properties = {}, excludeKeys = []) {
|
|
9
|
+
var _a;
|
|
9
10
|
const cmps = {};
|
|
10
11
|
for (const key in properties) {
|
|
11
12
|
if (excludeKeys.indexOf(key) > -1) {
|
|
@@ -27,7 +28,7 @@ function readComponents(properties = {}, excludeKeys = []) {
|
|
|
27
28
|
setValidValue(componentXProps, 'style', srcProps.style);
|
|
28
29
|
setValidValue(componentXProps, 'commonStyle', (0, style_1.removeInvalidStyleFormValue)(srcProps.commonStyle));
|
|
29
30
|
setValidValue(componentXProps, 'styleBindPath', srcProps.styleBindPath);
|
|
30
|
-
if (srcProps.styleBind
|
|
31
|
+
if ((_a = srcProps.styleBind) === null || _a === void 0 ? void 0 : _a.bindDataPath) {
|
|
31
32
|
componentXProps.styleBind = {
|
|
32
33
|
type: srcProps.styleBind.type,
|
|
33
34
|
value: srcProps.styleBind.bindDataPath,
|
|
@@ -60,6 +61,7 @@ function readComponents(properties = {}, excludeKeys = []) {
|
|
|
60
61
|
}
|
|
61
62
|
exports.readComponents = readComponents;
|
|
62
63
|
function readDirectives(cmp) {
|
|
64
|
+
var _a;
|
|
63
65
|
const directives = {};
|
|
64
66
|
// 默认为 true,节省体积不记录
|
|
65
67
|
if (cmp.data && cmp.data._visible !== true) {
|
|
@@ -67,7 +69,7 @@ function readDirectives(cmp) {
|
|
|
67
69
|
value: cmp.data._visible,
|
|
68
70
|
};
|
|
69
71
|
}
|
|
70
|
-
if (cmp.dataBinds
|
|
72
|
+
if ((_a = cmp.dataBinds) === null || _a === void 0 ? void 0 : _a.length) {
|
|
71
73
|
const bind = cmp.dataBinds.find((bind) => bind.propertyPath === '_visible');
|
|
72
74
|
if (bind) {
|
|
73
75
|
const foundDataType = (cmp.dataTypes || []).find((dataType) => dataType.propertyPath === bind.propertyPath);
|
|
@@ -92,6 +94,7 @@ function readDirectives(cmp) {
|
|
|
92
94
|
}
|
|
93
95
|
exports.readDirectives = readDirectives;
|
|
94
96
|
function readDynamicData(cmp) {
|
|
97
|
+
var _a, _b;
|
|
95
98
|
const data = {};
|
|
96
99
|
const ignoredProps = ['_visible', '_waFor'];
|
|
97
100
|
// Read data
|
|
@@ -103,20 +106,19 @@ function readDynamicData(cmp) {
|
|
|
103
106
|
data[prop] = { value: cmp.data[prop] };
|
|
104
107
|
}
|
|
105
108
|
// Read data binds
|
|
106
|
-
cmp.dataBinds
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
});
|
|
109
|
+
(_b = (_a = cmp.dataBinds) === null || _a === void 0 ? void 0 : _a.forEach) === null || _b === void 0 ? void 0 : _b.call(_a, (bind) => {
|
|
110
|
+
if (ignoredProps.indexOf(bind.propertyPath) > -1) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const foundDataType = (cmp.dataTypes || []).find((dataType) => dataType.propertyPath === bind.propertyPath);
|
|
114
|
+
if (foundDataType && foundDataType.type === 'bind') {
|
|
115
|
+
data[bind.propertyPath] = {
|
|
116
|
+
type: bind.type || expression_1.PropBindType.state,
|
|
117
|
+
value: bind.bindDataPath,
|
|
118
|
+
extra: bind.extra,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
});
|
|
120
122
|
return data;
|
|
121
123
|
}
|
|
122
124
|
exports.readDynamicData = readDynamicData;
|
|
@@ -143,7 +145,7 @@ function writeListeners(listeners = []) {
|
|
|
143
145
|
return listeners.map((l) => {
|
|
144
146
|
const act = {
|
|
145
147
|
key: l.key || '',
|
|
146
|
-
sourceKey: l.handler.moduleName
|
|
148
|
+
sourceKey: `${l.handler.moduleName}:${l.handler.name}`,
|
|
147
149
|
trigger: l.trigger,
|
|
148
150
|
type: l.type,
|
|
149
151
|
data: {},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../parser/cals/utils/transform/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA4B,MAAM,yBAAyB,CAAC;AAEjF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,KAAA,iBAkDvE;AAED,wBAAsB,qBAAqB,CAAC,GAAG,KAAA,gBAmD9C"}
|