@lcap/nasl 2.18.0-beta.7 → 2.20.0-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/out/automate/engine/index.js +3 -3
- package/out/automate/engine/index.js.map +1 -1
- package/out/bak/translator.js +85 -37
- package/out/bak/translator.js.map +1 -1
- package/out/common/BaseNode.d.ts +6 -10
- package/out/common/BaseNode.js +7 -53
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/AnonymousFunction__.js.map +1 -1
- package/out/concepts/App__.d.ts +0 -10
- package/out/concepts/App__.js +0 -74
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/AssignmentLine__.d.ts +5 -5
- package/out/concepts/AssignmentLine__.js +6 -6
- package/out/concepts/AssignmentLine__.js.map +1 -1
- package/out/concepts/Assignment__.js +2 -1
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BatchAssignment__.d.ts +60 -60
- package/out/concepts/BatchAssignment__.js +41 -68
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +0 -19
- package/out/concepts/BindAttribute__.js +2 -39
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BindStyle__.d.ts +2 -2
- package/out/concepts/BindStyle__.js +3 -3
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.js +8 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +25 -58
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +0 -7
- package/out/concepts/CallInterface__.js +7 -53
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +1 -2
- package/out/concepts/CallLogic__.js +25 -89
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +1 -13
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/CompletionProperty__.js +0 -3
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/DataSource__.d.ts +0 -6
- package/out/concepts/DataSource__.js +0 -41
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +2 -11
- package/out/concepts/Destination__.js +48 -148
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +8 -21
- package/out/concepts/EntityProperty__.js +23 -109
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +0 -32
- package/out/concepts/Entity__.js +2 -117
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.js +4 -0
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +4 -0
- package/out/concepts/ForEachStatement__.js +8 -4
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.js +4 -16
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.d.ts +0 -8
- package/out/concepts/IfStatement__.js +0 -22
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +1 -1
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +1 -6
- package/out/concepts/Logic__.js +50 -150
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MatchCase__.d.ts +1 -1
- package/out/concepts/MatchCase__.js +8 -15
- package/out/concepts/MatchCase__.js.map +1 -1
- package/out/concepts/Match__.d.ts +19 -21
- package/out/concepts/Match__.js +25 -112
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +1 -4
- package/out/concepts/MemberExpression__.js +15 -30
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NumericLiteral__.js +1 -1
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.d.ts +3 -7
- package/out/concepts/OqlQueryComponent__.js +95 -56
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/Param__.d.ts +1 -1
- package/out/concepts/Param__.js +4 -40
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryOrderByExpression__.d.ts +3 -3
- package/out/concepts/QueryOrderByExpression__.js +3 -3
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.js +2 -38
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/SelectMembers__.d.ts +1 -1
- package/out/concepts/SelectMembers__.js +2 -2
- package/out/concepts/SelectMembers__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.d.ts +4 -2
- package/out/concepts/SqlQueryComponent__.js +88 -9
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/StringLiteral__.js +7 -0
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +0 -1
- package/out/concepts/TypeAnnotation__.js +12 -25
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/TypeParam__.d.ts +0 -1
- package/out/concepts/TypeParam__.js +0 -2
- package/out/concepts/TypeParam__.js.map +1 -1
- package/out/concepts/UnaryExpression__.js +9 -6
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/ValidationRule__.js +23 -88
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.js +2 -38
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +29 -30
- package/out/concepts/ViewElement__.js +52 -118
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +3 -4
- package/out/concepts/View__.js +83 -97
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +1 -1
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.browser.js +0 -50
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +4 -36
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +43 -63
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/index__.d.ts +0 -2
- package/out/concepts/index__.js +0 -2
- package/out/concepts/index__.js.map +1 -1
- package/out/generator/genBundleFiles.d.ts +2 -5
- package/out/generator/genBundleFiles.js +155 -108
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +10 -1
- package/out/generator/genMetaData.js +50 -189
- package/out/generator/genMetaData.js.map +1 -1
- package/out/generator/index.d.ts +0 -1
- package/out/generator/index.js +0 -1
- package/out/generator/index.js.map +1 -1
- package/out/index.d.ts +2 -3
- package/out/index.js +1 -5
- package/out/index.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +11 -11
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/extendBaseNode.js +18 -4
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/formatTsUtils.d.ts +2 -1
- package/out/server/formatTsUtils.js +64 -40
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getLogics.js +6 -13
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.js +7 -7
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +1 -1
- package/out/server/getProcesses.js +1 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/index.d.ts +1 -0
- package/out/server/index.js +27 -2
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +7 -47
- package/out/server/naslServer.js +399 -604
- package/out/server/naslServer.js.map +1 -1
- package/out/server/naslStdlibMap.js +28 -30
- package/out/server/naslStdlibMap.js.map +1 -1
- package/out/server/translator.js +11 -59
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.js +3 -33
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +4 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +4 -7
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +5 -7
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEnumSelectBlock.js +2 -5
- package/out/templator/genEnumSelectBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.js +2 -2
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +2 -2
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.d.ts +2 -2
- package/out/templator/genQueryComponent.js +1 -4
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genTableBlock.js +2 -2
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +3 -4
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.js +1 -1
- package/out/templator/utils.js.map +1 -1
- package/out/test/integration/node-nasl-server.js +38 -10
- package/out/test/integration/node-nasl-server.js.map +1 -1
- package/out/translator/index.d.ts +0 -1
- package/out/translator/index.js +1 -1
- package/out/translator/index.js.map +1 -1
- package/out/utils/index.d.ts +0 -1
- package/out/utils/index.js +1 -38
- package/out/utils/index.js.map +1 -1
- package/out/utils/string.d.ts +2 -15
- package/out/utils/string.js +3 -18
- package/out/utils/string.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/nasl.auth.ts +1 -1
- package/sandbox/stdlib/nasl.core.ts +1 -0
- package/sandbox/stdlib/nasl.logging.ts +4 -4
- package/sandbox/stdlib/nasl.util.ts +8 -4
- package/src/automate/engine/index.js +4 -4
- package/src/automate/engine/uniqueName.js +3 -3
- package/src/automate/template/myProcess.js +1 -1
- package/src/automate/upgrader/2.20.js +41 -0
- package/src/bak/translator.js +4 -1
- package/src/concepts/AnonymousFunction__.ts +48 -2
- package/src/concepts/App__.ts +288 -615
- package/src/concepts/BatchAssignment__.ts +45 -1
- package/src/concepts/BindAttribute__.ts +18 -25
- package/src/concepts/BindDirective__.ts +7 -0
- package/src/concepts/BindEvent__.ts +7 -0
- package/src/concepts/BindStyle__.ts +7 -0
- package/src/concepts/CallFunction__.ts +34 -45
- package/src/concepts/CallInterface__.ts +2 -1
- package/src/concepts/CallLogic__.ts +61 -44
- package/src/concepts/CallQueryComponent__.ts +4 -1
- package/src/concepts/Constant__.ts +7 -0
- package/src/concepts/DataSource__.ts +57 -5
- package/src/concepts/Destination__.ts +8 -21
- package/src/concepts/Frontend__.ts +937 -0
- package/src/concepts/Identifier__.ts +18 -16
- package/src/concepts/LogicItem__.ts +8 -1
- package/src/concepts/Logic__.ts +128 -142
- package/src/concepts/Match__.ts +13 -29
- package/src/concepts/NewComposite__.ts +1357 -0
- package/src/concepts/NewList__.ts +440 -0
- package/src/concepts/NewMap__.ts +666 -0
- package/src/concepts/New__.ts +73 -0
- package/src/concepts/Param__.ts +245 -199
- package/src/concepts/ProcessElement__.ts +43 -36
- package/src/concepts/ProcessOutcomes__.ts +90 -0
- package/src/concepts/Process__.ts +1 -23
- package/src/concepts/Return__.ts +11 -1
- package/src/concepts/SelectMembers__.ts +3 -3
- package/src/concepts/Transactional__.ts +7 -0
- package/src/concepts/TypeAnnotation__.ts +54 -49
- package/src/concepts/ValidationRule__.ts +19 -1
- package/src/concepts/Variable__.ts +12 -6
- package/src/concepts/ViewElement__.ts +51 -7
- package/src/concepts/View__.ts +21 -25
- package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
- package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
- package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
- package/src/concepts/index__.ts +7 -0
- package/src/enums/KEYWORDS.ts +9 -0
- package/src/generator/genBundleFiles.ts +43 -29
- package/src/generator/genMetaData.ts +5 -10
- package/src/generator/genReleaseBody.ts +77 -41
- package/src/generator/index.ts +1 -0
- package/src/generator/permission.ts +261 -0
- package/src/index.ts +1 -1
- package/src/server/entity2LogicNamespace.ts +90 -10
- package/src/server/extendBaseNode.ts +29 -3
- package/src/server/formatTsUtils.ts +6 -0
- package/src/server/getLogics.ts +13 -1
- package/src/server/getMemberIdentifier.ts +5 -5
- package/src/server/naslServer.ts +235 -58
- package/src/server/process2LogicNamespace.ts +8 -0
- package/src/server/translator.ts +33 -1
- package/src/service/creator/add.configs.js +4 -0
- package/src/service/datasource/api.js +11 -0
- package/src/service/datasource/index.js +6 -0
- package/src/service/storage/init.ts +12 -0
- package/src/service/video/VideoTranscribe.js +1 -0
- package/src/templator/genEditTableBlock.ts +8 -16
- package/src/templator/genGetBlock.ts +18 -19
- package/src/templator/genGridViewBlock.ts +18 -18
- package/src/templator/genListViewBlock.ts +8 -11
- package/src/templator/genTableBlock.ts +6 -10
- package/ts-worker/lib/tsserver.js +8 -1
- package/out/automate/engine/2.14-components.d.ts +0 -1115
- package/out/automate/engine/2.14-components.js +0 -1087
- package/out/automate/engine/2.14-components.js.map +0 -1
- package/out/concepts/ExternalDestination__.d.ts +0 -73
- package/out/concepts/ExternalDestination__.js +0 -264
- package/out/concepts/ExternalDestination__.js.map +0 -1
- package/out/concepts/MatchExpression__.d.ts +0 -97
- package/out/concepts/MatchExpression__.js +0 -281
- package/out/concepts/MatchExpression__.js.map +0 -1
- package/out/concepts/StringInterpolation__.d.ts +0 -113
- package/out/concepts/StringInterpolation__.js +0 -227
- package/out/concepts/StringInterpolation__.js.map +0 -1
- package/out/generator/genReleaseBody.d.ts +0 -41
- package/out/generator/genReleaseBody.js +0 -349
- package/out/generator/genReleaseBody.js.map +0 -1
- package/out/service/defaultErrorMessage.json +0 -97
- package/out/service/logic/api.d.ts +0 -9
- package/out/service/logic/api.js +0 -11
- package/out/service/logic/api.js.map +0 -1
- package/out/service/logic/index.d.ts +0 -2
- package/out/service/logic/index.js +0 -10
- package/out/service/logic/index.js.map +0 -1
- package/sandbox/stdlib/dist/nasl.logging.js +0 -0
- package/src/automate/engine/dist/index.dev.js +0 -517
- package/src/common/dist/BaseNode.js +0 -1101
- package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1503
- package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
- package/src/concepts/dist/Anchor__.js +0 -179
- package/src/concepts/dist/Assignment__.js +0 -301
- package/src/concepts/dist/CallFunction__.js +0 -513
- package/src/concepts/dist/CallInterface__.js +0 -533
- package/src/concepts/dist/CallLogic__.js +0 -892
- package/src/concepts/dist/ForEachStatement__.js +0 -426
- package/src/concepts/dist/MatchCase__.js +0 -587
- package/src/concepts/dist/Match__.js +0 -631
- package/src/concepts/dist/MemberExpression__.js +0 -348
- package/src/concepts/dist/Param__.js +0 -538
- package/src/concepts/dist/Return__.js +0 -494
- package/src/concepts/dist/Variable__.js +0 -537
- package/src/concepts/dist/ViewElement__.js +0 -1680
- package/src/generator/dist/genBundleFiles.js +0 -261
- package/src/generator/dist/genMetaData.js +0 -249
- package/src/server/dist/formatTsUtils.js +0 -683
- package/src/server/dist/naslServer.js +0 -3474
- package/src/service/storage/dist/init.js +0 -572
- package/ts-worker/dist/webpack.config.dev.js +0 -108
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewElement__.js","sourceRoot":"","sources":["../../src/concepts/ViewElement__.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ViewElement__.js","sourceRoot":"","sources":["../../src/concepts/ViewElement__.ts"],"names":[],"mappings":"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"}
|
package/out/concepts/View__.d.ts
CHANGED
|
@@ -683,6 +683,8 @@ export declare class View extends BaseNode {
|
|
|
683
683
|
*/
|
|
684
684
|
elementLogicRoot: any[];
|
|
685
685
|
getElementLogicRoot(): void;
|
|
686
|
+
viewElementDataSourceTypeStrMap: Map<BaseNode, string>;
|
|
687
|
+
getViewElementDataSourceCode(state?: TranslatorState): string;
|
|
686
688
|
getViewBindEvents(): BindEvent[];
|
|
687
689
|
getViewMatchExpressions(): Match[];
|
|
688
690
|
/**
|
|
@@ -698,9 +700,6 @@ export declare class View extends BaseNode {
|
|
|
698
700
|
_setAsIndexView(isIndex: boolean): void;
|
|
699
701
|
setAsIndexView(isIndex: boolean): void;
|
|
700
702
|
removeExistingViewElement(viewElement: ViewElement): void;
|
|
701
|
-
getRightCode(code: string, assignment: Assignment | BatchAssignment
|
|
702
|
-
handleReplaceCode(code: string, variable: string, replaceCode: string): string;
|
|
703
|
-
getAncestorViewElementsWithDataSource(logic: Logic): ViewElement[];
|
|
704
|
-
handleCurrentItemCode(code: string, logic: Logic): string;
|
|
703
|
+
getRightCode(code: string, assignment: Assignment | BatchAssignment): string;
|
|
705
704
|
}
|
|
706
705
|
export default View;
|
package/out/concepts/View__.js
CHANGED
|
@@ -37,11 +37,10 @@ exports.View = void 0;
|
|
|
37
37
|
const translator_1 = require("../translator");
|
|
38
38
|
const translator_2 = __importDefault(require("../bak/translator"));
|
|
39
39
|
const Structure__1 = require("./Structure__");
|
|
40
|
+
const MemberExpression__1 = __importDefault(require("./MemberExpression__"));
|
|
40
41
|
const Identifier__1 = __importDefault(require("./Identifier__"));
|
|
41
42
|
const Assignment__1 = __importDefault(require("./Assignment__"));
|
|
42
43
|
const BatchAssignment__1 = __importDefault(require("./BatchAssignment__"));
|
|
43
|
-
const CallInterface__1 = __importDefault(require("./CallInterface__"));
|
|
44
|
-
const CallLogic__1 = __importDefault(require("./CallLogic__"));
|
|
45
44
|
const decorators_1 = require("../decorators");
|
|
46
45
|
const utils = __importStar(require("../utils"));
|
|
47
46
|
const BaseNode_1 = __importDefault(require("../common/BaseNode"));
|
|
@@ -1153,7 +1152,12 @@ let View = View_1 = class View extends BaseNode_1.default {
|
|
|
1153
1152
|
if (el.view !== this)
|
|
1154
1153
|
return;
|
|
1155
1154
|
const jsCode = el.toJS();
|
|
1156
|
-
|
|
1155
|
+
// 逻辑内局部变量、输出参数、输入参数过滤
|
|
1156
|
+
if ((el.logic?.variables || []).find((lVar) => jsCode.includes(`${lVar.name} = `))
|
|
1157
|
+
|| (el.logic?.returns || []).find((lRet) => jsCode.includes(`${lRet.name} = `))
|
|
1158
|
+
|| (el.logic?.params || []).find((lPar) => jsCode.includes(`${lPar.name} = `)))
|
|
1159
|
+
return;
|
|
1160
|
+
const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && jsCode.includes(`${variable.name} = `));
|
|
1157
1161
|
if (advanceVar && !advanceMap.get(advanceVar)) {
|
|
1158
1162
|
advanceMap.set(advanceVar, el);
|
|
1159
1163
|
}
|
|
@@ -1176,7 +1180,6 @@ let View = View_1 = class View extends BaseNode_1.default {
|
|
|
1176
1180
|
});
|
|
1177
1181
|
}
|
|
1178
1182
|
advanceMap.forEach((assignment, variable) => {
|
|
1179
|
-
code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + '// @ts-ignore\n';
|
|
1180
1183
|
code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + 'let ';
|
|
1181
1184
|
code += variable.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
|
|
1182
1185
|
code += ' = ';
|
|
@@ -1184,20 +1187,18 @@ let View = View_1 = class View extends BaseNode_1.default {
|
|
|
1184
1187
|
assignment.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
|
|
1185
1188
|
const leftCode = leftIndex.length === 1 ? assignment.left.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : assignment.left.members[leftIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
|
|
1186
1189
|
if (leftCode === variable.name) {
|
|
1187
|
-
const
|
|
1188
|
-
|
|
1189
|
-
code += this.getRightCode(rightCode, assignment, rightNode);
|
|
1190
|
+
const rightCode = rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : assignment.rights[rightIndex[0]]?.members[rightIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
|
|
1191
|
+
code += this.getRightCode(rightCode, assignment);
|
|
1190
1192
|
}
|
|
1191
1193
|
});
|
|
1192
1194
|
}
|
|
1193
1195
|
else {
|
|
1194
|
-
let rightCode = '';
|
|
1195
1196
|
// 因为右侧枚举要赋值就得new 一下;
|
|
1196
1197
|
if (assignment.right && assignment.right instanceof Identifier__1.default && assignment.right.namespace && assignment.right.namespace.endsWith('enums')) {
|
|
1197
|
-
|
|
1198
|
+
code += 'new ';
|
|
1198
1199
|
}
|
|
1199
|
-
rightCode
|
|
1200
|
-
code += this.getRightCode(rightCode, assignment
|
|
1200
|
+
const rightCode = (assignment.right && assignment.right.toEmbeddedTS) ? assignment.right.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : '__RIGHT__';
|
|
1201
|
+
code += this.getRightCode(rightCode, assignment);
|
|
1201
1202
|
}
|
|
1202
1203
|
code += ';\n';
|
|
1203
1204
|
});
|
|
@@ -1235,6 +1236,9 @@ let View = View_1 = class View extends BaseNode_1.default {
|
|
|
1235
1236
|
code += '\n' + (0, translator_1.indent)((state?.tabSize || 0) + 1);
|
|
1236
1237
|
code += `export function __render(`;
|
|
1237
1238
|
code += `){\n`;
|
|
1239
|
+
code += this.getViewElementDataSourceCode((0, translator_1.shiftState)(state, code, {
|
|
1240
|
+
tabSize: (state?.tabSize || 0),
|
|
1241
|
+
}));
|
|
1238
1242
|
code += (0, translator_1.indent)((state?.tabSize || 0));
|
|
1239
1243
|
// elements 元素
|
|
1240
1244
|
if (Array.isArray(this.elements)) {
|
|
@@ -1338,6 +1342,37 @@ let View = View_1 = class View extends BaseNode_1.default {
|
|
|
1338
1342
|
this.elementLogicRoot = [];
|
|
1339
1343
|
}
|
|
1340
1344
|
}
|
|
1345
|
+
viewElementDataSourceTypeStrMap;
|
|
1346
|
+
getViewElementDataSourceCode(state) {
|
|
1347
|
+
const viewElementDataSourceTypeStrMap = new Map();
|
|
1348
|
+
let code = '';
|
|
1349
|
+
let bindAttrIndex = 0;
|
|
1350
|
+
this.elements.forEach((item) => {
|
|
1351
|
+
utils.traverse((current) => {
|
|
1352
|
+
const node = current.node;
|
|
1353
|
+
const bindAttrs = node.bindAttrs;
|
|
1354
|
+
if (bindAttrs && bindAttrs.length) {
|
|
1355
|
+
const attr = bindAttrs.find((item) => item.name === 'data-source');
|
|
1356
|
+
if (attr && attr.expression) {
|
|
1357
|
+
if (attr.expression instanceof MemberExpression__1.default || attr.expression instanceof Identifier__1.default) {
|
|
1358
|
+
const value = attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
|
|
1359
|
+
viewElementDataSourceTypeStrMap.set(node, `nasl.ui.GetItemTypeFromDataSource<typeof ${value || 'any'}>`);
|
|
1360
|
+
}
|
|
1361
|
+
else {
|
|
1362
|
+
const funcName = '__datasourceName' + bindAttrIndex;
|
|
1363
|
+
code += `const ${funcName} = () => { return`;
|
|
1364
|
+
code += attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
|
|
1365
|
+
code += '};\n';
|
|
1366
|
+
viewElementDataSourceTypeStrMap.set(node, `nasl.ui.GetItemTypeFromDataSource<ReturnType<typeof ${funcName}>>`);
|
|
1367
|
+
bindAttrIndex++;
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
}, { node: item });
|
|
1372
|
+
});
|
|
1373
|
+
this.viewElementDataSourceTypeStrMap = viewElementDataSourceTypeStrMap;
|
|
1374
|
+
return code;
|
|
1375
|
+
}
|
|
1341
1376
|
getViewBindEvents() {
|
|
1342
1377
|
const bindEvents = [];
|
|
1343
1378
|
// 页面上的绑定的事件
|
|
@@ -1451,106 +1486,57 @@ let View = View_1 = class View extends BaseNode_1.default {
|
|
|
1451
1486
|
this.existingViewElement.delete(viewElement.name);
|
|
1452
1487
|
}
|
|
1453
1488
|
}
|
|
1454
|
-
getRightCode(code, assignment
|
|
1489
|
+
getRightCode(code, assignment) {
|
|
1455
1490
|
const logic = assignment.logic;
|
|
1456
|
-
const logicRtn = logic?.returns[0];
|
|
1457
|
-
// 调用接口,参数替换成 null
|
|
1458
|
-
if (rightNode instanceof CallInterface__1.default) {
|
|
1459
|
-
const { _interface } = rightNode.getModuleInterface();
|
|
1460
|
-
return _interface ? `${rightNode.tsCalleeKey}(${_interface.params.map(() => 'null').join(',')})` : null;
|
|
1461
|
-
}
|
|
1462
|
-
// 调用全局逻辑,参数替换成 null
|
|
1463
|
-
if (rightNode instanceof CallLogic__1.default && rightNode.calleeNamespace === 'app.logics') {
|
|
1464
|
-
const calleeName = rightNode?.calleeName;
|
|
1465
|
-
const calleeLogic = this.app.logics.find((l) => l.name === calleeName);
|
|
1466
|
-
return calleeLogic ? `app.logics.${calleeName}(${calleeLogic.params.map(() => 'null').join(',')})` : null;
|
|
1467
|
-
}
|
|
1468
1491
|
// view 局部变量,申明提升前增加判断,使用 logic 内的 result 直接替换成对应 logic,logic 内部变量替换成 null
|
|
1469
|
-
if (
|
|
1470
|
-
|
|
1471
|
-
return `${logic.name}(${logic.params.map(() => 'null').join(',')})`;
|
|
1472
|
-
code = this.handleReplaceCode(code, logicRtn.name, `${logic.name}(${logic.params.map(() => 'null').join(',')})`);
|
|
1492
|
+
if (code.includes('result')) {
|
|
1493
|
+
code = code.replace(/result(\d)*/g, `${logic.name}(${logic.params.map(() => 'null').join(',')})`);
|
|
1473
1494
|
logic.params.forEach((param) => {
|
|
1474
1495
|
if (code.includes(param.name))
|
|
1475
|
-
code =
|
|
1496
|
+
code = code.replace(param.name, 'null');
|
|
1476
1497
|
});
|
|
1477
1498
|
logic.variables.forEach((variable) => {
|
|
1478
1499
|
if (code.includes(variable.name))
|
|
1479
|
-
code =
|
|
1500
|
+
code = code.replace(variable.name, 'null');
|
|
1501
|
+
});
|
|
1502
|
+
logic.returns.forEach((rtn) => {
|
|
1503
|
+
if (code.includes(rtn.name))
|
|
1504
|
+
code = code.replace(rtn.name, 'null');
|
|
1480
1505
|
});
|
|
1481
1506
|
return code;
|
|
1482
1507
|
}
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1508
|
+
else if (code.startsWith('app.logics.')) {
|
|
1509
|
+
// 直接赋值全局逻辑,逻辑入参替换成 null
|
|
1510
|
+
const args = code.match(/\(([^)]*)\)/)[1];
|
|
1511
|
+
if (args) {
|
|
1512
|
+
const fnArgs = args.split(',')
|
|
1513
|
+
.map(() => 'null')
|
|
1514
|
+
.join(',');
|
|
1515
|
+
code = code.replace(args, fnArgs);
|
|
1516
|
+
}
|
|
1486
1517
|
return code;
|
|
1487
1518
|
}
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
if (
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
if ($1.startsWith(`${variable}.`))
|
|
1501
|
-
fnCode = $1.replaceAll(`${variable}.`, `${replaceCode}.`);
|
|
1502
|
-
if ($1.startsWith(`${variable},`))
|
|
1503
|
-
fnCode = $1.replaceAll(`${variable},`, `${replaceCode},`);
|
|
1504
|
-
if ($1.includes(`(${variable},`))
|
|
1505
|
-
fnCode = $1.replaceAll(`(${variable},`, `(${replaceCode},`);
|
|
1506
|
-
if ($1.includes(`(${variable}.`))
|
|
1507
|
-
fnCode = $1.replaceAll(`(${variable}.`, `(${replaceCode}.`);
|
|
1508
|
-
if ($1.includes(`(${variable})`))
|
|
1509
|
-
fnCode = $1.replaceAll(`(${variable})`, `(${replaceCode})`);
|
|
1510
|
-
if ($1.includes(`,${variable},`))
|
|
1511
|
-
fnCode = $1.replaceAll(`,${variable},`, `,${replaceCode},`);
|
|
1512
|
-
if ($1.includes(`,${variable}.`))
|
|
1513
|
-
fnCode = $1.replaceAll(`,${variable}.`, `,${replaceCode}.`);
|
|
1514
|
-
if ($1.includes(`,${variable})`))
|
|
1515
|
-
fnCode = $1.replaceAll(`,${variable})`, `,${replaceCode})`);
|
|
1516
|
-
return fnCode;
|
|
1517
|
-
});
|
|
1518
|
-
}
|
|
1519
|
-
getAncestorViewElementsWithDataSource(logic) {
|
|
1520
|
-
let element = logic;
|
|
1521
|
-
const viewElements = [];
|
|
1522
|
-
while (element) {
|
|
1523
|
-
if (element.concept
|
|
1524
|
-
&& element.concept === 'ViewElement'
|
|
1525
|
-
&& element.bindAttrs.find((bAttr) => bAttr.name === 'data-source')) {
|
|
1526
|
-
viewElements.push(element);
|
|
1519
|
+
else {
|
|
1520
|
+
// 直接赋值 logic 内局部变量、输入参数直接提示系统无法推断类型
|
|
1521
|
+
let hasVar = false;
|
|
1522
|
+
logic.params.forEach((param) => {
|
|
1523
|
+
if (code.includes(param.name))
|
|
1524
|
+
hasVar = true;
|
|
1525
|
+
});
|
|
1526
|
+
if (!hasVar) {
|
|
1527
|
+
logic.variables.forEach((variable) => {
|
|
1528
|
+
if (code.includes(variable.name))
|
|
1529
|
+
hasVar = true;
|
|
1530
|
+
});
|
|
1527
1531
|
}
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
const viewElementsWithDataSource = this.getAncestorViewElementsWithDataSource(logic);
|
|
1534
|
-
viewElementsWithDataSource.forEach((viewElement, index) => {
|
|
1535
|
-
const currentIndex = viewElementsWithDataSource.length - 1 - index;
|
|
1536
|
-
const currentItemCode = `current${currentIndex === 0 ? '' : currentIndex}.item`;
|
|
1537
|
-
if (code.includes(currentItemCode)) {
|
|
1538
|
-
const dataSource = viewElement.bindAttrs.find((bAttr) => bAttr.name === 'data-source');
|
|
1539
|
-
if (dataSource) {
|
|
1540
|
-
const view = viewElement.getAncestor('View');
|
|
1541
|
-
const dataSourceTS = dataSource.expression.toEmbeddedTS();
|
|
1542
|
-
const logic = view.logics.find((logic) => logic.name === dataSourceTS);
|
|
1543
|
-
if (logic) {
|
|
1544
|
-
code = code.replaceAll(currentItemCode, `nasl.ui.getCurrentItemType(${dataSourceTS}(${logic.params.map(() => 'null').join(',')}))`);
|
|
1545
|
-
}
|
|
1546
|
-
else {
|
|
1547
|
-
const variable = view.variables.find((variable) => variable.name === dataSourceTS);
|
|
1548
|
-
code = code.replaceAll(currentItemCode, `nasl.ui.getCurrentItemType(${variable ? variable.name : dataSourceTS})`);
|
|
1549
|
-
}
|
|
1550
|
-
}
|
|
1532
|
+
if (!hasVar) {
|
|
1533
|
+
logic.returns.forEach((rtn) => {
|
|
1534
|
+
if (code.includes(rtn.name))
|
|
1535
|
+
hasVar = true;
|
|
1536
|
+
});
|
|
1551
1537
|
}
|
|
1552
|
-
|
|
1553
|
-
|
|
1538
|
+
return hasVar ? 'null' : code;
|
|
1539
|
+
}
|
|
1554
1540
|
}
|
|
1555
1541
|
};
|
|
1556
1542
|
__decorate([
|