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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -0,0 +1,760 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.transformTSCodeToExpression = exports.transformTSCodeEx = exports.tryTransformTSCode = exports.transformTSCode = exports.tryParseTS = void 0;
30
+ const naslTypes = __importStar(require("../concepts"));
31
+ // 走 babel 走 ts 都行,可能 babel 跟我们语法树更像一些
32
+ // import * as ts from 'typescript';
33
+ // export function transformFromTS2(tsCode: string, contextLogicName: string) {
34
+ // const result: Array<naslTypes.BaseNode> = [];
35
+ // const sourceFile = ts.createSourceFile(`result.ts`, tsCode, ts.ScriptTarget.ESNext);
36
+ // let realBody: ts.Node;
37
+ // function findRealBody(node: ts.Node) {
38
+ // if (ts.isFunctionDeclaration(node) && node.name.escapedText === contextLogicName) {
39
+ // return realBody = node.body;
40
+ // } else {
41
+ // node.forEachChild(findRealBody);
42
+ // }
43
+ // }
44
+ // sourceFile.forEachChild(findRealBody);
45
+ // if (!realBody)
46
+ // throw new Error('无法找到实现的函数!');
47
+ // realBody.forEachChild((node) => {
48
+ // console.log(node);
49
+ // });
50
+ // }
51
+ const babel = __importStar(require("@babel/core"));
52
+ const generator_1 = __importDefault(require("@babel/generator"));
53
+ const utils_1 = require("../utils");
54
+ function tryParseTS(tsCode) {
55
+ try {
56
+ const root = babel.parseSync(tsCode, {
57
+ filename: 'result.ts',
58
+ presets: [require('@babel/preset-typescript')],
59
+ });
60
+ // console.log((root as any).program.body[0].body.body.map((item) => item.trailingComments));
61
+ return root;
62
+ }
63
+ catch (e) {
64
+ return null;
65
+ }
66
+ }
67
+ exports.tryParseTS = tryParseTS;
68
+ /**
69
+ * 这个函数是修复 AI 翻译出错的情况,与正常的 transform 做个区分
70
+ * @param node
71
+ * @returns
72
+ */
73
+ function fixLogicNode(node) {
74
+ if (node?.type === 'CallExpression') {
75
+ const calleeName = (0, generator_1.default)(node.callee).code;
76
+ if (calleeName === 'nasl.util.ForEach') {
77
+ const callee = flatMemberExpression(node.callee);
78
+ node.callee = callee[2];
79
+ }
80
+ }
81
+ }
82
+ function transformTSCode(tsCode, contextLogicName, type) {
83
+ const logic = new naslTypes.Logic();
84
+ logic.body = [];
85
+ function transformTypeAnnotation(node) {
86
+ if (node.type === 'TSTypeReference') {
87
+ const typeName = node.typeName.name;
88
+ const primitiveType = naslTypes.primitiveTypeList.find((ta) => ta.typeName === typeName);
89
+ if (node?.typeNamespace) {
90
+ return naslTypes.TypeAnnotation.createReference(typeName, {
91
+ typeNamespace: node.typeNamespace,
92
+ });
93
+ }
94
+ if (primitiveType) {
95
+ return naslTypes.TypeAnnotation.createPrimitive(typeName);
96
+ }
97
+ else if (['List', 'Map', 'Current'].includes(typeName) && node.typeParameters) {
98
+ return naslTypes.TypeAnnotation.createGeneric(typeName, {
99
+ typeArguments: node.typeParameters.params.map(transformTypeAnnotation),
100
+ });
101
+ }
102
+ else if (!node.typeParameters) {
103
+ return naslTypes.TypeAnnotation.createReference(typeName, {
104
+ typeNamespace: 'app.dataSources.defaultDS',
105
+ });
106
+ }
107
+ else {
108
+ console.error(node);
109
+ throw new Error('Unhandled node ' + node.type);
110
+ }
111
+ }
112
+ else if (node.type === 'TSTypeLiteral') {
113
+ return naslTypes.TypeAnnotation.createTypeAnonymousStructure(node.members.map((member) => new naslTypes.StructureProperty({
114
+ name: member.key.name,
115
+ typeAnnotation: transformTypeAnnotation(member.typeAnnotation.typeAnnotation),
116
+ })));
117
+ }
118
+ else if (node.type === 'TSBooleanKeyword') {
119
+ return naslTypes.TypeAnnotation.createPrimitive('Boolean');
120
+ }
121
+ else if (node.type === 'TSStringKeyword') {
122
+ return naslTypes.TypeAnnotation.createPrimitive('String');
123
+ }
124
+ else if (node.type === 'TSNumberKeyword') {
125
+ return naslTypes.TypeAnnotation.createPrimitive('Double');
126
+ }
127
+ else if (node.type === 'TSUnionType') {
128
+ const union = naslTypes.TypeAnnotation.createPrimitive('Union');
129
+ union.typeArguments = [];
130
+ node.types.forEach((type) => {
131
+ union.typeArguments.push(transformTypeAnnotation(type));
132
+ });
133
+ return union;
134
+ }
135
+ else {
136
+ console.error(node);
137
+ throw new Error('Unhandled node ' + node.type);
138
+ }
139
+ }
140
+ function transformParam(node) {
141
+ const typeAnnotation = node.typeAnnotation?.typeAnnotation;
142
+ return new naslTypes.Param({
143
+ name: node.name,
144
+ typeAnnotation: typeAnnotation ? transformTypeAnnotation(typeAnnotation) : null,
145
+ });
146
+ }
147
+ function pushElseIf(ifNode, switchStatement) {
148
+ switchStatement.cases.push(new naslTypes.SwitchCase({
149
+ test: transformLogicNode(ifNode.test),
150
+ consequent: !ifNode.consequent ? [] : ifNode.consequent.body.map((item) => transformLogicNode(item)).filter((item) => !!item),
151
+ }));
152
+ if (ifNode.alternate && ifNode.alternate.type === 'IfStatement') {
153
+ pushElseIf(ifNode.alternate, switchStatement);
154
+ }
155
+ else {
156
+ switchStatement.cases.push(new naslTypes.SwitchCase({
157
+ test: undefined,
158
+ consequent: !ifNode.consequent ? [] : ifNode.consequent.body.map((item) => transformLogicNode(item)).filter((item) => !!item),
159
+ }));
160
+ }
161
+ }
162
+ function transformLogicNode(node, typeAnnotation) {
163
+ fixLogicNode(node);
164
+ // console.log('lemon ~~~ node--1:', node);
165
+ if (node.type === 'VariableDeclaration') { // 拆成局部变量和赋值
166
+ const decl = node.declarations[0];
167
+ const variableName = decl.id.name;
168
+ if (!logic.variables.find((variable) => variable.name === variableName)) {
169
+ const typeAnnotation = decl.id.typeAnnotation?.typeAnnotation;
170
+ logic.variables.push(new naslTypes.Variable({
171
+ name: variableName,
172
+ typeAnnotation: typeAnnotation && transformTypeAnnotation(typeAnnotation),
173
+ }));
174
+ }
175
+ if (decl.init) {
176
+ if (decl.init.type !== 'ArrayExpression') {
177
+ if (type === 'expression') {
178
+ return transformLogicNode(decl.init);
179
+ }
180
+ return new naslTypes.Assignment({
181
+ left: new naslTypes.Identifier({
182
+ name: variableName,
183
+ }),
184
+ right: transformLogicNode(decl.init),
185
+ });
186
+ }
187
+ }
188
+ }
189
+ else if (node.type === 'CallExpression') {
190
+ const callee = flatMemberExpression(node.callee);
191
+ const calleeName = (0, generator_1.default)(node.callee).code;
192
+ // console.log('lemon ~~~ node--2', node, callee, calleeName);
193
+ if (/^\$refs\./.test(calleeName)) {
194
+ return new naslTypes.CallLogic({
195
+ calleeNamespace: `elements.${callee[1].name}.logics`,
196
+ calleeName: callee[2].name,
197
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
198
+ expression: transformLogicNode(arg),
199
+ })),
200
+ });
201
+ }
202
+ else if (callee.length === 2 && callee[0].type === 'Identifier' && callee[0].name.endsWith('Entity')) {
203
+ const entityName = callee[0].name.replace(/Entity$/, '');
204
+ return new naslTypes.CallLogic({
205
+ calleeNamespace: `app.dataSources.defaultDS.entities.${entityName}.logics`,
206
+ calleeName: callee[1].name,
207
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
208
+ expression: transformLogicNode(arg),
209
+ })),
210
+ });
211
+ }
212
+ else if (calleeName === 'nasl.oql.query') {
213
+ return new naslTypes.OqlQueryComponent({
214
+ dataSource: 'app.dataSources.defaultDS',
215
+ code: (0, generator_1.default)(node.arguments[0]).code.trim().slice(1, -1),
216
+ });
217
+ }
218
+ else if (calleeName.startsWith('nasl.util.')) {
219
+ const calleeName = callee.length === 3 ? callee[callee.length - 1].name : callee[0].callee.property.name;
220
+ const argument = callee.length === 3 ? node.arguments : callee[0].arguments;
221
+ let typeNamespace;
222
+ if (argument?.[argument.length - 1]?.type === 'ObjectExpression') {
223
+ typeNamespace = argument.splice(-1)[0].properties[0].value.value;
224
+ }
225
+ const nodeElement = new naslTypes.CallFunction({
226
+ calleeNamespace: 'nasl.util',
227
+ calleeName,
228
+ arguments: argument.map((arg, index) => new naslTypes.Argument({
229
+ expression: transformLogicNode(arg),
230
+ keyword: `str${index + 1}`,
231
+ })),
232
+ typeArguments: node?.typeParameters?.params.map((type) => transformTypeAnnotation({ ...type, typeNamespace })),
233
+ });
234
+ // console.log('lemon ~ callFunction ~ 3:', nodeElement);
235
+ return nodeElement;
236
+ }
237
+ else if (callee.length === 3 && calleeName.startsWith('nasl.ui.')) {
238
+ return new naslTypes.CallLogic({
239
+ calleeNamespace: 'nasl.ui',
240
+ calleeName: callee[2].name,
241
+ shortcut: true,
242
+ /**
243
+ * 这个函数是修复 AI 翻译出错的情况,与正常的 transform 做个区分
244
+ * @param node
245
+ * @returns
246
+ */
247
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
248
+ expression: transformLogicNode(arg),
249
+ })),
250
+ });
251
+ }
252
+ else if (callee.length === 2) {
253
+ const calleeName = node.callee.property.name;
254
+ if (calleeName === 'forEach') {
255
+ const newCallee = callee[0];
256
+ const arrowFunction = node.arguments[0];
257
+ const nodeElement = new naslTypes.ForEachStatement({
258
+ each: transformLogicNode(newCallee.callee.object),
259
+ start: transformLogicNode(newCallee.arguments[0]),
260
+ end: transformLogicNode(newCallee.arguments[1]),
261
+ item: transformParam(arrowFunction.params[0]),
262
+ index: transformParam(arrowFunction.params[1]),
263
+ body: arrowFunction.body.body.map((item) => transformLogicNode(item)).filter((item) => !!item),
264
+ });
265
+ return nodeElement;
266
+ }
267
+ }
268
+ else if (['plus', 'minus', 'multiply', 'divide', 'remainder'].includes(calleeName)) {
269
+ const map = {
270
+ plus: '+',
271
+ minus: '-',
272
+ multiply: '*',
273
+ divide: '/',
274
+ remainder: '%',
275
+ };
276
+ return new naslTypes.BinaryExpression({
277
+ operator: map[calleeName],
278
+ left: transformLogicNode(node.arguments[0]),
279
+ right: transformLogicNode(node.arguments[1]),
280
+ });
281
+ }
282
+ else if (calleeName === 'alert') {
283
+ return new naslTypes.CallLogic({
284
+ calleeNamespace: 'nasl.ui',
285
+ calleeName: 'showMessage',
286
+ shortcut: true,
287
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
288
+ expression: transformLogicNode(arg),
289
+ })),
290
+ });
291
+ }
292
+ else if (calleeName === 'console.log') {
293
+ return new naslTypes.CallLogic({
294
+ calleeNamespace: 'nasl.logging',
295
+ calleeName: 'INFO',
296
+ shortcut: true,
297
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
298
+ expression: transformLogicNode(arg),
299
+ })),
300
+ });
301
+ }
302
+ else if (/^app.dataSources|app.logics|load/.test(calleeName)) {
303
+ return new naslTypes.CallLogic({
304
+ calleeNamespace: (0, generator_1.default)(node.callee.object).code,
305
+ calleeName: callee[callee.length - 1].name,
306
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
307
+ expression: transformLogicNode(arg),
308
+ })),
309
+ });
310
+ }
311
+ else if (callee.length === 1) {
312
+ return new naslTypes.CallLogic({
313
+ calleeNamespace: `app.logics`,
314
+ calleeName,
315
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
316
+ expression: transformLogicNode(arg),
317
+ })),
318
+ });
319
+ }
320
+ else if (/interfaces/.test(calleeName)) {
321
+ return new naslTypes.CallInterface({
322
+ calleeNamespace: (0, generator_1.default)(node.callee.object).code,
323
+ calleeName: callee[callee.length - 1].name,
324
+ arguments: node.arguments.map((arg) => new naslTypes.Argument({
325
+ keyword: arg.properties[0].key.name,
326
+ expression: transformLogicNode(arg.properties[0].value),
327
+ })),
328
+ });
329
+ }
330
+ else if (/destination/.test(calleeName)) {
331
+ const newCallee = flatMemberExpression(node.callee.object);
332
+ return new naslTypes.Destination({
333
+ viewNamespace: (0, generator_1.default)(node.callee.object.object).code,
334
+ viewName: newCallee[newCallee.length - 1].name,
335
+ target: node.arguments[0].properties[1].value.value,
336
+ anchor: new naslTypes.Anchor({
337
+ expression: transformLogicNode(node.arguments[0].properties[0].value),
338
+ }),
339
+ });
340
+ }
341
+ else if (node.callee.type === 'ArrowFunctionExpression') {
342
+ // NOTE: 适用于 if else
343
+ const newCallee = node.callee.body.body;
344
+ if (newCallee[newCallee.length - 1].argument?.callee?.name === '__MatchExpressionFuntion') {
345
+ const match = new naslTypes.Match({
346
+ expression: transformLogicNode(newCallee[0]),
347
+ isExpression: type === 'expression',
348
+ cases: flatIfStatement(newCallee[1].body.body[0]).map((_case) => new naslTypes.MatchCase({
349
+ patterns: !_case.test ? [] : flatMatchPatternsExpression(transformLogicNode(_case.test)),
350
+ body: _case.consequent.body.filter((item) => item.type !== 'BreakStatement').map((item) => transformLogicNode(item)).filter((item) => !!item),
351
+ })),
352
+ });
353
+ if (!match.cases.length || match.cases[match.cases.length - 1].patterns.length) {
354
+ match.cases.push(new naslTypes.MatchCase({
355
+ patterns: [],
356
+ body: [],
357
+ }));
358
+ }
359
+ match.cases.forEach((case_) => {
360
+ if (case_.body.length && (case_.body[0].concept === 'BooleanLiteral' || case_.body[0].concept === 'StringLiteral')) {
361
+ case_.isMatchedTypeEnumable = true;
362
+ }
363
+ if (case_.patterns.length && case_.patterns[0].concept === 'MemberExpression') {
364
+ case_.isMatchedTypeEnumable = true;
365
+ case_.patterns[0] = new naslTypes.MemberExpression({
366
+ object: { concept: 'Identifier',
367
+ name: case_.patterns[0].object.property.name,
368
+ folded: false,
369
+ namespace: 'app.enums' },
370
+ property: {
371
+ concept: 'Identifier',
372
+ name: case_.patterns[0].property.value,
373
+ folded: false,
374
+ },
375
+ });
376
+ }
377
+ });
378
+ return match;
379
+ }
380
+ else if (newCallee[newCallee.length - 1].argument?.callee?.name === '__SwitchExpressionFuntion') {
381
+ const switchStatement = transformLogicNode(newCallee[0].body.body[0]);
382
+ // const switchStatement = new naslTypes.SwitchStatement({
383
+ // cases: newCallee[0].body.body.map((_case: any) => new naslTypes.SwitchCase({
384
+ // test: transformLogicNode(_case.test),
385
+ // consequent: !_case.consequent ? [] : (_case.consequent as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
386
+ // })),
387
+ // });
388
+ // switchStatement.cases.push(new naslTypes.SwitchCase({}));
389
+ return switchStatement;
390
+ }
391
+ else {
392
+ console.error(node);
393
+ throw new Error('Unhandled ArrowFunctionExpression node ' + node.type);
394
+ }
395
+ }
396
+ else {
397
+ console.error(node);
398
+ throw new Error('Unhandled node ' + callee.map((item) => item.name).join('.') + ' ' + node.type);
399
+ }
400
+ }
401
+ else if (node.type === 'IfStatement') {
402
+ if (node.alternate && node.alternate.type === 'IfStatement') {
403
+ const switchStatement = new naslTypes.SwitchStatement({
404
+ cases: [],
405
+ });
406
+ pushElseIf(node, switchStatement);
407
+ return switchStatement;
408
+ }
409
+ else {
410
+ return new naslTypes.IfStatement({
411
+ test: transformLogicNode(node.test),
412
+ consequent: !node.consequent ? [] : node.consequent.body.map((item) => transformLogicNode(item)).filter((item) => !!item),
413
+ alternate: !node.alternate ? [] : node.alternate.body.map((item) => transformLogicNode(item)).filter((item) => !!item),
414
+ });
415
+ }
416
+ }
417
+ else if (node.type === 'WhileStatement') {
418
+ return new naslTypes.WhileStatement({
419
+ test: transformLogicNode(node.test),
420
+ body: node.body.body.map((item) => transformLogicNode(item)).filter((item) => !!item),
421
+ });
422
+ }
423
+ else if (node.type === 'SwitchStatement') {
424
+ const match = new naslTypes.Match({
425
+ expression: transformLogicNode(node.discriminant),
426
+ isExpression: type === 'expression',
427
+ cases: node.cases.map((_case) => new naslTypes.MatchCase({
428
+ patterns: !_case.test ? [] : [transformLogicNode(_case.test)],
429
+ body: _case.consequent.filter((item) => item.type !== 'BreakStatement').map((item) => transformLogicNode(item)).filter((item) => !!item),
430
+ })),
431
+ });
432
+ if (!match.cases.length || match.cases[match.cases.length - 1].patterns.length) {
433
+ match.cases.push(new naslTypes.MatchCase({
434
+ patterns: [],
435
+ body: [],
436
+ }));
437
+ }
438
+ match.cases.forEach((case_) => {
439
+ if (case_.body.length && (case_.body[0].concept === 'BooleanLiteral' || case_.body[0].concept === 'StringLiteral')) {
440
+ case_.isMatchedTypeEnumable = true;
441
+ }
442
+ if (case_.patterns.length && case_.patterns[0].concept === 'MemberExpression') {
443
+ case_.isMatchedTypeEnumable = true;
444
+ case_.patterns[0].object.namespace = 'app.enums';
445
+ }
446
+ });
447
+ return match;
448
+ }
449
+ else if (node.type === 'MemberExpression') {
450
+ if (node.property.type === 'NumericLiteral') {
451
+ return new naslTypes.CallFunction({
452
+ calleeNamespace: 'nasl.util',
453
+ calleeName: 'Get',
454
+ arguments: [
455
+ new naslTypes.Argument({
456
+ expression: transformLogicNode(node.object),
457
+ }),
458
+ new naslTypes.Argument({
459
+ expression: transformLogicNode(node.property),
460
+ }),
461
+ ],
462
+ });
463
+ }
464
+ else {
465
+ return new naslTypes.MemberExpression({
466
+ object: transformLogicNode(node.object),
467
+ property: transformLogicNode(node.property),
468
+ });
469
+ }
470
+ }
471
+ else if (node.type === 'Identifier') {
472
+ return new naslTypes.Identifier({
473
+ name: node.name,
474
+ });
475
+ }
476
+ else if (node.type === 'ExpressionStatement') {
477
+ return transformLogicNode(node.expression);
478
+ }
479
+ else if (node.type === 'AssignmentExpression') {
480
+ if (node.operator === '+=' || node.operator === '-=') {
481
+ if (type === 'expression') {
482
+ return new naslTypes.BinaryExpression({
483
+ operator: node.operator[0],
484
+ left: transformLogicNode(node.left),
485
+ right: transformLogicNode(node.right),
486
+ });
487
+ }
488
+ return new naslTypes.Assignment({
489
+ left: transformLogicNode(node.left),
490
+ right: new naslTypes.BinaryExpression({
491
+ operator: node.operator[0],
492
+ left: transformLogicNode(node.left),
493
+ right: transformLogicNode(node.right),
494
+ }),
495
+ });
496
+ }
497
+ else {
498
+ if (type === 'expression') {
499
+ return transformLogicNode(node.right);
500
+ }
501
+ return new naslTypes.Assignment({
502
+ left: transformLogicNode(node.left),
503
+ right: transformLogicNode(node.right),
504
+ });
505
+ }
506
+ }
507
+ else if (node.type === 'NewExpression') {
508
+ const calleeName = (0, generator_1.default)(node.callee).code;
509
+ if (['Boolean', 'Integer', 'Double', 'Decimal', 'Long'].includes(calleeName)) {
510
+ return transformLogicNode(node.arguments[0], naslTypes.TypeAnnotation.createPrimitive(calleeName));
511
+ }
512
+ else {
513
+ console.error(node);
514
+ throw new Error('Unhandled node ' + node.type);
515
+ }
516
+ }
517
+ else if (node.type === 'ArrowFunctionExpression') {
518
+ return new naslTypes.AnonymousFunction({
519
+ params: node.params.map((param) => transformParam(param)),
520
+ body: transformLogicNode(node.body),
521
+ });
522
+ }
523
+ else if (node.type === 'BooleanLiteral') {
524
+ return new naslTypes.BooleanLiteral({
525
+ value: String(node.value),
526
+ });
527
+ }
528
+ else if (node.type === 'StringLiteral') {
529
+ return new naslTypes.StringLiteral({
530
+ value: node.value,
531
+ });
532
+ }
533
+ else if (node.type === 'NumericLiteral') {
534
+ const literal = new naslTypes.NumericLiteral({
535
+ value: String(node.value),
536
+ typeAnnotation: typeAnnotation || naslTypes.TypeAnnotation.createPrimitive('Integer'),
537
+ });
538
+ literal.typeAnnotation.typeName = literal.changeType(String(node.value));
539
+ return literal;
540
+ }
541
+ else if (node.type === 'NullLiteral') {
542
+ return new naslTypes.NullLiteral();
543
+ }
544
+ else if (node.type === 'TemplateLiteral') {
545
+ const expressions = [...node.expressions, ...node.quasis.map((element) => ({
546
+ type: 'StringLiteral',
547
+ value: element.value.raw,
548
+ start: element.start,
549
+ end: element.end,
550
+ }))];
551
+ expressions.sort((a, b) => a.start - b.start);
552
+ return new naslTypes.StringInterpolation({
553
+ expressions: expressions.map((item) => transformLogicNode(item)),
554
+ });
555
+ }
556
+ else if (node.type === 'BinaryExpression' || node.type === 'LogicalExpression') {
557
+ if (node.operator === '===')
558
+ node.operator = '==';
559
+ if (node.operator === '!==')
560
+ node.operator = '!=';
561
+ if (['+', '-', '*', '/', '%', '==', '!=', '>', '<', '>=', '<=', '&&', '||', 'startwith', 'endwith', 'like', 'in'].includes(node.operator)) {
562
+ return new naslTypes.BinaryExpression({
563
+ operator: node.operator,
564
+ left: transformLogicNode(node.left),
565
+ right: transformLogicNode(node.right),
566
+ });
567
+ }
568
+ else {
569
+ console.error(node);
570
+ throw new Error('Unhandled node ' + node.type);
571
+ }
572
+ }
573
+ else if (node.type === 'UnaryExpression') {
574
+ if (['!'].includes(node.operator)) {
575
+ return new naslTypes.UnaryExpression({
576
+ operator: node.operator,
577
+ argument: transformLogicNode(node.argument),
578
+ });
579
+ }
580
+ else if (['-'].includes(node.operator) && node.argument.type === 'NumericLiteral') {
581
+ return transformLogicNode({
582
+ type: 'NumericLiteral',
583
+ value: -node.argument.value,
584
+ });
585
+ }
586
+ else {
587
+ console.error(node);
588
+ throw new Error('Unhandled node ' + node.type);
589
+ }
590
+ }
591
+ else if (node.type === 'UpdateExpression') {
592
+ if (node.operator === '++' || node.operator === '--') {
593
+ return new naslTypes.Assignment({
594
+ left: transformLogicNode(node.argument),
595
+ right: new naslTypes.BinaryExpression({
596
+ operator: node.operator[0],
597
+ left: transformLogicNode(node.argument),
598
+ right: new naslTypes.NumericLiteral({
599
+ value: '1',
600
+ typeAnnotation: naslTypes.TypeAnnotation.createPrimitive('Integer'),
601
+ }),
602
+ }),
603
+ });
604
+ }
605
+ }
606
+ else if (node.type === 'ReturnStatement') {
607
+ if (node.argument) {
608
+ if (type === 'expression') {
609
+ return transformLogicNode(node.argument);
610
+ }
611
+ if (!logic.returns.length) {
612
+ logic.returns.push(new naslTypes.Return({
613
+ name: 'result',
614
+ }));
615
+ }
616
+ return new naslTypes.Assignment({
617
+ left: new naslTypes.Identifier({
618
+ name: logic.returns[0].name,
619
+ }),
620
+ right: transformLogicNode(node.argument),
621
+ });
622
+ }
623
+ }
624
+ else if (node.type === 'EmptyStatement') {
625
+ return node.leadingComments && new naslTypes.Comment({
626
+ value: String(node.leadingComments[0].value),
627
+ });
628
+ }
629
+ else {
630
+ console.error(node);
631
+ throw new Error('Unhandled node ' + node.type);
632
+ }
633
+ }
634
+ const root = babel.parseSync(tsCode, {
635
+ filename: 'result.ts',
636
+ presets: [require('@babel/preset-typescript')],
637
+ });
638
+ let parameters = [];
639
+ let statements = root.program.body;
640
+ (0, utils_1.traverse)((current) => {
641
+ if (current.node.type === 'FunctionDeclaration' && (current.node.id.name === contextLogicName || type === 'expression')) {
642
+ parameters = current.node.params;
643
+ statements = current.node.body.body;
644
+ return true;
645
+ }
646
+ }, { node: root.program }, { mode: 'anyObject' });
647
+ const currentPositionComment = root.comments.find((comment) => comment.type === 'CommentLine' && comment.value === ' 当前位置');
648
+ if (currentPositionComment) {
649
+ statements = statements.filter((stat) => stat.start > currentPositionComment.start);
650
+ }
651
+ // traverse<babelTypes.Node>((current) => {
652
+ // if (!current.node.type)
653
+ // console.log(current.key, current.node);
654
+ // // console.log(current.node.type);
655
+ // }, { node: {
656
+ // type: 'BlockStatement',
657
+ // body: statements,
658
+ // } as babelTypes.BlockStatement }, {
659
+ // mode: 'anyObject',
660
+ // depthFirst: true,
661
+ // excludedKeySet: new Set(['loc']),
662
+ // });
663
+ parameters.forEach((node) => {
664
+ const param = transformParam(node);
665
+ param && logic.params.push(param);
666
+ });
667
+ statements.forEach((node) => {
668
+ const item = transformLogicNode(node);
669
+ item && logic.body.push(item);
670
+ });
671
+ // console.log(JSON.stringify(logic));
672
+ // try {
673
+ // console.log(logic.toNaturalTS());
674
+ // } catch (e) {
675
+ // console.error(e);
676
+ // }
677
+ return logic;
678
+ }
679
+ exports.transformTSCode = transformTSCode;
680
+ function flatMemberExpression(node) {
681
+ if (node.type === 'MemberExpression')
682
+ return [...flatMemberExpression(node.object), node.property];
683
+ else
684
+ return [node];
685
+ }
686
+ function flatMatchPatternsExpression(node) {
687
+ if (node.concept === 'BinaryExpression') {
688
+ if (node.operator === '||') {
689
+ return [...flatMatchPatternsExpression(node.left), ...flatMatchPatternsExpression(node.right)];
690
+ }
691
+ if (node.operator === '==') {
692
+ return [node.right];
693
+ }
694
+ return [node];
695
+ }
696
+ else
697
+ return [node];
698
+ }
699
+ function flatIfStatement(node) {
700
+ if (node.alternate.type === 'IfStatement') {
701
+ return [...flatIfStatement(node.alternate), node];
702
+ }
703
+ else {
704
+ return [node];
705
+ }
706
+ }
707
+ function tryTransformTSCode(tsCode, contextLogicName, type) {
708
+ if (tsCode.includes('```')) {
709
+ const cap = tsCode.match(/```.*\n([\s\S]+?)```/);
710
+ if (cap)
711
+ tsCode = cap[1].trim();
712
+ }
713
+ return transformTSCode(tsCode, contextLogicName, type);
714
+ }
715
+ exports.tryTransformTSCode = tryTransformTSCode;
716
+ function transformTSCodeEx(answer, activeLogic, context) {
717
+ let logicName = activeLogic.name;
718
+ const { app, nasl } = context;
719
+ if (activeLogic.parentNode instanceof nasl.BindEvent && activeLogic.parentNode.parentNode instanceof nasl.View) {
720
+ logicName = 'on_view_' + activeLogic.name;
721
+ }
722
+ else if (activeLogic.parentNode instanceof nasl.BindEvent && activeLogic.parentNode.parentNode instanceof nasl.ViewElement) {
723
+ logicName = 'on_' + (activeLogic.parentNode).element.name + '_' + activeLogic.name;
724
+ }
725
+ else {
726
+ logicName = activeLogic.name;
727
+ }
728
+ const logic = tryTransformTSCode(answer, logicName);
729
+ app.emit('collect:start', { actionMsg: '自然语言生成代码' });
730
+ logic.params.forEach((param) => {
731
+ if (!activeLogic.params.find((_) => _.name === param.name))
732
+ activeLogic.addParam(param.toJSON());
733
+ });
734
+ logic.variables.forEach((variable) => {
735
+ if (!activeLogic.variables.find((_) => _.name === variable.name))
736
+ activeLogic.addVariable(variable.toJSON());
737
+ });
738
+ if (logic.returns.length && !activeLogic.returns.length) {
739
+ activeLogic.addReturn(logic.returns[0].toJSON());
740
+ }
741
+ logic.body.forEach((item) => activeLogic.insertItemInBodyAt(item.toJSON(), activeLogic.body.length - 1));
742
+ app.emit('collect:end');
743
+ }
744
+ exports.transformTSCodeEx = transformTSCodeEx;
745
+ function transformTSCodeToExpression(answer, context) {
746
+ let logic;
747
+ try {
748
+ logic = tryTransformTSCode(answer, '', 'expression');
749
+ }
750
+ catch (error) {
751
+ throw new Error(error);
752
+ }
753
+ const { app } = context;
754
+ app.emit('collect:start', { actionMsg: '自然语言生成代码' });
755
+ const body = logic.body;
756
+ app.emit('collect:end');
757
+ return body;
758
+ }
759
+ exports.transformTSCodeToExpression = transformTSCodeToExpression;
760
+ //# sourceMappingURL=transformTSCode.js.map