@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,528 +1,533 @@
1
- import { FileNode, NaslServer } from './naslServer';
2
1
  import * as tsProtocol from 'typescript/lib/protocol';
2
+ import { FileNode, NaslServer } from './naslServer';
3
3
  import { MinRange } from './translator';
4
- import { BaseNode, CallLogic, Destination, EnumItem, Interface, Logic, Param, Process, Role, Structure, View, ViewElement, Frontend, TypeAnnotation, StructureProperty, App, AuthInterface, CallAuthInterface, Connector, MsgTriggerLauncher } from '../concepts';
4
+ import {
5
+ BaseNode,
6
+ CallLogic,
7
+ Destination,
8
+ EnumItem,
9
+ Interface,
10
+ Logic,
11
+ Param,
12
+ Process,
13
+ Role,
14
+ Structure,
15
+ View,
16
+ ViewElement,
17
+ Frontend,
18
+ TypeAnnotation,
19
+ StructureProperty,
20
+ App,
21
+ AuthInterface,
22
+ CallAuthInterface,
23
+ Connector,
24
+ MsgTriggerLauncher,
25
+ Connection,
26
+ } from '../concepts';
5
27
  import { EventPayload, invokeCommand, registerCommand } from '../common';
6
28
  import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
7
29
 
8
30
  import { extendSentryMonitorNaslNode } from '../sentry';
9
31
 
10
32
  interface SetNameNode extends BaseNode {
11
- setName(name: string): any;
12
- [propname: string]: any;
33
+ setName(name: string): any;
34
+ [propname: string]: any;
13
35
  }
14
36
 
