@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,18 +1,18 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import View from './View__';
2
3
  import { getNodeByNodeCallee } from '../automate/engine/utils';
3
4
  import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
4
5
  import { ElementToVueOptions } from './ViewElement__';
5
6
  import { BindAttribute, Param } from '..';
6
7
 
7
- //================================================================================
8
+ //= ===============================================================================
8
9
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
9
10
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
10
- //================================================================================
11
+ //= ===============================================================================
11
12
  import { EventPayload, Params } from '../common/EventEmitter';
12
13
  import { concept, excludedInJSON, property } from '../decorators';
13
14
 
14
15
  import * as utils from '../utils';
15
- import { v4 as uuidv4 } from 'uuid';
16
16
  import BaseNode from '../common/BaseNode';
17
17
  import classMap from '../common/classMap';
18
18
  import Argument from './Argument__';
@@ -24,794 +24,856 @@ import LogicItem from './LogicItem__';
24
24
  */
25
25
  @concept('跳转页面')
26
26
  export class Destination extends LogicItem {
27
- /**
28
- * 产品概念
29
- */
30
- @property()
31
- concept: 'Destination' = 'Destination';
32
-
33
- /**
34
- * 跳转页面标题
35
- */
36
- @property()
37
- label: string = '跳转页面';
38
-
39
- /**
40
- * viewNamespace
41
- */
42
- @property()
43
- viewNamespace: string = undefined;
44
-
45
- /**
46
- * viewName
47
- */
48
- @property()
49
- viewName: string = undefined;
50
-
51
- /**
52
- * 实际参数
53
- */
54
- @property('Argument')
55
- arguments: Array<Argument> = [];
56
-
57
- /**
58
- * 锚点参数
59
- */
60
- @property('Anchor')
61
- anchor: Anchor = undefined;
62
-
63
- /**
64
- * target
65
- */
66
- @property()
67
- target: string = '_self';
68
-
69
-
70
-
71
- /**
72
- * @param source 需要合并的部分参数
73
- */
74
- constructor(source?: Partial<Destination>) {
75
- source = Object.assign({}, Destination.getDefaultOptions(), source);
76
- super(source);
77
- super.subConstructor(source);
78
- }
79
- getClassName() {
80
- return 'Destination';
81
- }
82
-
83
- static from(source: any, parentNode?: any, parentKey?: string): Destination {
84
- return super.from(source, parentNode, parentKey) as Destination;
85
- }
86
-
87
-
88
- /**
89
- * 设置viewNamespace
90
- */
91
- setViewNamespace(viewNamespace: string) {
92
- const object = {
93
- viewNamespace,
94
- };
95
- this.update({
96
- ...object,
97
- });
98
- }
99
-
100
- /**
101
- * 设置viewName
102
- */
103
- setViewName(viewName: string) {
104
- const object = {
105
- viewName,
106
- };
107
- this.update({
108
- ...object,
109
- });
110
- }
111
-
112
- /**
113
- * 设置锚点参数
114
- */
115
- setAnchor(anchor: Anchor) {
116
- anchor._delete();
117
- const relationOptions = { parentNode: this, parentKey: 'anchor' };
118
- Object.assign(anchor, relationOptions);
119
- const object = {
120
- anchor,
121
- };
122
- this.update({
123
- ...object,
124
- });
125
- }
126
-
127
- /**
128
- * 设置target
129
- */
130
- setTarget(target: string) {
131
- const object = {
132
- target,
133
- };
134
- this.update({
135
- ...object,
136
- });
137
- }
138
-
139
-
140
-
141
-
142
-
143
- /**
144
- * 插入实际参数
145
- * @internal
146
- * @param argumentOptions 实际参数参数
147
- */
148
- _insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
149
-
150
- /**
151
- * 插入实际参数
152
- * @internal
153
- * @param argument 已有的实际参数实例
154
- */
155
- _insertArgumentAt(argument: Argument, index: number): Argument;
156
-
157
- _insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
158
- const argumentOptions: any = {};
159
- const relationOptions = { parentNode: this, parentKey: 'arguments' };
160
- let argument: Argument;
161
- if (options instanceof Argument) {
162
- options.ensureDelete(); // 同一实例不支持多处存在
163
- argument = options;
164
- Object.assign(argument, relationOptions);
165
- } else {
166
- argument = Argument.from({
167
- ...argumentOptions,
168
- ...options,
169
- }, this, 'arguments');
170
- }
171
- this.arguments.splice(index, 0, argument);
172
- return argument;
173
- }
174
-
175
-
176
-
177
- /**
178
- * 插入实际参数
179
- * @param argumentOptions 实际参数参数
180
- */
181
- insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
182
-
183
- /**
184
- * 插入实际参数
185
- * @param argument 已有的实际参数实例
186
- */
187
- insertArgumentAt(argument: Argument, index: number): Argument;
188
-
189
- insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
190
- const node = this._insertArgumentAt(options as any, index);
191
- node.create({
192
- index,
193
- parentNode: this,
194
- parentKey: 'arguments',
195
- });
196
- return node;
197
- }
198
-
199
-
200
-
201
- /**
202
- * 添加实际参数
203
- * @internal
204
- * @param argumentOptions 实际参数参数
205
- */
206
- _addArgument(argumentOptions: Partial<Argument>): Argument;
207
-
208
- /**
209
- * 添加实际参数
210
- * @internal
211
- * @param argument 已有的实际参数实例
212
- */
213
- _addArgument(argument: Argument): Argument;
214
-
215
- _addArgument(options?: Partial<Argument> | Argument) {
216
- const index = this.arguments.length;
217
- return this._insertArgumentAt(options as any, index);
218
- }
219
-
220
-
221
-
222
- /**
223
- * 添加实际参数
224
- * @param argumentOptions 实际参数参数
225
- */
226
- addArgument(argumentOptions: Partial<Argument>): Argument;
227
-
228
- /**
229
- * 添加实际参数
230
- * @param argument 已有的实际参数实例
231
- */
232
- addArgument(argument: Argument): Argument;
233
-
234
- addArgument(options?: Partial<Argument> | Argument) {
235
- const node = this._addArgument(options as any);
236
- const index = this.arguments.indexOf(node);
237
- node.create({
238
- index,
239
- parentNode: this,
240
- parentKey: 'arguments',
241
- });
242
- return node;
243
- }
244
-
245
-
246
-
247
-
248
- /**
249
- * 删除实际参数
250
- * @param argument 已有的实际参数实例
251
- */
252
- removeArgumentInArguments(argument: Argument): void;
253
-
254
- removeArgumentInArguments(options: Argument) {
255
- let argument: Argument = options;
256
- return argument.delete();
257
- }
258
-
259
-
260
-
261
- /**
262
- * 删除锚点参数
263
- * @param name 锚点参数名称
264
- */
265
- removeAnchor(name: string): void;
266
-
267
- /**
268
- * 删除锚点参数
269
- * @param anchor 已有的锚点参数实例
270
- */
271
- removeAnchor(anchor: Anchor): void;
272
-
273
- removeAnchor(options: string | Anchor) {
274
- let anchor: Anchor;
275
- if (typeof options === 'string') {
276
- anchor = this.anchor;
277
- if (!anchor) {
278
- throw new Error('找不到锚点参数 ' + options);
279
- }
280
- } else {
281
- anchor = options;
282
- }
283
- return anchor.delete();
284
- }
285
-
286
- __removeLogicItem(logicItem: LogicItem) {
287
- const parentKey = logicItem.parentKey;
288
- const params: Params = {
289
- parentNode: this,
290
- parentKey,
291
- index: -1,
292
- object: null,
293
- oldObject: logicItem,
294
- };
295
- if (parentKey) {
296
- params.parentKey = parentKey;
297
- if (Array.isArray((this as any)[parentKey])) {
298
- const index = (this as any)[parentKey].indexOf(logicItem);
299
- ~index && (this as any)[parentKey].splice(index, 1);
300
- params.index = index;
301
- } else if ((this as any)[parentKey] === logicItem) {
302
- params.index = 0;
303
- (this as any)[parentKey] = undefined;
304
- }
305
- }
306
- return params;
307
- }
308
-
309
- //================================================================================
310
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
311
- // 自动生成的代码已结束。下面可以手动编写。
312
- //================================================================================
313
-
314
- get tsCalleeNamespace() {
315
- if (this.viewNamespace) {
316
- let tsCalleeNamespace = this.viewNamespace;
317
- tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
318
- tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
319
- return tsCalleeNamespace;
27
+ /**
28
+ * 产品概念
29
+ */
30
+ @property()
31
+ concept: 'Destination' = 'Destination';
32
+
33
+ /**
34
+ * 跳转页面标题
35
+ */
36
+ @property()
37
+ label: string = '跳转页面';
38
+
39
+ /**
40
+ * viewNamespace
41
+ */
42
+ @property()
43
+ viewNamespace: string = undefined;
44
+
45
+ /**
46
+ * viewName
47
+ */
48
+ @property()
49
+ viewName: string = undefined;
50
+
51
+ /**
52
+ * 实际参数
53
+ */
54
+ @property('Argument')
55
+ arguments: Array<Argument> = [];
56
+
57
+ /**
58
+ * 锚点参数
59
+ */
60
+ @property('Anchor')
61
+ anchor: Anchor = undefined;
62
+
63
+ /**
64
+ * target
65
+ */
66
+ @property()
67
+ target: string = '_self';
68
+
69
+ /**
70
+ * @param source 需要合并的部分参数
71
+ */
72
+ constructor(source?: Partial<Destination>) {
73
+ // @ts-ignore
74
+ source = { ...Destination.getDefaultOptions(), ...source };
75
+ super(source);
76
+ super.subConstructor(source);
77
+ }
78
+
79
+ getClassName() {
80
+ return 'Destination';
81
+ }
82
+
83
+ static from(source: any, parentNode?: any, parentKey?: string): Destination {
84
+ return super.from(source, parentNode, parentKey) as Destination;
85
+ }
86
+
87
+ /**
88
+ * 设置viewNamespace
89
+ */
90
+ setViewNamespace(viewNamespace: string) {
91
+ const object = {
92
+ viewNamespace,
93
+ };
94
+ this.update({
95
+ ...object,
96
+ });
97
+ }
98
+
99
+ /**
100
+ * 设置viewName
101
+ */
102
+ setViewName(viewName: string) {
103
+ const object = {
104
+ viewName,
105
+ };
106
+ this.update({
107
+ ...object,
108
+ });
109
+ }
110
+
111
+ /**
112
+ * 设置锚点参数
113
+ */
114
+ setAnchor(anchor: Anchor) {
115
+ anchor._delete();
116
+ const relationOptions = { parentNode: this, parentKey: 'anchor' };
117
+ Object.assign(anchor, relationOptions);
118
+ const object = {
119
+ anchor,
120
+ };
121
+ this.update({
122
+ ...object,
123
+ });
124
+ }
125
+
126
+ /**
127
+ * 设置target
128
+ */
129
+ setTarget(target: string) {
130
+ const object = {
131
+ target,
132
+ };
133
+ this.update({
134
+ ...object,
135
+ });
136
+ }
137
+
138
+ /**
139
+ * 插入实际参数
140
+ * @internal
141
+ * @param argumentOptions 实际参数参数
142
+ */
143
+ _insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
144
+
145
+ /**
146
+ * 插入实际参数
147
+ * @internal
148
+ * @param argument 已有的实际参数实例
149
+ */
150
+ _insertArgumentAt(argument: Argument, index: number): Argument;
151
+
152
+ _insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
153
+ const argumentOptions: any = {};
154
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
155
+ let argument: Argument;
156
+ if (options instanceof Argument) {
157
+ options.ensureDelete(); // 同一实例不支持多处存在
158
+ argument = options;
159
+ Object.assign(argument, relationOptions);
160
+ } else {
161
+ argument = Argument.from(
162
+ {
163
+ ...argumentOptions,
164
+ ...options,
165
+ },
166
+ this,
167
+ 'arguments'
168
+ );
169
+ }
170
+ this.arguments.splice(index, 0, argument);
171
+ return argument;
172
+ }
173
+
174
+ /**
175
+ * 插入实际参数
176
+ * @param argumentOptions 实际参数参数
177
+ */
178
+ insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
179
+
180
+ /**
181
+ * 插入实际参数
182
+ * @param argument 已有的实际参数实例
183
+ */
184
+ insertArgumentAt(argument: Argument, index: number): Argument;
185
+
186
+ insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
187
+ const node = this._insertArgumentAt(options as any, index);
188
+ node.create({
189
+ index,
190
+ parentNode: this,
191
+ parentKey: 'arguments',
192
+ });
193
+ return node;
194
+ }
195
+
196
+ /**
197
+ * 添加实际参数
198
+ * @internal
199
+ * @param argumentOptions 实际参数参数
200
+ */
201
+ _addArgument(argumentOptions: Partial<Argument>): Argument;
202
+
203
+ /**
204
+ * 添加实际参数
205
+ * @internal
206
+ * @param argument 已有的实际参数实例
207
+ */
208
+ _addArgument(argument: Argument): Argument;
209
+
210
+ _addArgument(options?: Partial<Argument> | Argument) {
211
+ const index = this.arguments.length;
212
+ return this._insertArgumentAt(options as any, index);
213
+ }
214
+
215
+ /**
216
+ * 添加实际参数
217
+ * @param argumentOptions 实际参数参数
218
+ */
219
+ addArgument(argumentOptions: Partial<Argument>): Argument;
220
+
221
+ /**
222
+ * 添加实际参数
223
+ * @param argument 已有的实际参数实例
224
+ */
225
+ addArgument(argument: Argument): Argument;
226
+
227
+ addArgument(options?: Partial<Argument> | Argument) {
228
+ const node = this._addArgument(options as any);
229
+ const index = this.arguments.indexOf(node);
230
+ node.create({
231
+ index,
232
+ parentNode: this,
233
+ parentKey: 'arguments',
234
+ });
235
+ return node;
236
+ }
237
+
238
+ /**
239
+ * 删除实际参数
240
+ * @param argument 已有的实际参数实例
241
+ */
242
+ removeArgumentInArguments(argument: Argument): void;
243
+
244
+ removeArgumentInArguments(options: Argument) {
245
+ const argument: Argument = options;
246
+ return argument.delete();
247
+ }
248
+
249
+ /**
250
+ * 删除锚点参数
251
+ * @param name 锚点参数名称
252
+ */
253
+ removeAnchor(name: string): void;
254
+
255
+ /**
256
+ * 删除锚点参数
257
+ * @param anchor 已有的锚点参数实例
258
+ */
259
+ removeAnchor(anchor: Anchor): void;
260
+
261
+ removeAnchor(options: string | Anchor) {
262
+ let anchor: Anchor;
263
+ if (typeof options === 'string') {
264
+ anchor = this.anchor;
265
+ if (!anchor) {
266
+ throw new Error(`找不到锚点参数 ${options}`);
267
+ }
268
+ } else {
269
+ anchor = options;
270
+ }
271
+ return anchor.delete();
272
+ }
273
+
274
+ __removeLogicItem(logicItem: LogicItem) {
275
+ const { parentKey } = logicItem;
276
+ const params: Params = {
277
+ parentNode: this,
278
+ parentKey,
279
+ index: -1,
280
+ object: null,
281
+ oldObject: logicItem,
282
+ };
283
+ if (parentKey) {
284
+ params.parentKey = parentKey;
285
+ if (Array.isArray((this as any)[parentKey])) {
286
+ const index = (this as any)[parentKey].indexOf(logicItem);
287
+ ~index && (this as any)[parentKey].splice(index, 1);
288
+ params.index = index;
289
+ } else if ((this as any)[parentKey] === logicItem) {
290
+ params.index = 0;
291
+ (this as any)[parentKey] = undefined;
292
+ }
293
+ }
294
+ return params;
295
+ }
296
+
297
+ //= ===============================================================================
298
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
299
+ // 自动生成的代码已结束。下面可以手动编写。
300
+ //= ===============================================================================
301
+
302
+ get tsCalleeNamespace() {
303
+ if (this.viewNamespace) {
304
+ let tsCalleeNamespace = this.viewNamespace;
305
+ tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
306
+ tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
307
+ return tsCalleeNamespace;
308
+ }
309
+ return '';
310
+ }
311
+
312
+ get tsName() {
313
+ if (this.viewName) {
314
+ let tsName = this.viewName;
315
+ // 匹配所有特殊字符都转为_
316
+ tsName = tsName.replace(/\W/g, '_');
317
+ if (/^\d/.test(tsName)) {
318
+ tsName = `$${tsName}`;
319
+ }
320
+ return tsName;
321
+ }
322
+ return '';
323
+ }
324
+
325
+ genViewArr() {
326
+ const viewArr =
327
+ this.viewNamespace
328
+ ?.split('.')
329
+ .splice(1)
330
+ .filter((item, index) => index % 2 === 1) || [];
331
+ if (this.viewName) {
332
+ viewArr.push(this.viewName);
333
+ }
334
+ // 第一个是端名,需要去掉
335
+ viewArr.shift();
336
+ return viewArr;
337
+ }
338
+
339
+ toInViewMethod() {
340
+ let code = '';
341
+ const viewArr = this.genViewArr();
342
+ if (Array.isArray(viewArr) && viewArr.length) {
343
+ code += `let url = '${this.viewNode.frontend.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}';\n`;
344
+ const { completeArguments } = this;
345
+ if (Array.isArray(completeArguments) && completeArguments.length) {
346
+ const node = this.viewNode;
347
+ let logicParam: Param[] = [];
348
+ if (node?.params) {
349
+ logicParam = node.params;
320
350
  }
321
- return '';
322
- }
323
-
324
- get tsName() {
325
- if (this.viewName) {
326
- let tsName = this.viewName;
327
- // 匹配所有特殊字符都转为_
328
- tsName = tsName.replace(/\W/g, '_');
329
- if (/^\d/.test(tsName)) {
330
- tsName = '$' + tsName;
351
+ const logicParamLen = logicParam.length;
352
+ const paramAssigns: string[] = [];
353
+ const args: string[] = [];
354
+ completeArguments.forEach((arg, index) => {
355
+ const value = arg?.toJS();
356
+ if (value && index < logicParamLen) {
357
+ let paramAssign = `const ${arg.keyword} = `;
358
+ if (value === 'undefined') {
359
+ paramAssign += `null`;
360
+ } else {
361
+ paramAssign += value;
331
362
  }
332
- return tsName;
333
- }
334
- return '';
335
- }
336
- genViewArr() {
337
- const viewArr
338
- = this.viewNamespace
339
- ?.split('.')
340
- .splice(1)
341
- .filter((item, index) => index % 2 === 1) || [];
342
- if (this.viewName) {
343
- viewArr.push(this.viewName);
363
+ paramAssign += '\n;';
364
+ paramAssigns.push(paramAssign);
365
+ const constStr = `\${${arg.keyword}}`;
366
+ args.push(`${arg.keyword}=${constStr}`);
367
+ }
368
+ });
369
+ code += `${paramAssigns.join(';\n')}\n`;
370
+ code += 'const params = `';
371
+ code += args.join('&');
372
+ code += '`;\n';
373
+ code += 'if (params) {\nurl += `?${params}`;\n}\n';
374
+ }
375
+ if (this.anchor) {
376
+ const anchorCode = this.anchor.toJS();
377
+ if (anchorCode) {
378
+ code += `const anchor = ${anchorCode};\n`;
379
+ code += 'if (anchor) {\nurl += `#${anchor}`;\n}\n';
344
380
  }
345
- // 第一个是端名,需要去掉
346
- viewArr.shift();
347
- return viewArr;
381
+ }
382
+ code += 'return url;';
348
383
  }
349
-
350
- toInViewMethod() {
351
- let code = '';
352
- const viewArr = this.genViewArr();
353
- if (Array.isArray(viewArr) && viewArr.length) {
354
- code += `let url = '${this.viewNode.frontend.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}';\n`;
355
- const completeArguments = this.completeArguments;
356
- if (Array.isArray(completeArguments) && completeArguments.length) {
357
- const node = this.viewNode;
358
- let logicParam: Param[] = [];
359
- if (node?.params) {
360
- logicParam = node.params;
361
- }
362
- const logicParamLen = logicParam.length;
363
- const paramAssigns: string[] = [];
364
- const args: string[] = [];
365
- completeArguments.forEach((arg, index) => {
366
- const value = arg?.toJS();
367
- if (value && index < logicParamLen) {
368
- let paramAssign = `const ${arg.keyword} = `;
369
- if (value === 'undefined') {
370
- paramAssign += `null`;
371
- } else {
372
- paramAssign += value;
373
- }
374
- paramAssign += '\n;';
375
- paramAssigns.push(paramAssign);
376
- const constStr = '${' + arg.keyword + '}';
377
- args.push(`${arg.keyword}=${constStr}`);
378
- }
379
- });
380
- code += `${paramAssigns.join(';\n')}\n`;
381
- code += 'const params = `';
382
- code += args.join('&');
383
- code += '`;\n';
384
- code += 'if (params) {\nurl += `?${params}`;\n}\n';
385
- }
386
- if (this.anchor) {
387
- const anchorCode = this.anchor.toJS();
388
- if (anchorCode) {
389
- code += `const anchor = ${anchorCode};\n`;
390
- code += 'if (anchor) {\nurl += `#${anchor}`;\n}\n';
391
- }
392
- }
393
- code += 'return url;';
394
- }
395
- return `await (async () => {
384
+ return `await (async () => {
396
385
  try {
397
386
  ${code};
398
387
  } catch(err) {
399
388
  console.log(err);
400
389
  }
401
390
  })();`;
402
- }
403
-
404
- toVue(options?: ElementToVueOptions) {
405
- let url = '`';
406
- const viewArr = this.genViewArr();
407
- if (Array.isArray(viewArr) && viewArr.length) {
408
- url += `${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}`;
409
- const completeArguments = this.completeArguments;
410
- if (completeArguments.length) {
411
- const node = this.viewNode;
412
- let logicParam: Param[] = [];
413
- if (node?.params) {
414
- logicParam = node.params;
415
- }
416
- const logicParamLength = logicParam.length;
417
- const args = completeArguments.map((arg, index) => {
418
- const value = arg?.toVue();
419
- let argStr = '';
420
- if (value && index < logicParamLength) {
421
- argStr += `${arg.keyword}=` + '${';
422
- if (value === 'undefined') {
423
- argStr += `null`;
424
- } else {
425
- argStr += value;
426
- }
427
- argStr += '}';
428
- }
429
- return argStr;
430
- }).filter((arg) => !!arg);
431
- url += `?${args.join('&')}`;
432
- }
433
- if (this.anchor) {
434
- const anchor = this.anchor.toVue();
435
- if (anchor)
436
- url += `#\${${anchor}}`;
437
- }
391
+ }
392
+
393
+ toVue(options?: ElementToVueOptions) {
394
+ let url = '`';
395
+ const viewArr = this.genViewArr();
396
+ if (Array.isArray(viewArr) && viewArr.length) {
397
+ url += `${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}`;
398
+ const { completeArguments } = this;
399
+ if (completeArguments.length) {
400
+ const node = this.viewNode;
401
+ let logicParam: Param[] = [];
402
+ if (node?.params) {
403
+ logicParam = node.params;
438
404
  }
439
- url += '`';
440
- return url;
441
- }
442
-
443
- toUI(): string {
444
- let url = '';
445
- const viewArr = this.genViewArr();
446
- if (Array.isArray(viewArr) && viewArr.length) {
447
- url += '`';
448
- // IDE内展示需要屏蔽掉“系统统一路径前缀”
449
- url += `${this.viewNode?.frontend?.basePath ? this.viewNode.frontend.basePath : ''}/${viewArr.join('/')}`;
450
- const completeArguments = this.completeArguments;
451
- if (completeArguments.length) {
452
- const node = this.viewNode;
453
- let logicParam: Param[] = [];
454
- if (node?.params) {
455
- logicParam = node.params;
456
- }
457
- const logicParamLength = logicParam.length;
458
- const args = completeArguments.map((arg, index) => {
459
- const value = arg?.toUI();
460
- let argStr = '';
461
- if (value && index < logicParamLength) {
462
- argStr += `${arg.keyword}=` + '${';
463
- if (value === 'undefined') {
464
- argStr += 'null';
465
- } else {
466
- argStr += value;
467
- }
468
- argStr += '}';
469
- }
470
- return argStr;
471
- }).filter((arg) => !!arg);
472
- url += `?${args.join('&')}`;
473
- }
474
- if (this.anchor) {
475
- const anchor = this.anchor.toUI();
476
- if (anchor)
477
- url += `#\${${anchor}}`;
405
+ const logicParamLength = logicParam.length;
406
+ const args = completeArguments
407
+ .map((arg, index) => {
408
+ const value = arg?.toVue();
409
+ let argStr = '';
410
+ if (value && index < logicParamLength) {
411
+ argStr += `${arg.keyword}=` + '${';
412
+ if (value === 'undefined') {
413
+ argStr += `null`;
414
+ } else {
415
+ argStr += value;
416
+ }
417
+ argStr += '}';
478
418
  }
479
- url += '`';
419
+ return argStr;
420
+ })
421
+ .filter((arg) => !!arg);
422
+ url += `?${args.join('&')}`;
423
+ }
424
+ if (this.anchor) {
425
+ const anchor = this.anchor.toVue();
426
+ if (anchor) url += `#\${${anchor}}`;
427
+ }
428
+ }
429
+ url += '`';
430
+ return url;
431
+ }
432
+
433
+ toUI(): string {
434
+ let url = '';
435
+ const viewArr = this.genViewArr();
436
+ if (Array.isArray(viewArr) && viewArr.length) {
437
+ url += '`';
438
+ // IDE内展示需要屏蔽掉“系统统一路径前缀”
439
+ url += `${this.viewNode?.frontend?.basePath ? this.viewNode.frontend.basePath : ''}/${viewArr.join('/')}`;
440
+ const { completeArguments } = this;
441
+ if (completeArguments.length) {
442
+ const node = this.viewNode;
443
+ let logicParam: Param[] = [];
444
+ if (node?.params) {
445
+ logicParam = node.params;
480
446
  }
481
- return url;
482
- }
483
-
484
- toJS(): string {
485
- let url = '';
486
- const viewArr = this.genViewArr();
487
- if (Array.isArray(viewArr) && viewArr.length) {
488
- url += 'this.$destination(`';
489
- url += `${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}`;
490
- const completeArguments = this.completeArguments;
491
-
492
- if (completeArguments.length) {
493
- const node = this.viewNode;
494
- let logicParam: Param[] = [];
495
- if (node?.params) {
496
- logicParam = node.params;
497
- }
498
- const logicParamLength = logicParam.length;
499
- const args = completeArguments.map((arg, index) => {
500
- const value = arg?.toJS();
501
- let argStr = '';
502
- if (value && index < logicParamLength) {
503
- argStr += `${arg.keyword}=` + '${';
504
- if (value === 'undefined') {
505
- argStr += 'null';
506
- } else {
507
- argStr += value;
508
- }
509
- argStr += '}';
510
- }
511
- return argStr;
512
- }).filter((arg) => !!arg);
513
- url += `?${args.join('&')}`;
514
- }
515
- if (this.anchor) {
516
- const anchor = this.anchor.toJS();
517
- if (anchor)
518
- url += `#\${${anchor}}`;
447
+ const logicParamLength = logicParam.length;
448
+ const args = completeArguments
449
+ .map((arg, index) => {
450
+ const value = arg?.toUI();
451
+ let argStr = '';
452
+ if (value && index < logicParamLength) {
453
+ argStr += `${arg.keyword}=` + '${';
454
+ if (value === 'undefined') {
455
+ argStr += 'null';
456
+ } else {
457
+ argStr += value;
458
+ }
459
+ argStr += '}';
519
460
  }
520
- url += '`,"';
521
- url += `${this.target}`;
522
- url += '")';
461
+ return argStr;
462
+ })
463
+ .filter((arg) => !!arg);
464
+ url += `?${args.join('&')}`;
465
+ }
466
+ if (this.anchor) {
467
+ const anchor = this.anchor.toUI();
468
+ if (anchor) url += `#\${${anchor}}`;
469
+ }
470
+ url += '`';
471
+ }
472
+ return url;
473
+ }
474
+
475
+ toJS(): string {
476
+ let url = '';
477
+ const viewArr = this.genViewArr();
478
+ if (Array.isArray(viewArr) && viewArr.length) {
479
+ url += 'this.$destination(`';
480
+ url += `${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}`;
481
+ const { completeArguments } = this;
482
+
483
+ if (completeArguments.length) {
484
+ const node = this.viewNode;
485
+ let logicParam: Param[] = [];
486
+ if (node?.params) {
487
+ logicParam = node.params;
523
488
  }
524
- return url;
525
- }
526
-
527
- public static getDefaultOptions(): any {
528
- return {
529
- anchor: {
530
- concept: 'Anchor',
531
- },
532
- };
533
- }
534
-
489
+ const logicParamLength = logicParam.length;
490
+ const args = completeArguments
491
+ .map((arg, index) => {
492
+ const value = arg?.toJS();
493
+ let argStr = '';
494
+ if (value && index < logicParamLength) {
495
+ argStr += `${arg.keyword}=` + '${';
496
+ if (value === 'undefined') {
497
+ argStr += 'null';
498
+ } else {
499
+ argStr += value;
500
+ }
501
+ argStr += '}';
502
+ }
503
+ return argStr;
504
+ })
505
+ .filter((arg) => !!arg);
506
+ url += `?${args.join('&')}`;
507
+ }
508
+ if (this.anchor) {
509
+ const anchor = this.anchor.toJS();
510
+ if (anchor) url += `#\${${anchor}}`;
511
+ }
512
+ url += '`,"';
513
+ url += `${this.target}`;
514
+ url += '")';
515
+ }
516
+ return url;
517
+ }
518
+
519
+ public static getDefaultOptions(): any {
520
+ return {
521
+ anchor: {
522
+ concept: 'Anchor',
523
+ },
524
+ };
525
+ }
526
+
527
+ /**
528
+ * 设置view
529
+ */
530
+ setView(view: View) {
531
+ const object = {
532
+ viewNamespace: view.getNamespace(),
533
+ viewName: view.name,
534
+ };
535
+ const params = view.params.map((param) => {
536
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
537
+ const argument = Argument.from(
538
+ {
539
+ keyword: param.name,
540
+ },
541
+ this
542
+ );
543
+ Object.assign(argument, relationOptions);
544
+ return argument;
545
+ });
546
+ this.update({
547
+ ...object,
548
+ arguments: params,
549
+ folded: false,
550
+ });
551
+ }
552
+
553
+ /**
554
+ * 设置view的argument
555
+ */
556
+ addCalleeArg(view: View) {
557
+ const newArgs = this.arguments.map((argument) =>
558
+ Argument.from(
559
+ {
560
+ ...argument,
561
+ },
562
+ this
563
+ )
564
+ );
565
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
535
566
  /**
536
- * 设置view
567
+ * 当前两个参数对应上,添加的时候,view会比参数位内容多,就添加一个 argment
537
568
  */
538
- setView(view: View) {
539
- const object = {
540
- viewNamespace: view.getNamespace(),
541
- viewName: view.name,
542
- };
543
- const params = view.params.map((param) => {
544
- const relationOptions = { parentNode: this, parentKey: 'arguments' };
545
- const argument = Argument.from({
546
- keyword: param.name,
547
- }, this);
548
- Object.assign(argument, relationOptions);
549
- return argument;
550
- });
551
- this.update({
552
- ...object,
553
- arguments: params,
554
- folded: false,
555
- });
569
+ if (view.params.length >= newArgs.length) {
570
+ view.params.forEach((param: Param, index: number) => {
571
+ const arg = newArgs[index];
572
+ if (!arg) {
573
+ const newParam = Argument.from(
574
+ {
575
+ keyword: param.name,
576
+ },
577
+ this
578
+ );
579
+ Object.assign(newParam, relationOptions);
580
+ newArgs.push(newParam);
581
+ } else {
582
+ arg.keyword = param.name;
583
+ }
584
+ });
585
+ } else {
586
+ /**
587
+ * 当前callview上数量比view参数还多,他就需要找一个arg使他变成可用的参数
588
+ */
589
+ newArgs.forEach((arg: Argument, index: number) => {
590
+ const param = view.params[index];
591
+ if (param) {
592
+ arg.keyword = param.name;
593
+ }
594
+ });
556
595
  }
596
+ this.update({
597
+ arguments: newArgs,
598
+ });
599
+ }
557
600
 
601
+ deleteCalleeArg(argIndex: number) {
558
602
  /**
559
- * 设置view的argument
603
+ * 传递过下标来,然后直接移动到最后结束
604
+ * 如果原来就是最后一个位置就不移动了
560
605
  */
561
- addCalleeArg(view: View) {
562
- const newArgs = this.arguments.map((argument) =>
563
- Argument.from({
564
- ...argument,
565
- }, this));
566
- const relationOptions = { parentNode: this, parentKey: 'arguments' };
567
- /**
568
- * 当前两个参数对应上,添加的时候,view会比参数位内容多,就添加一个 argment
569
- */
570
- if (view.params.length >= newArgs.length) {
571
- view.params.forEach((param: Param, index: number) => {
572
- const arg = newArgs[index];
573
- if (!arg) {
574
- const newParam = Argument.from({
575
- keyword: param.name,
576
- }, this);
577
- Object.assign(newParam, relationOptions);
578
- newArgs.push(newParam);
579
- } else {
580
- arg.keyword = param.name;
581
- }
582
- });
583
- } else {
584
- /**
585
- * 当前callview上数量比view参数还多,他就需要找一个arg使他变成可用的参数
586
- */
587
- newArgs.forEach((arg: Argument, index: number) => {
588
- const param = view.params[index];
589
- if (param) {
590
- arg.keyword = param.name;
591
- }
592
- });
593
- }
594
- this.update({
595
- arguments: newArgs,
606
+ if (typeof argIndex === 'number') {
607
+ if (!this.arguments[argIndex]?.expression) {
608
+ return this.arguments[argIndex]?.delete();
609
+ }
610
+ if (argIndex !== this.arguments.length - 1) {
611
+ // 如果本身没有值就直接删除
612
+ this.arguments[argIndex]?.moveNode({
613
+ sourceNode: this.arguments[this.arguments.length - 1],
614
+ position: 'insertAfter',
596
615
  });
597
- }
598
-
599
- deleteCalleeArg(argIndex: number) {
600
- /**
601
- * 传递过下标来,然后直接移动到最后结束
602
- * 如果原来就是最后一个位置就不移动了
603
- */
604
- if (typeof argIndex === 'number') {
605
- if (!this.arguments[argIndex]?.expression) {
606
- return this.arguments[argIndex]?.delete();
607
- }
608
- if (argIndex !== this.arguments.length - 1) {
609
- // 如果本身没有值就直接删除
610
- this.arguments[argIndex]?.moveNode({
611
- sourceNode: this.arguments[this.arguments.length - 1],
612
- position: 'insertAfter',
613
- });
614
- }
616
+ }
617
+ }
618
+ }
619
+
620
+ /**
621
+ * 设置Arguments的KeyWord
622
+ */
623
+ setArgumentsKeyWord(options: { findArgument: Argument; newKeyword: string }) {
624
+ const { findArgument, newKeyword } = options;
625
+ findArgument.setKeyword(newKeyword);
626
+ }
627
+
628
+ get viewUIPath() {
629
+ if (!this.viewNamespace) {
630
+ return '';
631
+ }
632
+ const namespaceAttr = this.viewNamespace.split('.');
633
+ namespaceAttr.push(this.viewName);
634
+ const viewNameAttr: string[] = [];
635
+ if (Array.isArray(namespaceAttr)) {
636
+ namespaceAttr.forEach((item, index) => {
637
+ if (item === 'views') {
638
+ viewNameAttr.push(namespaceAttr[index + 1]);
615
639
  }
640
+ });
616
641
  }
617
- /**
618
- * 设置Arguments的KeyWord
619
- */
620
- setArgumentsKeyWord(options: { findArgument: Argument; newKeyword: string }) {
621
- const { findArgument, newKeyword } = options;
622
- findArgument.setKeyword(newKeyword);
642
+ if (this.viewNode && this.viewNode.frontend) {
643
+ return `${this.viewNode.frontend.basePath}/${viewNameAttr.join('/')}`;
623
644
  }
645
+ return `/${viewNameAttr.join('/')}`;
646
+ }
624
647
 
625
- get viewUIPath() {
626
- if (!this.viewNamespace) {
627
- return '';
628
- }
629
- const namespaceAttr = this.viewNamespace.split('.');
630
- namespaceAttr.push(this.viewName);
631
- const viewNameAttr: string[] = [];
632
- if (Array.isArray(namespaceAttr)) {
633
- namespaceAttr.forEach((item, index) => {
634
- if (item === 'views') {
635
- viewNameAttr.push(namespaceAttr[index + 1]);
636
- }
637
- });
638
- }
639
- if (this.viewNode && this.viewNode.frontend) {
640
- return `${this.viewNode.frontend.basePath}/${viewNameAttr.join('/')}`;
641
- }
642
- return `/${viewNameAttr.join('/')}`;
648
+ get viewPath() {
649
+ if (!this.viewNamespace) {
650
+ return '';
643
651
  }
644
-
645
- get viewPath() {
646
- if (!this.viewNamespace) {
647
- return '';
648
- }
649
- const namespaceAttr = this.viewNamespace.split('.');
650
- namespaceAttr.push(this.viewName);
651
- const viewNameAttr: string[] = [];
652
- if (Array.isArray(namespaceAttr)) {
653
- namespaceAttr.forEach((item, index) => {
654
- if (item === 'views') {
655
- viewNameAttr.push(namespaceAttr[index + 1]);
656
- }
657
- });
652
+ const namespaceAttr = this.viewNamespace.split('.');
653
+ namespaceAttr.push(this.viewName);
654
+ const viewNameAttr: string[] = [];
655
+ if (Array.isArray(namespaceAttr)) {
656
+ namespaceAttr.forEach((item, index) => {
657
+ if (item === 'views') {
658
+ viewNameAttr.push(namespaceAttr[index + 1]);
658
659
  }
659
- if (this.viewNode) {
660
- return `${this.viewNode.frontend.prefixPath}/${viewNameAttr.join('/')}`;
660
+ });
661
+ }
662
+ if (this.viewNode) {
663
+ return `${this.viewNode.frontend.prefixPath}/${viewNameAttr.join('/')}`;
664
+ }
665
+ return `/${viewNameAttr.join('/')}`;
666
+ }
667
+
668
+ @withSourceMap()
669
+ toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
670
+ // const tab = indent((state?.tabSize || 0));
671
+ if (this.tsCalleeNamespace && this.tsName) {
672
+ const destinationName = this.parentNode.name.replace('-', '_');
673
+ let code = `${destinationName}: function() {\n`;
674
+ code += prependCode;
675
+ code += '\n';
676
+ if (this.tsCalleeNamespace && this.viewName) {
677
+ code += `${this.tsCalleeNamespace}.${this.viewName}.$destination({`;
678
+ if (Array.isArray(this.arguments)) {
679
+ this.arguments.forEach((argument: Argument) => {
680
+ code += `${argument.toEmbeddedTS(shiftState(state, code), false, true)}, `;
681
+ });
661
682
  }
662
- return `/${viewNameAttr.join('/')}`;
663
- }
664
- @withSourceMap()
665
- toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
666
- // const tab = indent((state?.tabSize || 0));
667
- if (this.tsCalleeNamespace && this.tsName) {
668
- const destinationName = this.parentNode.name.replace('-', '_');
669
- let code = `${destinationName}: function() {\n`;
670
- code += prependCode;
671
- code += '\n';
672
- if (this.tsCalleeNamespace && this.viewName) {
673
- code += `${this.tsCalleeNamespace}.${this.viewName}.$destination({`;
674
- if (Array.isArray(this.arguments)) {
675
- this.arguments.forEach((argument: Argument) => {
676
- code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
677
- });
678
- }
679
- code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
680
- code += `});\n`;
683
+ code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
684
+ code += `});\n`;
685
+ }
686
+ code += `${indent((state?.tabSize || 0) + 1)}}\n`;
687
+ return code;
688
+ }
689
+ return 'destinationEmpty(){ const __destinationEmpty__: any = null}';
690
+ }
691
+
692
+ @withSourceMap()
693
+ toEmbeddedTS(state?: TranslatorState): string {
694
+ let code = '';
695
+
696
+ const node = this.viewNode;
697
+ let logicParam: Param[] = [];
698
+ if (node?.params) {
699
+ logicParam = node.params;
700
+ }
701
+ const logicParamLength = logicParam.length;
702
+
703
+ if (this.parentNode instanceof BindAttribute) {
704
+ code += indent((state?.tabSize || 0) + 2);
705
+ if (this.tsCalleeNamespace && this.tsName) {
706
+ code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
707
+ if (Array.isArray(this.arguments)) {
708
+ this.arguments.forEach((argument: Argument, index) => {
709
+ const oldName = argument.keyword;
710
+ if (index >= logicParamLength) {
711
+ argument.keyword = '__unknown__';
681
712
  }
682
- code += indent((state?.tabSize || 0) + 1) + `}\n`;
683
- return code;
684
- } else {
685
- return 'destinationEmpty(){ const __destinationEmpty__: any = null}';
713
+ code += `${argument.toEmbeddedTS(shiftState(state, code), false, true)}, `;
714
+ argument.keyword = oldName;
715
+ });
686
716
  }
687
- }
688
717
 
689
- @withSourceMap()
690
- toEmbeddedTS(state?: TranslatorState): string {
691
- let code = '';
718
+ code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
719
+
720
+ code += `});\n`;
721
+ }
722
+ return code;
723
+ }
724
+ if (this.tsCalleeNamespace && this.tsName) {
725
+ code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
726
+ if (Array.isArray(this.arguments)) {
727
+ this.arguments.forEach((argument: Argument, index) => {
728
+ const oldName = argument.keyword;
729
+ if (index >= logicParamLength) {
730
+ argument.keyword = '__unknown__';
731
+ }
732
+ code += `${argument.toEmbeddedTS(shiftState(state, code), false, true)}, `;
733
+ argument.keyword = oldName;
734
+ });
735
+ }
692
736
 
693
- const node = this.viewNode;
694
- let logicParam: Param[] = [];
695
- if (node?.params) {
696
- logicParam = node.params;
697
- }
698
- const logicParamLength = logicParam.length;
737
+ code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
699
738
 
700
- if (this.parentNode instanceof BindAttribute) {
701
- code += indent((state?.tabSize || 0) + 2);
702
- if (this.tsCalleeNamespace && this.tsName) {
703
- code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
704
- if (Array.isArray(this.arguments)) {
705
- this.arguments.forEach((argument: Argument, index) => {
706
- const oldName = argument.keyword;
707
- if (index >= logicParamLength) {
708
- argument.keyword = '__unknown__';
709
- }
710
- code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
711
- argument.keyword = oldName;
712
- });
713
- }
714
-
715
- code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
716
-
717
- code += `});\n`;
718
- }
719
- return code;
720
- } else {
721
- if (this.tsCalleeNamespace && this.tsName) {
722
- code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
723
- if (Array.isArray(this.arguments)) {
724
- this.arguments.forEach((argument: Argument, index) => {
725
- const oldName = argument.keyword;
726
- if (index >= logicParamLength) {
727
- argument.keyword = '__unknown__';
728
- }
729
- code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
730
- argument.keyword = oldName;
731
- });
732
- }
733
-
734
- code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
735
-
736
- code += `});\n`;
737
- } else {
738
- code += '__IDENTIFIER__';
739
- }
740
- return code;
741
- }
739
+ code += `});\n`;
740
+ } else {
741
+ code += '__IDENTIFIER__';
742
742
  }
743
+ return code;
744
+ }
743
745
 
744
- toBrief(): string {
745
- const q = [];
746
- if (this.anchor?.expression) {
747
- q.push(this.anchor.toBrief());
748
- }
749
- return this.arguments.map((a) => a.toBrief()).concat(q).join('<br />');
746
+
747
+ @withSourceMap()
748
+ toNaturalTS(state?: TranslatorState): string {
749
+ let code = '';
750
+
751
+ const node = this.viewNode;
752
+ let logicParam: Param[] = [];
753
+ if (node) {
754
+ logicParam = node.params;
750
755
  }
756
+ const logicParamLength = logicParam.length;
751
757
 
752
- @withSourceMap()
753
- toEmbeddedTSNormalFunction(state?: TranslatorState): string {
754
- let code = `let ${utils.firstLowerCase(this.concept)} = function() {\n`;
755
- const tab = indent((state?.tabSize || 0) + 2);
756
- if (this.tsCalleeNamespace && this.tsName) {
757
- code += `${tab}${this.tsCalleeNamespace}.${this.tsName}.$destination(`;
758
- if (Array.isArray(this.arguments)) {
759
- this.arguments.forEach((argument: Argument) => {
760
- code += argument.toEmbeddedTS(shiftState(state, code)) + ', ';
761
- });
758
+ if (this.parentNode instanceof BindAttribute) {
759
+ code += indent(state.tabSize + 2);
760
+ if (this.tsCalleeNamespace && this.tsName) {
761
+ code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
762
+ if (Array.isArray(this.arguments)) {
763
+ this.arguments.slice(0, logicParamLength).forEach((argument: Argument, index) => {
764
+ const oldName = argument.keyword;
765
+ if (index >= logicParamLength) {
766
+ argument.keyword = '__unknown__';
762
767
  }
763
- code += this.anchor?.toEmbeddedTS(shiftState(state, code)) || '';
764
- code += `${tab});\n`;
768
+ code += `${argument.toNaturalTS(shiftState(state, code), false, true)}, `;
769
+ argument.keyword = oldName;
770
+ });
765
771
  }
766
- code += `${indent((state?.tabSize || 0) + 1)}}\n`;
767
- return code;
768
- }
769
772
 
770
- get viewNode() {
771
- if (!this.viewNamespace || !this.viewName)
772
- return null;
773
- let nameSpace = this.viewNamespace;
774
- nameSpace = nameSpace.replaceAll('views', 'children');
775
- nameSpace = nameSpace.replace('children', 'views');
776
- return getNodeByNodeCallee(this.app, nameSpace + '.' + this.viewName);
777
- }
778
- // 用于logic回填
779
- get calleewholeKey(): string {
780
- return this.viewNamespace + '.' + this.viewName;
781
- }
782
- get completeArguments() {
783
- const node = this.viewNode as View;
784
- const logicParam: Map<string, Param> = new Map();
785
- const Arguments: Argument[] = [];
786
- if (node?.params) {
787
- node.params.forEach((param) => {
788
- logicParam.set(param.name, param);
789
- });
790
- }
791
- if (this.arguments?.length) {
792
- this.arguments.forEach((arg) => {
793
- const param = logicParam.get(arg.keyword);
794
- // 取到是不是必填放入参数中
795
- const newArg = Argument.from(arg);
796
- if (param && !newArg.expression) {
797
- newArg.paramTypeAnnotation = param.typeAnnotation;
798
- newArg.paramDefaultValue = param.defaultValue;
799
- newArg.paramRequired = param.required;
800
- }
801
- Arguments.push(newArg);
802
- });
773
+ code += this.anchor?.toNaturalTS(shiftState(state, code), true) || '';
774
+
775
+ code += `});\n`;
776
+ }
777
+ return code;
778
+ }
779
+ if (this.tsCalleeNamespace && this.tsName) {
780
+ code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
781
+ if (Array.isArray(this.arguments)) {
782
+ this.arguments.slice(0, logicParamLength).forEach((argument: Argument, index) => {
783
+ const oldName = argument.keyword;
784
+ if (index >= logicParamLength) {
785
+ argument.keyword = '__unknown__';
786
+ }
787
+ code += `${argument.toNaturalTS(shiftState(state, code, { inline: true }), false, true)}, `;
788
+ argument.keyword = oldName;
789
+ });
790
+ }
791
+
792
+ code += this.anchor?.toNaturalTS(shiftState(state, code, { inline: true }), true) || '';
793
+ code += `, target: '${this.target}'`;
794
+
795
+ code += `});\n`;
796
+ } else {
797
+ code += '__IDENTIFIER__';
798
+ }
799
+ return code;
800
+ }
801
+
802
+ toBrief(): string {
803
+ const q = [];
804
+ if (this.anchor?.expression) {
805
+ q.push(this.anchor.toBrief());
806
+ }
807
+ return this.arguments
808
+ .map((a) => a.toBrief())
809
+ .concat(q)
810
+ .join('<br />');
811
+ }
812
+
813
+ @withSourceMap()
814
+ toEmbeddedTSNormalFunction(state?: TranslatorState): string {
815
+ let code = `let ${utils.firstLowerCase(this.concept)} = function() {\n`;
816
+ const tab = indent((state?.tabSize || 0) + 2);
817
+ if (this.tsCalleeNamespace && this.tsName) {
818
+ code += `${tab}${this.tsCalleeNamespace}.${this.tsName}.$destination(`;
819
+ if (Array.isArray(this.arguments)) {
820
+ this.arguments.forEach((argument: Argument) => {
821
+ code += `${argument.toEmbeddedTS(shiftState(state, code))}, `;
822
+ });
823
+ }
824
+ code += this.anchor?.toEmbeddedTS(shiftState(state, code)) || '';
825
+ code += `${tab});\n`;
826
+ }
827
+ code += `${indent((state?.tabSize || 0) + 1)}}\n`;
828
+ return code;
829
+ }
830
+
831
+ get viewNode() {
832
+ if (!this.viewNamespace || !this.viewName) return null;
833
+ let nameSpace = this.viewNamespace;
834
+ nameSpace = nameSpace.replaceAll('views', 'children');
835
+ nameSpace = nameSpace.replace('children', 'views');
836
+ return getNodeByNodeCallee(this.app, `${nameSpace}.${this.viewName}`);
837
+ }
838
+
839
+ // 用于logic回填
840
+ get calleewholeKey(): string {
841
+ return `${this.viewNamespace}.${this.viewName}`;
842
+ }
843
+
844
+ get completeArguments() {
845
+ const node = this.viewNode as View;
846
+ const logicParam: Map<string, Param> = new Map();
847
+ const Arguments: Argument[] = [];
848
+ if (node?.params) {
849
+ node.params.forEach((param) => {
850
+ logicParam.set(param.name, param);
851
+ });
852
+ }
853
+ if (this.arguments?.length) {
854
+ this.arguments.forEach((arg) => {
855
+ const param = logicParam.get(arg.keyword);
856
+ // 取到是不是必填放入参数中
857
+ const newArg = Argument.from(arg);
858
+ if (param && !newArg.expression) {
859
+ newArg.paramTypeAnnotation = param.typeAnnotation;
860
+ newArg.paramDefaultValue = param.defaultValue;
861
+ newArg.paramRequired = param.required;
803
862
  }
804
- return Arguments;
805
- }
806
- //================================================================================
807
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
808
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
809
- //================================================================================
863
+ Arguments.push(newArg);
864
+ });
865
+ }
866
+ return Arguments;
867
+ }
868
+ //= ===============================================================================
869
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
870
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
871
+ //= ===============================================================================
810
872
  }
811
873
 
812
874
  classMap.Destination = Destination;
813
875
  export default Destination;
814
- //================================================================================
876
+ //= ===============================================================================
815
877
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
816
878
  // 自动生成的代码已结束。下面可以手动编写。
817
- //================================================================================
879
+ //= ===============================================================================