@lcap/nasl 2.20.0 → 2.20.1-beta.2

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.
Files changed (255) hide show
  1. package/out/automate/engine/2.14-components.d.ts +1115 -0
  2. package/out/automate/engine/2.14-components.js +1087 -0
  3. package/out/automate/engine/2.14-components.js.map +1 -0
  4. package/out/automate/engine/operators.d.ts +0 -9
  5. package/out/automate/engine/viewCache.d.ts +0 -1
  6. package/out/automate/template/myProcess.d.ts +0 -1
  7. package/out/bak/translator.js +3 -3
  8. package/out/bak/translator.js.map +1 -1
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/common/Command.d.ts +1 -1
  11. package/out/common/EventEmitter.d.ts +1 -1
  12. package/out/concepts/Anchor__.js.map +1 -1
  13. package/out/concepts/AnonymousFunction__.js.map +1 -1
  14. package/out/concepts/App__.js +13 -0
  15. package/out/concepts/App__.js.map +1 -1
  16. package/out/concepts/Argument__.js.map +1 -1
  17. package/out/concepts/Assignee__.js.map +1 -1
  18. package/out/concepts/AssignmentLine__.js.map +1 -1
  19. package/out/concepts/Assignment__.js.map +1 -1
  20. package/out/concepts/Attribute__.d.ts +9 -14
  21. package/out/concepts/Attribute__.js +12 -39
  22. package/out/concepts/Attribute__.js.map +1 -1
  23. package/out/concepts/BatchAssignment__.js.map +1 -1
  24. package/out/concepts/BinaryExpression__.js.map +1 -1
  25. package/out/concepts/BindAttribute__.js +7 -6
  26. package/out/concepts/BindAttribute__.js.map +1 -1
  27. package/out/concepts/BindDirective__.js +8 -7
  28. package/out/concepts/BindDirective__.js.map +1 -1
  29. package/out/concepts/BindEvent__.js.map +1 -1
  30. package/out/concepts/BindStyle__.js +11 -11
  31. package/out/concepts/BindStyle__.js.map +1 -1
  32. package/out/concepts/BooleanLiteral__.js.map +1 -1
  33. package/out/concepts/CallFunction__.js.map +1 -1
  34. package/out/concepts/CallInterface__.js.map +1 -1
  35. package/out/concepts/CallLogic__.js +14 -7
  36. package/out/concepts/CallLogic__.js.map +1 -1
  37. package/out/concepts/CallQueryComponent__.js.map +1 -1
  38. package/out/concepts/Comment__.js.map +1 -1
  39. package/out/concepts/CompletionProperty__.js.map +1 -1
  40. package/out/concepts/ConfigGroup__.js.map +1 -1
  41. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  42. package/out/concepts/ConfigProperty__.js +8 -6
  43. package/out/concepts/ConfigProperty__.js.map +1 -1
  44. package/out/concepts/Configuration__.js.map +1 -1
  45. package/out/concepts/Constant__.js.map +1 -1
  46. package/out/concepts/DataElement__.js.map +1 -1
  47. package/out/concepts/DataSource__.js +11 -3
  48. package/out/concepts/DataSource__.js.map +1 -1
  49. package/out/concepts/Destination__.js +2 -2
  50. package/out/concepts/Destination__.js.map +1 -1
  51. package/out/concepts/End__.js.map +1 -1
  52. package/out/concepts/EntityIndex__.d.ts +1 -1
  53. package/out/concepts/EntityIndex__.js.map +1 -1
  54. package/out/concepts/EntityProperty__.d.ts +1 -1
  55. package/out/concepts/EntityProperty__.js.map +1 -1
  56. package/out/concepts/Entity__.js.map +1 -1
  57. package/out/concepts/EnumItem__.js.map +1 -1
  58. package/out/concepts/Enum__.js.map +1 -1
  59. package/out/concepts/Event__.js.map +1 -1
  60. package/out/concepts/ExternalDestination__.js +1 -1
  61. package/out/concepts/ExternalDestination__.js.map +1 -1
  62. package/out/concepts/ForEachStatement__.js.map +1 -1
  63. package/out/concepts/FrontendLibrary__.d.ts +212 -0
  64. package/out/concepts/FrontendLibrary__.js +349 -0
  65. package/out/concepts/FrontendLibrary__.js.map +1 -0
  66. package/out/concepts/Frontend__.js.map +1 -1
  67. package/out/concepts/Function__.js.map +1 -1
  68. package/out/concepts/Identifier__.js.map +1 -1
  69. package/out/concepts/IfStatement__.js.map +1 -1
  70. package/out/concepts/InterfaceParam__.js.map +1 -1
  71. package/out/concepts/Interface__.js.map +1 -1
  72. package/out/concepts/JSBlock__.js.map +1 -1
  73. package/out/concepts/LogicItem__.js.map +1 -1
  74. package/out/concepts/Logic__.js +28 -15
  75. package/out/concepts/Logic__.js.map +1 -1
  76. package/out/concepts/MatchCase__.js.map +1 -1
  77. package/out/concepts/Match__.d.ts +3 -0
  78. package/out/concepts/Match__.js +73 -2
  79. package/out/concepts/Match__.js.map +1 -1
  80. package/out/concepts/MemberExpression__.js.map +1 -1
  81. package/out/concepts/Module__.d.ts +49 -49
  82. package/out/concepts/Module__.js +50 -50
  83. package/out/concepts/Module__.js.map +1 -1
  84. package/out/concepts/Namespace__.js.map +1 -1
  85. package/out/concepts/NewComposite__.d.ts +1 -0
  86. package/out/concepts/NewComposite__.js +20 -2
  87. package/out/concepts/NewComposite__.js.map +1 -1
  88. package/out/concepts/NewList__.js.map +1 -1
  89. package/out/concepts/NewMap__.js.map +1 -1
  90. package/out/concepts/New__.js.map +1 -1
  91. package/out/concepts/NullLiteral__.js.map +1 -1
  92. package/out/concepts/NumericLiteral__.js.map +1 -1
  93. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  94. package/out/concepts/Param__.js.map +1 -1
  95. package/out/concepts/Point__.js.map +1 -1
  96. package/out/concepts/ProcessComponent__.js.map +1 -1
  97. package/out/concepts/ProcessElement__.js.map +1 -1
  98. package/out/concepts/ProcessOutcome__.js.map +1 -1
  99. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  100. package/out/concepts/Process__.js.map +1 -1
  101. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  102. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  103. package/out/concepts/QueryFromExpression__.js.map +1 -1
  104. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  105. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  106. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  107. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  108. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  109. package/out/concepts/Rect__.js.map +1 -1
  110. package/out/concepts/Return__.js +3 -0
  111. package/out/concepts/Return__.js.map +1 -1
  112. package/out/concepts/Role__.js.map +1 -1
  113. package/out/concepts/SelectMembers__.js.map +1 -1
  114. package/out/concepts/Slot__.d.ts +16 -0
  115. package/out/concepts/Slot__.js +43 -0
  116. package/out/concepts/Slot__.js.map +1 -1
  117. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  118. package/out/concepts/Start__.js.map +1 -1
  119. package/out/concepts/StringInterpolation__.js +1 -1
  120. package/out/concepts/StringInterpolation__.js.map +1 -1
  121. package/out/concepts/StringLiteral__.js.map +1 -1
  122. package/out/concepts/StructureProperty__.js.map +1 -1
  123. package/out/concepts/Structure__.js.map +1 -1
  124. package/out/concepts/SwitchCase__.js.map +1 -1
  125. package/out/concepts/SwitchStatement__.js.map +1 -1
  126. package/out/concepts/Theme__.js.map +1 -1
  127. package/out/concepts/Transactional__.js.map +1 -1
  128. package/out/concepts/TypeAnnotation__.js +1 -1
  129. package/out/concepts/TypeAnnotation__.js.map +1 -1
  130. package/out/concepts/TypeParam__.js.map +1 -1
  131. package/out/concepts/UnaryExpression__.js.map +1 -1
  132. package/out/concepts/Unparsed__.js.map +1 -1
  133. package/out/concepts/UseComponent__.js.map +1 -1
  134. package/out/concepts/ValidationRule__.js.map +1 -1
  135. package/out/concepts/Variable__.js +3 -0
  136. package/out/concepts/Variable__.js.map +1 -1
  137. package/out/concepts/ViewBlock__.d.ts +34 -0
  138. package/out/concepts/ViewBlock__.js +82 -0
  139. package/out/concepts/ViewBlock__.js.map +1 -0
  140. package/out/concepts/ViewComponent__.d.ts +85 -0
  141. package/out/concepts/ViewComponent__.js +104 -0
  142. package/out/concepts/ViewComponent__.js.map +1 -1
  143. package/out/concepts/ViewElement__.d.ts +1 -0
  144. package/out/concepts/ViewElement__.js +7 -0
  145. package/out/concepts/ViewElement__.js.map +1 -1
  146. package/out/concepts/View__.d.ts +1 -0
  147. package/out/concepts/View__.js +21 -11
  148. package/out/concepts/View__.js.map +1 -1
  149. package/out/concepts/WhileStatement__.js.map +1 -1
  150. package/out/concepts/basics/stdlib/nasl.configuration.js +1 -1
  151. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  152. package/out/concepts/index__.d.ts +2 -0
  153. package/out/concepts/index__.js +2 -0
  154. package/out/concepts/index__.js.map +1 -1
  155. package/out/config.d.ts +1 -1
  156. package/out/decorators/index.d.ts +2 -2
  157. package/out/generator/genReleaseBody.d.ts +1 -0
  158. package/out/generator/genReleaseBody.js +1 -0
  159. package/out/generator/genReleaseBody.js.map +1 -1
  160. package/out/generator/permission.d.ts +2 -1
  161. package/out/generator/permission.js +17 -8
  162. package/out/generator/permission.js.map +1 -1
  163. package/out/index.d.ts +1 -1
  164. package/out/index.js +2 -1
  165. package/out/index.js.map +1 -1
  166. package/out/server/getLogics.js +12 -0
  167. package/out/server/getLogics.js.map +1 -1
  168. package/out/server/getProcesses.d.ts +3 -3
  169. package/out/server/getScope.d.ts +1 -1
  170. package/out/server/naslServer.d.ts +1 -1
  171. package/out/server/naslServer.js +82 -41
  172. package/out/server/naslServer.js.map +1 -1
  173. package/out/server/translator.js +1 -1
  174. package/out/service/storage/init.js +1 -1
  175. package/out/service/storage/init.js.map +1 -1
  176. package/out/templator/genCurdEditMultipleKeyBlock.js +2 -2
  177. package/out/templator/genCurdMultipleKeyBlock.js +2 -2
  178. package/out/translator/index.d.ts +1 -1
  179. package/out/translator/index.js +4 -1
  180. package/out/translator/index.js.map +1 -1
  181. package/out/translator/lsp.d.ts +3 -3
  182. package/out/utils/index.d.ts +4 -4
  183. package/package.json +1 -1
  184. package/sandbox/stdlib/nasl.oql.ts +4 -0
  185. package/src/bak/translator.js +3 -3
  186. package/src/concepts/App__.ts +13 -0
  187. package/src/concepts/Attribute__.ts +10 -59
  188. package/src/concepts/BindAttribute__.ts +18 -17
  189. package/src/concepts/BindDirective__.ts +23 -6
  190. package/src/concepts/BindStyle__.ts +23 -7
  191. package/src/concepts/CallLogic__.ts +13 -38
  192. package/src/concepts/ConfigGroup__.ts +2 -2
  193. package/src/concepts/ConfigProperty__.ts +8 -6
  194. package/src/concepts/DataSource__.ts +11 -7
  195. package/src/concepts/Destination__.ts +20 -2
  196. package/src/concepts/ExternalDestination__.ts +6 -6
  197. package/src/concepts/FrontendLibrary__.ts +518 -0
  198. package/src/concepts/Frontend__.ts +12 -1
  199. package/src/concepts/Identifier__.ts +9 -0
  200. package/src/concepts/Logic__.ts +29 -16
  201. package/src/concepts/Match__.ts +77 -2
  202. package/src/concepts/Module__.ts +92 -121
  203. package/src/concepts/NewComposite__.ts +20 -2
  204. package/src/concepts/Param__.ts +4 -0
  205. package/src/concepts/ProcessElement__.ts +23 -1
  206. package/src/concepts/Process__.ts +16 -1
  207. package/src/concepts/Return__.ts +2 -0
  208. package/src/concepts/Slot__.ts +55 -0
  209. package/src/concepts/StringInterpolation__.ts +1 -1
  210. package/src/concepts/TypeAnnotation__.ts +1 -1
  211. package/src/concepts/ValidationRule__.ts +9 -9
  212. package/src/concepts/Variable__.ts +2 -0
  213. package/src/concepts/ViewBlock__.ts +91 -0
  214. package/src/concepts/ViewComponent__.ts +199 -0
  215. package/src/concepts/ViewElement__.ts +9 -1
  216. package/src/concepts/View__.ts +50 -18
  217. package/src/concepts/basics/stdlib/nasl.configuration.ts +1 -1
  218. package/src/concepts/index__.ts +2 -0
  219. package/src/generator/genReleaseBody.ts +2 -1
  220. package/src/generator/permission.ts +17 -7
  221. package/src/index.ts +1 -1
  222. package/src/server/getLogics.ts +13 -0
  223. package/src/server/naslServer.ts +76 -39
  224. package/src/server/translator.ts +1 -1
  225. package/src/service/storage/init.ts +1 -1
  226. package/src/templator/genCurdEditMultipleKeyBlock.ts +2 -2
  227. package/src/templator/genCurdMultipleKeyBlock.ts +2 -2
  228. package/src/translator/index.ts +3 -1
  229. package/yarn-error.log +2087 -0
  230. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  231. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  232. package/src/automate/engine/dist/index.dev.js +0 -517
  233. package/src/common/dist/BaseNode.js +0 -1101
  234. package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1602
  235. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  236. package/src/concepts/dist/BindAttribute__.js +0 -795
  237. package/src/concepts/dist/BindEvent__.js +0 -732
  238. package/src/concepts/dist/CallFunction__.js +0 -527
  239. package/src/concepts/dist/CallLogic__.js +0 -932
  240. package/src/concepts/dist/Destination__.js +0 -708
  241. package/src/concepts/dist/ExternalDestination__.js +0 -298
  242. package/src/concepts/dist/Identifier__.js +0 -311
  243. package/src/concepts/dist/StringInterpolation__.js +0 -231
  244. package/src/concepts/dist/TypeAnnotation__.js +0 -834
  245. package/src/concepts/dist/ViewElement__.js +0 -1692
  246. package/src/concepts/dist/View__.js +0 -1601
  247. package/src/generator/dist/genBundleFiles.js +0 -261
  248. package/src/generator/dist/genMetaData.js +0 -245
  249. package/src/generator/dist/permission.js +0 -405
  250. package/src/service/storage/dist/init.js +0 -579
  251. package/src/templator/dist/genEditTableBlock.js +0 -204
  252. package/src/templator/dist/genGridViewBlock.js +0 -265
  253. package/src/templator/dist/genListViewBlock.js +0 -84
  254. package/src/templator/dist/genTableBlock.js +0 -209
  255. package/src/templator/dist/utils.js +0 -527
