@lcap/nasl-concepts 3.13.0-alpha.microapp-1 → 3.13.0-beta.10
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/common/BaseNode.d.ts +3 -3
- package/out/common/BaseNode.d.ts.map +1 -1
- package/out/common/BaseNode.js +11 -7
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/Abort__.js +1 -1
- package/out/concepts/Abort__.js.map +1 -1
- package/out/concepts/App__.d.ts +83 -0
- package/out/concepts/App__.d.ts.map +1 -1
- package/out/concepts/App__.js +106 -2
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BackendVariable__.js +2 -2
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/Backend__.js +1 -1
- package/out/concepts/Backend__.js.map +1 -1
- package/out/concepts/BatchAssignment__.d.ts +25 -2
- package/out/concepts/BatchAssignment__.d.ts.map +1 -1
- package/out/concepts/BatchAssignment__.js +436 -69
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts.map +1 -1
- package/out/concepts/BindAttribute__.js +9 -2
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts.map +1 -1
- package/out/concepts/BindDirective__.js +7 -1
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.js +1 -1
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/Break__.d.ts +33 -0
- package/out/concepts/Break__.d.ts.map +1 -0
- package/out/concepts/Break__.js +120 -0
- package/out/concepts/Break__.js.map +1 -0
- package/out/concepts/BusinessComponent__.d.ts.map +1 -1
- package/out/concepts/BusinessComponent__.js +3 -2
- package/out/concepts/BusinessComponent__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +1 -0
- package/out/concepts/CallLogic__.d.ts.map +1 -1
- package/out/concepts/CallLogic__.js +16 -3
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +14 -5
- package/out/concepts/CallQueryComponent__.d.ts.map +1 -1
- package/out/concepts/CallQueryComponent__.js +90 -56
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts.map +1 -1
- package/out/concepts/CompletionProperty__.js +7 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +2 -2
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Connection__.js +2 -2
- package/out/concepts/Connection__.js.map +1 -1
- package/out/concepts/ConnectorTrigger__.js +1 -1
- package/out/concepts/ConnectorTrigger__.js.map +1 -1
- package/out/concepts/Continue__.d.ts +33 -0
- package/out/concepts/Continue__.d.ts.map +1 -0
- package/out/concepts/Continue__.js +120 -0
- package/out/concepts/Continue__.js.map +1 -0
- package/out/concepts/DataSource__.d.ts +12 -1
- package/out/concepts/DataSource__.d.ts.map +1 -1
- package/out/concepts/DataSource__.js +58 -5
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/DefaultValue__.d.ts +1 -0
- package/out/concepts/DefaultValue__.d.ts.map +1 -1
- package/out/concepts/DefaultValue__.js +9 -0
- package/out/concepts/DefaultValue__.js.map +1 -1
- package/out/concepts/Dependency__.js +1 -1
- package/out/concepts/Dependency__.js.map +1 -1
- package/out/concepts/Destination__.js +1 -1
- package/out/concepts/End__.d.ts.map +1 -1
- package/out/concepts/End__.js +34 -2
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +13 -0
- package/out/concepts/Entity__.d.ts.map +1 -1
- package/out/concepts/Entity__.js +49 -9
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.js +2 -2
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/ExternalDestination__.js +1 -1
- package/out/concepts/ForEachStatement__.d.ts.map +1 -1
- package/out/concepts/ForEachStatement__.js +10 -8
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/FrontendType__.js +1 -1
- package/out/concepts/FrontendType__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +0 -3
- package/out/concepts/Frontend__.d.ts.map +1 -1
- package/out/concepts/Frontend__.js +1 -25
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +1 -0
- package/out/concepts/InterfaceParam__.d.ts.map +1 -1
- package/out/concepts/InterfaceParam__.js +35 -0
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +1 -0
- package/out/concepts/Interface__.d.ts.map +1 -1
- package/out/concepts/Interface__.js +45 -2
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts.map +1 -1
- package/out/concepts/JSBlock__.js +1 -3
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +1 -1
- package/out/concepts/LogicItem__.d.ts.map +1 -1
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +12 -1
- package/out/concepts/Logic__.d.ts.map +1 -1
- package/out/concepts/Logic__.js +56 -21
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +4 -0
- package/out/concepts/MemberExpression__.d.ts.map +1 -1
- package/out/concepts/MemberExpression__.js +16 -0
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/MetadataType__.js +2 -2
- package/out/concepts/MetadataType__.js.map +1 -1
- package/out/concepts/Module__.d.ts +7 -1
- package/out/concepts/Module__.d.ts.map +1 -1
- package/out/concepts/Module__.js +40 -2
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.js +1 -1
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +35 -3
- package/out/concepts/NewComposite__.d.ts.map +1 -1
- package/out/concepts/NewComposite__.js +465 -67
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/OperatePermissionV2__.d.ts +9 -1
- package/out/concepts/OperatePermissionV2__.d.ts.map +1 -1
- package/out/concepts/OperatePermissionV2__.js +24 -3
- package/out/concepts/OperatePermissionV2__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.d.ts +2 -0
- package/out/concepts/OqlQueryComponent__.d.ts.map +1 -1
- package/out/concepts/OqlQueryComponent__.js +10 -0
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.d.ts.map +1 -1
- package/out/concepts/OverriddenLogic__.js +2 -1
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/Param__.d.ts +1 -0
- package/out/concepts/Param__.d.ts.map +1 -1
- package/out/concepts/Param__.js +38 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/PermissionForSharedScope__.d.ts +34 -0
- package/out/concepts/PermissionForSharedScope__.d.ts.map +1 -0
- package/out/concepts/PermissionForSharedScope__.js +73 -0
- package/out/concepts/PermissionForSharedScope__.js.map +1 -0
- package/out/concepts/ProcessElementV2__.d.ts +4 -0
- package/out/concepts/ProcessElementV2__.d.ts.map +1 -1
- package/out/concepts/ProcessElementV2__.js +75 -10
- package/out/concepts/ProcessElementV2__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +1 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessV2__.d.ts.map +1 -1
- package/out/concepts/ProcessV2__.js +1 -8
- package/out/concepts/ProcessV2__.js.map +1 -1
- package/out/concepts/Process__.js +1 -1
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryFieldExpression__.d.ts +5 -0
- package/out/concepts/QueryFieldExpression__.d.ts.map +1 -1
- package/out/concepts/QueryFieldExpression__.js +15 -4
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.d.ts +1 -0
- package/out/concepts/QueryFromExpression__.d.ts.map +1 -1
- package/out/concepts/QueryFromExpression__.js +3 -0
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.d.ts +1 -0
- package/out/concepts/QueryJoinExpression__.d.ts.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +3 -0
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +1 -0
- package/out/concepts/Return__.d.ts.map +1 -1
- package/out/concepts/Return__.js +39 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.js +1 -1
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SelectMembers__.d.ts +5 -0
- package/out/concepts/SelectMembers__.d.ts.map +1 -1
- package/out/concepts/SelectMembers__.js +66 -0
- package/out/concepts/SelectMembers__.js.map +1 -1
- package/out/concepts/SharedScope__.d.ts +38 -0
- package/out/concepts/SharedScope__.d.ts.map +1 -0
- package/out/concepts/SharedScope__.js +79 -0
- package/out/concepts/SharedScope__.js.map +1 -0
- package/out/concepts/StructureProperty__.d.ts +1 -0
- package/out/concepts/StructureProperty__.d.ts.map +1 -1
- package/out/concepts/StructureProperty__.js +37 -0
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +1 -1
- package/out/concepts/Structure__.d.ts.map +1 -1
- package/out/concepts/Structure__.js +23 -30
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SubLogic__.d.ts +3 -1
- package/out/concepts/SubLogic__.d.ts.map +1 -1
- package/out/concepts/SubLogic__.js +127 -2
- package/out/concepts/SubLogic__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +21 -0
- package/out/concepts/TypeAnnotation__.d.ts.map +1 -1
- package/out/concepts/TypeAnnotation__.js +82 -0
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/TypeParam__.d.ts +1 -0
- package/out/concepts/TypeParam__.d.ts.map +1 -1
- package/out/concepts/TypeParam__.js +32 -0
- package/out/concepts/TypeParam__.js.map +1 -1
- package/out/concepts/Variable__.js +1 -1
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts.map +1 -1
- package/out/concepts/ViewElement__.js +29 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts.map +1 -1
- package/out/concepts/View__.js +5 -2
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.d.ts.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.js +279 -129
- package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.d.ts.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +238 -0
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/index__.d.ts +2 -0
- package/out/concepts/index__.d.ts.map +1 -1
- package/out/concepts/index__.js +2 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/utils/asserts.d.ts +204 -0
- package/out/concepts/utils/asserts.d.ts.map +1 -1
- package/out/concepts/utils/asserts.js +286 -15
- package/out/concepts/utils/asserts.js.map +1 -1
- package/out/concepts/utils/types.d.ts +16 -2
- package/out/concepts/utils/types.d.ts.map +1 -1
- package/out/semantics/localVarCollector.d.ts +11 -0
- package/out/semantics/localVarCollector.d.ts.map +1 -0
- package/out/semantics/localVarCollector.js +41 -0
- package/out/semantics/localVarCollector.js.map +1 -0
- package/out/semantics/semanticData.d.ts +6 -5
- package/out/semantics/semanticData.d.ts.map +1 -1
- package/out/semantics/semanticData.js +69 -62
- package/out/semantics/semanticData.js.map +1 -1
- package/out/service/engine.d.ts.map +1 -1
- package/out/service/engine.js +4 -0
- package/out/service/engine.js.map +1 -1
- package/out/service/entity2LogicNamespace.d.ts.map +1 -1
- package/out/service/entity2LogicNamespace.js +20 -9
- package/out/service/entity2LogicNamespace.js.map +1 -1
- package/out/service/formatTsUtils.d.ts +1 -1
- package/out/service/formatTsUtils.d.ts.map +1 -1
- package/out/service/formatTsUtils.js +38 -25
- package/out/service/formatTsUtils.js.map +1 -1
- package/out/service/genSlotVarRef.d.ts +3 -0
- package/out/service/genSlotVarRef.d.ts.map +1 -0
- package/out/service/genSlotVarRef.js +154 -0
- package/out/service/genSlotVarRef.js.map +1 -0
- package/out/service/getExtensionModules.d.ts.map +1 -1
- package/out/service/getExtensionModules.js +12 -0
- package/out/service/getExtensionModules.js.map +1 -1
- package/out/service/getLogics.d.ts.map +1 -1
- package/out/service/getLogics.js +24 -26
- package/out/service/getLogics.js.map +1 -1
- package/out/service/getMemberIdentifier.d.ts.map +1 -1
- package/out/service/getMemberIdentifier.js +104 -255
- package/out/service/getMemberIdentifier.js.map +1 -1
- package/out/service/getProcesses.d.ts.map +1 -1
- package/out/service/getProcesses.js +31 -29
- package/out/service/getProcesses.js.map +1 -1
- package/out/service/getProcessesV2.js +1 -1
- package/out/service/getProcessesV2.js.map +1 -1
- package/out/utils/traverse.d.ts +14 -2
- package/out/utils/traverse.d.ts.map +1 -1
- package/out/utils/traverse.js +28 -10
- package/out/utils/traverse.js.map +1 -1
- package/package.json +5 -5
|
@@ -489,6 +489,7 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
|
|
|
489
489
|
};
|
|
490
490
|
}
|
|
491
491
|
*getRightCode(code, assignment, rightNode) {
|
|
492
|
+
code = code.replaceAll(/\/\/.*\n/g, '');
|
|
492
493
|
code = code.replaceAll('\n', ' ');
|
|
493
494
|
// 赋值语句的右侧或者集合内置函数的参数
|
|
494
495
|
if ((asserts.isAssignment(assignment) && !assignment.right) ||
|
|
@@ -1099,8 +1100,8 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
|
|
|
1099
1100
|
}
|
|
1100
1101
|
}
|
|
1101
1102
|
getSubLogics() {
|
|
1102
|
-
if (this.app.naslServer?.isFirstScreen) {
|
|
1103
|
-
return;
|
|
1103
|
+
if (this.app.naslServer?.isFirstScreen) { // 这个是真的只有 IDE 加载才走,ts 更新不走
|
|
1104
|
+
return this.subLogics;
|
|
1104
1105
|
}
|
|
1105
1106
|
const subLogics = this.findNaslNodeByBFS((node) => {
|
|
1106
1107
|
if (asserts.isSubLogic(node)) {
|
|
@@ -1108,9 +1109,14 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
|
|
|
1108
1109
|
}
|
|
1109
1110
|
});
|
|
1110
1111
|
this.subLogics = subLogics;
|
|
1112
|
+
return this.subLogics;
|
|
1111
1113
|
}
|
|
1112
1114
|
// 用于展示的名称
|
|
1113
1115
|
get __name__() {
|
|
1116
|
+
if (this.parentNode?.parentNode?.concept === 'CallFunction') {
|
|
1117
|
+
const callfunc = this.parentNode?.parentNode;
|
|
1118
|
+
return `${callfunc?.calleeName || ''}_${this.name}`;
|
|
1119
|
+
}
|
|
1114
1120
|
const callLogic = this.getAncestor('CallLogic');
|
|
1115
1121
|
return `${callLogic?.calleeName || ''}_${this.name}`;
|
|
1116
1122
|
}
|
|
@@ -1120,6 +1126,119 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
|
|
|
1120
1126
|
}
|
|
1121
1127
|
return '';
|
|
1122
1128
|
}
|
|
1129
|
+
toNaturalTS(state = (0, nasl_translator_1.createCompilerState)()) {
|
|
1130
|
+
let code = '';
|
|
1131
|
+
let logicName = this.name;
|
|
1132
|
+
code += `function ${logicName}`;
|
|
1133
|
+
code += `(`;
|
|
1134
|
+
this.params?.forEach((param, index) => {
|
|
1135
|
+
let curCode = '';
|
|
1136
|
+
if (param.name === 'event')
|
|
1137
|
+
curCode += '';
|
|
1138
|
+
else
|
|
1139
|
+
curCode += param.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1140
|
+
if (curCode && index !== this.params.length - 1)
|
|
1141
|
+
curCode += ', ';
|
|
1142
|
+
code += curCode;
|
|
1143
|
+
});
|
|
1144
|
+
code += ')';
|
|
1145
|
+
// 兼容 return 没有类型情况
|
|
1146
|
+
if (this.returns.length) {
|
|
1147
|
+
if (this.returns[0].typeAnnotation || this.returns[0].__TypeAnnotation) {
|
|
1148
|
+
code += ': ';
|
|
1149
|
+
const typeAnnotation = this.returns[0].typeAnnotation || this.returns[0].__TypeAnnotation;
|
|
1150
|
+
code += typeAnnotation?.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
code += ' {\n';
|
|
1154
|
+
this.variables.forEach((variable) => {
|
|
1155
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}let `;
|
|
1156
|
+
if (state?.typeMap?.[variable.nodePath]) {
|
|
1157
|
+
code += state?.typeMap?.[variable.nodePath];
|
|
1158
|
+
}
|
|
1159
|
+
else {
|
|
1160
|
+
code += variable.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1161
|
+
}
|
|
1162
|
+
code += ';\n';
|
|
1163
|
+
});
|
|
1164
|
+
this.returns.forEach((ret) => {
|
|
1165
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}let `;
|
|
1166
|
+
code += ret.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1167
|
+
code += ';\n';
|
|
1168
|
+
});
|
|
1169
|
+
if (!this.body.length || this.body.length === 2) {
|
|
1170
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}return ${this?.returns?.[0]?.name || ''};\n`;
|
|
1171
|
+
}
|
|
1172
|
+
else {
|
|
1173
|
+
this.body.forEach((item) => {
|
|
1174
|
+
let partialCode = '';
|
|
1175
|
+
if (item.toNaturalTS) {
|
|
1176
|
+
partialCode = item.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { tabSize: (state.tabSize || 0) + 1, inline: false }));
|
|
1177
|
+
}
|
|
1178
|
+
else if (item.toEmbeddedTS) {
|
|
1179
|
+
partialCode = (0, utils_1.runGeneratorSync)(item.toEmbeddedTS((0, nasl_translator_1.shiftState)(state, code, { tabSize: (state.tabSize || 0) + 1, inline: false })));
|
|
1180
|
+
}
|
|
1181
|
+
if (partialCode) {
|
|
1182
|
+
code += `${partialCode}\n`;
|
|
1183
|
+
}
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1186
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize)}}`;
|
|
1187
|
+
return code;
|
|
1188
|
+
}
|
|
1189
|
+
toTextualNASL(state = (0, nasl_translator_1.createCompilerState)()) {
|
|
1190
|
+
let code = '';
|
|
1191
|
+
let logicName = this.name;
|
|
1192
|
+
code += `function ${logicName}`;
|
|
1193
|
+
code += `(`;
|
|
1194
|
+
this.params?.forEach((param, index) => {
|
|
1195
|
+
let curCode = '';
|
|
1196
|
+
if (param.name === 'event')
|
|
1197
|
+
curCode += '';
|
|
1198
|
+
else
|
|
1199
|
+
curCode += param.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1200
|
+
if (curCode && index !== this.params.length - 1)
|
|
1201
|
+
curCode += ', ';
|
|
1202
|
+
code += curCode;
|
|
1203
|
+
});
|
|
1204
|
+
code += ')';
|
|
1205
|
+
if (this.returns.length) {
|
|
1206
|
+
code += ' => ';
|
|
1207
|
+
this.returns.forEach((ret) => {
|
|
1208
|
+
code += ret.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1209
|
+
});
|
|
1210
|
+
}
|
|
1211
|
+
code += ' {\n';
|
|
1212
|
+
this.variables.forEach((variable) => {
|
|
1213
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}let `;
|
|
1214
|
+
if (state?.typeMap?.[variable.nodePath]) {
|
|
1215
|
+
code += state?.typeMap?.[variable.nodePath];
|
|
1216
|
+
}
|
|
1217
|
+
else {
|
|
1218
|
+
code += variable.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
|
|
1219
|
+
}
|
|
1220
|
+
code += ';\n';
|
|
1221
|
+
});
|
|
1222
|
+
if (!this.body.length || this.body.length === 2) {
|
|
1223
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}return ${this?.returns?.[0]?.name || ''};\n`;
|
|
1224
|
+
}
|
|
1225
|
+
else {
|
|
1226
|
+
this.body.forEach((item) => {
|
|
1227
|
+
let partialCode = '';
|
|
1228
|
+
if (item.toTextualNASL) {
|
|
1229
|
+
partialCode = item.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
|
|
1230
|
+
}
|
|
1231
|
+
else if (item.toEmbeddedTS) {
|
|
1232
|
+
partialCode = (0, utils_1.runGeneratorSync)(item.toEmbeddedTS((0, nasl_translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 })));
|
|
1233
|
+
}
|
|
1234
|
+
if (partialCode) {
|
|
1235
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}${partialCode}\n`;
|
|
1236
|
+
}
|
|
1237
|
+
});
|
|
1238
|
+
}
|
|
1239
|
+
code += `${(0, nasl_translator_1.indent)(state.tabSize)}}`;
|
|
1240
|
+
return code;
|
|
1241
|
+
}
|
|
1123
1242
|
};
|
|
1124
1243
|
exports.SubLogic = SubLogic;
|
|
1125
1244
|
__decorate([
|
|
@@ -1170,6 +1289,12 @@ __decorate([
|
|
|
1170
1289
|
__decorate([
|
|
1171
1290
|
nasl_translator_1.withSourceMapGenerator
|
|
1172
1291
|
], SubLogic.prototype, "toEmbeddedTSInProcess", null);
|
|
1292
|
+
__decorate([
|
|
1293
|
+
(0, nasl_translator_1.withSourceMap)()
|
|
1294
|
+
], SubLogic.prototype, "toNaturalTS", null);
|
|
1295
|
+
__decorate([
|
|
1296
|
+
(0, nasl_translator_1.withSourceMap)()
|
|
1297
|
+
], SubLogic.prototype, "toTextualNASL", null);
|
|
1173
1298
|
exports.SubLogic = SubLogic = SubLogic_1 = __decorate([
|
|
1174
1299
|
(0, decorators_1.concept)('子逻辑')
|
|
1175
1300
|
], SubLogic);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubLogic__.js","sourceRoot":"","sources":["../../src/concepts/SubLogic__.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SubLogic__.js","sourceRoot":"","sources":["../../src/concepts/SubLogic__.ts"],"names":[],"mappings":"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"}
|
|
@@ -303,6 +303,12 @@ export declare class TypeAnnotation extends BaseNode {
|
|
|
303
303
|
* @description 递归的严格判断类型是否相等
|
|
304
304
|
*/
|
|
305
305
|
isStrictSame(typeAnnotation: TypeAnnotation): boolean;
|
|
306
|
+
/**
|
|
307
|
+
* 如果当前类型与对比类型中有一个为范型则返回true
|
|
308
|
+
* 否则返回 isStrictSame 对应结果
|
|
309
|
+
* @param typeAnnotation
|
|
310
|
+
*/
|
|
311
|
+
isSimilarTo(typeAnnotation: TypeAnnotation): boolean;
|
|
306
312
|
isSystemType(): boolean;
|
|
307
313
|
/**
|
|
308
314
|
* 是否和Error类型有关
|
|
@@ -318,6 +324,21 @@ export declare class TypeAnnotation extends BaseNode {
|
|
|
318
324
|
_insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number): StructureProperty;
|
|
319
325
|
_addProperty(options?: string | Partial<StructureProperty> | StructureProperty): StructureProperty;
|
|
320
326
|
addProperty(options?: string | Partial<StructureProperty> | StructureProperty): StructureProperty;
|
|
327
|
+
/**
|
|
328
|
+
* 获取类型对应的结构
|
|
329
|
+
* @param app
|
|
330
|
+
* @returns
|
|
331
|
+
*/
|
|
332
|
+
getStructure(app: App): any;
|
|
333
|
+
/**
|
|
334
|
+
* 收集类型中的属性
|
|
335
|
+
* @param app
|
|
336
|
+
* @param prefix
|
|
337
|
+
* @param propertyMap
|
|
338
|
+
* @param depth
|
|
339
|
+
* @returns
|
|
340
|
+
*/
|
|
341
|
+
collectPropertyMap(app: App, prefix?: string, propertyMap?: Map<any, any>, depth?: number): Map<any, any>;
|
|
321
342
|
}
|
|
322
343
|
export default TypeAnnotation;
|
|
323
344
|
//# sourceMappingURL=TypeAnnotation__.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeAnnotation__.d.ts","sourceRoot":"","sources":["../../src/concepts/TypeAnnotation__.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TypeAnnotation__.d.ts","sourceRoot":"","sources":["../../src/concepts/TypeAnnotation__.ts"],"names":[],"mappings":"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"}
|
|
@@ -1115,6 +1115,17 @@ let TypeAnnotation = class TypeAnnotation extends BaseNode_1.default {
|
|
|
1115
1115
|
}
|
|
1116
1116
|
return sameTypeAnnotation(this, typeAnnotation);
|
|
1117
1117
|
}
|
|
1118
|
+
/**
|
|
1119
|
+
* 如果当前类型与对比类型中有一个为范型则返回true
|
|
1120
|
+
* 否则返回 isStrictSame 对应结果
|
|
1121
|
+
* @param typeAnnotation
|
|
1122
|
+
*/
|
|
1123
|
+
isSimilarTo(typeAnnotation) {
|
|
1124
|
+
if (this.typeKind === 'typeParam' || typeAnnotation.typeKind === 'typeParam') {
|
|
1125
|
+
return true;
|
|
1126
|
+
}
|
|
1127
|
+
return this.isStrictSame(typeAnnotation);
|
|
1128
|
+
}
|
|
1118
1129
|
// 是否是系统类型
|
|
1119
1130
|
isSystemType() {
|
|
1120
1131
|
return ['nasl.ui', 'nasl.auth', 'nasl.http', 'nasl.process', 'nasl.error'].includes(this.typeNamespace);
|
|
@@ -1242,6 +1253,77 @@ let TypeAnnotation = class TypeAnnotation extends BaseNode_1.default {
|
|
|
1242
1253
|
});
|
|
1243
1254
|
return node;
|
|
1244
1255
|
}
|
|
1256
|
+
/**
|
|
1257
|
+
* 获取类型对应的结构
|
|
1258
|
+
* @param app
|
|
1259
|
+
* @returns
|
|
1260
|
+
*/
|
|
1261
|
+
getStructure(app) {
|
|
1262
|
+
let structure;
|
|
1263
|
+
if (this.typeKind === 'anonymousStructure') {
|
|
1264
|
+
structure = {
|
|
1265
|
+
properties: this.properties,
|
|
1266
|
+
};
|
|
1267
|
+
}
|
|
1268
|
+
else if (this.typeArguments) {
|
|
1269
|
+
structure = {
|
|
1270
|
+
properties: app.getSelectRef(this, true),
|
|
1271
|
+
};
|
|
1272
|
+
}
|
|
1273
|
+
else if (this.typeNamespace === 'nasl.core' && this.typeName === 'String') {
|
|
1274
|
+
const StructureProperty = (0, decorators_1.getConceptConstructor)('StructureProperty');
|
|
1275
|
+
const TypeAnnotation = (0, decorators_1.getConceptConstructor)('TypeAnnotation');
|
|
1276
|
+
structure = {
|
|
1277
|
+
properties: [
|
|
1278
|
+
new StructureProperty({
|
|
1279
|
+
name: 'length',
|
|
1280
|
+
typeAnnotation: new TypeAnnotation({
|
|
1281
|
+
concept: 'TypeAnnotation',
|
|
1282
|
+
typeKind: 'primitive',
|
|
1283
|
+
typeNamespace: 'nasl.core',
|
|
1284
|
+
typeName: 'Long',
|
|
1285
|
+
}),
|
|
1286
|
+
}),
|
|
1287
|
+
],
|
|
1288
|
+
};
|
|
1289
|
+
}
|
|
1290
|
+
else {
|
|
1291
|
+
structure = app.findNodeByCompleteName(this.typeNamespace + '.' + this.typeName);
|
|
1292
|
+
}
|
|
1293
|
+
return structure;
|
|
1294
|
+
}
|
|
1295
|
+
/**
|
|
1296
|
+
* 收集类型中的属性
|
|
1297
|
+
* @param app
|
|
1298
|
+
* @param prefix
|
|
1299
|
+
* @param propertyMap
|
|
1300
|
+
* @param depth
|
|
1301
|
+
* @returns
|
|
1302
|
+
*/
|
|
1303
|
+
collectPropertyMap(app, prefix = '', propertyMap = new Map(), depth = 0) {
|
|
1304
|
+
const structure = this?.getStructure(app);
|
|
1305
|
+
// 如果结构中有属性并且递归深度小于 10,则递归处理子属性
|
|
1306
|
+
if (structure?.properties?.length && depth < 10) {
|
|
1307
|
+
depth++;
|
|
1308
|
+
structure?.properties?.forEach((property) => {
|
|
1309
|
+
const completeList = [];
|
|
1310
|
+
if (prefix) {
|
|
1311
|
+
completeList.push(prefix);
|
|
1312
|
+
}
|
|
1313
|
+
completeList.push(property.name);
|
|
1314
|
+
const completeName = completeList.join('.');
|
|
1315
|
+
const count = propertyMap.size;
|
|
1316
|
+
const typeAnnotation = property?.__TypeAnnotation || property?.typeAnnotation;
|
|
1317
|
+
// 将完整属性名添加到属性映射表中
|
|
1318
|
+
propertyMap.set(completeName, {
|
|
1319
|
+
index: count,
|
|
1320
|
+
typeKey: typeAnnotation?.typeKey,
|
|
1321
|
+
});
|
|
1322
|
+
typeAnnotation.collectPropertyMap(app, completeName, propertyMap, depth);
|
|
1323
|
+
});
|
|
1324
|
+
}
|
|
1325
|
+
return propertyMap;
|
|
1326
|
+
}
|
|
1245
1327
|
};
|
|
1246
1328
|
exports.TypeAnnotation = TypeAnnotation;
|
|
1247
1329
|
__decorate([
|