@lcap/nasl 2.18.0 → 2.20.0-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 (287) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +4 -4
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +3 -3
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/template/myProcess.js +1 -1
  8. package/out/automate/template/myProcess.js.map +1 -1
  9. package/out/bak/translator.js +2 -1
  10. package/out/bak/translator.js.map +1 -1
  11. package/out/common/BaseNode.js +1 -0
  12. package/out/common/BaseNode.js.map +1 -1
  13. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  14. package/out/concepts/AnonymousFunction__.js +40 -2
  15. package/out/concepts/AnonymousFunction__.js.map +1 -1
  16. package/out/concepts/App__.d.ts +79 -261
  17. package/out/concepts/App__.js +241 -367
  18. package/out/concepts/App__.js.map +1 -1
  19. package/out/concepts/BatchAssignment__.d.ts +2 -0
  20. package/out/concepts/BatchAssignment__.js +108 -47
  21. package/out/concepts/BatchAssignment__.js.map +1 -1
  22. package/out/concepts/BindAttribute__.d.ts +5 -0
  23. package/out/concepts/BindAttribute__.js +15 -2
  24. package/out/concepts/BindAttribute__.js.map +1 -1
  25. package/out/concepts/BindDirective__.d.ts +5 -0
  26. package/out/concepts/BindDirective__.js +6 -0
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +5 -0
  29. package/out/concepts/BindEvent__.js +6 -0
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BindStyle__.d.ts +5 -0
  32. package/out/concepts/BindStyle__.js +6 -0
  33. package/out/concepts/BindStyle__.js.map +1 -1
  34. package/out/concepts/CallFunction__.js +33 -14
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.js +2 -1
  37. package/out/concepts/CallInterface__.js.map +1 -1
  38. package/out/concepts/CallLogic__.d.ts +2 -1
  39. package/out/concepts/CallLogic__.js +112 -27
  40. package/out/concepts/CallLogic__.js.map +1 -1
  41. package/out/concepts/CallQueryComponent__.js +4 -1
  42. package/out/concepts/CallQueryComponent__.js.map +1 -1
  43. package/out/concepts/Constant__.d.ts +5 -0
  44. package/out/concepts/Constant__.js +6 -0
  45. package/out/concepts/Constant__.js.map +1 -1
  46. package/out/concepts/DataSource__.d.ts +2 -0
  47. package/out/concepts/DataSource__.js +55 -1
  48. package/out/concepts/DataSource__.js.map +1 -1
  49. package/out/concepts/Destination__.d.ts +2 -1
  50. package/out/concepts/Destination__.js +98 -25
  51. package/out/concepts/Destination__.js.map +1 -1
  52. package/out/concepts/Frontend__.d.ts +370 -0
  53. package/out/concepts/Frontend__.js +669 -0
  54. package/out/concepts/Frontend__.js.map +1 -0
  55. package/out/concepts/Identifier__.d.ts +1 -0
  56. package/out/concepts/Identifier__.js +18 -7
  57. package/out/concepts/Identifier__.js.map +1 -1
  58. package/out/concepts/LogicItem__.d.ts +6 -1
  59. package/out/concepts/LogicItem__.js +6 -0
  60. package/out/concepts/LogicItem__.js.map +1 -1
  61. package/out/concepts/Logic__.d.ts +85 -79
  62. package/out/concepts/Logic__.js +41 -23
  63. package/out/concepts/Logic__.js.map +1 -1
  64. package/out/concepts/Match__.js +14 -9
  65. package/out/concepts/Match__.js.map +1 -1
  66. package/out/concepts/NewComposite__.d.ts +345 -0
  67. package/out/concepts/NewComposite__.js +1068 -0
  68. package/out/concepts/NewComposite__.js.map +1 -0
  69. package/out/concepts/NewList__.d.ts +130 -0
  70. package/out/concepts/NewList__.js +349 -0
  71. package/out/concepts/NewList__.js.map +1 -0
  72. package/out/concepts/NewMap__.d.ts +221 -0
  73. package/out/concepts/NewMap__.js +480 -0
  74. package/out/concepts/NewMap__.js.map +1 -0
  75. package/out/concepts/New__.d.ts +19 -0
  76. package/out/concepts/New__.js +66 -0
  77. package/out/concepts/New__.js.map +1 -0
  78. package/out/concepts/Param__.d.ts +7 -0
  79. package/out/concepts/Param__.js +46 -3
  80. package/out/concepts/Param__.js.map +1 -1
  81. package/out/concepts/ProcessElement__.js +42 -13
  82. package/out/concepts/ProcessElement__.js.map +1 -1
  83. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  84. package/out/concepts/ProcessOutcomes__.js +87 -0
  85. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  86. package/out/concepts/Process__.d.ts +4 -20
  87. package/out/concepts/Process__.js +0 -7
  88. package/out/concepts/Process__.js.map +1 -1
  89. package/out/concepts/Return__.d.ts +5 -0
  90. package/out/concepts/Return__.js +8 -1
  91. package/out/concepts/Return__.js.map +1 -1
  92. package/out/concepts/SelectMembers__.js +3 -3
  93. package/out/concepts/SelectMembers__.js.map +1 -1
  94. package/out/concepts/Transactional__.d.ts +5 -0
  95. package/out/concepts/Transactional__.js +6 -0
  96. package/out/concepts/Transactional__.js.map +1 -1
  97. package/out/concepts/TypeAnnotation__.d.ts +3 -0
  98. package/out/concepts/TypeAnnotation__.js +50 -11
  99. package/out/concepts/TypeAnnotation__.js.map +1 -1
  100. package/out/concepts/ValidationRule__.js +1 -1
  101. package/out/concepts/ValidationRule__.js.map +1 -1
  102. package/out/concepts/Variable__.d.ts +5 -0
  103. package/out/concepts/Variable__.js +9 -2
  104. package/out/concepts/Variable__.js.map +1 -1
  105. package/out/concepts/ViewElement__.d.ts +5 -0
  106. package/out/concepts/ViewElement__.js +21 -3
  107. package/out/concepts/ViewElement__.js.map +1 -1
  108. package/out/concepts/View__.d.ts +6 -0
  109. package/out/concepts/View__.js +23 -3
  110. package/out/concepts/View__.js.map +1 -1
  111. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  112. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  113. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  114. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  115. package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
  116. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  117. package/out/concepts/basics/stdlib/nasl.util.js +151 -19
  118. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  119. package/out/concepts/index__.d.ts +7 -0
  120. package/out/concepts/index__.js +7 -0
  121. package/out/concepts/index__.js.map +1 -1
  122. package/out/enums/KEYWORDS.d.ts +1 -0
  123. package/out/enums/KEYWORDS.js +9 -1
  124. package/out/enums/KEYWORDS.js.map +1 -1
  125. package/out/generator/genBundleFiles.d.ts +6 -3
  126. package/out/generator/genBundleFiles.js +54 -192
  127. package/out/generator/genBundleFiles.js.map +1 -1
  128. package/out/generator/genMetaData.d.ts +2 -11
  129. package/out/generator/genMetaData.js +185 -51
  130. package/out/generator/genMetaData.js.map +1 -1
  131. package/out/generator/genReleaseBody.d.ts +18 -2
  132. package/out/generator/genReleaseBody.js +80 -40
  133. package/out/generator/genReleaseBody.js.map +1 -1
  134. package/out/generator/index.d.ts +1 -0
  135. package/out/generator/index.js +1 -0
  136. package/out/generator/index.js.map +1 -1
  137. package/out/generator/permission.d.ts +17 -0
  138. package/out/generator/permission.js +221 -0
  139. package/out/generator/permission.js.map +1 -0
  140. package/out/index.d.ts +1 -1
  141. package/out/index.js +3 -1
  142. package/out/index.js.map +1 -1
  143. package/out/server/entity2LogicNamespace.js +89 -9
  144. package/out/server/entity2LogicNamespace.js.map +1 -1
  145. package/out/server/extendBaseNode.js +33 -20
  146. package/out/server/extendBaseNode.js.map +1 -1
  147. package/out/server/formatTsUtils.d.ts +1 -2
  148. package/out/server/formatTsUtils.js +36 -47
  149. package/out/server/formatTsUtils.js.map +1 -1
  150. package/out/server/getLogics.d.ts +2 -1
  151. package/out/server/getLogics.js +13 -2
  152. package/out/server/getLogics.js.map +1 -1
  153. package/out/server/getMemberIdentifier.js +4 -4
  154. package/out/server/getMemberIdentifier.js.map +1 -1
  155. package/out/server/getProcesses.js +1 -1
  156. package/out/server/getProcesses.js.map +1 -1
  157. package/out/server/naslServer.d.ts +3 -1
  158. package/out/server/naslServer.js +254 -65
  159. package/out/server/naslServer.js.map +1 -1
  160. package/out/server/process2LogicNamespace.js +8 -0
  161. package/out/server/process2LogicNamespace.js.map +1 -1
  162. package/out/server/translator.js +50 -5
  163. package/out/server/translator.js.map +1 -1
  164. package/out/service/creator/add.configs.js +4 -0
  165. package/out/service/creator/add.configs.js.map +1 -1
  166. package/out/service/datasource/api.d.ts +12 -0
  167. package/out/service/datasource/api.js +14 -0
  168. package/out/service/datasource/api.js.map +1 -0
  169. package/out/service/datasource/index.d.ts +2 -0
  170. package/out/service/datasource/index.js +10 -0
  171. package/out/service/datasource/index.js.map +1 -0
  172. package/out/service/storage/init.js +15 -4
  173. package/out/service/storage/init.js.map +1 -1
  174. package/out/templator/genEditTableBlock.js +4 -5
  175. package/out/templator/genEditTableBlock.js.map +1 -1
  176. package/out/templator/genGetBlock.js +4 -3
  177. package/out/templator/genGetBlock.js.map +1 -1
  178. package/out/templator/genGridViewBlock.js +16 -14
  179. package/out/templator/genGridViewBlock.js.map +1 -1
  180. package/out/templator/genListViewBlock.js +5 -5
  181. package/out/templator/genListViewBlock.js.map +1 -1
  182. package/out/templator/genTableBlock.js +6 -10
  183. package/out/templator/genTableBlock.js.map +1 -1
  184. package/package.json +2 -2
  185. package/sandbox/stdlib/nasl.auth.ts +1 -1
  186. package/sandbox/stdlib/nasl.core.ts +1 -0
  187. package/sandbox/stdlib/nasl.logging.ts +4 -4
  188. package/sandbox/stdlib/nasl.util.ts +9 -5
  189. package/src/automate/engine/index.js +4 -4
  190. package/src/automate/engine/uniqueName.js +3 -3
  191. package/src/automate/template/myProcess.js +1 -1
  192. package/src/automate/upgrader/2.20.js +41 -0
  193. package/src/bak/translator.js +4 -1
  194. package/src/common/BaseNode.ts +1 -0
  195. package/src/concepts/AnonymousFunction__.ts +48 -2
  196. package/src/concepts/App__.ts +298 -650
  197. package/src/concepts/BatchAssignment__.ts +111 -51
  198. package/src/concepts/BindAttribute__.ts +18 -25
  199. package/src/concepts/BindDirective__.ts +7 -0
  200. package/src/concepts/BindEvent__.ts +7 -0
  201. package/src/concepts/BindStyle__.ts +7 -0
  202. package/src/concepts/CallFunction__.ts +34 -45
  203. package/src/concepts/CallInterface__.ts +2 -1
  204. package/src/concepts/CallLogic__.ts +87 -55
  205. package/src/concepts/CallQueryComponent__.ts +4 -1
  206. package/src/concepts/Constant__.ts +7 -0
  207. package/src/concepts/DataSource__.ts +57 -5
  208. package/src/concepts/Destination__.ts +100 -43
  209. package/src/concepts/Frontend__.ts +945 -0
  210. package/src/concepts/Identifier__.ts +18 -16
  211. package/src/concepts/LogicItem__.ts +8 -1
  212. package/src/concepts/Logic__.ts +134 -149
  213. package/src/concepts/Match__.ts +13 -29
  214. package/src/concepts/NewComposite__.ts +1357 -0
  215. package/src/concepts/NewList__.ts +440 -0
  216. package/src/concepts/NewMap__.ts +666 -0
  217. package/src/concepts/New__.ts +73 -0
  218. package/src/concepts/Param__.ts +245 -199
  219. package/src/concepts/ProcessElement__.ts +43 -36
  220. package/src/concepts/ProcessOutcomes__.ts +90 -0
  221. package/src/concepts/Process__.ts +1 -23
  222. package/src/concepts/Return__.ts +11 -1
  223. package/src/concepts/SelectMembers__.ts +3 -3
  224. package/src/concepts/Transactional__.ts +7 -0
  225. package/src/concepts/TypeAnnotation__.ts +54 -49
  226. package/src/concepts/ValidationRule__.ts +19 -1
  227. package/src/concepts/Variable__.ts +12 -6
  228. package/src/concepts/ViewElement__.ts +28 -26
  229. package/src/concepts/View__.ts +26 -26
  230. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  231. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  232. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  233. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  234. package/src/concepts/index__.ts +7 -0
  235. package/src/enums/KEYWORDS.ts +9 -0
  236. package/src/generator/genBundleFiles.ts +74 -245
  237. package/src/generator/genMetaData.ts +178 -78
  238. package/src/generator/genReleaseBody.ts +87 -44
  239. package/src/generator/index.ts +1 -0
  240. package/src/generator/permission.ts +261 -0
  241. package/src/index.ts +1 -1
  242. package/src/server/entity2LogicNamespace.ts +90 -10
  243. package/src/server/extendBaseNode.ts +33 -22
  244. package/src/server/formatTsUtils.ts +36 -46
  245. package/src/server/getLogics.ts +15 -3
  246. package/src/server/getMemberIdentifier.ts +5 -5
  247. package/src/server/getProcesses.ts +1 -1
  248. package/src/server/naslServer.ts +260 -77
  249. package/src/server/process2LogicNamespace.ts +8 -0
  250. package/src/server/translator.ts +51 -5
  251. package/src/service/creator/add.configs.js +4 -0
  252. package/src/service/datasource/api.js +11 -0
  253. package/src/service/datasource/index.js +6 -0
  254. package/src/service/storage/init.ts +15 -4
  255. package/src/service/video/VideoTranscribe.js +1 -0
  256. package/src/templator/genEditTableBlock.ts +8 -16
  257. package/src/templator/genGetBlock.ts +18 -19
  258. package/src/templator/genGridViewBlock.ts +18 -18
  259. package/src/templator/genListViewBlock.ts +8 -11
  260. package/src/templator/genTableBlock.ts +6 -10
  261. package/ts-worker/lib/tsserver.js +8 -1
  262. package/out/automate/engine/2.14-components.d.ts +0 -1115
  263. package/out/automate/engine/2.14-components.js +0 -1087
  264. package/out/automate/engine/2.14-components.js.map +0 -1
  265. package/out/concepts/MatchExpression__.d.ts +0 -97
  266. package/out/concepts/MatchExpression__.js +0 -281
  267. package/out/concepts/MatchExpression__.js.map +0 -1
  268. package/src/automate/engine/dist/index.dev.js +0 -517
  269. package/src/common/dist/BaseNode.js +0 -1101
  270. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  271. package/src/concepts/dist/Anchor__.js +0 -179
  272. package/src/concepts/dist/Assignment__.js +0 -301
  273. package/src/concepts/dist/CallFunction__.js +0 -473
  274. package/src/concepts/dist/CallInterface__.js +0 -533
  275. package/src/concepts/dist/CallLogic__.js +0 -864
  276. package/src/concepts/dist/ForEachStatement__.js +0 -426
  277. package/src/concepts/dist/MatchCase__.js +0 -587
  278. package/src/concepts/dist/MemberExpression__.js +0 -348
  279. package/src/concepts/dist/Param__.js +0 -537
  280. package/src/concepts/dist/Return__.js +0 -493
  281. package/src/generator/dist/genBundleFiles.js +0 -414
  282. package/src/server/dist/formatTsUtils.js +0 -683
  283. package/src/server/dist/naslServer.js +0 -3396
  284. package/src/service/storage/dist/init.js +0 -541
  285. package/ts-worker/dist/webpack.config.dev.js +0 -104
  286. package/ts-worker/lib/dist/tsserver.dev.js +0 -22953
  287. package/ts-worker/sources/lib/dist/tsserver.dev.js +0 -22912
