@lcap/nasl 2.20.0-beta.1 → 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 (307) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +7 -7
  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 +38 -85
  10. package/out/bak/translator.js.map +1 -1
  11. package/out/common/BaseNode.d.ts +10 -6
  12. package/out/common/BaseNode.js +53 -7
  13. package/out/common/BaseNode.js.map +1 -1
  14. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  15. package/out/concepts/AnonymousFunction__.js +40 -2
  16. package/out/concepts/AnonymousFunction__.js.map +1 -1
  17. package/out/concepts/App__.d.ts +89 -261
  18. package/out/concepts/App__.js +315 -367
  19. package/out/concepts/App__.js.map +1 -1
  20. package/out/concepts/Assignee__.js.map +1 -1
  21. package/out/concepts/AssignmentLine__.d.ts +5 -5
  22. package/out/concepts/AssignmentLine__.js +6 -6
  23. package/out/concepts/AssignmentLine__.js.map +1 -1
  24. package/out/concepts/Assignment__.js +1 -2
  25. package/out/concepts/Assignment__.js.map +1 -1
  26. package/out/concepts/BatchAssignment__.d.ts +62 -60
  27. package/out/concepts/BatchAssignment__.js +113 -42
  28. package/out/concepts/BatchAssignment__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.d.ts +24 -0
  30. package/out/concepts/BindAttribute__.js +54 -4
  31. package/out/concepts/BindAttribute__.js.map +1 -1
  32. package/out/concepts/BindDirective__.d.ts +5 -0
  33. package/out/concepts/BindDirective__.js +6 -0
  34. package/out/concepts/BindDirective__.js.map +1 -1
  35. package/out/concepts/BindEvent__.d.ts +5 -0
  36. package/out/concepts/BindEvent__.js +6 -0
  37. package/out/concepts/BindEvent__.js.map +1 -1
  38. package/out/concepts/BindStyle__.d.ts +7 -2
  39. package/out/concepts/BindStyle__.js +9 -3
  40. package/out/concepts/BindStyle__.js.map +1 -1
  41. package/out/concepts/BooleanLiteral__.js +0 -8
  42. package/out/concepts/BooleanLiteral__.js.map +1 -1
  43. package/out/concepts/CallFunction__.js +90 -38
  44. package/out/concepts/CallFunction__.js.map +1 -1
  45. package/out/concepts/CallInterface__.d.ts +7 -0
  46. package/out/concepts/CallInterface__.js +54 -7
  47. package/out/concepts/CallInterface__.js.map +1 -1
  48. package/out/concepts/CallLogic__.d.ts +2 -1
  49. package/out/concepts/CallLogic__.js +171 -37
  50. package/out/concepts/CallLogic__.js.map +1 -1
  51. package/out/concepts/CallQueryComponent__.js +16 -1
  52. package/out/concepts/CallQueryComponent__.js.map +1 -1
  53. package/out/concepts/CompletionProperty__.js +3 -0
  54. package/out/concepts/CompletionProperty__.js.map +1 -1
  55. package/out/concepts/ConfigGroup__.js.map +1 -1
  56. package/out/concepts/ConfigProperty__.js.map +1 -1
  57. package/out/concepts/Configuration__.js.map +1 -1
  58. package/out/concepts/Constant__.d.ts +5 -0
  59. package/out/concepts/Constant__.js +6 -0
  60. package/out/concepts/Constant__.js.map +1 -1
  61. package/out/concepts/DataSource__.d.ts +8 -0
  62. package/out/concepts/DataSource__.js +96 -1
  63. package/out/concepts/DataSource__.js.map +1 -1
  64. package/out/concepts/Destination__.d.ts +11 -2
  65. package/out/concepts/Destination__.js +156 -51
  66. package/out/concepts/Destination__.js.map +1 -1
  67. package/out/concepts/EntityProperty__.d.ts +21 -8
  68. package/out/concepts/EntityProperty__.js +109 -23
  69. package/out/concepts/EntityProperty__.js.map +1 -1
  70. package/out/concepts/Entity__.d.ts +32 -0
  71. package/out/concepts/Entity__.js +117 -2
  72. package/out/concepts/Entity__.js.map +1 -1
  73. package/out/concepts/Enum__.js +0 -4
  74. package/out/concepts/Enum__.js.map +1 -1
  75. package/out/concepts/Event__.js.map +1 -1
  76. package/out/concepts/ExternalDestination__.d.ts +73 -0
  77. package/out/concepts/ExternalDestination__.js +264 -0
  78. package/out/concepts/ExternalDestination__.js.map +1 -0
  79. package/out/concepts/ForEachStatement__.d.ts +0 -4
  80. package/out/concepts/ForEachStatement__.js +4 -8
  81. package/out/concepts/ForEachStatement__.js.map +1 -1
  82. package/out/concepts/Frontend__.d.ts +370 -0
  83. package/out/concepts/Frontend__.js +669 -0
  84. package/out/concepts/Frontend__.js.map +1 -0
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +1 -0
  87. package/out/concepts/Identifier__.js +33 -10
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.d.ts +8 -0
  90. package/out/concepts/IfStatement__.js +22 -0
  91. package/out/concepts/IfStatement__.js.map +1 -1
  92. package/out/concepts/InterfaceParam__.js.map +1 -1
  93. package/out/concepts/Interface__.js.map +1 -1
  94. package/out/concepts/LogicItem__.d.ts +6 -1
  95. package/out/concepts/LogicItem__.js +6 -0
  96. package/out/concepts/LogicItem__.js.map +1 -1
  97. package/out/concepts/Logic__.d.ts +91 -80
  98. package/out/concepts/Logic__.js +178 -59
  99. package/out/concepts/Logic__.js.map +1 -1
  100. package/out/concepts/MatchCase__.d.ts +1 -1
  101. package/out/concepts/MatchCase__.js +15 -8
  102. package/out/concepts/MatchCase__.js.map +1 -1
  103. package/out/concepts/Match__.d.ts +21 -19
  104. package/out/concepts/Match__.js +118 -26
  105. package/out/concepts/Match__.js.map +1 -1
  106. package/out/concepts/MemberExpression__.d.ts +4 -1
  107. package/out/concepts/MemberExpression__.js +30 -15
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/Module__.js.map +1 -1
  110. package/out/concepts/Namespace__.js.map +1 -1
  111. package/out/concepts/NewComposite__.d.ts +345 -0
  112. package/out/concepts/NewComposite__.js +1068 -0
  113. package/out/concepts/NewComposite__.js.map +1 -0
  114. package/out/concepts/NewList__.d.ts +130 -0
  115. package/out/concepts/NewList__.js +349 -0
  116. package/out/concepts/NewList__.js.map +1 -0
  117. package/out/concepts/NewMap__.d.ts +221 -0
  118. package/out/concepts/NewMap__.js +480 -0
  119. package/out/concepts/NewMap__.js.map +1 -0
  120. package/out/concepts/New__.d.ts +19 -0
  121. package/out/concepts/New__.js +66 -0
  122. package/out/concepts/New__.js.map +1 -0
  123. package/out/concepts/NumericLiteral__.js +1 -1
  124. package/out/concepts/NumericLiteral__.js.map +1 -1
  125. package/out/concepts/OqlQueryComponent__.d.ts +7 -3
  126. package/out/concepts/OqlQueryComponent__.js +56 -95
  127. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  128. package/out/concepts/Param__.d.ts +8 -1
  129. package/out/concepts/Param__.js +85 -6
  130. package/out/concepts/Param__.js.map +1 -1
  131. package/out/concepts/ProcessComponent__.js.map +1 -1
  132. package/out/concepts/ProcessElement__.js +42 -13
  133. package/out/concepts/ProcessElement__.js.map +1 -1
  134. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  135. package/out/concepts/ProcessOutcomes__.js +87 -0
  136. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  137. package/out/concepts/Process__.d.ts +4 -20
  138. package/out/concepts/Process__.js +0 -7
  139. package/out/concepts/Process__.js.map +1 -1
  140. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  141. package/out/concepts/QueryOrderByExpression__.d.ts +3 -3
  142. package/out/concepts/QueryOrderByExpression__.js +3 -3
  143. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  144. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  145. package/out/concepts/Return__.d.ts +5 -0
  146. package/out/concepts/Return__.js +45 -2
  147. package/out/concepts/Return__.js.map +1 -1
  148. package/out/concepts/SelectMembers__.d.ts +1 -1
  149. package/out/concepts/SelectMembers__.js +5 -5
  150. package/out/concepts/SelectMembers__.js.map +1 -1
  151. package/out/concepts/SqlQueryComponent__.d.ts +2 -4
  152. package/out/concepts/SqlQueryComponent__.js +9 -88
  153. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  154. package/out/concepts/StringInterpolation__.d.ts +113 -0
  155. package/out/concepts/StringInterpolation__.js +227 -0
  156. package/out/concepts/StringInterpolation__.js.map +1 -0
  157. package/out/concepts/StringLiteral__.js +0 -7
  158. package/out/concepts/StringLiteral__.js.map +1 -1
  159. package/out/concepts/StructureProperty__.js.map +1 -1
  160. package/out/concepts/Structure__.js.map +1 -1
  161. package/out/concepts/Transactional__.d.ts +5 -0
  162. package/out/concepts/Transactional__.js +6 -0
  163. package/out/concepts/Transactional__.js.map +1 -1
  164. package/out/concepts/TypeAnnotation__.d.ts +4 -0
  165. package/out/concepts/TypeAnnotation__.js +67 -15
  166. package/out/concepts/TypeAnnotation__.js.map +1 -1
  167. package/out/concepts/TypeParam__.d.ts +1 -0
  168. package/out/concepts/TypeParam__.js +2 -0
  169. package/out/concepts/TypeParam__.js.map +1 -1
  170. package/out/concepts/UnaryExpression__.js +6 -9
  171. package/out/concepts/UnaryExpression__.js.map +1 -1
  172. package/out/concepts/ValidationRule__.js +87 -22
  173. package/out/concepts/ValidationRule__.js.map +1 -1
  174. package/out/concepts/Variable__.d.ts +5 -0
  175. package/out/concepts/Variable__.js +46 -3
  176. package/out/concepts/Variable__.js.map +1 -1
  177. package/out/concepts/ViewComponent__.js.map +1 -1
  178. package/out/concepts/ViewElement__.d.ts +35 -29
  179. package/out/concepts/ViewElement__.js +138 -54
  180. package/out/concepts/ViewElement__.js.map +1 -1
  181. package/out/concepts/View__.d.ts +10 -3
  182. package/out/concepts/View__.js +116 -86
  183. package/out/concepts/View__.js.map +1 -1
  184. package/out/concepts/WhileStatement__.js +1 -1
  185. package/out/concepts/WhileStatement__.js.map +1 -1
  186. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  187. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  188. package/out/concepts/basics/stdlib/nasl.browser.js +50 -0
  189. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  190. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  191. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  192. package/out/concepts/basics/stdlib/nasl.ui.js +38 -4
  193. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  194. package/out/concepts/basics/stdlib/nasl.util.js +214 -62
  195. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  196. package/out/concepts/index__.d.ts +9 -0
  197. package/out/concepts/index__.js +9 -0
  198. package/out/concepts/index__.js.map +1 -1
  199. package/out/enums/KEYWORDS.d.ts +1 -0
  200. package/out/enums/KEYWORDS.js +9 -1
  201. package/out/enums/KEYWORDS.js.map +1 -1
  202. package/out/generator/genBundleFiles.d.ts +10 -4
  203. package/out/generator/genBundleFiles.js +127 -162
  204. package/out/generator/genBundleFiles.js.map +1 -1
  205. package/out/generator/genMetaData.d.ts +2 -11
  206. package/out/generator/genMetaData.js +185 -51
  207. package/out/generator/genMetaData.js.map +1 -1
  208. package/out/generator/genReleaseBody.d.ts +57 -0
  209. package/out/generator/genReleaseBody.js +380 -0
  210. package/out/generator/genReleaseBody.js.map +1 -0
  211. package/out/generator/index.d.ts +2 -0
  212. package/out/generator/index.js +2 -0
  213. package/out/generator/index.js.map +1 -1
  214. package/out/generator/permission.d.ts +17 -0
  215. package/out/generator/permission.js +221 -0
  216. package/out/generator/permission.js.map +1 -0
  217. package/out/index.d.ts +3 -2
  218. package/out/index.js +7 -1
  219. package/out/index.js.map +1 -1
  220. package/out/server/entity2LogicNamespace.js +100 -20
  221. package/out/server/entity2LogicNamespace.js.map +1 -1
  222. package/out/server/extendBaseNode.js +33 -20
  223. package/out/server/extendBaseNode.js.map +1 -1
  224. package/out/server/formatTsUtils.d.ts +1 -2
  225. package/out/server/formatTsUtils.js +46 -64
  226. package/out/server/formatTsUtils.js.map +1 -1
  227. package/out/server/getLogics.d.ts +2 -1
  228. package/out/server/getLogics.js +24 -6
  229. package/out/server/getLogics.js.map +1 -1
  230. package/out/server/getMemberIdentifier.js +11 -11
  231. package/out/server/getMemberIdentifier.js.map +1 -1
  232. package/out/server/getProcesses.d.ts +1 -1
  233. package/out/server/getProcesses.js +1 -1
  234. package/out/server/getProcesses.js.map +1 -1
  235. package/out/server/index.d.ts +0 -1
  236. package/out/server/index.js +2 -27
  237. package/out/server/index.js.map +1 -1
  238. package/out/server/naslServer.d.ts +50 -8
  239. package/out/server/naslServer.js +816 -429
  240. package/out/server/naslServer.js.map +1 -1
  241. package/out/server/naslStdlibMap.js +30 -28
  242. package/out/server/naslStdlibMap.js.map +1 -1
  243. package/out/server/process2LogicNamespace.js +8 -0
  244. package/out/server/process2LogicNamespace.js.map +1 -1
  245. package/out/server/translator.js +90 -12
  246. package/out/server/translator.js.map +1 -1
  247. package/out/service/creator/add.configs.js +4 -0
  248. package/out/service/creator/add.configs.js.map +1 -1
  249. package/out/service/datasource/api.d.ts +12 -0
  250. package/out/service/datasource/api.js +14 -0
  251. package/out/service/datasource/api.js.map +1 -0
  252. package/out/service/datasource/index.d.ts +2 -0
  253. package/out/service/datasource/index.js +10 -0
  254. package/out/service/datasource/index.js.map +1 -0
  255. package/out/service/defaultErrorMessage.json +97 -0
  256. package/out/service/logic/api.d.ts +9 -0
  257. package/out/service/logic/api.js +11 -0
  258. package/out/service/logic/api.js.map +1 -0
  259. package/out/service/logic/index.d.ts +2 -0
  260. package/out/service/logic/index.js +10 -0
  261. package/out/service/logic/index.js.map +1 -0
  262. package/out/service/storage/init.js +48 -7
  263. package/out/service/storage/init.js.map +1 -1
  264. package/out/templator/genCreateBlock.js +6 -4
  265. package/out/templator/genCreateBlock.js.map +1 -1
  266. package/out/templator/genCurdEditMultipleKeyBlock.js +7 -4
  267. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  268. package/out/templator/genCurdMultipleKeyBlock.js +7 -5
  269. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  270. package/out/templator/genEditTableBlock.js +4 -5
  271. package/out/templator/genEditTableBlock.js.map +1 -1
  272. package/out/templator/genEnumSelectBlock.js +5 -2
  273. package/out/templator/genEnumSelectBlock.js.map +1 -1
  274. package/out/templator/genGetBlock.js +4 -3
  275. package/out/templator/genGetBlock.js.map +1 -1
  276. package/out/templator/genGridViewBlock.js +18 -16
  277. package/out/templator/genGridViewBlock.js.map +1 -1
  278. package/out/templator/genListViewBlock.js +7 -7
  279. package/out/templator/genListViewBlock.js.map +1 -1
  280. package/out/templator/genQueryComponent.d.ts +2 -2
  281. package/out/templator/genQueryComponent.js +4 -1
  282. package/out/templator/genQueryComponent.js.map +1 -1
  283. package/out/templator/genTableBlock.js +8 -12
  284. package/out/templator/genTableBlock.js.map +1 -1
  285. package/out/templator/genUpdateBlock.js +4 -3
  286. package/out/templator/genUpdateBlock.js.map +1 -1
  287. package/out/templator/utils.js +1 -1
  288. package/out/templator/utils.js.map +1 -1
  289. package/out/test/integration/node-nasl-server.js +10 -38
  290. package/out/test/integration/node-nasl-server.js.map +1 -1
  291. package/out/translator/index.d.ts +1 -0
  292. package/out/translator/index.js +1 -1
  293. package/out/translator/index.js.map +1 -1
  294. package/out/utils/index.d.ts +1 -0
  295. package/out/utils/index.js +38 -1
  296. package/out/utils/index.js.map +1 -1
  297. package/out/utils/string.d.ts +15 -2
  298. package/out/utils/string.js +18 -3
  299. package/out/utils/string.js.map +1 -1
  300. package/package.json +1 -1
  301. package/src/concepts/App__.ts +11 -36
  302. package/src/concepts/Frontend__.ts +8 -0
  303. package/src/concepts/ViewElement__.ts +7 -28
  304. package/src/concepts/View__.ts +1 -1
  305. package/src/server/getLogics.ts +2 -2
  306. package/src/server/naslServer.ts +8 -8
  307. package/src/service/storage/init.ts +3 -4