@@ -118,6 +118,10 @@ export class BindStyle extends BaseNode {
118
118
  });
119
119
  }
120
120
 
121
+
122
+
123
+
124
+
121
125
  /**
122
126
  * 插入逻辑项
123
127
  * @internal
@@ -150,6 +154,8 @@ export class BindStyle extends BaseNode {
150
154
  return logicItem;
151
155
  }
152
156
 
157
+
158
+
153
159
  /**
154
160
  * 插入逻辑项
155
161
  * @param logicItemOptions 逻辑项参数
@@ -172,6 +178,8 @@ export class BindStyle extends BaseNode {
172
178
  return node;
173
179
  }
174
180
 
181
+
182
+
175
183
  /**
176
184
  * 添加逻辑项
177
185
  * @internal
@@ -191,6 +199,8 @@ export class BindStyle extends BaseNode {
191
199
  return this._insertItemInPlaygroundAt(options as any, index);
192
200
  }
193
201
 
202
+
203
+
194
204
  /**
195
205
  * 添加逻辑项
196
206
  * @param logicItemOptions 逻辑项参数
@@ -214,6 +224,9 @@ export class BindStyle extends BaseNode {
214
224
  return node;
215
225
  }
216
226
 
227
+
228
+
229
+
217
230
  /**
218
231
  * 删除逻辑项
219
232
  * @param name 逻辑项名称
@@ -239,6 +252,8 @@ export class BindStyle extends BaseNode {
239
252
  return expression.delete();
240
253
  }
241
254
 
255
+
256
+
242
257
  /**
243
258
  * 删除逻辑项
244
259
  * @param logicItem 已有的逻辑项实例
@@ -246,7 +261,7 @@ export class BindStyle extends BaseNode {
246
261
  removeItemInPlayground(logicItem: LogicItem): void;
247
262
 
248
263
  removeItemInPlayground(options: LogicItem) {
249
- const logicItem: LogicItem = options;
264
+ let logicItem: LogicItem = options;
250
265
  return logicItem.delete();
251
266
  }
252
267
 
@@ -357,12 +372,13 @@ export class BindStyle extends BaseNode {
357
372
  let memberExpressionNode = node?.parentNode;
358
373
  while (memberExpressionNode?.concept === 'MemberExpression') {
359
374
  expressionNode = memberExpressionNode;
375
+ // 为了处理MemberExpression里面存在CallLogic、CallFunction等的情况
360
376
  const { concept: objConcept } = memberExpressionNode.object || {};
361
377
  if (!['MemberExpression', 'Identifier'].includes(objConcept)) {
362
378
  memberExpressionNode = null;
363
379
  expressionNode = null;
364
380
  } else {
365
- memberExpressionNode = memberExpressionNode.object;
381
+ memberExpressionNode = memberExpressionNode.parentNode;
366
382
  }
367
383
  }
368
384
  if (expressionNode) {
@@ -457,14 +473,14 @@ export class BindStyle extends BaseNode {
457
473
  toVue(options?: ElementToVueOptions) {
458
474
  let value: string;
459
475
  // 需要用标识符替换
460
- if (options?.finalCode !== false && this.needReplaceWithIdentifier) {
461
- const argsList = this.getArgsList();
462
- value = `${this.expressionBuilderName} (${argsList.join(', ')})`;
463
- } else {
476
+ //if (options?.finalCode !== false && this.needReplaceWithIdentifier) {
477
+ // const argsList = this.getArgsList();
478
+ // value = `${this.expressionBuilderName} (${argsList.join(', ')})`;
479
+ //} else {
464
480
  value = this.expression?.toVue(options);
465
481
  if (this.name?.endsWith('background-image') && value)
466
482
  value = `\`url(\${${value}})\``;
467
- }
483
+ //}
468
484
  return value && `'${this.name}': ${value}`;
469
485
  }
470
486
 
@@ -70,8 +70,6 @@ export class CallLogic extends LogicItem {
70
70
  @property('Argument')
71
71
  arguments: Array<Argument> = [];
72
72
 
73
-
74
-
75
73
  /**
76
74
  * @param source 需要合并的部分参数
77
75
  */
