@lcap/nasl 2.18.0-beta.7 → 2.20.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/out/automate/engine/index.js +3 -3
  2. package/out/automate/engine/index.js.map +1 -1
  3. package/out/bak/translator.js +85 -37
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/BaseNode.d.ts +6 -10
  6. package/out/common/BaseNode.js +7 -53
  7. package/out/common/BaseNode.js.map +1 -1
  8. package/out/concepts/AnonymousFunction__.js.map +1 -1
  9. package/out/concepts/App__.d.ts +0 -10
  10. package/out/concepts/App__.js +0 -74
  11. package/out/concepts/App__.js.map +1 -1
  12. package/out/concepts/Assignee__.js.map +1 -1
  13. package/out/concepts/AssignmentLine__.d.ts +5 -5
  14. package/out/concepts/AssignmentLine__.js +6 -6
  15. package/out/concepts/AssignmentLine__.js.map +1 -1
  16. package/out/concepts/Assignment__.js +2 -1
  17. package/out/concepts/Assignment__.js.map +1 -1
  18. package/out/concepts/BatchAssignment__.d.ts +60 -60
  19. package/out/concepts/BatchAssignment__.js +41 -68
  20. package/out/concepts/BatchAssignment__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.d.ts +0 -19
  22. package/out/concepts/BindAttribute__.js +2 -39
  23. package/out/concepts/BindAttribute__.js.map +1 -1
  24. package/out/concepts/BindEvent__.js.map +1 -1
  25. package/out/concepts/BindStyle__.d.ts +2 -2
  26. package/out/concepts/BindStyle__.js +3 -3
  27. package/out/concepts/BindStyle__.js.map +1 -1
  28. package/out/concepts/BooleanLiteral__.js +8 -0
  29. package/out/concepts/BooleanLiteral__.js.map +1 -1
  30. package/out/concepts/CallFunction__.js +25 -58
  31. package/out/concepts/CallFunction__.js.map +1 -1
  32. package/out/concepts/CallInterface__.d.ts +0 -7
  33. package/out/concepts/CallInterface__.js +7 -53
  34. package/out/concepts/CallInterface__.js.map +1 -1
  35. package/out/concepts/CallLogic__.d.ts +1 -2
  36. package/out/concepts/CallLogic__.js +25 -89
  37. package/out/concepts/CallLogic__.js.map +1 -1
  38. package/out/concepts/CallQueryComponent__.js +1 -13
  39. package/out/concepts/CallQueryComponent__.js.map +1 -1
  40. package/out/concepts/CompletionProperty__.js +0 -3
  41. package/out/concepts/CompletionProperty__.js.map +1 -1
  42. package/out/concepts/ConfigGroup__.js.map +1 -1
  43. package/out/concepts/ConfigProperty__.js.map +1 -1
  44. package/out/concepts/Configuration__.js.map +1 -1
  45. package/out/concepts/DataSource__.d.ts +0 -6
  46. package/out/concepts/DataSource__.js +0 -41
  47. package/out/concepts/DataSource__.js.map +1 -1
  48. package/out/concepts/Destination__.d.ts +2 -11
  49. package/out/concepts/Destination__.js +48 -148
  50. package/out/concepts/Destination__.js.map +1 -1
  51. package/out/concepts/EntityProperty__.d.ts +8 -21
  52. package/out/concepts/EntityProperty__.js +23 -109
  53. package/out/concepts/EntityProperty__.js.map +1 -1
  54. package/out/concepts/Entity__.d.ts +0 -32
  55. package/out/concepts/Entity__.js +2 -117
  56. package/out/concepts/Entity__.js.map +1 -1
  57. package/out/concepts/Enum__.js +4 -0
  58. package/out/concepts/Enum__.js.map +1 -1
  59. package/out/concepts/Event__.js.map +1 -1
  60. package/out/concepts/ForEachStatement__.d.ts +4 -0
  61. package/out/concepts/ForEachStatement__.js +8 -4
  62. package/out/concepts/ForEachStatement__.js.map +1 -1
  63. package/out/concepts/Function__.js.map +1 -1
  64. package/out/concepts/Identifier__.js +4 -16
  65. package/out/concepts/Identifier__.js.map +1 -1
  66. package/out/concepts/IfStatement__.d.ts +0 -8
  67. package/out/concepts/IfStatement__.js +0 -22
  68. package/out/concepts/IfStatement__.js.map +1 -1
  69. package/out/concepts/InterfaceParam__.js.map +1 -1
  70. package/out/concepts/Interface__.js.map +1 -1
  71. package/out/concepts/LogicItem__.d.ts +1 -1
  72. package/out/concepts/LogicItem__.js.map +1 -1
  73. package/out/concepts/Logic__.d.ts +1 -6
  74. package/out/concepts/Logic__.js +50 -150
  75. package/out/concepts/Logic__.js.map +1 -1
  76. package/out/concepts/MatchCase__.d.ts +1 -1
  77. package/out/concepts/MatchCase__.js +8 -15
  78. package/out/concepts/MatchCase__.js.map +1 -1
  79. package/out/concepts/Match__.d.ts +19 -21
  80. package/out/concepts/Match__.js +25 -112
  81. package/out/concepts/Match__.js.map +1 -1
  82. package/out/concepts/MemberExpression__.d.ts +1 -4
  83. package/out/concepts/MemberExpression__.js +15 -30
  84. package/out/concepts/MemberExpression__.js.map +1 -1
  85. package/out/concepts/Module__.js.map +1 -1
  86. package/out/concepts/Namespace__.js.map +1 -1
  87. package/out/concepts/NumericLiteral__.js +1 -1
  88. package/out/concepts/NumericLiteral__.js.map +1 -1
  89. package/out/concepts/OqlQueryComponent__.d.ts +3 -7
  90. package/out/concepts/OqlQueryComponent__.js +95 -56
  91. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  92. package/out/concepts/Param__.d.ts +1 -1
  93. package/out/concepts/Param__.js +4 -40
  94. package/out/concepts/Param__.js.map +1 -1
  95. package/out/concepts/ProcessComponent__.js.map +1 -1
  96. package/out/concepts/ProcessElement__.js.map +1 -1
  97. package/out/concepts/Process__.js.map +1 -1
  98. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  99. package/out/concepts/QueryOrderByExpression__.d.ts +3 -3
  100. package/out/concepts/QueryOrderByExpression__.js +3 -3
  101. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  102. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  103. package/out/concepts/Return__.js +2 -38
  104. package/out/concepts/Return__.js.map +1 -1
  105. package/out/concepts/SelectMembers__.d.ts +1 -1
  106. package/out/concepts/SelectMembers__.js +2 -2
  107. package/out/concepts/SelectMembers__.js.map +1 -1
  108. package/out/concepts/SqlQueryComponent__.d.ts +4 -2
  109. package/out/concepts/SqlQueryComponent__.js +88 -9
  110. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  111. package/out/concepts/StringLiteral__.js +7 -0
  112. package/out/concepts/StringLiteral__.js.map +1 -1
  113. package/out/concepts/StructureProperty__.js.map +1 -1
  114. package/out/concepts/Structure__.js.map +1 -1
  115. package/out/concepts/TypeAnnotation__.d.ts +0 -1
  116. package/out/concepts/TypeAnnotation__.js +12 -25
  117. package/out/concepts/TypeAnnotation__.js.map +1 -1
  118. package/out/concepts/TypeParam__.d.ts +0 -1
  119. package/out/concepts/TypeParam__.js +0 -2
  120. package/out/concepts/TypeParam__.js.map +1 -1
  121. package/out/concepts/UnaryExpression__.js +9 -6
  122. package/out/concepts/UnaryExpression__.js.map +1 -1
  123. package/out/concepts/ValidationRule__.js +23 -88
  124. package/out/concepts/ValidationRule__.js.map +1 -1
  125. package/out/concepts/Variable__.js +2 -38
  126. package/out/concepts/Variable__.js.map +1 -1
  127. package/out/concepts/ViewComponent__.js.map +1 -1
  128. package/out/concepts/ViewElement__.d.ts +29 -30
  129. package/out/concepts/ViewElement__.js +52 -118
  130. package/out/concepts/ViewElement__.js.map +1 -1
  131. package/out/concepts/View__.d.ts +3 -4
  132. package/out/concepts/View__.js +83 -97
  133. package/out/concepts/View__.js.map +1 -1
  134. package/out/concepts/WhileStatement__.js +1 -1
  135. package/out/concepts/WhileStatement__.js.map +1 -1
  136. package/out/concepts/basics/stdlib/nasl.browser.js +0 -50
  137. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  138. package/out/concepts/basics/stdlib/nasl.ui.js +4 -36
  139. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  140. package/out/concepts/basics/stdlib/nasl.util.js +43 -63
  141. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  142. package/out/concepts/index__.d.ts +0 -2
  143. package/out/concepts/index__.js +0 -2
  144. package/out/concepts/index__.js.map +1 -1
  145. package/out/generator/genBundleFiles.d.ts +2 -5
  146. package/out/generator/genBundleFiles.js +155 -108
  147. package/out/generator/genBundleFiles.js.map +1 -1
  148. package/out/generator/genMetaData.d.ts +10 -1
  149. package/out/generator/genMetaData.js +50 -189
  150. package/out/generator/genMetaData.js.map +1 -1
  151. package/out/generator/index.d.ts +0 -1
  152. package/out/generator/index.js +0 -1
  153. package/out/generator/index.js.map +1 -1
  154. package/out/index.d.ts +2 -3
  155. package/out/index.js +1 -5
  156. package/out/index.js.map +1 -1
  157. package/out/server/entity2LogicNamespace.js +11 -11
  158. package/out/server/entity2LogicNamespace.js.map +1 -1
  159. package/out/server/extendBaseNode.js +18 -4
  160. package/out/server/extendBaseNode.js.map +1 -1
  161. package/out/server/formatTsUtils.d.ts +2 -1
  162. package/out/server/formatTsUtils.js +64 -40
  163. package/out/server/formatTsUtils.js.map +1 -1
  164. package/out/server/getLogics.js +6 -13
  165. package/out/server/getLogics.js.map +1 -1
  166. package/out/server/getMemberIdentifier.js +7 -7
  167. package/out/server/getMemberIdentifier.js.map +1 -1
  168. package/out/server/getProcesses.d.ts +1 -1
  169. package/out/server/getProcesses.js +1 -1
  170. package/out/server/getProcesses.js.map +1 -1
  171. package/out/server/index.d.ts +1 -0
  172. package/out/server/index.js +27 -2
  173. package/out/server/index.js.map +1 -1
  174. package/out/server/naslServer.d.ts +7 -47
  175. package/out/server/naslServer.js +399 -604
  176. package/out/server/naslServer.js.map +1 -1
  177. package/out/server/naslStdlibMap.js +28 -30
  178. package/out/server/naslStdlibMap.js.map +1 -1
  179. package/out/server/translator.js +11 -59
  180. package/out/server/translator.js.map +1 -1
  181. package/out/service/storage/init.js +3 -33
  182. package/out/service/storage/init.js.map +1 -1
  183. package/out/templator/genCreateBlock.js +4 -6
  184. package/out/templator/genCreateBlock.js.map +1 -1
  185. package/out/templator/genCurdEditMultipleKeyBlock.js +4 -7
  186. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  187. package/out/templator/genCurdMultipleKeyBlock.js +5 -7
  188. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  189. package/out/templator/genEnumSelectBlock.js +2 -5
  190. package/out/templator/genEnumSelectBlock.js.map +1 -1
  191. package/out/templator/genGridViewBlock.js +2 -2
  192. package/out/templator/genGridViewBlock.js.map +1 -1
  193. package/out/templator/genListViewBlock.js +2 -2
  194. package/out/templator/genListViewBlock.js.map +1 -1
  195. package/out/templator/genQueryComponent.d.ts +2 -2
  196. package/out/templator/genQueryComponent.js +1 -4
  197. package/out/templator/genQueryComponent.js.map +1 -1
  198. package/out/templator/genTableBlock.js +2 -2
  199. package/out/templator/genTableBlock.js.map +1 -1
  200. package/out/templator/genUpdateBlock.js +3 -4
  201. package/out/templator/genUpdateBlock.js.map +1 -1
  202. package/out/templator/utils.js +1 -1
  203. package/out/templator/utils.js.map +1 -1
  204. package/out/test/integration/node-nasl-server.js +38 -10
  205. package/out/test/integration/node-nasl-server.js.map +1 -1
  206. package/out/translator/index.d.ts +0 -1
  207. package/out/translator/index.js +1 -1
  208. package/out/translator/index.js.map +1 -1
  209. package/out/utils/index.d.ts +0 -1
  210. package/out/utils/index.js +1 -38
  211. package/out/utils/index.js.map +1 -1
  212. package/out/utils/string.d.ts +2 -15
  213. package/out/utils/string.js +3 -18
  214. package/out/utils/string.js.map +1 -1
  215. package/package.json +2 -2
  216. package/sandbox/stdlib/nasl.auth.ts +1 -1
  217. package/sandbox/stdlib/nasl.core.ts +1 -0
  218. package/sandbox/stdlib/nasl.logging.ts +4 -4
  219. package/sandbox/stdlib/nasl.util.ts +8 -4
  220. package/src/automate/engine/index.js +4 -4
  221. package/src/automate/engine/uniqueName.js +3 -3
  222. package/src/automate/template/myProcess.js +1 -1
  223. package/src/automate/upgrader/2.20.js +41 -0
  224. package/src/bak/translator.js +4 -1
  225. package/src/concepts/AnonymousFunction__.ts +48 -2
  226. package/src/concepts/App__.ts +288 -615
  227. package/src/concepts/BatchAssignment__.ts +45 -1
  228. package/src/concepts/BindAttribute__.ts +18 -25
  229. package/src/concepts/BindDirective__.ts +7 -0
  230. package/src/concepts/BindEvent__.ts +7 -0
  231. package/src/concepts/BindStyle__.ts +7 -0
  232. package/src/concepts/CallFunction__.ts +34 -45
  233. package/src/concepts/CallInterface__.ts +2 -1
  234. package/src/concepts/CallLogic__.ts +61 -44
  235. package/src/concepts/CallQueryComponent__.ts +4 -1
  236. package/src/concepts/Constant__.ts +7 -0
  237. package/src/concepts/DataSource__.ts +57 -5
  238. package/src/concepts/Destination__.ts +8 -21
  239. package/src/concepts/Frontend__.ts +937 -0
  240. package/src/concepts/Identifier__.ts +18 -16
  241. package/src/concepts/LogicItem__.ts +8 -1
  242. package/src/concepts/Logic__.ts +128 -142
  243. package/src/concepts/Match__.ts +13 -29
  244. package/src/concepts/NewComposite__.ts +1357 -0
  245. package/src/concepts/NewList__.ts +440 -0
  246. package/src/concepts/NewMap__.ts +666 -0
  247. package/src/concepts/New__.ts +73 -0
  248. package/src/concepts/Param__.ts +245 -199
  249. package/src/concepts/ProcessElement__.ts +43 -36
  250. package/src/concepts/ProcessOutcomes__.ts +90 -0
  251. package/src/concepts/Process__.ts +1 -23
  252. package/src/concepts/Return__.ts +11 -1
  253. package/src/concepts/SelectMembers__.ts +3 -3
  254. package/src/concepts/Transactional__.ts +7 -0
  255. package/src/concepts/TypeAnnotation__.ts +54 -49
  256. package/src/concepts/ValidationRule__.ts +19 -1
  257. package/src/concepts/Variable__.ts +12 -6
  258. package/src/concepts/ViewElement__.ts +51 -7
  259. package/src/concepts/View__.ts +21 -25
  260. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  261. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  262. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  263. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  264. package/src/concepts/index__.ts +7 -0
  265. package/src/enums/KEYWORDS.ts +9 -0
  266. package/src/generator/genBundleFiles.ts +43 -29
  267. package/src/generator/genMetaData.ts +5 -10
  268. package/src/generator/genReleaseBody.ts +77 -41
  269. package/src/generator/index.ts +1 -0
  270. package/src/generator/permission.ts +261 -0
  271. package/src/index.ts +1 -1
  272. package/src/server/entity2LogicNamespace.ts +90 -10
  273. package/src/server/extendBaseNode.ts +29 -3
  274. package/src/server/formatTsUtils.ts +6 -0
  275. package/src/server/getLogics.ts +13 -1
  276. package/src/server/getMemberIdentifier.ts +5 -5
  277. package/src/server/naslServer.ts +235 -58
  278. package/src/server/process2LogicNamespace.ts +8 -0
  279. package/src/server/translator.ts +33 -1
  280. package/src/service/creator/add.configs.js +4 -0
  281. package/src/service/datasource/api.js +11 -0
  282. package/src/service/datasource/index.js +6 -0
  283. package/src/service/storage/init.ts +12 -0
  284. package/src/service/video/VideoTranscribe.js +1 -0
  285. package/src/templator/genEditTableBlock.ts +8 -16
  286. package/src/templator/genGetBlock.ts +18 -19
  287. package/src/templator/genGridViewBlock.ts +18 -18
  288. package/src/templator/genListViewBlock.ts +8 -11
  289. package/src/templator/genTableBlock.ts +6 -10
  290. package/ts-worker/lib/tsserver.js +8 -1
  291. package/out/automate/engine/2.14-components.d.ts +0 -1115
  292. package/out/automate/engine/2.14-components.js +0 -1087
  293. package/out/automate/engine/2.14-components.js.map +0 -1
  294. package/out/concepts/ExternalDestination__.d.ts +0 -73
  295. package/out/concepts/ExternalDestination__.js +0 -264
  296. package/out/concepts/ExternalDestination__.js.map +0 -1
  297. package/out/concepts/MatchExpression__.d.ts +0 -97
  298. package/out/concepts/MatchExpression__.js +0 -281
  299. package/out/concepts/MatchExpression__.js.map +0 -1
  300. package/out/concepts/StringInterpolation__.d.ts +0 -113
  301. package/out/concepts/StringInterpolation__.js +0 -227
  302. package/out/concepts/StringInterpolation__.js.map +0 -1
  303. package/out/generator/genReleaseBody.d.ts +0 -41
  304. package/out/generator/genReleaseBody.js +0 -349
  305. package/out/generator/genReleaseBody.js.map +0 -1
  306. package/out/service/defaultErrorMessage.json +0 -97
  307. package/out/service/logic/api.d.ts +0 -9
  308. package/out/service/logic/api.js +0 -11
  309. package/out/service/logic/api.js.map +0 -1
  310. package/out/service/logic/index.d.ts +0 -2
  311. package/out/service/logic/index.js +0 -10
  312. package/out/service/logic/index.js.map +0 -1
  313. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  314. package/src/automate/engine/dist/index.dev.js +0 -517
  315. package/src/common/dist/BaseNode.js +0 -1101
  316. package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1503
  317. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  318. package/src/concepts/dist/Anchor__.js +0 -179
  319. package/src/concepts/dist/Assignment__.js +0 -301
  320. package/src/concepts/dist/CallFunction__.js +0 -513
  321. package/src/concepts/dist/CallInterface__.js +0 -533
  322. package/src/concepts/dist/CallLogic__.js +0 -892
  323. package/src/concepts/dist/ForEachStatement__.js +0 -426
  324. package/src/concepts/dist/MatchCase__.js +0 -587
  325. package/src/concepts/dist/Match__.js +0 -631
  326. package/src/concepts/dist/MemberExpression__.js +0 -348
  327. package/src/concepts/dist/Param__.js +0 -538
  328. package/src/concepts/dist/Return__.js +0 -494
  329. package/src/concepts/dist/Variable__.js +0 -537
  330. package/src/concepts/dist/ViewElement__.js +0 -1680
  331. package/src/generator/dist/genBundleFiles.js +0 -261
  332. package/src/generator/dist/genMetaData.js +0 -249
  333. package/src/server/dist/formatTsUtils.js +0 -683
  334. package/src/server/dist/naslServer.js +0 -3474
  335. package/src/service/storage/dist/init.js +0 -572
  336. package/ts-worker/dist/webpack.config.dev.js +0 -108
