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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/out/automate/upgrader/2.20.js +1 -1
  2. package/out/automate/upgrader/2.20.js.map +1 -1
  3. package/out/bak/translator.js +11 -15
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  6. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  7. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  8. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  9. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  10. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  11. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  12. package/out/breakpoint/generator/CallbackNode.js +22 -0
  13. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  14. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  15. package/out/breakpoint/generator/FragmentNode.js +18 -0
  16. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  17. package/out/breakpoint/generator/index.js +25 -4
  18. package/out/breakpoint/generator/index.js.map +1 -1
  19. package/out/breakpoint/shared/constants.d.ts +3 -0
  20. package/out/breakpoint/shared/constants.js +6 -1
  21. package/out/breakpoint/shared/constants.js.map +1 -1
  22. package/out/breakpoint/shared/operations.js.map +1 -1
  23. package/out/breakpoint/shared/socket.d.ts +1 -1
  24. package/out/breakpoint/shared/socket.js +36 -7
  25. package/out/breakpoint/shared/socket.js.map +1 -1
  26. package/out/breakpoint/shared/utils.d.ts +2 -0
  27. package/out/breakpoint/shared/utils.js +15 -2
  28. package/out/breakpoint/shared/utils.js.map +1 -1
  29. package/out/breakpoint/store/core.d.ts +48 -2
  30. package/out/breakpoint/store/core.js +58 -32
  31. package/out/breakpoint/store/core.js.map +1 -1
  32. package/out/breakpoint/store/dock.js +1 -1
  33. package/out/breakpoint/store/dock.js.map +1 -1
  34. package/out/common/BaseNode.d.ts +1 -1
  35. package/out/common/BaseNode.js +105 -51
  36. package/out/common/BaseNode.js.map +1 -1
  37. package/out/common/Command.d.ts +13 -2
  38. package/out/common/Command.js +37 -9
  39. package/out/common/Command.js.map +1 -1
  40. package/out/common/EventEmitter.js.map +1 -1
  41. package/out/common/Messager.d.ts +3 -3
  42. package/out/common/Messager.js +6 -7
  43. package/out/common/Messager.js.map +1 -1
  44. package/out/common/asyncFuncMap.js.map +1 -1
  45. package/out/concepts/Abort__.js +6 -5
  46. package/out/concepts/Abort__.js.map +1 -1
  47. package/out/concepts/Anchor__.d.ts +4 -3
  48. package/out/concepts/Anchor__.js +24 -7
  49. package/out/concepts/Anchor__.js.map +1 -1
  50. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  51. package/out/concepts/AnonymousFunction__.js +48 -22
  52. package/out/concepts/AnonymousFunction__.js.map +1 -1
  53. package/out/concepts/App__.d.ts +421 -247
  54. package/out/concepts/App__.js +286 -54
  55. package/out/concepts/App__.js.map +1 -1
  56. package/out/concepts/Argument__.d.ts +4 -3
  57. package/out/concepts/Argument__.js +42 -11
  58. package/out/concepts/Argument__.js.map +1 -1
  59. package/out/concepts/Assignee__.d.ts +45 -45
  60. package/out/concepts/Assignee__.js +15 -15
  61. package/out/concepts/Assignee__.js.map +1 -1
  62. package/out/concepts/AssignmentLine__.js +6 -5
  63. package/out/concepts/AssignmentLine__.js.map +1 -1
  64. package/out/concepts/Assignment__.d.ts +7 -6
  65. package/out/concepts/Assignment__.js +40 -22
  66. package/out/concepts/Assignment__.js.map +1 -1
  67. package/out/concepts/Attribute__.d.ts +3 -3
  68. package/out/concepts/Attribute__.js +8 -7
  69. package/out/concepts/Attribute__.js.map +1 -1
  70. package/out/concepts/AuthInterface__.js +4 -3
  71. package/out/concepts/AuthInterface__.js.map +1 -1
  72. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  73. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  74. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  75. package/out/concepts/AuthLogic__.js +27 -13
  76. package/out/concepts/AuthLogic__.js.map +1 -1
  77. package/out/concepts/BackendVariable__.d.ts +5 -5
  78. package/out/concepts/BackendVariable__.js +23 -26
  79. package/out/concepts/BackendVariable__.js.map +1 -1
  80. package/out/concepts/Backend__.d.ts +18 -18
  81. package/out/concepts/Backend__.js +13 -13
  82. package/out/concepts/Backend__.js.map +1 -1
  83. package/out/concepts/BatchAssignment__.d.ts +34 -33
  84. package/out/concepts/BatchAssignment__.js +83 -43
  85. package/out/concepts/BatchAssignment__.js.map +1 -1
  86. package/out/concepts/BinaryExpression__.d.ts +7 -6
  87. package/out/concepts/BinaryExpression__.js +60 -24
  88. package/out/concepts/BinaryExpression__.js.map +1 -1
  89. package/out/concepts/BindAttribute__.d.ts +37 -37
  90. package/out/concepts/BindAttribute__.js +101 -48
  91. package/out/concepts/BindAttribute__.js.map +1 -1
  92. package/out/concepts/BindDirective__.d.ts +13 -13
  93. package/out/concepts/BindDirective__.js +23 -21
  94. package/out/concepts/BindDirective__.js.map +1 -1
  95. package/out/concepts/BindEvent__.d.ts +28 -28
  96. package/out/concepts/BindEvent__.js +99 -48
  97. package/out/concepts/BindEvent__.js.map +1 -1
  98. package/out/concepts/BindStyle__.d.ts +14 -15
  99. package/out/concepts/BindStyle__.js +16 -16
  100. package/out/concepts/BindStyle__.js.map +1 -1
  101. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  102. package/out/concepts/BooleanLiteral__.js +12 -5
  103. package/out/concepts/BooleanLiteral__.js.map +1 -1
  104. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  105. package/out/concepts/CallAuthInterface__.js +23 -22
  106. package/out/concepts/CallAuthInterface__.js.map +1 -1
  107. package/out/concepts/CallConnector__.d.ts +11 -9
  108. package/out/concepts/CallConnector__.js +79 -36
  109. package/out/concepts/CallConnector__.js.map +1 -1
  110. package/out/concepts/CallFunction__.d.ts +17 -16
  111. package/out/concepts/CallFunction__.js +95 -63
  112. package/out/concepts/CallFunction__.js.map +1 -1
  113. package/out/concepts/CallInterface__.d.ts +9 -8
  114. package/out/concepts/CallInterface__.js +71 -30
  115. package/out/concepts/CallInterface__.js.map +1 -1
  116. package/out/concepts/CallLogic__.d.ts +20 -19
  117. package/out/concepts/CallLogic__.js +155 -52
  118. package/out/concepts/CallLogic__.js.map +1 -1
  119. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  120. package/out/concepts/CallQueryComponent__.js +66 -63
  121. package/out/concepts/CallQueryComponent__.js.map +1 -1
  122. package/out/concepts/Comment__.d.ts +1 -0
  123. package/out/concepts/Comment__.js +13 -6
  124. package/out/concepts/Comment__.js.map +1 -1
  125. package/out/concepts/CompletionProperty__.d.ts +3 -3
  126. package/out/concepts/CompletionProperty__.js +8 -7
  127. package/out/concepts/CompletionProperty__.js.map +1 -1
  128. package/out/concepts/ConfigGroup__.d.ts +15 -15
  129. package/out/concepts/ConfigGroup__.js +9 -9
  130. package/out/concepts/ConfigGroup__.js.map +1 -1
  131. package/out/concepts/ConfigPropertyValue__.js +4 -3
  132. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  133. package/out/concepts/ConfigProperty__.d.ts +15 -15
  134. package/out/concepts/ConfigProperty__.js +10 -10
  135. package/out/concepts/ConfigProperty__.js.map +1 -1
  136. package/out/concepts/Configuration__.d.ts +15 -15
  137. package/out/concepts/Configuration__.js +9 -9
  138. package/out/concepts/Configuration__.js.map +1 -1
  139. package/out/concepts/Connection__.d.ts +166 -0
  140. package/out/concepts/Connection__.js +332 -0
  141. package/out/concepts/Connection__.js.map +1 -0
  142. package/out/concepts/ConnectorTrigger__.js +4 -3
  143. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  144. package/out/concepts/Connector__.d.ts +66 -66
  145. package/out/concepts/Connector__.js +16 -15
  146. package/out/concepts/Connector__.js.map +1 -1
  147. package/out/concepts/Constant__.d.ts +3 -3
  148. package/out/concepts/Constant__.js +8 -7
  149. package/out/concepts/Constant__.js.map +1 -1
  150. package/out/concepts/DataElement__.d.ts +3 -3
  151. package/out/concepts/DataElement__.js +6 -5
  152. package/out/concepts/DataElement__.js.map +1 -1
  153. package/out/concepts/DataSource__.d.ts +15 -15
  154. package/out/concepts/DataSource__.js +55 -39
  155. package/out/concepts/DataSource__.js.map +1 -1
  156. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  157. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  158. package/out/concepts/Destination__.d.ts +12 -11
  159. package/out/concepts/Destination__.js +93 -36
  160. package/out/concepts/Destination__.js.map +1 -1
  161. package/out/concepts/End__.js +15 -13
  162. package/out/concepts/End__.js.map +1 -1
  163. package/out/concepts/EntityIndex__.d.ts +1 -1
  164. package/out/concepts/EntityIndex__.js +6 -5
  165. package/out/concepts/EntityIndex__.js.map +1 -1
  166. package/out/concepts/EntityProperty__.d.ts +8 -7
  167. package/out/concepts/EntityProperty__.js +39 -24
  168. package/out/concepts/EntityProperty__.js.map +1 -1
  169. package/out/concepts/Entity__.d.ts +31 -30
  170. package/out/concepts/Entity__.js +40 -16
  171. package/out/concepts/Entity__.js.map +1 -1
  172. package/out/concepts/EnumItem__.d.ts +1 -0
  173. package/out/concepts/EnumItem__.js +12 -5
  174. package/out/concepts/EnumItem__.js.map +1 -1
  175. package/out/concepts/Enum__.d.ts +9 -8
  176. package/out/concepts/Enum__.js +24 -11
  177. package/out/concepts/Enum__.js.map +1 -1
  178. package/out/concepts/Event__.d.ts +15 -15
  179. package/out/concepts/Event__.js +6 -5
  180. package/out/concepts/Event__.js.map +1 -1
  181. package/out/concepts/ExternalDestination__.d.ts +6 -6
  182. package/out/concepts/ExternalDestination__.js +12 -11
  183. package/out/concepts/ExternalDestination__.js.map +1 -1
  184. package/out/concepts/ForEachStatement__.d.ts +25 -24
  185. package/out/concepts/ForEachStatement__.js +101 -36
  186. package/out/concepts/ForEachStatement__.js.map +1 -1
  187. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  188. package/out/concepts/FrontendLibrary__.js +12 -13
  189. package/out/concepts/FrontendLibrary__.js.map +1 -1
  190. package/out/concepts/FrontendVariable__.js +4 -3
  191. package/out/concepts/FrontendVariable__.js.map +1 -1
  192. package/out/concepts/Frontend__.d.ts +64 -65
  193. package/out/concepts/Frontend__.js +23 -27
  194. package/out/concepts/Frontend__.js.map +1 -1
  195. package/out/concepts/Function__.d.ts +64 -63
  196. package/out/concepts/Function__.js +49 -21
  197. package/out/concepts/Function__.js.map +1 -1
  198. package/out/concepts/Identifier__.js +37 -31
  199. package/out/concepts/Identifier__.js.map +1 -1
  200. package/out/concepts/IfStatement__.d.ts +20 -19
  201. package/out/concepts/IfStatement__.js +64 -34
  202. package/out/concepts/IfStatement__.js.map +1 -1
  203. package/out/concepts/Integration__.d.ts +3 -3
  204. package/out/concepts/Integration__.js +8 -7
  205. package/out/concepts/Integration__.js.map +1 -1
  206. package/out/concepts/InterfaceParam__.d.ts +3 -3
  207. package/out/concepts/InterfaceParam__.js +7 -6
  208. package/out/concepts/InterfaceParam__.js.map +1 -1
  209. package/out/concepts/Interface__.d.ts +33 -33
  210. package/out/concepts/Interface__.js +19 -20
  211. package/out/concepts/Interface__.js.map +1 -1
  212. package/out/concepts/JSBlock__.d.ts +1 -0
  213. package/out/concepts/JSBlock__.js +12 -5
  214. package/out/concepts/JSBlock__.js.map +1 -1
  215. package/out/concepts/JavaLogic__.js +10 -9
  216. package/out/concepts/JavaLogic__.js.map +1 -1
  217. package/out/concepts/LogicItem__.d.ts +6 -0
  218. package/out/concepts/LogicItem__.js +14 -5
  219. package/out/concepts/LogicItem__.js.map +1 -1
  220. package/out/concepts/Logic__.d.ts +80 -79
  221. package/out/concepts/Logic__.js +204 -58
  222. package/out/concepts/Logic__.js.map +1 -1
  223. package/out/concepts/MatchCase__.d.ts +39 -38
  224. package/out/concepts/MatchCase__.js +122 -37
  225. package/out/concepts/MatchCase__.js.map +1 -1
  226. package/out/concepts/Match__.d.ts +13 -11
  227. package/out/concepts/Match__.js +128 -60
  228. package/out/concepts/Match__.js.map +1 -1
  229. package/out/concepts/MemberExpression__.d.ts +7 -6
  230. package/out/concepts/MemberExpression__.js +52 -22
  231. package/out/concepts/MemberExpression__.js.map +1 -1
  232. package/out/concepts/MicroApp__.js +4 -3
  233. package/out/concepts/MicroApp__.js.map +1 -1
  234. package/out/concepts/Module__.d.ts +239 -155
  235. package/out/concepts/Module__.js +139 -33
  236. package/out/concepts/Module__.js.map +1 -1
  237. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  238. package/out/concepts/MsgTriggerEvent__.js +6 -5
  239. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  240. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  241. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  242. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  243. package/out/concepts/Namespace__.d.ts +180 -180
  244. package/out/concepts/Namespace__.js +33 -34
  245. package/out/concepts/Namespace__.js.map +1 -1
  246. package/out/concepts/NewComposite__.d.ts +49 -48
  247. package/out/concepts/NewComposite__.js +164 -49
  248. package/out/concepts/NewComposite__.js.map +1 -1
  249. package/out/concepts/NewList__.d.ts +19 -18
  250. package/out/concepts/NewList__.js +29 -12
  251. package/out/concepts/NewList__.js.map +1 -1
  252. package/out/concepts/NewMap__.d.ts +34 -33
  253. package/out/concepts/NewMap__.js +81 -72
  254. package/out/concepts/NewMap__.js.map +1 -1
  255. package/out/concepts/New__.js +6 -5
  256. package/out/concepts/New__.js.map +1 -1
  257. package/out/concepts/NullLiteral__.js +6 -5
  258. package/out/concepts/NullLiteral__.js.map +1 -1
  259. package/out/concepts/NumericLiteral__.d.ts +4 -3
  260. package/out/concepts/NumericLiteral__.js +15 -8
  261. package/out/concepts/NumericLiteral__.js.map +1 -1
  262. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  263. package/out/concepts/OqlQueryComponent__.js +25 -16
  264. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  266. package/out/concepts/OverriddenLogic__.js +79 -58
  267. package/out/concepts/OverriddenLogic__.js.map +1 -1
  268. package/out/concepts/Param__.d.ts +6 -5
  269. package/out/concepts/Param__.js +66 -29
  270. package/out/concepts/Param__.js.map +1 -1
  271. package/out/concepts/Point__.js +4 -3
  272. package/out/concepts/Point__.js.map +1 -1
  273. package/out/concepts/ProcessComponent__.d.ts +30 -30
  274. package/out/concepts/ProcessComponent__.js +8 -7
  275. package/out/concepts/ProcessComponent__.js.map +1 -1
  276. package/out/concepts/ProcessElement__.d.ts +96 -96
  277. package/out/concepts/ProcessElement__.js +34 -34
  278. package/out/concepts/ProcessElement__.js.map +1 -1
  279. package/out/concepts/ProcessOutcome__.js +6 -5
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.js +6 -5
  282. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  283. package/out/concepts/Process__.d.ts +75 -75
  284. package/out/concepts/Process__.js +33 -30
  285. package/out/concepts/Process__.js.map +1 -1
  286. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  287. package/out/concepts/QueryAggregateExpression__.js +8 -7
  288. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  289. package/out/concepts/QueryFieldExpression__.js +7 -6
  290. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  291. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  292. package/out/concepts/QueryFromExpression__.js +8 -7
  293. package/out/concepts/QueryFromExpression__.js.map +1 -1
  294. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  295. package/out/concepts/QueryGroupByExpression__.js +9 -10
  296. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  297. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  298. package/out/concepts/QueryJoinExpression__.js +11 -10
  299. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  300. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  301. package/out/concepts/QueryLimitExpression__.js +9 -8
  302. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  303. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  304. package/out/concepts/QueryOrderByExpression__.js +9 -8
  305. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  306. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  307. package/out/concepts/QuerySelectExpression__.js +9 -8
  308. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  309. package/out/concepts/Rect__.js +4 -3
  310. package/out/concepts/Rect__.js.map +1 -1
  311. package/out/concepts/Return__.d.ts +4 -3
  312. package/out/concepts/Return__.js +37 -18
  313. package/out/concepts/Return__.js.map +1 -1
  314. package/out/concepts/Role__.js +9 -9
  315. package/out/concepts/Role__.js.map +1 -1
  316. package/out/concepts/SelectMembers__.d.ts +18 -18
  317. package/out/concepts/SelectMembers__.js +10 -9
  318. package/out/concepts/SelectMembers__.js.map +1 -1
  319. package/out/concepts/Slot__.d.ts +3 -3
  320. package/out/concepts/Slot__.js +6 -5
  321. package/out/concepts/Slot__.js.map +1 -1
  322. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  323. package/out/concepts/SqlQueryComponent__.js +21 -12
  324. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  325. package/out/concepts/Start__.js +6 -5
  326. package/out/concepts/Start__.js.map +1 -1
  327. package/out/concepts/StringInterpolation__.d.ts +16 -15
  328. package/out/concepts/StringInterpolation__.js +37 -14
  329. package/out/concepts/StringInterpolation__.js.map +1 -1
  330. package/out/concepts/StringLiteral__.d.ts +1 -0
  331. package/out/concepts/StringLiteral__.js +13 -8
  332. package/out/concepts/StringLiteral__.js.map +1 -1
  333. package/out/concepts/StructureProperty__.d.ts +4 -3
  334. package/out/concepts/StructureProperty__.js +22 -9
  335. package/out/concepts/StructureProperty__.js.map +1 -1
  336. package/out/concepts/Structure__.d.ts +31 -30
  337. package/out/concepts/Structure__.js +27 -15
  338. package/out/concepts/Structure__.js.map +1 -1
  339. package/out/concepts/SwitchCase__.d.ts +12 -11
  340. package/out/concepts/SwitchCase__.js +69 -31
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/SwitchStatement__.d.ts +9 -8
  343. package/out/concepts/SwitchStatement__.js +27 -7
  344. package/out/concepts/SwitchStatement__.js.map +1 -1
  345. package/out/concepts/Theme__.js +4 -3
  346. package/out/concepts/Theme__.js.map +1 -1
  347. package/out/concepts/Transactional__.js +4 -3
  348. package/out/concepts/Transactional__.js.map +1 -1
  349. package/out/concepts/TriggerEvent__.d.ts +15 -15
  350. package/out/concepts/TriggerEvent__.js +6 -5
  351. package/out/concepts/TriggerEvent__.js.map +1 -1
  352. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  353. package/out/concepts/TriggerLauncher__.js +54 -32
  354. package/out/concepts/TriggerLauncher__.js.map +1 -1
  355. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  356. package/out/concepts/TypeAnnotation__.js +144 -124
  357. package/out/concepts/TypeAnnotation__.js.map +1 -1
  358. package/out/concepts/TypeParam__.d.ts +1 -0
  359. package/out/concepts/TypeParam__.js +12 -5
  360. package/out/concepts/TypeParam__.js.map +1 -1
  361. package/out/concepts/UnaryExpression__.d.ts +4 -3
  362. package/out/concepts/UnaryExpression__.js +31 -20
  363. package/out/concepts/UnaryExpression__.js.map +1 -1
  364. package/out/concepts/Unparsed__.d.ts +1 -0
  365. package/out/concepts/Unparsed__.js +12 -5
  366. package/out/concepts/Unparsed__.js.map +1 -1
  367. package/out/concepts/UseComponent__.js +4 -3
  368. package/out/concepts/UseComponent__.js.map +1 -1
  369. package/out/concepts/ValidationRule__.d.ts +14 -14
  370. package/out/concepts/ValidationRule__.js +19 -17
  371. package/out/concepts/ValidationRule__.js.map +1 -1
  372. package/out/concepts/Variable__.d.ts +4 -3
  373. package/out/concepts/Variable__.js +39 -23
  374. package/out/concepts/Variable__.js.map +1 -1
  375. package/out/concepts/ViewBlock__.js +4 -3
  376. package/out/concepts/ViewBlock__.js.map +1 -1
  377. package/out/concepts/ViewComponent__.d.ts +90 -90
  378. package/out/concepts/ViewComponent__.js +16 -15
  379. package/out/concepts/ViewComponent__.js.map +1 -1
  380. package/out/concepts/ViewElement__.d.ts +91 -86
  381. package/out/concepts/ViewElement__.js +218 -146
  382. package/out/concepts/ViewElement__.js.map +1 -1
  383. package/out/concepts/View__.d.ts +92 -92
  384. package/out/concepts/View__.js +135 -60
  385. package/out/concepts/View__.js.map +1 -1
  386. package/out/concepts/WhileStatement__.d.ts +12 -11
  387. package/out/concepts/WhileStatement__.js +46 -23
  388. package/out/concepts/WhileStatement__.js.map +1 -1
  389. package/out/concepts/index__.d.ts +2 -1
  390. package/out/concepts/index__.js +2 -1
  391. package/out/concepts/index__.js.map +1 -1
  392. package/out/concepts/types__.d.ts +2 -1
  393. package/out/decorators/index.d.ts +1 -1
  394. package/out/decorators/index.js +20 -7
  395. package/out/decorators/index.js.map +1 -1
  396. package/out/decorators/promise.d.ts +7 -0
  397. package/out/decorators/promise.js +28 -0
  398. package/out/decorators/promise.js.map +1 -0
  399. package/out/enums/KEYWORDS.js.map +1 -1
  400. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  401. package/out/generator/compileComponent.js.map +1 -1
  402. package/out/generator/genBundleFiles.d.ts +4 -1
  403. package/out/generator/genBundleFiles.js +15 -11
  404. package/out/generator/genBundleFiles.js.map +1 -1
  405. package/out/generator/genHash.js.map +1 -1
  406. package/out/generator/genMetaData.js +12 -8
  407. package/out/generator/genMetaData.js.map +1 -1
  408. package/out/generator/genReleaseBody.js +33 -35
  409. package/out/generator/genReleaseBody.js.map +1 -1
  410. package/out/generator/microApp.js +2 -1
  411. package/out/generator/microApp.js.map +1 -1
  412. package/out/generator/permission.js +16 -14
  413. package/out/generator/permission.js.map +1 -1
  414. package/out/generator/styleReplacer.js +4 -7
  415. package/out/generator/styleReplacer.js.map +1 -1
  416. package/out/index.d.ts +0 -2
  417. package/out/index.js +0 -3
  418. package/out/index.js.map +1 -1
  419. package/out/manager/diagnostic.d.ts +1 -1
  420. package/out/manager/diagnostic.js.map +1 -1
  421. package/out/manager/stepRecorder.js +13 -9
  422. package/out/manager/stepRecorder.js.map +1 -1
  423. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  424. package/out/natural/RequirementAnalyzer.js +196 -0
  425. package/out/natural/RequirementAnalyzer.js.map +1 -0
  426. package/out/natural/RequirementExecutor.d.ts +51 -0
  427. package/out/natural/RequirementExecutor.js +692 -0
  428. package/out/natural/RequirementExecutor.js.map +1 -0
  429. package/out/natural/componentData.d.ts +31 -0
  430. package/out/natural/componentData.js +85 -0
  431. package/out/natural/componentData.js.map +1 -0
  432. package/out/natural/genNaturalTS.d.ts +3 -0
  433. package/out/natural/genNaturalTS.js +76 -0
  434. package/out/natural/genNaturalTS.js.map +1 -0
  435. package/out/natural/index.d.ts +4 -0
  436. package/out/natural/index.js +21 -0
  437. package/out/natural/index.js.map +1 -0
  438. package/out/natural/knowledgeMap.d.ts +4 -0
  439. package/out/natural/knowledgeMap.js +40 -0
  440. package/out/natural/knowledgeMap.js.map +1 -0
  441. package/out/natural/naslStdlibMap.d.ts +2 -0
  442. package/out/natural/naslStdlibMap.js +26 -0
  443. package/out/natural/naslStdlibMap.js.map +1 -0
  444. package/out/natural/transformTSCode.d.ts +7 -0
  445. package/out/natural/transformTSCode.js +760 -0
  446. package/out/natural/transformTSCode.js.map +1 -0
  447. package/out/sentry/index.d.ts +2 -1
  448. package/out/sentry/index.js.map +1 -1
  449. package/out/server/createUiTs.js +28 -16
  450. package/out/server/createUiTs.js.map +1 -1
  451. package/out/server/entity2LogicNamespace.js +24 -22
  452. package/out/server/entity2LogicNamespace.js.map +1 -1
  453. package/out/server/event.js.map +1 -1
  454. package/out/server/extendBaseNode.js +55 -70
  455. package/out/server/extendBaseNode.js.map +1 -1
  456. package/out/server/formatTsUtils.js +46 -50
  457. package/out/server/formatTsUtils.js.map +1 -1
  458. package/out/server/getConnector.d.ts +3 -3
  459. package/out/server/getConnector.js +7 -8
  460. package/out/server/getConnector.js.map +1 -1
  461. package/out/server/getExtensionModules.js +2 -2
  462. package/out/server/getExtensionModules.js.map +1 -1
  463. package/out/server/getFunctions.js.map +1 -1
  464. package/out/server/getInterfaces.js.map +1 -1
  465. package/out/server/getLogging.js.map +1 -1
  466. package/out/server/getLogics.d.ts +1 -1
  467. package/out/server/getLogics.js +34 -16
  468. package/out/server/getLogics.js.map +1 -1
  469. package/out/server/getMemberIdentifier.js +13 -10
  470. package/out/server/getMemberIdentifier.js.map +1 -1
  471. package/out/server/getProcessComponents.js.map +1 -1
  472. package/out/server/getProcesses.js +21 -29
  473. package/out/server/getProcesses.js.map +1 -1
  474. package/out/server/getScope.js.map +1 -1
  475. package/out/server/getValidates.js.map +1 -1
  476. package/out/server/index.js +0 -1
  477. package/out/server/index.js.map +1 -1
  478. package/out/server/naslServer.d.ts +99 -94
  479. package/out/server/naslServer.js +485 -465
  480. package/out/server/naslServer.js.map +1 -1
  481. package/out/server/naslStdlibMap.js +4 -2
  482. package/out/server/naslStdlibMap.js.map +1 -1
  483. package/out/server/process2LogicNamespace.js.map +1 -1
  484. package/out/server/translator.d.ts +1 -1
  485. package/out/server/translator.js +52 -47
  486. package/out/server/translator.js.map +1 -1
  487. package/out/service/storage/init.d.ts +15 -1
  488. package/out/service/storage/init.js +65 -56
  489. package/out/service/storage/init.js.map +1 -1
  490. package/out/templator/genCallComponentLogic.js +1 -2
  491. package/out/templator/genCallComponentLogic.js.map +1 -1
  492. package/out/templator/genCreateBlock.js +13 -8
  493. package/out/templator/genCreateBlock.js.map +1 -1
  494. package/out/templator/genCurdEditMultipleKeyBlock.js +19 -10
  495. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  496. package/out/templator/genCurdMultipleKeyBlock.js +22 -26
  497. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  498. package/out/templator/genEditTableBlock.js +11 -12
  499. package/out/templator/genEditTableBlock.js.map +1 -1
  500. package/out/templator/genEnumSelectBlock.js +1 -1
  501. package/out/templator/genEnumSelectBlock.js.map +1 -1
  502. package/out/templator/genGetBlock.js +2 -2
  503. package/out/templator/genGetBlock.js.map +1 -1
  504. package/out/templator/genGridViewBlock.js +10 -14
  505. package/out/templator/genGridViewBlock.js.map +1 -1
  506. package/out/templator/genListViewBlock.js +4 -7
  507. package/out/templator/genListViewBlock.js.map +1 -1
  508. package/out/templator/genQueryComponent.js +22 -15
  509. package/out/templator/genQueryComponent.js.map +1 -1
  510. package/out/templator/genSelectBlock.js +12 -33
  511. package/out/templator/genSelectBlock.js.map +1 -1
  512. package/out/templator/genTableBlock.js +8 -10
  513. package/out/templator/genTableBlock.js.map +1 -1
  514. package/out/templator/genUpdateBlock.js +12 -7
  515. package/out/templator/genUpdateBlock.js.map +1 -1
  516. package/out/templator/index.d.ts +4 -2
  517. package/out/templator/index.js +2 -2
  518. package/out/templator/index.js.map +1 -1
  519. package/out/templator/utils.d.ts +2 -2
  520. package/out/templator/utils.js +21 -22
  521. package/out/templator/utils.js.map +1 -1
  522. package/out/translator/index.js +27 -28
  523. package/out/translator/index.js.map +1 -1
  524. package/out/utils/index.d.ts +2 -1
  525. package/out/utils/index.js +8 -14
  526. package/out/utils/index.js.map +1 -1
  527. package/out/utils/logger.js.map +1 -1
  528. package/out/utils/sortTsString.js +3 -1
  529. package/out/utils/sortTsString.js.map +1 -1
  530. package/out/utils/string.js +8 -11
  531. package/out/utils/string.js.map +1 -1
  532. package/out/utils/time-slicing.d.ts +41 -0
  533. package/out/utils/time-slicing.js +81 -0
  534. package/out/utils/time-slicing.js.map +1 -0
  535. package/out/utils/traverse.js +4 -6
  536. package/out/utils/traverse.js.map +1 -1
  537. package/package.json +11 -7
  538. package/sandbox/stdlib/nasl.auth.ts +49 -46
  539. package/sandbox/stdlib/nasl.http.ts +29 -31
  540. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  541. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  542. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  543. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  544. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  545. package/sandbox-natural/tsconfig.json +12 -0
  546. package/src/automate/upgrader/2.20.js +1 -1
  547. package/src/bak/translator.js +92 -99
  548. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  549. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  550. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  551. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  552. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  553. package/src/breakpoint/generator/index.ts +107 -80
  554. package/src/breakpoint/shared/constants.ts +59 -53
  555. package/src/breakpoint/shared/operations.ts +6 -6
  556. package/src/breakpoint/shared/socket.ts +277 -223
  557. package/src/breakpoint/shared/utils.ts +166 -146
  558. package/src/breakpoint/store/core.ts +326 -297
  559. package/src/breakpoint/store/dock.ts +103 -103
  560. package/src/breakpoint/types/index.d.ts +11 -11
  561. package/src/common/BaseNode.ts +1102 -1024
  562. package/src/common/Command.ts +46 -16
  563. package/src/common/ComponentAPI.ts +72 -72
  564. package/src/common/EventEmitter.ts +80 -76
  565. package/src/common/Messager.ts +223 -224
  566. package/src/common/asyncFuncMap.ts +12 -12
  567. package/src/concepts/Abort__.ts +53 -60
  568. package/src/concepts/Anchor__.ts +158 -149
  569. package/src/concepts/AnonymousFunction__.ts +584 -551
  570. package/src/concepts/App__.ts +4278 -3671
  571. package/src/concepts/Argument__.ts +234 -210
  572. package/src/concepts/Assignee__.ts +680 -656
  573. package/src/concepts/AssignmentLine__.ts +80 -84
  574. package/src/concepts/Assignment__.ts +275 -264
  575. package/src/concepts/Attribute__.ts +183 -184
  576. package/src/concepts/AuthInterface__.ts +61 -63
  577. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  578. package/src/concepts/AuthLogic__.ts +210 -194
  579. package/src/concepts/BackendVariable__.ts +414 -415
  580. package/src/concepts/Backend__.ts +317 -303
  581. package/src/concepts/BatchAssignment__.ts +987 -939
  582. package/src/concepts/BinaryExpression__.ts +370 -341
  583. package/src/concepts/BindAttribute__.ts +1057 -1007
  584. package/src/concepts/BindDirective__.ts +540 -542
  585. package/src/concepts/BindEvent__.ts +992 -911
  586. package/src/concepts/BindStyle__.ts +442 -451
  587. package/src/concepts/BooleanLiteral__.ts +89 -90
  588. package/src/concepts/CallAuthInterface__.ts +458 -433
  589. package/src/concepts/CallConnector__.ts +209 -164
  590. package/src/concepts/CallFunction__.ts +600 -600
  591. package/src/concepts/CallInterface__.ts +752 -721
  592. package/src/concepts/CallLogic__.ts +1324 -1200
  593. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  594. package/src/concepts/Comment__.ts +69 -68
  595. package/src/concepts/CompletionProperty__.ts +250 -255
  596. package/src/concepts/ConfigGroup__.ts +312 -296
  597. package/src/concepts/ConfigPropertyValue__.ts +92 -93
  598. package/src/concepts/ConfigProperty__.ts +374 -357
  599. package/src/concepts/Configuration__.ts +288 -276
  600. package/src/concepts/Connection__.ts +426 -0
  601. package/src/concepts/ConnectorTrigger__.ts +146 -142
  602. package/src/concepts/Connector__.ts +1090 -1048
  603. package/src/concepts/Constant__.ts +226 -219
  604. package/src/concepts/DataElement__.ts +108 -115
  605. package/src/concepts/DataSource__.ts +508 -472
  606. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  607. package/src/concepts/Destination__.ts +808 -746
  608. package/src/concepts/End__.ts +85 -89
  609. package/src/concepts/EntityIndex__.ts +206 -202
  610. package/src/concepts/EntityProperty__.ts +825 -791
  611. package/src/concepts/Entity__.ts +921 -864
  612. package/src/concepts/EnumItem__.ts +133 -125
  613. package/src/concepts/Enum__.ts +347 -337
  614. package/src/concepts/Event__.ts +305 -292
  615. package/src/concepts/ExternalDestination__.ts +269 -280
  616. package/src/concepts/ForEachStatement__.ts +583 -531
  617. package/src/concepts/FrontendLibrary__.ts +507 -485
  618. package/src/concepts/FrontendVariable__.ts +44 -49
  619. package/src/concepts/Frontend__.ts +1239 -1187
  620. package/src/concepts/Function__.ts +1110 -1045
  621. package/src/concepts/Identifier__.ts +276 -272
  622. package/src/concepts/IfStatement__.ts +467 -436
  623. package/src/concepts/Integration__.ts +136 -137
  624. package/src/concepts/InterfaceParam__.ts +239 -238
  625. package/src/concepts/Interface__.ts +969 -948
  626. package/src/concepts/JSBlock__.ts +83 -83
  627. package/src/concepts/JavaLogic__.ts +101 -106
  628. package/src/concepts/LogicItem__.ts +307 -237
  629. package/src/concepts/Logic__.ts +2301 -2088
  630. package/src/concepts/MatchCase__.ts +886 -779
  631. package/src/concepts/Match__.ts +728 -659
  632. package/src/concepts/MemberExpression__.ts +330 -311
  633. package/src/concepts/MicroApp__.ts +91 -97
  634. package/src/concepts/Module__.ts +2590 -2278
  635. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  636. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  637. package/src/concepts/Namespace__.ts +2579 -2466
  638. package/src/concepts/NewComposite__.ts +1487 -1350
  639. package/src/concepts/NewList__.ts +464 -450
  640. package/src/concepts/NewMap__.ts +691 -674
  641. package/src/concepts/New__.ts +42 -49
  642. package/src/concepts/NullLiteral__.ts +66 -72
  643. package/src/concepts/NumericLiteral__.ts +169 -169
  644. package/src/concepts/OqlQueryComponent__.ts +282 -279
  645. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  646. package/src/concepts/Param__.ts +500 -442
  647. package/src/concepts/Point__.ts +53 -59
  648. package/src/concepts/ProcessComponent__.ts +497 -475
  649. package/src/concepts/ProcessElement__.ts +1852 -1780
  650. package/src/concepts/ProcessOutcome__.ts +59 -64
  651. package/src/concepts/ProcessOutcomes__.ts +59 -64
  652. package/src/concepts/Process__.ts +1491 -1428
  653. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  654. package/src/concepts/QueryFieldExpression__.ts +138 -142
  655. package/src/concepts/QueryFromExpression__.ts +246 -254
  656. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  657. package/src/concepts/QueryJoinExpression__.ts +441 -438
  658. package/src/concepts/QueryLimitExpression__.ts +159 -166
  659. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  660. package/src/concepts/QuerySelectExpression__.ts +464 -439
  661. package/src/concepts/Rect__.ts +73 -79
  662. package/src/concepts/Return__.ts +366 -345
  663. package/src/concepts/Role__.ts +146 -147
  664. package/src/concepts/SelectMembers__.ts +358 -350
  665. package/src/concepts/Slot__.ts +152 -153
  666. package/src/concepts/SqlQueryComponent__.ts +230 -228
  667. package/src/concepts/Start__.ts +45 -52
  668. package/src/concepts/StringInterpolation__.ts +323 -296
  669. package/src/concepts/StringLiteral__.ts +113 -115
  670. package/src/concepts/StructureProperty__.ts +306 -295
  671. package/src/concepts/Structure__.ts +615 -578
  672. package/src/concepts/SwitchCase__.ts +326 -290
  673. package/src/concepts/SwitchStatement__.ts +236 -229
  674. package/src/concepts/Theme__.ts +64 -68
  675. package/src/concepts/Transactional__.ts +159 -153
  676. package/src/concepts/TriggerEvent__.ts +285 -274
  677. package/src/concepts/TriggerLauncher__.ts +232 -196
  678. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  679. package/src/concepts/TypeParam__.ts +48 -50
  680. package/src/concepts/UnaryExpression__.ts +163 -153
  681. package/src/concepts/Unparsed__.ts +81 -82
  682. package/src/concepts/UseComponent__.ts +53 -59
  683. package/src/concepts/ValidationRule__.ts +524 -544
  684. package/src/concepts/Variable__.ts +419 -397
  685. package/src/concepts/ViewBlock__.ts +58 -64
  686. package/src/concepts/ViewComponent__.ts +1323 -1261
  687. package/src/concepts/ViewElement__.ts +2538 -2350
  688. package/src/concepts/View__.ts +2447 -2268
  689. package/src/concepts/WhileStatement__.ts +293 -272
  690. package/src/concepts/index__.ts +2 -1
  691. package/src/concepts/types__.ts +123 -121
  692. package/src/decorators/index.ts +75 -77
  693. package/src/decorators/promise.ts +28 -0
  694. package/src/enums/KEYWORDS.ts +1228 -1228
  695. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  696. package/src/generator/compileComponent.ts +10 -10
  697. package/src/generator/genBundleFiles.ts +300 -291
  698. package/src/generator/genHash.ts +2 -2
  699. package/src/generator/genMetaData.ts +280 -261
  700. package/src/generator/genReleaseBody.ts +312 -291
  701. package/src/generator/icestark.ts +1 -1
  702. package/src/generator/microApp.ts +17 -20
  703. package/src/generator/permission.ts +227 -218
  704. package/src/generator/qiankun.ts +1 -1
  705. package/src/generator/styleReplacer.ts +28 -31
  706. package/src/index.ts +0 -3
  707. package/src/manager/diagnostic.ts +84 -82
  708. package/src/manager/stepRecorder.ts +106 -94
  709. package/src/natural/RequirementAnalyzer.ts +208 -0
  710. package/src/natural/RequirementExecutor.ts +685 -0
  711. package/src/natural/componentData.ts +81 -0
  712. package/src/natural/genNaturalTS.ts +77 -0
  713. package/src/natural/index.ts +4 -0
  714. package/src/natural/knowledgeMap.ts +39 -0
  715. package/src/natural/naslStdlibMap.ts +24 -0
  716. package/src/natural/transformTSCode.ts +692 -0
  717. package/src/sentry/index.ts +109 -104
  718. package/src/server/createUiTs.ts +190 -184
  719. package/src/server/entity2LogicNamespace.ts +379 -359
  720. package/src/server/event.js +145 -145
  721. package/src/server/extendBaseNode.ts +461 -456
  722. package/src/server/formatTsUtils.ts +712 -713
  723. package/src/server/getConnector.ts +33 -33
  724. package/src/server/getExtensionModules.ts +23 -22
  725. package/src/server/getFunctions.ts +6 -6
  726. package/src/server/getInterfaces.ts +38 -37
  727. package/src/server/getLogging.ts +1 -1
  728. package/src/server/getLogics.ts +390 -344
  729. package/src/server/getMemberIdentifier.ts +286 -281
  730. package/src/server/getProcessComponents.ts +2 -2
  731. package/src/server/getProcesses.ts +548 -534
  732. package/src/server/getScope.ts +51 -51
  733. package/src/server/getValidates.ts +3 -3
  734. package/src/server/index.ts +29 -30
  735. package/src/server/naslServer.ts +4302 -4225
  736. package/src/server/naslStdlibMap.ts +43 -41
  737. package/src/server/process2LogicNamespace.ts +97 -97
  738. package/src/server/translator.ts +740 -746
  739. package/src/service/storage/init.ts +761 -728
  740. package/src/templator/genCallComponentLogic.ts +14 -15
  741. package/src/templator/genCreateBlock.ts +257 -229
  742. package/src/templator/genCurdEditMultipleKeyBlock.ts +332 -316
  743. package/src/templator/genCurdMultipleKeyBlock.ts +501 -473
  744. package/src/templator/genEditTableBlock.ts +192 -182
  745. package/src/templator/genEnumSelectBlock.ts +13 -7
  746. package/src/templator/genGetBlock.ts +57 -55
  747. package/src/templator/genGridViewBlock.ts +191 -201
  748. package/src/templator/genListViewBlock.ts +59 -64
  749. package/src/templator/genQueryComponent.ts +337 -287
  750. package/src/templator/genSelectBlock.ts +276 -285
  751. package/src/templator/genTableBlock.ts +157 -160
  752. package/src/templator/genUpdateBlock.ts +269 -255
  753. package/src/templator/index.ts +4 -4
  754. package/src/templator/utils.ts +490 -464
  755. package/src/translator/index.ts +84 -84
  756. package/src/translator/lsp.ts +22 -22
  757. package/src/translator/tsp.ts +6 -6
  758. package/src/utils/index.ts +115 -117
  759. package/src/utils/logger.ts +3 -4
  760. package/src/utils/sortTsString.ts +34 -32
  761. package/src/utils/string.ts +47 -48
  762. package/src/utils/time-slicing.ts +109 -0
  763. package/src/utils/traverse.ts +114 -126
  764. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  765. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  766. package/test/concepts/match/constant.ts +5 -0
  767. package/test/concepts/match/fixtures/isExpression.json +259 -0
  768. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  769. package/test/concepts/match/fixtures/noExpression.json +176 -0
  770. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  771. package/test/concepts/match/toJS.spec.ts +14 -0
  772. package/test/setup.ts +2 -1
  773. package/ts-worker/src/index.js +0 -2
  774. package/tsconfig.json +21 -21