@@ -85,13 +83,6 @@ export class CallLogic extends LogicItem {
85
83
  return super.from(source, parentNode, parentKey) as CallLogic;
86
84
  }
87
85
 
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
86
  /**
96
87
  * 插入类型标注
97
88
  * @internal
@@ -124,8 +115,6 @@ export class CallLogic extends LogicItem {
124
115
  return typeAnnotation;
125
116
  }
126
117
 
127
-
128
-
129
118
  /**
130
119
  * 插入类型标注
131
120
  * @param typeAnnotationOptions 类型标注参数
@@ -148,8 +137,6 @@ export class CallLogic extends LogicItem {
148
137
  return node;
149
138
  }
150
139
 
151
-
152
-
153
140
  /**
154
141
  * 添加类型标注
155
142
  * @internal
@@ -169,8 +156,6 @@ export class CallLogic extends LogicItem {
169
156
  return this._insertTypeAnnotationAt(options as any, index);
170
157
  }
171
158
 
172
-
173
-
174
159
  /**
175
160
  * 添加类型标注
176
161
  * @param typeAnnotationOptions 类型标注参数
@@ -194,11 +179,6 @@ export class CallLogic extends LogicItem {
194
179
  return node;
195
180
  }
196
181
 
197
-
198
-
199
-
200
-
201
-
202
182
  /**
203
183
  * 插入实际参数
204
184
  * @internal
@@ -231,8 +211,6 @@ export class CallLogic extends LogicItem {
231
211
  return argument;
232
212
  }
233
213
 
234
-
235
-
236
214
  /**
237
215
  * 插入实际参数
238
216
  * @param argumentOptions 实际参数参数
@@ -255,8 +233,6 @@ export class CallLogic extends LogicItem {
255
233
  return node;
256
234
  }
257
235
 
258
-
259
-
260
236
  /**
261
237
  * 添加实际参数
262
238
  * @internal
@@ -276,8 +252,6 @@ export class CallLogic extends LogicItem {
276
252
  return this._insertArgumentAt(options as any, index);
277
253
  }
278
254
 
279
-
280
-
281
255
  /**
282
256
  * 添加实际参数
283
257
  * @param argumentOptions 实际参数参数
@@ -301,9 +275,6 @@ export class CallLogic extends LogicItem {
301
275
  return node;
302
276
  }
303
277
 
304
-
305
-
306
-
307
278
  /**
308
279
  * 删除类型标注
309
280
  * @param typeAnnotation 已有的类型标注实例
@@ -311,7 +282,7 @@ export class CallLogic extends LogicItem {
311
282
  removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
312
283
 
313
284
  removeTypeAnnotation(options: TypeAnnotation) {
314
- let typeAnnotation: TypeAnnotation = options;
285
+ const typeAnnotation: TypeAnnotation = options;
315
286
  return typeAnnotation.delete();
316
287
  }
317
288
 
@@ -338,8 +309,6 @@ export class CallLogic extends LogicItem {
338
309
  return params;
339
310
  }
340
311
 
341
-
342
-
343
312
  /**
344
313
  * 删除实际参数
345
314
  * @param argument 已有的实际参数实例
@@ -347,7 +316,7 @@ export class CallLogic extends LogicItem {
347
316
  removeArgument(argument: Argument): void;
348
317
 
349
318
  removeArgument(options: Argument) {
350
- let argument: Argument = options;
319
+ const argument: Argument = options;
351
320
  return argument.delete();
352
321
  }
353
322
 
@@ -565,7 +534,7 @@ export class CallLogic extends LogicItem {
565
534
  if (typeof argIndex === 'number') {
566
535
  if (!this.arguments[argIndex]?.expression) {
567
536
  // 如果本身没有值就直接删除
568
- return this.arguments[argIndex].delete();
537
+ return this.arguments[argIndex]?.delete();
569
538
  }
570
539
  if (argIndex !== this.arguments.length - 1) {
571
540
  this.arguments[argIndex]?.moveNode({
@@ -632,7 +601,8 @@ export class CallLogic extends LogicItem {
632
601
  if (calleeNamespace) {
633
602
  const namespaceArr = calleeNamespace.split('.');
634
603
  const start = namespaceArr[0];
635
- if (start === 'app' || start === 'extensions') {
604
+ const isFrontendLibrary = ~calleeNamespace.indexOf('frontends');
605
+ if (start === 'app' || (start === 'extensions' && !isFrontendLibrary)) {
636
606
  const keywordViewsIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'views');
637
607
  if (keywordViewsIndex === -1) {
638
608
  flag = false;
@@ -662,15 +632,20 @@ export class CallLogic extends LogicItem {
662
632
  let code = '';
663
633
  code += 'await (';
664
634
  let componentName = '';
635
+ let extensionName = '';
665
636
  const calleeNamespace = this.calleeNamespace;
666
637
  const keywordProcessIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'processes');
667
638
  const isProcessLogic = keywordProcessIndex !== -1;
639
+ const isFrontendLibrary = calleeNamespace.startsWith('extensions') && calleeNamespace.indexOf('frontends');
668
640
  // calleeNamespace不存在,一定是页面逻辑
669
641
  if (calleeNamespace) {
670
642
  const namespaceArr = calleeNamespace.split('.');
671
643
  if (this.isComponentLogic) {
672
644
  componentName = namespaceArr[1];
673
645
  }
646
+ if (isFrontendLibrary) {
647
+ extensionName = namespaceArr[1];
648
+ }
674
649
  }
675
650
  const completeArguments = this.completeArguments;
676
651
  // 全局逻辑
@@ -743,9 +718,7 @@ export class CallLogic extends LogicItem {
743
718
  const argsStr = logicArgs
744
719
  .filter((arg: any) => arg.expression)
745
720
  .map((arg: any) => {
746
- const name = arg.keyword === 'body' ?
747
- (this.calleeName === 'batchUpdate' ? 'entities' : 'entity') :
748
- arg.keyword;
721
+ const name = arg.keyword === 'body' ? (this.calleeName === 'batchUpdate' ? 'entities' : 'entity') : arg.keyword;
749
722
  return `${name}: ${arg.expression.toJS(shiftState(state, code))}`;
750
723
  })
751
724
  .join(',\n');
@@ -845,6 +818,8 @@ export class CallLogic extends LogicItem {
845
818
  }
846
819
  } else if (calleeNamespace === 'nasl.browser' || calleeNamespace === 'nasl.auth' || calleeNamespace === 'nasl.configuration' || calleeNamespace === 'nasl.process' || calleeNamespace === 'nasl.io') {
847
820
  code += `this.$global.${this.calleeName}`;
821
+ } else if (isFrontendLibrary) {
822
+ code += `this.$library['${extensionName}'].${this.calleeName}`;
848
823
  } else {
849
824
  code += `this.${this.calleeName}`;
850
825
  }
@@ -1,3 +1,5 @@
1
+ import Namespace from './Namespace__';
2
+
1
3
  //================================================================================
2
4
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
3
5
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -11,8 +13,6 @@ import BaseNode from '../common/BaseNode';
11
13
  import classMap from '../common/classMap';
12
14
  import ConfigProperty from './ConfigProperty__';
13
15
  import App from './App__';
14
- import Namespace from './Namespace__';
15
- import Configuration from './Configuration__';
16
16
 
17
17
  /**
18
18
  * 配置组
@@ -330,12 +330,14 @@ export class ConfigProperty extends BaseNode {
330
330
  @withSourceMap()
331
331
  toEmbeddedTS(state?: TranslatorState): string {
332
332
  let code = `let ${this.name}: nasl.core.String; \n`;
333
- this.values.forEach((value) => {
334
- code += indent((state?.tabSize || 0) + 1);
335
- if (!value.value) {
336
- code += `const __${value.env}ConfigValueEmpty: any = null;\n`;
337
- }
338
- });
333
+ if (this.parentNode.name === 'custom') {
334
+ this.values.forEach((value) => {
335
+ code += indent((state?.tabSize || 0) + 1);
336
+ if (!value.value) {
337
+ code += `const __${value.env}ConfigValueEmpty: any = null;\n`;
338
+ }
339
+ });
340
+ }
339
341
  return code;
340
342
  }
341
343
 
@@ -94,7 +94,7 @@ export class DataSource extends BaseNode {
94
94
  });
95
95
  }
96
96
 
97
- getEntityExistingNames(excludedList: Array<Entity> = []) {
97
+ getEntityExistingNames(excludedList: Array<Entity> = []) {
98
98
  const excludedSet = new Set(excludedList);
99
99
  return ((this.entities as Entity[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
100
100
  }
@@ -235,9 +235,6 @@ export class DataSource extends BaseNode {
235
235
  return node;
236
236
  }
237
237
 
238
-
239
-
240
-
241
238
  /**
242
239
  * 删除实体
243
240
  * @param name 实体名称
@@ -422,13 +419,20 @@ export class DataSource extends BaseNode {
422
419
  if (!prop.value) {
423
420
  return;
424
421
  }
425
- const dataSource = configProperty.name;
422
+ let isRecycled = false;
423
+ try {
424
+ const value = JSON.parse(prop.value);
425
+ // 被回收的数据库不需要 Ping
426
+ if (value.dataBaseMode === 'Platform_Generation' && value.status === 1) {
427
+ isRecycled = true;
428
+ }
429
+ } catch (e) {}
426
430
  const env = prop.env;
427
- return datasourceService.pingDatabase({
431
+ return isRecycled ? Promise.resolve() : datasourceService.pingDatabase({
428
432
  body: {
429
433
  category: 'sql',
430
434
  appId: this.app.id,
431
- dataSource,
435
+ dataSource: configProperty.name,
432
436
  env,
433
437
  },
434
438
  }).then(() => {
@@ -66,6 +66,8 @@ export class Destination extends LogicItem {
66
66
  @property()
67
67
  target: string = '_self';
68
68
 
69
+
70
+
69
71
  /**
70
72
  * @param source 需要合并的部分参数
71
73
  */