15
37
  BaseNode.prototype.findReadOnlyLogicUsage = function () {
16
- let targetNode;
38
+ let targetNode;
17
39
 
18
- if (this.parentNode.concept === 'Namespace' || this.parentNode.parentNode.concept === 'Namespace') {
19
- const sourceMap = this.parentNode.concept === 'Namespace' ? this.parentNode.parentNode.sourceMap : this.parentNode.parentNode.parentNode.sourceMap;
20
- for (const item of sourceMap) {
21
- const logic = item[0] as Logic;
22
- if (this.concept === 'Logic') {
23
- if (logic instanceof Logic)
24
- if (logic.calleewholeKey === (this as Logic).calleewholeKey) {
25
- targetNode = logic;
26
- break;
27
- }
28
- } else {
29
- if (logic instanceof Logic)
30
- if (logic.calleewholeKey === (this.parentNode as Logic).calleewholeKey) {
31
- targetNode = logic;
32
- break;
33
- }
34
- }
40
+ if (this.parentNode.concept === 'Namespace' || this.parentNode.parentNode.concept === 'Namespace') {
41
+ const sourceMap =
42
+ this.parentNode.concept === 'Namespace' ? this.parentNode.parentNode.sourceMap : this.parentNode.parentNode.parentNode.sourceMap;
43
+ for (const item of sourceMap) {
44
+ const logic = item[0] as Logic;
45
+ if (this.concept === 'Logic') {
46
+ if (logic instanceof Logic)
47
+ if (logic.calleewholeKey === (this as Logic).calleewholeKey) {
48
+ targetNode = logic;
49
+ break;
50
+ }
51
+ } else if (logic instanceof Logic)
52
+ if (logic.calleewholeKey === (this.parentNode as Logic).calleewholeKey) {
53
+ targetNode = logic;
54
+ break;
35
55
  }
36
- } else if (this.parentNode.concept === 'Module') {
37
- // 父级是模块的还是用它本身去查找引用
38
- targetNode = this;
39
- } else {
40
- const sourceMap = this.parentNode.sourceMap;
41
- for (const item of sourceMap) {
42
- const logic = item[0] as Logic;
43
- if (logic.calleewholeKey && logic.calleewholeKey === (this as Logic).calleewholeKey) {
44
- targetNode = logic;
45
- break;
46
- }
47
- }
48
- if (!targetNode)
49
- for (const item of sourceMap) {
50
- const logic = item[0] as Logic;
51
- if (logic.getNamespace && logic.getNamespace() === (this as Logic).getNamespace()) {
52
- targetNode = logic;
53
- break;
54
- }
55
- }
56
56
  }
57
-
58
- try {
59
- const app = this.getAncestor('App');
60
- const naslServer = (app as any).naslServer as NaslServer;
61
- return naslServer.findReferences(targetNode || this);
62
- } catch (err) {
63
- console.log(err);
57
+ } else if (this.parentNode.concept === 'Module') {
58
+ // 父级是模块的还是用它本身去查找引用
59
+ targetNode = this;
60
+ } else {
61
+ const { sourceMap } = this.parentNode;
62
+ for (const item of sourceMap) {
63
+ const logic = item[0] as Logic;
64
+ if (logic.calleewholeKey && logic.calleewholeKey === (this as Logic).calleewholeKey) {
65
+ targetNode = logic;
66
+ break;
67
+ }
64
68
  }
69
+ if (!targetNode)
70
+ for (const item of sourceMap) {
71
+ const logic = item[0] as Logic;
72
+ if (logic.getNamespace && logic.getNamespace() === (this as Logic).getNamespace()) {
73
+ targetNode = logic;
74
+ break;
75
+ }
76
+ }
77
+ }
78
+
79
+ try {
80
+ const app = this.getAncestor('App');
81
+ const naslServer = (app as any).naslServer as NaslServer;
82
+ return naslServer.findReferences(targetNode || this);
83
+ } catch (err) {
84
+ console.log(err);
85
+ }
65
86
  };
66
87
  // 查找引用
67
88
  BaseNode.prototype.findUsage = function findUsage() {
68
- try {
69
- const app = this.getAncestor('App');
70
- const naslServer = (app as any).naslServer as NaslServer;
71
- return naslServer.findReferences(this);
72
- } catch (err) {
73
- console.log(err);
74
- }
89
+ try {
90
+ const app = this.getAncestor('App');
91
+ const naslServer = (app as any).naslServer as NaslServer;
92
+ return naslServer.findReferences(this);
93
+ } catch (err) {
94
+ console.log(err);
95
+ }
75
96
  };
76
97
 
77
98
  // 通过当前节点,查找被引用的节点
78
99
  BaseNode.prototype.nodeFindRefNodes = function nodeFindRefNodes() {
79
- try {
80
- const app = this.getAncestor('App');
81
- const naslServer = (app as any).naslServer as NaslServer;
82
- return naslServer.nodeFindRefNodes(this);
83
- } catch (err) {
84
- console.log(err);
85
- }
100
+ try {
101
+ const app = this.getAncestor('App');
102
+ const naslServer = (app as any).naslServer as NaslServer;
103
+ return naslServer.nodeFindRefNodes(this);
104
+ } catch (err) {
105
+ console.log(err);
106
+ }
86
107
  };
87
108
 
88
109
  BaseNode.prototype.changeName = async function changeName(newValue: string, updateAll: boolean = false) {
89
- try {
90
- /**
91
- * 查找这个节点是不是有依赖
92
- */
93
- const app = this.getAncestor('App');
94
- const naslServer = (app as any).naslServer as NaslServer;
95
- const refsList = await naslServer._isHaveRef(this);
96
- // 是不是有引用有的话,就返回
97
- /**
98
- * @param this 当前重命名的节点
99
- * @param newValue 传递过来的新值,给MemberExpression用的比较特殊
100
- * 而且,这个新值不一定会用到,MemberExpression在批量更新的时候,可以取到新的value, 这里需要位置信息防止 a.a.a.a 中的一个a发生修改
101
- * @returns 找到的引用
102
- */
103
- const res = naslServer._renamePrepare(this, refsList, newValue);
104
- // 针对外部接口的鉴权方式,sourceMap 定位仅仅 定位到 CallAuthInterfacer
105
- // 因此这里需要保存this来做上下文判断
106
- const _this = this;
107
- if (res.length <= 1) {
108
- if (this.concept === 'enumItem') {
109
- (this as any).setValue(newValue);
110
- } else
111
- (this as SetNameNode).setName(newValue);
110
+ try {
111
+ /**
112
+ * 查找这个节点是不是有依赖
113
+ */
114
+ const app = this.getAncestor('App');
115
+ const naslServer = (app as any).naslServer as NaslServer;
116
+ const refsList = await naslServer._isHaveRef(this);
117
+ // 是不是有引用有的话,就返回
118
+ /**
119
+ * @param this 当前重命名的节点
120
+ * @param newValue 传递过来的新值,给MemberExpression用的比较特殊
121
+ * 而且,这个新值不一定会用到,MemberExpression在批量更新的时候,可以取到新的value, 这里需要位置信息防止 a.a.a.a 中的一个a发生修改
122
+ * @returns 找到的引用
123
+ */
124
+ const res = naslServer._renamePrepare(this, refsList, newValue);
125
+ // 针对外部接口的鉴权方式,sourceMap 定位仅仅 定位到 CallAuthInterfacer
126
+ // 因此这里需要保存this来做上下文判断
127
+ const _this = this;
128
+ if (res.length <= 1) {
129
+ if (this.concept === 'enumItem') {
130
+ (this as any).setValue(newValue);
131
+ } else (this as SetNameNode).setName(newValue);
132
+ } else {
133
+ const callback = (value: boolean) => {
134
+ if (value) {
135
+ const App = this.rootNode;
136
+ // 收集修改
137
+ App.emit('collect:start', {
138
+ actionMsg: '重命名并更新引用',
139
+ });
140
+ res.forEach((item) => {
141
+ const itemNode = item.node as SetNameNode;
142
+ // MsgTriggerLauncher 比较特殊,实际更名的应该为成员表达式
143
+ if (itemNode instanceof MsgTriggerLauncher) {
144
+ itemNode.callBackLogic.setName(newValue);
145
+ return;
146
+ }
147
+ if (item.newValue) {
148
+ // 如果有指定的修改方法,就用那个,没有就修改名字
149
+ if (item.setTypeMethods) {
150
+ const func = itemNode && itemNode[item.setTypeMethods];
151
+ typeof func === 'function' && itemNode[item.setTypeMethods](item.newValue);
152
+ } else {
153
+ itemNode.setName?.(item.newValue);
154
+ }
155
+ } else if (_this.concept === 'AuthLogicForCallInterface' && itemNode.concept === 'CallAuthInterface') {
156
+ const { calleewholeKey } = itemNode;
157
+ const targetItf: AuthInterface = getNodeByNodeCallee(App, calleewholeKey);
158
+ targetItf.setAuthLogic(newValue);
159
+ // 需要触发更新,否则对应的ts文件不会更新会导致鉴权方式找不到报错
160
+ itemNode.update({});
161
+ } else {
162
+ item.setTypeMethods ? itemNode[item.setTypeMethods](newValue) : itemNode.setName?.(newValue);
163
+ }
164
+ });
165
+ // 结束修改 ,批量操作
166
+ App.emit('collect:end');
112
167
  } else {
113
- const callback = (value: boolean) => {
114
- if (value) {
115
- const App = this.rootNode;
116
- // 收集修改
117
- App.emit('collect:start', {
118
- actionMsg: '重命名并更新引用',
119
- });
120
- res.forEach((item) => {
121
- const itemNode = item.node as SetNameNode;
122
- // MsgTriggerLauncher 比较特殊,实际更名的应该为成员表达式
123
- if (itemNode instanceof MsgTriggerLauncher) {
124
- itemNode.callBackLogic.setName(newValue);
125
- return;
126
- }
127
- if (item.newValue) {
128
- // 如果有指定的修改方法,就用那个,没有就修改名字
129
- if (item.setTypeMethods) {
130
- const func = itemNode && itemNode[item.setTypeMethods];
131
- typeof func === 'function' && itemNode[item.setTypeMethods](item.newValue);
132
- } else {
133
- itemNode.setName?.(item.newValue);
134
- }
135
- } else {
136
- if (_this.concept === 'AuthLogicForCallInterface' && itemNode.concept === 'CallAuthInterface') {
137
- const { calleewholeKey } = itemNode;
138
- const targetItf: AuthInterface = getNodeByNodeCallee(App, calleewholeKey);
139
- targetItf.setAuthLogic(newValue);
140
- // 需要触发更新,否则对应的ts文件不会更新会导致鉴权方式找不到报错
141
- itemNode.update({});
142
- } else {
143
- item.setTypeMethods ? itemNode[item.setTypeMethods](newValue) : itemNode.setName?.(newValue);
144
- }
145
- }
146
- });
147
- // 结束修改 ,批量操作
148
- App.emit('collect:end');
149
- } else {
150
- (this as SetNameNode).setName(newValue);
151
- }
152
- };
153
- const confirmParms = {
154
- actionType: 'rename',
155
- node: this,
156
- newValue,
157
- };
158
- /**
159
- * nasl和vue的通信,回退,要触发vue的watch。
160
- * 因为如果没修改的话nasl不会修改view,就不会通知到页面改成旧值
161
- * 先修改之
162
- */
163
- const closeCallBack = () => {
164
- if (this.concept === 'EnumItem') {
165
- const oldValue = (this as EnumItem).value;
166
- (this as EnumItem).value = oldValue + ' ';
167
- setTimeout(() => {
168
- (this as EnumItem).value = oldValue;
169
- }, 0);
170
- } else {
171
- const oldValue = this.name;
172
- this.name = oldValue + ' ';
173
- setTimeout(() => {
174
- this.name = oldValue;
175
- }, 0);
176
- }
177
- };
178
- updateAll ? callback(true) : invokeCommand('tsConfirm.open', confirmParms, callback, closeCallBack);
179
-
180
- return;
168
+ (this as SetNameNode).setName(newValue);
169
+ }
170
+ };
171
+ const confirmParms = {
172
+ actionType: 'rename',
173
+ node: this,
174
+ newValue,
175
+ };
176
+ /**
177
+ * nasl和vue的通信,回退,要触发vue的watch。
178
+ * 因为如果没修改的话nasl不会修改view,就不会通知到页面改成旧值
179
+ * 先修改之
180
+ */
181
+ const closeCallBack = () => {
182
+ if (this.concept === 'EnumItem') {
183
+ const oldValue = (this as EnumItem).value;
184
+ (this as EnumItem).value = `${oldValue} `;
185
+ setTimeout(() => {
186
+ (this as EnumItem).value = oldValue;
187
+ }, 0);
188
+ } else {
189
+ const oldValue = this.name;
190
+ this.name = `${oldValue} `;
191
+ setTimeout(() => {
192
+ this.name = oldValue;
193
+ }, 0);
181
194
  }
182
- } catch (err) {
183
- console.log(err);
195
+ };
196
+ updateAll ? callback(true) : invokeCommand('tsConfirm.open', confirmParms, callback, closeCallBack);
184
197
  }
198
+ } catch (err) {
199
+ console.log(err);
200
+ }
185
201
  };
186
202
 
187
203
  /**
188
204
  * 准备删除
189
205
  */
190
206
  BaseNode.prototype.prepareDelete = async function prepareDelete(cb?: Function) {
191
- try {
207
+ try {
208
+ /**
209
+ * 查找这个节点是不是有依赖
210
+ */
211
+ const app = this.getAncestor('App');
212
+ const naslServer = (app as any).naslServer as NaslServer;
213
+ const node = this;
214
+ let refsList = await naslServer._isHaveRef(node);
215
+ // 删除的时候过滤一把组件删除提示
216
+ refsList = refsList.filter(
217
+ (item) =>
218
+ // 因为ui组件本身会多渲染一次,就先过滤一个
219
+ !item.lineText.includes(': nasl.ui.')
220
+ );
221
+ // delete的弹框展示
222
+ const confirmParms = {
223
+ actionType: 'delete',
224
+ tipFlag: false,
225
+ node,
226
+ icon: 'warning',
227
+ };
228
+ let callback = null;
229
+ if (refsList.length <= 1 || (node instanceof Param && node.parentNode instanceof Logic && refsList.length <= 2)) {
230
+ // 平台类型直接删除然后return
231
+ if (node instanceof ViewElement) {
232
+ this.delete();
233
+ return;
234
+ }
235
+ callback = () => {
236
+ // Structure 和 Interface是内部有delete方法
237
+ if (node instanceof Structure || node instanceof Interface) {
238
+ (this as any).deleteLogincAndModule();
239
+ } else if (node instanceof Connection) {
240
+ delConnection(node);
241
+ if (cb) {
242
+ cb();
243
+ }
244
+ } else {
245
+ this.delete();
246
+ }
247
+ };
248
+ } else {
249
+ // 如果有依赖就有一个查找引用提示
250
+ confirmParms.tipFlag = true;
251
+ const node = this;
252
+
253
+ // 删除页面或者流程
254
+ if (node instanceof View || node instanceof Process || node instanceof Frontend) {
192
255
  /**
193
- * 查找这个节点是不是有依赖
256
+ * 查找这个页面是不是有依赖
194
257
  */
195
- const app = this.getAncestor('App');
196
- const naslServer = (app as any).naslServer as NaslServer;
197
- const node = this;
198
- let refsList = await naslServer._isHaveRef(node);
199
- // 删除的时候过滤一把组件删除提示
200
- refsList = refsList.filter((item) =>
201
- // 因为ui组件本身会多渲染一次,就先过滤一个
202
- !(item.lineText.includes(': nasl.ui.')));
203
- // delete的弹框展示
204
- const confirmParms = {
205
- actionType: 'delete',
206
- tipFlag: false,
207
- node,
208
- icon: 'warning',
209
- };
210
- let callback = null;
211
- if (refsList.length <= 1 || (node instanceof Param && node.parentNode instanceof Logic && refsList.length <= 2)) {
212
- // 平台类型直接删除然后return
213
- if (node instanceof ViewElement) {
214
- this.delete();
215
- return;
258
+ let viewPath = (this as FileNode).getEmbeddedFilePath();
259
+ viewPath = viewPath.slice(0, viewPath.length - 3);
260
+ const find = refsList.find((record) => !record.file.includes(viewPath));
261
+ // 如果没有别的文件的依赖,就直接delete
262
+ if (!find) {
263
+ if (node instanceof Process) {
264
+ const App = this.rootNode;
265
+ App.emit('collect:start', {
266
+ actionMsg: `删除流程${node.name}`,
267
+ });
268
+ await Promise.all(node.elements.map((ele) => ele.isUserTask && ele.cancelBindDelete(true)));
269
+ this.delete();
270
+ App.emit('collect:end');
271
+ } else {
272
+ this.delete();
273
+ if (node instanceof Frontend) {
274
+ return;
216
275
  }
217
- callback = () => {
218
- // Structure 和 Interface是内部有delete方法
219
- if (node instanceof Structure || node instanceof Interface) {
220
- (this as any).deleteLogincAndModule();
221
- } else if (node instanceof Connector) {
222
- delConnector(node, this);
223
- if (cb) {
224
- cb();
225
- }
226
- } else {
227
- this.delete();
228
- }
229
- };
230
- } else {
231
- // 如果有依赖就有一个查找引用提示
232
- confirmParms.tipFlag = true;
233
- const node = this;
234
-
235
- // 删除页面或者流程
236
- if (node instanceof View || node instanceof Process || node instanceof Frontend) {
237
- /**
238
- * 查找这个页面是不是有依赖
239
- */
240
- let viewPath = (this as FileNode).getEmbeddedFilePath();
241
- viewPath = viewPath.slice(0, viewPath.length - 3);
242
- const find = refsList.find((record) => !record.file.includes(viewPath));
243
- // 如果没有别的文件的依赖,就直接delete
244
- if (!find) {
245
- if (node instanceof Process) {
246
- const App = this.rootNode;
247
- App.emit('collect:start', {
248
- actionMsg: `删除流程${node.name}`,
249
- });
250
- await Promise.all(node.elements.map((ele) => ele.isUserTask && ele.cancelBindDelete(true)));
251
- this.delete();
252
- App.emit('collect:end');
253
- } else {
254
- this.delete();
255
- if (node instanceof Frontend) {
256
- return;
257
- }
258
- }
259
- return;
260
- } else {
261
- if (node instanceof Frontend) {
262
- let viewPath = (this as FileNode).getEmbeddedFilePath();
263
- viewPath = viewPath.slice(0, viewPath.length - 3);
264
- const refsTempList = refsList.filter((record) => !record.file.includes(viewPath));
265
- // 删除流程节点绑定的该端的页面跳转
266
- const result = refsTempList
267
- .map((record) => {
268
- const fileNode = naslServer.file2NodeMap.get(record.file);
269
- if (fileNode) {
270
- const minRange = naslServer._findMinRange(record, fileNode as FileNode);
271
- if (minRange?.node?.parentNode?.parentNode?.concept === 'ProcessElement') {
272
- return minRange.node.parentNode;
273
- }
274
- }
275
- return null;
276
- }).filter((record) => !!record);
277
- const App = this.rootNode;
278
- App.emit('collect:start', {
279
- actionMsg: `删除端${node.name}`,
280
- });
281
- await Promise.all(result.map((ele) => ele.delete()));
282
- this.delete();
283
- App.emit('collect:end');
284
- return;
285
- }
276
+ }
277
+ return;
278
+ }
279
+ if (node instanceof Frontend) {
280
+ let viewPath = (this as FileNode).getEmbeddedFilePath();
281
+ viewPath = viewPath.slice(0, viewPath.length - 3);
282
+ const refsTempList = refsList.filter((record) => !record.file.includes(viewPath));
283
+ // 删除流程节点绑定的该端的页面跳转
284
+ const result = refsTempList
285
+ .map((record) => {
286
+ const fileNode = naslServer.file2NodeMap.get(record.file);
287
+ if (fileNode) {
288
+ const minRange = naslServer._findMinRange(record, fileNode as FileNode);
289
+ if (minRange?.node?.parentNode?.parentNode?.concept === 'ProcessElement') {
290
+ return minRange.node.parentNode;
286
291
  }
292
+ }
293
+ return null;
294
+ })
295
+ .filter((record) => !!record);
296
+ const App = this.rootNode;
297
+ App.emit('collect:start', {
298
+ actionMsg: `删除端${node.name}`,
299
+ });
300
+ await Promise.all(result.map((ele) => ele.delete()));
301
+ this.delete();
302
+ App.emit('collect:end');
303
+ return;
304
+ }
305
+ }
306
+ callback = async () => {
307
+ // removeParam
308
+ // 跟rename 还不太一样,部分修改依赖修改好的值,然后在下面的修改需要把自己传递进去
309
+ if (node instanceof Param) {
310
+ const App = this.rootNode;
311
+ const { parentNode } = this;
312
+ // 收集修改
313
+ App.emit('collect:start', {
314
+ actionMsg: '删除参数',
315
+ });
316
+ const Index = node.getIndexOfParent();
317
+ this.delete();
318
+ refsList.forEach((record) => {
319
+ const fileNode = naslServer.file2NodeMap.get(record.file);
320
+ if (!fileNode) return null;
321
+ const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
322
+ if (minRange) {
323
+ /**
324
+ * 调用方是 调用逻辑或者跳转页面, 去删除对应位置的内容
325
+ * 如果是跳转页面,因为流程下的特殊翻译,需要过滤下 非页面下的参数修改,查找到页面跳转
326
+ */
327
+ if (
328
+ minRange.node instanceof CallLogic ||
329
+ (node.parentNode instanceof View && minRange.node instanceof Destination) ||
330
+ minRange.node instanceof CallAuthInterface
331
+ ) {
332
+ minRange.node.deleteCalleeArg(Index);
333
+ }
287
334
  }
288
- callback = async () => {
289
- // removeParam
290
- // 跟rename 还不太一样,部分修改依赖修改好的值,然后在下面的修改需要把自己传递进去
291
- if (node instanceof Param) {
292
- const App = this.rootNode;
293
- const parentNode = this.parentNode;
294
- // 收集修改
295
- App.emit('collect:start', {
296
- actionMsg: '删除参数',
297
- });
298
- const Index = node.getIndexOfParent();
299
- this.delete();
300
- refsList.forEach((record) => {
301
- const fileNode = naslServer.file2NodeMap.get(record.file);
302
- if (!fileNode)
303
- return null;
304
- const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
305
- if (minRange) {
306
- /**
307
- * 调用方是 调用逻辑或者跳转页面, 去删除对应位置的内容
308
- * 如果是跳转页面,因为流程下的特殊翻译,需要过滤下 非页面下的参数修改,查找到页面跳转
309
- */
310
- if (minRange.node instanceof CallLogic || (node.parentNode instanceof View && minRange.node instanceof Destination) || minRange.node instanceof CallAuthInterface) {
311
- minRange.node.deleteCalleeArg(Index);
312
- }
313
- }
314
- });
315
- // 结束修改 ,批量操作
316
- App.emit('collect:end');
317
- return;
318
- }
319
- // 删除logic节点,如果有对应的interface要一起删除
320
- if (node instanceof Logic) {
321
- const App = this.rootNode;
322
- // 收集修改
323
- App.emit('collect:start', {
324
- actionMsg: '删除逻辑并删除导出的接口',
325
- });
326
- this.delete();
327
- refsList.forEach((record) => {
328
- const fileNode = naslServer.file2NodeMap.get(record.file);
329
- if (!fileNode)
330
- return null;
331
- const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
332
- if (minRange) {
333
- if (minRange.node instanceof Interface) {
334
- minRange.node.delete();
335
- }
336
- }
337
- });
338
- // 结束修改 ,批量操作
339
- App.emit('collect:end');
340
- return;
341
- }
342
- // 删除权限节点
343
- if (node instanceof Role) {
344
- const App = this.rootNode;
345
- // 收集修改
346
- App.emit('collect:start', {
347
- actionMsg: '删除权限',
348
- });
349
- this.delete();
350
- refsList.forEach((record) => {
351
- const fileNode = naslServer.file2NodeMap.get(record.file);
352
- if (!fileNode)
353
- return null;
354
- const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
355
- if (minRange) {
356
- if (minRange.node instanceof View || minRange.node instanceof ViewElement) {
357
- // oldName旧的节点存的值
358
- // newValue用户输入值
359
- // node.bindRoles 存的
360
- const str = minRange.node.bindRoles.toString().replace(this.name, '');
361
- const newBindRoles = str.split(',').filter((item) => !!item);
362
- minRange.node.setBindRoles(newBindRoles);
363
- }
364
- }
365
- });
366
- // 结束修改 ,批量操作
367
- App.emit('collect:end');
368
- return;
369
- }
335
+ });
336
+ // 结束修改 ,批量操作
337
+ App.emit('collect:end');
338
+ return;
339
+ }
340
+ // 删除logic节点,如果有对应的interface要一起删除
341
+ if (node instanceof Logic) {
342
+ const App = this.rootNode;
343
+ // 收集修改
344
+ App.emit('collect:start', {
345
+ actionMsg: '删除逻辑并删除导出的接口',
346
+ });
347
+ this.delete();
348
+ refsList.forEach((record) => {
349
+ const fileNode = naslServer.file2NodeMap.get(record.file);
350
+ if (!fileNode) return null;
351
+ const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
352
+ if (minRange) {
353
+ if (minRange.node instanceof Interface) {
354
+ minRange.node.delete();
355
+ }
356
+ }
357
+ });
358
+ // 结束修改 ,批量操作
359
+ App.emit('collect:end');
360
+ return;
361
+ }
362
+ // 删除权限节点
363
+ if (node instanceof Role) {
364
+ const App = this.rootNode;
365
+ // 收集修改
366
+ App.emit('collect:start', {
367
+ actionMsg: '删除权限',
368
+ });
369
+ this.delete();
370
+ refsList.forEach((record) => {
371
+ const fileNode = naslServer.file2NodeMap.get(record.file);
372
+ if (!fileNode) return null;
373
+ const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
374
+ if (minRange) {
375
+ if (minRange.node instanceof View || minRange.node instanceof ViewElement) {
376
+ // oldName旧的节点存的值
377
+ // newValue用户输入值
378
+ // node.bindRoles 存的
379
+ const str = minRange.node.bindRoles.toString().replace(this.name, '');
380
+ const newBindRoles = str.split(',').filter((item) => !!item);
381
+ minRange.node.setBindRoles(newBindRoles);
382
+ }
383
+ }
384
+ });
385
+ // 结束修改 ,批量操作
386
+ App.emit('collect:end');
387
+ return;
388
+ }
370
389
 
371
- // 删除页面或者流程,如果上一步没有return 就说明他是有别的引用的,会有引用弹框
372
- if (node instanceof View) {
373
- this.delete();
374
- }
375
- if (node instanceof Process) {
376
- const App = this.rootNode;
377
- App.emit('collect:start', {
378
- actionMsg: `删除流程${node.name}`,
379
- });
380
- await Promise.all(node.elements.map((ele) => ele.isUserTask && ele.cancelBindDelete(true)));
381
- this.delete();
382
- App.emit('collect:end');
383
- }
390
+ // 删除页面或者流程,如果上一步没有return 就说明他是有别的引用的,会有引用弹框
391
+ if (node instanceof View) {
392
+ this.delete();
393
+ }
394
+ if (node instanceof Process) {
395
+ const App = this.rootNode;
396
+ App.emit('collect:start', {
397
+ actionMsg: `删除流程${node.name}`,
398
+ });
399
+ await Promise.all(node.elements.map((ele) => ele.isUserTask && ele.cancelBindDelete(true)));
400
+ this.delete();
401
+ App.emit('collect:end');
402
+ }
384
403
 
385
- if (node instanceof Connector) {
386
- delConnector(node, this);
387
- if (cb) {
388
- cb();
389
- }
390
- }
391
- // 其余的都直接调用删除
392
- // Structure 和 Interface是内部有delete方法
393
- if (node instanceof Structure || node instanceof Interface) {
394
- (this as any).deleteLogincAndModule();
395
- } else {
396
- this.delete();
397
- }
398
- };
404
+ if (node instanceof Connection) {
405
+ delConnection(node);
406
+ if (cb) {
407
+ cb();
408
+ }
409
+ return;
410
+ }
411
+ // 其余的都直接调用删除
412
+ // Structure Interface是内部有delete方法
413
+ if (node instanceof Structure || node instanceof Interface) {
414
+ (this as any).deleteLogincAndModule();
415
+ } else {
416
+ this.delete();
399
417
  }
400
- invokeCommand('tsConfirm.open', confirmParms, callback);
401
- } catch (err) {
402
- console.log(err);
418
+ };
403
419
  }
420
+ invokeCommand('tsConfirm.open', confirmParms, callback);
421
+ } catch (err) {
422
+ console.log(err);
423
+ }
404
424
  };
405
425
 
406
426
  /** 删除连接器 */
407
- function delConnector(node: Connector, context:BaseNode) {
408
- const app = context.rootNode as App;
409
- const configGroup = app.configuration.groups.find((item) => item.name === 'connector');
410
- const connectorsProperties = configGroup?.properties || [];
411
- app.emit('collect:start', {
412
- actionMsg: '删除连接器',
413
- });
414
-
415
- // 删除 configProperty
416
- const delNames: string[] = [];
417
- connectorsProperties.forEach((item) => {
418
- if (item.name.startsWith(node.name)) {
419
- delNames.push(item.name);
420
- }
421
- });
422
- delNames.forEach((name) => {
423
- configGroup.removeConfigProperty(name);
424
- });
425
-
426
- context.delete();
427
-
428
- app.emit('collect:end');
427
+ function delConnection(node: Connection) {
428
+ const app = node.rootNode as App;
429
+ app.emit('collect:start', {
430
+ actionMsg: '删除连接器',
431
+ });
432
+ node.delete();
433
+ app.emit('collect:end');
429
434
  }
430
435
 
431
436
  /**
432
437
  * 如果添加需要触发查找引用并且在之后,对内容产生影响
433
438
  */
434
439
  BaseNode.prototype.addParamsPrepare = async function addParamsPrepare(needAdd = true) {
435
- try {
436
- /**
437
- * 查找这个节点是不是有依赖
438
- */
439
- const app = this.getAncestor('App');
440
- const naslServer = (app as any).naslServer as NaslServer;
441
- const refsList = await naslServer._isHaveRef(this);
442
- return naslServer._addParamsPrepare(this, refsList, needAdd);
443
- } catch (err) {
444
- console.log(err);
445
- }
440
+ try {
441
+ /**
442
+ * 查找这个节点是不是有依赖
443
+ */
444
+ const app = this.getAncestor('App');
445
+ const naslServer = (app as any).naslServer as NaslServer;
446
+ const refsList = await naslServer._isHaveRef(this);
447
+ return naslServer._addParamsPrepare(this, refsList, needAdd);
448
+ } catch (err) {
449
+ console.log(err);
450
+ }
446
451
  };
447
452
 
448
453
  /**
449
454
  * 在原型上增加方法来调用
450
455
  */
451
456
  BaseNode.prototype.getCurrentTypeAnnotation = async function getCurrentTypeAnnotation(outTime?: number) {
452
- try {
453
- /**
454
- * 查找这个节点是不是有依赖
455
- */
456
- const app = this.getAncestor('App');
457
- const naslServer = (app as any).naslServer as NaslServer;
458
- return naslServer.getCurrentTypeAnnotation(this, outTime || 2000);
459
- } catch (err) {
460
- console.log(err);
461
- }
457
+ try {
458
+ /**
459
+ * 查找这个节点是不是有依赖
460
+ */
461
+ const app = this.getAncestor('App');
462
+ const naslServer = (app as any).naslServer as NaslServer;
463
+ return await naslServer.getCurrentTypeAnnotation(this, outTime || 2000);
464
+ } catch (err) {
465
+ console.log(err);
466
+ }
462
467
  };
463
468
 
464
469
  function newNode(node: BaseNode, parentNode: BaseNode, needNewStructure: boolean) {
465
- if (needNewStructure && node?.toJSON) {
466
- return (BaseNode.from(node.toJSON(), parentNode, '') as Structure);
467
- }
468
- return (node as Structure);
470
+ if (needNewStructure && node?.toJSON) {
471
+ return BaseNode.from(node.toJSON(), parentNode, '') as Structure;
472
+ }
473
+ return node as Structure;
469
474
  }
470
475
  /**
471
476
  * 获取下一级变量
472
477
  */
473
478
 
474
479
  BaseNode.prototype.getSelectRef = function getSelectRef(newTypeAnnotation: TypeAnnotation, needNewStructure = false) {
475
- try {
476
- const typeAnnotation = newTypeAnnotation || (this as any).typeAnnotation || this.__TypeAnnotation;
477
- const { typeName, typeKind, typeNamespace, typeArguments, properties: typeProperties } = typeAnnotation;
478
- const parentNode = this;
479
- let completionChildren: any;
480
- if (typeKind === 'reference') {
481
- if (typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.process' || typeNamespace === 'nasl.auth' || typeNamespace === 'nasl.http') {
482
- const node = newNode(getNaslNodeByNodeCallee(typeNamespace, typeName), parentNode, needNewStructure);
483
- const properties = (node as Structure)?.properties || [];
484
- completionChildren = properties;
485
- } else if (typeNamespace.endsWith('.enums')) {
486
- completionChildren = [];
487
- } else {
488
- let app: App;
489
- if (this.concept === 'App') {
490
- app = (this as App);
491
- } else {
492
- app = this.rootNode || typeAnnotation.app;
493
- }
494
- const node = newNode(getNodeByNodeCallee(app, typeNamespace + '.' + typeName), parentNode, needNewStructure);
495
- const properties = node?.properties || [];
496
- completionChildren = properties;
497
- }
498
- } else if (typeKind === 'generic') {
499
- const node = newNode(getNaslNodeByNodeCallee(typeNamespace, typeName), parentNode, needNewStructure);
500
- const properties = (node?.properties && [...node?.properties]) || [];
501
- for (let i = 0; i < properties.length; i++) {
502
- const item = properties[i];
503
- if (item?.typeAnnotation?.typeKind === 'typeParam') {
504
- if (item.name === 'columnItem' && typeArguments[1]) {
505
- item.typeAnnotation = TypeAnnotation.from(typeArguments[1].toJSON(), node, 'typeAnnotation');
506
- } else {
507
- item.typeAnnotation = TypeAnnotation.from(typeArguments[0].toJSON(), node, 'typeAnnotation');
508
- }
509
- properties[i];
510
- }
511
- }
512
- completionChildren = properties;
513
- } else if (typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName)) {
514
- const node = newNode(getNaslNodeByNodeCallee(typeNamespace, typeName), parentNode, needNewStructure);
515
- const properties = (node?.properties && [...node?.properties]) || [];
516
- completionChildren = properties;
517
- } else if (typeKind === 'anonymousStructure' && typeProperties?.length) {
518
- const node = newNode(typeAnnotation, parentNode, needNewStructure);
519
- const properties = (node?.properties && [...node?.properties]) || [];
520
- completionChildren = properties;
480
+ try {
481
+ const typeAnnotation = newTypeAnnotation || (this as any).typeAnnotation || this.__TypeAnnotation;
482
+ const { typeName, typeKind, typeNamespace, typeArguments, properties: typeProperties } = typeAnnotation;
483
+ const parentNode = this;
484
+ let completionChildren: any;
485
+ if (typeKind === 'reference') {
486
+ if (typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.process' || typeNamespace === 'nasl.auth' || typeNamespace === 'nasl.http') {
487
+ const node = newNode(getNaslNodeByNodeCallee(typeNamespace, typeName), parentNode, needNewStructure);
488
+ const properties = (node as Structure)?.properties || [];
489
+ completionChildren = properties;
490
+ } else if (typeNamespace.endsWith('.enums')) {
491
+ completionChildren = [];
492
+ } else {
493
+ let app: App;
494
+ if (this.concept === 'App') {
495
+ app = this as App;
496
+ } else {
497
+ app = this.rootNode || typeAnnotation.app;
498
+ }
499
+ const node = newNode(getNodeByNodeCallee(app, `${typeNamespace}.${typeName}`), parentNode, needNewStructure);
500
+ const properties = node?.properties || [];
501
+ completionChildren = properties;
502
+ }
503
+ } else if (typeKind === 'generic') {
504
+ const node = newNode(getNaslNodeByNodeCallee(typeNamespace, typeName), parentNode, needNewStructure);
505
+ const properties = (node?.properties && [...node?.properties]) || [];
506
+ for (let i = 0; i < properties.length; i++) {
507
+ const item = properties[i];
508
+ if (item?.typeAnnotation?.typeKind === 'typeParam') {
509
+ if (item.name === 'columnItem' && typeArguments[1]) {
510
+ item.typeAnnotation = TypeAnnotation.from(typeArguments[1].toJSON(), node, 'typeAnnotation');
511
+ } else {
512
+ item.typeAnnotation = TypeAnnotation.from(typeArguments[0].toJSON(), node, 'typeAnnotation');
513
+ }
514
+ properties[i];
521
515
  }
522
- return completionChildren;
523
- } catch (err) {
524
- console.log(err);
516
+ }
517
+ completionChildren = properties;
518
+ } else if (typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName)) {
519
+ const node = newNode(getNaslNodeByNodeCallee(typeNamespace, typeName), parentNode, needNewStructure);
520
+ const properties = (node?.properties && [...node?.properties]) || [];
521
+ completionChildren = properties;
522
+ } else if (typeKind === 'anonymousStructure' && typeProperties?.length) {
523
+ const node = newNode(typeAnnotation, parentNode, needNewStructure);
524
+ const properties = (node?.properties && [...node?.properties]) || [];
525
+ completionChildren = properties;
525
526
  }
527
+ return completionChildren;
528
+ } catch (err) {
529
+ console.log(err);
530
+ }
526
531
  };
527
532
 
528
533
  extendSentryMonitorNaslNode(BaseNode);