@@ -1,3 +1,4 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
2
3
  import Namespace from './Namespace__';
3
4
  import CallQueryComponent from './CallQueryComponent__';
@@ -10,15 +11,14 @@ import Variable from './Variable__';
10
11
  import TypeParam from './TypeParam__';
11
12
  import TypeAnnotation from './TypeAnnotation__';
12
13
 
13
- //================================================================================
14
+ //= ===============================================================================
14
15
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
15
16
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
16
- //================================================================================
17
+ //= ===============================================================================
17
18
  import { EventPayload, Params } from '../common/EventEmitter';
18
19
  import { concept, excludedInJSON, property } from '../decorators';
19
20
 
20
21
  import * as utils from '../utils';
21
- import { v4 as uuidv4 } from 'uuid';
22
22
  import BaseNode from '../common/BaseNode';
23
23
  import classMap from '../common/classMap';
24
24
  import Param from './Param__';
@@ -29,545 +29,574 @@ import AuthLogic from './AuthLogic__';
29
29
  */
30
30
  @concept('调用的鉴权逻辑')
31
31
  export class AuthLogicForCallInterface extends AuthLogic {
32
- /**
33
- * 产品概念
34
- */
35
- @property()
36
- concept: 'AuthLogicForCallInterface' = 'AuthLogicForCallInterface';
37
-
38
- /**
39
- * 鉴权配置参数, 调用接口鉴权独有
40
- */
41
- @property('Param')
42
- authParams: Array<Param> = [];
43
-
44
-
45
-
46
- /**
47
- * @param source 需要合并的部分参数
48
- */
49
- constructor(source?: Partial<AuthLogicForCallInterface>) {
50
- source = Object.assign({}, AuthLogicForCallInterface.getDefaultOptions(), source);
51
- super(source);
52
- super.subConstructor(source);
32
+ /**
33
+ * 产品概念
34
+ */
35
+ @property()
36
+ concept: 'AuthLogicForCallInterface' = 'AuthLogicForCallInterface';
37
+
38
+ /**
39
+ * 鉴权配置参数, 调用接口鉴权独有
40
+ */
41
+ @property('Param')
42
+ authParams: Array<Param> = [];
43
+
44
+ /**
45
+ * @param source 需要合并的部分参数
46
+ */
47
+ constructor(source?: Partial<AuthLogicForCallInterface>) {
48
+ // @ts-ignore
49
+ source = { ...AuthLogicForCallInterface.getDefaultOptions(), ...source };
50
+ super(source);
51
+ super.subConstructor(source);
52
+ }
53
+
54
+ getClassName() {
55
+ return 'AuthLogicForCallInterface';
56
+ }
57
+
58
+ static from(source: any, parentNode?: any, parentKey?: string): AuthLogicForCallInterface {
59
+ return super.from(source, parentNode, parentKey) as AuthLogicForCallInterface;
60
+ }
61
+
62
+ getParamExistingNames(excludedList: Array<Param> = []) {
63
+ const excludedSet = new Set(excludedList);
64
+ return ((this.authParams as Param[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
65
+ }
66
+
67
+ getParamUniqueName(name = 'param1') {
68
+ return utils.unique(name, this.getParamExistingNames(), undefined, false);
69
+ }
70
+
71
+ /**
72
+ * 插入输入参数
73
+ * @internal
74
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
75
+ */
76
+ _insertParamAt(name: string, index: number): Param;
77
+
78
+ /**
79
+ * 插入输入参数
80
+ * @internal
81
+ * @param paramOptions 输入参数参数
82
+ */
83
+ _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
84
+
85
+ /**
86
+ * 插入输入参数
87
+ * @internal
88
+ * @param param 已有的输入参数实例
89
+ */
90
+ _insertParamAt(param: Param, index: number): Param;
91
+
92
+ _insertParamAt(options: string | Partial<Param> | Param, index: number) {
93
+ const paramOptions: any = {};
94
+ const relationOptions = { parentNode: this, parentKey: 'authParams' };
95
+ let param: Param;
96
+ if (!options) {
97
+ param = Param.from(
98
+ {
99
+ ...paramOptions,
100
+ name: this.getParamUniqueName(),
101
+ },
102
+ this,
103
+ 'authParams'
104
+ );
105
+ } else if (typeof options === 'string') {
106
+ param = Param.from(
107
+ {
108
+ ...paramOptions,
109
+ name: options,
110
+ },
111
+ this,
112
+ 'authParams'
113
+ );
114
+ } else if (options instanceof Param) {
115
+ options.ensureDelete(); // 同一实例不支持多处存在
116
+ param = options;
117
+ Object.assign(param, relationOptions);
118
+ } else {
119
+ param = Param.from(
120
+ {
121
+ ...paramOptions,
122
+ ...options,
123
+ },
124
+ this,
125
+ 'authParams'
126
+ );
53
127
  }
54
- getClassName() {
55
- return 'AuthLogicForCallInterface';
128
+ this.authParams.splice(index, 0, param);
129
+ return param;
130
+ }
131
+
132
+ /**
133
+ * 插入输入参数
134
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
135
+ */
136
+ insertParamAt(name: string, index: number): Param;
137
+
138
+ /**
139
+ * 插入输入参数
140
+ * @param paramOptions 输入参数参数
141
+ */
142
+ insertParamAt(paramOptions: Partial<Param>, index: number): Param;
143
+
144
+ /**
145
+ * 插入输入参数
146
+ * @param param 已有的输入参数实例
147
+ */
148
+ insertParamAt(param: Param, index: number): Param;
149
+
150
+ insertParamAt(options: string | Partial<Param> | Param, index: number) {
151
+ const node = this._insertParamAt(options as any, index);
152
+ node.create({
153
+ index,
154
+ parentNode: this,
155
+ parentKey: 'authParams',
156
+ });
157
+ return node;
158
+ }
159
+
160
+ /**
161
+ * 添加输入参数
162
+ * @internal
163
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
164
+ */
165
+ _addParam(name?: string): Param;
166
+
167
+ /**
168
+ * 添加输入参数
169
+ * @internal
170
+ * @param paramOptions 输入参数参数
171
+ */
172
+ _addParam(paramOptions: Partial<Param>): Param;
173
+
174
+ /**
175
+ * 添加输入参数
176
+ * @internal
177
+ * @param param 已有的输入参数实例
178
+ */
179
+ _addParam(param: Param): Param;
180
+
181
+ _addParam(options?: string | Partial<Param> | Param) {
182
+ const index = this.authParams.length;
183
+ return this._insertParamAt(options as any, index);
184
+ }
185
+
186
+ /**
187
+ * 添加输入参数
188
+ * @internal
189
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
190
+ */
191
+ addParam(name?: string): Param;
192
+
193
+ /**
194
+ * 添加输入参数
195
+ * @param paramOptions 输入参数参数
196
+ */
197
+ addParam(paramOptions: Partial<Param>): Param;
198
+
199
+ /**
200
+ * 添加输入参数
201
+ * @param param 已有的输入参数实例
202
+ */
203
+ addParam(param: Param): Param;
204
+
205
+ addParam(options?: string | Partial<Param> | Param) {
206
+ const node = this._addParam(options as any);
207
+ const index = this.authParams.indexOf(node);
208
+ node.create({
209
+ index,
210
+ parentNode: this,
211
+ parentKey: 'authParams',
212
+ });
213
+ return node;
214
+ }
215
+
216
+ /**
217
+ * 删除输入参数
218
+ * @param name 输入参数名称
219
+ */
220
+ removeParam(name: string): void;
221
+
222
+ /**
223
+ * 删除输入参数
224
+ * @param param 已有的输入参数实例
225
+ */
226
+ removeParam(param: Param): void;
227
+
228
+ removeParam(options: string | Param) {
229
+ let param: Param;
230
+ if (typeof options === 'string') {
231
+ param = (this.authParams as Param[]).find((item) => item.name === options);
232
+ if (!param) {
233
+ throw new Error(`找不到输入参数 ${options}`);
234
+ }
235
+ } else {
236
+ param = options;
56
237
  }
57
-
58
- static from(source: any, parentNode?: any, parentKey?: string): AuthLogicForCallInterface {
59
- return super.from(source, parentNode, parentKey) as AuthLogicForCallInterface;
238
+ return param.delete();
239
+ }
240
+
241
+ __removeParam(param: Param) {
242
+ const { parentKey } = param;
243
+ const params: Params = {
244
+ parentNode: this,
245
+ parentKey,
246
+ index: -1,
247
+ object: null,
248
+ oldObject: param,
249
+ };
250
+ if (parentKey) {
251
+ params.parentKey = parentKey;
252
+ if (Array.isArray((this as any)[parentKey])) {
253
+ const index = (this as any)[parentKey].indexOf(param);
254
+ ~index && (this as any)[parentKey].splice(index, 1);
255
+ params.index = index;
256
+ } else if ((this as any)[parentKey] === param) {
257
+ params.index = 0;
258
+ (this as any)[parentKey] = undefined;
259
+ }
60
260
  }
61
-
62
-
63
-
64
-
65
- getParamExistingNames(excludedList: Array<Param> = []) {
66
- const excludedSet = new Set(excludedList);
67
- return ((this.authParams as Param[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
68
- }
69
- getParamUniqueName(name = 'param1') {
70
- return utils.unique(name, this.getParamExistingNames(), undefined, false);
261
+ return params;
262
+ }
263
+
264
+ //= ===============================================================================
265
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
266
+ // 自动生成的代码已结束。下面可以手动编写。
267
+ //= ===============================================================================
268
+
269
+ @withSourceMap()
270
+ toEmbeddedTS(state?: TranslatorState, prefix?: string): string {
271
+ // 如果传了不要前缀那就为空, 要不用传进来的,要是都没有就默认导出
272
+ let code = '';
273
+ if (!prefix) {
274
+ // T、U分别用来定义 api 入参和返回值
275
+ code += `export function ${this.name}`;
276
+ } else if (prefix === 'noExport') {
277
+ code += `function ${this.name}`;
278
+ } else if (prefix === 'inObject') {
279
+ code += `${this.name}`;
71
280
  }
72
-
73
- /**
74
- * 插入输入参数
75
- * @internal
76
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
77
- */
78
- _insertParamAt(name: string, index: number): Param;
79
-
80
- /**
81
- * 插入输入参数
82
- * @internal
83
- * @param paramOptions 输入参数参数
84
- */
85
- _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
86
-
87
- /**
88
- * 插入输入参数
89
- * @internal
90
- * @param param 已有的输入参数实例
91
- */
92
- _insertParamAt(param: Param, index: number): Param;
93
-
94
- _insertParamAt(options: string | Partial<Param> | Param, index: number) {
95
- const paramOptions: any = {};
96
- const relationOptions = { parentNode: this, parentKey: 'authParams' };
97
- let param: Param;
98
- if (!options) {
99
- param = Param.from({
100
- ...paramOptions,
101
- name: this.getParamUniqueName(),
102
- }, this, 'authParams');
103
- } else if (typeof options === 'string') {
104
- param = Param.from({
105
- ...paramOptions,
106
- name: options,
107
- }, this, 'authParams');
108
- } else if (options instanceof Param) {
109
- options.ensureDelete(); // 同一实例不支持多处存在
110
- param = options;
111
- Object.assign(param, relationOptions);
112
- } else {
113
- param = Param.from({
114
- ...paramOptions,
115
- ...options,
116
- }, this, 'authParams');
281
+ const typeParams = [
282
+ ...(this.typeParams || []),
283
+ new TypeParam({
284
+ name: 'ApiParams',
285
+ }),
286
+ new TypeParam({
287
+ name: 'ApiReturn',
288
+ }),
289
+ ];
290
+ if (typeParams?.length) {
291
+ code += '<';
292
+ typeParams.forEach((typeParam, typeParamIndex) => {
293
+ code += typeParam.toEmbeddedTS(shiftState(state, code, { inline: true }));
294
+ if (typeParamIndex !== typeParams.length - 1) {
295
+ code += ', ';
117
296
  }
118
- this.authParams.splice(index, 0, param);
119
- return param;
120
- }
121
-
122
- /**
123
- * 插入输入参数
124
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
125
- */
126
- insertParamAt(name: string, index: number): Param;
127
-
128
- /**
129
- * 插入输入参数
130
- * @param paramOptions 输入参数参数
131
- */
132
- insertParamAt(paramOptions: Partial<Param>, index: number): Param;
133
-
134
- /**
135
- * 插入输入参数
136
- * @param param 已有的输入参数实例
137
- */
138
- insertParamAt(param: Param, index: number): Param;
139
-
140
- insertParamAt(options: string | Partial<Param> | Param, index: number) {
141
- const node = this._insertParamAt(options as any, index);
142
- node.create({
143
- index,
144
- parentNode: this,
145
- parentKey: 'authParams',
146
- });
147
- return node;
297
+ });
298
+ code += '>';
148
299
  }
149
-
150
- /**
151
- * 添加输入参数
152
- * @internal
153
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
154
- */
155
- _addParam(name?: string): Param;
156
-
157
- /**
158
- * 添加输入参数
159
- * @internal
160
- * @param paramOptions 输入参数参数
161
- */
162
- _addParam(paramOptions: Partial<Param>): Param;
163
-
164
- /**
165
- * 添加输入参数
166
- * @internal
167
- * @param param 已有的输入参数实例
168
- */
169
- _addParam(param: Param): Param;
170
-
171
- _addParam(options?: string | Partial<Param> | Param) {
172
- const index = this.authParams.length;
173
- return this._insertParamAt(options as any, index);
174
- }
175
-
176
- /**
177
- * 添加输入参数
178
- * @internal
179
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
180
- */
181
- addParam(name?: string): Param;
182
-
183
- /**
184
- * 添加输入参数
185
- * @param paramOptions 输入参数参数
186
- */
187
- addParam(paramOptions: Partial<Param>): Param;
188
-
189
- /**
190
- * 添加输入参数
191
- * @param param 已有的输入参数实例
192
- */
193
- addParam(param: Param): Param;
194
-
195
- addParam(options?: string | Partial<Param> | Param) {
196
- const node = this._addParam(options as any);
197
- const index = this.authParams.indexOf(node);
198
- node.create({
199
- index,
200
- parentNode: this,
201
- parentKey: 'authParams',
202
- });
203
- return node;
204
- }
205
-
206
-
207
-
208
-
209
- /**
210
- * 删除输入参数
211
- * @param name 输入参数名称
212
- */
213
- removeParam(name: string): void;
214
-
215
- /**
216
- * 删除输入参数
217
- * @param param 已有的输入参数实例
218
- */
219
- removeParam(param: Param): void;
220
-
221
- removeParam(options: string | Param) {
222
- let param: Param;
223
- if (typeof options === 'string') {
224
- param = (this.authParams as Param[]).find((item) => item.name === options);
225
- if (!param) {
226
- throw new Error('找不到输入参数 ' + options);
227
- }
228
- } else {
229
- param = options;
230
- }
231
- return param.delete();
232
- }
233
-
234
- __removeParam(param: Param) {
235
- const parentKey = param.parentKey;
236
- const params: Params = {
237
- parentNode: this,
238
- parentKey,
239
- index: -1,
240
- object: null,
241
- oldObject: param,
242
- };
243
- if (parentKey) {
244
- params.parentKey = parentKey;
245
- if (Array.isArray((this as any)[parentKey])) {
246
- const index = (this as any)[parentKey].indexOf(param);
247
- ~index && (this as any)[parentKey].splice(index, 1);
248
- params.index = index;
249
- } else if ((this as any)[parentKey] === param) {
250
- params.index = 0;
251
- (this as any)[parentKey] = undefined;
252
- }
300
+ // 有参数长度 && 鉴权参数
301
+ if (this.authParams.length) {
302
+ // const params = [...this.authParams, ...this.params];
303
+ const params = [...this.authParams];
304
+ params.forEach((param, index) => {
305
+ if (index === 0) {
306
+ code += '({';
253
307
  }
254
- return params;
255
- }
256
-
257
- //================================================================================
258
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
259
- // 自动生成的代码已结束。下面可以手动编写。
260
- //================================================================================
261
-
262
- @withSourceMap()
263
- toEmbeddedTS(state?: TranslatorState, prefix?: string): string {
264
- // 如果传了不要前缀那就为空, 要不用传进来的,要是都没有就默认导出
265
- let code = '';
266
- if (!prefix) {
267
- // T、U分别用来定义 api 入参和返回值
268
- code += `export function ${this.name}`;
269
- } else if (prefix === 'noExport') {
270
- code += `function ${this.name}`;
271
- } else if (prefix === 'inObject') {
272
- code += `${this.name}`;
308
+ code += param.tsName;
309
+ if (index !== params.length - 1) {
310
+ code += ', ';
311
+ } else {
312
+ code += ', api}:';
273
313
  }
274
- const typeParams = [
275
- ...(this.typeParams || []),
276
- new TypeParam({
277
- name: 'ApiParams',
278
- }),
279
- new TypeParam({
280
- name: 'ApiReturn',
281
- }),
282
- ];
283
- if (typeParams?.length) {
284
- code += '<';
285
- typeParams.forEach((typeParam, typeParamIndex) => {
286
- code += typeParam.toEmbeddedTS(shiftState(state, code, { inline: true }));
287
- if (typeParamIndex !== typeParams.length - 1) {
288
- code += ', ';
289
- }
290
- });
291
- code += '>';
314
+ });
315
+ params.forEach((param, index) => {
316
+ if (index === 0) {
317
+ code += '{';
292
318
  }
293
- // 有参数长度 && 鉴权参数
294
- if (this.authParams.length) {
295
- // const params = [...this.authParams, ...this.params];
296
- const params = [...this.authParams];
297
- params.forEach((param, index) => {
298
- if (index === 0) {
299
- code += '({';
300
- }
301
- code += param.tsName;
302
- if (index !== params.length - 1) {
303
- code += ', ';
304
- } else {
305
- code += ', api}:';
306
- }
307
- });
308
- params.forEach((param, index) => {
309
- if (index === 0) {
310
- code += '{';
311
- }
312
- code += param.toEmbeddedTS(shiftState(state, code), !(param).required);
313
- if (index !== params.length - 1) {
314
- code += ', ';
315
- } else {
316
- code += ', api?: ApiReturn}';
317
- }
318
- });
319
- code += '): ApiReturn';
319
+ code += param.toEmbeddedTS(shiftState(state, code), !param.required);
320
+ if (index !== params.length - 1) {
321
+ code += ', ';
320
322
  } else {
321
- // 没有参数的
322
- code += '({api}: {api?: ApiReturn}): ApiReturn';
323
+ code += ', api?: ApiReturn}';
323
324
  }
325
+ });
326
+ code += '): ApiReturn';
327
+ } else {
328
+ // 没有参数的
329
+ code += '({api}: {api?: ApiReturn}): ApiReturn';
330
+ }
324
331
 
325
- // 需要类型推导的局部变量/返回值需要调整申明顺序
326
- const advanceMap: Map<Return | Variable, Assignment | BatchAssignment> = new Map();
327
- const needGetSourceMapOqlList: Promise<any>[] = [];
328
- this.traverseChildren((el) => {
329
- if (el && (el instanceof BatchAssignment || (el instanceof Assignment && el.left?.name))) {
330
- if (el instanceof Assignment) {
331
- const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && (el.left?.name === variable.name));
332
- if (advanceVar && !advanceMap.get(advanceVar)) {
333
- advanceMap.set(advanceVar, el);
334
- }
335
- const advanceRn = this.returns?.find((ret) => !ret.typeAnnotation && el.left?.name === ret.name);
336
- if (advanceRn && !advanceMap.get(advanceRn)) {
337
- advanceMap.set(advanceRn, el);
338
- }
339
- } else if (el instanceof BatchAssignment) {
340
- el.assignmentLines.forEach(({ leftIndex }) => {
341
- const leftCode
342
- = leftIndex.length === 1 ? el.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true })) : el.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
343
- const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && (leftCode === variable.name));
344
- if (advanceVar && !advanceMap.get(advanceVar)) {
345
- advanceMap.set(advanceVar, el);
346
- }
347
- const advanceRn = this.returns?.find((ret) => !ret.typeAnnotation && leftCode === ret.name);
348
- if (advanceRn && !advanceMap.get(advanceRn)) {
349
- advanceMap.set(advanceRn, el);
350
- }
351
- });
352
- }
332
+ // 需要类型推导的局部变量/返回值需要调整申明顺序
333
+ const advanceMap: Map<Return | Variable, Assignment | BatchAssignment> = new Map();
334
+ const needGetSourceMapOqlList: Promise<any>[] = [];
335
+ this.traverseChildren((el) => {
336
+ if (el && (el instanceof BatchAssignment || (el instanceof Assignment && el.left?.name))) {
337
+ if (el instanceof Assignment) {
338
+ const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && el.left?.name === variable.name);
339
+ if (advanceVar && !advanceMap.get(advanceVar)) {
340
+ advanceMap.set(advanceVar, el);
341
+ }
342
+ const advanceRn = this.returns?.find((ret) => !ret.typeAnnotation && el.left?.name === ret.name);
343
+ if (advanceRn && !advanceMap.get(advanceRn)) {
344
+ advanceMap.set(advanceRn, el);
345
+ }
346
+ } else if (el instanceof BatchAssignment) {
347
+ el.assignmentLines.forEach(({ leftIndex }) => {
348
+ const leftCode =
349
+ leftIndex.length === 1
350
+ ? el.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
351
+ : el.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
352
+ const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && leftCode === variable.name);
353
+ if (advanceVar && !advanceMap.get(advanceVar)) {
354
+ advanceMap.set(advanceVar, el);
353
355
  }
354
- // 如果有sql查询组件就需要把他们存起来
355
- if (el instanceof OqlQueryComponent) {
356
- if (!el.codeSourceMap) {
357
- needGetSourceMapOqlList.push(el.requestEmbeddedTS());
358
- }
356
+ const advanceRn = this.returns?.find((ret) => !ret.typeAnnotation && leftCode === ret.name);
357
+ if (advanceRn && !advanceMap.get(advanceRn)) {
358
+ advanceMap.set(advanceRn, el);
359
359
  }
360
- });
361
-
362
- if (needGetSourceMapOqlList.length) {
363
- Promise.all(needGetSourceMapOqlList).then(() => {
364
- // 触发一下更新重新生成代码
365
- (this.app as any)?.naslServer?.embeddedTSEmitter.emit('change', {
366
- value: [
367
- {
368
- originEvent: {
369
- action: 'update',
370
- target: this,
371
- },
372
- },
373
- ],
374
- });
375
- });
360
+ });
376
361
  }
377
-
378
- code += '{\n';
379
-
380
- // 用于虚拟节点的查找引用
381
- this.virtualParams
382
- && Array.isArray(this.virtualParams)
383
- && this.virtualParams.forEach((param) => {
384
- code += indent((state?.tabSize || 0) + 1);
385
- code += param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));
386
- code += '\n';
387
- });
388
-
389
- const variables = [
390
- ...this.variables,
391
- new Variable({ // 将默认参数加为变量 用于参数选择校验
392
- name: 'request',
393
- typeAnnotation: new TypeAnnotation({
394
- concept: 'TypeAnnotation',
395
- typeKind: 'generic',
396
- typeNamespace: 'nasl.http',
397
- typeName: 'HttpRequest',
398
- typeArguments: [{
399
- concept: 'TypeAnnotation',
400
- typeKind: 'primitive',
401
- typeNamespace: 'nasl.core',
402
- typeName: 'String',
403
- } as TypeAnnotation],
404
- }),
405
- }),
406
- ];
407
- variables.forEach((variable) => {
408
- if (!advanceMap.get(variable)) {
409
- code += indent((state?.tabSize || 0) + 1) + 'let ';
410
- code += variable.toEmbeddedTS(shiftState(state, code, { inline: true }));
411
- code += ';\n';
412
- }
362
+ }
363
+ // 如果有sql查询组件就需要把他们存起来
364
+ if (el instanceof OqlQueryComponent) {
365
+ if (!el.codeSourceMap) {
366
+ needGetSourceMapOqlList.push(el.requestEmbeddedTS());
367
+ }
368
+ }
369
+ });
370
+
371
+ if (needGetSourceMapOqlList.length) {
372
+ Promise.all(needGetSourceMapOqlList).then(() => {
373
+ // 触发一下更新重新生成代码
374
+ (this.app as any)?.naslServer?.embeddedTSEmitter.emit('change', {
375
+ value: [
376
+ {
377
+ originEvent: {
378
+ action: 'update',
379
+ target: this,
380
+ },
381
+ },
382
+ ],
413
383
  });
384
+ });
385
+ }
414
386
 
415
- advanceMap.forEach((assignment, node) => {
416
- code += indent((state?.tabSize || 0) + 1) + '// @ts-ignore\n';
417
- code += indent((state?.tabSize || 0) + 1) + 'let ';
418
- code += node.toEmbeddedTS(shiftState(state, code, { inline: true }));
419
- if (assignment instanceof BatchAssignment) {
420
- assignment.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
421
- const leftCode
422
- = leftIndex.length === 1 ? assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true })) : assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
423
- if (leftCode === node.name) {
424
- const rightNode: any = rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression : assignment.rights[rightIndex[0]]?.members[rightIndex[1]];
425
- // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
426
- if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
427
- code += ': ';
428
- code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
429
- } else {
430
- code += ' = ';
431
- const rightCode = rightNode?.toEmbeddedTS(shiftState(state, code, { inline: true }));
432
- code += this.getRightCode(rightCode, assignment, rightNode);
433
- }
434
- }
435
- });
436
- } else if (['NewList', 'NewMap'].includes(assignment.right?.concept) && !(assignment.right as any)?.typeAnnotation) {
437
- const rightNode: any = assignment.right;
438
- code += ' = ';
439
- code += rightNode.getInitCode(shiftState(state, code, { inline: true }));
440
- } else if (assignment.right?.concept === 'NewComposite' && (assignment.right as any)?.typeAnnotation?.typeKind === 'anonymousStructure') {
441
- const rightNode: any = assignment.right;
442
- code += ' = ';
443
- code += rightNode.getInitCode(shiftState(state, code, { inline: true }));
387
+ code += '{\n';
388
+
389
+ // 用于虚拟节点的查找引用
390
+ this.virtualParams &&
391
+ Array.isArray(this.virtualParams) &&
392
+ this.virtualParams.forEach((param) => {
393
+ code += indent((state?.tabSize || 0) + 1);
394
+ code += param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));
395
+ code += '\n';
396
+ });
397
+
398
+ const variables = [
399
+ ...this.variables,
400
+ new Variable({
401
+ // 将默认参数加为变量 用于参数选择校验
402
+ name: 'request',
403
+ typeAnnotation: new TypeAnnotation({
404
+ concept: 'TypeAnnotation',
405
+ typeKind: 'generic',
406
+ typeNamespace: 'nasl.http',
407
+ typeName: 'HttpRequest',
408
+ typeArguments: [
409
+ {
410
+ concept: 'TypeAnnotation',
411
+ typeKind: 'primitive',
412
+ typeNamespace: 'nasl.core',
413
+ typeName: 'String',
414
+ } as TypeAnnotation,
415
+ ],
416
+ }),
417
+ }),
418
+ ];
419
+ variables.forEach((variable) => {
420
+ if (!advanceMap.get(variable)) {
421
+ code += `${indent((state?.tabSize || 0) + 1)}let `;
422
+ code += variable.toEmbeddedTS(shiftState(state, code, { inline: true }));
423
+ code += ';\n';
424
+ }
425
+ });
426
+
427
+ advanceMap.forEach((assignment, node) => {
428
+ code += `${indent((state?.tabSize || 0) + 1)}// @ts-ignore\n`;
429
+ code += `${indent((state?.tabSize || 0) + 1)}let `;
430
+ code += node.toEmbeddedTS(shiftState(state, code, { inline: true }));
431
+ if (assignment instanceof BatchAssignment) {
432
+ assignment.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
433
+ const leftCode =
434
+ leftIndex.length === 1
435
+ ? assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
436
+ : assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
437
+ if (leftCode === node.name) {
438
+ const rightNode: any =
439
+ rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression : assignment.rights[rightIndex[0]]?.members[rightIndex[1]];
440
+ // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
441
+ if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
442
+ code += ': ';
443
+ code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
444
444
  } else {
445
- const rightNode: any = assignment.right;
446
- // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
447
- if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
448
- code += ': ';
449
- code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
450
- } else {
451
- code += ' = ';
452
- let rightCode = '';
453
- // 因为右侧枚举要赋值就得new 一下;
454
- if (rightNode && rightNode instanceof Identifier && rightNode.namespace && rightNode.namespace.endsWith('enums')) {
455
- rightCode += 'new ';
456
- }
457
- rightCode += rightNode && rightNode.toEmbeddedTS ? rightNode.toEmbeddedTS(shiftState(state, code, { inline: true })) : '__RIGHT__';
458
- code += this.getRightCode(rightCode, assignment, rightNode);
459
- }
445
+ code += ' = ';
446
+ const rightCode = rightNode?.toEmbeddedTS(shiftState(state, code, { inline: true }));
447
+ code += this.getRightCode(rightCode, assignment, rightNode);
460
448
  }
461
- code += ';\n';
449
+ }
462
450
  });
463
-
464
- if (!this.body.length) {
465
- // 必有返回值,且返回值为 api 对应的返回参数
466
- code += `${indent((state?.tabSize || 0) + 1)}let ${this.name}Result: ApiReturn; \n ${indent((state?.tabSize || 0) + 1)}return ${this.name}Result;\n`;
451
+ } else if (['NewList', 'NewMap'].includes(assignment.right?.concept) && !(assignment.right as any)?.typeAnnotation) {
452
+ const rightNode: any = assignment.right;
453
+ code += ' = ';
454
+ code += rightNode.getInitCode(shiftState(state, code, { inline: true }));
455
+ } else if (assignment.right?.concept === 'NewComposite' && (assignment.right as any)?.typeAnnotation?.typeKind === 'anonymousStructure') {
456
+ const rightNode: any = assignment.right;
457
+ code += ' = ';
458
+ code += rightNode.getInitCode(shiftState(state, code, { inline: true }));
459
+ } else {
460
+ const rightNode: any = assignment.right;
461
+ // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
462
+ if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
463
+ code += ': ';
464
+ code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
467
465
  } else {
468
- // 如果长度小于2 并且不是虚拟节点就 报错,
469
- if (this.body.length <= 2 && !(this.parentNode instanceof Namespace)) {
470
- code += indent((state?.tabSize || 0) + 1);
471
- code += 'const __LogicEmpty: any = null;';
472
- }
473
- this.body.forEach((item) => {
474
- code += item.toEmbeddedTS && item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));
475
- code += ';\n';
476
- });
466
+ code += ' = ';
467
+ let rightCode = '';
468
+ // 因为右侧枚举要赋值就得new 一下;
469
+ if (rightNode && rightNode instanceof Identifier && rightNode.namespace && rightNode.namespace.endsWith('enums')) {
470
+ rightCode += 'new ';
471
+ }
472
+ rightCode += rightNode && rightNode.toEmbeddedTS ? rightNode.toEmbeddedTS(shiftState(state, code, { inline: true })) : '__RIGHT__';
473
+ code += this.getRightCode(rightCode, assignment, rightNode);
477
474
  }
478
-
479
- // 在body渲染完成之后把其余的节点放到下面
480
- this.playground.forEach((item) => {
481
- code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));
482
- code += ';\n';
483
- });
484
-
485
- code += indent(state?.tabSize || 0) + '}';
486
- if (prefix === 'inObject') {
487
- code += `,`;
488
- }
489
- code += '\n';
490
- return code;
475
+ }
476
+ code += ';\n';
477
+ });
478
+
479
+ if (!this.body.length) {
480
+ // 必有返回值,且返回值为 api 对应的返回参数
481
+ code += `${indent((state?.tabSize || 0) + 1)}let ${this.name}Result: ApiReturn; \n ${indent((state?.tabSize || 0) + 1)}return ${
482
+ this.name
483
+ }Result;\n`;
484
+ } else {
485
+ // 如果长度小于2 并且不是虚拟节点就 加 报错,
486
+ if (this.body.length <= 2 && !(this.parentNode instanceof Namespace)) {
487
+ code += indent((state?.tabSize || 0) + 1);
488
+ code += 'const __LogicEmpty: any = null;';
489
+ }
490
+ this.body.forEach((item) => {
491
+ code += item.toEmbeddedTS && item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));
492
+ code += ';\n';
493
+ });
491
494
  }
