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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -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
+ //= ===============================================================================