@@ -70,6 +70,10 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
70
70
  * 锚点参数
71
71
  */
72
72
  anchor = undefined;
73
+ /**
74
+ * target
75
+ */
76
+ target = '_self';
73
77
  /**
74
78
  * @param source 需要合并的部分参数
75
79
  */
@@ -117,6 +121,17 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
117
121
  ...object,
118
122
  });
119
123
  }
124
+ /**
125
+ * 设置target
126
+ */
127
+ setTarget(target) {
128
+ const object = {
129
+ target,
130
+ };
131
+ this.update({
132
+ ...object,
133
+ });
134
+ }
120
135
  _insertArgumentAt(options, index) {
121
136
  const argumentOptions = {};
122
137
  const relationOptions = { parentNode: this, parentKey: 'arguments' };
@@ -159,7 +174,7 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
159
174
  return node;
160
175
  }
161
176
  removeArgumentInArguments(options) {
162
- let argument = options;
177
+ const argument = options;
163
178
  return argument.delete();
164
179
  }
165
180
  removeAnchor(options) {
@@ -231,6 +246,8 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
231
246
  if (this.viewName) {
232
247
  viewArr.push(this.viewName);
233
248
  }
249
+ // 第一个是端名,需要去掉
250
+ viewArr.shift();
234
251
  return viewArr;
235
252
  }