@@ -66,8 +66,6 @@ export class Destination extends LogicItem {
66
66
  @property()
67
67
  target: string = '_self';
68
68
 
69
-
70
-
71
69
  /**
72
70
  * @param source 需要合并的部分参数
73
71
  */
@@ -81,7 +79,6 @@ export class Destination extends LogicItem {
81
79
  return super.from(source, parentNode, parentKey) as Destination;
82
80
  }
83
81
 
84
-
85
82
  /**
86
83
  * 设置viewNamespace
87
84
  */
@@ -133,10 +130,6 @@ export class Destination extends LogicItem {
133
130
  });
134
131
  }
135
132
 
136
-
137
-
138
-
139
-
140
133
  /**
141
134
  * 插入实际参数
142
135
  * @internal
@@ -169,8 +162,6 @@ export class Destination extends LogicItem {
169
162
  return argument;
170
163
  }
171
164
 
172
-
173
-
174
165
  /**
175
166
  * 插入实际参数
176
167
  * @param argumentOptions 实际参数参数
@@ -193,8 +184,6 @@ export class Destination extends LogicItem {
193
184
  return node;
194
185
  }
195
186
 
196
-
197
-
198
187
  /**
199
188
  * 添加实际参数
200
189
  * @internal
@@ -214,8 +203,6 @@ export class Destination extends LogicItem {
214
203
  return this._insertArgumentAt(options as any, index);
215
204
  }
216
205
 
217
-
218
-
219
206
  /**
220
207
  * 添加实际参数
221
208
  * @param argumentOptions 实际参数参数
@@ -239,9 +226,6 @@ export class Destination extends LogicItem {
239
226
  return node;
240
227
  }
241
228
 
242
-
243
-
244
-
245
229
  /**
246
230
  * 删除实际参数
247
231
  * @param argument 已有的实际参数实例
@@ -249,12 +233,10 @@ export class Destination extends LogicItem {
249
233
  removeArgumentInArguments(argument: Argument): void;
250
234
 
251
235
  removeArgumentInArguments(options: Argument) {
252
- let argument: Argument = options;
236
+ const argument: Argument = options;
253
237
  return argument.delete();
254
238
  }
255
239
 
256
-
257
-
258
240
  /**
259
241
  * 删除锚点参数
260
242
  * @param name 锚点参数名称
@@ -339,6 +321,8 @@ export class Destination extends LogicItem {
339
321
  if (this.viewName) {
340
322
  viewArr.push(this.viewName);
341
323
  }
324
+ // 第一个是端名,需要去掉
325
+ viewArr.shift();
342
326
  return viewArr;
343
327
  }
344
328
 
@@ -350,10 +334,16 @@ export class Destination extends LogicItem {
350
334
  url += `/${viewArr.join('/')}`;
351
335
  const completeArguments = this.completeArguments;
352
336
  if (completeArguments.length) {
353
- const args = completeArguments.map((arg) => {
337
+ const node = this.viewNode;
338
+ let logicParam: Param[] = [];
339
+ if (node) {
340
+ logicParam = node.params;
341
+ }
342
+ const logicParamLength = logicParam.length;
343
+ const args = completeArguments.map((arg, index) => {
354
344
  const value = arg?.toVue();
355
345
  let argStr = '';
356
- if (value) {
346
+ if (value && index < logicParamLength) {
357
347
  argStr += `${arg.keyword}=` + '${';
358
348
  if (value === 'undefined') {
359
349
  argStr += `null`;
@@ -384,10 +374,16 @@ export class Destination extends LogicItem {
384
374
  url += `/${viewArr.join('/')}`;
385
375
  const completeArguments = this.completeArguments;
386
376
  if (completeArguments.length) {
387
- const args = completeArguments.map((arg) => {
377
+ const node = this.viewNode;
378
+ let logicParam: Param[] = [];
379
+ if (node) {
380
+ logicParam = node.params;
381
+ }
382
+ const logicParamLength = logicParam.length;
383
+ const args = completeArguments.map((arg, index) => {
388
384
  const value = arg?.toUI();
389
385
  let argStr = '';
390
- if (value) {
386
+ if (value && index < logicParamLength) {
391
387
  argStr += `${arg.keyword}=` + '${';
392
388
  if (value === 'undefined') {
393
389
  argStr += 'null';
@@ -397,7 +393,7 @@ export class Destination extends LogicItem {
397
393
  argStr += '}';
398
394
  }
399
395
  return argStr;
400
- });
396
+ }).filter((arg) => !!arg);
401
397
  url += `?${args.join('&')}`;
402
398
  }
403
399
  if (this.anchor) {
@@ -419,10 +415,16 @@ export class Destination extends LogicItem {
419
415
  const completeArguments = this.completeArguments;
420
416
 
421
417
  if (completeArguments.length) {
422
- const args = completeArguments.map((arg) => {
418
+ const node = this.viewNode;
419
+ let logicParam: Param[] = [];
420
+ if (node) {
421
+ logicParam = node.params;
422
+ }
423
+ const logicParamLength = logicParam.length;
424
+ const args = completeArguments.map((arg, index) => {
423
425
  const value = arg?.toJS();
424
426
  let argStr = '';
425
- if (value) {
427
+ if (value && index < logicParamLength) {
426
428
  argStr += `${arg.keyword}=` + '${';
427
429
  if (value === 'undefined') {
428
430
  argStr += 'null';
@@ -481,26 +483,61 @@ export class Destination extends LogicItem {
481
483
  /**
482
484
  * 设置view的argument
483
485
  */