@@ -79,6 +81,7 @@ export class Destination extends LogicItem {
79
81
  return super.from(source, parentNode, parentKey) as Destination;
80
82
  }
81
83
 
84
+
82
85
  /**
83
86
  * 设置viewNamespace
84
87
  */
@@ -130,6 +133,10 @@ export class Destination extends LogicItem {
130
133
  });
131
134
  }
132
135
 
136
+
137
+
138
+
139
+
133
140
  /**
134
141
  * 插入实际参数
135
142
  * @internal
@@ -162,6 +169,8 @@ export class Destination extends LogicItem {
162
169
  return argument;
163
170
  }
164
171
 
172
+
173
+
165
174
  /**
166
175
  * 插入实际参数
167
176
  * @param argumentOptions 实际参数参数
@@ -184,6 +193,8 @@ export class Destination extends LogicItem {
184
193
  return node;
185
194
  }
186
195
 
196
+
197
+
187
198
  /**
188
199
  * 添加实际参数
189
200
  * @internal
@@ -203,6 +214,8 @@ export class Destination extends LogicItem {
203
214
  return this._insertArgumentAt(options as any, index);
204
215
  }
205
216
 
217
+
218
+
206
219
  /**
207
220
  * 添加实际参数
208
221
  * @param argumentOptions 实际参数参数
@@ -226,6 +239,9 @@ export class Destination extends LogicItem {
226
239
  return node;
227
240
  }
228
241
 
242
+
243
+
244
+
229
245
  /**
230
246
  * 删除实际参数
231
247
  * @param argument 已有的实际参数实例
@@ -233,10 +249,12 @@ export class Destination extends LogicItem {
233
249
  removeArgumentInArguments(argument: Argument): void;
234
250
 
235
251
  removeArgumentInArguments(options: Argument) {
236
- const argument: Argument = options;
252
+ let argument: Argument = options;
237
253
  return argument.delete();
238
254
  }
239
255
 
256
+
257
+
240
258
  /**
241
259
  * 删除锚点参数
242
260
  * @param name 锚点参数名称
@@ -581,7 +599,7 @@ export class Destination extends LogicItem {
581
599
  */
