@lcap/nasl 3.2.0-beta.4 → 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 (774) hide show
  1. package/out/automate/upgrader/2.20.js +1 -1
  2. package/out/automate/upgrader/2.20.js.map +1 -1
  3. package/out/bak/translator.js +11 -15
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  6. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  7. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  8. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  9. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  10. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  11. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  12. package/out/breakpoint/generator/CallbackNode.js +22 -0
  13. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  14. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  15. package/out/breakpoint/generator/FragmentNode.js +18 -0
  16. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  17. package/out/breakpoint/generator/index.js +25 -4
  18. package/out/breakpoint/generator/index.js.map +1 -1
  19. package/out/breakpoint/shared/constants.d.ts +3 -0
  20. package/out/breakpoint/shared/constants.js +6 -1
  21. package/out/breakpoint/shared/constants.js.map +1 -1
  22. package/out/breakpoint/shared/operations.js.map +1 -1
  23. package/out/breakpoint/shared/socket.d.ts +1 -1
  24. package/out/breakpoint/shared/socket.js +36 -7
  25. package/out/breakpoint/shared/socket.js.map +1 -1
  26. package/out/breakpoint/shared/utils.d.ts +2 -0
  27. package/out/breakpoint/shared/utils.js +15 -2
  28. package/out/breakpoint/shared/utils.js.map +1 -1
  29. package/out/breakpoint/store/core.d.ts +48 -2
  30. package/out/breakpoint/store/core.js +58 -32
  31. package/out/breakpoint/store/core.js.map +1 -1
  32. package/out/breakpoint/store/dock.js +1 -1
  33. package/out/breakpoint/store/dock.js.map +1 -1
  34. package/out/common/BaseNode.d.ts +1 -1
  35. package/out/common/BaseNode.js +105 -51
  36. package/out/common/BaseNode.js.map +1 -1
  37. package/out/common/Command.d.ts +13 -2
  38. package/out/common/Command.js +37 -9
  39. package/out/common/Command.js.map +1 -1
  40. package/out/common/EventEmitter.js.map +1 -1
  41. package/out/common/Messager.d.ts +3 -3
  42. package/out/common/Messager.js +6 -7
  43. package/out/common/Messager.js.map +1 -1
  44. package/out/common/asyncFuncMap.js.map +1 -1
  45. package/out/concepts/Abort__.js +6 -5
  46. package/out/concepts/Abort__.js.map +1 -1
  47. package/out/concepts/Anchor__.d.ts +4 -3
  48. package/out/concepts/Anchor__.js +24 -7
  49. package/out/concepts/Anchor__.js.map +1 -1
  50. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  51. package/out/concepts/AnonymousFunction__.js +48 -22
  52. package/out/concepts/AnonymousFunction__.js.map +1 -1
  53. package/out/concepts/App__.d.ts +421 -247
  54. package/out/concepts/App__.js +286 -54
  55. package/out/concepts/App__.js.map +1 -1
  56. package/out/concepts/Argument__.d.ts +4 -3
  57. package/out/concepts/Argument__.js +42 -11
  58. package/out/concepts/Argument__.js.map +1 -1
  59. package/out/concepts/Assignee__.d.ts +45 -45
  60. package/out/concepts/Assignee__.js +15 -15
  61. package/out/concepts/Assignee__.js.map +1 -1
  62. package/out/concepts/AssignmentLine__.js +6 -5
  63. package/out/concepts/AssignmentLine__.js.map +1 -1
  64. package/out/concepts/Assignment__.d.ts +7 -6
  65. package/out/concepts/Assignment__.js +40 -22
  66. package/out/concepts/Assignment__.js.map +1 -1
  67. package/out/concepts/Attribute__.d.ts +3 -3
  68. package/out/concepts/Attribute__.js +8 -7
  69. package/out/concepts/Attribute__.js.map +1 -1
  70. package/out/concepts/AuthInterface__.js +4 -3
  71. package/out/concepts/AuthInterface__.js.map +1 -1
  72. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  73. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  74. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  75. package/out/concepts/AuthLogic__.js +27 -13
  76. package/out/concepts/AuthLogic__.js.map +1 -1
  77. package/out/concepts/BackendVariable__.d.ts +5 -5
  78. package/out/concepts/BackendVariable__.js +23 -26
  79. package/out/concepts/BackendVariable__.js.map +1 -1
  80. package/out/concepts/Backend__.d.ts +18 -18
  81. package/out/concepts/Backend__.js +13 -13
  82. package/out/concepts/Backend__.js.map +1 -1
  83. package/out/concepts/BatchAssignment__.d.ts +34 -33
  84. package/out/concepts/BatchAssignment__.js +83 -43
  85. package/out/concepts/BatchAssignment__.js.map +1 -1
  86. package/out/concepts/BinaryExpression__.d.ts +7 -6
  87. package/out/concepts/BinaryExpression__.js +60 -24
  88. package/out/concepts/BinaryExpression__.js.map +1 -1
  89. package/out/concepts/BindAttribute__.d.ts +37 -37
  90. package/out/concepts/BindAttribute__.js +101 -48
  91. package/out/concepts/BindAttribute__.js.map +1 -1
  92. package/out/concepts/BindDirective__.d.ts +13 -13
  93. package/out/concepts/BindDirective__.js +23 -21
  94. package/out/concepts/BindDirective__.js.map +1 -1
  95. package/out/concepts/BindEvent__.d.ts +28 -28
  96. package/out/concepts/BindEvent__.js +99 -48
  97. package/out/concepts/BindEvent__.js.map +1 -1
  98. package/out/concepts/BindStyle__.d.ts +14 -15
  99. package/out/concepts/BindStyle__.js +16 -16
  100. package/out/concepts/BindStyle__.js.map +1 -1
  101. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  102. package/out/concepts/BooleanLiteral__.js +12 -5
  103. package/out/concepts/BooleanLiteral__.js.map +1 -1
  104. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  105. package/out/concepts/CallAuthInterface__.js +23 -22
  106. package/out/concepts/CallAuthInterface__.js.map +1 -1
  107. package/out/concepts/CallConnector__.d.ts +11 -9
  108. package/out/concepts/CallConnector__.js +79 -36
  109. package/out/concepts/CallConnector__.js.map +1 -1
  110. package/out/concepts/CallFunction__.d.ts +17 -16
  111. package/out/concepts/CallFunction__.js +95 -63
  112. package/out/concepts/CallFunction__.js.map +1 -1
  113. package/out/concepts/CallInterface__.d.ts +9 -8
  114. package/out/concepts/CallInterface__.js +71 -30
  115. package/out/concepts/CallInterface__.js.map +1 -1
  116. package/out/concepts/CallLogic__.d.ts +20 -19
  117. package/out/concepts/CallLogic__.js +155 -52
  118. package/out/concepts/CallLogic__.js.map +1 -1
  119. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  120. package/out/concepts/CallQueryComponent__.js +66 -63
  121. package/out/concepts/CallQueryComponent__.js.map +1 -1
  122. package/out/concepts/Comment__.d.ts +1 -0
  123. package/out/concepts/Comment__.js +13 -6
  124. package/out/concepts/Comment__.js.map +1 -1
  125. package/out/concepts/CompletionProperty__.d.ts +3 -3
  126. package/out/concepts/CompletionProperty__.js +8 -7
  127. package/out/concepts/CompletionProperty__.js.map +1 -1
  128. package/out/concepts/ConfigGroup__.d.ts +15 -15
  129. package/out/concepts/ConfigGroup__.js +9 -9
  130. package/out/concepts/ConfigGroup__.js.map +1 -1
  131. package/out/concepts/ConfigPropertyValue__.js +4 -3
  132. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  133. package/out/concepts/ConfigProperty__.d.ts +15 -15
  134. package/out/concepts/ConfigProperty__.js +10 -10
  135. package/out/concepts/ConfigProperty__.js.map +1 -1
  136. package/out/concepts/Configuration__.d.ts +15 -15
  137. package/out/concepts/Configuration__.js +9 -9
  138. package/out/concepts/Configuration__.js.map +1 -1
  139. package/out/concepts/Connection__.d.ts +166 -0
  140. package/out/concepts/Connection__.js +332 -0
  141. package/out/concepts/Connection__.js.map +1 -0
  142. package/out/concepts/ConnectorTrigger__.js +4 -3
  143. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  144. package/out/concepts/Connector__.d.ts +66 -66
  145. package/out/concepts/Connector__.js +16 -15
  146. package/out/concepts/Connector__.js.map +1 -1
  147. package/out/concepts/Constant__.d.ts +3 -3
  148. package/out/concepts/Constant__.js +8 -7
  149. package/out/concepts/Constant__.js.map +1 -1
  150. package/out/concepts/DataElement__.d.ts +3 -3
  151. package/out/concepts/DataElement__.js +6 -5
  152. package/out/concepts/DataElement__.js.map +1 -1
  153. package/out/concepts/DataSource__.d.ts +15 -15
  154. package/out/concepts/DataSource__.js +55 -39
  155. package/out/concepts/DataSource__.js.map +1 -1
  156. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  157. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  158. package/out/concepts/Destination__.d.ts +12 -11
  159. package/out/concepts/Destination__.js +93 -36
  160. package/out/concepts/Destination__.js.map +1 -1
  161. package/out/concepts/End__.js +15 -13
  162. package/out/concepts/End__.js.map +1 -1
  163. package/out/concepts/EntityIndex__.d.ts +1 -1
  164. package/out/concepts/EntityIndex__.js +6 -5
  165. package/out/concepts/EntityIndex__.js.map +1 -1
  166. package/out/concepts/EntityProperty__.d.ts +8 -7
  167. package/out/concepts/EntityProperty__.js +39 -24
  168. package/out/concepts/EntityProperty__.js.map +1 -1
  169. package/out/concepts/Entity__.d.ts +31 -30
  170. package/out/concepts/Entity__.js +40 -16
  171. package/out/concepts/Entity__.js.map +1 -1
  172. package/out/concepts/EnumItem__.d.ts +1 -0
  173. package/out/concepts/EnumItem__.js +12 -5
  174. package/out/concepts/EnumItem__.js.map +1 -1
  175. package/out/concepts/Enum__.d.ts +9 -8
  176. package/out/concepts/Enum__.js +24 -11
  177. package/out/concepts/Enum__.js.map +1 -1
  178. package/out/concepts/Event__.d.ts +15 -15
  179. package/out/concepts/Event__.js +6 -5
  180. package/out/concepts/Event__.js.map +1 -1
  181. package/out/concepts/ExternalDestination__.d.ts +6 -6
  182. package/out/concepts/ExternalDestination__.js +12 -11
  183. package/out/concepts/ExternalDestination__.js.map +1 -1
  184. package/out/concepts/ForEachStatement__.d.ts +25 -24
  185. package/out/concepts/ForEachStatement__.js +101 -36
  186. package/out/concepts/ForEachStatement__.js.map +1 -1
  187. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  188. package/out/concepts/FrontendLibrary__.js +12 -13
  189. package/out/concepts/FrontendLibrary__.js.map +1 -1
  190. package/out/concepts/FrontendVariable__.js +4 -3
  191. package/out/concepts/FrontendVariable__.js.map +1 -1
  192. package/out/concepts/Frontend__.d.ts +64 -65
  193. package/out/concepts/Frontend__.js +23 -27
  194. package/out/concepts/Frontend__.js.map +1 -1
  195. package/out/concepts/Function__.d.ts +64 -63
  196. package/out/concepts/Function__.js +49 -21
  197. package/out/concepts/Function__.js.map +1 -1
  198. package/out/concepts/Identifier__.js +37 -31
  199. package/out/concepts/Identifier__.js.map +1 -1
  200. package/out/concepts/IfStatement__.d.ts +20 -19
  201. package/out/concepts/IfStatement__.js +64 -34
  202. package/out/concepts/IfStatement__.js.map +1 -1
  203. package/out/concepts/Integration__.d.ts +3 -3
  204. package/out/concepts/Integration__.js +8 -7
  205. package/out/concepts/Integration__.js.map +1 -1
  206. package/out/concepts/InterfaceParam__.d.ts +3 -3
  207. package/out/concepts/InterfaceParam__.js +7 -6
  208. package/out/concepts/InterfaceParam__.js.map +1 -1
  209. package/out/concepts/Interface__.d.ts +33 -33
  210. package/out/concepts/Interface__.js +19 -20
  211. package/out/concepts/Interface__.js.map +1 -1
  212. package/out/concepts/JSBlock__.d.ts +1 -0
  213. package/out/concepts/JSBlock__.js +12 -5
  214. package/out/concepts/JSBlock__.js.map +1 -1
  215. package/out/concepts/JavaLogic__.js +10 -9
  216. package/out/concepts/JavaLogic__.js.map +1 -1
  217. package/out/concepts/LogicItem__.d.ts +6 -0
  218. package/out/concepts/LogicItem__.js +14 -5
  219. package/out/concepts/LogicItem__.js.map +1 -1
  220. package/out/concepts/Logic__.d.ts +80 -79
  221. package/out/concepts/Logic__.js +204 -58
  222. package/out/concepts/Logic__.js.map +1 -1
  223. package/out/concepts/MatchCase__.d.ts +39 -38
  224. package/out/concepts/MatchCase__.js +122 -37
  225. package/out/concepts/MatchCase__.js.map +1 -1
  226. package/out/concepts/Match__.d.ts +13 -11
  227. package/out/concepts/Match__.js +128 -60
  228. package/out/concepts/Match__.js.map +1 -1
  229. package/out/concepts/MemberExpression__.d.ts +7 -6
  230. package/out/concepts/MemberExpression__.js +52 -22
  231. package/out/concepts/MemberExpression__.js.map +1 -1
  232. package/out/concepts/MicroApp__.js +4 -3
  233. package/out/concepts/MicroApp__.js.map +1 -1
  234. package/out/concepts/Module__.d.ts +239 -155
  235. package/out/concepts/Module__.js +139 -33
  236. package/out/concepts/Module__.js.map +1 -1
  237. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  238. package/out/concepts/MsgTriggerEvent__.js +6 -5
  239. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  240. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  241. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  242. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  243. package/out/concepts/Namespace__.d.ts +180 -180
  244. package/out/concepts/Namespace__.js +33 -34
  245. package/out/concepts/Namespace__.js.map +1 -1
  246. package/out/concepts/NewComposite__.d.ts +49 -48
  247. package/out/concepts/NewComposite__.js +164 -49
  248. package/out/concepts/NewComposite__.js.map +1 -1
  249. package/out/concepts/NewList__.d.ts +19 -18
  250. package/out/concepts/NewList__.js +29 -12
  251. package/out/concepts/NewList__.js.map +1 -1
  252. package/out/concepts/NewMap__.d.ts +34 -33
  253. package/out/concepts/NewMap__.js +81 -72
  254. package/out/concepts/NewMap__.js.map +1 -1
  255. package/out/concepts/New__.js +6 -5
  256. package/out/concepts/New__.js.map +1 -1
  257. package/out/concepts/NullLiteral__.js +6 -5
  258. package/out/concepts/NullLiteral__.js.map +1 -1
  259. package/out/concepts/NumericLiteral__.d.ts +4 -3
  260. package/out/concepts/NumericLiteral__.js +15 -8
  261. package/out/concepts/NumericLiteral__.js.map +1 -1
  262. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  263. package/out/concepts/OqlQueryComponent__.js +25 -16
  264. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  266. package/out/concepts/OverriddenLogic__.js +79 -58
  267. package/out/concepts/OverriddenLogic__.js.map +1 -1
  268. package/out/concepts/Param__.d.ts +6 -5
  269. package/out/concepts/Param__.js +66 -29
  270. package/out/concepts/Param__.js.map +1 -1
  271. package/out/concepts/Point__.js +4 -3
  272. package/out/concepts/Point__.js.map +1 -1
  273. package/out/concepts/ProcessComponent__.d.ts +30 -30
  274. package/out/concepts/ProcessComponent__.js +8 -7
  275. package/out/concepts/ProcessComponent__.js.map +1 -1
  276. package/out/concepts/ProcessElement__.d.ts +96 -96
  277. package/out/concepts/ProcessElement__.js +34 -34
  278. package/out/concepts/ProcessElement__.js.map +1 -1
  279. package/out/concepts/ProcessOutcome__.js +6 -5
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.js +6 -5
  282. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  283. package/out/concepts/Process__.d.ts +75 -75
  284. package/out/concepts/Process__.js +33 -30
  285. package/out/concepts/Process__.js.map +1 -1
  286. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  287. package/out/concepts/QueryAggregateExpression__.js +8 -7
  288. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  289. package/out/concepts/QueryFieldExpression__.js +7 -6
  290. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  291. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  292. package/out/concepts/QueryFromExpression__.js +8 -7
  293. package/out/concepts/QueryFromExpression__.js.map +1 -1
  294. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  295. package/out/concepts/QueryGroupByExpression__.js +9 -10
  296. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  297. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  298. package/out/concepts/QueryJoinExpression__.js +11 -10
  299. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  300. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  301. package/out/concepts/QueryLimitExpression__.js +9 -8
  302. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  303. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  304. package/out/concepts/QueryOrderByExpression__.js +9 -8
  305. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  306. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  307. package/out/concepts/QuerySelectExpression__.js +9 -8
  308. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  309. package/out/concepts/Rect__.js +4 -3
  310. package/out/concepts/Rect__.js.map +1 -1
  311. package/out/concepts/Return__.d.ts +4 -3
  312. package/out/concepts/Return__.js +37 -18
  313. package/out/concepts/Return__.js.map +1 -1
  314. package/out/concepts/Role__.js +9 -9
  315. package/out/concepts/Role__.js.map +1 -1
  316. package/out/concepts/SelectMembers__.d.ts +18 -18
  317. package/out/concepts/SelectMembers__.js +10 -9
  318. package/out/concepts/SelectMembers__.js.map +1 -1
  319. package/out/concepts/Slot__.d.ts +3 -3
  320. package/out/concepts/Slot__.js +6 -5
  321. package/out/concepts/Slot__.js.map +1 -1
  322. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  323. package/out/concepts/SqlQueryComponent__.js +21 -12
  324. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  325. package/out/concepts/Start__.js +6 -5
  326. package/out/concepts/Start__.js.map +1 -1
  327. package/out/concepts/StringInterpolation__.d.ts +16 -15
  328. package/out/concepts/StringInterpolation__.js +37 -14
  329. package/out/concepts/StringInterpolation__.js.map +1 -1
  330. package/out/concepts/StringLiteral__.d.ts +1 -0
  331. package/out/concepts/StringLiteral__.js +13 -8
  332. package/out/concepts/StringLiteral__.js.map +1 -1
  333. package/out/concepts/StructureProperty__.d.ts +4 -3
  334. package/out/concepts/StructureProperty__.js +22 -9
  335. package/out/concepts/StructureProperty__.js.map +1 -1
  336. package/out/concepts/Structure__.d.ts +31 -30
  337. package/out/concepts/Structure__.js +27 -15
  338. package/out/concepts/Structure__.js.map +1 -1
  339. package/out/concepts/SwitchCase__.d.ts +12 -11
  340. package/out/concepts/SwitchCase__.js +69 -31
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/SwitchStatement__.d.ts +9 -8
  343. package/out/concepts/SwitchStatement__.js +27 -7
  344. package/out/concepts/SwitchStatement__.js.map +1 -1
  345. package/out/concepts/Theme__.js +4 -3
  346. package/out/concepts/Theme__.js.map +1 -1
  347. package/out/concepts/Transactional__.js +4 -3
  348. package/out/concepts/Transactional__.js.map +1 -1
  349. package/out/concepts/TriggerEvent__.d.ts +15 -15
  350. package/out/concepts/TriggerEvent__.js +6 -5
  351. package/out/concepts/TriggerEvent__.js.map +1 -1
  352. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  353. package/out/concepts/TriggerLauncher__.js +54 -32
  354. package/out/concepts/TriggerLauncher__.js.map +1 -1
  355. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  356. package/out/concepts/TypeAnnotation__.js +144 -124
  357. package/out/concepts/TypeAnnotation__.js.map +1 -1
  358. package/out/concepts/TypeParam__.d.ts +1 -0
  359. package/out/concepts/TypeParam__.js +12 -5
  360. package/out/concepts/TypeParam__.js.map +1 -1
  361. package/out/concepts/UnaryExpression__.d.ts +4 -3
  362. package/out/concepts/UnaryExpression__.js +31 -20
  363. package/out/concepts/UnaryExpression__.js.map +1 -1
  364. package/out/concepts/Unparsed__.d.ts +1 -0
  365. package/out/concepts/Unparsed__.js +12 -5
  366. package/out/concepts/Unparsed__.js.map +1 -1
  367. package/out/concepts/UseComponent__.js +4 -3
  368. package/out/concepts/UseComponent__.js.map +1 -1
  369. package/out/concepts/ValidationRule__.d.ts +14 -14
  370. package/out/concepts/ValidationRule__.js +19 -17
  371. package/out/concepts/ValidationRule__.js.map +1 -1
  372. package/out/concepts/Variable__.d.ts +4 -3
  373. package/out/concepts/Variable__.js +39 -23
  374. package/out/concepts/Variable__.js.map +1 -1
  375. package/out/concepts/ViewBlock__.js +4 -3
  376. package/out/concepts/ViewBlock__.js.map +1 -1
  377. package/out/concepts/ViewComponent__.d.ts +90 -90
  378. package/out/concepts/ViewComponent__.js +16 -15
  379. package/out/concepts/ViewComponent__.js.map +1 -1
  380. package/out/concepts/ViewElement__.d.ts +91 -86
  381. package/out/concepts/ViewElement__.js +218 -146
  382. package/out/concepts/ViewElement__.js.map +1 -1
  383. package/out/concepts/View__.d.ts +92 -92
  384. package/out/concepts/View__.js +135 -60
  385. package/out/concepts/View__.js.map +1 -1
  386. package/out/concepts/WhileStatement__.d.ts +12 -11
  387. package/out/concepts/WhileStatement__.js +46 -23
  388. package/out/concepts/WhileStatement__.js.map +1 -1
  389. package/out/concepts/index__.d.ts +2 -1
  390. package/out/concepts/index__.js +2 -1
  391. package/out/concepts/index__.js.map +1 -1
  392. package/out/concepts/types__.d.ts +2 -1
  393. package/out/decorators/index.d.ts +1 -1
  394. package/out/decorators/index.js +20 -7
  395. package/out/decorators/index.js.map +1 -1
  396. package/out/decorators/promise.d.ts +7 -0
  397. package/out/decorators/promise.js +28 -0
  398. package/out/decorators/promise.js.map +1 -0
  399. package/out/enums/KEYWORDS.js.map +1 -1
  400. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  401. package/out/generator/compileComponent.js.map +1 -1
  402. package/out/generator/genBundleFiles.d.ts +4 -1
  403. package/out/generator/genBundleFiles.js +15 -11
  404. package/out/generator/genBundleFiles.js.map +1 -1
  405. package/out/generator/genHash.js.map +1 -1
  406. package/out/generator/genMetaData.js +12 -8
  407. package/out/generator/genMetaData.js.map +1 -1
  408. package/out/generator/genReleaseBody.js +33 -35
  409. package/out/generator/genReleaseBody.js.map +1 -1
  410. package/out/generator/microApp.js +2 -1
  411. package/out/generator/microApp.js.map +1 -1
  412. package/out/generator/permission.js +16 -14
  413. package/out/generator/permission.js.map +1 -1
  414. package/out/generator/styleReplacer.js +4 -7
  415. package/out/generator/styleReplacer.js.map +1 -1
  416. package/out/index.d.ts +0 -2
  417. package/out/index.js +0 -3
  418. package/out/index.js.map +1 -1
  419. package/out/manager/diagnostic.d.ts +1 -1
  420. package/out/manager/diagnostic.js.map +1 -1
  421. package/out/manager/stepRecorder.js +13 -9
  422. package/out/manager/stepRecorder.js.map +1 -1
  423. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  424. package/out/natural/RequirementAnalyzer.js +196 -0
  425. package/out/natural/RequirementAnalyzer.js.map +1 -0
  426. package/out/natural/RequirementExecutor.d.ts +51 -0
  427. package/out/natural/RequirementExecutor.js +692 -0
  428. package/out/natural/RequirementExecutor.js.map +1 -0
  429. package/out/natural/componentData.d.ts +31 -0
  430. package/out/natural/componentData.js +85 -0
  431. package/out/natural/componentData.js.map +1 -0
  432. package/out/natural/genNaturalTS.d.ts +3 -0
  433. package/out/natural/genNaturalTS.js +76 -0
  434. package/out/natural/genNaturalTS.js.map +1 -0
  435. package/out/natural/index.d.ts +4 -0
  436. package/out/natural/index.js +21 -0
  437. package/out/natural/index.js.map +1 -0
  438. package/out/natural/knowledgeMap.d.ts +4 -0
  439. package/out/natural/knowledgeMap.js +40 -0
  440. package/out/natural/knowledgeMap.js.map +1 -0
  441. package/out/natural/naslStdlibMap.d.ts +2 -0
  442. package/out/natural/naslStdlibMap.js +26 -0
  443. package/out/natural/naslStdlibMap.js.map +1 -0
  444. package/out/natural/transformTSCode.d.ts +7 -0
  445. package/out/natural/transformTSCode.js +760 -0
  446. package/out/natural/transformTSCode.js.map +1 -0
  447. package/out/sentry/index.d.ts +2 -1
  448. package/out/sentry/index.js.map +1 -1
  449. package/out/server/createUiTs.js +28 -16
  450. package/out/server/createUiTs.js.map +1 -1
  451. package/out/server/entity2LogicNamespace.js +24 -22
  452. package/out/server/entity2LogicNamespace.js.map +1 -1
  453. package/out/server/event.js.map +1 -1
  454. package/out/server/extendBaseNode.js +55 -70
  455. package/out/server/extendBaseNode.js.map +1 -1
  456. package/out/server/formatTsUtils.js +46 -50
  457. package/out/server/formatTsUtils.js.map +1 -1
  458. package/out/server/getConnector.d.ts +3 -3
  459. package/out/server/getConnector.js +7 -8
  460. package/out/server/getConnector.js.map +1 -1
  461. package/out/server/getExtensionModules.js +2 -2
  462. package/out/server/getExtensionModules.js.map +1 -1
  463. package/out/server/getFunctions.js.map +1 -1
  464. package/out/server/getInterfaces.js.map +1 -1
  465. package/out/server/getLogging.js.map +1 -1
  466. package/out/server/getLogics.d.ts +1 -1
  467. package/out/server/getLogics.js +34 -16
  468. package/out/server/getLogics.js.map +1 -1
  469. package/out/server/getMemberIdentifier.js +13 -10
  470. package/out/server/getMemberIdentifier.js.map +1 -1
  471. package/out/server/getProcessComponents.js.map +1 -1
  472. package/out/server/getProcesses.js +21 -29
  473. package/out/server/getProcesses.js.map +1 -1
  474. package/out/server/getScope.js.map +1 -1
  475. package/out/server/getValidates.js.map +1 -1
  476. package/out/server/index.js +0 -1
  477. package/out/server/index.js.map +1 -1
  478. package/out/server/naslServer.d.ts +99 -94
  479. package/out/server/naslServer.js +485 -465
  480. package/out/server/naslServer.js.map +1 -1
  481. package/out/server/naslStdlibMap.js +4 -2
  482. package/out/server/naslStdlibMap.js.map +1 -1
  483. package/out/server/process2LogicNamespace.js.map +1 -1
  484. package/out/server/translator.d.ts +1 -1
  485. package/out/server/translator.js +52 -47
  486. package/out/server/translator.js.map +1 -1
  487. package/out/service/storage/init.d.ts +15 -1
  488. package/out/service/storage/init.js +65 -56
  489. package/out/service/storage/init.js.map +1 -1
  490. package/out/templator/genCallComponentLogic.js +1 -2
  491. package/out/templator/genCallComponentLogic.js.map +1 -1
  492. package/out/templator/genCreateBlock.js +13 -8
  493. package/out/templator/genCreateBlock.js.map +1 -1
  494. package/out/templator/genCurdEditMultipleKeyBlock.js +19 -10
  495. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  496. package/out/templator/genCurdMultipleKeyBlock.js +22 -26
  497. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  498. package/out/templator/genEditTableBlock.js +11 -12
  499. package/out/templator/genEditTableBlock.js.map +1 -1
  500. package/out/templator/genEnumSelectBlock.js +1 -1
  501. package/out/templator/genEnumSelectBlock.js.map +1 -1
  502. package/out/templator/genGetBlock.js +2 -2
  503. package/out/templator/genGetBlock.js.map +1 -1
  504. package/out/templator/genGridViewBlock.js +10 -14
  505. package/out/templator/genGridViewBlock.js.map +1 -1
  506. package/out/templator/genListViewBlock.js +4 -7
  507. package/out/templator/genListViewBlock.js.map +1 -1
  508. package/out/templator/genQueryComponent.js +22 -15
  509. package/out/templator/genQueryComponent.js.map +1 -1
  510. package/out/templator/genSelectBlock.js +12 -33
  511. package/out/templator/genSelectBlock.js.map +1 -1
  512. package/out/templator/genTableBlock.js +8 -10
  513. package/out/templator/genTableBlock.js.map +1 -1
  514. package/out/templator/genUpdateBlock.js +12 -7
  515. package/out/templator/genUpdateBlock.js.map +1 -1
  516. package/out/templator/index.d.ts +4 -2
  517. package/out/templator/index.js +2 -2
  518. package/out/templator/index.js.map +1 -1
  519. package/out/templator/utils.d.ts +2 -2
  520. package/out/templator/utils.js +21 -22
  521. package/out/templator/utils.js.map +1 -1
  522. package/out/translator/index.js +27 -28
  523. package/out/translator/index.js.map +1 -1
  524. package/out/utils/index.d.ts +2 -1
  525. package/out/utils/index.js +8 -14
  526. package/out/utils/index.js.map +1 -1
  527. package/out/utils/logger.js.map +1 -1
  528. package/out/utils/sortTsString.js +3 -1
  529. package/out/utils/sortTsString.js.map +1 -1
  530. package/out/utils/string.js +8 -11
  531. package/out/utils/string.js.map +1 -1
  532. package/out/utils/time-slicing.d.ts +41 -0
  533. package/out/utils/time-slicing.js +81 -0
  534. package/out/utils/time-slicing.js.map +1 -0
  535. package/out/utils/traverse.js +4 -6
  536. package/out/utils/traverse.js.map +1 -1
  537. package/package.json +11 -7
  538. package/sandbox/stdlib/nasl.auth.ts +49 -46
  539. package/sandbox/stdlib/nasl.http.ts +29 -31
  540. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  541. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  542. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  543. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  544. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  545. package/sandbox-natural/tsconfig.json +12 -0
  546. package/src/automate/upgrader/2.20.js +1 -1
  547. package/src/bak/translator.js +92 -99
  548. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  549. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  550. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  551. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  552. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  553. package/src/breakpoint/generator/index.ts +107 -80
  554. package/src/breakpoint/shared/constants.ts +59 -53
  555. package/src/breakpoint/shared/operations.ts +6 -6
  556. package/src/breakpoint/shared/socket.ts +277 -223
  557. package/src/breakpoint/shared/utils.ts +166 -146
  558. package/src/breakpoint/store/core.ts +326 -297
  559. package/src/breakpoint/store/dock.ts +103 -103
  560. package/src/breakpoint/types/index.d.ts +11 -11
  561. package/src/common/BaseNode.ts +1102 -1024
  562. package/src/common/Command.ts +46 -16
  563. package/src/common/ComponentAPI.ts +72 -72
  564. package/src/common/EventEmitter.ts +80 -76
  565. package/src/common/Messager.ts +223 -224
  566. package/src/common/asyncFuncMap.ts +12 -12
  567. package/src/concepts/Abort__.ts +53 -60
  568. package/src/concepts/Anchor__.ts +158 -149
  569. package/src/concepts/AnonymousFunction__.ts +584 -551
  570. package/src/concepts/App__.ts +4278 -3671
  571. package/src/concepts/Argument__.ts +234 -210
  572. package/src/concepts/Assignee__.ts +680 -656
  573. package/src/concepts/AssignmentLine__.ts +80 -84
  574. package/src/concepts/Assignment__.ts +275 -264
  575. package/src/concepts/Attribute__.ts +183 -184
  576. package/src/concepts/AuthInterface__.ts +61 -63
  577. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  578. package/src/concepts/AuthLogic__.ts +210 -194
  579. package/src/concepts/BackendVariable__.ts +414 -415
  580. package/src/concepts/Backend__.ts +317 -303
  581. package/src/concepts/BatchAssignment__.ts +987 -939
  582. package/src/concepts/BinaryExpression__.ts +370 -341
  583. package/src/concepts/BindAttribute__.ts +1057 -1007
  584. package/src/concepts/BindDirective__.ts +540 -542
  585. package/src/concepts/BindEvent__.ts +992 -911
  586. package/src/concepts/BindStyle__.ts +442 -451
  587. package/src/concepts/BooleanLiteral__.ts +89 -90
  588. package/src/concepts/CallAuthInterface__.ts +458 -433
  589. package/src/concepts/CallConnector__.ts +209 -164
  590. package/src/concepts/CallFunction__.ts +600 -600
  591. package/src/concepts/CallInterface__.ts +752 -721
  592. package/src/concepts/CallLogic__.ts +1324 -1200
  593. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  594. package/src/concepts/Comment__.ts +69 -68
  595. package/src/concepts/CompletionProperty__.ts +250 -255
  596. package/src/concepts/ConfigGroup__.ts +312 -296
  597. package/src/concepts/ConfigPropertyValue__.ts +92 -93
  598. package/src/concepts/ConfigProperty__.ts +374 -357
  599. package/src/concepts/Configuration__.ts +288 -276
  600. package/src/concepts/Connection__.ts +426 -0
  601. package/src/concepts/ConnectorTrigger__.ts +146 -142
  602. package/src/concepts/Connector__.ts +1090 -1048
  603. package/src/concepts/Constant__.ts +226 -219
  604. package/src/concepts/DataElement__.ts +108 -115
  605. package/src/concepts/DataSource__.ts +508 -472
  606. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  607. package/src/concepts/Destination__.ts +808 -746
  608. package/src/concepts/End__.ts +85 -89
  609. package/src/concepts/EntityIndex__.ts +206 -202
  610. package/src/concepts/EntityProperty__.ts +825 -791
  611. package/src/concepts/Entity__.ts +921 -864
  612. package/src/concepts/EnumItem__.ts +133 -125
  613. package/src/concepts/Enum__.ts +347 -337
  614. package/src/concepts/Event__.ts +305 -292
  615. package/src/concepts/ExternalDestination__.ts +269 -280
  616. package/src/concepts/ForEachStatement__.ts +583 -531
  617. package/src/concepts/FrontendLibrary__.ts +507 -485
  618. package/src/concepts/FrontendVariable__.ts +44 -49
  619. package/src/concepts/Frontend__.ts +1239 -1187
  620. package/src/concepts/Function__.ts +1110 -1045
  621. package/src/concepts/Identifier__.ts +276 -272
  622. package/src/concepts/IfStatement__.ts +467 -436
  623. package/src/concepts/Integration__.ts +136 -137
  624. package/src/concepts/InterfaceParam__.ts +239 -238
  625. package/src/concepts/Interface__.ts +969 -948
  626. package/src/concepts/JSBlock__.ts +83 -83
  627. package/src/concepts/JavaLogic__.ts +101 -106
  628. package/src/concepts/LogicItem__.ts +307 -237
  629. package/src/concepts/Logic__.ts +2301 -2088
  630. package/src/concepts/MatchCase__.ts +886 -779
  631. package/src/concepts/Match__.ts +728 -659
  632. package/src/concepts/MemberExpression__.ts +330 -311
  633. package/src/concepts/MicroApp__.ts +91 -97
  634. package/src/concepts/Module__.ts +2590 -2278
  635. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  636. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  637. package/src/concepts/Namespace__.ts +2579 -2466
  638. package/src/concepts/NewComposite__.ts +1487 -1350
  639. package/src/concepts/NewList__.ts +464 -450
  640. package/src/concepts/NewMap__.ts +691 -674
  641. package/src/concepts/New__.ts +42 -49
  642. package/src/concepts/NullLiteral__.ts +66 -72
  643. package/src/concepts/NumericLiteral__.ts +169 -169
  644. package/src/concepts/OqlQueryComponent__.ts +282 -279
  645. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  646. package/src/concepts/Param__.ts +500 -442
  647. package/src/concepts/Point__.ts +53 -59
  648. package/src/concepts/ProcessComponent__.ts +497 -475
  649. package/src/concepts/ProcessElement__.ts +1852 -1780
  650. package/src/concepts/ProcessOutcome__.ts +59 -64
  651. package/src/concepts/ProcessOutcomes__.ts +59 -64
  652. package/src/concepts/Process__.ts +1491 -1428
  653. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  654. package/src/concepts/QueryFieldExpression__.ts +138 -142
  655. package/src/concepts/QueryFromExpression__.ts +246 -254
  656. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  657. package/src/concepts/QueryJoinExpression__.ts +441 -438
  658. package/src/concepts/QueryLimitExpression__.ts +159 -166
  659. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  660. package/src/concepts/QuerySelectExpression__.ts +464 -439
  661. package/src/concepts/Rect__.ts +73 -79
  662. package/src/concepts/Return__.ts +366 -345
  663. package/src/concepts/Role__.ts +146 -147
  664. package/src/concepts/SelectMembers__.ts +358 -350
  665. package/src/concepts/Slot__.ts +152 -153
  666. package/src/concepts/SqlQueryComponent__.ts +230 -228
  667. package/src/concepts/Start__.ts +45 -52
  668. package/src/concepts/StringInterpolation__.ts +323 -296
  669. package/src/concepts/StringLiteral__.ts +113 -115
  670. package/src/concepts/StructureProperty__.ts +306 -295
  671. package/src/concepts/Structure__.ts +615 -578
  672. package/src/concepts/SwitchCase__.ts +326 -290
  673. package/src/concepts/SwitchStatement__.ts +236 -229
  674. package/src/concepts/Theme__.ts +64 -68
  675. package/src/concepts/Transactional__.ts +159 -153
  676. package/src/concepts/TriggerEvent__.ts +285 -274
  677. package/src/concepts/TriggerLauncher__.ts +232 -196
  678. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  679. package/src/concepts/TypeParam__.ts +48 -50
  680. package/src/concepts/UnaryExpression__.ts +163 -153
  681. package/src/concepts/Unparsed__.ts +81 -82
  682. package/src/concepts/UseComponent__.ts +53 -59
  683. package/src/concepts/ValidationRule__.ts +524 -544
  684. package/src/concepts/Variable__.ts +419 -397
  685. package/src/concepts/ViewBlock__.ts +58 -64
  686. package/src/concepts/ViewComponent__.ts +1323 -1261
  687. package/src/concepts/ViewElement__.ts +2538 -2350
  688. package/src/concepts/View__.ts +2447 -2268
  689. package/src/concepts/WhileStatement__.ts +293 -272
  690. package/src/concepts/index__.ts +2 -1
  691. package/src/concepts/types__.ts +123 -121
  692. package/src/decorators/index.ts +75 -77
  693. package/src/decorators/promise.ts +28 -0
  694. package/src/enums/KEYWORDS.ts +1228 -1228
  695. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  696. package/src/generator/compileComponent.ts +10 -10
  697. package/src/generator/genBundleFiles.ts +300 -291
  698. package/src/generator/genHash.ts +2 -2
  699. package/src/generator/genMetaData.ts +280 -261
  700. package/src/generator/genReleaseBody.ts +312 -291
  701. package/src/generator/icestark.ts +1 -1
  702. package/src/generator/microApp.ts +17 -20
  703. package/src/generator/permission.ts +227 -218
  704. package/src/generator/qiankun.ts +1 -1
  705. package/src/generator/styleReplacer.ts +28 -31
  706. package/src/index.ts +0 -3
  707. package/src/manager/diagnostic.ts +84 -82
  708. package/src/manager/stepRecorder.ts +106 -94
  709. package/src/natural/RequirementAnalyzer.ts +208 -0
  710. package/src/natural/RequirementExecutor.ts +685 -0
  711. package/src/natural/componentData.ts +81 -0
  712. package/src/natural/genNaturalTS.ts +77 -0
  713. package/src/natural/index.ts +4 -0
  714. package/src/natural/knowledgeMap.ts +39 -0
  715. package/src/natural/naslStdlibMap.ts +24 -0
  716. package/src/natural/transformTSCode.ts +692 -0
  717. package/src/sentry/index.ts +109 -104
  718. package/src/server/createUiTs.ts +190 -184
  719. package/src/server/entity2LogicNamespace.ts +379 -359
  720. package/src/server/event.js +145 -145
  721. package/src/server/extendBaseNode.ts +461 -456
  722. package/src/server/formatTsUtils.ts +712 -713
  723. package/src/server/getConnector.ts +33 -33
  724. package/src/server/getExtensionModules.ts +23 -22
  725. package/src/server/getFunctions.ts +6 -6
  726. package/src/server/getInterfaces.ts +38 -37
  727. package/src/server/getLogging.ts +1 -1
  728. package/src/server/getLogics.ts +390 -344
  729. package/src/server/getMemberIdentifier.ts +286 -281
  730. package/src/server/getProcessComponents.ts +2 -2
  731. package/src/server/getProcesses.ts +548 -534
  732. package/src/server/getScope.ts +51 -51
  733. package/src/server/getValidates.ts +3 -3
  734. package/src/server/index.ts +29 -30
  735. package/src/server/naslServer.ts +4302 -4225
  736. package/src/server/naslStdlibMap.ts +43 -41
  737. package/src/server/process2LogicNamespace.ts +97 -97
  738. package/src/server/translator.ts +740 -746
  739. package/src/service/storage/init.ts +761 -728
  740. package/src/templator/genCallComponentLogic.ts +14 -15
  741. package/src/templator/genCreateBlock.ts +257 -229
  742. package/src/templator/genCurdEditMultipleKeyBlock.ts +332 -316
  743. package/src/templator/genCurdMultipleKeyBlock.ts +501 -473
  744. package/src/templator/genEditTableBlock.ts +192 -182
  745. package/src/templator/genEnumSelectBlock.ts +13 -7
  746. package/src/templator/genGetBlock.ts +57 -55
  747. package/src/templator/genGridViewBlock.ts +191 -201
  748. package/src/templator/genListViewBlock.ts +59 -64
  749. package/src/templator/genQueryComponent.ts +337 -287
  750. package/src/templator/genSelectBlock.ts +276 -285
  751. package/src/templator/genTableBlock.ts +157 -160
  752. package/src/templator/genUpdateBlock.ts +269 -255
  753. package/src/templator/index.ts +4 -4
  754. package/src/templator/utils.ts +490 -464
  755. package/src/translator/index.ts +84 -84
  756. package/src/translator/lsp.ts +22 -22
  757. package/src/translator/tsp.ts +6 -6
  758. package/src/utils/index.ts +115 -117
  759. package/src/utils/logger.ts +3 -4
  760. package/src/utils/sortTsString.ts +34 -32
  761. package/src/utils/string.ts +47 -48
  762. package/src/utils/time-slicing.ts +109 -0
  763. package/src/utils/traverse.ts +114 -126
  764. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  765. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  766. package/test/concepts/match/constant.ts +5 -0
  767. package/test/concepts/match/fixtures/isExpression.json +259 -0
  768. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  769. package/test/concepts/match/fixtures/noExpression.json +176 -0
  770. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  771. package/test/concepts/match/toJS.spec.ts +14 -0
  772. package/test/setup.ts +2 -1
  773. package/ts-worker/src/index.js +0 -2
  774. package/tsconfig.json +21 -21
@@ -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
  }