492
495
 
493
- public static getDefaultOptions() {
494
- return {
495
- body: [
496
- {
497
- concept: 'Start',
498
- label: '开始',
499
- kind: 'Statement',
500
- type: 'Start',
501
- },
502
- {
503
- concept: 'End',
504
- label: '结束',
505
- kind: 'Statement',
506
- type: 'End',
507
- },
508
- ],
509
- params: [
510
- {
511
- concept: 'Param', // 产品概念
512
- name: 'request', // 输入参数名称
513
- description: '请求信息,系统自动注入,包含 method、url、header、cookie、body等', // 输入参数描述
514
- typeAnnotation: {
515
- concept: 'TypeAnnotation',
516
- typeKind: 'generic',
517
- typeNamespace: 'nasl.http',
518
- typeName: 'HttpRequest',
519
- typeArguments: [{
520
- concept: 'TypeAnnotation',
521
- typeKind: 'primitive',
522
- typeNamespace: 'nasl.core',
523
- typeName: 'String',
524
- }],
525
- }, // 类型
526
- required: false, // 是否必填
527
- },
528
- ],
529
- returns: [] as Array<any>,
530
- };
531
- }
496
+ // 在body渲染完成之后把其余的节点放到下面
497
+ this.playground.forEach((item) => {
498
+ code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));
499
+ code += ';\n';
500
+ });
532
501
 
