@lcap/nasl 3.3.0-beta.0 → 3.4.0-alpha.1

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