@lcap/nasl 3.8.2-beta.8 → 3.8.3-beta.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/ai-engineer.config.js +617 -0
- package/out/common/BaseNode.js +5 -3
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/ComponentAPI.d.ts +9 -0
- package/out/concepts/AuthLogicForCallInterface__.js +21 -6
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BackendVariable__.js +16 -1
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/BindAttribute__.js +12 -4
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +1 -1
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindStyle__.js +1 -1
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/BusinessComponent__.js +24 -8
- package/out/concepts/BusinessComponent__.js.map +1 -1
- package/out/concepts/BusinessLogic__.js +21 -6
- package/out/concepts/BusinessLogic__.js.map +1 -1
- package/out/concepts/CallInterface__.js +2 -1
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +1 -0
- package/out/concepts/CallLogic__.js +32 -11
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +1 -0
- package/out/concepts/CallQueryComponent__.js +23 -12
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Destination__.js +11 -8
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.js +3 -2
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.js +1 -1
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Interface__.js +1 -1
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/Logic__.js +49 -17
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.js +19 -13
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.js +37 -12
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.js +21 -6
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/Param__.js +5 -4
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/QueryOrderByExpression__.d.ts +0 -1
- package/out/concepts/QueryOrderByExpression__.js +0 -1
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/Structure__.js +5 -7
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/Variable__.js +5 -0
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +1 -0
- package/out/concepts/ViewElement__.js +17 -7
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.js +70 -14
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.js +78 -0
- package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +40 -40
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/generator/genBundleFiles.js +1 -1
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/release-body/utils.js +1 -1
- package/out/natural/genNaturalTS.d.ts +45 -10
- package/out/natural/genNaturalTS.js +57 -33
- package/out/natural/genNaturalTS.js.map +1 -1
- package/out/natural/getContext/getUILib.js +6 -3
- package/out/natural/getContext/getUILib.js.map +1 -1
- package/out/natural/getContext/index.d.ts +20 -7
- package/out/natural/getContext/index.js +143 -23
- package/out/natural/getContext/index.js.map +1 -1
- package/out/natural/getContext/naslStdlibMap.js +8 -8
- package/out/natural/getContext/naslStdlibMap.js.map +1 -1
- package/out/natural/tools.d.ts +16 -0
- package/out/natural/tools.js +110 -2
- package/out/natural/tools.js.map +1 -1
- package/out/natural/transformTS2UI.js +361 -304
- package/out/natural/transformTS2UI.js.map +1 -1
- package/out/natural/transformTSCode.d.ts +3 -5
- package/out/natural/transformTSCode.js +30 -1089
- package/out/natural/transformTSCode.js.map +1 -1
- package/out/natural/transforms/registerTransform.d.ts +7 -0
- package/out/natural/transforms/registerTransform.js +24 -0
- package/out/natural/transforms/registerTransform.js.map +1 -0
- package/out/natural/transforms/transform2LogicItem.d.ts +24 -0
- package/out/natural/transforms/transform2LogicItem.js +1240 -0
- package/out/natural/transforms/transform2LogicItem.js.map +1 -0
- package/out/natural/transforms/transform2TypeAnnotation.d.ts +2 -0
- package/out/natural/transforms/transform2TypeAnnotation.js +86 -0
- package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -0
- package/out/natural/transforms/utils.d.ts +8 -0
- package/out/natural/transforms/utils.js +59 -0
- package/out/natural/transforms/utils.js.map +1 -0
- package/out/server/getLogics.js +12 -12
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.js +11 -17
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/naslServer.d.ts +2 -2
- package/out/server/naslServer.js +38 -18
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +5 -0
- package/out/server/translator.js.map +1 -1
- package/out/templator/block2nasl/jsx2nasl/index.d.ts +5 -0
- package/out/templator/block2nasl/jsx2nasl/index.js +15 -0
- package/out/templator/block2nasl/jsx2nasl/index.js.map +1 -0
- package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.d.ts +3 -0
- package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.js +213 -0
- package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.js.map +1 -0
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts +14 -0
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js +201 -0
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js.map +1 -0
- package/out/templator/block2nasl/jsx2nasl/transform-tstype2nasl.d.ts +4 -0
- package/out/templator/block2nasl/jsx2nasl/transform-tstype2nasl.js +186 -0
- package/out/templator/block2nasl/jsx2nasl/transform-tstype2nasl.js.map +1 -0
- package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.d.ts +28 -0
- package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js +336 -0
- package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js.map +1 -0
- package/out/templator/block2nasl/jsx2nasl/utils.d.ts +2 -0
- package/out/templator/block2nasl/jsx2nasl/utils.js +26 -0
- package/out/templator/block2nasl/jsx2nasl/utils.js.map +1 -0
- package/out/templator/block2nasl/transformBlock2Nasl.d.ts +10 -0
- package/out/templator/block2nasl/transformBlock2Nasl.js +122 -0
- package/out/templator/block2nasl/transformBlock2Nasl.js.map +1 -0
- package/out/templator/block2nasl/viewMergeBlock.d.ts +9 -0
- package/out/templator/block2nasl/viewMergeBlock.js +110 -0
- package/out/templator/block2nasl/viewMergeBlock.js.map +1 -0
- package/out/translator/types.d.ts +2 -0
- package/out/translator/utils.js +1 -1
- package/out/translator/utils.js.map +1 -1
- package/out/utils/index.js +0 -4
- package/out/utils/index.js.map +1 -1
- package/out/utils/language-cache/constant.d.ts +2 -1
- package/out/utils/language-cache/constant.js +1 -0
- package/out/utils/language-cache/constant.js.map +1 -1
- package/out/utils/language-cache/nasl.d.ts +1 -0
- package/out/utils/language-cache/nasl.js +9 -1
- package/out/utils/language-cache/nasl.js.map +1 -1
- package/package.json +6 -2
- package/sandbox/stdlib/nasl.processV2.ts +19 -0
- package/sandbox/stdlib/nasl.ui.ts +8 -8
- package/sandbox-natural/stdlib/nasl.core.d.ts +54 -0
- package/sandbox-natural/stdlib/nasl.oql.d.ts +22 -0
- package/sandbox-natural/stdlib/nasl.ui.d.ts +78 -0
- package/sandbox-natural/stdlib/nasl.ui.h5.d.ts +1684 -1643
- package/sandbox-natural/stdlib/nasl.ui.h5.json +15746 -15045
- package/sandbox-natural/stdlib/nasl.ui.pc.d.ts +5341 -5154
- package/sandbox-natural/stdlib/nasl.ui.pc.json +31176 -30681
- package/sandbox-natural/stdlib/{nasl.util.ts → nasl.util.d.ts} +49 -43
- package/src/common/BaseNode.ts +5 -3
- package/src/common/ComponentAPI.ts +7 -0
- package/src/concepts/AuthLogicForCallInterface__.ts +23 -6
- package/src/concepts/BackendVariable__.ts +16 -1
- package/src/concepts/BindAttribute__.ts +18 -13
- package/src/concepts/BindDirective__.ts +1 -1
- package/src/concepts/BindStyle__.ts +1 -1
- package/src/concepts/BusinessComponent__.ts +26 -8
- package/src/concepts/BusinessLogic__.ts +23 -6
- package/src/concepts/CallInterface__.ts +2 -2
- package/src/concepts/CallLogic__.ts +50 -24
- package/src/concepts/CallQueryComponent__.ts +26 -12
- package/src/concepts/Destination__.ts +14 -12
- package/src/concepts/EntityProperty__.ts +5 -5
- package/src/concepts/Entity__.ts +1 -1
- package/src/concepts/Interface__.ts +1 -1
- package/src/concepts/Logic__.ts +62 -33
- package/src/concepts/MemberExpression__.ts +20 -13
- package/src/concepts/OqlQueryComponent__.ts +29 -5
- package/src/concepts/OverriddenLogic__.ts +23 -6
- package/src/concepts/Param__.ts +5 -4
- package/src/concepts/QueryOrderByExpression__.ts +0 -1
- package/src/concepts/Structure__.ts +5 -7
- package/src/concepts/Variable__.ts +9 -5
- package/src/concepts/ViewElement__.ts +25 -9
- package/src/concepts/View__.ts +97 -37
- package/src/concepts/basics/stdlib/nasl.processV2.ts +79 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +40 -40
- package/src/generator/genBundleFiles.ts +1 -1
- package/src/generator/release-body/utils.ts +1 -1
- package/src/natural/genNaturalTS.ts +88 -39
- package/src/natural/getContext/getUILib.ts +6 -3
- package/src/natural/getContext/index.ts +125 -23
- package/src/natural/getContext/naslStdlibMap.ts +8 -8
- package/src/natural/tools.ts +107 -2
- package/src/natural/transformTS2UI.ts +205 -147
- package/src/natural/transformTSCode.ts +29 -1055
- package/src/natural/transforms/registerTransform.ts +34 -0
- package/src/natural/transforms/transform2LogicItem.ts +1335 -0
- package/src/natural/transforms/transform2TypeAnnotation.ts +77 -0
- package/src/natural/transforms/utils.ts +25 -0
- package/src/server/getLogics.ts +12 -12
- package/src/server/getMemberIdentifier.ts +14 -14
- package/src/server/naslServer.ts +39 -19
- package/src/server/translator.ts +5 -0
- package/src/templator/block2nasl/jsx2nasl/index.ts +11 -0
- package/src/templator/block2nasl/jsx2nasl/transform-expression2nasl.ts +238 -0
- package/src/templator/block2nasl/jsx2nasl/transform-func2nasl.ts +241 -0
- package/src/templator/block2nasl/jsx2nasl/transform-tstype2nasl.ts +213 -0
- package/src/templator/block2nasl/jsx2nasl/transform-tsx2nasl.ts +422 -0
- package/src/templator/block2nasl/jsx2nasl/utils.ts +19 -0
- package/src/templator/block2nasl/transformBlock2Nasl.ts +99 -0
- package/src/templator/block2nasl/viewMergeBlock.ts +149 -0
- package/src/translator/types.ts +2 -0
- package/src/translator/utils.ts +1 -1
- package/src/utils/index.ts +0 -4
- package/src/utils/language-cache/constant.ts +1 -0
- package/src/utils/language-cache/nasl.ts +6 -0
- package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +1 -1
- package/test/tdd/dataQuery/QueryFieldExpression/case1/ast.json +7 -0
- package/test/tdd/dataQuery/QueryFieldExpression/case1/natural.ts.txt +1 -0
- package/test/tdd/dataQuery/QueryFieldExpression/case2/ast.json +7 -0
- package/test/tdd/dataQuery/QueryFieldExpression/case2/natural.ts.txt +1 -0
- package/test/tdd/transform/case1/ast.json +243 -0
- package/test/tdd/transform/case1/natural.ts.md +20 -0
- package/test/tdd/transform/case2/ast.json +207 -0
- package/test/tdd/transform/case2/natural.ts.md +12 -0
- package/test/tdd.test.js +10 -0
- package/test/tdd.transform.test.js +38 -0
- package/test/utils.js +40 -0
- package/sandbox-natural/stdlib/nasl.core.ts +0 -36
- package/sandbox-natural/stdlib/nasl.oql.ts +0 -14
- package/sandbox-natural/stdlib/nasl.ui.pre.d.ts +0 -90
- package/sandbox-natural/stdlib/nasl.ui.ts +0 -63
|
@@ -437,7 +437,7 @@ export class CallLogic extends LogicItem {
|
|
|
437
437
|
/**
|
|
438
438
|
* 设置argment 触发别的地方的更新
|
|
439
439
|
*/
|
|
440
|
-
setArgumentName({ argument }: { argument: Argument[] }) {
|
|
440
|
+
setArgumentName({ argument }: { argument: Argument[]; }) {
|
|
441
441
|
// argument.setKeyword(newKeyword);
|
|
442
442
|
// this.arguments = argument;
|
|
443
443
|
}
|
|
@@ -513,9 +513,14 @@ export class CallLogic extends LogicItem {
|
|
|
513
513
|
const Identifier = getConceptConstructor('Identifier');
|
|
514
514
|
const Argument = getConceptConstructor('Argument');
|
|
515
515
|
const TypeAnnotation = getConceptConstructor('TypeAnnotation');
|
|
516
|
+
|
|
517
|
+
// 拖拽实体更新逻辑,默认全部更新,不带 properties
|
|
518
|
+
const isEntityUpdate = /entities\.([^.]+)\.logics\.(update|updateBy|createOrUpdate|batchUpdate)/.test(logic.calleewholeKey);
|
|
519
|
+
const logicParams = isEntityUpdate ? logic.params.filter((item) => item.name !== 'properties') : logic.params;
|
|
520
|
+
|
|
516
521
|
const params =
|
|
517
522
|
argument ??
|
|
518
|
-
|
|
523
|
+
logicParams?.map((param) => {
|
|
519
524
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
520
525
|
let expression = param.defaultExpression;
|
|
521
526
|
if (param.isFunction) {
|
|
@@ -689,7 +694,7 @@ export class CallLogic extends LogicItem {
|
|
|
689
694
|
for (let i = 0; i < currentIndex; i++) {
|
|
690
695
|
currentParamList.push(`,current${i === 0 ? '' : i}`);
|
|
691
696
|
}
|
|
692
|
-
code += `$global.useDatabaseCallback()(__${currentElement.name}_handleDataSourceLoad${currentParamList.join('')})
|
|
697
|
+
code += `$global.useDatabaseCallback()(__${currentElement.name}_handleDataSourceLoad${currentParamList.join('')})`;
|
|
693
698
|
return code;
|
|
694
699
|
}
|
|
695
700
|
if (calleeName === 'jsonSerialize') {
|
|
@@ -817,7 +822,7 @@ export class CallLogic extends LogicItem {
|
|
|
817
822
|
let extensionName = '';
|
|
818
823
|
|
|
819
824
|
const { calleeName, calleeNamespace, isComponentLogic, completeArguments, isViewLogic, typeArguments } = this;
|
|
820
|
-
const completeTypeArguments = this.__TypeArguments?.length ? this.__TypeArguments :
|
|
825
|
+
const completeTypeArguments = this.__TypeArguments?.length ? this.__TypeArguments : typeArguments;
|
|
821
826
|
|
|
822
827
|
const isShowArgument = (arg?: Argument) => {
|
|
823
828
|
return arg?.expression;
|
|
@@ -845,8 +850,8 @@ export class CallLogic extends LogicItem {
|
|
|
845
850
|
body: {
|
|
846
851
|
`;
|
|
847
852
|
const argsStr = (this?.arguments || []).filter((obj) => obj?.expression)
|
|
848
|
-
|
|
849
|
-
|
|
853
|
+
.map((obj) => `\n${obj.keyword}: ${obj.expression?.toJS(state)}`)
|
|
854
|
+
.join(', ');
|
|
850
855
|
code += argsStr;
|
|
851
856
|
|
|
852
857
|
code += `}
|
|
@@ -857,9 +862,8 @@ export class CallLogic extends LogicItem {
|
|
|
857
862
|
const isSpreadFunc = args.some((arg) => arg.spread);
|
|
858
863
|
const keywordEntitiesIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'entities');
|
|
859
864
|
|
|
860
|
-
code += `this.$logics['${
|
|
861
|
-
|
|
862
|
-
}']`;
|
|
865
|
+
code += `this.$logics['${this.calleeNamespace ? `${this.calleeNamespace}.${this.calleeName}` : this.calleeName
|
|
866
|
+
}']`;
|
|
863
867
|
code += `({
|
|
864
868
|
config: {
|
|
865
869
|
download: false,
|
|
@@ -1511,7 +1515,8 @@ export class CallLogic extends LogicItem {
|
|
|
1511
1515
|
code += '()';
|
|
1512
1516
|
}
|
|
1513
1517
|
};
|
|
1514
|
-
|
|
1518
|
+
// 调用实体逻辑特殊处理
|
|
1519
|
+
if (tsCalleeNamespace.startsWith('app.dataSources.') && tsCalleeNamespace.endsWith('.logics')) calleeKey = calleeKey.replace('.logics', 'Entity');
|
|
1515
1520
|
code += calleeKey;
|
|
1516
1521
|
setTypeArguments();
|
|
1517
1522
|
setInputParam();
|
|
@@ -1613,11 +1618,13 @@ export class CallLogic extends LogicItem {
|
|
|
1613
1618
|
} else if (this.calleeNamespace?.startsWith('elements.')) {
|
|
1614
1619
|
// 查找组件的逻辑,用于展示默认值
|
|
1615
1620
|
const elementsLogic = (this.app as any)?.naslServer?.elementsLogic || {};
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
+
|
|
1622
|
+
let tag = this.getElementTagByLogic();
|
|
1623
|
+
// tag转换为首字母大写,驼峰
|
|
1624
|
+
tag = tag.replace(/^\S/, (s) => s.toUpperCase())
|
|
1625
|
+
.replace(/-(\w)/g, (all, letter) => letter.toUpperCase());
|
|
1626
|
+
|
|
1627
|
+
const logics = elementsLogic[`${tag}`] || [];
|
|
1621
1628
|
node = logics.find((l: any) => l.name === this.calleeName);
|
|
1622
1629
|
} else {
|
|
1623
1630
|
// 如果是其余app下自定义逻辑
|
|
@@ -1636,12 +1643,31 @@ export class CallLogic extends LogicItem {
|
|
|
1636
1643
|
state: Array.isArray(t) ? 2 : 1,
|
|
1637
1644
|
};
|
|
1638
1645
|
});
|
|
1639
|
-
} catch (err) {}
|
|
1646
|
+
} catch (err) { }
|
|
1640
1647
|
}
|
|
1641
1648
|
return node;
|
|
1642
1649
|
}
|
|
1643
1650
|
|
|
1644
|
-
|
|
1651
|
+
private getElementTagByLogic(): string {
|
|
1652
|
+
const elementName: string = this.calleeNamespace.split('.')[1];
|
|
1653
|
+
let tag = '';
|
|
1654
|
+
this.likeComponent.elements.forEach((element) => {
|
|
1655
|
+
utils.traverse(
|
|
1656
|
+
({ node }) => {
|
|
1657
|
+
if (node.name === elementName) {
|
|
1658
|
+
tag = node.tag;
|
|
1659
|
+
}
|
|
1660
|
+
},
|
|
1661
|
+
{
|
|
1662
|
+
node: element,
|
|
1663
|
+
},
|
|
1664
|
+
);
|
|
1665
|
+
});
|
|
1666
|
+
|
|
1667
|
+
return tag;
|
|
1668
|
+
}
|
|
1669
|
+
|
|
1670
|
+
getCallNodeUsingCache(frontNdCache: Map<string, Logic>, serverNdCache: Map<string, Logic>, processNdCache: Map<string, Logic>): ['front' | 'server' | 'process', Logic | undefined] {
|
|
1645
1671
|
const cwKey = this.calleewholeKey;
|
|
1646
1672
|
if (serverNdCache.get(cwKey)) {
|
|
1647
1673
|
return ['server', serverNdCache.get(cwKey)];
|
|
@@ -1663,11 +1689,11 @@ export class CallLogic extends LogicItem {
|
|
|
1663
1689
|
} else if (this.calleeNamespace?.startsWith('elements.')) {
|
|
1664
1690
|
// 查找组件的逻辑,用于展示默认值
|
|
1665
1691
|
const elementsLogic = (this.app as any)?.naslServer?.elementsLogic || {};
|
|
1666
|
-
let
|
|
1667
|
-
//
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
const logics = elementsLogic[
|
|
1692
|
+
let tag = this.getElementTagByLogic();
|
|
1693
|
+
// tag转换为首字母大写,驼峰
|
|
1694
|
+
tag = tag.replace(/^\S/, (s) => s.toUpperCase())
|
|
1695
|
+
.replace(/-(\w)/g, (all, letter) => letter.toUpperCase());
|
|
1696
|
+
const logics = elementsLogic[`${tag}`] || [];
|
|
1671
1697
|
node = logics.find((l: any) => l.name === this.calleeName);
|
|
1672
1698
|
} else {
|
|
1673
1699
|
// 如果是其余app下自定义逻辑
|
|
@@ -1686,7 +1712,7 @@ export class CallLogic extends LogicItem {
|
|
|
1686
1712
|
state: Array.isArray(t) ? 2 : 1,
|
|
1687
1713
|
};
|
|
1688
1714
|
});
|
|
1689
|
-
} catch (err) {}
|
|
1715
|
+
} catch (err) { }
|
|
1690
1716
|
}
|
|
1691
1717
|
frontNdCache.set(cwKey, node);
|
|
1692
1718
|
return ['front', node];
|
|
@@ -1726,7 +1752,7 @@ export class CallLogic extends LogicItem {
|
|
|
1726
1752
|
} else {
|
|
1727
1753
|
const result = getCallExpressionQuickInfo(range, getCode);
|
|
1728
1754
|
let code = getCode();
|
|
1729
|
-
if(code.includes('__elements.')){
|
|
1755
|
+
if (code.includes('__elements.')) {
|
|
1730
1756
|
const prefixOffset = code.indexOf('__elements.');
|
|
1731
1757
|
code = code.slice(prefixOffset);
|
|
1732
1758
|
let indexOf = code.indexOf('(');
|
|
@@ -743,10 +743,8 @@ export class CallQueryComponent extends LogicItem {
|
|
|
743
743
|
return {
|
|
744
744
|
kind: 'Statement',
|
|
745
745
|
concept: 'CallQueryComponent',
|
|
746
|
-
label: '数据查询',
|
|
747
746
|
select: {
|
|
748
747
|
concept: 'QuerySelectExpression',
|
|
749
|
-
label: '查询组件Select子句',
|
|
750
748
|
distinct: false,
|
|
751
749
|
star: true,
|
|
752
750
|
selectElements: [],
|
|
@@ -852,10 +850,14 @@ export class CallQueryComponent extends LogicItem {
|
|
|
852
850
|
@withSourceMapGenerator
|
|
853
851
|
*toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
|
|
854
852
|
const self = this;
|
|
855
|
-
if (!self.typeAnnotation)
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
853
|
+
if (!self.typeAnnotation) {
|
|
854
|
+
if (!self.isAutoInfer()) {
|
|
855
|
+
return `(function () {
|
|
856
|
+
return;
|
|
857
|
+
})()`;
|
|
858
|
+
}
|
|
859
|
+
self.typeAnnotation = self.computeStructure();
|
|
860
|
+
}
|
|
859
861
|
let code = `(function(): `;
|
|
860
862
|
if (self.isAutoInfer()) {
|
|
861
863
|
code += `${yield* self.typeAnnotation.toEmbeddedTS(shiftState(state, code))} {\n`;
|
|
@@ -1093,17 +1095,13 @@ export class CallQueryComponent extends LogicItem {
|
|
|
1093
1095
|
});
|
|
1094
1096
|
}
|
|
1095
1097
|
|
|
1096
|
-
|
|
1098
|
+
computeStructure(): TypeAnnotation {
|
|
1097
1099
|
// 没有数据源时不初始化数据结构
|
|
1098
1100
|
if (!this.entityInfos.length) {
|
|
1099
1101
|
return;
|
|
1100
1102
|
}
|
|
1101
1103
|
const entityNamespace = this.from?.entityNamespace;
|
|
1102
1104
|
const entities = this.app.findNodeByCompleteName(entityNamespace);
|
|
1103
|
-
if (!this.isAutoInfer()) {
|
|
1104
|
-
// 存量应用走之前的逻辑
|
|
1105
|
-
return this.saveStructureNoInfer(entities);
|
|
1106
|
-
}
|
|
1107
1105
|
|
|
1108
1106
|
const { groupBy } = this;
|
|
1109
1107
|
const selectElements = this.select.selectAggregateElements;
|
|
@@ -1249,7 +1247,23 @@ export class CallQueryComponent extends LogicItem {
|
|
|
1249
1247
|
}
|
|
1250
1248
|
}
|
|
1251
1249
|
|
|
1252
|
-
|
|
1250
|
+
return typeAnnotation;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
saveStructure() {
|
|
1254
|
+
// 没有数据源时不初始化数据结构
|
|
1255
|
+
if (!this.entityInfos.length) {
|
|
1256
|
+
return;
|
|
1257
|
+
}
|
|
1258
|
+
const entityNamespace = this.from?.entityNamespace;
|
|
1259
|
+
const entities = this.app.findNodeByCompleteName(entityNamespace);
|
|
1260
|
+
|
|
1261
|
+
if (!this.isAutoInfer()) {
|
|
1262
|
+
// 存量应用走之前的逻辑
|
|
1263
|
+
return this.saveStructureNoInfer(entities);
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
this.update({ typeAnnotation: this.computeStructure() });
|
|
1253
1267
|
}
|
|
1254
1268
|
|
|
1255
1269
|
saveStructureNoInfer(entities: any[] = []) {
|
|
@@ -312,9 +312,8 @@ export class Destination extends LogicItem {
|
|
|
312
312
|
let code = '';
|
|
313
313
|
const viewArr = this.genViewArr();
|
|
314
314
|
if (Array.isArray(viewArr) && viewArr.length) {
|
|
315
|
-
code += `let url = '${
|
|
316
|
-
|
|
317
|
-
}/${viewArr.join('/')}';\n`;
|
|
315
|
+
code += `let url = '${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''
|
|
316
|
+
}/${viewArr.join('/')}';\n`;
|
|
318
317
|
const { completeArguments } = this;
|
|
319
318
|
if (Array.isArray(completeArguments) && completeArguments.length) {
|
|
320
319
|
const node = this.viewNode;
|
|
@@ -596,7 +595,7 @@ export class Destination extends LogicItem {
|
|
|
596
595
|
/**
|
|
597
596
|
* 设置Arguments的KeyWord
|
|
598
597
|
*/
|
|
599
|
-
setArgumentsKeyWord(options: { findArgument: Argument; newKeyword: string }) {
|
|
598
|
+
setArgumentsKeyWord(options: { findArgument: Argument; newKeyword: string; }) {
|
|
600
599
|
const { findArgument, newKeyword } = options;
|
|
601
600
|
findArgument.setKeyword(newKeyword);
|
|
602
601
|
}
|
|
@@ -729,18 +728,21 @@ export class Destination extends LogicItem {
|
|
|
729
728
|
|
|
730
729
|
if (this.tsCalleeNamespace && this.tsName) {
|
|
731
730
|
const viewPath =
|
|
732
|
-
`${this.tsCalleeNamespace}.${this.tsName}`.replace(/^app\..+?.views\./, '').replace(/\.views\./g, '_view.')
|
|
733
|
-
|
|
734
|
-
|
|
731
|
+
`${`${this.tsCalleeNamespace}.${this.tsName}`.replace(/^app\..+?.views\./, '').replace(/\.views\./g, '_view.')}_view`;
|
|
732
|
+
code += `nasl.ui.destination('${this?.frontend?.name}.${viewPath}'`;
|
|
733
|
+
if (logicParamLength > 0) {
|
|
734
|
+
code += `, `;
|
|
735
|
+
code += '{';
|
|
736
|
+
}
|
|
735
737
|
this.arguments.slice(0, logicParamLength).forEach((argument: Argument, index) => {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
} else {
|
|
738
|
+
code += argument?.toNaturalTS(shiftState(state, code, { inline: true }), false, true);
|
|
739
|
+
if (index < logicParamLength - 1) {
|
|
739
740
|
code += `, `;
|
|
740
|
-
code += argument.toNaturalTS(shiftState(state, code, { inline: true }), false, false);
|
|
741
741
|
}
|
|
742
742
|
});
|
|
743
|
-
|
|
743
|
+
if (logicParamLength > 0) {
|
|
744
|
+
code += '}';
|
|
745
|
+
}
|
|
744
746
|
// code += this.anchor?.toNaturalTS(shiftState(state, code, { inline: true }), true) || '';
|
|
745
747
|
// code += `, '${this.target}'`;
|
|
746
748
|
|
|
@@ -361,7 +361,7 @@ export class EntityProperty extends BaseNode {
|
|
|
361
361
|
this.app?.emit('collect:end');
|
|
362
362
|
}
|
|
363
363
|
|
|
364
|
-
async _effect(options: { action?: 'delete' } = {}) {
|
|
364
|
+
async _effect(options: { action?: 'delete'; } = {}) {
|
|
365
365
|
// 处理选中的此字段的 CallQueryComponent
|
|
366
366
|
const callQueryComponents: Set<CallQueryComponent> = new Set();
|
|
367
367
|
const refs = await this.findUsage();
|
|
@@ -408,7 +408,7 @@ export class EntityProperty extends BaseNode {
|
|
|
408
408
|
/**
|
|
409
409
|
* 设置是否必填
|
|
410
410
|
*/
|
|
411
|
-
setDisplay(display: { [name: string]: boolean }) {
|
|
411
|
+
setDisplay(display: { [name: string]: boolean; }) {
|
|
412
412
|
const object = {
|
|
413
413
|
display,
|
|
414
414
|
};
|
|
@@ -478,10 +478,10 @@ export class EntityProperty extends BaseNode {
|
|
|
478
478
|
@withSourceMap()
|
|
479
479
|
toNaturalTS(state = createCompilerState()): string {
|
|
480
480
|
let code = '';
|
|
481
|
+
const excludeList = ['createdTime', 'updatedTime', 'createdBy', 'updatedBy'];
|
|
482
|
+
if (state.descriptionComment && !excludeList.includes(this.name))
|
|
483
|
+
code += createDescriptionComment(state, this, ['label']);
|
|
481
484
|
|
|
482
|
-
if (state.descriptionComment)
|
|
483
|
-
code += createDescriptionComment(state, this, ['label', 'description']);
|
|
484
|
-
|
|
485
485
|
if (this.relationNamespace && this.relationEntity && this.relationProperty) {
|
|
486
486
|
code += `@EntityRelation(() => new ${this.relationEntity}().${this.relationProperty})\n`;
|
|
487
487
|
code += indent(state.tabSize);
|
package/src/concepts/Entity__.ts
CHANGED
|
@@ -844,7 +844,7 @@ export class Entity extends Annotatable {
|
|
|
844
844
|
let code = '';
|
|
845
845
|
if (state.descriptionComment)
|
|
846
846
|
code += createDescriptionComment(state, this, ['description']);
|
|
847
|
-
code
|
|
847
|
+
code += `class ${this?.name} {\n`;
|
|
848
848
|
|
|
849
849
|
this.properties.forEach((property) => {
|
|
850
850
|
code += `${property.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1 }))};\n`;
|
|
@@ -985,7 +985,7 @@ export class Interface extends ImportedInterface {
|
|
|
985
985
|
let code = '';
|
|
986
986
|
if (state.descriptionComment)
|
|
987
987
|
code += createDescriptionComment(state, this, ['description']);
|
|
988
|
-
code
|
|
988
|
+
code += `declare function ${state?.rename || name}(`;
|
|
989
989
|
if (params?.length) {
|
|
990
990
|
code += '{ ';
|
|
991
991
|
params?.forEach((param, index) => {
|
package/src/concepts/Logic__.ts
CHANGED
|
@@ -1276,7 +1276,7 @@ export class Logic extends Annotatable {
|
|
|
1276
1276
|
}
|
|
1277
1277
|
|
|
1278
1278
|
get __isVirtual() {
|
|
1279
|
-
const isDisabled = !!this.getAncestor('HistoryProcessV2') || ['enabled', 'history'].includes(this.processV2?.status)
|
|
1279
|
+
const isDisabled = !!this.getAncestor('HistoryProcessV2') || ['enabled', 'history'].includes(this.processV2?.status);
|
|
1280
1280
|
return isDisabled || this.process?.__isVirtual || false;
|
|
1281
1281
|
}
|
|
1282
1282
|
|
|
@@ -1551,7 +1551,7 @@ export class Logic extends Annotatable {
|
|
|
1551
1551
|
const self = this;
|
|
1552
1552
|
|
|
1553
1553
|
// 获取所有子节点用于树上填充
|
|
1554
|
-
self.getSubLogics()
|
|
1554
|
+
self.getSubLogics();
|
|
1555
1555
|
|
|
1556
1556
|
yield waitOqlQueryComponentChildrenFinish(self);
|
|
1557
1557
|
let code = '';
|
|
@@ -1610,7 +1610,7 @@ export class Logic extends Annotatable {
|
|
|
1610
1610
|
leftIndex.length === 1
|
|
1611
1611
|
? yield* el.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
|
|
1612
1612
|
: yield* el.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
|
|
1613
|
-
|
|
1613
|
+
returnOrigin('');
|
|
1614
1614
|
const advanceVar = self.variables?.find(
|
|
1615
1615
|
(variable) => !variable.typeAnnotation && leftCode === variable.name,
|
|
1616
1616
|
);
|
|
@@ -1663,7 +1663,7 @@ export class Logic extends Annotatable {
|
|
|
1663
1663
|
leftIndex.length === 1
|
|
1664
1664
|
? yield* assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
|
|
1665
1665
|
: yield* assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
|
|
1666
|
-
|
|
1666
|
+
returnOrigin('');
|
|
1667
1667
|
if (leftCode === node.name) {
|
|
1668
1668
|
const rightNode: any =
|
|
1669
1669
|
rightIndex.length === 1
|
|
@@ -1934,7 +1934,7 @@ export class Logic extends Annotatable {
|
|
|
1934
1934
|
leftIndex.length === 1
|
|
1935
1935
|
? yield* el.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
|
|
1936
1936
|
: yield* el.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
|
|
1937
|
-
|
|
1937
|
+
returnOrigin('');
|
|
1938
1938
|
const advanceVar = self.variables?.find(
|
|
1939
1939
|
(variable) => !variable.typeAnnotation && leftCode === variable.name,
|
|
1940
1940
|
);
|
|
@@ -2049,7 +2049,7 @@ export class Logic extends Annotatable {
|
|
|
2049
2049
|
leftIndex.length === 1
|
|
2050
2050
|
? yield* assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
|
|
2051
2051
|
: yield* assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
|
|
2052
|
-
|
|
2052
|
+
returnOrigin('');
|
|
2053
2053
|
if (leftCode === node.name) {
|
|
2054
2054
|
const rightNode: any =
|
|
2055
2055
|
rightIndex.length === 1
|
|
@@ -2151,22 +2151,39 @@ export class Logic extends Annotatable {
|
|
|
2151
2151
|
],
|
|
2152
2152
|
function* warpForEachGenerator({ key, node: itemNode }) {
|
|
2153
2153
|
if (itemNode) {
|
|
2154
|
-
code += `
|
|
2154
|
+
code += `let __${key}_${node?.name}`;
|
|
2155
2155
|
let itemCode = '';
|
|
2156
|
+
// 匿名数据结构 / 未设置类型的List/map 才进getInitCode
|
|
2156
2157
|
if (
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2158
|
+
(
|
|
2159
|
+
asserts.isNewComposite(itemNode)
|
|
2160
|
+
&& itemNode.typeAnnotation?.typeKind === 'anonymousStructure'
|
|
2161
|
+
)
|
|
2162
|
+
|| (
|
|
2163
|
+
(asserts.isNewList(itemNode) || asserts.isNewMap(itemNode))
|
|
2164
|
+
&& !(itemNode?.typeAnnotation)
|
|
2165
|
+
)
|
|
2160
2166
|
) {
|
|
2161
|
-
|
|
2167
|
+
code += ' = ';
|
|
2168
|
+
itemCode += yield* itemNode?.getInitCode?.(shiftState(state, code, {
|
|
2162
2169
|
inline: true
|
|
2163
2170
|
})) ??
|
|
2164
|
-
|
|
2171
|
+
returnOrigin('');
|
|
2172
|
+
} else if (asserts.isNewComposite(itemNode) && itemNode.typeAnnotation?.typeKind === 'generic') { // new 带泛型的数据结构/实体 进这里
|
|
2173
|
+
code += ' = ';
|
|
2174
|
+
itemCode += (yield* itemNode?.getNewCompositeCode?.(shiftState(state, code, { inline: true }))) || 'null';
|
|
2175
|
+
} else if ((itemNode as any)?.typeAnnotation && !(asserts.isCallQueryComponent(itemNode) && !itemNode.isAutoInfer())) {
|
|
2176
|
+
code += ': ';
|
|
2177
|
+
code += yield* (itemNode as any)?.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
|
|
2178
|
+
returnOrigin('');
|
|
2165
2179
|
} else {
|
|
2180
|
+
code += ' = ';
|
|
2166
2181
|
itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
|
|
2167
2182
|
returnOrigin('');
|
|
2168
2183
|
}
|
|
2169
|
-
|
|
2184
|
+
if (itemCode) {
|
|
2185
|
+
code += yield* self.getRightCode(itemCode, assignment, itemNode);
|
|
2186
|
+
}
|
|
2170
2187
|
code += ';\n';
|
|
2171
2188
|
}
|
|
2172
2189
|
},
|
|
@@ -2277,19 +2294,32 @@ export class Logic extends Annotatable {
|
|
|
2277
2294
|
}
|
|
2278
2295
|
|
|
2279
2296
|
code += `(`;
|
|
2280
|
-
if (this.
|
|
2281
|
-
code +=
|
|
2297
|
+
if (state?.typeMap?.[this.nodePath]) {
|
|
2298
|
+
code += state?.typeMap?.[this.nodePath];
|
|
2299
|
+
} else {
|
|
2300
|
+
if (this.parentNode?.concept === 'BindEvent') {
|
|
2301
|
+
// code += `event`;
|
|
2302
|
+
}
|
|
2303
|
+
this.params.forEach((param, index) => {
|
|
2304
|
+
let curCode = '';
|
|
2305
|
+
if (param.name === 'event') curCode += '';
|
|
2306
|
+
else curCode += param.toNaturalTS(shiftState(state, code, { inline: true }));
|
|
2307
|
+
if (curCode && index !== this.params.length - 1) curCode += ', ';
|
|
2308
|
+
code += curCode;
|
|
2309
|
+
});
|
|
2282
2310
|
}
|
|
2283
|
-
this.params.forEach((param, index) => {
|
|
2284
|
-
code += param.toNaturalTS(shiftState(state, code, { inline: true }));
|
|
2285
|
-
if (index !== this.params.length - 1) code += ', ';
|
|
2286
|
-
});
|
|
2287
2311
|
code += ')';
|
|
2288
2312
|
|
|
2289
2313
|
// 兼容 return 没有类型情况
|
|
2290
|
-
if (this.returns.length
|
|
2291
|
-
|
|
2292
|
-
|
|
2314
|
+
if (this.returns.length) {
|
|
2315
|
+
if (state?.typeMap?.[this.returns[0]?.nodePath]) {
|
|
2316
|
+
code += ': ';
|
|
2317
|
+
code += state?.typeMap?.[this.returns[0]?.nodePath];
|
|
2318
|
+
} else if (this.returns[0].typeAnnotation || this.returns[0].__TypeAnnotation) {
|
|
2319
|
+
code += ': ';
|
|
2320
|
+
const typeAnnotation = this.returns[0].typeAnnotation || this.returns[0].__TypeAnnotation;
|
|
2321
|
+
code += typeAnnotation?.toNaturalTS(shiftState(state, code, { inline: true }));
|
|
2322
|
+
}
|
|
2293
2323
|
}
|
|
2294
2324
|
|
|
2295
2325
|
if (state.declaration) {
|
|
@@ -2372,17 +2402,17 @@ export class Logic extends Annotatable {
|
|
|
2372
2402
|
code += ';';
|
|
2373
2403
|
} else {
|
|
2374
2404
|
code += ' {\n';
|
|
2375
|
-
|
|
2405
|
+
|
|
2376
2406
|
this.variables.forEach((variable) => {
|
|
2377
2407
|
code += `${indent(state.tabSize + 1)}let `;
|
|
2378
2408
|
code += variable.toTextualNASL(shiftState(state, code, { inline: true }));
|
|
2379
2409
|
code += ';\n';
|
|
2380
2410
|
});
|
|
2381
2411
|
if (this.variables.length) code += '\n';
|
|
2382
|
-
|
|
2412
|
+
|
|
2383
2413
|
this.body.forEach((item) => {
|
|
2384
2414
|
let partialCode = '';
|
|
2385
|
-
|
|
2415
|
+
|
|
2386
2416
|
// if (!state.focusedNodePath && item.concept === 'End') code += `${indent(state.tabSize + 1)}/* 当前位置 */\n`;
|
|
2387
2417
|
if (item.toTextualNASL) {
|
|
2388
2418
|
partialCode = item.toTextualNASL(shiftState(state, code, { tabSize: state.tabSize + 1 }));
|
|
@@ -2515,8 +2545,8 @@ export class Logic extends Annotatable {
|
|
|
2515
2545
|
collectionTSCode === '__IDENTIFIER__'
|
|
2516
2546
|
? collectionTSCode
|
|
2517
2547
|
: callFunction.isLoopMap && index === 0
|
|
2518
|
-
|
|
2519
|
-
|
|
2548
|
+
? `${collectionTSCode}.__getKey(0)`
|
|
2549
|
+
: `${collectionTSCode}.__get(0)`,
|
|
2520
2550
|
);
|
|
2521
2551
|
}
|
|
2522
2552
|
});
|
|
@@ -2658,9 +2688,8 @@ export class Logic extends Annotatable {
|
|
|
2658
2688
|
if (asserts.isFrontendLibrary(this.parentNode)) {
|
|
2659
2689
|
_path += `/frontends/${this.parentNode.type}`;
|
|
2660
2690
|
} else if (this.parentNode.concept === 'BindEvent' && this.getAncestor('Frontend')) {
|
|
2661
|
-
_path += `/frontendTypes/${this.getAncestor('FrontendType')?.name}/frontends/${
|
|
2662
|
-
|
|
2663
|
-
}/bindEvents/${name}.ts`;
|
|
2691
|
+
_path += `/frontendTypes/${this.getAncestor('FrontendType')?.name}/frontends/${this.getAncestor('Frontend')?.name
|
|
2692
|
+
}/bindEvents/${name}.ts`;
|
|
2664
2693
|
}
|
|
2665
2694
|
return `/embedded/${this.getAncestor('App')?.name}${_path}/logics/${name}.ts`;
|
|
2666
2695
|
}
|
|
@@ -2750,9 +2779,9 @@ export class Logic extends Annotatable {
|
|
|
2750
2779
|
super.delete();
|
|
2751
2780
|
this.body.forEach((el) => {
|
|
2752
2781
|
if (asserts.isCallInterface(el)) {
|
|
2753
|
-
el.deleteCallNode()
|
|
2782
|
+
el.deleteCallNode();
|
|
2754
2783
|
}
|
|
2755
|
-
})
|
|
2784
|
+
});
|
|
2756
2785
|
this.traverseChildren(async (el) => {
|
|
2757
2786
|
if (el?.concept === 'CallQueryComponent') (el as CallQueryComponent).removeStructure();
|
|
2758
2787
|
// 仅仅针对 自定义连接器下的 Loigc,其他需要界定边界
|
|
@@ -2886,7 +2915,7 @@ export class Logic extends Annotatable {
|
|
|
2886
2915
|
|
|
2887
2916
|
getSubLogics() {
|
|
2888
2917
|
const subLogics = this.findNaslNodeByBFS((node: BaseNode) => {
|
|
2889
|
-
if (
|
|
2918
|
+
if (node?.concept === 'SubLogic') {
|
|
2890
2919
|
return true;
|
|
2891
2920
|
}
|
|
2892
2921
|
});
|
|
@@ -8,13 +8,14 @@ import {
|
|
|
8
8
|
withGenerator,
|
|
9
9
|
TranslatorGenerator,
|
|
10
10
|
} from '../translator';
|
|
11
|
-
import {
|
|
11
|
+
import { Enum, TypeAnnotation, BusinessComponent, View } from '..';
|
|
12
12
|
import { ElementToVueOptions } from './ViewElement__';
|
|
13
13
|
import type Identifier from './Identifier__';
|
|
14
14
|
import BindAttribute, { attrConvertCamelCase } from './BindAttribute__';
|
|
15
15
|
import type Assignment from './Assignment__';
|
|
16
16
|
import type BatchAssignment from './BatchAssignment__';
|
|
17
17
|
import DefaultValue from './DefaultValue__';
|
|
18
|
+
import { config } from '../config';
|
|
18
19
|
|
|
19
20
|
const Identifier_RE = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
20
21
|
|
|
@@ -138,11 +139,13 @@ export class MemberExpression extends LogicItem {
|
|
|
138
139
|
}
|
|
139
140
|
|
|
140
141
|
if (
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
config?.allNodesAPI &&
|
|
143
|
+
config?.allNodesAPI[elementTag] &&
|
|
144
|
+
config?.allNodesAPI[elementTag].readablePropsMap &&
|
|
145
|
+
config?.allNodesAPI[elementTag].readablePropsMap[this.property.name] &&
|
|
146
|
+
config?.allNodesAPI[elementTag].readablePropsMap[this.property.name].state
|
|
144
147
|
) {
|
|
145
|
-
const { prop } =
|
|
148
|
+
const { prop } = config?.allNodesAPI[elementTag].readablePropsMap[this.property.name];
|
|
146
149
|
if (!['data'].includes(this.property.name)) {
|
|
147
150
|
return `this && this.__${elementName}_params && this.__${elementName}_params.${this.property.name}`;
|
|
148
151
|
}
|
|
@@ -263,11 +266,13 @@ export class MemberExpression extends LogicItem {
|
|
|
263
266
|
}
|
|
264
267
|
|
|
265
268
|
if (
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
+
config?.allNodesAPI &&
|
|
270
|
+
config?.allNodesAPI[elementTag] &&
|
|
271
|
+
config?.allNodesAPI[elementTag].readablePropsMap &&
|
|
272
|
+
config?.allNodesAPI[elementTag].readablePropsMap[this.property.name] &&
|
|
273
|
+
config?.allNodesAPI[elementTag].readablePropsMap[this.property.name].state
|
|
269
274
|
) {
|
|
270
|
-
const { prop } =
|
|
275
|
+
const { prop } = config?.allNodesAPI[elementTag].readablePropsMap[this.property.name];
|
|
271
276
|
|
|
272
277
|
if (!['data'].includes(this.property.name)) {
|
|
273
278
|
return `this['__${elementName}_params'] && this['__${elementName}_params'].${this.property.name}`;
|
|
@@ -422,11 +427,13 @@ export class MemberExpression extends LogicItem {
|
|
|
422
427
|
const prefix = type === 'toVue' ? '' : 'this.';
|
|
423
428
|
|
|
424
429
|
if (
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
430
|
+
config?.allNodesAPI &&
|
|
431
|
+
config?.allNodesAPI[elementTag] &&
|
|
432
|
+
config?.allNodesAPI[elementTag].readablePropsMap &&
|
|
433
|
+
config?.allNodesAPI[elementTag].readablePropsMap[this.property.name] &&
|
|
434
|
+
config?.allNodesAPI[elementTag].readablePropsMap[this.property.name].state
|
|
428
435
|
) {
|
|
429
|
-
const { prop } =
|
|
436
|
+
const { prop } = config?.allNodesAPI[elementTag].readablePropsMap[this.property.name];
|
|
430
437
|
|
|
431
438
|
if (!['data'].includes(this.property.name)) {
|
|
432
439
|
return `${prefix}__${elementName}_params && ${prefix}__${elementName}_params.${this.property.name}`;
|