@lcap/nasl 3.2.0-beta.3 → 3.3.0-alpha

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 (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -1,632 +1,646 @@
1
1
  import Constant from '../concepts/Constant__';
2
- import { CompletionProperty, Process, ProcessElement, Namespace, Logic, TypeAnnotation, Return, Variable, StructureProperty, Param, Identifier, MemberExpression, LogicItem, App, BaseNode, Structure, Entity, EntityProperty } from '..';
2
+ import {
3
+ CompletionProperty,
4
+ Process,
5
+ ProcessElement,
6
+ Namespace,
7
+ Logic,
8
+ TypeAnnotation,
9
+ Return,
10
+ Variable,
11
+ StructureProperty,
12
+ Param,
13
+ Identifier,
14
+ MemberExpression,
15
+ LogicItem,
16
+ App,
17
+ BaseNode,
18
+ Structure,
19
+ Entity,
20
+ EntityProperty,
21
+ } from '..';
3
22
  import { getNodeByNodeCallee } from '../automate/engine/utils';
4
23
  import { isNoChildType, nextFindTypeChild } from './formatTsUtils';
24
+
5
25
  function alphaUpper(name: string) {
6
- if (!name) {
7
- return '';
8
- }
9
- return `${name[0].toUpperCase()}${name.substring(1)}`;
26
+ if (!name) {
27
+ return '';
28
+ }
29
+ return `${name[0].toUpperCase()}${name.substring(1)}`;
10
30
  }
11
31
 
12
32
  export function genLaunchProcess(process: Process) {
13
- const l: Logic = new Logic({
14
- name: 'launch',
15
- params: process.params,
16
- body: [],
17
- returns: [
18
- new Return({
19
- name: 'processId',
20
- typeAnnotation: TypeAnnotation.createPrimitive('String'),
21
- }),
22
- ],
23
- });
24
- const path = `app.processes.${process.name}.logics`;
25
- l.getNamespace = function () {
26
- return path;
27
- };
28
- l.fake = true;
29
- return l;
33
+ const l: Logic = new Logic({
34
+ name: 'launch',
35
+ params: process.params,
36
+ body: [],
37
+ returns: [
38
+ new Return({
39
+ name: 'processId',
40
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
41
+ }),
42
+ ],
43
+ });
44
+ const path = `app.processes.${process.name}.logics`;
45
+ l.getNamespace = function () {
46
+ return path;
47
+ };
48
+ l.fake = true;
49
+ return l;
30
50
  }
31
51
 
32
52
  export function process2LogicNamespace(process: Process) {
33
- const ns = new Namespace({
34
- name: process.name,
35
- logics: [genLaunchProcess(process)],
36
- });
53
+ const ns = new Namespace({
54
+ name: process.name,
55
+ logics: [genLaunchProcess(process)],
56
+ });
37
57
 
38
- return ns;
58
+ return ns;
39
59
  }
40
60
 
41
61
  export function returnToParam(r: Return) {
42
- const obj = r.toJSON() as { concept: string };
43
- delete obj.concept;
44
- return Param.from(obj);
62
+ const obj = r.toJSON() as { concept: string };
63
+ delete obj.concept;
64
+ return Param.from(obj);
45
65
  }
46
66
 
47
67
  function variableToParam(v: Variable) {
48
- const obj = v.toJSON() as { concept: string };
49
- delete obj.concept;
50
- return Param.from(obj);
68
+ const obj = v.toJSON() as { concept: string };
69
+ delete obj.concept;
70
+ return Param.from(obj);
51
71
  }
52
72
 
53
73
  export function constantToParam(v: Constant) {
54
- const obj = v.toJSON() as { concept: string };
55
- delete obj.concept;
56
- // console.log(Param.from(obj));
57
- return Param.from(obj);
74
+ const obj = v.toJSON() as { concept: string };
75
+ delete obj.concept;
76
+ // console.log(Param.from(obj));
77
+ return Param.from(obj);
58
78
  }
59
79
 
60
80
  export function genUserTaskLogic(userTask: ProcessElement) {
61
- const taskId = userTask.constants.find((p) => p.name === 'taskId');
62
- const process = userTask.process;
63
- const l = [
64
- new Logic({
65
- name: `complete`,
66
- fake: true,
67
- params: [constantToParam(taskId), ...userTask.returns.map(returnToParam)],
68
- body: [],
69
- returns: [],
81
+ const taskId = userTask.constants.find((p) => p.name === 'taskId');
82
+ const { process } = userTask;
83
+ const l = [
84
+ new Logic({
85
+ name: `complete`,
86
+ fake: true,
87
+ params: [constantToParam(taskId), ...userTask.returns.map(returnToParam)],
88
+ body: [],
89
+ returns: [],
90
+ }),
91
+ new Logic({
92
+ name: `reject`,
93
+ fake: true,
94
+ params: [
95
+ new Param({
96
+ name: 'taskId',
97
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
70
98
  }),
71
- new Logic({
72
- name: `reject`,
73
- fake: true,
74
- params: [
75
- new Param({
76
- name: 'taskId',
77
- typeAnnotation: TypeAnnotation.createPrimitive('String'),
78
- }),
79
- new Param({
80
- name: 'targetTaskDefinitionId',
81
- typeAnnotation: TypeAnnotation.createPrimitive('String'),
82
- }),
83
- ...userTask.returns.map(returnToParam),
84
- ],
85
- body: [],
86
- returns: [],
99
+ new Param({
100
+ name: 'targetTaskDefinitionId',
101
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
87
102
  }),
88
- ];
89
- if (userTask.type === 'InitiateTask')
90
- l.pop();
91
- const path = `app.processes.${process.name}.elements.${userTask.name}.logics`;
92
- l.forEach((item) => {
93
- item.getNamespace = function () {
94
- return path;
95
- };
96
- item.fake = true;
97
- });
98
- return l;
103
+ ...userTask.returns.map(returnToParam),
104
+ ],
105
+ body: [],
106
+ returns: [],
107
+ }),
108
+ ];
109
+ if (userTask.type === 'InitiateTask') l.pop();
110
+ const path = `app.processes.${process.name}.elements.${userTask.name}.logics`;
111
+ l.forEach((item) => {
112
+ item.getNamespace = function () {
113
+ return path;
114
+ };
115
+ item.fake = true;
116
+ });
117
+ return l;
99
118
  }
100
119
 
101
120
  export function userTask2LogicNamespace(userTask: ProcessElement) {
102
- const ns = new Namespace({
103
- name: userTask.name,
104
- logics: [...genUserTaskLogic(userTask)],
105
- });
121
+ const ns = new Namespace({
122
+ name: userTask.name,
123
+ logics: [...genUserTaskLogic(userTask)],
124
+ });
106
125
 
107
- return ns;
126
+ return ns;
108
127
  }
109
128
 
110
129
  type CompletionData = {
111
- name: string;
112
- concept: string;
113
- value: string;
114
- selectable?: boolean;
115
- children: Array<CompletionData>;
130
+ name: string;
131
+ concept: string;
132
+ value: string;
133
+ selectable?: boolean;
134
+ children: Array<CompletionData>;
116
135
  };
117
136
  type Suggestion = {
118
- name: string;
119
- children: Array<CompletionProperty | CompletionData>;
137
+ name: string;
138
+ children: Array<CompletionProperty | CompletionData>;
120
139
  };
121
140
  type VariableSuggestion = Array<Suggestion>;
122
141
 
123
142
  type CompletionPropertyEnhance = CompletionProperty & {
124
- children?: Array<CompletionProperty>;
143
+ children?: Array<CompletionProperty>;
125
144
  };
126
145
  const excludeKey = [
127
- 'app',
128
- 'module',
129
- 'structure',
130
- 'enumeration',
131
- 'entity',
132
- 'view',
133
- 'viewElement',
134
- 'processElement',
135
- 'element',
136
- 'viewComponent',
137
- 'logic',
138
- 'process',
139
- 'interface',
140
- 'nodePath',
141
- 'upperNode',
142
- 'rootNode',
143
- 'parentNode',
146
+ 'app',
147
+ 'module',
148
+ 'structure',
149
+ 'enumeration',
150
+ 'entity',
151
+ 'view',
152
+ 'viewElement',
153
+ 'processElement',
154
+ 'element',
155
+ 'viewComponent',
156
+ 'logic',
157
+ 'process',
158
+ 'interface',
159
+ 'nodePath',
160
+ 'upperNode',
161
+ 'rootNode',
162
+ 'parentNode',
144
163
  ];
145
164
  export function travelDown(node: any, callback: (node: any) => void) {
146
- const stack = [node];
147
- const checked = new WeakSet();
148
- while (stack.length) {
149
- const n = stack.pop();
150
- if (!n) {
151
- continue;
152
- }
153
- checked.add(n);
154
- callback(n);
155
- for (const k in n) {
156
- if (!excludeKey.includes(k) && n.hasOwnProperty(k)) {
157
- const t = n[k];
158
- if (t && typeof t === 'object' && !checked.has(t)) {
159
- if (Array.isArray(t)) {
160
- for (const q in t) {
161
- const w = t[q];
162
- if (typeof w === 'object') {
163
- stack.push(w);
164
- }
165
- }
166
- } else {
167
- stack.push(t);
168
- }
169
- }
165
+ const stack = [node];
166
+ const checked = new WeakSet();
167
+ while (stack.length) {
168
+ const n = stack.pop();
169
+ if (!n) {
170
+ continue;
171
+ }
172
+ checked.add(n);
173
+ callback(n);
174
+ for (const k in n) {
175
+ if (!excludeKey.includes(k) && n.hasOwnProperty(k)) {
176
+ const t = n[k];
177
+ if (t && typeof t === 'object' && !checked.has(t)) {
178
+ if (Array.isArray(t)) {
179
+ for (const q in t) {
180
+ const w = t[q];
181
+ if (typeof w === 'object') {
182
+ stack.push(w);
183
+ }
170
184
  }
185
+ } else {
186
+ stack.push(t);
187
+ }
171
188
  }
189
+ }
172
190
  }
191
+ }
173
192
  }
174
193
 
175
194
  export function syncMemberExpression(elem: ProcessElement | Process, callback: (node: MemberExpression) => void) {
176
- const process = elem instanceof Process ? elem : elem.process;
177
- process.elements.forEach((el) => {
178
- if (el.isUserTask) {
179
- el.bindAttrs.forEach((attr) => {
180
- if (attr.name === 'destination') {
181
- attr.destination.arguments.forEach((arg) => {
182
- travelDown(arg.expression, (node) => {
183
- if (node instanceof MemberExpression) {
184
- // console.log('UserTask destination', node.getValue());
185
- callback(node);
186
- }
187
- });
188
- });
189
- }
190
- if (attr.name === 'assignee') {
191
- attr.assignee.dynamicUsers.forEach((dy) => {
192
- travelDown(dy, (node) => {
193
- if (node instanceof MemberExpression) {
194
- // console.log('UserTask assignee', node.getValue());
195
- callback(node);
196
- }
197
- });
198
- });
199
- }
195
+ const process = elem instanceof Process ? elem : elem.process;
196
+ process.elements.forEach((el) => {
197
+ if (el.isUserTask) {
198
+ el.bindAttrs.forEach((attr) => {
199
+ if (attr.name === 'destination') {
200
+ attr.destination.arguments.forEach((arg) => {
201
+ travelDown(arg.expression, (node) => {
202
+ if (node instanceof MemberExpression) {
203
+ // console.log('UserTask destination', node.getValue());
204
+ callback(node);
205
+ }
200
206
  });
207
+ });
201
208
  }
202
- if (el.type === 'ExclusiveGateway' || el.type === 'AutoTask') {
203
- travelDown(el.logic, (node) => {
204
- if (node instanceof MemberExpression) {
205
- callback(node);
206
- }
209
+ if (attr.name === 'assignee') {
210
+ attr.assignee.dynamicUsers.forEach((dy) => {
211
+ travelDown(dy, (node) => {
212
+ if (node instanceof MemberExpression) {
213
+ // console.log('UserTask assignee', node.getValue());
214
+ callback(node);
215
+ }
207
216
  });
217
+ });
208
218
  }
209
- });
219
+ });
220
+ }
221
+ if (el.type === 'ExclusiveGateway' || el.type === 'AutoTask') {
222
+ travelDown(el.logic, (node) => {
223
+ if (node instanceof MemberExpression) {
224
+ callback(node);
225
+ }
226
+ });
227
+ }
228
+ });
210
229
  }
211
230
  // a.b.c => MemberExpression
212
231
  export function genMemberExpression(path: string) {
213
- const arr = path.split('.');
214
- let m: MemberExpression;
215
- while (arr.length) {
216
- const ns = arr.shift();
217
- const cv = new Identifier({ name: ns });
218
- if (!m) {
219
- m = new MemberExpression({
220
- object: cv,
221
- });
222
- cv.parentKey = 'object';
223
- cv.parentNode = m;
224
- } else {
225
- m.property = cv;
226
- cv.parentKey = 'property';
227
- cv.parentNode = m;
228
- if (arr.length) {
229
- const tm = new MemberExpression({
230
- object: m,
231
- });
232
- m.parentKey = 'object';
233
- m.parentNode = tm;
234
- m = tm;
235
- }
236
- }
232
+ const arr = path.split('.');
233
+ let m: MemberExpression;
234
+ while (arr.length) {
235
+ const ns = arr.shift();
236
+ const cv = new Identifier({ name: ns });
237
+ if (!m) {
238
+ m = new MemberExpression({
239
+ object: cv,
240
+ });
241
+ cv.parentKey = 'object';
242
+ cv.parentNode = m;
243
+ } else {
244
+ m.property = cv;
245
+ cv.parentKey = 'property';
246
+ cv.parentNode = m;
247
+ if (arr.length) {
248
+ const tm = new MemberExpression({
249
+ object: m,
250
+ });
251
+ m.parentKey = 'object';
252
+ m.parentNode = tm;
253
+ m = tm;
254
+ }
237
255
  }
256
+ }
238
257
 
239
- return m;
258
+ return m;
240
259
  }
241
260
 
242
261
  // ['a','b','c'] => a.b.c
243
- export function genCompletionProperty(prefix: string[] = []): (v: Variable | Param | Return | Constant | EntityProperty | StructureProperty) => CompletionProperty {
244
- return (v) => {
245
- let m: MemberExpression;
246
- const p = new Identifier({ name: v.name });
247
- const t = prefix.slice();
248
- const q = prefix.slice();
249
- while (q.length) {
250
- const ns = q.shift();
251
- let cv;
252
- if (v?.parentNode?.parentNode?.concept === 'BackendVariable') {
253
- cv = new Identifier({ name: ns, namespace: 'app.backend.variables' });
254
- } else {
255
- cv = new Identifier({ name: ns });
256
- }
257
- if (!m) {
258
- m = new MemberExpression({
259
- object: cv,
260
- });
261
- cv.parentNode = m;
262
- } else {
263
- m.property = cv;
264
- const tm = new MemberExpression({
265
- object: m,
266
- });
267
- m.parentKey = 'object';
268
- m.parentNode = tm;
269
- cv.parentKey = 'property';
270
- cv.parentNode = tm;
271
- m = tm;
272
- }
273
- }
274
- if (m) {
275
- m.property = p;
276
- p.parentNode = m;
277
- p.parentKey = 'property';
278
- }
279
- let prevalue = '';
280
- if (t.length) {
281
- prevalue = `${t.join('.')}.`;
282
- }
283
- const noChildType = v.typeAnnotation ? isNoChildType(v.typeAnnotation.typeKey) : true;
284
- const item = {
285
- expression: m || p,
286
- name: v.name,
287
- value: prevalue + v.name,
288
- };
289
-
290
- if (!noChildType) {
291
- nextFindTypeChild(v.typeAnnotation.typeKey, item, v);
292
- }
293
-
294
- const cp = new CompletionProperty(item);
295
- console.log(cp.value, v);
296
- cp.icon = v.concept;
297
- return cp;
262
+ export function genCompletionProperty(
263
+ prefix: string[] = []
264
+ ): (v: Variable | Param | Return | Constant | EntityProperty | StructureProperty) => CompletionProperty {
265
+ return (v) => {
266
+ let m: MemberExpression;
267
+ const p = new Identifier({ name: v.name });
268
+ const t = prefix.slice();
269
+ const q = prefix.slice();
270
+ while (q.length) {
271
+ const ns = q.shift();
272
+ let cv;
273
+ if (v?.parentNode?.parentNode?.concept === 'BackendVariable') {
274
+ cv = new Identifier({ name: ns, namespace: 'app.backend.variables' });
275
+ } else {
276
+ cv = new Identifier({ name: ns });
277
+ }
278
+ if (!m) {
279
+ m = new MemberExpression({
280
+ object: cv,
281
+ });
282
+ cv.parentNode = m;
283
+ } else {
284
+ m.property = cv;
285
+ const tm = new MemberExpression({
286
+ object: m,
287
+ });
288
+ m.parentKey = 'object';
289
+ m.parentNode = tm;
290
+ cv.parentKey = 'property';
291
+ cv.parentNode = tm;
292
+ m = tm;
293
+ }
294
+ }
295
+ if (m) {
296
+ m.property = p;
297
+ p.parentNode = m;
298
+ p.parentKey = 'property';
299
+ }
300
+ let prevalue = '';
301
+ if (t.length) {
302
+ prevalue = `${t.join('.')}.`;
303
+ }
304
+ const noChildType = v.typeAnnotation ? isNoChildType(v.typeAnnotation.typeKey) : true;
305
+ const item = {
306
+ expression: m || p,
307
+ name: v.name,
308
+ value: prevalue + v.name,
298
309
  };
310
+
311
+ if (!noChildType) {
312
+ nextFindTypeChild(v.typeAnnotation.typeKey, item, v);
313
+ }
314
+
315
+ const cp = new CompletionProperty(item);
316
+ console.log(cp.value, v);
317
+ cp.icon = v.concept;
318
+ return cp;
319
+ };
299
320
  }
300
321
 
301
322
  export function getPreviousTask(node: ProcessElement, nodePorcess?: Process) {
302
- const process = node.process || nodePorcess;
303
- const elems = process.elements;
304
- const elements: ProcessElement[] = [];
305
- const visitedMap = new WeakMap();
306
- function iterator(processElem: ProcessElement) {
307
- if (visitedMap.has(processElem)) {
308
- return;
309
- }
310
- if (processElem !== node && (processElem.isUserTask || processElem.type === 'AutoTask')) {
311
- elements.push(processElem);
312
- }
313
- visitedMap.set(processElem, true);
314
- let links = [];
315
- if (processElem.parentNode?.concept === 'BindEvent' || processElem.parentNode?.concept === 'Assignee') {
316
- const elemParentNode = processElem.getAncestor('ProcessElement') || processElem.getAncestor('Process');
317
- links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === elemParentNode.name); //流程事件api逻辑名字与任务名字不同,需要重新适配
318
- } else
319
- links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === processElem.name);
320
- links.forEach((l) => {
321
- const s = l.sourceRef;
322
- const t = elems.find((el) => el.name === s);
323
- if (t) {
324
- iterator(t);
325
- }
326
- });
323
+ const process = node.process || nodePorcess;
324
+ const elems = process.elements;
325
+ const elements: ProcessElement[] = [];
326
+ const visitedMap = new WeakMap();
327
+ function iterator(processElem: ProcessElement) {
328
+ if (visitedMap.has(processElem)) {
329
+ return;
330
+ }
331
+ if (processElem !== node && (processElem.isUserTask || processElem.type === 'AutoTask')) {
332
+ elements.push(processElem);
327
333
  }
334
+ visitedMap.set(processElem, true);
335
+ let links = [];
336
+ if (processElem.parentNode?.concept === 'BindEvent' || processElem.parentNode?.concept === 'Assignee') {
337
+ const elemParentNode = processElem.getAncestor('ProcessElement') || processElem.getAncestor('Process');
338
+ links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === elemParentNode.name); // 流程事件api逻辑名字与任务名字不同,需要重新适配
339
+ } else links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === processElem.name);
340
+ links.forEach((l) => {
341
+ const s = l.sourceRef;
342
+ const t = elems.find((el) => el.name === s);
343
+ if (t) {
344
+ iterator(t);
345
+ }
346
+ });
347
+ }
328
348
 
329
- iterator(node);
330
- return elements;
349
+ iterator(node);
350
+ return elements;
331
351
  }
332
352
 
333
353
  export function getProcessVariableSuggestions(node: LogicItem, abandonConstant: boolean = false): CompletionProperty {
334
- // if (!node.processElement) {
335
- // return;
336
- // }
337
- //流程下的callback没有processElement
338
- const tempPorcessEle = new ProcessElement({});
339
- const processElem = node.processElement || tempPorcessEle;
340
- const process = node.process;
341
-
342
- const elements: ProcessElement[] = getPreviousTask(processElem, process);
343
- const prevtasks = elements.map((us) => {
344
- const cp = new CompletionProperty({
345
- name: us.name,
346
- value: us.name,
347
- children: [
348
- ...us.returns.map(genCompletionProperty([process.name, us.name])),
349
- ...(abandonConstant ? [] : us.constants.map(genCompletionProperty([process.name, us.name]))),
350
- ],
351
- });
352
- cp.icon = us.type;
353
- cp.isProcess = true;
354
- return cp;
354
+ // if (!node.processElement) {
355
+ // return;
356
+ // }
357
+ // 流程下的callback没有processElement
358
+ const tempPorcessEle = new ProcessElement({});
359
+ const processElem = node.processElement || tempPorcessEle;
360
+ const { process } = node;
361
+
362
+ const elements: ProcessElement[] = getPreviousTask(processElem, process);
363
+ const prevtasks = elements.map((us) => {
364
+ const cp = new CompletionProperty({
365
+ name: us.name,
366
+ value: us.name,
367
+ children: [
368
+ ...us.returns.map(genCompletionProperty([process.name, us.name])),
369
+ ...(abandonConstant ? [] : us.constants.map(genCompletionProperty([process.name, us.name]))),
370
+ ],
355
371
  });
356
-
357
- const processVariables = new CompletionProperty({
358
- name: process.name,
359
- value: process.name,
360
- children: [
361
- ...process.params.map(genCompletionProperty([process.name])),
362
- ...process.returns.map(genCompletionProperty([process.name])),
363
- ...process.constants.map(genCompletionProperty([process.name])),
364
- ...prevtasks,
365
- ],
372
+ cp.icon = us.type;
373
+ cp.isProcess = true;
374
+ return cp;
375
+ });
376
+
377
+ const processVariables = new CompletionProperty({
378
+ name: process.name,
379
+ value: process.name,
380
+ children: [
381
+ ...process.params.map(genCompletionProperty([process.name])),
382
+ ...process.returns.map(genCompletionProperty([process.name])),
383
+ ...process.constants.map(genCompletionProperty([process.name])),
384
+ ...prevtasks,
385
+ ],
386
+ });
387
+ processVariables.icon = 'Process';
388
+ if (processElem.type === 'ExclusiveGateway') {
389
+ const scopeVariable = new CompletionProperty({
390
+ name: processElem.name,
391
+ value: processElem.name,
392
+ icon: processElem.type,
393
+ children: processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
366
394
  });
367
- processVariables.icon = 'Process';
368
- if (processElem.type === 'ExclusiveGateway') {
369
- const scopeVariable = new CompletionProperty({
370
- name: processElem.name,
371
- value: processElem.name,
372
- icon: processElem.type,
373
- children: processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
374
- });
375
- scopeVariable.isProcess = true;
376
- scopeVariable.icon = processElem.type;
377
- processVariables.children.push(scopeVariable);
378
- }
379
-
380
- if (processElem.isUserTask) {
381
- // 任务完成时可以拿到该任务的输出参数
382
- let returns: CompletionProperty[] = [];
383
- if (node.logic && node.logic.parentNode.name === 'OnClose') {
384
- returns = processElem.returns.map(genCompletionProperty([process.name, processElem.name]));
385
- }
386
- const scopeVariable = new CompletionProperty({
387
- name: processElem.name,
388
- value: processElem.name,
389
- icon: processElem.type,
390
- children: [
391
- ...returns,
392
- ...processElem.constants.map(genCompletionProperty([process.name, processElem.name])),
393
- ],
394
- });
395
- scopeVariable.isProcess = true;
396
- scopeVariable.icon = processElem.type;
397
- processVariables.children.push(scopeVariable);
395
+ scopeVariable.isProcess = true;
396
+ scopeVariable.icon = processElem.type;
397
+ processVariables.children.push(scopeVariable);
398
+ }
399
+
400
+ if (processElem.isUserTask) {
401
+ // 任务完成时可以拿到该任务的输出参数
402
+ let returns: CompletionProperty[] = [];
403
+ if (node.logic && node.logic.parentNode.name === 'OnClose') {
404
+ returns = processElem.returns.map(genCompletionProperty([process.name, processElem.name]));
398
405
  }
399
- if (processElem.type === 'AutoTask') {
400
- const scopeVariable = new CompletionProperty({
401
- name: processElem.name,
402
- value: processElem.name,
403
- icon: processElem.type,
404
- children: [
405
- ...processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
406
- ...processElem.returns.map(genCompletionProperty([process.name, processElem.name])),
407
- ],
408
- });
409
- scopeVariable.isProcess = true;
410
- scopeVariable.icon = processElem.type;
411
- processVariables.children.push(scopeVariable);
412
- }
413
- return processVariables;
406
+ const scopeVariable = new CompletionProperty({
407
+ name: processElem.name,
408
+ value: processElem.name,
409
+ icon: processElem.type,
410
+ children: [...returns, ...processElem.constants.map(genCompletionProperty([process.name, processElem.name]))],
411
+ });
412
+ scopeVariable.isProcess = true;
413
+ scopeVariable.icon = processElem.type;
414
+ processVariables.children.push(scopeVariable);
415
+ }
416
+ if (processElem.type === 'AutoTask') {
417
+ const scopeVariable = new CompletionProperty({
418
+ name: processElem.name,
419
+ value: processElem.name,
420
+ icon: processElem.type,
421
+ children: [
422
+ ...processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
423
+ ...processElem.returns.map(genCompletionProperty([process.name, processElem.name])),
424
+ ],
425
+ });
426
+ scopeVariable.isProcess = true;
427
+ scopeVariable.icon = processElem.type;
428
+ processVariables.children.push(scopeVariable);
429
+ }
430
+ return processVariables;
414
431
  }
415
432
 
416
433
  export function getProcessVaraibleSelections(node: Logic, list: VariableSuggestion) {
417
- const process = node.process;
418
- const processElem = node.processElement;
419
- const exsitNames = processElem.getVarExistingNames();
420
-
421
- const data: Suggestion = {
422
- name: '流程变量',
423
- children: [],
424
- };
425
- const processData: CompletionData = {
426
- name: process.name,
427
- concept: 'Process',
428
- value: process.name,
429
- selectable: false,
430
- children: [],
434
+ const { process } = node;
435
+ const processElem = node.processElement;
436
+ const exsitNames = processElem.getVarExistingNames();
437
+
438
+ const data: Suggestion = {
439
+ name: '流程变量',
440
+ children: [],
441
+ };
442
+ const processData: CompletionData = {
443
+ name: process.name,
444
+ concept: 'Process',
445
+ value: process.name,
446
+ selectable: false,
447
+ children: [],
448
+ };
449
+ data.children.push(processData);
450
+ const vars = list.find((i) => i.name === '变量');
451
+ const varidx = list.findIndex((i) => i.name === '变量');
452
+ const processVars = vars.children.find((v) => v.children && v.name === process.name) as CompletionPropertyEnhance;
453
+ const elementVars = vars.children.filter((v) => exsitNames.includes(v.name));
454
+ // console.log(list);
455
+ if (processVars) {
456
+ processVars.children.forEach((p: CompletionProperty) => {
457
+ processData.children.push(p as any as CompletionData);
458
+ });
459
+ }
460
+
461
+ if (elementVars) {
462
+ const processElementData: CompletionData = {
463
+ name: processElem.name,
464
+ concept: 'ProcessElement',
465
+ value: processElem.name,
466
+ selectable: false,
467
+ children: [],
431
468
  };
432
- data.children.push(processData);
433
- const vars = list.find((i) => i.name === '变量');
434
- const varidx = list.findIndex((i) => i.name === '变量');
435
- const processVars = vars.children.find((v) => v.children && v.name === process.name) as CompletionPropertyEnhance;
436
- const elementVars = vars.children.filter((v) => exsitNames.includes(v.name));
437
- // console.log(list);
438
- if (processVars) {
439
- processVars.children.forEach((p: CompletionProperty) => {
440
- processData.children.push(p as any as CompletionData);
441
- });
442
- }
443
-
444
- if (elementVars) {
445
- const processElementData: CompletionData = {
446
- name: processElem.name,
447
- concept: 'ProcessElement',
448
- value: processElem.name,
449
- selectable: false,
450
- children: [],
451
- };
452
- processData.children.push(processElementData);
453
- elementVars.forEach((p) => {
454
- processElementData.children.push(p as CompletionData);
455
- });
456
- }
469
+ processData.children.push(processElementData);
470
+ elementVars.forEach((p) => {
471
+ processElementData.children.push(p as CompletionData);
472
+ });
473
+ }
457
474
 
458
- list.splice(varidx, 1, data);
475
+ list.splice(varidx, 1, data);
459
476
  }
460
477
 
461
- function deduceTypeAnnotation(app: App,
462
- node: Variable | Param | Return | Constant | EntityProperty | StructureProperty,
463
- typeA: TypeAnnotation,
464
- prefix: string[],
465
- records: BaseNode[]) {
466
- const ns = typeA.typeNamespace;
467
- const name = typeA.typeName;
468
- const completion = genCompletionProperty(prefix)(node);
469
- if (ns.startsWith('nasl')) {
470
- return completion;
471
- }
472
- const nsPath = `${ns}.${name}`;
473
-
474
- const typeNode = getNodeByNodeCallee(app, nsPath);
475
- if (records.includes(typeNode)) {
476
- return null;
477
- }
478
- if (typeNode) {
479
- records.push(typeNode);
480
- const children = typeNode.properties.map((p: EntityProperty | StructureProperty) => deduceTypeAnnotation(app, p, p.typeAnnotation, prefix.concat([node.name]), records.slice())).filter((q: CompletionProperty | null) => !!q);
481
- completion.children = children;
482
- completion.expanded = true;
483
- return completion;
484
- }
478
+ function deduceTypeAnnotation(
479
+ app: App,
480
+ node: Variable | Param | Return | Constant | EntityProperty | StructureProperty,
481
+ typeA: TypeAnnotation,
482
+ prefix: string[],
483
+ records: BaseNode[]
484
+ ) {
485
+ const ns = typeA.typeNamespace;
486
+ const name = typeA.typeName;
487
+ const completion = genCompletionProperty(prefix)(node);
488
+ if (ns.startsWith('nasl')) {
489
+ return completion;
490
+ }
491
+ const nsPath = `${ns}.${name}`;
492
+
493
+ const typeNode = getNodeByNodeCallee(app, nsPath);
494
+ if (records.includes(typeNode)) {
495
+ return null;
496
+ }
497
+ if (typeNode) {
498
+ records.push(typeNode);
499
+ const children = typeNode.properties
500
+ .map((p: EntityProperty | StructureProperty) => deduceTypeAnnotation(app, p, p.typeAnnotation, prefix.concat([node.name]), records.slice()))
501
+ .filter((q: CompletionProperty | null) => !!q);
502
+ completion.children = children;
503
+ completion.expanded = true;
504
+ return completion;
505
+ }
485
506
  }
486
507
 
487
508
  export function getProcessVariableSuggestionsAll(node: ProcessElement, exitConstantId?: Boolean) {
488
- const processElem = node;
489
- const process = node.process;
490
- const app = node.app;
491
- const elements: ProcessElement[] = getPreviousTask(processElem);
492
- const prevtasks = elements.map((us) => {
493
- const returns = us.returns.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], []));
494
- let constants = us.constants.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], []));
495
- exitConstantId && (constants = constants.filter((constant) => constant.name !== 'taskId'));
496
- const cp = new CompletionProperty({
497
- name: us.name,
498
- value: us.name,
499
- children: [
500
- ...returns,
501
- ...constants,
502
- ],
503
- });
504
- cp.expanded = true;
505
- cp.icon = us.type;
506
- cp.isProcess = true;
507
- return cp;
509
+ const processElem = node;
510
+ const { process } = node;
511
+ const { app } = node;
512
+ const elements: ProcessElement[] = getPreviousTask(processElem);
513
+ const prevtasks = elements.map((us) => {
514
+ const returns = us.returns.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], []));
515
+ let constants = us.constants.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], []));
516
+ exitConstantId && (constants = constants.filter((constant) => constant.name !== 'taskId'));
517
+ const cp = new CompletionProperty({
518
+ name: us.name,
519
+ value: us.name,
520
+ children: [...returns, ...constants],
508
521
  });
509
-
510
- let processContants = process.constants.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], []));
511
- exitConstantId && (processContants = processContants.filter((constant) => constant.name !== 'processId'));
512
- const processVariables = new CompletionProperty({
513
- name: process.name,
514
- value: process.name,
515
- children: [
516
- ...process.params.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
517
- ...process.returns.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
518
- ...processContants,
519
- ...prevtasks,
520
- ],
522
+ cp.expanded = true;
523
+ cp.icon = us.type;
524
+ cp.isProcess = true;
525
+ return cp;
526
+ });
527
+
528
+ let processContants = process.constants.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], []));
529
+ exitConstantId && (processContants = processContants.filter((constant) => constant.name !== 'processId'));
530
+ const processVariables = new CompletionProperty({
531
+ name: process.name,
532
+ value: process.name,
533
+ children: [
534
+ ...process.params.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
535
+ ...process.returns.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
536
+ ...processContants,
537
+ ...prevtasks,
538
+ ],
539
+ });
540
+ processVariables.expanded = true;
541
+ processVariables.icon = 'Process';
542
+ if (processElem.type === 'ExclusiveGateway') {
543
+ const scopeVariable = new CompletionProperty({
544
+ name: processElem.name,
545
+ value: processElem.name,
546
+ icon: processElem.type,
547
+ children: processElem.variables.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
521
548
  });
522
- processVariables.expanded = true;
523
- processVariables.icon = 'Process';
524
- if (processElem.type === 'ExclusiveGateway') {
525
- const scopeVariable = new CompletionProperty({
526
- name: processElem.name,
527
- value: processElem.name,
528
- icon: processElem.type,
529
- children: processElem.variables.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
530
- });
531
- scopeVariable.expanded = true;
532
- scopeVariable.isProcess = true;
533
- scopeVariable.icon = processElem.type;
534
- processVariables.children.push(scopeVariable);
535
- }
536
-
537
- if ((processElem.isUserTask) && !exitConstantId) {
538
- const scopeVariable = new CompletionProperty({
539
- name: processElem.name,
540
- value: processElem.name,
541
- icon: processElem.type,
542
- children: processElem.constants.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
543
- });
544
- scopeVariable.expanded = true;
545
- scopeVariable.isProcess = true;
546
- scopeVariable.icon = processElem.type;
547
- processVariables.children.push(scopeVariable);
548
- }
549
- if (processElem.type === 'AutoTask') {
550
- const scopeVariable = new CompletionProperty({
551
- name: processElem.name,
552
- value: processElem.name,
553
- icon: processElem.type,
554
- children: [
555
- ...processElem.variables.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
556
- ...processElem.returns.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
557
- ],
558
- });
559
- scopeVariable.expanded = true;
560
- scopeVariable.isProcess = true;
561
- scopeVariable.icon = processElem.type;
562
- processVariables.children.push(scopeVariable);
563
- }
564
- return processVariables;
549
+ scopeVariable.expanded = true;
550
+ scopeVariable.isProcess = true;
551
+ scopeVariable.icon = processElem.type;
552
+ processVariables.children.push(scopeVariable);
553
+ }
554
+
555
+ if (processElem.isUserTask && !exitConstantId) {
556
+ const scopeVariable = new CompletionProperty({
557
+ name: processElem.name,
558
+ value: processElem.name,
559
+ icon: processElem.type,
560
+ children: processElem.constants.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
561
+ });
562
+ scopeVariable.expanded = true;
563
+ scopeVariable.isProcess = true;
564
+ scopeVariable.icon = processElem.type;
565
+ processVariables.children.push(scopeVariable);
566
+ }
567
+ if (processElem.type === 'AutoTask') {
568
+ const scopeVariable = new CompletionProperty({
569
+ name: processElem.name,
570
+ value: processElem.name,
571
+ icon: processElem.type,
572
+ children: [
573
+ ...processElem.variables.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
574
+ ...processElem.returns.map((node) => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
575
+ ],
576
+ });
577
+ scopeVariable.expanded = true;
578
+ scopeVariable.isProcess = true;
579
+ scopeVariable.icon = processElem.type;
580
+ processVariables.children.push(scopeVariable);
581
+ }
582
+ return processVariables;
565
583
  }
566
584
 
567
585
  export function getFlowAfterElements(el: ProcessElement) {
568
- const process = el.process;
569
- const processname = el.name;
570
- const elems = process.elements;
571
- const links = elems.filter((e) => e.type === 'SequenceFlow' && e.sourceRef === processname);
572
- return links;
586
+ const { process } = el;
587
+ const processname = el.name;
588
+ const elems = process.elements;
589
+ const links = elems.filter((e) => e.type === 'SequenceFlow' && e.sourceRef === processname);
590
+ return links;
573
591
  }
574
592
  export function getFlowBeforeElements(el: ProcessElement) {
575
- const process = el.process;
576
- const processname = el.name;
577
- const elems = process.elements;
578
- const links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === processname);
579
- return links;
593
+ const { process } = el;
594
+ const processname = el.name;
595
+ const elems = process.elements;
596
+ const links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === processname);
597
+ return links;
580
598
  }
581
599
 
582
600
  export function isFromStartNode(el: ProcessElement) {
583
- const process = el.process;
584
- // const processname = el.name;
585
- const elems = process.elements;
586
- const set = new WeakSet();
587
- const stack = [el];
588
- while (stack.length) {
589
- const t = stack.shift();
590
- const name = t.name;
591
- if (t.type === 'StartNoneEvent') {
592
- return true;
593
- }
594
- elems.forEach((e) => {
595
- if (e.type === 'SequenceFlow'
596
- && e.targetRef === name
597
- && !set.has(e)) {
598
- set.add(e);
599
- const sourcename = e.sourceRef;
600
- const source = elems.find((e) => e.name === sourcename);
601
- stack.push(source);
602
- }
603
- });
601
+ const { process } = el;
602
+ // const processname = el.name;
603
+ const elems = process.elements;
604
+ const set = new WeakSet();
605
+ const stack = [el];
606
+ while (stack.length) {
607
+ const t = stack.shift();
608
+ const { name } = t;
609
+ if (t.type === 'StartNoneEvent') {
610
+ return true;
604
611
  }
605
- return false;
612
+ elems.forEach((e) => {
613
+ if (e.type === 'SequenceFlow' && e.targetRef === name && !set.has(e)) {
614
+ set.add(e);
615
+ const sourcename = e.sourceRef;
616
+ const source = elems.find((e) => e.name === sourcename);
617
+ stack.push(source);
618
+ }
619
+ });
620
+ }
621
+ return false;
606
622
  }
607
623
 
608
624
  export function findNodeAfterNodeInFlow(el: ProcessElement) {
609
- const process = el.process;
610
- const elems = process.elements;
611
- const set = new WeakSet();
612
- const nodeSet = new Set();
613
- const stack = [el];
614
- while (stack.length) {
615
- const t = stack.shift();
616
- if (el !== t) {
617
- nodeSet.add(t);
618
- }
619
- const name = t.name;
620
- elems.forEach((e) => {
621
- if (e.type === 'SequenceFlow'
622
- && e.sourceRef === name
623
- && !set.has(e)) {
624
- set.add(e);
625
- const targetname = e.targetRef;
626
- const source = elems.find((e) => e.name === targetname);
627
- stack.push(source);
628
- }
629
- });
625
+ const { process } = el;
626
+ const elems = process.elements;
627
+ const set = new WeakSet();
628
+ const nodeSet = new Set();
629
+ const stack = [el];
630
+ while (stack.length) {
631
+ const t = stack.shift();
632
+ if (el !== t) {
633
+ nodeSet.add(t);
630
634
  }
631
- return Array.from(nodeSet);
635
+ const { name } = t;
636
+ elems.forEach((e) => {
637
+ if (e.type === 'SequenceFlow' && e.sourceRef === name && !set.has(e)) {
638
+ set.add(e);
639
+ const targetname = e.targetRef;
640
+ const source = elems.find((e) => e.name === targetname);
641
+ stack.push(source);
642
+ }
643
+ });
644
+ }
645
+ return Array.from(nodeSet);
632
646
  }