@lcap/nasl 2.20.0-beta.2 → 2.20.0
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.d.ts +1 -1
- package/out/automate/engine/index.js +2 -3
- package/out/automate/engine/index.js.map +1 -1
- package/out/automate/engine/uniqueName.d.ts +1 -1
- package/out/automate/engine/uniqueName.js +2 -2
- package/out/automate/engine/uniqueName.js.map +1 -1
- package/out/automate/engine/utils.js +4 -1
- package/out/automate/engine/utils.js.map +1 -1
- package/out/automate/template/myProcess.d.ts +1 -1
- package/out/automate/template/myProcess.js +2 -2
- package/out/automate/template/myProcess.js.map +1 -1
- package/out/bak/translator.js +14 -22
- package/out/bak/translator.js.map +1 -1
- package/out/common/BaseNode.js +4 -1
- package/out/common/BaseNode.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/App__.d.ts +4 -0
- package/out/concepts/App__.js +30 -6
- 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__.js +3 -3
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +7 -0
- package/out/concepts/BindAttribute__.js +270 -39
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +7 -0
- package/out/concepts/BindDirective__.js +215 -17
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindStyle__.d.ts +7 -0
- package/out/concepts/BindStyle__.js +194 -4
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/CallFunction__.js +22 -8
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.js +3 -2
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +3 -0
- package/out/concepts/CallLogic__.js +78 -89
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +20 -3
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +1 -0
- package/out/concepts/ConfigGroup__.js +13 -0
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.d.ts +19 -0
- package/out/concepts/ConfigProperty__.js +61 -0
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.d.ts +1 -0
- package/out/concepts/Configuration__.js +13 -0
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +1 -0
- package/out/concepts/Destination__.js +61 -7
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.js +9 -1
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/EnumItem__.d.ts +5 -5
- package/out/concepts/EnumItem__.js +6 -6
- package/out/concepts/Enum__.d.ts +20 -19
- package/out/concepts/Enum__.js +28 -1
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/ExternalDestination__.d.ts +1 -0
- package/out/concepts/ExternalDestination__.js +21 -3
- package/out/concepts/ExternalDestination__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +2 -0
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +2 -1
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Identifier__.js +16 -5
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/InterfaceParam__.js +9 -1
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/JSBlock__.js +5 -1
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +79 -79
- package/out/concepts/Logic__.js +16 -3
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.d.ts +0 -3
- package/out/concepts/Match__.js +11 -66
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.js +9 -0
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +16 -0
- package/out/concepts/Module__.js +43 -0
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +2 -4
- package/out/concepts/NewComposite__.js +91 -126
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.d.ts +1 -0
- package/out/concepts/NewList__.js +22 -2
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.d.ts +1 -0
- package/out/concepts/NewMap__.js +43 -11
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.js +40 -12
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/Param__.js +10 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +2 -1
- 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__.js +1 -1
- package/out/concepts/ProcessOutcomes__.js.map +1 -1
- package/out/concepts/Process__.js +1 -0
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/Return__.js +10 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/StringInterpolation__.js +14 -2
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/StringLiteral__.js +6 -6
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.js +9 -1
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +6 -3
- package/out/concepts/TypeAnnotation__.js +67 -13
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +53 -0
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.js +9 -1
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.js +17 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +1 -3
- package/out/concepts/View__.js +22 -11
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
- package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
- package/out/concepts/basics/stdlib/nasl.core.js +34 -0
- package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +4 -2
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/types/index.d.ts +1 -0
- package/out/concepts/basics/types/index.js +3 -1
- package/out/concepts/basics/types/index.js.map +1 -1
- package/out/concepts/index__.d.ts +0 -1
- package/out/concepts/index__.js +0 -1
- package/out/concepts/index__.js.map +1 -1
- package/out/enums/KEYWORDS.js +8 -0
- package/out/enums/KEYWORDS.js.map +1 -1
- package/out/generator/genBundleFiles.js +24 -5
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.d.ts +2 -3
- package/out/generator/genReleaseBody.js +97 -23
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/generator/permission.d.ts +2 -10
- package/out/generator/permission.js +27 -14
- package/out/generator/permission.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +2 -20
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/extendBaseNode.js +16 -5
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/formatTsUtils.d.ts +2 -1
- package/out/server/formatTsUtils.js +40 -10
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getLogics.d.ts +2 -2
- package/out/server/getLogics.js +3 -3
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +1 -0
- package/out/server/getMemberIdentifier.js +27 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/index.js +1 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +7 -1
- package/out/server/naslServer.js +519 -46
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +109 -33
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.js +21 -1
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +1 -3
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +2 -4
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +1 -1
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.js +2 -2
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +7 -1
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genSelectBlock.js +1 -1
- package/out/templator/genSelectBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +2 -2
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +2 -3
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/utils/traverse.js +8 -2
- package/out/utils/traverse.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/dist/nasl.logging.js +0 -0
- package/sandbox/stdlib/dist/nasl.util.js +0 -0
- package/sandbox/stdlib/nasl.collection.ts +1 -0
- package/sandbox/stdlib/nasl.core.ts +34 -0
- package/sandbox/stdlib/nasl.oql.ts +71 -15
- package/sandbox/stdlib/nasl.util.ts +9 -3
- package/src/automate/engine/dist/index.dev.js +517 -0
- package/src/automate/engine/index.js +2 -3
- package/src/automate/engine/uniqueName.js +2 -2
- package/src/automate/engine/utils.js +4 -2
- package/src/automate/template/myProcess.js +2 -2
- package/src/bak/translator.js +16 -25
- package/src/common/BaseNode.ts +3 -1
- package/src/common/Command.ts +4 -0
- package/src/common/dist/BaseNode.js +1101 -0
- package/src/concepts/App__.ts +36 -7
- package/src/concepts/Assignee__.ts +4 -3
- package/src/concepts/BatchAssignment__.ts +3 -3
- package/src/concepts/BindAttribute__.ts +299 -38
- package/src/concepts/BindDirective__.ts +204 -31
- package/src/concepts/BindStyle__.ts +187 -24
- package/src/concepts/CallFunction__.ts +55 -10
- package/src/concepts/CallInterface__.ts +3 -2
- package/src/concepts/CallLogic__.ts +110 -90
- package/src/concepts/CallQueryComponent__.ts +18 -3
- package/src/concepts/ConfigGroup__.ts +17 -4
- package/src/concepts/ConfigProperty__.ts +70 -4
- package/src/concepts/Configuration__.ts +14 -5
- package/src/concepts/DataSource__.ts +4 -1
- package/src/concepts/Destination__.ts +61 -7
- package/src/concepts/EntityProperty__.ts +7 -1
- package/src/concepts/EnumItem__.ts +6 -6
- package/src/concepts/Enum__.ts +22 -19
- package/src/concepts/ExternalDestination__.ts +28 -8
- package/src/concepts/ForEachStatement__.ts +2 -0
- package/src/concepts/Frontend__.ts +2 -1
- package/src/concepts/Identifier__.ts +16 -5
- package/src/concepts/InterfaceParam__.ts +7 -1
- package/src/concepts/JSBlock__.ts +3 -2
- package/src/concepts/Logic__.ts +95 -83
- package/src/concepts/Match__.ts +31 -67
- package/src/concepts/MemberExpression__.ts +6 -0
- package/src/concepts/Module__.ts +57 -0
- package/src/concepts/NewComposite__.ts +95 -140
- package/src/concepts/NewList__.ts +23 -2
- package/src/concepts/NewMap__.ts +48 -24
- package/src/concepts/OqlQueryComponent__.ts +40 -20
- package/src/concepts/Param__.ts +178 -176
- package/src/concepts/ProcessElement__.ts +2 -1
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/ProcessOutcomes__.ts +1 -1
- package/src/concepts/Process__.ts +1 -0
- package/src/concepts/Return__.ts +8 -2
- package/src/concepts/StringInterpolation__.ts +19 -7
- package/src/concepts/StringLiteral__.ts +7 -6
- package/src/concepts/StructureProperty__.ts +7 -1
- package/src/concepts/TypeAnnotation__.ts +101 -14
- package/src/concepts/ValidationRule__.ts +58 -9
- package/src/concepts/Variable__.ts +11 -1
- package/src/concepts/ViewElement__.ts +39 -2
- package/src/concepts/View__.ts +26 -14
- package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
- package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
- package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
- package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
- package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
- package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
- package/src/concepts/basics/types/index.ts +1 -0
- package/src/concepts/dist/BindAttribute__.js +795 -0
- package/src/concepts/dist/BindEvent__.js +732 -0
- package/src/concepts/dist/CallFunction__.js +527 -0
- package/src/concepts/dist/CallLogic__.js +932 -0
- package/src/concepts/dist/Destination__.js +708 -0
- package/src/concepts/dist/ExternalDestination__.js +298 -0
- 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 +1692 -0
- package/src/concepts/dist/View__.js +1601 -0
- package/src/concepts/index__.ts +0 -1
- package/src/enums/KEYWORDS.ts +8 -0
- package/src/generator/dist/genBundleFiles.js +261 -0
- package/src/generator/dist/genMetaData.js +245 -0
- package/src/generator/dist/permission.js +405 -0
- package/src/generator/genBundleFiles.ts +24 -5
- package/src/generator/genReleaseBody.ts +75 -30
- package/src/generator/permission.ts +31 -15
- package/src/server/entity2LogicNamespace.ts +2 -20
- package/src/server/extendBaseNode.ts +15 -5
- package/src/server/formatTsUtils.ts +41 -10
- package/src/server/getLogics.ts +4 -4
- package/src/server/getMemberIdentifier.ts +27 -1
- package/src/server/index.ts +2 -0
- package/src/server/naslServer.ts +520 -48
- package/src/server/translator.ts +96 -34
- package/src/service/storage/dist/init.js +579 -0
- package/src/service/storage/init.ts +22 -2
- 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/genCreateBlock.ts +1 -3
- package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
- package/src/templator/genGetBlock.ts +1 -1
- package/src/templator/genGridViewBlock.ts +3 -4
- package/src/templator/genListViewBlock.ts +9 -3
- package/src/templator/genSelectBlock.ts +1 -1
- package/src/templator/genTableBlock.ts +3 -3
- package/src/templator/genUpdateBlock.ts +2 -3
- package/src/utils/traverse.ts +10 -2
- package/ts-worker/lib/tsserver.js +10 -2
- package/ts-worker/package.json +1 -0
- package/ts-worker/webpack.config.js +11 -2
- package/out/concepts/ConstructArgument__.d.ts +0 -40
- package/out/concepts/ConstructArgument__.js +0 -108
- 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/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
|
@@ -66,6 +66,8 @@ export class CallFunction extends LogicItem {
|
|
|
66
66
|
@property('Argument')
|
|
67
67
|
arguments: Array<Argument> = [];
|
|
68
68
|
|
|
69
|
+
|
|
70
|
+
|
|
69
71
|
/**
|
|
70
72
|
* @param source 需要合并的部分参数
|
|
71
73
|
*/
|
|
@@ -79,6 +81,13 @@ export class CallFunction extends LogicItem {
|
|
|
79
81
|
return super.from(source, parentNode, parentKey) as CallFunction;
|
|
80
82
|
}
|
|
81
83
|
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
82
91
|
/**
|
|
83
92
|
* 插入类型标注
|
|
84
93
|
* @internal
|
|
@@ -111,6 +120,8 @@ export class CallFunction extends LogicItem {
|
|
|
111
120
|
return typeAnnotation;
|
|
112
121
|
}
|
|
113
122
|
|
|
123
|
+
|
|
124
|
+
|
|
114
125
|
/**
|
|
115
126
|
* 插入类型标注
|
|
116
127
|
* @param typeAnnotationOptions 类型标注参数
|
|
@@ -133,6 +144,8 @@ export class CallFunction extends LogicItem {
|
|
|
133
144
|
return node;
|
|
134
145
|
}
|
|
135
146
|
|
|
147
|
+
|
|
148
|
+
|
|
136
149
|
/**
|
|
137
150
|
* 添加类型标注
|
|
138
151
|
* @internal
|
|
@@ -152,6 +165,8 @@ export class CallFunction extends LogicItem {
|
|
|
152
165
|
return this._insertTypeAnnotationAt(options as any, index);
|
|
153
166
|
}
|
|
154
167
|
|
|
168
|
+
|
|
169
|
+
|
|
155
170
|
/**
|
|
156
171
|
* 添加类型标注
|
|
157
172
|
* @param typeAnnotationOptions 类型标注参数
|
|
@@ -175,6 +190,11 @@ export class CallFunction extends LogicItem {
|
|
|
175
190
|
return node;
|
|
176
191
|
}
|
|
177
192
|
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
178
198
|
/**
|
|
179
199
|
* 插入实际参数
|
|
180
200
|
* @internal
|
|
@@ -207,6 +227,8 @@ export class CallFunction extends LogicItem {
|
|
|
207
227
|
return argument;
|
|
208
228
|
}
|
|
209
229
|
|
|
230
|
+
|
|
231
|
+
|
|
210
232
|
/**
|
|
211
233
|
* 插入实际参数
|
|
212
234
|
* @param argumentOptions 实际参数参数
|
|
@@ -229,6 +251,8 @@ export class CallFunction extends LogicItem {
|
|
|
229
251
|
return node;
|
|
230
252
|
}
|
|
231
253
|
|
|
254
|
+
|
|
255
|
+
|
|
232
256
|
/**
|
|
233
257
|
* 添加实际参数
|
|
234
258
|
* @internal
|
|
@@ -248,6 +272,8 @@ export class CallFunction extends LogicItem {
|
|
|
248
272
|
return this._insertArgumentAt(options as any, index);
|
|
249
273
|
}
|
|
250
274
|
|
|
275
|
+
|
|
276
|
+
|
|
251
277
|
/**
|
|
252
278
|
* 添加实际参数
|
|
253
279
|
* @param argumentOptions 实际参数参数
|
|
@@ -271,6 +297,9 @@ export class CallFunction extends LogicItem {
|
|
|
271
297
|
return node;
|
|
272
298
|
}
|
|
273
299
|
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
274
303
|
/**
|
|
275
304
|
* 删除类型标注
|
|
276
305
|
* @param typeAnnotation 已有的类型标注实例
|
|
@@ -278,7 +307,7 @@ export class CallFunction extends LogicItem {
|
|
|
278
307
|
removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
|
|
279
308
|
|
|
280
309
|
removeTypeAnnotation(options: TypeAnnotation) {
|
|
281
|
-
|
|
310
|
+
let typeAnnotation: TypeAnnotation = options;
|
|
282
311
|
return typeAnnotation.delete();
|
|
283
312
|
}
|
|
284
313
|
|
|
@@ -305,6 +334,8 @@ export class CallFunction extends LogicItem {
|
|
|
305
334
|
return params;
|
|
306
335
|
}
|
|
307
336
|
|
|
337
|
+
|
|
338
|
+
|
|
308
339
|
/**
|
|
309
340
|
* 删除实际参数
|
|
310
341
|
* @param argument 已有的实际参数实例
|
|
@@ -312,7 +343,7 @@ export class CallFunction extends LogicItem {
|
|
|
312
343
|
removeArgument(argument: Argument): void;
|
|
313
344
|
|
|
314
345
|
removeArgument(options: Argument) {
|
|
315
|
-
|
|
346
|
+
let argument: Argument = options;
|
|
316
347
|
return argument.delete();
|
|
317
348
|
}
|
|
318
349
|
|
|
@@ -349,11 +380,19 @@ export class CallFunction extends LogicItem {
|
|
|
349
380
|
} else {
|
|
350
381
|
let code = `$utils['${this.calleeName}']`;
|
|
351
382
|
code += '(';
|
|
352
|
-
this.arguments
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
383
|
+
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
384
|
+
const needToString = ['Concat'].includes(this.calleeName);
|
|
385
|
+
this.arguments?.forEach((arg: any, index) => {
|
|
386
|
+
let argStr = arg?.toVue(options);
|
|
387
|
+
if (needToString) {
|
|
388
|
+
const argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
|
|
389
|
+
argStr = `$utils['ToString'](${argStr}, '${argTypeAnnotation?.sortedTypeKey}')`;
|
|
390
|
+
}
|
|
391
|
+
code += argStr;
|
|
392
|
+
if (index !== this.arguments?.length - 1)
|
|
393
|
+
code += ', ';
|
|
394
|
+
});
|
|
395
|
+
}
|
|
357
396
|
if (this.typeArguments && this.typeArguments.length) {
|
|
358
397
|
if (this.arguments?.length)
|
|
359
398
|
code += ', ';
|
|
@@ -393,8 +432,14 @@ export class CallFunction extends LogicItem {
|
|
|
393
432
|
let code = `this.$utils['${this.calleeName}']`;
|
|
394
433
|
code += '(';
|
|
395
434
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
396
|
-
this.
|
|
397
|
-
|
|
435
|
+
const needToString = ['Concat'].includes(this.calleeName);
|
|
436
|
+
this.arguments.forEach((arg: any, index) => {
|
|
437
|
+
let argStr = arg?.toJS(shiftState(state, code));
|
|
438
|
+
if (needToString) {
|
|
439
|
+
const argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
|
|
440
|
+
argStr = `this.$utils['ToString'](${argStr}, '${argTypeAnnotation?.sortedTypeKey}')`;
|
|
441
|
+
}
|
|
442
|
+
code += argStr;
|
|
398
443
|
if (index !== this.arguments?.length - 1)
|
|
399
444
|
code += ', ';
|
|
400
445
|
});
|
|
@@ -426,7 +471,7 @@ export class CallFunction extends LogicItem {
|
|
|
426
471
|
code += ')';
|
|
427
472
|
const typeAnnotation = (this as any).typeAnnotation || this.__TypeAnnotation;
|
|
428
473
|
const needGenInitFromSchema = typeAnnotation && (
|
|
429
|
-
!['primitive', 'union'].includes(typeAnnotation.typeKind)
|
|
474
|
+
!['primitive', 'union'].includes(typeAnnotation.typeKind)
|
|
430
475
|
|| typeAnnotation.typeName === 'DateTime'
|
|
431
476
|
);
|
|
432
477
|
if (needGenInitFromSchema) {
|
|
@@ -554,8 +554,9 @@ export class CallInterface extends LogicItem {
|
|
|
554
554
|
logicParam = node.params;
|
|
555
555
|
}
|
|
556
556
|
if (this.arguments?.length) {
|
|
557
|
-
this.arguments.forEach((arg
|
|
558
|
-
const
|
|
557
|
+
this.arguments.forEach((arg) => {
|
|
558
|
+
const idx = logicParam.findIndex((params) => arg.keyword === params.name);
|
|
559
|
+
const param = logicParam[idx];
|
|
559
560
|
|
|
560
561
|
arg.paramRequired = param?.required;
|
|
561
562
|
arg.paramTypeAnnotation = undefined;
|
|
@@ -6,6 +6,7 @@ import { ElementToVueOptions } from './ViewElement__';
|
|
|
6
6
|
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
7
7
|
import { findConceptKeyWordIndexFromNamespace } from '../utils';
|
|
8
8
|
import * as JSON5 from 'json5';
|
|
9
|
+
import Identifier from './Identifier__';
|
|
9
10
|
|
|
10
11
|
//================================================================================
|
|
11
12
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -21,7 +22,6 @@ import classMap from '../common/classMap';
|
|
|
21
22
|
import TypeAnnotation from './TypeAnnotation__';
|
|
22
23
|
import Argument from './Argument__';
|
|
23
24
|
import LogicItem from './LogicItem__';
|
|
24
|
-
import Identifier from './Identifier__';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* 调用逻辑
|
|
@@ -70,6 +70,8 @@ export class CallLogic extends LogicItem {
|
|
|
70
70
|
@property('Argument')
|
|
71
71
|
arguments: Array<Argument> = [];
|
|
72
72
|
|
|
73
|
+
|
|
74
|
+
|
|
73
75
|
/**
|
|
74
76
|
* @param source 需要合并的部分参数
|
|
75
77
|
*/
|
|
@@ -83,6 +85,13 @@ export class CallLogic extends LogicItem {
|
|
|
83
85
|
return super.from(source, parentNode, parentKey) as CallLogic;
|
|
84
86
|
}
|
|
85
87
|
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
86
95
|
/**
|
|
87
96
|
* 插入类型标注
|
|
88
97
|
* @internal
|
|
@@ -115,6 +124,8 @@ export class CallLogic extends LogicItem {
|
|
|
115
124
|
return typeAnnotation;
|
|
116
125
|
}
|
|
117
126
|
|
|
127
|
+
|
|
128
|
+
|
|
118
129
|
/**
|
|
119
130
|
* 插入类型标注
|
|
120
131
|
* @param typeAnnotationOptions 类型标注参数
|
|
@@ -137,6 +148,8 @@ export class CallLogic extends LogicItem {
|
|
|
137
148
|
return node;
|
|
138
149
|
}
|
|
139
150
|
|
|
151
|
+
|
|
152
|
+
|
|
140
153
|
/**
|
|
141
154
|
* 添加类型标注
|
|
142
155
|
* @internal
|
|
@@ -156,6 +169,8 @@ export class CallLogic extends LogicItem {
|
|
|
156
169
|
return this._insertTypeAnnotationAt(options as any, index);
|
|
157
170
|
}
|
|
158
171
|
|
|
172
|
+
|
|
173
|
+
|
|
159
174
|
/**
|
|
160
175
|
* 添加类型标注
|
|
161
176
|
* @param typeAnnotationOptions 类型标注参数
|
|
@@ -179,6 +194,11 @@ export class CallLogic extends LogicItem {
|
|
|
179
194
|
return node;
|
|
180
195
|
}
|
|
181
196
|
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
182
202
|
/**
|
|
183
203
|
* 插入实际参数
|
|
184
204
|
* @internal
|
|
@@ -211,6 +231,8 @@ export class CallLogic extends LogicItem {
|
|
|
211
231
|
return argument;
|
|
212
232
|
}
|
|
213
233
|
|
|
234
|
+
|
|
235
|
+
|
|
214
236
|
/**
|
|
215
237
|
* 插入实际参数
|
|
216
238
|
* @param argumentOptions 实际参数参数
|
|
@@ -233,6 +255,8 @@ export class CallLogic extends LogicItem {
|
|
|
233
255
|
return node;
|
|
234
256
|
}
|
|
235
257
|
|
|
258
|
+
|
|
259
|
+
|
|
236
260
|
/**
|
|
237
261
|
* 添加实际参数
|
|
238
262
|
* @internal
|
|
@@ -252,6 +276,8 @@ export class CallLogic extends LogicItem {
|
|
|
252
276
|
return this._insertArgumentAt(options as any, index);
|
|
253
277
|
}
|
|
254
278
|
|
|
279
|
+
|
|
280
|
+
|
|
255
281
|
/**
|
|
256
282
|
* 添加实际参数
|
|
257
283
|
* @param argumentOptions 实际参数参数
|
|
@@ -275,6 +301,9 @@ export class CallLogic extends LogicItem {
|
|
|
275
301
|
return node;
|
|
276
302
|
}
|
|
277
303
|
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
278
307
|
/**
|
|
279
308
|
* 删除类型标注
|
|
280
309
|
* @param typeAnnotation 已有的类型标注实例
|
|
@@ -282,7 +311,7 @@ export class CallLogic extends LogicItem {
|
|
|
282
311
|
removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
|
|
283
312
|
|
|
284
313
|
removeTypeAnnotation(options: TypeAnnotation) {
|
|
285
|
-
|
|
314
|
+
let typeAnnotation: TypeAnnotation = options;
|
|
286
315
|
return typeAnnotation.delete();
|
|
287
316
|
}
|
|
288
317
|
|
|
@@ -309,6 +338,8 @@ export class CallLogic extends LogicItem {
|
|
|
309
338
|
return params;
|
|
310
339
|
}
|
|
311
340
|
|
|
341
|
+
|
|
342
|
+
|
|
312
343
|
/**
|
|
313
344
|
* 删除实际参数
|
|
314
345
|
* @param argument 已有的实际参数实例
|
|
@@ -316,7 +347,7 @@ export class CallLogic extends LogicItem {
|
|
|
316
347
|
removeArgument(argument: Argument): void;
|
|
317
348
|
|
|
318
349
|
removeArgument(options: Argument) {
|
|
319
|
-
|
|
350
|
+
let argument: Argument = options;
|
|
320
351
|
return argument.delete();
|
|
321
352
|
}
|
|
322
353
|
|
|
@@ -564,86 +595,72 @@ export class CallLogic extends LogicItem {
|
|
|
564
595
|
toUI(state?: TranslatorState): string {
|
|
565
596
|
let code = this.calleeName;
|
|
566
597
|
code += '(';
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
}
|
|
598
|
+
|
|
599
|
+
const node = this.getCallNode();
|
|
600
|
+
let logicParam: Param[] = [];
|
|
601
|
+
if (node) {
|
|
602
|
+
logicParam = node.params;
|
|
603
|
+
}
|
|
604
|
+
if (this.arguments?.length) {
|
|
605
|
+
this.arguments.forEach((arg, index) => {
|
|
606
|
+
const param = logicParam[index] || ({} as any);
|
|
607
|
+
// 打开了必填,
|
|
608
|
+
// 或者遗留问题,没有required = undefined 而且没有defaultValue,就是之前的必填项
|
|
609
|
+
const paramRequired = Boolean(param.required || (param.required === undefined && !param.defaultValue));
|
|
610
|
+
// 取到是不是必填放入参数中
|
|
611
|
+
if (param && !arg.expression && !paramRequired) {
|
|
612
|
+
// 非必填时 才会有默认值
|
|
613
|
+
code += param.defaultValue;
|
|
614
|
+
} else {
|
|
615
|
+
code += arg?.toUI();
|
|
616
|
+
}
|
|
617
|
+
if (index !== this.arguments?.length - 1)
|
|
618
|
+
code += ', ';
|
|
619
|
+
});
|
|
620
|
+
}
|
|
573
621
|
code += ')';
|
|
574
622
|
|
|
575
623
|
return code;
|
|
576
624
|
}
|
|
577
625
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
delete root.value
|
|
594
|
-
} else if (root.concept === "BooleanLiteral") {
|
|
595
|
-
root.value = root.value === 'true'
|
|
596
|
-
} else if (root.concept === "Identifier") {
|
|
597
|
-
__parseType(root, 'expression')
|
|
598
|
-
} else if (root.concept === "MemberExpression") {
|
|
599
|
-
if (root.expression) {
|
|
600
|
-
__parseType(root, 'expression')
|
|
601
|
-
|
|
626
|
+
// 是否属于页面逻辑
|
|
627
|
+
get isViewLogic() {
|
|
628
|
+
// 页面逻辑
|
|
629
|
+
let flag = true;
|
|
630
|
+
const calleeNamespace = this.calleeNamespace;
|
|
631
|
+
// calleeNamespace不存在,一定是页面逻辑
|
|
632
|
+
if (calleeNamespace) {
|
|
633
|
+
const namespaceArr = calleeNamespace.split('.');
|
|
634
|
+
const start = namespaceArr[0];
|
|
635
|
+
if (start === 'app' || start === 'extensions') {
|
|
636
|
+
const keywordViewsIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'views');
|
|
637
|
+
if (keywordViewsIndex === -1) {
|
|
638
|
+
flag = false;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
602
641
|
}
|
|
642
|
+
return flag;
|
|
603
643
|
}
|
|
604
644
|
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
root.value = value + ''
|
|
617
|
-
} else if (type === 'string') {
|
|
618
|
-
root.concept = 'StringLiteral'
|
|
619
|
-
root.value = value
|
|
620
|
-
} else if (type === 'boolean') {
|
|
621
|
-
root.concept = 'BooleanLiteral'
|
|
622
|
-
root.value = value
|
|
623
|
-
} else if (type === 'object') {
|
|
624
|
-
if (Array.isArray(value)) {
|
|
625
|
-
var itemValue = value[0]
|
|
626
|
-
if(itemValue !== undefined) {
|
|
627
|
-
var itemType = typeof itemValue
|
|
628
|
-
root.concept = 'ListLiteral'
|
|
629
|
-
if (itemType === 'number') {
|
|
630
|
-
root.value = value.map(v => v + '').join(',')
|
|
631
|
-
} else if (itemType === 'string') {
|
|
632
|
-
root.value = value.map(v => "'" + v + "'").join(',')
|
|
633
|
-
} else if (itemType === 'boolean') {
|
|
634
|
-
root.value = value.join(',')
|
|
635
|
-
}
|
|
645
|
+
// 是否属于组件逻辑
|
|
646
|
+
get isComponentLogic() {
|
|
647
|
+
// 组件逻辑
|
|
648
|
+
let flag = false;
|
|
649
|
+
const calleeNamespace = this.calleeNamespace;
|
|
650
|
+
// calleeNamespace不存在,一定是页面逻辑
|
|
651
|
+
if (calleeNamespace) {
|
|
652
|
+
const namespaceArr = calleeNamespace.split('.');
|
|
653
|
+
const start = namespaceArr[0];
|
|
654
|
+
if (start === 'elements' && namespaceArr.length === 3 && namespaceArr[2] === 'logics') {
|
|
655
|
+
flag = true;
|
|
636
656
|
}
|
|
637
657
|
}
|
|
658
|
+
return flag;
|
|
638
659
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
code += 'await ';
|
|
643
|
-
// 页面逻辑
|
|
644
|
-
let isViewLogic = true;
|
|
645
|
-
// 组件逻辑
|
|
646
|
-
let isComponentLogic = false;
|
|
660
|
+
|
|
661
|
+
toJS(state?: TranslatorState): string {
|
|
662
|
+
let code = '';
|
|
663
|
+
code += 'await (';
|
|
647
664
|
let componentName = '';
|
|
648
665
|
const calleeNamespace = this.calleeNamespace;
|
|
649
666
|
const keywordProcessIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'processes');
|
|
@@ -651,22 +668,13 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
651
668
|
// calleeNamespace不存在,一定是页面逻辑
|
|
652
669
|
if (calleeNamespace) {
|
|
653
670
|
const namespaceArr = calleeNamespace.split('.');
|
|
654
|
-
|
|
655
|
-
if (start === 'app' || start === 'extensions') {
|
|
656
|
-
const keywordViewsIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'views');
|
|
657
|
-
if (keywordViewsIndex === -1) {
|
|
658
|
-
isViewLogic = false;
|
|
659
|
-
}
|
|
660
|
-
} else if (start === 'elements' && namespaceArr.length === 3 && namespaceArr[2] === 'logics') {
|
|
661
|
-
isComponentLogic = true;
|
|
671
|
+
if (this.isComponentLogic) {
|
|
662
672
|
componentName = namespaceArr[1];
|
|
663
673
|
}
|
|
664
674
|
}
|
|
665
|
-
|
|
666
675
|
const completeArguments = this.completeArguments;
|
|
667
|
-
|
|
668
676
|
// 全局逻辑
|
|
669
|
-
if (!isViewLogic) {
|
|
677
|
+
if (!this.isViewLogic) {
|
|
670
678
|
const logic = getNodeByNodeCallee(this.app, this.calleewholeKey, (key: string, tempPoint: any) => {
|
|
671
679
|
// 处理 NASL 中未定义的假的节点
|
|
672
680
|
if (key === tempPoint.name) {
|
|
@@ -759,7 +767,7 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
759
767
|
return `${name}: {
|
|
760
768
|
concept: 'Function',
|
|
761
769
|
name: 'filter',
|
|
762
|
-
returnExpression:
|
|
770
|
+
returnExpression: this.$resolveRequestData(${argsStr}, __eventArg, __currentArg)
|
|
763
771
|
}`;
|
|
764
772
|
} else {
|
|
765
773
|
return `${name}: ${arg.expression.toJS(shiftState(state, code))}`;
|
|
@@ -778,7 +786,7 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
778
786
|
code += `{
|
|
779
787
|
concept: 'Function',
|
|
780
788
|
name: 'filter',
|
|
781
|
-
returnExpression:
|
|
789
|
+
returnExpression: this.$resolveRequestData(${argsStr}, __eventArg, __currentArg)
|
|
782
790
|
}`;
|
|
783
791
|
code += `,\n`;
|
|
784
792
|
logicArgs = [];
|
|
@@ -817,8 +825,9 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
817
825
|
}
|
|
818
826
|
code += '\n})';
|
|
819
827
|
} else {
|
|
820
|
-
if (isComponentLogic) {
|
|
821
|
-
|
|
828
|
+
if (this.isComponentLogic) {
|
|
829
|
+
// 组件ref元素的对象没有qu dao的容错
|
|
830
|
+
code += `this.$refs && this.$refs.${componentName} && this.$refs.${componentName}.${this.calleeName} && this.$refs.${componentName}.${this.calleeName}`;
|
|
822
831
|
} else if (calleeNamespace === 'nasl.ui' || calleeNamespace === 'nasl.util') {
|
|
823
832
|
switch (this.calleeName) {
|
|
824
833
|
case 'showMessage':
|
|
@@ -912,7 +921,12 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
912
921
|
};
|
|
913
922
|
}
|
|
914
923
|
|
|
915
|
-
|
|
924
|
+
let left;
|
|
925
|
+
if (root.concept === 'UnaryExpression') {
|
|
926
|
+
left = handleMember(root.argument);
|
|
927
|
+
} else {
|
|
928
|
+
left = handleMember(root.left);
|
|
929
|
+
}
|
|
916
930
|
const right = handleMember(root.right);
|
|
917
931
|
return {
|
|
918
932
|
concept: root.concept,
|
|
@@ -932,6 +946,7 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
932
946
|
if (needGenInitFromSchema) {
|
|
933
947
|
code = `this.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}', ${code})`;
|
|
934
948
|
}
|
|
949
|
+
code += ')';
|
|
935
950
|
return code;
|
|
936
951
|
}
|
|
937
952
|
|
|
@@ -948,13 +963,14 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
948
963
|
code += `<`;
|
|
949
964
|
code += `${typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}>`;
|
|
950
965
|
}
|
|
951
|
-
|
|
966
|
+
// 参数必填
|
|
967
|
+
const paramRequired = ['showMessage', 'consoleLog'].includes(this.calleeName);
|
|
952
968
|
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
953
969
|
if ((tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) || tsCalleeNamespace.startsWith('nasl.')) {
|
|
954
970
|
code += '(';
|
|
955
971
|
this.arguments.forEach((arg, index) => {
|
|
956
972
|
// 页面逻辑先都非必填
|
|
957
|
-
code += arg.toEmbeddedTS(shiftState(state, code),
|
|
973
|
+
code += arg.toEmbeddedTS(shiftState(state, code), paramRequired);
|
|
958
974
|
if (index !== this.arguments.length - 1)
|
|
959
975
|
code += ', ';
|
|
960
976
|
});
|
|
@@ -1072,6 +1088,10 @@ var __parseType = __parseType || ((root, prop) => {
|
|
|
1072
1088
|
}
|
|
1073
1089
|
return Arguments;
|
|
1074
1090
|
}
|
|
1091
|
+
|
|
1092
|
+
static isSystem(node: CallLogic) {
|
|
1093
|
+
return ['nasl.process', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.io'].includes(node?.calleeNamespace);
|
|
1094
|
+
}
|
|
1075
1095
|
//================================================================================
|
|
1076
1096
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
1077
1097
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -1150,7 +1150,15 @@ export class CallQueryComponent extends LogicItem {
|
|
|
1150
1150
|
if (['COUNT', 'COUNTD'].includes(item.aggregateName)) {
|
|
1151
1151
|
typeName = 'Integer';
|
|
1152
1152
|
} else if (['AVG'].includes(item.aggregateName)) {
|
|
1153
|
-
|
|
1153
|
+
const { entityAsName, propertyName } = item.aggregateParam;
|
|
1154
|
+
const entity = entities.find((item: Entity) => item.name === entityAsName);
|
|
1155
|
+
const property = entity?.properties.find((item: any) => item.name === propertyName);
|
|
1156
|
+
const propertyTypeName = property?.typeAnnotation?.typeName;
|
|
1157
|
+
if (propertyTypeName === 'Decimal') {
|
|
1158
|
+
typeName = 'Decimal';
|
|
1159
|
+
} else {
|
|
1160
|
+
typeName = 'Double';
|
|
1161
|
+
}
|
|
1154
1162
|
} else {
|
|
1155
1163
|
const { entityAsName, propertyName } = item.aggregateParam;
|
|
1156
1164
|
const entity = entities.find((item: Entity) => item.name === entityAsName);
|
|
@@ -1322,8 +1330,15 @@ export class CallQueryComponent extends LogicItem {
|
|
|
1322
1330
|
// 2.1.1. `COUNT`、`COUNTD` 返回 `Integer`
|
|
1323
1331
|
typeName = 'Integer';
|
|
1324
1332
|
} else if (['AVG'].includes(selectElements[0].aggregateName)) {
|
|
1325
|
-
|
|
1326
|
-
|
|
1333
|
+
const { entityAsName, propertyName } = selectElements[0].aggregateParam;
|
|
1334
|
+
const entity = entities.find((item: Entity) => item.name === entityAsName);
|
|
1335
|
+
const property = entity?.properties.find((item: any) => item.name === propertyName);
|
|
1336
|
+
const propertyTypeName = property?.typeAnnotation?.typeName;
|
|
1337
|
+
if (propertyTypeName === 'Decimal') {
|
|
1338
|
+
typeName = 'Decimal';
|
|
1339
|
+
} else {
|
|
1340
|
+
typeName = 'Double';
|
|
1341
|
+
}
|
|
1327
1342
|
} else {
|
|
1328
1343
|
// 2.1.3. 其他返回列类型,包含:`Integer`、`Long`、`Double`
|
|
1329
1344
|
const { entityAsName, propertyName } = selectElements[0].aggregateParam;
|
|
@@ -11,6 +11,8 @@ import BaseNode from '../common/BaseNode';
|
|
|
11
11
|
import classMap from '../common/classMap';
|
|
12
12
|
import ConfigProperty from './ConfigProperty__';
|
|
13
13
|
import App from './App__';
|
|
14
|
+
import Namespace from './Namespace__';
|
|
15
|
+
import Configuration from './Configuration__';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* 配置组
|
|
@@ -79,7 +81,7 @@ export class ConfigGroup extends BaseNode {
|
|
|
79
81
|
});
|
|
80
82
|
}
|
|
81
83
|
|
|
82
|
-
|
|
84
|
+
getConfigPropertyExistingNames(excludedList: Array<ConfigProperty> = []) {
|
|
83
85
|
const excludedSet = new Set(excludedList);
|
|
84
86
|
return ((this.properties as ConfigProperty[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
85
87
|
}
|
|
@@ -220,9 +222,6 @@ export class ConfigGroup extends BaseNode {
|
|
|
220
222
|
return node;
|
|
221
223
|
}
|
|
222
224
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
225
|
/**
|
|
227
226
|
* 删除配置属性
|
|
228
227
|
* @param name 配置属性名称
|
|
@@ -278,6 +277,20 @@ export class ConfigGroup extends BaseNode {
|
|
|
278
277
|
getProperty(name = '') {
|
|
279
278
|
return this.properties.find((item) => item.name === name);
|
|
280
279
|
}
|
|
280
|
+
|
|
281
|
+
getNamespace() {
|
|
282
|
+
if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
|
|
283
|
+
const parentNamespace = (this.parentNode as Namespace).getNamespace();
|
|
284
|
+
const parentName = this.parentNode.name;
|
|
285
|
+
const arr = [parentNamespace];
|
|
286
|
+
if (this.parentNode.concept !== 'App' && parentName) {
|
|
287
|
+
arr.push(parentName);
|
|
288
|
+
}
|
|
289
|
+
return `${arr.join('.')}.groups`;
|
|
290
|
+
} else
|
|
291
|
+
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
292
|
+
}
|
|
293
|
+
|
|
281
294
|
//================================================================================
|
|
282
295
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
283
296
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|