236
253
  toVue(options) {
@@ -241,11 +258,24 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
241
258
  url += `/${viewArr.join('/')}`;
242
259
  const completeArguments = this.completeArguments;
243
260
  if (completeArguments.length) {
244
- const args = completeArguments.map((arg) => {
261
+ const node = this.viewNode;
262
+ let logicParam = [];
263
+ if (node) {
264
+ logicParam = node.params;
265
+ }
266
+ const logicParamLength = logicParam.length;
267
+ const args = completeArguments.map((arg, index) => {
245
268
  const value = arg?.toVue();
246
269
  let argStr = '';
247
- if (value) {
248
- argStr += `${arg.keyword}=` + '${' + `${value}` + '}';
270
+ if (value && index < logicParamLength) {
271
+ argStr += `${arg.keyword}=` + '${';
272
+ if (value === 'undefined') {
273
+ argStr += `null`;
274
+ }
275
+ else {
276
+ argStr += value;
277
+ }
278
+ argStr += '}';
249
279
  }
250
280
  return argStr;
251
281
  }).filter((arg) => !!arg);
@@ -268,7 +298,27 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
268
298
  url += `/${viewArr.join('/')}`;
269
299
  const completeArguments = this.completeArguments;
270
300
  if (completeArguments.length) {
271
- const args = completeArguments.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toUI()}` + '}');
301
+ const node = this.viewNode;
302
+ let logicParam = [];
303
+ if (node) {
304
+ logicParam = node.params;
305
+ }
306
+ const logicParamLength = logicParam.length;
307
+ const args = completeArguments.map((arg, index) => {
308
+ const value = arg?.toUI();
309
+ let argStr = '';
310
+ if (value && index < logicParamLength) {
311
+ argStr += `${arg.keyword}=` + '${';
312
+ if (value === 'undefined') {
313
+ argStr += 'null';
314
+ }
315
+ else {
316
+ argStr += value;
317
+ }
318
+ argStr += '}';
319
+ }
320
+ return argStr;
321
+ }).filter((arg) => !!arg);
272
322
  url += `?${args.join('&')}`;
273
323
  }
274
324
  if (this.anchor) {
@@ -288,11 +338,24 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
288
338
  url += `/${viewArr.join('/')}`;
289
339
  const completeArguments = this.completeArguments;
290
340
  if (completeArguments.length) {
291
- const args = completeArguments.map((arg) => {
341
+ const node = this.viewNode;
342
+ let logicParam = [];
343
+ if (node) {
344
+ logicParam = node.params;
345
+ }
346
+ const logicParamLength = logicParam.length;
347
+ const args = completeArguments.map((arg, index) => {
292
348
  const value = arg?.toJS();
293
349
  let argStr = '';
294
- if (value) {
295
- argStr += `${arg.keyword}=` + '${' + `${value}` + '}';
350
+ if (value && index < logicParamLength) {
351
+ argStr += `${arg.keyword}=` + '${';
352
+ if (value === 'undefined') {
353
+ argStr += 'null';
354
+ }
355
+ else {
356
+ argStr += value;
357
+ }
358
+ argStr += '}';
296
359
  }
297
360
  return argStr;
298
361
  }).filter((arg) => !!arg);
@@ -303,10 +366,19 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
303
366
  if (anchor)
304
367
  url += `#\${${anchor}}`;
305
368
  }
306
- url += '`)';
369
+ url += '`,"';
370
+ url += `${this.target}`;
371
+ url += '")';
307
372
  }
308
373
  return url;
309
374
  }
375
+ static getDefaultOptions() {
376
+ return {
377
+ anchor: {
378
+ concept: 'Anchor',
379
+ },
380
+ };
381
+ }
310
382
  /**
311
383
  * 设置view
312
384
  */
@@ -332,27 +404,61 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
332
404
  /**
333
405
  * 设置view的argument
334
406
  */
335
- setViewArgument(view) {
336
- const params = view.params;
337
- const argument = this.arguments;
338
- if (params.length > argument.length) {
339
- params.forEach((item) => {
340
- const arg = argument.find((arg) => arg.keyword === item.name);
407
+ addCalleeArg(view) {
408
+ const newArgs = this.arguments.map((argument) => Argument__1.default.from({
409
+ ...argument,
410
+ }, this));
411
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
412
+ /**
413
+ * 当前两个参数对应上,添加的时候,view会比参数位内容多,就添加一个 argment
414
+ */
415
+ if (view.params.length >= newArgs.length) {
416
+ view.params.forEach((param, index) => {
417
+ const arg = newArgs[index];
341
418
  if (!arg) {
342
- this.addArgument({
343
- keyword: item.name,
344
- });
419
+ const newParam = Argument__1.default.from({
420
+ keyword: param.name,
421
+ }, this);
422
+ Object.assign(newParam, relationOptions);
423
+ newArgs.push(newParam);
424
+ }
425
+ else {
426
+ arg.keyword = param.name;
345
427
  }
346
428
  });
347
429
  }
348
430
  else {
349
- argument.forEach((item) => {
350
- const param = params.find((param) => param.name === item.keyword);
351
- if (!param) {
352
- item.delete();
431
+ /**
432
+ * 当前callview上数量比view参数还多,他就需要找一个arg使他变成可用的参数
433
+ */
434
+ newArgs.forEach((arg, index) => {
435
+ const param = view.params[index];
436
+ if (param) {
437
+ arg.keyword = param.name;
353
438
  }
354
439
  });
355
440
  }
441
+ this.update({
442
+ arguments: newArgs,
443
+ });
444
+ }
445
+ deleteCalleeArg(argIndex) {
446
+ /**
447
+ * 传递过下标来,然后直接移动到最后结束
448
+ * 如果原来就是最后一个位置就不移动了
449
+ */
450
+ if (typeof argIndex === 'number') {
451
+ if (!this.arguments[argIndex]?.expression) {
452
+ return this.arguments[argIndex].delete();
453
+ }
454
+ if (argIndex !== this.arguments.length - 1) {
455
+ // 如果本身没有值就直接删除
456
+ this.arguments[argIndex]?.moveNode({
457
+ sourceNode: this.arguments[this.arguments.length - 1],
458
+ position: 'insertAfter',
459
+ });
460
+ }
461
+ }
356
462
  }
357
463
  /**
358
464
  * 设置Arguments的KeyWord
@@ -375,6 +481,9 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
375
481
  }
376
482
  });
377
483
  }
484
+ if (this.viewNode) {
485
+ return `${this.viewNode.frontend.basePath}/${viewNameAttr.join('/')}`;
486
+ }
378
487
  return `/${viewNameAttr.join('/')}`;
379
488
  }
380
489
  toEmbeddedTSInProcess(state, prependCode) {
@@ -402,13 +511,24 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
402
511
  }
403
512
  toEmbeddedTS(state) {
404
513
  let code = '';
514
+ const node = this.viewNode;
515
+ let logicParam = [];
516
+ if (node) {
517
+ logicParam = node.params;
518
+ }
519
+ const logicParamLength = logicParam.length;
405
520
  if (this.parentNode instanceof __1.BindAttribute) {
406
521
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
407
522
  if (this.tsCalleeNamespace && this.tsName) {
408
523
  code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
409
524
  if (Array.isArray(this.arguments)) {
410
- this.arguments.forEach((argument) => {
525
+ this.arguments.forEach((argument, index) => {
526
+ const oldName = argument.keyword;
527
+ if (index >= logicParamLength) {
528
+ argument.keyword = '__unknown__';
529
+ }
411
530
  code += argument.toEmbeddedTS((0, translator_1.shiftState)(state, code), false, true) + ', ';
531
+ argument.keyword = oldName;
412
532
  });
413
533
  }
414
534
  code += this.anchor?.toEmbeddedTS((0, translator_1.shiftState)(state, code), true) || '';
@@ -420,8 +540,13 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
420
540
  if (this.tsCalleeNamespace && this.tsName) {
421
541
  code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
422
542
  if (Array.isArray(this.arguments)) {
423
- this.arguments.forEach((argument) => {
543
+ this.arguments.forEach((argument, index) => {
544
+ const oldName = argument.keyword;
545
+ if (index >= logicParamLength) {
546
+ argument.keyword = '__unknown__';
547
+ }
424
548
  code += argument.toEmbeddedTS((0, translator_1.shiftState)(state, code), false, true) + ', ';
549
+ argument.keyword = oldName;
425
550
  });
426
551
  }
427
552
  code += this.anchor?.toEmbeddedTS((0, translator_1.shiftState)(state, code), true) || '';
@@ -434,11 +559,11 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
434
559
  }
435
560
  }
436
561
  toBrief() {
437
- let q = [];
438
- if (this.anchor) {
562
+ const q = [];
563
+ if (this.anchor?.expression) {
439
564
  q.push(this.anchor.toBrief());
440
565
  }
441
- return this.arguments.map(a => a.toBrief()).concat(q).join('<br />');
566
+ return this.arguments.map((a) => a.toBrief()).concat(q).join('<br />');
442
567
  }
443
568
  toEmbeddedTSNormalFunction(state) {
444
569
  let code = `let ${utils.firstLowerCase(this.concept)} = function() {\n`;
@@ -468,31 +593,8 @@ let Destination = Destination_1 = class Destination extends LogicItem__1.default
468
593
  get calleewholeKey() {
469
594
  return this.viewNamespace + '.' + this.viewName;
470
595
  }
471
- // 通过内容过去节点
472
- getCallNode() {
473
- let node;
474
- // 如果是其余app下自定义逻辑
475
- try {
476
- node = (0, utils_1.getNodeByNodeCallee)(this.app, this.calleewholeKey, (key, tempPoint) => {
477
- // 处理 NASL 中未定义的假的节点
478
- if (key === tempPoint.name) {
479
- return {
480
- tempPoint,
481
- state: 1,
482
- };
483
- }
484
- const t = tempPoint[key];
485
- return {
486
- tempPoint: t,
487
- state: Array.isArray(t) ? 2 : 1,
488
- };
489
- });
490
- }
491
- catch (err) { }
492
- return node;
493
- }
494
596
  get completeArguments() {
495
- const node = this.getCallNode();
597
+ const node = this.viewNode;
496
598
  let logicParam = [];
497
599
  const Arguments = [];
498
600
  if (node) {
@@ -532,6 +634,9 @@ __decorate([
532
634
  __decorate([
533
635
  (0, decorators_1.property)('Anchor')
534
636
  ], Destination.prototype, "anchor", void 0);
637
+ __decorate([
638
+ (0, decorators_1.property)()
639
+ ], Destination.prototype, "target", void 0);
535
640
  __decorate([
536
641
  (0, translator_1.withSourceMap)()
537
642
  ], Destination.prototype, "toEmbeddedTSInProcess", null);
@@ -1 +1 @@
1
- {"version":3,"file":"Destination__.js","sourceRoot":"","sources":["../../src/concepts/Destination__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Destination__.js","sourceRoot":"","sources":["../../src/concepts/Destination__.ts"],"names":[],"mappings":"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"}
@@ -111,14 +111,6 @@ export declare class EntityProperty extends BaseNode {
111
111
  * @internal
112
112
  */
113
113
  _delete(): Params;
114
- /**
115
- * 设置实体属性名称
116
- */
117
- setName(name: string): void;
118
- /**
119
- * 设置数据库列名
120
- */
121
- setColumnName(columnName: string): void;
122
114
  /**
123
115
  * 设置实体属性标题
124
116
  */
@@ -154,6 +146,14 @@ export declare class EntityProperty extends BaseNode {
154
146
  */
155
147
  removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
156
148
  __removeTypeAnnotation(typeAnnotation: TypeAnnotation): Params;
149
+ /**
150
+ * 设置实体属性名称
151
+ */
152
+ setName(name: string): void;
153
+ /**
154
+ * 设置数据库列名
155
+ */
156
+ setColumnName(columnName: string): void;
157
157
  get hasChildren(): {}[];
158
158
  get isTreeLeaf(): boolean;
159
159
  /**
@@ -172,6 +172,19 @@ export declare class EntityProperty extends BaseNode {
172
172
  [name: string]: boolean;
173
173
  }): void;
174
174
  setDeleteRule(deleteRule: string): void;
175
+ /**
176
+ * 根据全局设置中的数据库命名规则,生成 属性列名
177
+ */
178
+ genFormatColumnName(): any;
179
+ /**
180
+ * 根据全局设置中的数据库命名规则,将 属性列名 重命名
181
+ * 此方法不会 update
182
+ */
183
+ __formatColumnName(): void;
184
+ /**
185
+ * 根据全局设置中的数据库命名规则,将 属性列名 重命名
186
+ */
187
+ formatColumnName(): void;
175
188
  toEmbeddedTS(state?: TranslatorState): string;
176
189
  /**
177
190
  * 设置数据类型
@@ -1,10 +1,33 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
23
  };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
8
31
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
32
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
33
  };
@@ -16,6 +39,7 @@ const translator_1 = require("../translator");
16
39
  const utils_1 = require("../automate/engine/utils");
17
40
  const StructureProperty__1 = __importDefault(require("./StructureProperty__"));
18
41
  const decorators_1 = require("../decorators");
42
+ const utils = __importStar(require("../utils"));
19
43
  const uuid_1 = require("uuid");
20
44
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
21
45
  const classMap_1 = __importDefault(require("../common/classMap"));
@@ -146,29 +170,6 @@ let EntityProperty = EntityProperty_1 = class EntityProperty extends BaseNode_1.
146
170
  }
147
171
  return params;
148
172
  }
149
- /**
150
- * 设置实体属性名称
151
- */
152
- setName(name) {
153
- const object = {
154
- name,
155
- };
156
- this.update({
157
- ...object,
158
- field: 'name',
159
- });
160
- }
161
- /**
162
- * 设置数据库列名
163
- */
164
- setColumnName(columnName) {
165
- const object = {
166
- columnName,
167
- };
168
- this.update({
169
- ...object,
170
- });
171
- }
172
173
  /**
173
174
  * 设置实体属性标题
174
175
  */
@@ -275,6 +276,52 @@ let EntityProperty = EntityProperty_1 = class EntityProperty extends BaseNode_1.
275
276
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
276
277
  // 自动生成的代码已结束。下面可以手动编写。
277
278
  //================================================================================
279
+ /**
280
+ * 设置实体属性名称
281
+ */
282
+ setName(name) {
283
+ const object = {
284
+ name,
285
+ };
286
+ // 列名为初始化时需赋值为属性名,同时需要与其他列名中去重
287
+ if (this.__columnNameInit === false) {
288
+ delete this.__columnNameInit;
289
+ const columnNames = this.parentNode.properties.filter((item) => item !== this).map((item) => item.columnName);
290
+ const columnName = utils.unique(name, columnNames, undefined, false);
291
+ object.columnName = columnName;
292
+ this.update({
293
+ ...object,
294
+ field: 'name',
295
+ });
296
+ return;
297
+ }
298
+ // 根据 name 格式化列名
299
+ const oldName = this.name;
300
+ const oldColumnName = this.columnName;
301
+ this.name = name;
302
+ this.columnName = name;
303
+ this.__formatColumnName();
304
+ if (this.columnName !== oldColumnName && !this.parentNode.isIgnoreFormatTableAndColumnName()) {
305
+ object.columnName = this.columnName;
306
+ }
307
+ this.name = oldName;
308
+ this.columnName = oldColumnName;
309
+ this.update({
310
+ ...object,
311
+ field: 'name',
312
+ });
313
+ }
314
+ /**
315
+ * 设置数据库列名
316
+ */
317
+ setColumnName(columnName) {
318
+ const object = {
319
+ columnName,
320
+ };
321
+ this.update({
322
+ ...object,
323
+ });
324
+ }
278
325
  get hasChildren() {
279
326
  const { typeKind, typeNamespace } = this.typeAnnotation;
280
327
  if (typeKind === 'reference' || typeKind === 'generic') {
@@ -363,6 +410,45 @@ let EntityProperty = EntityProperty_1 = class EntityProperty extends BaseNode_1.
363
410
  ...object,
364
411
  });
365
412
  }
413
+ /**
414
+ * 根据全局设置中的数据库命名规则,生成 属性列名
415
+ */
416
+ genFormatColumnName() {
417
+ return this.parentNode.genFormatPropertyColumnName(this);
418
+ }
419
+ /**
420
+ * 根据全局设置中的数据库命名规则,将 属性列名 重命名
421
+ * 此方法不会 update
422
+ */
423
+ __formatColumnName() {
424
+ const parentNode = this.parentNode;
425
+ if (parentNode.isIgnoreFormatTableAndColumnName()) {
426
+ // if (!this.columnName) {
427
+ // this.columnName = this.name;
428
+ // }
429
+ return;
430
+ }
431
+ const newColumnName = this.genFormatColumnName();
432
+ if (newColumnName && (!this.columnName || (this.columnName && newColumnName !== this.columnName))) {
433
+ this.columnName = newColumnName;
434
+ }
435
+ }
436
+ /**
437
+ * 根据全局设置中的数据库命名规则,将 属性列名 重命名
438
+ */
439
+ formatColumnName() {
440
+ const parentNode = this.parentNode;
441
+ if (parentNode.isIgnoreFormatTableAndColumnName()) {
442
+ // if (!this.columnName) {
443
+ // this.setColumnName(this.name);
444
+ // }
445
+ return;
446
+ }
447
+ const newColumnName = this.genFormatColumnName();
448
+ if (newColumnName && (!this.columnName || (this.columnName && newColumnName !== this.columnName))) {
449
+ this.setColumnName(newColumnName);
450
+ }
451
+ }
366
452
  toEmbeddedTS(state) {
367
453
  let code = '';
368
454
  if (this.relationNamespace && this.relationEntity && this.relationProperty) {