533
- /**
534
- * 生成宿主语言的文件路径
535
- * @param name 一般不用传,用于 rename
536
- */
537
- getEmbeddedFilePath(name = this.name) {
538
- const _path = this.module ? `/${this.module.parentKey}/${this.module.name}` : '';
539
- return `/embedded/${this.app.name}${_path}/authLogicsForCallInterface/${name}.ts`;
502
+ code += `${indent(state?.tabSize || 0)}}`;
503
+ if (prefix === 'inObject') {
504
+ code += `,`;
540
505
  }
541
-
542
- getTsNamespace(): string {
543
- if (this.parentNode) {
544
- const parentNamespace = (this.parentNode as any)?.getTsNamespace();
545
- const parentName = this.parentNode.tsName || this.parentNode.name;
546
- const arr = [parentNamespace];
547
- if (this.parentNode.concept !== 'App' && parentName) {
548
- arr.push(parentName);
549
- }
550
- let namespace = arr.join('.');
551
- if (
552
- !['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace)
553
- && !namespace.includes('.authLogicsForCallInterface')
554
- ) {
555
- namespace = `${namespace}.authLogicsForCallInterface`;
556
- }
557
- return namespace;
558
- } else
559
- throw new Error('无法获取命名空间,请设置 parentNode!');
506
+ code += '\n';
507
+ return code;
508
+ }
509
+
510
+ public static getDefaultOptions() {
511
+ return {
512
+ body: [
513
+ {
514
+ concept: 'Start',
515
+ label: '开始',
516
+ kind: 'Statement',
517
+ type: 'Start',
518
+ },
519
+ {
520
+ concept: 'End',
521
+ label: '结束',
522
+ kind: 'Statement',
523
+ type: 'End',
524
+ },
525
+ ],
526
+ params: [
527
+ {
528
+ concept: 'Param', // 产品概念
529
+ name: 'request', // 输入参数名称
530
+ description: '请求信息,系统自动注入,包含 method、url、header、cookie、body等', // 输入参数描述
531
+ typeAnnotation: {
532
+ concept: 'TypeAnnotation',
533
+ typeKind: 'generic',
534
+ typeNamespace: 'nasl.http',
535
+ typeName: 'HttpRequest',
536
+ typeArguments: [
537
+ {
538
+ concept: 'TypeAnnotation',
539
+ typeKind: 'primitive',
540
+ typeNamespace: 'nasl.core',
541
+ typeName: 'String',
542
+ },
543
+ ],
544
+ }, // 类型
545
+ required: false, // 是否必填
546
+ },
547
+ ],
548
+ returns: [] as Array<any>,
549
+ };
550
+ }
551
+
552
+ /**
553
+ * 生成宿主语言的文件路径
554
+ * @param name 一般不用传,用于 rename
555
+ */
556
+ getEmbeddedFilePath(name = this.name) {
557
+ const _path = this.module ? `/${this.module.parentKey}/${this.module.name}` : '';
558
+ return `/embedded/${this.app.name}${_path}/authLogicsForCallInterface/${name}.ts`;
559
+ }
560
+
561
+ getTsNamespace(): string {
562
+ if (this.parentNode) {
563
+ const parentNamespace = (this.parentNode as any)?.getTsNamespace();
564
+ const parentName = this.parentNode.tsName || this.parentNode.name;
565
+ const arr = [parentNamespace];
566
+ if (this.parentNode.concept !== 'App' && parentName) {
567
+ arr.push(parentName);
568
+ }
569
+ let namespace = arr.join('.');
570
+ if (
571
+ ![
572
+ 'nasl.ui',
573
+ 'nasl.utils',
574
+ 'nasl.util',
575
+ 'nasl.browser',
576
+ 'nasl.auth',
577
+ 'nasl.configuration',
578
+ 'nasl.process',
579
+ 'nasl.logging',
580
+ 'nasl.io',
581
+ ].includes(namespace) &&
582
+ !namespace.includes('.authLogicsForCallInterface')
583
+ ) {
584
+ namespace = `${namespace}.authLogicsForCallInterface`;
585
+ }
586
+ return namespace;
560
587
  }
588
+ throw new Error('无法获取命名空间,请设置 parentNode!');
589
+ }
561
590
 
562
- //================================================================================
563
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
564
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
565
- //================================================================================
591
+ //= ===============================================================================
592
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
593
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
594
+ //= ===============================================================================
566
595
  }
567
596
 
568
597
  classMap.AuthLogicForCallInterface = AuthLogicForCallInterface;
569
598
  export default AuthLogicForCallInterface;
570
- //================================================================================
599
+ //= ===============================================================================
571
600
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
572
601
  // 自动生成的代码已结束。下面可以手动编写。
573
- //================================================================================
602
+ //= ===============================================================================