@@ -257,7 +257,7 @@ export class ProcessElement extends BaseNode {
257
257
  });
258
258
  }
259
259
 
260
- getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
260
+ getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
261
261
  const excludedSet = new Set(excludedList);
262
262
  return ((this.bindEvents as BindEvent[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
263
263
  }
@@ -398,7 +398,6 @@ export class ProcessElement extends BaseNode {
398
398
  return node;
399
399
  }
400
400
 
401
-
402
401
  getPointExistingNames(excludedList: Array<Point> = []) {
403
402
  const excludedSet = new Set(excludedList);
404
403
  return ((this.waypoints as Point[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -540,7 +539,6 @@ export class ProcessElement extends BaseNode {
540
539
  return node;
541
540
  }
542
541
 
543
-
544
542
  getVariableExistingNames(excludedList: Array<Variable> = []) {
545
543
  const excludedSet = new Set(excludedList);
546
544
  return ((this.variables as Variable[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -682,7 +680,6 @@ export class ProcessElement extends BaseNode {
682
680
  return node;
683
681
  }
684
682
 
685
-
686
683
  getReturnExistingNames(excludedList: Array<Return> = []) {
687
684
  const excludedSet = new Set(excludedList);
688
685
  return ((this.returns as Return[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -824,7 +821,6 @@ export class ProcessElement extends BaseNode {
824
821
  return node;
825
822
  }
826
823
 
827
-
828
824
  getConstantExistingNames(excludedList: Array<Constant> = []) {
829
825
  const excludedSet = new Set(excludedList);
830
826
  return ((this.constants as Constant[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -966,7 +962,6 @@ export class ProcessElement extends BaseNode {
966
962
  return node;
967
963
  }
968
964
 
969
-
970
965
  getBindAttributeExistingNames(excludedList: Array<BindAttribute> = []) {
971
966
  const excludedSet = new Set(excludedList);
972
967
  return ((this.bindAttrs as BindAttribute[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -1108,9 +1103,6 @@ export class ProcessElement extends BaseNode {
1108
1103
  return node;
1109
1104
  }
1110
1105
 
1111
-
1112
-
1113
-
1114
1106
  /**
1115
1107
  * 删除元素绑定事件
1116
1108
  * @param name 元素绑定事件名称
@@ -1159,8 +1151,6 @@ export class ProcessElement extends BaseNode {
1159
1151
  return params;
1160
1152
  }
1161
1153
 
1162
-
1163
-
1164
1154
  /**
1165
1155
  * 删除矩形信息
1166
1156
  * @param name 矩形信息名称
@@ -1209,8 +1199,6 @@ export class ProcessElement extends BaseNode {
1209
1199
  return params;
1210
1200
  }
1211
1201
 
1212
-
1213
-
1214
1202
  /**
1215
1203
  * 删除点信息
1216
1204
  * @param name 点信息名称
@@ -1259,8 +1247,6 @@ export class ProcessElement extends BaseNode {
1259
1247
  return params;
1260
1248
  }
1261
1249
 
1262
-
1263
-
1264
1250
  /**
1265
1251
  * 删除逻辑
1266
1252
  * @param name 逻辑名称
@@ -1309,8 +1295,6 @@ export class ProcessElement extends BaseNode {
1309
1295
  return params;
1310
1296
  }
1311
1297
 
1312
-
1313
-
1314
1298
  /**
1315
1299
  * 删除变量
1316
1300
  * @param name 变量名称
@@ -1359,8 +1343,6 @@ export class ProcessElement extends BaseNode {
1359
1343
  return params;
1360
1344
  }
1361
1345
 
1362
-
1363
-
1364
1346
  /**
1365
1347
  * 删除输出参数
1366
1348
  * @param name 输出参数名称
@@ -1409,8 +1391,6 @@ export class ProcessElement extends BaseNode {
1409
1391
  return params;
1410
1392
  }
1411
1393
 
1412
-
1413
-
1414
1394
  /**
1415
1395
  * 删除常量
1416
1396
  * @param name 常量名称
@@ -1459,8 +1439,6 @@ export class ProcessElement extends BaseNode {
1459
1439
  return params;
1460
1440
  }
1461
1441
 
1462
-
1463
-
1464
1442
  /**
1465
1443
  * 删除元素绑定属性
1466
1444
  * @param name 元素绑定属性名称
@@ -1596,24 +1574,29 @@ export class ProcessElement extends BaseNode {
1596
1574
  const tab4 = indent((state?.tabSize || 0) + 3);
1597
1575
  const tab5 = indent((state?.tabSize || 0) + 4);
1598
1576
  const tab6 = indent((state?.tabSize || 0) + 5);
1577
+ const constantsArr: any = [];
1578
+ const returnsArr: any = [];
1599
1579
  let code = `${this.name}: {\n`;
1600
1580
  this.variables.forEach((property) => {
1601
1581
  code += `${tab1}`;
1602
1582
  code += `${property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},\n`;
1603
1583
  });
1604
- this.returns.forEach((property) => {
1584
+ this.returns.forEach((property, index) => {
1605
1585
  code += `${tab1}`;
1606
- code += `${property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},\n`;
1586
+ returnsArr.push(property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true })));
1587
+ code += `${returnsArr[index]},\n`;
1607
1588
  });
1608
- this.constants.forEach((property) => {
1589
+ this.constants.forEach((property, index) => {
1609
1590
  code += `${tab1}`;
1610
- code += `${property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},\n`;
1591
+ constantsArr.push(property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true })));
1592
+ code += `${constantsArr[index]},\n`;
1611
1593
  });
1612
1594
  const afterLinks = getFlowAfterElements(this);
1613
1595
  const beforeLinks = getFlowBeforeElements(this);
1614
1596
  if (this.isUserTask
1615
1597
  || this.type === 'ExclusiveGateway'
1616
- || this.type === 'AutoTask') {
1598
+ || this.type === 'AutoTask'
1599
+ || this.type === 'InclusiveGateway') {
1617
1600
  const prevTasks = getPreviousTask(this);
1618
1601
  let prevCode = `${tab4}const ${this.process.name} = {\n`;
1619
1602
  const processName = this.process.name;
@@ -1633,10 +1616,27 @@ export class ProcessElement extends BaseNode {
1633
1616
 
1634
1617
  if (this.isUserTask) {
1635
1618
  //任务完成时可以拿到输出参数,prevCodeClose包含输出参数
1636
- let prevCodeClose = prevCode + `\n${tab5}${this.name}: { \n${this.constants.map((c) => `${tab6}${c.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},`).join('\n')}`;
1637
- prevCodeClose += ` \n${this.returns.map((c) => `${tab6}${c.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},`).join('\n')} \n${tab5}}\n`;
1619
+ let prevCodeClose = prevCode + `\n${tab5}${this.name}: { \n`;
1620
+ this.constants.forEach((c, index) => {
1621
+ prevCodeClose += tab6;
1622
+ prevCodeClose += constantsArr[index];
1623
+ prevCodeClose += ',';
1624
+ });
1625
+ this.returns.forEach((c, index) => {
1626
+ prevCodeClose += `\n${tab6}`;
1627
+ prevCodeClose += returnsArr[index];
1628
+ prevCodeClose += ',';
1629
+ });
1630
+ prevCodeClose += ` \n${tab5}}\n`;
1638
1631
  prevCodeClose += `${tab4}}\n`;
1639
- prevCode += `\n${tab5}${this.name}: { \n${this.constants.map((c) => `${tab6}${c.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},`).join('\n')} \n${tab5}}\n`;
1632
+
1633
+ prevCode += `\n${tab5}${this.name}: { \n`;
1634
+ this.constants.forEach((c, index) => {
1635
+ prevCode += `${tab6}`;
1636
+ prevCode += constantsArr[index];
1637
+ prevCode += ',';
1638
+ });
1639
+ prevCode += ` \n${tab5}}\n`;
1640
1640
  prevCode += `${tab4}}\n`;
1641
1641
  if (Array.isArray(this.bindEvents)) {
1642
1642
  this.bindEvents.forEach((bindEvent) => {
@@ -1650,10 +1650,17 @@ export class ProcessElement extends BaseNode {
1650
1650
  });
1651
1651
  }
1652
1652
  code += `${tab1}logics: {\n`;
1653
- this.bindAttrs.forEach((attr) => {
1654
- if (attr.name === 'destination') {
1653
+ let destinationAttrs = this.bindAttrs.filter((attr) => attr.name === 'destination' || attr.name.startsWith('destination-'));
1654
+ const destinationAllEmpty = destinationAttrs.length && destinationAttrs.every((attr) => !attr.destination.viewNamespace);
1655
+ if (destinationAllEmpty) {
1656
+ code += `${destinationAttrs[0].destination.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 3 }), prevCode)},\n`;
1657
+ } else {
1658
+ destinationAttrs = destinationAttrs.filter((attr) => attr.destination.viewNamespace);
1659
+ destinationAttrs.forEach((attr) => {
1655
1660
  code += `${attr.destination.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 3 }), prevCode)},\n`;
1656
- }
1661
+ });
1662
+ }
1663
+ this.bindAttrs.forEach((attr) => {
1657
1664
  if (attr.name === 'assignee') {
1658
1665
  code += `${tab3}assignee: function(): string[] {\n`;
1659
1666
  code += `${attr.assignee.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: state.tabSize + 3 }), prevCode)}\n`;
@@ -1672,7 +1679,7 @@ export class ProcessElement extends BaseNode {
1672
1679
  code += `${tab1}},\n`;
1673
1680
  }
1674
1681
 
1675
- if (this.type === 'ExclusiveGateway' || this.type === 'AutoTask') {
1682
+ if (['ExclusiveGateway', 'AutoTask', 'InclusiveGateway'].includes(this.type)) {
1676
1683
  prevCode += `\n${tab5}${this.name}: elements.${this.name},\n`;
1677
1684
  prevCode += `${tab3}}\n`;
1678
1685
  code += `${tab1}logic: `;
@@ -1684,7 +1691,7 @@ export class ProcessElement extends BaseNode {
1684
1691
  code += `${tab1}nasl.process.oneOutcomeFlow(${afterLinks.map((l) => `'${l.name}'`).join(',')})\n`;
1685
1692
  code += '},\n';
1686
1693
  }
1687
- if (this.type === 'ExclusiveGateway' || this.type === 'ParallelGateway') {
1694
+ if (['ExclusiveGateway', 'ParallelGateway', 'InclusiveGateway'].includes(this.type)) {
1688
1695
  code += '_constraints: function() {\n';
1689
1696
  code += `${tab1}nasl.process.atLeastOneOutcomeFlow(${afterLinks.map((l) => `'${l.name}'`).join(',')})\n`;
1690
1697
  code += `${tab1}nasl.process.atLeastOneOutcomeFlow(${beforeLinks.map((l) => `'${l.name}'`).join(',')})\n`;
@@ -0,0 +1,90 @@
1
+ import { TranslatorState, withSourceMap } from '../translator';
2
+ //================================================================================
3
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
4
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
5
+ //================================================================================
6
+ import { EventPayload, Params } from '../common/EventEmitter';
7
+ import { concept, excludedInJSON, property } from '../decorators';
8
+
9
+ import * as utils from '../utils';
10
+ import { v4 as uuidv4 } from 'uuid';
11
+ import BaseNode from '../common/BaseNode';
12
+ import classMap from '../common/classMap';
13
+ import LogicItem from './LogicItem__';
14
+
15
+ /**
16
+ * 判断结果数组
17
+ */
18
+ @concept('判断结果数组')
19
+ export class ProcessOutcomes extends LogicItem {
20
+ /**
21
+ * 产品概念
22
+ */
23
+ @property()
24
+ concept: 'ProcessOutcomes' = 'ProcessOutcomes';
25
+
26
+ /**
27
+ * 判断结果数组标题
28
+ */
29
+ @property()
30
+ label: string = '判断结果';
31
+
32
+ /**
33
+ * 关联连接器
34
+ */
35
+ @property()
36
+ flowRefs: Array<string> = [];
37
+
38
+
39
+
40
+ /**
41
+ * @param source 需要合并的部分参数
42
+ */
43
+ constructor(source?: Partial<ProcessOutcomes>) {
44
+ source = Object.assign({}, ProcessOutcomes.getDefaultOptions(), source);
45
+ super(source);
46
+ super.subConstructor(source);
47
+ }
48
+
49
+ static from(source: any, parentNode?: any, parentKey?: string): ProcessOutcomes {
50
+ return super.from(source, parentNode, parentKey) as ProcessOutcomes;
51
+ }
52
+
53
+
54
+ /**
55
+ * 设置关联连接器
56
+ */
57
+ setFlowRefs(flowRefs: Array<string>) {
58
+ const object = {
59
+ flowRefs,
60
+ };
61
+ this.update({
62
+ ...object,
63
+ });
64
+ }
65
+
66
+
67
+
68
+
69
+
70
+ //================================================================================
71
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
72
+ // 自动生成的代码已结束。下面可以手动编写。
73
+ //================================================================================
74
+ @withSourceMap()
75
+ toEmbeddedTS(state?: TranslatorState): string {
76
+ const code = `return () => ${this.flowRefs?.length > 0 ? `"${this.flowRefs}"` : '__IDENTIFIER__'}`;
77
+ return code;
78
+ }
79
+ //================================================================================
80
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
81
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
82
+ //================================================================================
83
+ }
84
+
85
+ classMap.ProcessOutcomes = ProcessOutcomes;
86
+ export default ProcessOutcomes;
87
+ //================================================================================
88
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
89
+ // 自动生成的代码已结束。下面可以手动编写。
90
+ //================================================================================
@@ -157,7 +157,7 @@ export class Process extends BaseNode {
157
157
  });
158
158
  }
159
159
 
160
- getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
160
+ getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
161
161
  const excludedSet = new Set(excludedList);
162
162
  return ((this.bindEvents as BindEvent[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
163
163
  }
@@ -298,7 +298,6 @@ export class Process extends BaseNode {
298
298
  return node;
299
299
  }
300
300
 
301
-
302
301
  getParamExistingNames(excludedList: Array<Param> = []) {
303
302
  const excludedSet = new Set(excludedList);
304
303
  return ((this.params as Param[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -440,7 +439,6 @@ export class Process extends BaseNode {
440
439
  return node;
441
440
  }
442
441
 
443
-
444
442
  getReturnExistingNames(excludedList: Array<Return> = []) {
445
443
  const excludedSet = new Set(excludedList);
446
444
  return ((this.returns as Return[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -582,7 +580,6 @@ export class Process extends BaseNode {
582
580
  return node;
583
581
  }
584
582
 
585
-
586
583
  getConstantExistingNames(excludedList: Array<Constant> = []) {
587
584
  const excludedSet = new Set(excludedList);
588
585
  return ((this.constants as Constant[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -724,7 +721,6 @@ export class Process extends BaseNode {
724
721
  return node;
725
722
  }
726
723
 
727
-
728
724
  getElementExistingNames(excludedList: Array<ProcessElement> = []) {
729
725
  const excludedSet = new Set(excludedList);
730
726
  return ((this.elements as ProcessElement[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -866,9 +862,6 @@ export class Process extends BaseNode {
866
862
  return node;
867
863
  }
868
864
 
869
-
870
-
871
-
872
865
  /**
873
866
  * 删除元素绑定事件
874
867
  * @param name 元素绑定事件名称
@@ -917,8 +910,6 @@ export class Process extends BaseNode {
917
910
  return params;
918
911
  }
919
912
 
920
-
921
-
922
913
  /**
923
914
  * 删除输入参数
924
915
  * @param name 输入参数名称
@@ -967,8 +958,6 @@ export class Process extends BaseNode {
967
958
  return params;
968
959
  }
969
960
 
970
-
971
-
972
961
  /**
973
962
  * 删除输出参数
974
963
  * @param name 输出参数名称
@@ -1017,8 +1006,6 @@ export class Process extends BaseNode {
1017
1006
  return params;
1018
1007
  }
1019
1008
 
1020
-
1021
-
1022
1009
  /**
1023
1010
  * 删除常量
1024
1011
  * @param name 常量名称
@@ -1067,8 +1054,6 @@ export class Process extends BaseNode {
1067
1054
  return params;
1068
1055
  }
1069
1056
 
1070
-
1071
-
1072
1057
  /**
1073
1058
  * 删除流程元素
1074
1059
  * @param name 流程元素名称
@@ -1317,13 +1302,6 @@ export class Process extends BaseNode {
1317
1302
  concept: 'Assignee',
1318
1303
  },
1319
1304
  },
1320
- {
1321
- concept: 'BindAttribute',
1322
- name: 'destination',
1323
- destination: {
1324
- concept: 'Destination',
1325
- },
1326
- },
1327
1305
  ],
1328
1306
  constants: [
1329
1307
  {
@@ -31,6 +31,7 @@ import Logic from './Logic__';
31
31
  import View from './View__';
32
32
  import Module from './Module__';
33
33
  import App from './App__';
34
+ import Frontend from './Frontend__';
34
35
  import ProcessElement from './ProcessElement__';
35
36
  import Process from './Process__';
36
37
 
@@ -93,6 +94,12 @@ export class Return extends BaseNode {
93
94
  get view() {
94
95
  return this.getAncestor('View') as View;
95
96
  }
97
+ /**
98
+ * 祖先 Frontend
99
+ */
100
+ get frontend() {
101
+ return this.getAncestor('Frontend') as Frontend;
102
+ }
96
103
  /**
97
104
  * 祖先 ProcessElement
98
105
  */
@@ -238,7 +245,10 @@ export class Return extends BaseNode {
238
245
  toJS(state?: TranslatorState): string {
239
246
  const context = this.view ? 'this' : 'Vue.prototype';
240
247
  const typeAnnotation = this.typeAnnotation || this.__TypeAnnotation;
241
- const needGenInitFromSchema = typeAnnotation && !['primitive', 'union'].includes(typeAnnotation.typeKind);
248
+ const needGenInitFromSchema = typeAnnotation && (
249
+ !['primitive', 'union'].includes(typeAnnotation.typeKind)
250
+ || typeAnnotation.typeName === 'DateTime'
251
+ );
242
252
  let code = `${this.name} =`;
243
253
  if (needGenInitFromSchema) {
244
254
  code += `${context}.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}',`;
@@ -332,11 +332,11 @@ export class SelectMembers extends BaseNode {
332
332
  // 自动生成的代码已结束。下面可以手动编写。
333
333
  //================================================================================
334
334
  get lines() {
335
- const batchAssignment: any = this.getAncestor('BatchAssignment');
335
+ const rootNode: any = this.getAncestor('NewComposite') || this.getAncestor('BatchAssignment');
336
336
  const parentKey = this.parentKey;
337
- const firstIndex = parentKey === 'left' ? 0 : batchAssignment.rights.findIndex((selectMember: SelectMembers) => selectMember === this);
337
+ const firstIndex = parentKey === 'left' ? 0 : rootNode.rights.findIndex((selectMember: SelectMembers) => selectMember === this);
338
338
  let count = 0;
339
- batchAssignment.assignmentLines.forEach((line: AssignmentLine) => {
339
+ rootNode.assignmentLines.forEach((line: AssignmentLine) => {
340
340
  const lineIndex = parentKey === 'left' ? line.leftIndex[0] : line.rightIndex[0];
341
341
  if (lineIndex === firstIndex)
342
342
  count++;
@@ -13,6 +13,7 @@ import Logic from './Logic__';
13
13
  import Module from './Module__';
14
14
  import App from './App__';
15
15
  import View from './View__';
16
+ import Frontend from './Frontend__';
16
17
  import ProcessElement from './ProcessElement__';
17
18
  import Process from './Process__';
18
19
 
@@ -69,6 +70,12 @@ export class Transactional extends BaseNode {
69
70
  get view() {
70
71
  return this.getAncestor('View') as View;
71
72
  }
73
+ /**
74
+ * 祖先 Frontend
75
+ */
76
+ get frontend() {
77
+ return this.getAncestor('Frontend') as Frontend;
78
+ }
72
79
  /**
73
80
  * 祖先 ProcessElement
74
81
  */