484
- setViewArgument(view: View) {
485
- const params = view.params;
486
- const argument = this.arguments;
487
- if (params.length > argument.length) {
488
- params.forEach((item) => {
489
- const arg = argument.find((arg) => arg.keyword === item.name);
486
+ addCalleeArg(view: View) {
487
+ const newArgs = this.arguments.map((argument) =>
488
+ Argument.from({
489
+ ...argument,
490
+ }, this));
491
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
492
+ /**
493
+ * 当前两个参数对应上,添加的时候,view会比参数位内容多,就添加一个 argment
494
+ */
495
+ if (view.params.length >= newArgs.length) {
496
+ view.params.forEach((param: Param, index: number) => {
497
+ const arg = newArgs[index];
490
498
  if (!arg) {
491
- this.addArgument({
492
- keyword: item.name,
493
- });
499
+ const newParam = Argument.from({
500
+ keyword: param.name,
501
+ }, this);
502
+ Object.assign(newParam, relationOptions);
503
+ newArgs.push(newParam);
504
+ } else {
505
+ arg.keyword = param.name;
494
506
  }
495
507
  });
496
508
  } else {
497
- argument.forEach((item) => {
498
- const param = params.find((param) => param.name === item.keyword);
499
- if (!param) {
500
- item.delete();
509
+ /**
510
+ * 当前callview上数量比view参数还多,他就需要找一个arg使他变成可用的参数
511
+ */
512
+ newArgs.forEach((arg: Argument, index: number) => {
513
+ const param = view.params[index];
514
+ if (param) {
515
+ arg.keyword = param.name;
501
516
  }
502
517
  });
503
518
  }
519
+ this.update({
520
+ arguments: newArgs,
521
+ });
522
+ }
523
+
524
+ deleteCalleeArg(argIndex: number) {
525
+ /**
526
+ * 传递过下标来,然后直接移动到最后结束
527
+ * 如果原来就是最后一个位置就不移动了
528
+ */
529
+ if (typeof argIndex === 'number') {
530
+ if (!this.arguments[argIndex]?.expression) {
531
+ return this.arguments[argIndex].delete();
532
+ }
533
+ if (argIndex !== this.arguments.length - 1) {
534
+ // 如果本身没有值就直接删除
535
+ this.arguments[argIndex]?.moveNode({
536
+ sourceNode: this.arguments[this.arguments.length - 1],
537
+ position: 'insertAfter',
538
+ });
539
+ }
540
+ }
504
541
  }
505
542
  /**
506
543
  * 设置Arguments的KeyWord
@@ -524,6 +561,9 @@ export class Destination extends LogicItem {
524
561
  }
525
562
  });
526
563
  }
564
+ if (this.viewNode) {
565
+ return `${this.viewNode.frontend.basePath}/${viewNameAttr.join('/')}`;
566
+ }
527
567
  return `/${viewNameAttr.join('/')}`;
528
568
  }
529
569
  @withSourceMap()
@@ -554,13 +594,25 @@ export class Destination extends LogicItem {
554
594
  toEmbeddedTS(state?: TranslatorState): string {
555
595
  let code = '';
556
596
 
597
+ const node = this.viewNode;
598
+ let logicParam: Param[] = [];
599
+ if (node) {
600
+ logicParam = node.params;
601
+ }
602
+ const logicParamLength = logicParam.length;
603
+
557
604
  if (this.parentNode instanceof BindAttribute) {
558
605
  code += indent((state?.tabSize || 0) + 2);
559
606
  if (this.tsCalleeNamespace && this.tsName) {
560
607
  code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
561
608
  if (Array.isArray(this.arguments)) {
562
- this.arguments.forEach((argument: Argument) => {
609
+ this.arguments.forEach((argument: Argument, index) => {
610
+ const oldName = argument.keyword;
611
+ if (index >= logicParamLength) {
612
+ argument.keyword = '__unknown__';
613
+ }
563
614
  code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
615
+ argument.keyword = oldName;
564
616
  });
565
617
  }
566
618
 
@@ -573,8 +625,13 @@ export class Destination extends LogicItem {
573
625
  if (this.tsCalleeNamespace && this.tsName) {
574
626
  code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
575
627
  if (Array.isArray(this.arguments)) {
576
- this.arguments.forEach((argument: Argument) => {
628
+ this.arguments.forEach((argument: Argument, index) => {
629
+ const oldName = argument.keyword;
630
+ if (index >= logicParamLength) {
631
+ argument.keyword = '__unknown__';
632
+ }
577
633
  code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
634
+ argument.keyword = oldName;
578
635
  });
579
636
  }
580
637
 
@@ -589,11 +646,11 @@ export class Destination extends LogicItem {
589
646
  }
590
647
 
591
648
  toBrief(): string {
592
- let q = [];
649
+ const q = [];
593
650
  if (this.anchor?.expression) {
594
651
  q.push(this.anchor.toBrief());
595
652
  }
596
- return this.arguments.map(a => a.toBrief()).concat(q).join('<br />')
653
+ return this.arguments.map((a) => a.toBrief()).concat(q).join('<br />');
597
654
  }
598
655
 
599
656
  @withSourceMap()