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

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 (787) hide show
  1. package/out/bak/translator.js +8 -5
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/breakpoint/generator/AfterStartNode.js +2 -1
  4. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  5. package/out/breakpoint/generator/BeforeEndNode.js +2 -1
  6. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  7. package/out/breakpoint/generator/BreakpointNode.js +30 -9
  8. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  9. package/out/breakpoint/shared/constants.d.ts +1 -0
  10. package/out/breakpoint/shared/constants.js +7 -1
  11. package/out/breakpoint/shared/constants.js.map +1 -1
  12. package/out/breakpoint/shared/utils.d.ts +3 -1
  13. package/out/breakpoint/shared/utils.js +25 -4
  14. package/out/breakpoint/shared/utils.js.map +1 -1
  15. package/out/common/BaseNode.d.ts +21 -8
  16. package/out/common/BaseNode.js +115 -69
  17. package/out/common/BaseNode.js.map +1 -1
  18. package/out/common/Command.js +6 -1
  19. package/out/common/Command.js.map +1 -1
  20. package/out/common/EventEmitter.d.ts +1 -1
  21. package/out/common/EventEmitter.js +1 -3
  22. package/out/common/EventEmitter.js.map +1 -1
  23. package/out/common/index.d.ts +0 -1
  24. package/out/common/index.js +0 -1
  25. package/out/common/index.js.map +1 -1
  26. package/out/concepts/Abort__.d.ts +3 -2
  27. package/out/concepts/Abort__.js +15 -18
  28. package/out/concepts/Abort__.js.map +1 -1
  29. package/out/concepts/Anchor__.d.ts +3 -3
  30. package/out/concepts/Anchor__.js +18 -35
  31. package/out/concepts/Anchor__.js.map +1 -1
  32. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  33. package/out/concepts/AnonymousFunction__.js +29 -53
  34. package/out/concepts/AnonymousFunction__.js.map +1 -1
  35. package/out/concepts/App__.d.ts +160 -157
  36. package/out/concepts/App__.js +106 -80
  37. package/out/concepts/App__.js.map +1 -1
  38. package/out/concepts/Argument__.d.ts +3 -3
  39. package/out/concepts/Argument__.js +22 -42
  40. package/out/concepts/Argument__.js.map +1 -1
  41. package/out/concepts/Assignee__.d.ts +3 -2
  42. package/out/concepts/Assignee__.js +19 -21
  43. package/out/concepts/Assignee__.js.map +1 -1
  44. package/out/concepts/AssignmentLine__.d.ts +3 -2
  45. package/out/concepts/AssignmentLine__.js +15 -17
  46. package/out/concepts/AssignmentLine__.js.map +1 -1
  47. package/out/concepts/Assignment__.d.ts +3 -3
  48. package/out/concepts/Assignment__.js +34 -42
  49. package/out/concepts/Assignment__.js.map +1 -1
  50. package/out/concepts/Attribute__.d.ts +3 -2
  51. package/out/concepts/Attribute__.js +36 -28
  52. package/out/concepts/Attribute__.js.map +1 -1
  53. package/out/concepts/AuthInterface__.d.ts +4 -3
  54. package/out/concepts/AuthInterface__.js +16 -17
  55. package/out/concepts/AuthInterface__.js.map +1 -1
  56. package/out/concepts/AuthLogicForCallInterface__.d.ts +4 -3
  57. package/out/concepts/AuthLogicForCallInterface__.js +37 -27
  58. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  59. package/out/concepts/AuthLogic__.d.ts +4 -3
  60. package/out/concepts/AuthLogic__.js +18 -19
  61. package/out/concepts/AuthLogic__.js.map +1 -1
  62. package/out/concepts/BackendVariable__.d.ts +8 -7
  63. package/out/concepts/BackendVariable__.js +39 -34
  64. package/out/concepts/BackendVariable__.js.map +1 -1
  65. package/out/concepts/Backend__.d.ts +32 -31
  66. package/out/concepts/Backend__.js +23 -22
  67. package/out/concepts/Backend__.js.map +1 -1
  68. package/out/concepts/BatchAssignment__.d.ts +3 -3
  69. package/out/concepts/BatchAssignment__.js +46 -54
  70. package/out/concepts/BatchAssignment__.js.map +1 -1
  71. package/out/concepts/BinaryExpression__.d.ts +3 -3
  72. package/out/concepts/BinaryExpression__.js +30 -62
  73. package/out/concepts/BinaryExpression__.js.map +1 -1
  74. package/out/concepts/BindAttribute__.d.ts +12 -9
  75. package/out/concepts/BindAttribute__.js +81 -102
  76. package/out/concepts/BindAttribute__.js.map +1 -1
  77. package/out/concepts/BindDirective__.d.ts +5 -3
  78. package/out/concepts/BindDirective__.js +34 -28
  79. package/out/concepts/BindDirective__.js.map +1 -1
  80. package/out/concepts/BindEvent__.d.ts +3 -3
  81. package/out/concepts/BindEvent__.js +51 -74
  82. package/out/concepts/BindEvent__.js.map +1 -1
  83. package/out/concepts/BindStyle__.d.ts +5 -3
  84. package/out/concepts/BindStyle__.js +24 -23
  85. package/out/concepts/BindStyle__.js.map +1 -1
  86. package/out/concepts/BooleanLiteral__.d.ts +3 -3
  87. package/out/concepts/BooleanLiteral__.js +17 -24
  88. package/out/concepts/BooleanLiteral__.js.map +1 -1
  89. package/out/concepts/CallAuthInterface__.d.ts +3 -2
  90. package/out/concepts/CallAuthInterface__.js +17 -19
  91. package/out/concepts/CallAuthInterface__.js.map +1 -1
  92. package/out/concepts/CallConnector__.d.ts +5 -4
  93. package/out/concepts/CallConnector__.js +41 -34
  94. package/out/concepts/CallConnector__.js.map +1 -1
  95. package/out/concepts/CallFunction__.d.ts +3 -3
  96. package/out/concepts/CallFunction__.js +33 -71
  97. package/out/concepts/CallFunction__.js.map +1 -1
  98. package/out/concepts/CallInterface__.d.ts +3 -3
  99. package/out/concepts/CallInterface__.js +26 -57
  100. package/out/concepts/CallInterface__.js.map +1 -1
  101. package/out/concepts/CallLogic__.d.ts +6 -6
  102. package/out/concepts/CallLogic__.js +135 -180
  103. package/out/concepts/CallLogic__.js.map +1 -1
  104. package/out/concepts/CallQueryComponent__.d.ts +3 -2
  105. package/out/concepts/CallQueryComponent__.js +57 -41
  106. package/out/concepts/CallQueryComponent__.js.map +1 -1
  107. package/out/concepts/Comment__.d.ts +3 -3
  108. package/out/concepts/Comment__.js +17 -24
  109. package/out/concepts/Comment__.js.map +1 -1
  110. package/out/concepts/CompletionProperty__.d.ts +3 -2
  111. package/out/concepts/CompletionProperty__.js +30 -25
  112. package/out/concepts/CompletionProperty__.js.map +1 -1
  113. package/out/concepts/ConfigGroup__.d.ts +3 -2
  114. package/out/concepts/ConfigGroup__.js +21 -20
  115. package/out/concepts/ConfigGroup__.js.map +1 -1
  116. package/out/concepts/ConfigPropertyValue__.d.ts +3 -2
  117. package/out/concepts/ConfigPropertyValue__.js +16 -16
  118. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  119. package/out/concepts/ConfigProperty__.d.ts +3 -2
  120. package/out/concepts/ConfigProperty__.js +26 -23
  121. package/out/concepts/ConfigProperty__.js.map +1 -1
  122. package/out/concepts/Configuration__.d.ts +3 -2
  123. package/out/concepts/Configuration__.js +16 -18
  124. package/out/concepts/Configuration__.js.map +1 -1
  125. package/out/concepts/Connection__.d.ts +4 -4
  126. package/out/concepts/Connection__.js +22 -18
  127. package/out/concepts/Connection__.js.map +1 -1
  128. package/out/concepts/ConnectorTrigger__.d.ts +7 -6
  129. package/out/concepts/ConnectorTrigger__.js +22 -21
  130. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  131. package/out/concepts/Connector__.d.ts +139 -33
  132. package/out/concepts/Connector__.js +191 -34
  133. package/out/concepts/Connector__.js.map +1 -1
  134. package/out/concepts/Constant__.d.ts +3 -2
  135. package/out/concepts/Constant__.js +25 -23
  136. package/out/concepts/Constant__.js.map +1 -1
  137. package/out/concepts/DataSource__.d.ts +7 -2
  138. package/out/concepts/DataSource__.js +31 -23
  139. package/out/concepts/DataSource__.js.map +1 -1
  140. package/out/concepts/DatabaseTypeAnnotation__.d.ts +5 -4
  141. package/out/concepts/DatabaseTypeAnnotation__.js +18 -18
  142. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  143. package/out/concepts/Destination__.d.ts +11 -11
  144. package/out/concepts/Destination__.js +39 -89
  145. package/out/concepts/Destination__.js.map +1 -1
  146. package/out/concepts/End__.d.ts +3 -2
  147. package/out/concepts/End__.js +15 -17
  148. package/out/concepts/End__.js.map +1 -1
  149. package/out/concepts/EntityIndex__.d.ts +4 -3
  150. package/out/concepts/EntityIndex__.js +23 -21
  151. package/out/concepts/EntityIndex__.js.map +1 -1
  152. package/out/concepts/EntityProperty__.d.ts +4 -4
  153. package/out/concepts/EntityProperty__.js +51 -67
  154. package/out/concepts/EntityProperty__.js.map +1 -1
  155. package/out/concepts/Entity__.d.ts +3 -3
  156. package/out/concepts/Entity__.js +32 -51
  157. package/out/concepts/Entity__.js.map +1 -1
  158. package/out/concepts/EnumItem__.d.ts +3 -3
  159. package/out/concepts/EnumItem__.js +19 -25
  160. package/out/concepts/EnumItem__.js.map +1 -1
  161. package/out/concepts/Enum__.d.ts +3 -3
  162. package/out/concepts/Enum__.js +23 -35
  163. package/out/concepts/Enum__.js.map +1 -1
  164. package/out/concepts/Event__.d.ts +3 -2
  165. package/out/concepts/Event__.js +24 -21
  166. package/out/concepts/Event__.js.map +1 -1
  167. package/out/concepts/ExternalDestination__.d.ts +6 -5
  168. package/out/concepts/ExternalDestination__.js +25 -25
  169. package/out/concepts/ExternalDestination__.js.map +1 -1
  170. package/out/concepts/ForEachStatement__.d.ts +3 -3
  171. package/out/concepts/ForEachStatement__.js +21 -60
  172. package/out/concepts/ForEachStatement__.js.map +1 -1
  173. package/out/concepts/FrontendLibrary__.d.ts +4 -3
  174. package/out/concepts/FrontendLibrary__.js +27 -25
  175. package/out/concepts/FrontendLibrary__.js.map +1 -1
  176. package/out/concepts/FrontendVariable__.d.ts +4 -3
  177. package/out/concepts/FrontendVariable__.js +12 -12
  178. package/out/concepts/FrontendVariable__.js.map +1 -1
  179. package/out/concepts/Frontend__.d.ts +8 -6
  180. package/out/concepts/Frontend__.js +47 -39
  181. package/out/concepts/Frontend__.js.map +1 -1
  182. package/out/concepts/Function__.d.ts +3 -3
  183. package/out/concepts/Function__.js +37 -60
  184. package/out/concepts/Function__.js.map +1 -1
  185. package/out/concepts/Identifier__.d.ts +4 -3
  186. package/out/concepts/Identifier__.js +30 -29
  187. package/out/concepts/Identifier__.js.map +1 -1
  188. package/out/concepts/IfStatement__.d.ts +3 -3
  189. package/out/concepts/IfStatement__.js +21 -51
  190. package/out/concepts/IfStatement__.js.map +1 -1
  191. package/out/concepts/Integration__.d.ts +93 -2
  192. package/out/concepts/Integration__.js +157 -19
  193. package/out/concepts/Integration__.js.map +1 -1
  194. package/out/concepts/InterfaceParam__.d.ts +30 -4
  195. package/out/concepts/InterfaceParam__.js +58 -24
  196. package/out/concepts/InterfaceParam__.js.map +1 -1
  197. package/out/concepts/Interface__.d.ts +31 -5
  198. package/out/concepts/Interface__.js +89 -34
  199. package/out/concepts/Interface__.js.map +1 -1
  200. package/out/concepts/JSBlock__.d.ts +3 -3
  201. package/out/concepts/JSBlock__.js +17 -24
  202. package/out/concepts/JSBlock__.js.map +1 -1
  203. package/out/concepts/JavaLogic__.d.ts +4 -3
  204. package/out/concepts/JavaLogic__.js +22 -21
  205. package/out/concepts/JavaLogic__.js.map +1 -1
  206. package/out/concepts/LogicItem__.d.ts +3 -8
  207. package/out/concepts/LogicItem__.js +23 -30
  208. package/out/concepts/LogicItem__.js.map +1 -1
  209. package/out/concepts/Logic__.d.ts +17 -18
  210. package/out/concepts/Logic__.js +113 -179
  211. package/out/concepts/Logic__.js.map +1 -1
  212. package/out/concepts/MatchCase__.d.ts +3 -3
  213. package/out/concepts/MatchCase__.js +23 -110
  214. package/out/concepts/MatchCase__.js.map +1 -1
  215. package/out/concepts/Match__.d.ts +3 -3
  216. package/out/concepts/Match__.js +20 -64
  217. package/out/concepts/Match__.js.map +1 -1
  218. package/out/concepts/MemberExpression__.d.ts +3 -3
  219. package/out/concepts/MemberExpression__.js +65 -59
  220. package/out/concepts/MemberExpression__.js.map +1 -1
  221. package/out/concepts/MicroApp__.d.ts +3 -2
  222. package/out/concepts/MicroApp__.js +26 -21
  223. package/out/concepts/MicroApp__.js.map +1 -1
  224. package/out/concepts/Module__.d.ts +219 -47
  225. package/out/concepts/Module__.js +232 -32
  226. package/out/concepts/Module__.js.map +1 -1
  227. package/out/concepts/MsgTriggerEvent__.d.ts +4 -3
  228. package/out/concepts/MsgTriggerEvent__.js +16 -18
  229. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  230. package/out/concepts/MsgTriggerLauncher__.d.ts +4 -3
  231. package/out/concepts/MsgTriggerLauncher__.js +18 -19
  232. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  233. package/out/concepts/Namespace__.d.ts +4 -2
  234. package/out/concepts/Namespace__.js +64 -46
  235. package/out/concepts/Namespace__.js.map +1 -1
  236. package/out/concepts/NewComposite__.d.ts +4 -3
  237. package/out/concepts/NewComposite__.js +71 -133
  238. package/out/concepts/NewComposite__.js.map +1 -1
  239. package/out/concepts/NewList__.d.ts +5 -4
  240. package/out/concepts/NewList__.js +35 -41
  241. package/out/concepts/NewList__.js.map +1 -1
  242. package/out/concepts/NewMap__.d.ts +5 -4
  243. package/out/concepts/NewMap__.js +39 -38
  244. package/out/concepts/NewMap__.js.map +1 -1
  245. package/out/concepts/New__.d.ts +3 -2
  246. package/out/concepts/New__.js +15 -17
  247. package/out/concepts/New__.js.map +1 -1
  248. package/out/concepts/NullLiteral__.d.ts +3 -2
  249. package/out/concepts/NullLiteral__.js +15 -17
  250. package/out/concepts/NullLiteral__.js.map +1 -1
  251. package/out/concepts/NumericLiteral__.d.ts +3 -3
  252. package/out/concepts/NumericLiteral__.js +21 -27
  253. package/out/concepts/NumericLiteral__.js.map +1 -1
  254. package/out/concepts/OqlQueryComponent__.d.ts +3 -3
  255. package/out/concepts/OqlQueryComponent__.js +26 -30
  256. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  257. package/out/concepts/OverriddenLogic__.d.ts +14 -22
  258. package/out/concepts/OverriddenLogic__.js +73 -62
  259. package/out/concepts/OverriddenLogic__.js.map +1 -1
  260. package/out/concepts/Param__.d.ts +3 -3
  261. package/out/concepts/Param__.js +34 -69
  262. package/out/concepts/Param__.js.map +1 -1
  263. package/out/concepts/Point__.d.ts +3 -2
  264. package/out/concepts/Point__.js +16 -16
  265. package/out/concepts/Point__.js.map +1 -1
  266. package/out/concepts/ProcessComponent__.d.ts +3 -2
  267. package/out/concepts/ProcessComponent__.js +24 -22
  268. package/out/concepts/ProcessComponent__.js.map +1 -1
  269. package/out/concepts/ProcessElement__.d.ts +3 -2
  270. package/out/concepts/ProcessElement__.js +61 -46
  271. package/out/concepts/ProcessElement__.js.map +1 -1
  272. package/out/concepts/ProcessOutcome__.d.ts +3 -2
  273. package/out/concepts/ProcessOutcome__.js +17 -18
  274. package/out/concepts/ProcessOutcome__.js.map +1 -1
  275. package/out/concepts/ProcessOutcomes__.d.ts +3 -2
  276. package/out/concepts/ProcessOutcomes__.js +15 -17
  277. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  278. package/out/concepts/Process__.d.ts +5 -7
  279. package/out/concepts/Process__.js +46 -35
  280. package/out/concepts/Process__.js.map +1 -1
  281. package/out/concepts/QueryAggregateExpression__.d.ts +3 -2
  282. package/out/concepts/QueryAggregateExpression__.js +23 -22
  283. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  284. package/out/concepts/QueryFieldExpression__.d.ts +4 -3
  285. package/out/concepts/QueryFieldExpression__.js +21 -20
  286. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  287. package/out/concepts/QueryFromExpression__.d.ts +4 -3
  288. package/out/concepts/QueryFromExpression__.js +23 -22
  289. package/out/concepts/QueryFromExpression__.js.map +1 -1
  290. package/out/concepts/QueryGroupByExpression__.d.ts +3 -2
  291. package/out/concepts/QueryGroupByExpression__.js +18 -19
  292. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  293. package/out/concepts/QueryJoinExpression__.d.ts +4 -3
  294. package/out/concepts/QueryJoinExpression__.js +29 -25
  295. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  296. package/out/concepts/QueryLimitExpression__.d.ts +3 -2
  297. package/out/concepts/QueryLimitExpression__.js +22 -22
  298. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  299. package/out/concepts/QueryOrderByExpression__.d.ts +3 -2
  300. package/out/concepts/QueryOrderByExpression__.js +22 -22
  301. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  302. package/out/concepts/QuerySelectExpression__.d.ts +3 -2
  303. package/out/concepts/QuerySelectExpression__.js +23 -21
  304. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  305. package/out/concepts/Rect__.d.ts +3 -2
  306. package/out/concepts/Rect__.js +20 -18
  307. package/out/concepts/Rect__.js.map +1 -1
  308. package/out/concepts/Return__.d.ts +3 -3
  309. package/out/concepts/Return__.js +29 -45
  310. package/out/concepts/Return__.js.map +1 -1
  311. package/out/concepts/Role__.d.ts +3 -2
  312. package/out/concepts/Role__.js +22 -21
  313. package/out/concepts/Role__.js.map +1 -1
  314. package/out/concepts/SelectMembers__.d.ts +3 -2
  315. package/out/concepts/SelectMembers__.js +20 -21
  316. package/out/concepts/SelectMembers__.js.map +1 -1
  317. package/out/concepts/Slot__.d.ts +3 -2
  318. package/out/concepts/Slot__.js +26 -22
  319. package/out/concepts/Slot__.js.map +1 -1
  320. package/out/concepts/SqlQueryComponent__.d.ts +3 -3
  321. package/out/concepts/SqlQueryComponent__.js +28 -31
  322. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  323. package/out/concepts/Start__.d.ts +3 -2
  324. package/out/concepts/Start__.js +15 -17
  325. package/out/concepts/Start__.js.map +1 -1
  326. package/out/concepts/StringInterpolation__.d.ts +3 -3
  327. package/out/concepts/StringInterpolation__.js +17 -37
  328. package/out/concepts/StringInterpolation__.js.map +1 -1
  329. package/out/concepts/StringLiteral__.d.ts +3 -3
  330. package/out/concepts/StringLiteral__.js +14 -22
  331. package/out/concepts/StringLiteral__.js.map +1 -1
  332. package/out/concepts/StructureProperty__.d.ts +5 -5
  333. package/out/concepts/StructureProperty__.js +33 -40
  334. package/out/concepts/StructureProperty__.js.map +1 -1
  335. package/out/concepts/Structure__.d.ts +3 -12
  336. package/out/concepts/Structure__.js +45 -46
  337. package/out/concepts/Structure__.js.map +1 -1
  338. package/out/concepts/SwitchCase__.d.ts +3 -3
  339. package/out/concepts/SwitchCase__.js +19 -54
  340. package/out/concepts/SwitchCase__.js.map +1 -1
  341. package/out/concepts/SwitchStatement__.d.ts +3 -3
  342. package/out/concepts/SwitchStatement__.js +23 -39
  343. package/out/concepts/SwitchStatement__.js.map +1 -1
  344. package/out/concepts/Theme__.d.ts +3 -2
  345. package/out/concepts/Theme__.js +12 -14
  346. package/out/concepts/Theme__.js.map +1 -1
  347. package/out/concepts/Transactional__.d.ts +3 -2
  348. package/out/concepts/Transactional__.js +18 -17
  349. package/out/concepts/Transactional__.js.map +1 -1
  350. package/out/concepts/TriggerEvent__.d.ts +3 -2
  351. package/out/concepts/TriggerEvent__.js +19 -18
  352. package/out/concepts/TriggerEvent__.js.map +1 -1
  353. package/out/concepts/TriggerLauncher__.d.ts +6 -17
  354. package/out/concepts/TriggerLauncher__.js +26 -63
  355. package/out/concepts/TriggerLauncher__.js.map +1 -1
  356. package/out/concepts/TypeAnnotation__.d.ts +8 -6
  357. package/out/concepts/TypeAnnotation__.js +56 -79
  358. package/out/concepts/TypeAnnotation__.js.map +1 -1
  359. package/out/concepts/TypeParam__.d.ts +3 -3
  360. package/out/concepts/TypeParam__.js +16 -23
  361. package/out/concepts/TypeParam__.js.map +1 -1
  362. package/out/concepts/UnaryExpression__.d.ts +3 -3
  363. package/out/concepts/UnaryExpression__.js +21 -39
  364. package/out/concepts/UnaryExpression__.js.map +1 -1
  365. package/out/concepts/Unparsed__.d.ts +3 -3
  366. package/out/concepts/Unparsed__.js +16 -23
  367. package/out/concepts/Unparsed__.js.map +1 -1
  368. package/out/concepts/UseComponent__.d.ts +3 -2
  369. package/out/concepts/UseComponent__.js +16 -16
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +17 -16
  372. package/out/concepts/ValidationRule__.js +18 -15
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +3 -3
  375. package/out/concepts/Variable__.js +29 -45
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.d.ts +4 -3
  378. package/out/concepts/ViewBlock__.js +20 -19
  379. package/out/concepts/ViewBlock__.js.map +1 -1
  380. package/out/concepts/ViewComponent__.d.ts +32 -31
  381. package/out/concepts/ViewComponent__.js +35 -32
  382. package/out/concepts/ViewComponent__.js.map +1 -1
  383. package/out/concepts/ViewElement__.d.ts +82 -81
  384. package/out/concepts/ViewElement__.js +259 -155
  385. package/out/concepts/ViewElement__.js.map +1 -1
  386. package/out/concepts/View__.d.ts +5 -4
  387. package/out/concepts/View__.js +138 -174
  388. package/out/concepts/View__.js.map +1 -1
  389. package/out/concepts/WhileStatement__.d.ts +3 -3
  390. package/out/concepts/WhileStatement__.js +20 -41
  391. package/out/concepts/WhileStatement__.js.map +1 -1
  392. package/out/concepts/index__.d.ts +0 -1
  393. package/out/concepts/index__.js +0 -1
  394. package/out/concepts/index__.js.map +1 -1
  395. package/out/concepts/types__.d.ts +2 -2
  396. package/out/decorators/index.d.ts +2 -0
  397. package/out/decorators/index.js +12 -8
  398. package/out/decorators/index.js.map +1 -1
  399. package/out/generator/genBundleFiles.d.ts +2 -2
  400. package/out/generator/genBundleFiles.js +11 -4
  401. package/out/generator/genBundleFiles.js.map +1 -1
  402. package/out/generator/genReleaseBody.d.ts +4 -2
  403. package/out/generator/genReleaseBody.js +192 -136
  404. package/out/generator/genReleaseBody.js.map +1 -1
  405. package/out/index.d.ts +0 -1
  406. package/out/index.js +0 -1
  407. package/out/index.js.map +1 -1
  408. package/out/sentry/index.js +2 -2
  409. package/out/sentry/index.js.map +1 -1
  410. package/out/server/createUiTs.js +34 -1
  411. package/out/server/createUiTs.js.map +1 -1
  412. package/out/server/extendBaseNode.js +17 -17
  413. package/out/server/extendBaseNode.js.map +1 -1
  414. package/out/server/formatTsUtils.js +0 -10
  415. package/out/server/formatTsUtils.js.map +1 -1
  416. package/out/server/getConnector.d.ts +3 -0
  417. package/out/server/getConnector.js +38 -1
  418. package/out/server/getConnector.js.map +1 -1
  419. package/out/server/getMemberIdentifier.js +1 -2
  420. package/out/server/getMemberIdentifier.js.map +1 -1
  421. package/out/server/index.js +2 -0
  422. package/out/server/index.js.map +1 -1
  423. package/out/server/naslServer.d.ts +14 -3
  424. package/out/server/naslServer.js +207 -117
  425. package/out/server/naslServer.js.map +1 -1
  426. package/out/server/translator.js +2 -4
  427. package/out/server/translator.js.map +1 -1
  428. package/out/service/creator/add.configs.js +26 -0
  429. package/out/service/creator/add.configs.js.map +1 -1
  430. package/out/service/creator/errHandles.js +5 -3
  431. package/out/service/creator/errHandles.js.map +1 -1
  432. package/out/service/creator/index.js +13 -0
  433. package/out/service/creator/index.js.map +1 -1
  434. package/out/service/storage/init.js +0 -16
  435. package/out/service/storage/init.js.map +1 -1
  436. package/out/service/storage/jsoner.js +1 -1
  437. package/out/service/storage/jsoner.js.map +1 -1
  438. package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
  439. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  440. package/out/templator/genCurdMultipleKeyBlock.js +3 -3
  441. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  442. package/out/templator/genTableBlock.js +1 -1
  443. package/out/templator/genTableBlock.js.map +1 -1
  444. package/out/translator/constant.d.ts +6 -0
  445. package/out/translator/constant.js +10 -0
  446. package/out/translator/constant.js.map +1 -0
  447. package/out/translator/index.d.ts +3 -48
  448. package/out/translator/index.js +17 -110
  449. package/out/translator/index.js.map +1 -1
  450. package/out/translator/types.d.ts +32 -0
  451. package/out/translator/{tsp.js → types.js} +1 -1
  452. package/out/translator/types.js.map +1 -0
  453. package/out/translator/utils.d.ts +17 -0
  454. package/out/translator/utils.js +102 -0
  455. package/out/translator/utils.js.map +1 -0
  456. package/out/utils/cookie.d.ts +9 -0
  457. package/out/utils/cookie.js +62 -0
  458. package/out/utils/cookie.js.map +1 -0
  459. package/out/utils/index.d.ts +2 -0
  460. package/out/utils/index.js +2 -0
  461. package/out/utils/index.js.map +1 -1
  462. package/out/utils/logger.d.ts +4 -0
  463. package/out/utils/logger.js +13 -1
  464. package/out/utils/logger.js.map +1 -1
  465. package/out/utils/types.d.ts +1 -0
  466. package/out/utils/types.js +3 -0
  467. package/out/utils/types.js.map +1 -0
  468. package/out/utils/window.d.ts +7 -0
  469. package/out/utils/window.js +14 -0
  470. package/out/utils/window.js.map +1 -0
  471. package/package.json +5 -11
  472. package/sandbox/stdlib/nasl.oql.ts +2 -0
  473. package/sandbox/stdlib/nasl.ui.definition.ts +2218 -1415
  474. package/src/bak/translator.js +8 -5
  475. package/src/breakpoint/generator/AfterStartNode.ts +2 -1
  476. package/src/breakpoint/generator/BeforeEndNode.ts +2 -1
  477. package/src/breakpoint/generator/BreakpointNode.ts +36 -9
  478. package/src/breakpoint/shared/constants.ts +7 -0
  479. package/src/breakpoint/shared/utils.ts +36 -3
  480. package/src/common/BaseNode.ts +140 -81
  481. package/src/common/Command.ts +6 -1
  482. package/src/common/EventEmitter.ts +2 -4
  483. package/src/common/index.ts +0 -1
  484. package/src/concepts/Abort__.ts +20 -22
  485. package/src/concepts/Anchor__.ts +23 -38
  486. package/src/concepts/AnonymousFunction__.ts +39 -63
  487. package/src/concepts/App__.ts +364 -314
  488. package/src/concepts/Argument__.ts +27 -44
  489. package/src/concepts/Assignee__.ts +41 -39
  490. package/src/concepts/AssignmentLine__.ts +20 -23
  491. package/src/concepts/Assignment__.ts +54 -58
  492. package/src/concepts/Attribute__.ts +40 -34
  493. package/src/concepts/AuthInterface__.ts +22 -24
  494. package/src/concepts/AuthLogicForCallInterface__.ts +71 -41
  495. package/src/concepts/AuthLogic__.ts +21 -30
  496. package/src/concepts/BackendVariable__.ts +55 -54
  497. package/src/concepts/Backend__.ts +58 -59
  498. package/src/concepts/BatchAssignment__.ts +88 -78
  499. package/src/concepts/BinaryExpression__.ts +72 -66
  500. package/src/concepts/BindAttribute__.ts +135 -155
  501. package/src/concepts/BindDirective__.ts +45 -41
  502. package/src/concepts/BindEvent__.ts +80 -89
  503. package/src/concepts/BindStyle__.ts +37 -36
  504. package/src/concepts/BooleanLiteral__.ts +22 -28
  505. package/src/concepts/CallAuthInterface__.ts +29 -32
  506. package/src/concepts/CallConnector__.ts +50 -41
  507. package/src/concepts/CallFunction__.ts +45 -77
  508. package/src/concepts/CallInterface__.ts +36 -68
  509. package/src/concepts/CallLogic__.ts +166 -213
  510. package/src/concepts/CallQueryComponent__.ts +156 -88
  511. package/src/concepts/Comment__.ts +22 -29
  512. package/src/concepts/CompletionProperty__.ts +34 -30
  513. package/src/concepts/ConfigGroup__.ts +28 -29
  514. package/src/concepts/ConfigPropertyValue__.ts +22 -23
  515. package/src/concepts/ConfigProperty__.ts +42 -36
  516. package/src/concepts/Configuration__.ts +23 -26
  517. package/src/concepts/Connection__.ts +26 -21
  518. package/src/concepts/ConnectorTrigger__.ts +30 -34
  519. package/src/concepts/Connector__.ts +342 -87
  520. package/src/concepts/Constant__.ts +30 -36
  521. package/src/concepts/DataSource__.ts +37 -33
  522. package/src/concepts/DatabaseTypeAnnotation__.ts +24 -24
  523. package/src/concepts/Destination__.ts +51 -104
  524. package/src/concepts/End__.ts +23 -25
  525. package/src/concepts/EntityIndex__.ts +36 -33
  526. package/src/concepts/EntityProperty__.ts +64 -84
  527. package/src/concepts/Entity__.ts +41 -67
  528. package/src/concepts/EnumItem__.ts +24 -32
  529. package/src/concepts/Enum__.ts +28 -42
  530. package/src/concepts/Event__.ts +33 -33
  531. package/src/concepts/ExternalDestination__.ts +29 -29
  532. package/src/concepts/ForEachStatement__.ts +34 -73
  533. package/src/concepts/FrontendLibrary__.ts +37 -38
  534. package/src/concepts/FrontendVariable__.ts +18 -20
  535. package/src/concepts/Frontend__.ts +66 -62
  536. package/src/concepts/Function__.ts +54 -80
  537. package/src/concepts/Identifier__.ts +37 -34
  538. package/src/concepts/IfStatement__.ts +40 -77
  539. package/src/concepts/Integration__.ts +244 -24
  540. package/src/concepts/InterfaceParam__.ts +69 -33
  541. package/src/concepts/Interface__.ts +104 -46
  542. package/src/concepts/JSBlock__.ts +22 -28
  543. package/src/concepts/JavaLogic__.ts +27 -26
  544. package/src/concepts/LogicItem__.ts +29 -47
  545. package/src/concepts/Logic__.ts +168 -214
  546. package/src/concepts/MatchCase__.ts +38 -128
  547. package/src/concepts/Match__.ts +28 -73
  548. package/src/concepts/MemberExpression__.ts +174 -139
  549. package/src/concepts/MicroApp__.ts +32 -27
  550. package/src/concepts/Module__.ts +527 -107
  551. package/src/concepts/MsgTriggerEvent__.ts +25 -33
  552. package/src/concepts/MsgTriggerLauncher__.ts +27 -30
  553. package/src/concepts/Namespace__.ts +109 -99
  554. package/src/concepts/NewComposite__.ts +130 -161
  555. package/src/concepts/NewList__.ts +45 -51
  556. package/src/concepts/NewMap__.ts +51 -48
  557. package/src/concepts/New__.ts +20 -22
  558. package/src/concepts/NullLiteral__.ts +20 -22
  559. package/src/concepts/NumericLiteral__.ts +26 -31
  560. package/src/concepts/OqlQueryComponent__.ts +33 -34
  561. package/src/concepts/OverriddenLogic__.ts +128 -94
  562. package/src/concepts/Param__.ts +51 -90
  563. package/src/concepts/Point__.ts +22 -22
  564. package/src/concepts/ProcessComponent__.ts +36 -37
  565. package/src/concepts/ProcessElement__.ts +114 -86
  566. package/src/concepts/ProcessOutcome__.ts +22 -23
  567. package/src/concepts/ProcessOutcomes__.ts +20 -22
  568. package/src/concepts/Process__.ts +69 -63
  569. package/src/concepts/QueryAggregateExpression__.ts +28 -27
  570. package/src/concepts/QueryFieldExpression__.ts +26 -25
  571. package/src/concepts/QueryFromExpression__.ts +29 -28
  572. package/src/concepts/QueryGroupByExpression__.ts +22 -23
  573. package/src/concepts/QueryJoinExpression__.ts +62 -41
  574. package/src/concepts/QueryLimitExpression__.ts +27 -27
  575. package/src/concepts/QueryOrderByExpression__.ts +27 -27
  576. package/src/concepts/QuerySelectExpression__.ts +105 -54
  577. package/src/concepts/Rect__.ts +26 -24
  578. package/src/concepts/Return__.ts +42 -67
  579. package/src/concepts/Role__.ts +25 -25
  580. package/src/concepts/SelectMembers__.ts +30 -32
  581. package/src/concepts/Slot__.ts +32 -30
  582. package/src/concepts/SqlQueryComponent__.ts +41 -37
  583. package/src/concepts/Start__.ts +20 -22
  584. package/src/concepts/StringInterpolation__.ts +25 -45
  585. package/src/concepts/StringLiteral__.ts +19 -26
  586. package/src/concepts/StructureProperty__.ts +38 -47
  587. package/src/concepts/Structure__.ts +55 -58
  588. package/src/concepts/SwitchCase__.ts +40 -74
  589. package/src/concepts/SwitchStatement__.ts +29 -44
  590. package/src/concepts/Theme__.ts +18 -21
  591. package/src/concepts/Transactional__.ts +24 -31
  592. package/src/concepts/TriggerEvent__.ts +28 -29
  593. package/src/concepts/TriggerLauncher__.ts +32 -82
  594. package/src/concepts/TypeAnnotation__.ts +92 -98
  595. package/src/concepts/TypeParam__.ts +21 -28
  596. package/src/concepts/UnaryExpression__.ts +26 -45
  597. package/src/concepts/Unparsed__.ts +20 -25
  598. package/src/concepts/UseComponent__.ts +22 -22
  599. package/src/concepts/ValidationRule__.ts +539 -555
  600. package/src/concepts/Variable__.ts +43 -67
  601. package/src/concepts/ViewBlock__.ts +26 -25
  602. package/src/concepts/ViewComponent__.ts +87 -91
  603. package/src/concepts/ViewElement__.ts +2696 -2437
  604. package/src/concepts/View__.ts +342 -369
  605. package/src/concepts/WhileStatement__.ts +36 -59
  606. package/src/concepts/index__.ts +0 -1
  607. package/src/concepts/types__.ts +124 -124
  608. package/src/decorators/index.ts +11 -7
  609. package/src/generator/genBundleFiles.ts +14 -4
  610. package/src/generator/genReleaseBody.ts +198 -182
  611. package/src/index.ts +0 -1
  612. package/src/sentry/index.ts +2 -2
  613. package/src/server/createUiTs.ts +30 -1
  614. package/src/server/extendBaseNode.ts +18 -18
  615. package/src/server/formatTsUtils.ts +0 -11
  616. package/src/server/getConnector.ts +63 -27
  617. package/src/server/getMemberIdentifier.ts +2 -3
  618. package/src/server/index.ts +4 -1
  619. package/src/server/naslServer.ts +212 -121
  620. package/src/server/translator.ts +1 -3
  621. package/src/service/creator/add.configs.js +26 -1
  622. package/src/service/creator/errHandles.js +5 -4
  623. package/src/service/creator/index.js +12 -0
  624. package/src/service/storage/init.ts +0 -17
  625. package/src/service/storage/jsoner.ts +1 -1
  626. package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
  627. package/src/templator/genCurdMultipleKeyBlock.ts +3 -3
  628. package/src/templator/genTableBlock.ts +1 -1
  629. package/src/translator/constant.ts +7 -0
  630. package/src/translator/index.ts +3 -137
  631. package/src/translator/types.ts +40 -0
  632. package/src/translator/utils.ts +104 -0
  633. package/src/utils/cookie.ts +60 -0
  634. package/src/utils/index.ts +2 -0
  635. package/src/utils/logger.ts +13 -0
  636. package/src/utils/types.ts +1 -0
  637. package/src/utils/window.ts +9 -0
  638. package/test/concepts/boolean-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +11 -0
  639. package/test/concepts/boolean-literal/__snapshots__/toJS.spec.ts.snap +11 -0
  640. package/test/concepts/boolean-literal/__snapshots__/toVue.spec.ts.snap +11 -0
  641. package/test/concepts/boolean-literal/constant.ts +5 -0
  642. package/test/concepts/boolean-literal/fixtures/false.json +4 -0
  643. package/test/concepts/boolean-literal/fixtures/true.json +4 -0
  644. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +14 -0
  645. package/test/concepts/boolean-literal/toJS.spec.ts +14 -0
  646. package/test/concepts/boolean-literal/toVue.spec.ts +14 -0
  647. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +6 -6
  648. package/test/concepts/call-interface/toJS.spec.ts +6 -6
  649. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +106 -0
  650. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +45 -0
  651. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +102 -0
  652. package/test/concepts/call-logic/fixtures/nested-call-logic.json +860 -0
  653. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +23 -0
  654. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +6 -6
  655. package/test/concepts/call-logic/toJS.spec.ts +6 -6
  656. package/test/concepts/identifier/__snapshots__/toEmbeddedTS.spec.ts.snap +16 -0
  657. package/test/concepts/identifier/__snapshots__/toJS.spec.ts.snap +16 -0
  658. package/test/concepts/identifier/__snapshots__/toVue.spec.ts.snap +16 -0
  659. package/test/concepts/identifier/constant.ts +5 -0
  660. package/test/concepts/identifier/fixtures/data-source.json +5 -0
  661. package/test/concepts/identifier/fixtures/no-namespace.json +4 -0
  662. package/test/concepts/identifier/fixtures/view-variable.json +201 -0
  663. package/test/concepts/identifier/toEmbeddedTS.spec.ts +14 -0
  664. package/test/concepts/identifier/toJS.spec.ts +14 -0
  665. package/test/concepts/identifier/toVue.spec.ts +14 -0
  666. package/test/concepts/match/toEmbeddedTS.spec.ts +6 -6
  667. package/test/concepts/match/toJS.spec.ts +6 -6
  668. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +21 -0
  669. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +21 -0
  670. package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +21 -0
  671. package/test/concepts/member-expression/constant.ts +5 -0
  672. package/test/concepts/member-expression/fixtures/app.enums.UserStatusEnum.json +13 -0
  673. package/test/concepts/member-expression/fixtures/elements.table-view.data.json +13 -0
  674. package/test/concepts/member-expression/fixtures/entry.created-by.json +18 -0
  675. package/test/concepts/member-expression/fixtures/nasl.auth.userInfo.json +19 -0
  676. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +14 -0
  677. package/test/concepts/member-expression/toJS.spec.ts +14 -0
  678. package/test/concepts/member-expression/toVue.spec.ts +14 -0
  679. package/test/concepts/null-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -0
  680. package/test/concepts/null-literal/__snapshots__/toJS.spec.ts.snap +6 -0
  681. package/test/concepts/null-literal/__snapshots__/toVue.spec.ts.snap +6 -0
  682. package/test/concepts/null-literal/constant.ts +5 -0
  683. package/test/concepts/null-literal/fixtures/null.json +3 -0
  684. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +14 -0
  685. package/test/concepts/null-literal/toJS.spec.ts +14 -0
  686. package/test/concepts/null-literal/toVue.spec.ts +14 -0
  687. package/test/concepts/numeric-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -0
  688. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +6 -0
  689. package/test/concepts/numeric-literal/__snapshots__/toVue.spec.ts.snap +6 -0
  690. package/test/concepts/numeric-literal/constant.ts +5 -0
  691. package/test/concepts/numeric-literal/fixtures/number.json +10 -0
  692. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +14 -0
  693. package/test/concepts/numeric-literal/toJS.spec.ts +14 -0
  694. package/test/concepts/numeric-literal/toVue.spec.ts +14 -0
  695. package/test/concepts/string-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +16 -0
  696. package/test/concepts/string-literal/__snapshots__/toJS.spec.ts.snap +16 -0
  697. package/test/concepts/string-literal/__snapshots__/toVue.spec.ts.snap +16 -0
  698. package/test/concepts/string-literal/constant.ts +5 -0
  699. package/test/concepts/string-literal/fixtures/escape.json +4 -0
  700. package/test/concepts/string-literal/fixtures/space.json +4 -0
  701. package/test/concepts/string-literal/fixtures/string.json +4 -0
  702. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +14 -0
  703. package/test/concepts/string-literal/toJS.spec.ts +14 -0
  704. package/test/concepts/string-literal/toVue.spec.ts +14 -0
  705. package/test/concepts/utils.ts +46 -43
  706. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +6 -6
  707. package/test/concepts/validation-rule/toJS.spec.ts +6 -6
  708. package/test/concepts/validation-rule/validation-rule.spec.ts +8 -8
  709. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +592 -0
  710. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +308 -0
  711. package/test/concepts/view-element/fixtures/default-login.json +333 -0
  712. package/test/concepts/view-element/fixtures/default-not-found.json +313 -313
  713. package/test/concepts/view-element/fixtures/with-role-auth.json +148 -0
  714. package/test/concepts/view-element/fixtures/with-table.json +3473 -0
  715. package/test/concepts/view-element/toEmbeddedTS.spec.ts +6 -6
  716. package/test/concepts/view-element/toVue.spec.ts +6 -6
  717. package/ts-worker/package-lock.json +6663 -101
  718. package/ts-worker/webpack.config.js +1 -1
  719. package/out/common/classMap.d.ts +0 -4
  720. package/out/common/classMap.js +0 -5
  721. package/out/common/classMap.js.map +0 -1
  722. package/out/concepts/DataElement__.d.ts +0 -46
  723. package/out/concepts/DataElement__.js +0 -118
  724. package/out/concepts/DataElement__.js.map +0 -1
  725. package/out/natural/RequirementAnalyzer.d.ts +0 -22
  726. package/out/natural/RequirementAnalyzer.js +0 -196
  727. package/out/natural/RequirementAnalyzer.js.map +0 -1
  728. package/out/natural/RequirementExecutor.d.ts +0 -51
  729. package/out/natural/RequirementExecutor.js +0 -692
  730. package/out/natural/RequirementExecutor.js.map +0 -1
  731. package/out/natural/componentData.d.ts +0 -31
  732. package/out/natural/componentData.js +0 -85
  733. package/out/natural/componentData.js.map +0 -1
  734. package/out/natural/genNaturalTS.d.ts +0 -3
  735. package/out/natural/genNaturalTS.js +0 -80
  736. package/out/natural/genNaturalTS.js.map +0 -1
  737. package/out/natural/index.d.ts +0 -4
  738. package/out/natural/index.js +0 -21
  739. package/out/natural/index.js.map +0 -1
  740. package/out/natural/knowledgeMap.d.ts +0 -4
  741. package/out/natural/knowledgeMap.js +0 -40
  742. package/out/natural/knowledgeMap.js.map +0 -1
  743. package/out/natural/naslStdlibMap.d.ts +0 -2
  744. package/out/natural/naslStdlibMap.js +0 -26
  745. package/out/natural/naslStdlibMap.js.map +0 -1
  746. package/out/natural/transformTSCode.d.ts +0 -7
  747. package/out/natural/transformTSCode.js +0 -734
  748. package/out/natural/transformTSCode.js.map +0 -1
  749. package/out/translator/lsp.d.ts +0 -45
  750. package/out/translator/lsp.js +0 -6
  751. package/out/translator/lsp.js.map +0 -1
  752. package/out/translator/tsp.d.ts +0 -12
  753. package/out/translator/tsp.js.map +0 -1
  754. package/sandbox-natural/stdlib/nasl.core.ts +0 -36
  755. package/sandbox-natural/stdlib/nasl.oql.ts +0 -8
  756. package/sandbox-natural/stdlib/nasl.ui.ts +0 -56
  757. package/sandbox-natural/stdlib/nasl.util.ts +0 -85
  758. package/sandbox-natural/tsconfig.json +0 -12
  759. package/src/common/classMap.ts +0 -3
  760. package/src/concepts/DataElement__.ts +0 -131
  761. package/src/natural/RequirementAnalyzer.ts +0 -208
  762. package/src/natural/RequirementExecutor.ts +0 -685
  763. package/src/natural/componentData.ts +0 -81
  764. package/src/natural/genNaturalTS.ts +0 -81
  765. package/src/natural/index.ts +0 -4
  766. package/src/natural/knowledgeMap.ts +0 -39
  767. package/src/natural/naslStdlibMap.ts +0 -24
  768. package/src/natural/transformTSCode.ts +0 -680
  769. package/src/test/examples/app1.json +0 -1406
  770. package/src/test/fixtures/env.ts +0 -19
  771. package/src/test/integration/connect-create-file.ts +0 -14
  772. package/src/test/integration/connect-file.ts +0 -24
  773. package/src/test/integration/node-nasl-server.ts +0 -14
  774. package/src/test/units/baseTypes/Assignment.spec.ts +0 -20
  775. package/src/test/units/baseTypes/CallLogic.spec.ts +0 -22
  776. package/src/test/units/baseTypes/StringLiteral.spec.ts +0 -60
  777. package/src/test/units/baseTypes/new.spec.ts +0 -13
  778. package/src/test/units/common/Vertex.spec.ts +0 -23
  779. package/src/test/units/data/Entity.spec.ts +0 -10
  780. package/src/test/units/login.spec.ts +0 -10
  781. package/src/test/units/page/Block.spec.ts +0 -15
  782. package/src/test/units/page/Element.spec.ts +0 -45
  783. package/src/test/units/page/example.dashboard.html +0 -46
  784. package/src/test/units/page/example.view1.html +0 -63
  785. package/src/test/units/temp/temp.spec.ts +0 -66
  786. package/src/translator/lsp.ts +0 -50
  787. package/src/translator/tsp.ts +0 -14
