@lcap/nasl 2.18.0-beta.7 → 2.19.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/template/myProcess.js +1 -1
- package/out/automate/template/myProcess.js.map +1 -1
- package/out/bak/translator.js +2 -1
- package/out/bak/translator.js.map +1 -1
- package/out/common/Command.d.ts +1 -0
- package/out/common/Command.js +5 -1
- package/out/common/Command.js.map +1 -1
- package/out/concepts/AnonymousFunction__.d.ts +1 -0
- package/out/concepts/AnonymousFunction__.js +40 -2
- package/out/concepts/AnonymousFunction__.js.map +1 -1
- package/out/concepts/App__.d.ts +10 -0
- package/out/concepts/App__.js +132 -0
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Assignee__.js +4 -3
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/BatchAssignment__.d.ts +2 -0
- package/out/concepts/BatchAssignment__.js +45 -1
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.js +8 -1
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/CallFunction__.js +51 -18
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.js +6 -4
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.js +87 -15
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +4 -1
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/DataSource__.d.ts +2 -0
- package/out/concepts/DataSource__.js +55 -1
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +2 -0
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +1 -0
- package/out/concepts/Identifier__.js +18 -7
- package/out/concepts/Identifier__.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 -0
- package/out/concepts/Logic__.js +27 -14
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.js +13 -8
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +345 -0
- package/out/concepts/NewComposite__.js +1067 -0
- package/out/concepts/NewComposite__.js.map +1 -0
- package/out/concepts/NewList__.d.ts +130 -0
- package/out/concepts/NewList__.js +353 -0
- package/out/concepts/NewList__.js.map +1 -0
- package/out/concepts/NewMap__.d.ts +221 -0
- package/out/concepts/NewMap__.js +492 -0
- package/out/concepts/NewMap__.js.map +1 -0
- package/out/concepts/New__.d.ts +19 -0
- package/out/concepts/New__.js +66 -0
- package/out/concepts/New__.js.map +1 -0
- package/out/concepts/Param__.d.ts +2 -0
- package/out/concepts/Param__.js +40 -3
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +31 -10
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/ProcessOutcomes__.d.ts +30 -0
- package/out/concepts/{ConstructArgument__.js → ProcessOutcomes__.js} +27 -48
- package/out/concepts/ProcessOutcomes__.js.map +1 -0
- package/out/concepts/Return__.js +2 -1
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/SelectMembers__.js +3 -3
- package/out/concepts/SelectMembers__.js.map +1 -1
- package/out/concepts/StringInterpolation__.js +12 -2
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +4 -0
- package/out/concepts/TypeAnnotation__.js +66 -12
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/ValidationRule__.js +1 -1
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.js +2 -1
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.js +12 -0
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +1 -0
- package/out/concepts/View__.js +9 -0
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
- package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
- package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +151 -19
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/index__.d.ts +5 -0
- package/out/concepts/index__.js +5 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/enums/KEYWORDS.js +1 -0
- package/out/enums/KEYWORDS.js.map +1 -1
- package/out/generator/genMetaData.js +1 -6
- package/out/generator/genMetaData.js.map +1 -1
- package/out/generator/genReleaseBody.d.ts +2 -0
- package/out/generator/genReleaseBody.js +18 -1
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/generator/index.d.ts +1 -0
- package/out/generator/index.js +1 -0
- package/out/generator/index.js.map +1 -1
- package/out/generator/permission.d.ts +9 -0
- package/out/generator/permission.js +235 -0
- package/out/generator/permission.js.map +1 -0
- package/out/index.d.ts +1 -1
- package/out/index.js +2 -1
- package/out/index.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +69 -9
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/extendBaseNode.js +7 -3
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/formatTsUtils.js +6 -0
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getLogics.d.ts +2 -1
- package/out/server/getLogics.js +11 -0
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.js +1 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/naslServer.d.ts +1 -1
- package/out/server/naslServer.js +161 -22
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.js +8 -0
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.js +53 -8
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.js +4 -0
- package/out/service/creator/add.configs.js.map +1 -1
- package/out/service/datasource/api.d.ts +12 -0
- package/out/service/datasource/api.js +14 -0
- package/out/service/datasource/api.js.map +1 -0
- package/out/service/datasource/index.d.ts +2 -0
- package/out/service/datasource/index.js +10 -0
- package/out/service/datasource/index.js.map +1 -0
- package/out/service/storage/init.js +8 -1
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genEditTableBlock.js +4 -5
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +4 -3
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.js +16 -14
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +5 -5
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +6 -10
- package/out/templator/genTableBlock.js.map +1 -1
- package/package.json +1 -1
- package/sandbox/stdlib/dist/nasl.util.js +0 -0
- package/sandbox/stdlib/nasl.auth.ts +1 -1
- package/sandbox/stdlib/nasl.core.ts +4 -0
- package/sandbox/stdlib/nasl.logging.ts +4 -4
- package/sandbox/stdlib/nasl.util.ts +13 -4
- package/src/automate/template/myProcess.js +1 -1
- package/src/bak/translator.js +4 -1
- package/src/common/Command.ts +4 -0
- package/src/concepts/AnonymousFunction__.ts +48 -2
- package/src/concepts/App__.ts +140 -41
- package/src/concepts/Assignee__.ts +4 -3
- package/src/concepts/BatchAssignment__.ts +45 -1
- package/src/concepts/BindAttribute__.ts +9 -2
- package/src/concepts/CallFunction__.ts +65 -31
- package/src/concepts/CallInterface__.ts +6 -22
- package/src/concepts/CallLogic__.ts +62 -13
- package/src/concepts/CallQueryComponent__.ts +4 -1
- package/src/concepts/DataSource__.ts +56 -1
- package/src/concepts/ForEachStatement__.ts +2 -0
- package/src/concepts/Identifier__.ts +18 -7
- package/src/concepts/LogicItem__.ts +1 -1
- package/src/concepts/Logic__.ts +48 -32
- package/src/concepts/Match__.ts +12 -8
- package/src/concepts/NewComposite__.ts +1356 -0
- package/src/concepts/NewList__.ts +444 -0
- package/src/concepts/NewMap__.ts +678 -0
- package/src/concepts/New__.ts +73 -0
- package/src/concepts/Param__.ts +238 -199
- package/src/concepts/ProcessElement__.ts +32 -10
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/ProcessOutcomes__.ts +90 -0
- package/src/concepts/Return__.ts +4 -1
- package/src/concepts/SelectMembers__.ts +3 -3
- package/src/concepts/StringInterpolation__.ts +21 -11
- package/src/concepts/TypeAnnotation__.ts +71 -50
- package/src/concepts/ValidationRule__.ts +19 -1
- package/src/concepts/Variable__.ts +4 -1
- package/src/concepts/ViewElement__.ts +38 -1
- package/src/concepts/View__.ts +12 -2
- package/src/concepts/basics/stdlib/dist/nasl.util.js +133 -34
- 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/dist/BindAttribute__.js +760 -0
- package/src/concepts/dist/BindEvent__.js +732 -0
- package/src/concepts/dist/CallFunction__.js +21 -7
- package/src/concepts/dist/CallLogic__.js +50 -10
- package/src/concepts/dist/Identifier__.js +311 -0
- package/src/concepts/dist/StringInterpolation__.js +231 -0
- package/src/concepts/dist/TypeAnnotation__.js +834 -0
- package/src/concepts/dist/ViewElement__.js +12 -0
- package/src/concepts/dist/View__.js +1601 -0
- package/src/concepts/index__.ts +5 -0
- package/src/enums/KEYWORDS.ts +1 -0
- package/src/generator/dist/genMetaData.js +1 -5
- package/src/generator/dist/permission.js +392 -0
- package/src/generator/genMetaData.ts +1 -6
- package/src/generator/genReleaseBody.ts +21 -3
- package/src/generator/index.ts +1 -0
- package/src/generator/permission.ts +271 -0
- package/src/index.ts +1 -1
- package/src/server/dist/naslServer.js +385 -269
- package/src/server/entity2LogicNamespace.ts +70 -10
- package/src/server/extendBaseNode.ts +7 -3
- package/src/server/formatTsUtils.ts +6 -0
- package/src/server/getLogics.ts +13 -1
- package/src/server/getMemberIdentifier.ts +1 -1
- package/src/server/naslServer.ts +162 -29
- package/src/server/process2LogicNamespace.ts +8 -0
- package/src/server/translator.ts +52 -9
- 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/dist/init.js +8 -1
- package/src/service/storage/init.ts +9 -2
- package/src/service/video/VideoTranscribe.js +1 -0
- package/src/templator/dist/genEditTableBlock.js +204 -0
- package/src/templator/dist/genGridViewBlock.js +265 -0
- package/src/templator/dist/genListViewBlock.js +84 -0
- package/src/templator/dist/genTableBlock.js +209 -0
- package/src/templator/dist/utils.js +527 -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/dist/webpack.config.dev.js +1 -3
- 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/ConstructArgument__.d.ts +0 -40
- package/out/concepts/ConstructArgument__.js.map +0 -1
- package/out/concepts/Construct__.d.ts +0 -189
- package/out/concepts/Construct__.js +0 -340
- package/out/concepts/Construct__.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/templator/sql-parser/index.d.ts +0 -1
- package/out/templator/sql-parser/index.js +0 -228
- package/out/templator/sql-parser/index.js.map +0 -1
- package/out/templator/sql-parser/parser.js +0 -26664
- package/out/templator/sql-parser/parser.js.map +0 -1
- package/src/concepts/dist/Anchor__.js +0 -179
- package/src/concepts/dist/Assignment__.js +0 -301
- package/src/concepts/dist/CallInterface__.js +0 -533
- 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/server/dist/formatTsUtils.js +0 -683
|
@@ -95,6 +95,8 @@ export class Identifier extends LogicItem {
|
|
|
95
95
|
enumName = `${this.namespace}.${this.name}`;
|
|
96
96
|
}
|
|
97
97
|
name = enumName;
|
|
98
|
+
} else if (this.namespace.endsWith('logics')) {
|
|
99
|
+
name = `'${this.namespace}.${name}'`;
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
return name;
|
|
@@ -134,6 +136,8 @@ export class Identifier extends LogicItem {
|
|
|
134
136
|
enumName = `${this.namespace}.${this.name}`;
|
|
135
137
|
}
|
|
136
138
|
name = enumName;
|
|
139
|
+
} else if (this.namespace.endsWith('logics')) {
|
|
140
|
+
name = `'${this.namespace}.${name}'`;
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
return name;
|
|
@@ -189,13 +193,10 @@ export class Identifier extends LogicItem {
|
|
|
189
193
|
return this.name;
|
|
190
194
|
}
|
|
191
195
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
// this.parentNode.name === 'data-source'
|
|
197
|
-
return (this.namespace + '.' || '') + this.name + '.toList';
|
|
198
|
-
}
|
|
196
|
+
|
|
197
|
+
// 全局变量在不是页面的地方放置,就会报错
|
|
198
|
+
if (this.namespace?.startsWith('app.frontendVariables') && !this.view) {
|
|
199
|
+
return '__FRONTENDVARIABLES__';
|
|
199
200
|
}
|
|
200
201
|
|
|
201
202
|
// 如果是nasl.util.Enum 的子集里的 Identifier > MemberExpression > Argument > callfunction
|
|
@@ -271,6 +272,16 @@ export class Identifier extends LogicItem {
|
|
|
271
272
|
});
|
|
272
273
|
}
|
|
273
274
|
|
|
275
|
+
setNameAndNamespace(name: string, namespace: string) {
|
|
276
|
+
const object = {
|
|
277
|
+
name,
|
|
278
|
+
namespace,
|
|
279
|
+
};
|
|
280
|
+
this.update({
|
|
281
|
+
...object,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
|
|
274
285
|
//================================================================================
|
|
275
286
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
276
287
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -29,7 +29,7 @@ export class LogicItem extends BaseNode {
|
|
|
29
29
|
* 产品概念
|
|
30
30
|
*/
|
|
31
31
|
@property()
|
|
32
|
-
concept: 'LogicItem' | 'Start' | 'End' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ForEachStatement' | 'WhileStatement' | 'Assignment' | 'BatchAssignment' | 'Comment' | 'CallLogic' | 'CallFunction' | 'CallInterface' | 'Destination' | 'ExternalDestination' | 'ValidationRule' | 'Argument' | 'Anchor' | 'JSBlock' | 'Identifier' | 'NullLiteral' | 'BooleanLiteral' | 'StringLiteral' | 'StringInterpolation' | 'NumericLiteral' | 'BinaryExpression' | 'MatchCase' | 'Match' | 'UnaryExpression' | 'MemberExpression' | 'Unparsed' | 'CallQueryComponent' | 'QueryFromExpression' | 'QueryJoinExpression' | 'QueryFieldExpression' | 'QueryAggregateExpression' | 'QueryOrderByExpression' | 'QueryGroupByExpression' | 'QuerySelectExpression' | 'QueryLimitExpression' | 'SqlQueryComponent' | 'OqlQueryComponent' | 'ProcessOutcome' | 'Assignee' = 'LogicItem';
|
|
32
|
+
concept: 'LogicItem' | 'Start' | 'End' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ForEachStatement' | 'WhileStatement' | 'Assignment' | 'BatchAssignment' | 'Comment' | 'CallLogic' | 'CallFunction' | 'CallInterface' | 'Destination' | 'ExternalDestination' | 'ValidationRule' | 'Argument' | 'Anchor' | 'JSBlock' | 'Identifier' | 'NullLiteral' | 'BooleanLiteral' | 'StringLiteral' | 'StringInterpolation' | 'NumericLiteral' | 'BinaryExpression' | 'MatchCase' | 'Match' | 'UnaryExpression' | 'MemberExpression' | 'Unparsed' | 'New' | 'NewComposite' | 'NewList' | 'NewMap' | 'CallQueryComponent' | 'QueryFromExpression' | 'QueryJoinExpression' | 'QueryFieldExpression' | 'QueryAggregateExpression' | 'QueryOrderByExpression' | 'QueryGroupByExpression' | 'QuerySelectExpression' | 'QueryLimitExpression' | 'SqlQueryComponent' | 'OqlQueryComponent' | 'ProcessOutcome' | 'Assignee' | 'ProcessOutcomes' = 'LogicItem';
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* 逻辑项标题
|
package/src/concepts/Logic__.ts
CHANGED
|
@@ -796,7 +796,7 @@ export class Logic extends BaseNode {
|
|
|
796
796
|
|
|
797
797
|
|
|
798
798
|
|
|
799
|
-
|
|
799
|
+
|
|
800
800
|
|
|
801
801
|
/**
|
|
802
802
|
* 插入逻辑项
|
|
@@ -830,7 +830,7 @@ export class Logic extends BaseNode {
|
|
|
830
830
|
return logicItem;
|
|
831
831
|
}
|
|
832
832
|
|
|
833
|
-
|
|
833
|
+
|
|
834
834
|
|
|
835
835
|
/**
|
|
836
836
|
* 插入逻辑项
|
|
@@ -854,7 +854,7 @@ export class Logic extends BaseNode {
|
|
|
854
854
|
return node;
|
|
855
855
|
}
|
|
856
856
|
|
|
857
|
-
|
|
857
|
+
|
|
858
858
|
|
|
859
859
|
/**
|
|
860
860
|
* 添加逻辑项
|
|
@@ -875,7 +875,7 @@ export class Logic extends BaseNode {
|
|
|
875
875
|
return this._insertItemInBodyAt(options as any, index);
|
|
876
876
|
}
|
|
877
877
|
|
|
878
|
-
|
|
878
|
+
|
|
879
879
|
|
|
880
880
|
/**
|
|
881
881
|
* 添加逻辑项
|
|
@@ -900,7 +900,7 @@ export class Logic extends BaseNode {
|
|
|
900
900
|
return node;
|
|
901
901
|
}
|
|
902
902
|
|
|
903
|
-
|
|
903
|
+
|
|
904
904
|
|
|
905
905
|
/**
|
|
906
906
|
* 插入逻辑项
|
|
@@ -934,7 +934,7 @@ export class Logic extends BaseNode {
|
|
|
934
934
|
return logicItem;
|
|
935
935
|
}
|
|
936
936
|
|
|
937
|
-
|
|
937
|
+
|
|
938
938
|
|
|
939
939
|
/**
|
|
940
940
|
* 插入逻辑项
|
|
@@ -958,7 +958,7 @@ export class Logic extends BaseNode {
|
|
|
958
958
|
return node;
|
|
959
959
|
}
|
|
960
960
|
|
|
961
|
-
|
|
961
|
+
|
|
962
962
|
|
|
963
963
|
/**
|
|
964
964
|
* 添加逻辑项
|
|
@@ -979,7 +979,7 @@ export class Logic extends BaseNode {
|
|
|
979
979
|
return this._insertItemInPlaygroundAt(options as any, index);
|
|
980
980
|
}
|
|
981
981
|
|
|
982
|
-
|
|
982
|
+
|
|
983
983
|
|
|
984
984
|
/**
|
|
985
985
|
* 添加逻辑项
|
|
@@ -1005,7 +1005,7 @@ export class Logic extends BaseNode {
|
|
|
1005
1005
|
}
|
|
1006
1006
|
|
|
1007
1007
|
|
|
1008
|
-
|
|
1008
|
+
|
|
1009
1009
|
|
|
1010
1010
|
/**
|
|
1011
1011
|
* 删除事务
|
|
@@ -1268,7 +1268,7 @@ export class Logic extends BaseNode {
|
|
|
1268
1268
|
return logicItem.delete();
|
|
1269
1269
|
}
|
|
1270
1270
|
|
|
1271
|
-
|
|
1271
|
+
|
|
1272
1272
|
|
|
1273
1273
|
/**
|
|
1274
1274
|
* 删除逻辑项
|
|
@@ -1640,13 +1640,11 @@ export class Logic extends BaseNode {
|
|
|
1640
1640
|
this.traverseChildren((el) => {
|
|
1641
1641
|
if (el && (el instanceof BatchAssignment || (el instanceof Assignment && el.left?.name))) {
|
|
1642
1642
|
const jsCode = el.toJS();
|
|
1643
|
-
const advanceVar = this.variables?.find((variable) =>
|
|
1644
|
-
!variable.typeAnnotation && jsCode.includes(`${variable.name} = `));
|
|
1643
|
+
const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && jsCode.includes(`${variable.name} = `));
|
|
1645
1644
|
if (advanceVar && !advanceMap.get(advanceVar)) {
|
|
1646
1645
|
advanceMap.set(advanceVar, el);
|
|
1647
1646
|
}
|
|
1648
|
-
const advanceRn = this.returns?.find((ret) =>
|
|
1649
|
-
!ret.typeAnnotation && jsCode.includes(`${ret.name} = `));
|
|
1647
|
+
const advanceRn = this.returns?.find((ret) => !ret.typeAnnotation && jsCode.includes(`${ret.name} = `));
|
|
1650
1648
|
if (advanceRn && !advanceMap.get(advanceRn)) {
|
|
1651
1649
|
advanceMap.set(advanceRn, el);
|
|
1652
1650
|
}
|
|
@@ -1663,12 +1661,14 @@ export class Logic extends BaseNode {
|
|
|
1663
1661
|
Promise.all(needGetSourceMapOqlList).then(() => {
|
|
1664
1662
|
// 触发一下更新重新生成代码
|
|
1665
1663
|
(this.app as any)?.naslServer?.embeddedTSEmitter.emit('change', {
|
|
1666
|
-
value: [
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1664
|
+
value: [
|
|
1665
|
+
{
|
|
1666
|
+
originEvent: {
|
|
1667
|
+
action: 'update',
|
|
1668
|
+
target: this,
|
|
1669
|
+
},
|
|
1670
1670
|
},
|
|
1671
|
-
|
|
1671
|
+
],
|
|
1672
1672
|
});
|
|
1673
1673
|
});
|
|
1674
1674
|
}
|
|
@@ -1680,11 +1680,13 @@ export class Logic extends BaseNode {
|
|
|
1680
1680
|
code += '{\n';
|
|
1681
1681
|
|
|
1682
1682
|
// 用于虚拟节点的查找引用
|
|
1683
|
-
this.virtualParams
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1683
|
+
this.virtualParams
|
|
1684
|
+
&& Array.isArray(this.virtualParams)
|
|
1685
|
+
&& this.virtualParams.forEach((param) => {
|
|
1686
|
+
code += indent((state?.tabSize || 0) + 1);
|
|
1687
|
+
code += param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));
|
|
1688
|
+
code += '\n';
|
|
1689
|
+
});
|
|
1688
1690
|
|
|
1689
1691
|
this.variables.forEach((variable) => {
|
|
1690
1692
|
if (!advanceMap.get(variable)) {
|
|
@@ -1708,12 +1710,12 @@ export class Logic extends BaseNode {
|
|
|
1708
1710
|
code += node.toEmbeddedTS(shiftState(state, code, { inline: true }));
|
|
1709
1711
|
if (assignment instanceof BatchAssignment) {
|
|
1710
1712
|
assignment.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
|
|
1711
|
-
const leftCode
|
|
1713
|
+
const leftCode
|
|
1714
|
+
= leftIndex.length === 1 ? assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true })) : assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
|
|
1712
1715
|
if (leftCode === node.name) {
|
|
1713
1716
|
const rightNode: any = rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression : assignment.rights[rightIndex[0]]?.members[rightIndex[1]];
|
|
1714
1717
|
// 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
|
|
1715
|
-
if (rightNode?.typeAnnotation
|
|
1716
|
-
&& !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
|
|
1718
|
+
if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
|
|
1717
1719
|
code += ': ';
|
|
1718
1720
|
code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
|
|
1719
1721
|
} else {
|
|
@@ -1723,11 +1725,14 @@ export class Logic extends BaseNode {
|
|
|
1723
1725
|
}
|
|
1724
1726
|
}
|
|
1725
1727
|
});
|
|
1728
|
+
} else if (['NewList', 'NewMap'].includes(assignment.right.concept) && !(assignment.right as any).typeAnnotation) {
|
|
1729
|
+
const rightNode: any = assignment.right;
|
|
1730
|
+
code += ' = ';
|
|
1731
|
+
code += rightNode.getInitCode(shiftState(state, code, { inline: true }));
|
|
1726
1732
|
} else {
|
|
1727
1733
|
const rightNode: any = assignment.right;
|
|
1728
1734
|
// 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
|
|
1729
|
-
if (rightNode?.typeAnnotation
|
|
1730
|
-
&& !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
|
|
1735
|
+
if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
|
|
1731
1736
|
code += ': ';
|
|
1732
1737
|
code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
|
|
1733
1738
|
} else {
|
|
@@ -1737,7 +1742,7 @@ export class Logic extends BaseNode {
|
|
|
1737
1742
|
if (rightNode && rightNode instanceof Identifier && rightNode.namespace && rightNode.namespace.endsWith('enums')) {
|
|
1738
1743
|
rightCode += 'new ';
|
|
1739
1744
|
}
|
|
1740
|
-
rightCode +=
|
|
1745
|
+
rightCode += rightNode && rightNode.toEmbeddedTS ? rightNode.toEmbeddedTS(shiftState(state, code, { inline: true })) : '__RIGHT__';
|
|
1741
1746
|
code += this.getRightCode(rightCode, assignment, rightNode);
|
|
1742
1747
|
}
|
|
1743
1748
|
}
|
|
@@ -1881,7 +1886,10 @@ export class Logic extends BaseNode {
|
|
|
1881
1886
|
arr.push(parentName);
|
|
1882
1887
|
}
|
|
1883
1888
|
let namespace = arr.join('.');
|
|
1884
|
-
if (
|
|
1889
|
+
if (
|
|
1890
|
+
!['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace)
|
|
1891
|
+
&& !namespace.includes('.logics')
|
|
1892
|
+
) {
|
|
1885
1893
|
namespace = `${namespace}.logics`;
|
|
1886
1894
|
}
|
|
1887
1895
|
return namespace;
|
|
@@ -1898,7 +1906,10 @@ export class Logic extends BaseNode {
|
|
|
1898
1906
|
arr.push(parentName);
|
|
1899
1907
|
}
|
|
1900
1908
|
let namespace = arr.join('.');
|
|
1901
|
-
if (
|
|
1909
|
+
if (
|
|
1910
|
+
!['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace)
|
|
1911
|
+
&& !namespace.includes('.logics')
|
|
1912
|
+
) {
|
|
1902
1913
|
namespace = `${namespace}.logics`;
|
|
1903
1914
|
}
|
|
1904
1915
|
return namespace;
|
|
@@ -2038,6 +2049,11 @@ export class Logic extends BaseNode {
|
|
|
2038
2049
|
// 虚拟输入参数列表
|
|
2039
2050
|
virtualParams: Array<Param> = [];
|
|
2040
2051
|
|
|
2052
|
+
get getLogicBelongTo() {
|
|
2053
|
+
const [, belongTo] = this.calleewholeKey.split('.');
|
|
2054
|
+
return belongTo;
|
|
2055
|
+
}
|
|
2056
|
+
|
|
2041
2057
|
//================================================================================
|
|
2042
2058
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
2043
2059
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
package/src/concepts/Match__.ts
CHANGED
|
@@ -466,11 +466,7 @@ export class Match extends LogicItem {
|
|
|
466
466
|
|
|
467
467
|
let code = '';
|
|
468
468
|
code += `${this.getViewMatchExpressionBuilder()} (${argsList.join(', ')}) {\n`;
|
|
469
|
-
|
|
470
|
-
this.cases.forEach((item, index) => {
|
|
471
|
-
code += item?.toJS?.(this.expression, index, this.cases.length);
|
|
472
|
-
});
|
|
473
|
-
}
|
|
469
|
+
code += `return ${this.toJS()}`;
|
|
474
470
|
code += `;\n`;
|
|
475
471
|
code += '}';
|
|
476
472
|
return code;
|
|
@@ -522,13 +518,20 @@ export class Match extends LogicItem {
|
|
|
522
518
|
}
|
|
523
519
|
|
|
524
520
|
toJS(state?: TranslatorState): string {
|
|
525
|
-
let code = '
|
|
521
|
+
let code = '';
|
|
522
|
+
// 祖先逻辑
|
|
523
|
+
const ancestorLogic = this.getAncestor('Logic');
|
|
524
|
+
if (ancestorLogic) {
|
|
525
|
+
code += 'await (async () => {\n';
|
|
526
|
+
} else {
|
|
527
|
+
code += '(() => {\n';
|
|
528
|
+
}
|
|
526
529
|
if (this.expression && Array.isArray(this.cases)) {
|
|
527
530
|
this.cases.forEach((item, index) => {
|
|
528
531
|
code += item?.toJS?.(this.expression, index, this.cases.length);
|
|
529
532
|
});
|
|
530
533
|
}
|
|
531
|
-
code +=
|
|
534
|
+
code += '})()';
|
|
532
535
|
return code;
|
|
533
536
|
}
|
|
534
537
|
|
|
@@ -579,7 +582,8 @@ export class Match extends LogicItem {
|
|
|
579
582
|
&& this.parentNode.concept !== 'SelectMembers'
|
|
580
583
|
&& this.parentNode.concept !== 'BinaryExpression'
|
|
581
584
|
&& this.parentNode.concept !== 'StringInterpolation'
|
|
582
|
-
&& this.parentNode.concept !== 'MemberExpression'
|
|
585
|
+
&& this.parentNode.concept !== 'MemberExpression'
|
|
586
|
+
&& !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
|
|
583
587
|
code += ';\n';
|
|
584
588
|
}
|
|
585
589
|
return code;
|