582
600
  if (typeof argIndex === 'number') {
583
601
  if (!this.arguments[argIndex]?.expression) {
584
- return this.arguments[argIndex].delete();
602
+ return this.arguments[argIndex]?.delete();
585
603
  }
586
604
  if (argIndex !== this.arguments.length - 1) {
587
605
  // 如果本身没有值就直接删除
@@ -47,7 +47,7 @@ export class ExternalDestination extends LogicItem {
47
47
  @property('Anchor')
48
48
  anchor: Anchor = undefined;
49
49
 
50
-
50
+
51
51
 
52
52
  /**
53
53
  * @param source 需要合并的部分参数
@@ -62,7 +62,7 @@ export class ExternalDestination extends LogicItem {
62
62
  return super.from(source, parentNode, parentKey) as ExternalDestination;
63
63
  }
64
64
 
65
-
65
+
66
66
  /**
67
67
  * 设置外部链接
68
68
  */
@@ -105,9 +105,9 @@ export class ExternalDestination extends LogicItem {
105
105
  });
106
106
  }
107
107
 
108
+
108
109
 
109
-
110
-
110
+
111
111
 
112
112
  /**
113
113
  * 删除逻辑项
@@ -134,7 +134,7 @@ export class ExternalDestination extends LogicItem {
134
134
  return link.delete();
135
135
  }
136
136
 
137
-
137
+
138
138
 
139
139
  /**
140
140
  * 删除锚点参数
@@ -223,7 +223,7 @@ export class ExternalDestination extends LogicItem {
223
223
 
224
224
  toVue(options?: ElementToVueOptions) {
225
225
  let url = '`';
226
- const tempLink = this.link ? this.link.toVue(options) : '';
226
+ const tempLink = this.link ? this.link.toVue(options) : "''";
227
227
  url += '${';
228
228
  url += `${tempLink}`;
229
229
  url += '}';