@@ -1,680 +0,0 @@
1
- /* eslint-disable global-require */
2
- /* eslint-disable @typescript-eslint/no-use-before-define */
3
- import * as babel from '@babel/core';
4
- import * as babelTypes from '@babel/types';
5
- import generate from '@babel/generator';
6
- import * as naslTypes from '../concepts';
7
- import { traverse } from '../utils';
8
-
9
- export function tryParseTS(tsCode: string) {
10
- try {
11
- const root = babel.parseSync(tsCode, {
12
- filename: 'result.ts',
13
- presets: [require('@babel/preset-typescript')],
14
- }) as babelTypes.File;
15
- // console.log((root as any).program.body[0].body.body.map((item) => item.trailingComments));
16
- return root;
17
- } catch (e) {
18
- return null;
19
- }
20
- }
21
-
22
- function flatMemberExpression(node: babelTypes.Node): Array<babelTypes.Node> {
23
- if (node.type === 'MemberExpression')
24
- return [...flatMemberExpression(node.object), node.property];
25
- return [node];
26
- }
27
- function flatMatchPatternsExpression(node: any): Array<babelTypes.Node> {
28
- if (node.concept === 'BinaryExpression') {
29
- if (node.operator === '||') {
30
- return [...flatMatchPatternsExpression(node.left), ...flatMatchPatternsExpression(node.right)];
31
- }
32
- if (node.operator === '==') {
33
- return [node.right];
34
- }
35
- return [node];
36
- }
37
- return [node];
38
- }
39
-
40
- function flatIfStatement(node: any): Array<babelTypes.Node> {
41
- if (node.alternate.type === 'IfStatement') {
42
- return [...flatIfStatement(node.alternate), node];
43
- }
44
- return [node];
45
- }
46
-
47
- /**
48
- * 这个函数是修复 AI 翻译出错的情况,与正常的 transform 做个区分
49
- * @param node
50
- * @returns
51
- */
52
- function fixLogicNode(node: babelTypes.Node): void {
53
- if (node?.type === 'CallExpression') {
54
- const calleeName = generate(node.callee as any).code;
55
- if (calleeName === 'nasl.util.ForEach') {
56
- const callee = flatMemberExpression(node.callee);
57
- node.callee = callee[2] as babelTypes.Identifier;
58
- }
59
- }
60
- }
61
-
62
- export function transformTSCode(tsCode: string, contextLogicName: string, type?: string) {
63
- const logic = new naslTypes.Logic();
64
- logic.body = [];
65
-
66
- function transformTypeAnnotation(node: babelTypes.TSType): naslTypes.TypeAnnotation {
67
- if (node.type === 'TSTypeReference') {
68
- const typeName = (node.typeName as babelTypes.Identifier).name;
69
- const primitiveType = naslTypes.primitiveTypeList.find((ta) => ta.typeName === typeName);
70
- if ((node as any)?.typeNamespace) {
71
- return naslTypes.TypeAnnotation.createReference(typeName, {
72
- typeNamespace: (node as any).typeNamespace,
73
- });
74
- }
75
- if (primitiveType) {
76
- return naslTypes.TypeAnnotation.createPrimitive(typeName);
77
- }
78
- if (['List', 'Map', 'Current'].includes(typeName) && node.typeParameters) {
79
- return naslTypes.TypeAnnotation.createGeneric(typeName, {
80
- typeArguments: node.typeParameters.params.map(transformTypeAnnotation),
81
- });
82
- }
83
- if (!node.typeParameters) {
84
- return naslTypes.TypeAnnotation.createReference(typeName, {
85
- typeNamespace: 'app.dataSources.defaultDS',
86
- });
87
- }
88
- console.error(node);
89
- throw new Error(`Unhandled node ${node.type}`);
90
- } else if (node.type === 'TSTypeLiteral') {
91
- return naslTypes.TypeAnnotation.createTypeAnonymousStructure(node.members.map((member: babelTypes.TSPropertySignature) => new naslTypes.StructureProperty({
92
- name: (member.key as babelTypes.Identifier).name,
93
- typeAnnotation: transformTypeAnnotation(member.typeAnnotation.typeAnnotation),
94
- })));
95
- } else if (node.type === 'TSBooleanKeyword') {
96
- return naslTypes.TypeAnnotation.createPrimitive('Boolean');
97
- } else if (node.type === 'TSStringKeyword') {
98
- return naslTypes.TypeAnnotation.createPrimitive('String');
99
- } else if (node.type === 'TSNumberKeyword') {
100
- return naslTypes.TypeAnnotation.createPrimitive('Double');
101
- } else if (node.type === 'TSUnionType') {
102
- const union = naslTypes.TypeAnnotation.createPrimitive('Union');
103
- union.typeArguments = [];
104
- node.types.forEach((curType) => {
105
- union.typeArguments.push(transformTypeAnnotation(curType));
106
- });
107
- return union;
108
- } else {
109
- console.error(node);
110
- throw new Error(`Unhandled node ${node.type}`);
111
- }
112
- }
113
- function transformParam(node: babelTypes.Identifier): naslTypes.Param {
114
- const typeAnnotation = (node.typeAnnotation as babelTypes.TSTypeAnnotation)?.typeAnnotation;
115
- return new naslTypes.Param({
116
- name: node.name,
117
- typeAnnotation: typeAnnotation ? transformTypeAnnotation(typeAnnotation) : null,
118
- });
119
- }
120
- function pushElseIf(ifNode: babelTypes.IfStatement, switchStatement: naslTypes.SwitchStatement) {
121
- switchStatement.cases.push(new naslTypes.SwitchCase({
122
- test: transformLogicNode(ifNode.test),
123
- consequent: !ifNode.consequent ? [] : (ifNode.consequent as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
124
- }));
125
- if (ifNode.alternate && ifNode.alternate.type === 'IfStatement') {
126
- pushElseIf(ifNode.alternate, switchStatement);
127
- } else {
128
- switchStatement.cases.push(new naslTypes.SwitchCase({
129
- test: undefined,
130
- consequent: !ifNode.consequent ? [] : (ifNode.consequent as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
131
- }));
132
- }
133
- }
134
-
135
- function transformLogicNode(node: babelTypes.Node, typeAnnotation?: naslTypes.TypeAnnotation): naslTypes.LogicItem {
136
- fixLogicNode(node);
137
- // console.log('lemon ~~~ node--1:', node);
138
- if (node.type === 'VariableDeclaration') { // 拆成局部变量和赋值
139
- const declList = node?.declarations || [];
140
- declList?.forEach((decl) => {
141
- const variableName = (decl.id as babelTypes.Identifier).name;
142
- if (!logic.variables.find((variable) => variable.name === variableName)) {
143
- const varTypeAnnotation = ((decl.id as babelTypes.Identifier).typeAnnotation as babelTypes.TSTypeAnnotation)?.typeAnnotation;
144
- logic.variables.push(new naslTypes.Variable({
145
- name: variableName,
146
- typeAnnotation: varTypeAnnotation && transformTypeAnnotation(varTypeAnnotation),
147
- }));
148
- }
149
- if (decl.init) {
150
- if (decl.init.type !== 'ArrayExpression') {
151
- if (type === 'expression') {
152
- return transformLogicNode(decl.init);
153
- }
154
- const item = new naslTypes.Assignment({
155
- left: new naslTypes.Identifier({
156
- name: variableName,
157
- }),
158
- right: transformLogicNode(decl.init),
159
- });
160
- item && logic.body.push(item);
161
- }
162
- }
163
- });
164
- } else if (node.type === 'CallExpression') {
165
- const callee = flatMemberExpression(node.callee);
166
- const calleeName = generate(node.callee as any).code;
167
- // console.log('lemon ~~~ node--2', node, callee, calleeName);
168
- if (/^\$refs\./.test(calleeName)) {
169
- return new naslTypes.CallLogic({
170
- calleeNamespace: `elements.${(callee[1] as babelTypes.Identifier).name}.logics`,
171
- calleeName: (callee[2] as babelTypes.Identifier).name,
172
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
173
- expression: transformLogicNode(arg),
174
- })) as naslTypes.Argument[],
175
- });
176
- }
177
- if (callee.length === 2 && callee[0].type === 'Identifier' && callee[0].name.endsWith('Entity')) {
178
- const entityName = callee[0].name.replace(/Entity$/, '');
179
- return new naslTypes.CallLogic({
180
- calleeNamespace: `app.dataSources.defaultDS.entities.${entityName}.logics`,
181
- calleeName: (callee[1] as babelTypes.Identifier).name,
182
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
183
- expression: transformLogicNode(arg),
184
- })) as naslTypes.Argument[],
185
- });
186
- }
187
- if (calleeName === 'nasl.oql.query') {
188
- return new naslTypes.OqlQueryComponent({
189
- dataSource: 'app.dataSources.defaultDS',
190
- code: generate(node.arguments[0] as any).code.trim().slice(1, -1),
191
- });
192
- }
193
- if (calleeName.startsWith('nasl.util.')) {
194
- const curCalleeName = callee.length === 3 ? (callee[callee.length - 1] as babelTypes.Identifier).name : (callee[0] as any).callee.property.name;
195
- const argument = callee.length === 3 ? node.arguments : (callee[0] as any).arguments as any;
196
- let typeNamespace: string;
197
- if (argument?.[argument.length - 1]?.type === 'ObjectExpression') {
198
- typeNamespace = argument.splice(-1)[0].properties[0].value.value;
199
- }
200
- const nodeElement = new naslTypes.CallFunction({
201
- calleeNamespace: 'nasl.util',
202
- calleeName: curCalleeName,
203
- arguments: argument.map((arg: any, index: number) => new naslTypes.Argument({
204
- expression: transformLogicNode(arg),
205
- keyword: `str${index + 1}`,
206
- })) as naslTypes.Argument[],
207
- typeArguments: node?.typeParameters?.params.map((curType: any) => transformTypeAnnotation({ ...curType, typeNamespace })),
208
-
209
- });
210
- // console.log('lemon ~ callFunction ~ 3:', nodeElement);
211
- return nodeElement;
212
- }
213
- if (callee.length === 3 && calleeName.startsWith('nasl.ui.')) {
214
- return new naslTypes.CallLogic({
215
- calleeNamespace: 'nasl.ui',
216
- calleeName: (callee[2] as babelTypes.Identifier).name,
217
- shortcut: true,
218
- /**
219
- * 这个函数是修复 AI 翻译出错的情况,与正常的 transform 做个区分
220
- * @param node
221
- * @returns
222
- */
223
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
224
- expression: transformLogicNode(arg),
225
- })) as naslTypes.Argument[],
226
- });
227
- }
228
- if (calleeName === 'ForEach') {
229
- const newCallee = node.arguments;
230
- const arrowFunction = node.arguments[3] as babelTypes.ArrowFunctionExpression;
231
- const nodeElement = new naslTypes.ForEachStatement({
232
- each: transformLogicNode(newCallee[0]),
233
- start: transformLogicNode(newCallee[1]),
234
- end: transformLogicNode(newCallee[2]),
235
- item: transformParam(arrowFunction.params[0] as babelTypes.Identifier),
236
- index: transformParam(arrowFunction.params[1] as babelTypes.Identifier),
237
- body: (arrowFunction.body as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
238
- });
239
- return nodeElement;
240
- }
241
- if (callee.length === 2) {
242
- const curCalleeName = (node.callee as any).property.name;
243
- if (curCalleeName === 'forEach') {
244
- const newCallee = (node.callee as any).object;
245
- const arrowFunction = node.arguments[0] as babelTypes.ArrowFunctionExpression;
246
- const nodeElement = new naslTypes.ForEachStatement({
247
- each: transformLogicNode(newCallee.callee.object),
248
- start: transformLogicNode(newCallee?.arguments?.[0]),
249
- end: transformLogicNode(newCallee?.arguments?.[1]),
250
- item: transformParam(arrowFunction.params[0] as babelTypes.Identifier),
251
- index: transformParam(arrowFunction.params[1] as babelTypes.Identifier),
252
- body: (arrowFunction.body as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
253
- });
254
- return nodeElement;
255
- }
256
- } else if (['plus', 'minus', 'multiply', 'divide', 'remainder'].includes(calleeName)) {
257
- const map: Record<'plus' | 'minus' | 'multiply' | 'divide' | 'remainder', '+' | '-' | '*' | '/' | '%'> = {
258
- plus: '+',
259
- minus: '-',
260
- multiply: '*',
261
- divide: '/',
262
- remainder: '%',
263
- };
264
- return new naslTypes.BinaryExpression({
265
- operator: map[calleeName as keyof typeof map],
266
- left: transformLogicNode(node.arguments[0]),
267
- right: transformLogicNode(node.arguments[1]),
268
- });
269
- } else if (calleeName === 'alert') {
270
- return new naslTypes.CallLogic({
271
- calleeNamespace: 'nasl.ui',
272
- calleeName: 'showMessage',
273
- shortcut: true,
274
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
275
- expression: transformLogicNode(arg),
276
- })) as naslTypes.Argument[],
277
- });
278
- } else if (calleeName === 'console.log') {
279
- return new naslTypes.CallLogic({
280
- calleeNamespace: 'nasl.logging',
281
- calleeName: 'INFO',
282
- shortcut: true,
283
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
284
- expression: transformLogicNode(arg),
285
- })) as naslTypes.Argument[],
286
- });
287
- } else if (/^app.dataSources|app.logics|load/.test(calleeName)) {
288
- return new naslTypes.CallLogic({
289
- calleeNamespace: generate((node.callee as any).object).code,
290
- calleeName: (callee[callee.length - 1] as babelTypes.Identifier).name,
291
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
292
- expression: transformLogicNode(arg),
293
- })) as naslTypes.Argument[],
294
- });
295
- } else if (callee.length === 1) {
296
- return new naslTypes.CallLogic({
297
- calleeNamespace: `app.logics`,
298
- calleeName,
299
- arguments: node.arguments.map((arg) => new naslTypes.Argument({
300
- expression: transformLogicNode(arg),
301
- })) as naslTypes.Argument[],
302
- });
303
- } else if (/interfaces/.test(calleeName)) {
304
- return new naslTypes.CallInterface({
305
- calleeNamespace: generate((node.callee as any).object).code,
306
- calleeName: (callee[callee.length - 1] as babelTypes.Identifier).name,
307
- arguments: node.arguments.map((arg: any) => new naslTypes.Argument({
308
- keyword: arg.properties[0].key.name,
309
- expression: transformLogicNode(arg.properties[0].value),
310
- })) as naslTypes.Argument[],
311
- });
312
- } else if (/destination/.test(calleeName)) {
313
- const newCallee = flatMemberExpression((node.callee as any).object);
314
- return new naslTypes.Destination({
315
- viewNamespace: generate((node.callee as any).object.object).code,
316
- viewName: (newCallee[newCallee.length - 1] as babelTypes.Identifier).name,
317
- target: (node.arguments[0] as any).properties[1].value.value,
318
- anchor: new naslTypes.Anchor({
319
- expression: transformLogicNode((node.arguments[0] as any).properties[0].value),
320
- }),
321
- });
322
- } else if (node.callee.type === 'ArrowFunctionExpression') {
323
- // NOTE: 适用于 if else
324
- const newCallee = (node.callee.body as any).body;
325
- if (newCallee[newCallee.length - 1].argument?.callee?.name === '__MatchExpressionFuntion') {
326
- const match = new naslTypes.Match({
327
- expression: transformLogicNode(newCallee[0]),
328
- isExpression: type === 'expression',
329
- cases: flatIfStatement(newCallee[1].body.body[0]).map((_case: any) => new naslTypes.MatchCase({
330
- patterns: !_case.test ? [] : flatMatchPatternsExpression(transformLogicNode(_case.test)) as any,
331
- body: _case.consequent.body.filter((item: any) => item.type !== 'BreakStatement').map((item: any) => transformLogicNode(item)).filter((item: any) => !!item),
332
- })),
333
- });
334
- if (!match.cases.length || match.cases[match.cases.length - 1].patterns.length) {
335
- match.cases.push(new naslTypes.MatchCase({
336
- patterns: [],
337
- body: [],
338
- }));
339
- }
340
- match.cases.forEach((case_: any) => {
341
- if (case_.body.length && (case_.body[0].concept === 'BooleanLiteral' || case_.body[0].concept === 'StringLiteral')) {
342
- case_.isMatchedTypeEnumable = true;
343
- }
344
- if (case_.patterns.length && case_.patterns[0].concept === 'MemberExpression') {
345
- case_.isMatchedTypeEnumable = true;
346
- case_.patterns[0] = new naslTypes.MemberExpression({
347
- object: { concept: 'Identifier',
348
- name: case_.patterns[0].object.property.name,
349
- folded: false,
350
- namespace: 'app.enums' } as any,
351
- property: {
352
- concept: 'Identifier',
353
- name: case_.patterns[0].property.value,
354
- folded: false,
355
- } as any,
356
- });
357
- }
358
- });
359
- return match;
360
- }
361
- if (newCallee[newCallee.length - 1].argument?.callee?.name === '__SwitchExpressionFuntion') {
362
- const switchStatement = transformLogicNode(newCallee[0].body.body[0]);
363
- return switchStatement;
364
- }
365
- console.error(node);
366
- throw new Error(`Unhandled ArrowFunctionExpression node ${node.type}`);
367
- } else {
368
- console.error(node);
369
- throw new Error(`Unhandled node ${callee.map((item: babelTypes.Identifier) => item.name).join('.')} ${node.type}`);
370
- }
371
- } else if (node.type === 'IfStatement') {
372
- if (node.alternate && node.alternate.type === 'IfStatement') {
373
- const switchStatement = new naslTypes.SwitchStatement({
374
- cases: [],
375
- });
376
- pushElseIf(node, switchStatement);
377
- return switchStatement;
378
- }
379
- return new naslTypes.IfStatement({
380
- test: transformLogicNode(node.test),
381
- consequent: !node.consequent ? [] : (node.consequent as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
382
- alternate: !node.alternate ? [] : (node.alternate as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
383
- });
384
- } else if (node.type === 'WhileStatement') {
385
- return new naslTypes.WhileStatement({
386
- test: transformLogicNode(node.test),
387
- body: (node.body as babelTypes.BlockStatement).body.map((item) => transformLogicNode(item)).filter((item) => !!item),
388
- });
389
- } else if (node.type === 'SwitchStatement') {
390
- const match = new naslTypes.Match({
391
- expression: transformLogicNode(node.discriminant),
392
- isExpression: type === 'expression',
393
- cases: node.cases.map((_case) => new naslTypes.MatchCase({
394
- patterns: !_case.test ? [] : [transformLogicNode(_case.test)],
395
- body: _case.consequent.filter((item) => item.type !== 'BreakStatement').map((item) => transformLogicNode(item)).filter((item) => !!item),
396
- })),
397
- });
398
- if (!match.cases.length || match.cases[match.cases.length - 1].patterns.length) {
399
- match.cases.push(new naslTypes.MatchCase({
400
- patterns: [],
401
- body: [],
402
- }));
403
- }
404
- match.cases.forEach((case_: any) => {
405
- if (case_.body.length && (case_.body[0].concept === 'BooleanLiteral' || case_.body[0].concept === 'StringLiteral')) {
406
- case_.isMatchedTypeEnumable = true;
407
- }
408
- if (case_.patterns.length && case_.patterns[0].concept === 'MemberExpression') {
409
- case_.isMatchedTypeEnumable = true;
410
- case_.patterns[0].object.namespace = 'app.enums';
411
- }
412
- });
413
- return match;
414
- } else if (node.type === 'MemberExpression') {
415
- if (node.property.type === 'NumericLiteral') {
416
- return new naslTypes.CallFunction({
417
- calleeNamespace: 'nasl.util',
418
- calleeName: 'Get',
419
- arguments: [
420
- new naslTypes.Argument({
421
- expression: transformLogicNode(node.object),
422
- }),
423
- new naslTypes.Argument({
424
- expression: transformLogicNode(node.property),
425
- }),
426
- ],
427
- });
428
- }
429
- return new naslTypes.MemberExpression({
430
- object: transformLogicNode(node.object),
431
- property: transformLogicNode(node.property),
432
- });
433
- } else if (node.type === 'Identifier') {
434
- return new naslTypes.Identifier({
435
- name: node.name,
436
- });
437
- } else if (node.type === 'ExpressionStatement') {
438
- return transformLogicNode(node.expression);
439
- } else if (node.type === 'AssignmentExpression') {
440
- if (node.operator === '+=' || node.operator === '-=') {
441
- if (type === 'expression') {
442
- return new naslTypes.BinaryExpression({
443
- operator: node.operator[0] as '+' | '-',
444
- left: transformLogicNode(node.left),
445
- right: transformLogicNode(node.right),
446
- });
447
- }
448
- return new naslTypes.Assignment({
449
- left: transformLogicNode(node.left),
450
- right: new naslTypes.BinaryExpression({
451
- operator: node.operator[0] as '+' | '-',
452
- left: transformLogicNode(node.left),
453
- right: transformLogicNode(node.right),
454
- }),
455
- });
456
- }
457
- if (type === 'expression') {
458
- return transformLogicNode(node.right);
459
- }
460
- return new naslTypes.Assignment({
461
- left: transformLogicNode(node.left),
462
- right: transformLogicNode(node.right),
463
- });
464
- } else if (node.type === 'NewExpression') {
465
- const calleeName = generate(node.callee as any).code;
466
- if (['Boolean', 'Integer', 'Double', 'Decimal', 'Long'].includes(calleeName)) {
467
- return transformLogicNode(node.arguments[0], naslTypes.TypeAnnotation.createPrimitive(calleeName));
468
- }
469
- console.error(node);
470
- throw new Error(`Unhandled node ${node.type}`);
471
- } else if (node.type === 'ArrowFunctionExpression') {
472
- return new naslTypes.AnonymousFunction({
473
- params: node.params.map((param: babelTypes.Identifier) => transformParam(param)),
474
- body: transformLogicNode(node.body),
475
- }) as any as naslTypes.LogicItem;
476
- } else if (node.type === 'BooleanLiteral') {
477
- return new naslTypes.BooleanLiteral({
478
- value: String(node.value),
479
- });
480
- } else if (node.type === 'StringLiteral') {
481
- return new naslTypes.StringLiteral({
482
- value: node.value,
483
- });
484
- } else if (node.type === 'NumericLiteral') {
485
- const literal = new naslTypes.NumericLiteral({
486
- value: String(node.value),
487
- typeAnnotation: typeAnnotation || naslTypes.TypeAnnotation.createPrimitive('Integer'),
488
- });
489
- literal.typeAnnotation.typeName = literal.changeType(String(node.value));
490
- return literal;
491
- } else if (node.type === 'NullLiteral') {
492
- return new naslTypes.NullLiteral();
493
- } else if (node.type === 'TemplateLiteral') {
494
- const expressions = [...node.expressions as babelTypes.Expression[], ...node.quasis.map((element) => ({
495
- type: 'StringLiteral',
496
- value: element.value.raw,
497
- start: element.start,
498
- end: element.end,
499
- })) as babelTypes.StringLiteral[]];
500
- expressions.sort((a, b) => a.start - b.start);
501
-
502
- return new naslTypes.StringInterpolation({
503
- expressions: expressions.map((item) => transformLogicNode(item)),
504
- });
505
- } else if (node.type === 'BinaryExpression' || node.type === 'LogicalExpression') {
506
- if (node.operator === '===')
507
- node.operator = '==';
508
- if (node.operator === '!==')
509
- node.operator = '!=';
510
- if (['+', '-', '*', '/', '%', '==', '!=', '>', '<', '>=', '<=', '&&', '||', 'startwith', 'endwith', 'like', 'in'].includes(node.operator)) {
511
- return new naslTypes.BinaryExpression({
512
- operator: node.operator as any,
513
- left: transformLogicNode(node.left),
514
- right: transformLogicNode(node.right),
515
- });
516
- }
517
- console.error(node);
518
- throw new Error(`Unhandled node ${node.type}`);
519
- } else if (node.type === 'UnaryExpression') {
520
- if (['!'].includes(node.operator)) {
521
- return new naslTypes.UnaryExpression({
522
- operator: node.operator as any,
523
- argument: transformLogicNode(node.argument),
524
- });
525
- }
526
- if (['-'].includes(node.operator) && node.argument.type === 'NumericLiteral') {
527
- return transformLogicNode({
528
- type: 'NumericLiteral',
529
- value: -node.argument.value,
530
- } as babelTypes.NumericLiteral);
531
- }
532
- console.error(node);
533
- throw new Error(`Unhandled node ${node.type}`);
534
- } else if (node.type === 'UpdateExpression') {
535
- if (node.operator === '++' || node.operator === '--') {
536
- return new naslTypes.Assignment({
537
- left: transformLogicNode(node.argument),
538
- right: new naslTypes.BinaryExpression({
539
- operator: node.operator[0] as '+' | '-',
540
- left: transformLogicNode(node.argument),
541
- right: new naslTypes.NumericLiteral({
542
- value: '1',
543
- typeAnnotation: naslTypes.TypeAnnotation.createPrimitive('Integer'),
544
- }),
545
- }),
546
- });
547
- }
548
- } else if (node.type === 'ReturnStatement') {
549
- if (node.argument) {
550
- if (type === 'expression') {
551
- return transformLogicNode(node.argument);
552
- }
553
- if (!logic.returns.length) {
554
- logic.returns.push(new naslTypes.Return({
555
- name: 'result',
556
- }));
557
- }
558
- return new naslTypes.Assignment({
559
- left: new naslTypes.Identifier({
560
- name: logic.returns[0].name,
561
- }),
562
- right: transformLogicNode(node.argument),
563
- });
564
- }
565
- } else if (node.type === 'EmptyStatement') {
566
- return node.leadingComments && new naslTypes.Comment({
567
- value: String(node.leadingComments[0].value),
568
- });
569
- } else if (node.type === 'BlockStatement') {
570
- return transformLogicNode(node?.body?.[0]);
571
- } else {
572
- console.error(node);
573
- throw new Error(`Unhandled node ${node.type}`);
574
- }
575
- }
576
-
577
- const root = babel.parseSync(tsCode, {
578
- filename: 'result.ts',
579
- presets: [require('@babel/preset-typescript')],
580
- }) as babelTypes.File;
581
-
582
- let parameters: babelTypes.Identifier[] = [];
583
- let statements: babelTypes.Statement[] = root.program.body;
584
-
585
- traverse<babelTypes.Node>((current) => {
586
- if (current.node.type === 'FunctionDeclaration' && (current.node.id.name === contextLogicName || type === 'expression')) {
587
- parameters = current.node.params as babelTypes.Identifier[];
588
- statements = current.node.body.body;
589
- return true;
590
- }
591
- }, { node: root.program }, { mode: 'anyObject' });
592
-
593
- const currentPositionComment = root.comments.find((comment) => comment.type === 'CommentLine' && comment.value === ' 当前位置');
594
- if (currentPositionComment) {
595
- statements = statements.filter((stat) => stat.start > currentPositionComment.start);
596
- }
597
-
598
- // traverse<babelTypes.Node>((current) => {
599
- // if (!current.node.type)
600
- // console.log(current.key, current.node);
601
- // // console.log(current.node.type);
602
- // }, { node: {
603
- // type: 'BlockStatement',
604
- // body: statements,
605
- // } as babelTypes.BlockStatement }, {
606
- // mode: 'anyObject',
607
- // depthFirst: true,
608
- // excludedKeySet: new Set(['loc']),
609
- // });
610
-
611
- parameters.forEach((node) => {
612
- const param = transformParam(node);
613
- param && logic.params.push(param);
614
- });
615
- statements.forEach((node) => {
616
- const item = transformLogicNode(node);
617
- item && logic.body.push(item);
618
- });
619
-
620
- // console.log(JSON.stringify(logic));
621
- // try {
622
- // console.log(logic.toNaturalTS());
623
- // } catch (e) {
624
- // console.error(e);
625
- // }
626
-
627
- return logic;
628
- }
629
-
630
- export function tryTransformTSCode(tsCode: string, contextLogicName: string, type?: string): naslTypes.Logic {
631
- if (tsCode.includes('```')) {
632
- const cap = tsCode.match(/```.*\n([\s\S]+?)```/);
633
- if (cap)
634
- tsCode = cap[1].trim();
635
- }
636
-
637
- return transformTSCode(tsCode, contextLogicName, type);
638
- }
639
-
640
- export function transformTSCodeEx(answer: any, activeLogic: any, context: any) {
641
- let logicName = activeLogic.name;
642
- const { app, nasl } = context;
643
- if (activeLogic.parentNode instanceof nasl.BindEvent && activeLogic.parentNode.parentNode instanceof nasl.View) {
644
- logicName = `on_view_${activeLogic.name}`;
645
- } else if (activeLogic.parentNode instanceof nasl.BindEvent && activeLogic.parentNode.parentNode instanceof nasl.ViewElement) {
646
- logicName = `on_${(activeLogic.parentNode).element.name}_${activeLogic.name}`;
647
- } else {
648
- logicName = activeLogic.name;
649
- }
650
-
651
- const logic = tryTransformTSCode(answer, logicName);
652
- app.emit('collect:start', { actionMsg: '自然语言生成代码' });
653
- logic.params.forEach((param: any) => {
654
- if (!activeLogic.params.find((_: any) => _.name === param.name))
655
- activeLogic.addParam(param.toJSON());
656
- });
657
- logic.variables.forEach((variable: any) => {
658
- if (!activeLogic.variables.find((_: any) => _.name === variable.name))
659
- activeLogic.addVariable(variable.toJSON());
660
- });
661
- if (logic.returns.length && !activeLogic.returns.length) {
662
- activeLogic.addReturn(logic.returns[0].toJSON());
663
- }
664
- logic.body.forEach((item: any) => activeLogic.insertItemInBodyAt(item.toJSON(), activeLogic.body.length - 1));
665
- app.emit('collect:end');
666
- }
667
-
668
- export function transformTSCodeToExpression(answer: any, context: any) {
669
- let logic;
670
- try {
671
- logic = tryTransformTSCode(answer, '', 'expression');
672
- } catch (error) {
673
- throw new Error(error);
674
- }
675
- const { app } = context;
676
- app.emit('collect:start', { actionMsg: '自然语言生成代码' });
677
- const { body } = logic;
678
- app.emit('collect:end');
679
- return body;
680
- }