@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,15 +1,15 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
2
3
  import { ProcessElement, Process } from '..';
3
4
  import Namespace from './Namespace__';
4
- //================================================================================
5
+ //= ===============================================================================
5
6
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
6
7
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
7
- //================================================================================
8
+ //= ===============================================================================
8
9
  import { EventPayload, Params } from '../common/EventEmitter';
9
10
  import { concept, excludedInJSON, property } from '../decorators';
10
11
 
11
12
  import * as utils from '../utils';
12
- import { v4 as uuidv4 } from 'uuid';
13
13
  import BaseNode from '../common/BaseNode';
14
14
  import classMap from '../common/classMap';
15
15
  import LogicItem from './LogicItem__';
@@ -20,672 +20,696 @@ import Logic from './Logic__';
20
20
  */
21
21
  @concept('经办人')
22
22
  export class Assignee extends LogicItem {
23
- /**
24
- * 产品概念
25
- */
26
- @property()
27
- concept: 'Assignee' = 'Assignee';
28
-
29
- /**
30
- * 绑定用户
31
- */
32
- @property()
33
- users: Array<string> = [];
34
-
35
- /**
36
- * 动态用户
37
- */
38
- @property('LogicItem')
39
- dynamicUsers: Array<LogicItem> = [];
40
-
41
- /**
42
- * 绑定角色
43
- */
44
- @property()
45
- roles: Array<string> = [];
46
-
47
- /**
48
- * 动态角色
49
- */
50
- @property('LogicItem')
51
- dynamicRoles: Array<LogicItem> = [];
52
-
53
- /**
54
- * 逻辑用户
55
- */
56
- @property('Logic')
57
- logicUsers: Array<Logic> = [];
58
-
59
-
60
-
61
- /**
62
- * @param source 需要合并的部分参数
63
- */
64
- constructor(source?: Partial<Assignee>) {
65
- source = Object.assign({}, Assignee.getDefaultOptions(), source);
66
- super(source);
67
- super.subConstructor(source);
23
+ /**
24
+ * 产品概念
25
+ */
26
+ @property()
27
+ concept: 'Assignee' = 'Assignee';
28
+
29
+ /**
30
+ * 绑定用户
31
+ */
32
+ @property()
33
+ users: Array<string> = [];
34
+
35
+ /**
36
+ * 动态用户
37
+ */
38
+ @property('LogicItem')
39
+ dynamicUsers: Array<LogicItem> = [];
40
+
41
+ /**
42
+ * 绑定角色
43
+ */
44
+ @property()
45
+ roles: Array<string> = [];
46
+
47
+ /**
48
+ * 动态角色
49
+ */
50
+ @property('LogicItem')
51
+ dynamicRoles: Array<LogicItem> = [];
52
+
53
+ /**
54
+ * 逻辑用户
55
+ */
56
+ @property('Logic')
57
+ logicUsers: Array<Logic> = [];
58
+
59
+ /**
60
+ * @param source 需要合并的部分参数
61
+ */
62
+ constructor(source?: Partial<Assignee>) {
63
+ // @ts-ignore
64
+ source = { ...Assignee.getDefaultOptions(), ...source };
65
+ super(source);
66
+ super.subConstructor(source);
67
+ }
68
+
69
+ getClassName() {
70
+ return 'Assignee';
71
+ }
72
+
73
+ static from(source: any, parentNode?: any, parentKey?: string): Assignee {
74
+ return super.from(source, parentNode, parentKey) as Assignee;
75
+ }
76
+
77
+ getLogicItemExistingNames(excludedList: Array<LogicItem> = []) {
78
+ const excludedSet = new Set(excludedList);
79
+ return ((this.dynamicUsers as LogicItem[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
80
+ }
81
+
82
+ getLogicItemUniqueName(name = 'logicItem1') {
83
+ return utils.unique(name, this.getLogicItemExistingNames(), undefined, false);
84
+ }
85
+
86
+ /**
87
+ * 插入逻辑项
88
+ * @internal
89
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
90
+ */
91
+ _insertLogicItemInDynamicUsersAt(name: string, index: number): LogicItem;
92
+
93
+ /**
94
+ * 插入逻辑项
95
+ * @internal
96
+ * @param logicItemOptions 逻辑项参数
97
+ */
98
+ _insertLogicItemInDynamicUsersAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
99
+
100
+ /**
101
+ * 插入逻辑项
102
+ * @internal
103
+ * @param logicItem 已有的逻辑项实例
104
+ */
105
+ _insertLogicItemInDynamicUsersAt(logicItem: LogicItem, index: number): LogicItem;
106
+
107
+ _insertLogicItemInDynamicUsersAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
108
+ const logicItemOptions: any = {};
109
+ const relationOptions = { parentNode: this, parentKey: 'dynamicUsers' };
110
+ let logicItem: LogicItem;
111
+ if (!options) {
112
+ logicItem = LogicItem.from(
113
+ {
114
+ ...logicItemOptions,
115
+ name: this.getLogicItemUniqueName(),
116
+ },
117
+ this,
118
+ 'dynamicUsers'
119
+ );
120
+ } else if (typeof options === 'string') {
121
+ logicItem = LogicItem.from(
122
+ {
123
+ ...logicItemOptions,
124
+ name: options,
125
+ },
126
+ this,
127
+ 'dynamicUsers'
128
+ );
129
+ } else if (options instanceof LogicItem) {
130
+ options.ensureDelete(); // 同一实例不支持多处存在
131
+ logicItem = options;
132
+ Object.assign(logicItem, relationOptions);
133
+ } else {
134
+ logicItem = LogicItem.from(
135
+ {
136
+ ...logicItemOptions,
137
+ ...options,
138
+ },
139
+ this,
140
+ 'dynamicUsers'
141
+ );
68
142
  }
69
- getClassName() {
70
- return 'Assignee';
143
+ this.dynamicUsers.splice(index, 0, logicItem);
144
+ return logicItem;
145
+ }
146
+
147
+ /**
148
+ * 插入逻辑项
149
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
150
+ */
151
+ insertLogicItemInDynamicUsersAt(name: string, index: number): LogicItem;
152
+
153
+ /**
154
+ * 插入逻辑项
155
+ * @param logicItemOptions 逻辑项参数
156
+ */
157
+ insertLogicItemInDynamicUsersAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
158
+
159
+ /**
160
+ * 插入逻辑项
161
+ * @param logicItem 已有的逻辑项实例
162
+ */
163
+ insertLogicItemInDynamicUsersAt(logicItem: LogicItem, index: number): LogicItem;
164
+
165
+ insertLogicItemInDynamicUsersAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
166
+ const node = this._insertLogicItemInDynamicUsersAt(options as any, index);
167
+ node.create({
168
+ index,
169
+ parentNode: this,
170
+ parentKey: 'dynamicUsers',
171
+ });
172
+ return node;
173
+ }
174
+
175
+ /**
176
+ * 添加逻辑项
177
+ * @internal
178
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
179
+ */
180
+ _addLogicItemInDynamicUsers(name?: string): LogicItem;
181
+
182
+ /**
183
+ * 添加逻辑项
184
+ * @internal
185
+ * @param logicItemOptions 逻辑项参数
186
+ */
187
+ _addLogicItemInDynamicUsers(logicItemOptions: Partial<LogicItem>): LogicItem;
188
+
189
+ /**
190
+ * 添加逻辑项
191
+ * @internal
192
+ * @param logicItem 已有的逻辑项实例
193
+ */
194
+ _addLogicItemInDynamicUsers(logicItem: LogicItem): LogicItem;
195
+
196
+ _addLogicItemInDynamicUsers(options?: string | Partial<LogicItem> | LogicItem) {
197
+ const index = this.dynamicUsers.length;
198
+ return this._insertLogicItemInDynamicUsersAt(options as any, index);
199
+ }
200
+
201
+ /**
202
+ * 添加逻辑项
203
+ * @internal
204
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
205
+ */
206
+ addLogicItemInDynamicUsers(name?: string): LogicItem;
207
+
208
+ /**
209
+ * 添加逻辑项
210
+ * @param logicItemOptions 逻辑项参数
211
+ */
212
+ addLogicItemInDynamicUsers(logicItemOptions: Partial<LogicItem>): LogicItem;
213
+
214
+ /**
215
+ * 添加逻辑项
216
+ * @param logicItem 已有的逻辑项实例
217
+ */
218
+ addLogicItemInDynamicUsers(logicItem: LogicItem): LogicItem;
219
+
220
+ addLogicItemInDynamicUsers(options?: string | Partial<LogicItem> | LogicItem) {
221
+ const node = this._addLogicItemInDynamicUsers(options as any);
222
+ const index = this.dynamicUsers.indexOf(node);
223
+ node.create({
224
+ index,
225
+ parentNode: this,
226
+ parentKey: 'dynamicUsers',
227
+ });
228
+ return node;
229
+ }
230
+
231
+ /**
232
+ * 插入逻辑项
233
+ * @internal
234
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
235
+ */
236
+ _insertLogicItemInDynamicRolesAt(name: string, index: number): LogicItem;
237
+
238
+ /**
239
+ * 插入逻辑项
240
+ * @internal
241
+ * @param logicItemOptions 逻辑项参数
242
+ */
243
+ _insertLogicItemInDynamicRolesAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
244
+
245
+ /**
246
+ * 插入逻辑项
247
+ * @internal
248
+ * @param logicItem 已有的逻辑项实例
249
+ */
250
+ _insertLogicItemInDynamicRolesAt(logicItem: LogicItem, index: number): LogicItem;
251
+
252
+ _insertLogicItemInDynamicRolesAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
253
+ const logicItemOptions: any = {};
254
+ const relationOptions = { parentNode: this, parentKey: 'dynamicRoles' };
255
+ let logicItem: LogicItem;
256
+ if (!options) {
257
+ logicItem = LogicItem.from(
258
+ {
259
+ ...logicItemOptions,
260
+ name: this.getLogicItemUniqueName(),
261
+ },
262
+ this,
263
+ 'dynamicRoles'
264
+ );
265
+ } else if (typeof options === 'string') {
266
+ logicItem = LogicItem.from(
267
+ {
268
+ ...logicItemOptions,
269
+ name: options,
270
+ },
271
+ this,
272
+ 'dynamicRoles'
273
+ );
274
+ } else if (options instanceof LogicItem) {
275
+ options.ensureDelete(); // 同一实例不支持多处存在
276
+ logicItem = options;
277
+ Object.assign(logicItem, relationOptions);
278
+ } else {
279
+ logicItem = LogicItem.from(
280
+ {
281
+ ...logicItemOptions,
282
+ ...options,
283
+ },
284
+ this,
285
+ 'dynamicRoles'
286
+ );
71
287
  }
72
-
73
- static from(source: any, parentNode?: any, parentKey?: string): Assignee {
74
- return super.from(source, parentNode, parentKey) as Assignee;
288
+ this.dynamicRoles.splice(index, 0, logicItem);
289
+ return logicItem;
290
+ }
291
+
292
+ /**
293
+ * 插入逻辑项
294
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
295
+ */
296
+ insertLogicItemInDynamicRolesAt(name: string, index: number): LogicItem;
297
+
298
+ /**
299
+ * 插入逻辑项
300
+ * @param logicItemOptions 逻辑项参数
301
+ */
302
+ insertLogicItemInDynamicRolesAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
303
+
304
+ /**
305
+ * 插入逻辑项
306
+ * @param logicItem 已有的逻辑项实例
307
+ */
308
+ insertLogicItemInDynamicRolesAt(logicItem: LogicItem, index: number): LogicItem;
309
+
310
+ insertLogicItemInDynamicRolesAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
311
+ const node = this._insertLogicItemInDynamicRolesAt(options as any, index);
312
+ node.create({
313
+ index,
314
+ parentNode: this,
315
+ parentKey: 'dynamicRoles',
316
+ });
317
+ return node;
318
+ }
319
+
320
+ /**
321
+ * 添加逻辑项
322
+ * @internal
323
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
324
+ */
325
+ _addLogicItemInDynamicRoles(name?: string): LogicItem;
326
+
327
+ /**
328
+ * 添加逻辑项
329
+ * @internal
330
+ * @param logicItemOptions 逻辑项参数
331
+ */
332
+ _addLogicItemInDynamicRoles(logicItemOptions: Partial<LogicItem>): LogicItem;
333
+
334
+ /**
335
+ * 添加逻辑项
336
+ * @internal
337
+ * @param logicItem 已有的逻辑项实例
338
+ */
339
+ _addLogicItemInDynamicRoles(logicItem: LogicItem): LogicItem;
340
+
341
+ _addLogicItemInDynamicRoles(options?: string | Partial<LogicItem> | LogicItem) {
342
+ const index = this.dynamicRoles.length;
343
+ return this._insertLogicItemInDynamicRolesAt(options as any, index);
344
+ }
345
+
346
+ /**
347
+ * 添加逻辑项
348
+ * @internal
349
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
350
+ */
351
+ addLogicItemInDynamicRoles(name?: string): LogicItem;
352
+
353
+ /**
354
+ * 添加逻辑项
355
+ * @param logicItemOptions 逻辑项参数
356
+ */
357
+ addLogicItemInDynamicRoles(logicItemOptions: Partial<LogicItem>): LogicItem;
358
+
359
+ /**
360
+ * 添加逻辑项
361
+ * @param logicItem 已有的逻辑项实例
362
+ */
363
+ addLogicItemInDynamicRoles(logicItem: LogicItem): LogicItem;
364
+
365
+ addLogicItemInDynamicRoles(options?: string | Partial<LogicItem> | LogicItem) {
366
+ const node = this._addLogicItemInDynamicRoles(options as any);
367
+ const index = this.dynamicRoles.indexOf(node);
368
+ node.create({
369
+ index,
370
+ parentNode: this,
371
+ parentKey: 'dynamicRoles',
372
+ });
373
+ return node;
374
+ }
375
+
376
+ getLogicExistingNames(excludedList: Array<Logic> = []) {
377
+ const excludedSet = new Set(excludedList);
378
+ return ((this.logicUsers as Logic[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
379
+ }
380
+
381
+ getLogicUniqueName(name = 'logic1') {
382
+ return utils.unique(name, this.getLogicExistingNames(), undefined, false);
383
+ }
384
+
385
+ /**
386
+ * 插入逻辑
387
+ * @internal
388
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
389
+ */
390
+ _insertLogicAt(name: string, index: number): Logic;
391
+
392
+ /**
393
+ * 插入逻辑
394
+ * @internal
395
+ * @param logicOptions 逻辑参数
396
+ */
397
+ _insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
398
+
399
+ /**
400
+ * 插入逻辑
401
+ * @internal
402
+ * @param logic 已有的逻辑实例
403
+ */
404
+ _insertLogicAt(logic: Logic, index: number): Logic;
405
+
406
+ _insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
407
+ const logicOptions: any = {};
408
+ const relationOptions = { parentNode: this, parentKey: 'logicUsers' };
409
+ let logic: Logic;
410
+ if (!options) {
411
+ logic = Logic.from(
412
+ {
413
+ ...logicOptions,
414
+ name: this.getLogicUniqueName(),
415
+ },
416
+ this,
417
+ 'logicUsers'
418
+ );
419
+ } else if (typeof options === 'string') {
420
+ logic = Logic.from(
421
+ {
422
+ ...logicOptions,
423
+ name: options,
424
+ },
425
+ this,
426
+ 'logicUsers'
427
+ );
428
+ } else if (options instanceof Logic) {
429
+ options.ensureDelete(); // 同一实例不支持多处存在
430
+ logic = options;
431
+ Object.assign(logic, relationOptions);
432
+ } else {
433
+ logic = Logic.from(
434
+ {
435
+ ...logicOptions,
436
+ ...options,
437
+ },
438
+ this,
439
+ 'logicUsers'
440
+ );
75
441
  }
76
-
77
-
78
-
79
-
80
-
81
-
82
- getLogicItemExistingNames(excludedList: Array<LogicItem> = []) {
83
- const excludedSet = new Set(excludedList);
84
- return ((this.dynamicUsers as LogicItem[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
442
+ this.logicUsers.splice(index, 0, logic);
443
+ return logic;
444
+ }
445
+
446
+ /**
447
+ * 插入逻辑
448
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
449
+ */
450
+ insertLogicAt(name: string, index: number): Logic;
451
+
452
+ /**
453
+ * 插入逻辑
454
+ * @param logicOptions 逻辑参数
455
+ */
456
+ insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
457
+
458
+ /**
459
+ * 插入逻辑
460
+ * @param logic 已有的逻辑实例
461
+ */
462
+ insertLogicAt(logic: Logic, index: number): Logic;
463
+
464
+ insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
465
+ const node = this._insertLogicAt(options as any, index);
466
+ node.create({
467
+ index,
468
+ parentNode: this,
469
+ parentKey: 'logicUsers',
470
+ });
471
+ return node;
472
+ }
473
+
474
+ /**
475
+ * 添加逻辑
476
+ * @internal
477
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
478
+ */
479
+ _addLogic(name?: string): Logic;
480
+
481
+ /**
482
+ * 添加逻辑
483
+ * @internal
484
+ * @param logicOptions 逻辑参数
485
+ */
486
+ _addLogic(logicOptions: Partial<Logic>): Logic;
487
+
488
+ /**
489
+ * 添加逻辑
490
+ * @internal
491
+ * @param logic 已有的逻辑实例
492
+ */
493
+ _addLogic(logic: Logic): Logic;
494
+
495
+ _addLogic(options?: string | Partial<Logic> | Logic) {
496
+ const index = this.logicUsers.length;
497
+ return this._insertLogicAt(options as any, index);
498
+ }
499
+
500
+ /**
501
+ * 添加逻辑
502
+ * @internal
503
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
504
+ */
505
+ addLogic(name?: string): Logic;
506
+
507
+ /**
508
+ * 添加逻辑
509
+ * @param logicOptions 逻辑参数
510
+ */
511
+ addLogic(logicOptions: Partial<Logic>): Logic;
512
+
513
+ /**
514
+ * 添加逻辑
515
+ * @param logic 已有的逻辑实例
516
+ */
517
+ addLogic(logic: Logic): Logic;
518
+
519
+ addLogic(options?: string | Partial<Logic> | Logic) {
520
+ const node = this._addLogic(options as any);
521
+ const index = this.logicUsers.indexOf(node);
522
+ node.create({
523
+ index,
524
+ parentNode: this,
525
+ parentKey: 'logicUsers',
526
+ });
527
+ return node;
528
+ }
529
+
530
+ /**
531
+ * 删除逻辑项
532
+ * @param name 逻辑项名称
533
+ */
534
+ removeLogicItemInDynamicUsers(name: string): void;
535
+
536
+ /**
537
+ * 删除逻辑项
538
+ * @param logicItem 已有的逻辑项实例
539
+ */
540
+ removeLogicItemInDynamicUsers(logicItem: LogicItem): void;
541
+
542
+ removeLogicItemInDynamicUsers(options: string | LogicItem) {
543
+ let logicItem: LogicItem;
544
+ if (typeof options === 'string') {
545
+ logicItem = (this.dynamicUsers as LogicItem[]).find((item) => item.name === options);
546
+ if (!logicItem) {
547
+ throw new Error(`找不到逻辑项 ${options}`);
548
+ }
549
+ } else {
550
+ logicItem = options;
85
551
  }
86
- getLogicItemUniqueName(name = 'logicItem1') {
87
- return utils.unique(name, this.getLogicItemExistingNames(), undefined, false);
552
+ return logicItem.delete();
553
+ }
554
+
555
+ /**
556
+ * 删除逻辑项
557
+ * @param name 逻辑项名称
558
+ */
559
+ removeLogicItemInDynamicRoles(name: string): void;
560
+
561
+ /**
562
+ * 删除逻辑项
563
+ * @param logicItem 已有的逻辑项实例
564
+ */
565
+ removeLogicItemInDynamicRoles(logicItem: LogicItem): void;
566
+
567
+ removeLogicItemInDynamicRoles(options: string | LogicItem) {
568
+ let logicItem: LogicItem;
569
+ if (typeof options === 'string') {
570
+ logicItem = (this.dynamicRoles as LogicItem[]).find((item) => item.name === options);
571
+ if (!logicItem) {
572
+ throw new Error(`找不到逻辑项 ${options}`);
573
+ }
574
+ } else {
575
+ logicItem = options;
88
576
  }
89
-
90
- /**
91
- * 插入逻辑项
92
- * @internal
93
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
94
- */
95
- _insertLogicItemInDynamicUsersAt(name: string, index: number): LogicItem;
96
-
97
- /**
98
- * 插入逻辑项
99
- * @internal
100
- * @param logicItemOptions 逻辑项参数
101
- */
102
- _insertLogicItemInDynamicUsersAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
103
-
104
- /**
105
- * 插入逻辑项
106
- * @internal
107
- * @param logicItem 已有的逻辑项实例
108
- */
109
- _insertLogicItemInDynamicUsersAt(logicItem: LogicItem, index: number): LogicItem;
110
-
111
- _insertLogicItemInDynamicUsersAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
112
- const logicItemOptions: any = {};
113
- const relationOptions = { parentNode: this, parentKey: 'dynamicUsers' };
114
- let logicItem: LogicItem;
115
- if (!options) {
116
- logicItem = LogicItem.from({
117
- ...logicItemOptions,
118
- name: this.getLogicItemUniqueName(),
119
- }, this, 'dynamicUsers');
120
- } else if (typeof options === 'string') {
121
- logicItem = LogicItem.from({
122
- ...logicItemOptions,
123
- name: options,
124
- }, this, 'dynamicUsers');
125
- } else if (options instanceof LogicItem) {
126
- options.ensureDelete(); // 同一实例不支持多处存在
127
- logicItem = options;
128
- Object.assign(logicItem, relationOptions);
129
- } else {
130
- logicItem = LogicItem.from({
131
- ...logicItemOptions,
132
- ...options,
133
- }, this, 'dynamicUsers');
134
- }
135
- this.dynamicUsers.splice(index, 0, logicItem);
136
- return logicItem;
577
+ return logicItem.delete();
578
+ }
579
+
580
+ __removeLogicItem(logicItem: LogicItem) {
581
+ const { parentKey } = logicItem;
582
+ const params: Params = {
583
+ parentNode: this,
584
+ parentKey,
585
+ index: -1,
586
+ object: null,
587
+ oldObject: logicItem,
588
+ };
589
+ if (parentKey) {
590
+ params.parentKey = parentKey;
591
+ if (Array.isArray((this as any)[parentKey])) {
592
+ const index = (this as any)[parentKey].indexOf(logicItem);
593
+ ~index && (this as any)[parentKey].splice(index, 1);
594
+ params.index = index;
595
+ } else if ((this as any)[parentKey] === logicItem) {
596
+ params.index = 0;
597
+ (this as any)[parentKey] = undefined;
598
+ }
137
599
  }
138
-
139
- /**
140
- * 插入逻辑项
141
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
142
- */
143
- insertLogicItemInDynamicUsersAt(name: string, index: number): LogicItem;
144
-
145
- /**
146
- * 插入逻辑项
147
- * @param logicItemOptions 逻辑项参数
148
- */
149
- insertLogicItemInDynamicUsersAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
150
-
151
- /**
152
- * 插入逻辑项
153
- * @param logicItem 已有的逻辑项实例
154
- */
155
- insertLogicItemInDynamicUsersAt(logicItem: LogicItem, index: number): LogicItem;
156
-
157
- insertLogicItemInDynamicUsersAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
158
- const node = this._insertLogicItemInDynamicUsersAt(options as any, index);
159
- node.create({
160
- index,
161
- parentNode: this,
162
- parentKey: 'dynamicUsers',
163
- });
164
- return node;
165
- }
166
-
167
- /**
168
- * 添加逻辑项
169
- * @internal
170
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
171
- */
172
- _addLogicItemInDynamicUsers(name?: string): LogicItem;
173
-
174
- /**
175
- * 添加逻辑项
176
- * @internal
177
- * @param logicItemOptions 逻辑项参数
178
- */
179
- _addLogicItemInDynamicUsers(logicItemOptions: Partial<LogicItem>): LogicItem;
180
-
181
- /**
182
- * 添加逻辑项
183
- * @internal
184
- * @param logicItem 已有的逻辑项实例
185
- */
186
- _addLogicItemInDynamicUsers(logicItem: LogicItem): LogicItem;
187
-
188
- _addLogicItemInDynamicUsers(options?: string | Partial<LogicItem> | LogicItem) {
189
- const index = this.dynamicUsers.length;
190
- return this._insertLogicItemInDynamicUsersAt(options as any, index);
600
+ return params;
601
+ }
602
+
603
+ /**
604
+ * 删除逻辑
605
+ * @param name 逻辑名称
606
+ */
607
+ removeLogic(name: string): void;
608
+
609
+ /**
610
+ * 删除逻辑
611
+ * @param logic 已有的逻辑实例
612
+ */
613
+ removeLogic(logic: Logic): void;
614
+
615
+ removeLogic(options: string | Logic) {
616
+ let logic: Logic;
617
+ if (typeof options === 'string') {
618
+ logic = (this.logicUsers as Logic[]).find((item) => item.name === options);
619
+ if (!logic) {
620
+ throw new Error(`找不到逻辑 ${options}`);
621
+ }
622
+ } else {
623
+ logic = options;
191
624
  }
192
-
193
- /**
194
- * 添加逻辑项
195
- * @internal
196
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
197
- */
198
- addLogicItemInDynamicUsers(name?: string): LogicItem;
199
-
200
- /**
201
- * 添加逻辑项
202
- * @param logicItemOptions 逻辑项参数
203
- */
204
- addLogicItemInDynamicUsers(logicItemOptions: Partial<LogicItem>): LogicItem;
205
-
206
- /**
207
- * 添加逻辑项
208
- * @param logicItem 已有的逻辑项实例
209
- */
210
- addLogicItemInDynamicUsers(logicItem: LogicItem): LogicItem;
211
-
212
- addLogicItemInDynamicUsers(options?: string | Partial<LogicItem> | LogicItem) {
213
- const node = this._addLogicItemInDynamicUsers(options as any);
214
- const index = this.dynamicUsers.indexOf(node);
215
- node.create({
216
- index,
217
- parentNode: this,
218
- parentKey: 'dynamicUsers',
219
- });
220
- return node;
625
+ return logic.delete();
626
+ }
627
+
628
+ __removeLogic(logic: Logic) {
629
+ const { parentKey } = logic;
630
+ const params: Params = {
631
+ parentNode: this,
632
+ parentKey,
633
+ index: -1,
634
+ object: null,
635
+ oldObject: logic,
636
+ };
637
+ if (parentKey) {
638
+ params.parentKey = parentKey;
639
+ if (Array.isArray((this as any)[parentKey])) {
640
+ const index = (this as any)[parentKey].indexOf(logic);
641
+ ~index && (this as any)[parentKey].splice(index, 1);
642
+ params.index = index;
643
+ } else if ((this as any)[parentKey] === logic) {
644
+ params.index = 0;
645
+ (this as any)[parentKey] = undefined;
646
+ }
221
647
  }
222
-
223
- /**
224
- * 插入逻辑项
225
- * @internal
226
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
227
- */
228
- _insertLogicItemInDynamicRolesAt(name: string, index: number): LogicItem;
229
-
230
- /**
231
- * 插入逻辑项
232
- * @internal
233
- * @param logicItemOptions 逻辑项参数
234
- */
235
- _insertLogicItemInDynamicRolesAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
236
-
237
- /**
238
- * 插入逻辑项
239
- * @internal
240
- * @param logicItem 已有的逻辑项实例
241
- */
242
- _insertLogicItemInDynamicRolesAt(logicItem: LogicItem, index: number): LogicItem;
243
-
244
- _insertLogicItemInDynamicRolesAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
245
- const logicItemOptions: any = {};
246
- const relationOptions = { parentNode: this, parentKey: 'dynamicRoles' };
247
- let logicItem: LogicItem;
248
- if (!options) {
249
- logicItem = LogicItem.from({
250
- ...logicItemOptions,
251
- name: this.getLogicItemUniqueName(),
252
- }, this, 'dynamicRoles');
253
- } else if (typeof options === 'string') {
254
- logicItem = LogicItem.from({
255
- ...logicItemOptions,
256
- name: options,
257
- }, this, 'dynamicRoles');
258
- } else if (options instanceof LogicItem) {
259
- options.ensureDelete(); // 同一实例不支持多处存在
260
- logicItem = options;
261
- Object.assign(logicItem, relationOptions);
262
- } else {
263
- logicItem = LogicItem.from({
264
- ...logicItemOptions,
265
- ...options,
266
- }, this, 'dynamicRoles');
267
- }
268
- this.dynamicRoles.splice(index, 0, logicItem);
269
- return logicItem;
648
+ return params;
649
+ }
650
+
651
+ //= ===============================================================================
652
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
653
+ // 自动生成的代码已结束。下面可以手动编写。
654
+ //= ===============================================================================
655
+ /**
656
+ * 祖先 ProcessElement
657
+ */
658
+ get processElement() {
659
+ return this.getAncestor('ProcessElement') as ProcessElement;
660
+ }
661
+
662
+ /**
663
+ * 祖先 Process
664
+ */
665
+ get process() {
666
+ return this.getAncestor('Process') as Process;
667
+ }
668
+
669
+ getNamespace(ns: string) {
670
+ if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
671
+ const parentNamespace = (this.parentNode as Namespace).getNamespace();
672
+ const parentName = this.parentNode.name;
673
+ const arr = [parentNamespace];
674
+ if (this.parentNode.concept !== 'App' && parentName) {
675
+ arr.push(parentName);
676
+ }
677
+ return `${arr.join('.')}.${ns || 'assignee'}`;
270
678
  }
271
-
272
- /**
273
- * 插入逻辑项
274
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
275
- */
276
- insertLogicItemInDynamicRolesAt(name: string, index: number): LogicItem;
277
-
278
- /**
279
- * 插入逻辑项
280
- * @param logicItemOptions 逻辑项参数
281
- */
282
- insertLogicItemInDynamicRolesAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
283
-
284
- /**
285
- * 插入逻辑项
286
- * @param logicItem 已有的逻辑项实例
287
- */
288
- insertLogicItemInDynamicRolesAt(logicItem: LogicItem, index: number): LogicItem;
289
-
290
- insertLogicItemInDynamicRolesAt(options: string | Partial<LogicItem> | LogicItem, index: number) {
291
- const node = this._insertLogicItemInDynamicRolesAt(options as any, index);
292
- node.create({
293
- index,
294
- parentNode: this,
295
- parentKey: 'dynamicRoles',
296
- });
297
- return node;
298
- }
299
-
300
- /**
301
- * 添加逻辑项
302
- * @internal
303
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
304
- */
305
- _addLogicItemInDynamicRoles(name?: string): LogicItem;
306
-
307
- /**
308
- * 添加逻辑项
309
- * @internal
310
- * @param logicItemOptions 逻辑项参数
311
- */
312
- _addLogicItemInDynamicRoles(logicItemOptions: Partial<LogicItem>): LogicItem;
313
-
314
- /**
315
- * 添加逻辑项
316
- * @internal
317
- * @param logicItem 已有的逻辑项实例
318
- */
319
- _addLogicItemInDynamicRoles(logicItem: LogicItem): LogicItem;
320
-
321
- _addLogicItemInDynamicRoles(options?: string | Partial<LogicItem> | LogicItem) {
322
- const index = this.dynamicRoles.length;
323
- return this._insertLogicItemInDynamicRolesAt(options as any, index);
324
- }
325
-
326
- /**
327
- * 添加逻辑项
328
- * @internal
329
- * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
330
- */
331
- addLogicItemInDynamicRoles(name?: string): LogicItem;
332
-
333
- /**
334
- * 添加逻辑项
335
- * @param logicItemOptions 逻辑项参数
336
- */
337
- addLogicItemInDynamicRoles(logicItemOptions: Partial<LogicItem>): LogicItem;
338
-
339
- /**
340
- * 添加逻辑项
341
- * @param logicItem 已有的逻辑项实例
342
- */
343
- addLogicItemInDynamicRoles(logicItem: LogicItem): LogicItem;
344
-
345
- addLogicItemInDynamicRoles(options?: string | Partial<LogicItem> | LogicItem) {
346
- const node = this._addLogicItemInDynamicRoles(options as any);
347
- const index = this.dynamicRoles.indexOf(node);
348
- node.create({
349
- index,
350
- parentNode: this,
351
- parentKey: 'dynamicRoles',
352
- });
353
- return node;
354
- }
355
-
356
-
357
- getLogicExistingNames(excludedList: Array<Logic> = []) {
358
- const excludedSet = new Set(excludedList);
359
- return ((this.logicUsers as Logic[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
360
- }
361
- getLogicUniqueName(name = 'logic1') {
362
- return utils.unique(name, this.getLogicExistingNames(), undefined, false);
363
- }
364
-
365
- /**
366
- * 插入逻辑
367
- * @internal
368
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
369
- */
370
- _insertLogicAt(name: string, index: number): Logic;
371
-
372
- /**
373
- * 插入逻辑
374
- * @internal
375
- * @param logicOptions 逻辑参数
376
- */
377
- _insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
378
-
379
- /**
380
- * 插入逻辑
381
- * @internal
382
- * @param logic 已有的逻辑实例
383
- */
384
- _insertLogicAt(logic: Logic, index: number): Logic;
385
-
386
- _insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
387
- const logicOptions: any = {};
388
- const relationOptions = { parentNode: this, parentKey: 'logicUsers' };
389
- let logic: Logic;
390
- if (!options) {
391
- logic = Logic.from({
392
- ...logicOptions,
393
- name: this.getLogicUniqueName(),
394
- }, this, 'logicUsers');
395
- } else if (typeof options === 'string') {
396
- logic = Logic.from({
397
- ...logicOptions,
398
- name: options,
399
- }, this, 'logicUsers');
400
- } else if (options instanceof Logic) {
401
- options.ensureDelete(); // 同一实例不支持多处存在
402
- logic = options;
403
- Object.assign(logic, relationOptions);
404
- } else {
405
- logic = Logic.from({
406
- ...logicOptions,
407
- ...options,
408
- }, this, 'logicUsers');
409
- }
410
- this.logicUsers.splice(index, 0, logic);
411
- return logic;
412
- }
413
-
414
- /**
415
- * 插入逻辑
416
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
417
- */
418
- insertLogicAt(name: string, index: number): Logic;
419
-
420
- /**
421
- * 插入逻辑
422
- * @param logicOptions 逻辑参数
423
- */
424
- insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
425
-
426
- /**
427
- * 插入逻辑
428
- * @param logic 已有的逻辑实例
429
- */
430
- insertLogicAt(logic: Logic, index: number): Logic;
431
-
432
- insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
433
- const node = this._insertLogicAt(options as any, index);
434
- node.create({
435
- index,
436
- parentNode: this,
437
- parentKey: 'logicUsers',
438
- });
439
- return node;
440
- }
441
-
442
- /**
443
- * 添加逻辑
444
- * @internal
445
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
446
- */
447
- _addLogic(name?: string): Logic;
448
-
449
- /**
450
- * 添加逻辑
451
- * @internal
452
- * @param logicOptions 逻辑参数
453
- */
454
- _addLogic(logicOptions: Partial<Logic>): Logic;
455
-
456
- /**
457
- * 添加逻辑
458
- * @internal
459
- * @param logic 已有的逻辑实例
460
- */
461
- _addLogic(logic: Logic): Logic;
462
-
463
- _addLogic(options?: string | Partial<Logic> | Logic) {
464
- const index = this.logicUsers.length;
465
- return this._insertLogicAt(options as any, index);
466
- }
467
-
468
- /**
469
- * 添加逻辑
470
- * @internal
471
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
472
- */
473
- addLogic(name?: string): Logic;
474
-
475
- /**
476
- * 添加逻辑
477
- * @param logicOptions 逻辑参数
478
- */
479
- addLogic(logicOptions: Partial<Logic>): Logic;
480
-
481
- /**
482
- * 添加逻辑
483
- * @param logic 已有的逻辑实例
484
- */
485
- addLogic(logic: Logic): Logic;
486
-
487
- addLogic(options?: string | Partial<Logic> | Logic) {
488
- const node = this._addLogic(options as any);
489
- const index = this.logicUsers.indexOf(node);
490
- node.create({
491
- index,
492
- parentNode: this,
493
- parentKey: 'logicUsers',
494
- });
495
- return node;
496
- }
497
-
498
-
499
-
500
-
501
- /**
502
- * 删除逻辑项
503
- * @param name 逻辑项名称
504
- */
505
- removeLogicItemInDynamicUsers(name: string): void;
506
-
507
- /**
508
- * 删除逻辑项
509
- * @param logicItem 已有的逻辑项实例
510
- */
511
- removeLogicItemInDynamicUsers(logicItem: LogicItem): void;
512
-
513
- removeLogicItemInDynamicUsers(options: string | LogicItem) {
514
- let logicItem: LogicItem;
515
- if (typeof options === 'string') {
516
- logicItem = (this.dynamicUsers as LogicItem[]).find((item) => item.name === options);
517
- if (!logicItem) {
518
- throw new Error('找不到逻辑项 ' + options);
519
- }
520
- } else {
521
- logicItem = options;
522
- }
523
- return logicItem.delete();
524
- }
525
-
526
-
527
-
528
- /**
529
- * 删除逻辑项
530
- * @param name 逻辑项名称
531
- */
532
- removeLogicItemInDynamicRoles(name: string): void;
533
-
534
- /**
535
- * 删除逻辑项
536
- * @param logicItem 已有的逻辑项实例
537
- */
538
- removeLogicItemInDynamicRoles(logicItem: LogicItem): void;
539
-
540
- removeLogicItemInDynamicRoles(options: string | LogicItem) {
541
- let logicItem: LogicItem;
542
- if (typeof options === 'string') {
543
- logicItem = (this.dynamicRoles as LogicItem[]).find((item) => item.name === options);
544
- if (!logicItem) {
545
- throw new Error('找不到逻辑项 ' + options);
546
- }
547
- } else {
548
- logicItem = options;
549
- }
550
- return logicItem.delete();
551
- }
552
-
553
- __removeLogicItem(logicItem: LogicItem) {
554
- const parentKey = logicItem.parentKey;
555
- const params: Params = {
556
- parentNode: this,
557
- parentKey,
558
- index: -1,
559
- object: null,
560
- oldObject: logicItem,
561
- };
562
- if (parentKey) {
563
- params.parentKey = parentKey;
564
- if (Array.isArray((this as any)[parentKey])) {
565
- const index = (this as any)[parentKey].indexOf(logicItem);
566
- ~index && (this as any)[parentKey].splice(index, 1);
567
- params.index = index;
568
- } else if ((this as any)[parentKey] === logicItem) {
569
- params.index = 0;
570
- (this as any)[parentKey] = undefined;
571
- }
572
- }
573
- return params;
574
- }
575
-
576
-
577
-
578
- /**
579
- * 删除逻辑
580
- * @param name 逻辑名称
581
- */
582
- removeLogic(name: string): void;
583
-
584
- /**
585
- * 删除逻辑
586
- * @param logic 已有的逻辑实例
587
- */
588
- removeLogic(logic: Logic): void;
589
-
590
- removeLogic(options: string | Logic) {
591
- let logic: Logic;
592
- if (typeof options === 'string') {
593
- logic = (this.logicUsers as Logic[]).find((item) => item.name === options);
594
- if (!logic) {
595
- throw new Error('找不到逻辑 ' + options);
596
- }
597
- } else {
598
- logic = options;
599
- }
600
- return logic.delete();
601
- }
602
-
603
- __removeLogic(logic: Logic) {
604
- const parentKey = logic.parentKey;
605
- const params: Params = {
606
- parentNode: this,
607
- parentKey,
608
- index: -1,
609
- object: null,
610
- oldObject: logic,
611
- };
612
- if (parentKey) {
613
- params.parentKey = parentKey;
614
- if (Array.isArray((this as any)[parentKey])) {
615
- const index = (this as any)[parentKey].indexOf(logic);
616
- ~index && (this as any)[parentKey].splice(index, 1);
617
- params.index = index;
618
- } else if ((this as any)[parentKey] === logic) {
619
- params.index = 0;
620
- (this as any)[parentKey] = undefined;
621
- }
622
- }
623
- return params;
624
- }
625
-
626
- //================================================================================
627
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
628
- // 自动生成的代码已结束。下面可以手动编写。
629
- //================================================================================
630
- /**
631
- * 祖先 ProcessElement
632
- */
633
- get processElement() {
634
- return this.getAncestor('ProcessElement') as ProcessElement;
635
- }
636
- /**
637
- * 祖先 Process
638
- */
639
- get process() {
640
- return this.getAncestor('Process') as Process;
641
- }
642
-
643
- getNamespace(ns: string) {
644
- if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
645
- const parentNamespace = (this.parentNode as Namespace).getNamespace();
646
- const parentName = this.parentNode.name;
647
- const arr = [parentNamespace];
648
- if (this.parentNode.concept !== 'App' && parentName) {
649
- arr.push(parentName);
650
- }
651
- return `${arr.join('.')}.${ns || 'assignee'}`;
652
- } else
653
- throw new Error('无法获取命名空间,请设置 parentNode!');
654
- }
655
-
656
- @withSourceMap()
657
- toEmbeddedTSInProcess(state: TranslatorState, prevCode: string): string {
658
- const tab = indent((state?.tabSize || 0));
659
- // const tab = indent(state.tabSize);
660
- // let code = `const plainuser = [];\n`
661
- // code += `const dynamicuser = [];\n`
662
- let code = prevCode;
663
- if (!this.users.length && !this.dynamicUsers.length && !this.logicUsers.length && !this.roles.length)
664
- code += tab + '__UsersEmpty__;\n';
665
- if (Array.isArray(this.logicUsers)) {
666
- this.logicUsers.forEach((logic) => {
667
- code += `${logic.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: (state?.tabSize || 0) }), prevCode, false, true)}\n`;
668
- });
669
- }
670
- code += `${tab}nasl.util.concatString(`;
671
- this.dynamicUsers.forEach((u, index) => {
672
- code += u.toEmbeddedTS(shiftState(state, code));
673
- if (index + 1 < this.dynamicUsers.length)
674
- code += ', ';
675
- });
676
- code += ')\n';
677
- // code += `${this.dynamicUsers.map(u => u.toEmbeddedTS(shiftState(state, code))).join(',\n')})\n`;
678
- return code;
679
+ throw new Error('无法获取命名空间,请设置 parentNode!');
680
+ }
681
+
682
+ @withSourceMap()
683
+ toEmbeddedTSInProcess(state: TranslatorState, prevCode: string): string {
684
+ const tab = indent(state?.tabSize || 0);
685
+ // const tab = indent(state.tabSize);
686
+ // let code = `const plainuser = [];\n`
687
+ // code += `const dynamicuser = [];\n`
688
+ let code = prevCode;
689
+ if (!this.users.length && !this.dynamicUsers.length && !this.logicUsers.length && !this.roles.length) code += `${tab}__UsersEmpty__;\n`;
690
+ if (Array.isArray(this.logicUsers)) {
691
+ this.logicUsers.forEach((logic) => {
692
+ code += `${logic.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: state?.tabSize || 0 }), prevCode, false, true)}\n`;
693
+ });
679
694
  }
680
- //================================================================================
681
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
682
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
683
- //================================================================================
695
+ code += `${tab}nasl.util.concatString(`;
696
+ this.dynamicUsers.forEach((u, index) => {
697
+ code += u.toEmbeddedTS(shiftState(state, code));
698
+ if (index + 1 < this.dynamicUsers.length) code += ', ';
699
+ });
700
+ code += ')\n';
701
+ // code += `${this.dynamicUsers.map(u => u.toEmbeddedTS(shiftState(state, code))).join(',\n')})\n`;
702
+ return code;
703
+ }
704
+ //= ===============================================================================
705
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
706
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
707
+ //= ===============================================================================
684
708
  }
685
709
 
686
710
  classMap.Assignee = Assignee;
687
711
  export default Assignee;
688
- //================================================================================
712
+ //= ===============================================================================
689
713
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
690
714
  // 自动生成的代码已结束。下面可以手动编写。
691
- //================================================================================
715
+ //= ===============================================================================