@lcap/nasl 3.4.0-beta.3 → 3.4.0-beta.4

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 (880) hide show
  1. package/out/automate/engine/index.d.ts +4 -4
  2. package/out/automate/engine/index.js +363 -363
  3. package/out/automate/engine/operators.d.ts +26 -16
  4. package/out/automate/engine/operators.js +363 -363
  5. package/out/automate/engine/uniqueName.d.ts +12 -12
  6. package/out/automate/engine/uniqueName.js +111 -111
  7. package/out/automate/engine/utils.d.ts +25 -25
  8. package/out/automate/engine/utils.js +443 -443
  9. package/out/automate/engine/viewCache.d.ts +19 -18
  10. package/out/automate/engine/viewCache.js +44 -44
  11. package/out/automate/template/myProcess.d.ts +10 -9
  12. package/out/automate/template/myProcess.js +11501 -11500
  13. package/out/automate/template/myProcess.js.map +1 -1
  14. package/out/automate/upgrader/2.12.d.ts +7 -7
  15. package/out/automate/upgrader/2.12.js +62 -62
  16. package/out/automate/upgrader/2.14-components.d.ts +1115 -1115
  17. package/out/automate/upgrader/2.14-components.js +1086 -1086
  18. package/out/automate/upgrader/2.14.d.ts +10 -10
  19. package/out/automate/upgrader/2.14.js +235 -235
  20. package/out/automate/upgrader/2.14.old.d.ts +1 -1
  21. package/out/automate/upgrader/2.14.old.js +124 -124
  22. package/out/automate/upgrader/2.16.d.ts +10 -10
  23. package/out/automate/upgrader/2.16.js +74 -74
  24. package/out/automate/upgrader/2.17.d.ts +21 -21
  25. package/out/automate/upgrader/2.17.js +556 -556
  26. package/out/automate/upgrader/2.18.d.ts +10 -10
  27. package/out/automate/upgrader/2.18.js +106 -106
  28. package/out/automate/upgrader/2.20.d.ts +17 -17
  29. package/out/automate/upgrader/2.20.js +67 -67
  30. package/out/bak/translator.d.ts +1 -1
  31. package/out/bak/translator.js +143 -143
  32. package/out/breakpoint/generator/AfterStartNode.d.ts +7 -7
  33. package/out/breakpoint/generator/AfterStartNode.js +29 -29
  34. package/out/breakpoint/generator/BeforeEndNode.d.ts +7 -7
  35. package/out/breakpoint/generator/BeforeEndNode.js +27 -27
  36. package/out/breakpoint/generator/BreakpointNode.d.ts +15 -15
  37. package/out/breakpoint/generator/BreakpointNode.js +283 -283
  38. package/out/breakpoint/generator/CallbackNode.d.ts +4 -4
  39. package/out/breakpoint/generator/CallbackNode.js +21 -21
  40. package/out/breakpoint/generator/FragmentNode.d.ts +4 -4
  41. package/out/breakpoint/generator/FragmentNode.js +17 -17
  42. package/out/breakpoint/generator/index.d.ts +4 -4
  43. package/out/breakpoint/generator/index.js +118 -118
  44. package/out/breakpoint/index.d.ts +3 -3
  45. package/out/breakpoint/index.js +19 -19
  46. package/out/breakpoint/shared/constants.d.ts +37 -37
  47. package/out/breakpoint/shared/constants.js +105 -105
  48. package/out/breakpoint/shared/index.d.ts +3 -3
  49. package/out/breakpoint/shared/index.js +32 -32
  50. package/out/breakpoint/shared/operations.d.ts +10 -10
  51. package/out/breakpoint/shared/operations.js +24 -24
  52. package/out/breakpoint/shared/socket.d.ts +48 -48
  53. package/out/breakpoint/shared/socket.js +256 -256
  54. package/out/breakpoint/shared/utils.d.ts +27 -27
  55. package/out/breakpoint/shared/utils.js +228 -228
  56. package/out/breakpoint/store/core.d.ts +80 -80
  57. package/out/breakpoint/store/core.js +415 -415
  58. package/out/breakpoint/store/dock.d.ts +1 -1
  59. package/out/breakpoint/store/dock.js +159 -159
  60. package/out/breakpoint/store/index.d.ts +2 -2
  61. package/out/breakpoint/store/index.js +18 -18
  62. package/out/common/BaseNode.d.ts +347 -334
  63. package/out/common/BaseNode.js +1376 -1325
  64. package/out/common/BaseNode.js.map +1 -1
  65. package/out/common/Command.d.ts +21 -21
  66. package/out/common/Command.js +78 -78
  67. package/out/common/ComponentAPI.d.ts +110 -110
  68. package/out/common/ComponentAPI.js +2 -2
  69. package/out/common/EventEmitter.d.ts +60 -60
  70. package/out/common/EventEmitter.js +68 -68
  71. package/out/common/EventEmitter.js.map +1 -1
  72. package/out/common/Messager.d.ts +91 -91
  73. package/out/common/Messager.js +206 -206
  74. package/out/common/asyncFuncMap.d.ts +2 -2
  75. package/out/common/asyncFuncMap.js +15 -15
  76. package/out/common/index.d.ts +3 -3
  77. package/out/common/index.js +19 -19
  78. package/out/concepts/Abort__.d.ts +28 -26
  79. package/out/concepts/Abort__.js +83 -81
  80. package/out/concepts/Abort__.js.map +1 -1
  81. package/out/concepts/AbstractInterface__.d.ts +22 -0
  82. package/out/concepts/AbstractInterface__.js +60 -0
  83. package/out/concepts/AbstractInterface__.js.map +1 -0
  84. package/out/concepts/Anchor__.d.ts +48 -46
  85. package/out/concepts/Anchor__.js +208 -206
  86. package/out/concepts/Anchor__.js.map +1 -1
  87. package/out/concepts/AnonymousFunction__.d.ts +175 -173
  88. package/out/concepts/AnonymousFunction__.js +548 -546
  89. package/out/concepts/AnonymousFunction__.js.map +1 -1
  90. package/out/concepts/App__.d.ts +1770 -1687
  91. package/out/concepts/App__.js +2777 -2670
  92. package/out/concepts/App__.js.map +1 -1
  93. package/out/concepts/Argument__.d.ts +70 -68
  94. package/out/concepts/Argument__.js +285 -285
  95. package/out/concepts/Argument__.js.map +1 -1
  96. package/out/concepts/Assignee__.d.ts +291 -289
  97. package/out/concepts/Assignee__.js +455 -452
  98. package/out/concepts/Assignee__.js.map +1 -1
  99. package/out/concepts/AssignmentLine__.d.ts +44 -42
  100. package/out/concepts/AssignmentLine__.js +120 -118
  101. package/out/concepts/AssignmentLine__.js.map +1 -1
  102. package/out/concepts/Assignment__.d.ts +77 -75
  103. package/out/concepts/Assignment__.js +328 -327
  104. package/out/concepts/Assignment__.js.map +1 -1
  105. package/out/concepts/Attribute__.d.ts +112 -110
  106. package/out/concepts/Attribute__.js +259 -265
  107. package/out/concepts/Attribute__.js.map +1 -1
  108. package/out/concepts/AuthInterface__.d.ts +38 -36
  109. package/out/concepts/AuthInterface__.js +86 -85
  110. package/out/concepts/AuthInterface__.js.map +1 -1
  111. package/out/concepts/AuthLogicForCallInterface__.d.ts +141 -139
  112. package/out/concepts/AuthLogicForCallInterface__.js +535 -532
  113. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  114. package/out/concepts/AuthLogic__.d.ts +69 -67
  115. package/out/concepts/AuthLogic__.js +222 -221
  116. package/out/concepts/AuthLogic__.js.map +1 -1
  117. package/out/concepts/BackendVariable__.d.ts +148 -146
  118. package/out/concepts/BackendVariable__.js +482 -481
  119. package/out/concepts/BackendVariable__.js.map +1 -1
  120. package/out/concepts/Backend__.d.ts +137 -135
  121. package/out/concepts/Backend__.js +287 -285
  122. package/out/concepts/Backend__.js.map +1 -1
  123. package/out/concepts/BatchAssignment__.d.ts +255 -253
  124. package/out/concepts/BatchAssignment__.js +883 -880
  125. package/out/concepts/BatchAssignment__.js.map +1 -1
  126. package/out/concepts/BinaryExpression__.d.ts +74 -72
  127. package/out/concepts/BinaryExpression__.js +398 -398
  128. package/out/concepts/BinaryExpression__.js.map +1 -1
  129. package/out/concepts/BindAttribute__.d.ts +330 -328
  130. package/out/concepts/BindAttribute__.js +1064 -1071
  131. package/out/concepts/BindAttribute__.js.map +1 -1
  132. package/out/concepts/BindDirective__.d.ts +169 -167
  133. package/out/concepts/BindDirective__.js +558 -562
  134. package/out/concepts/BindDirective__.js.map +1 -1
  135. package/out/concepts/BindEvent__.d.ts +255 -253
  136. package/out/concepts/BindEvent__.js +943 -942
  137. package/out/concepts/BindEvent__.js.map +1 -1
  138. package/out/concepts/BindStyle__.d.ts +142 -140
  139. package/out/concepts/BindStyle__.js +424 -423
  140. package/out/concepts/BindStyle__.js.map +1 -1
  141. package/out/concepts/BooleanLiteral__.d.ts +38 -36
  142. package/out/concepts/BooleanLiteral__.js +109 -108
  143. package/out/concepts/BooleanLiteral__.js.map +1 -1
  144. package/out/concepts/CallAuthInterface__.d.ts +128 -126
  145. package/out/concepts/CallAuthInterface__.js +421 -414
  146. package/out/concepts/CallAuthInterface__.js.map +1 -1
  147. package/out/concepts/CallConnector__.d.ts +49 -47
  148. package/out/concepts/CallConnector__.js +267 -266
  149. package/out/concepts/CallConnector__.js.map +1 -1
  150. package/out/concepts/CallFunction__.d.ts +161 -159
  151. package/out/concepts/CallFunction__.js +589 -568
  152. package/out/concepts/CallFunction__.js.map +1 -1
  153. package/out/concepts/CallInterface__.d.ts +132 -130
  154. package/out/concepts/CallInterface__.js +808 -802
  155. package/out/concepts/CallInterface__.js.map +1 -1
  156. package/out/concepts/CallLogic__.d.ts +233 -231
  157. package/out/concepts/CallLogic__.js +1317 -1319
  158. package/out/concepts/CallLogic__.js.map +1 -1
  159. package/out/concepts/CallQueryComponent__.d.ts +435 -433
  160. package/out/concepts/CallQueryComponent__.js +1313 -1325
  161. package/out/concepts/CallQueryComponent__.js.map +1 -1
  162. package/out/concepts/Comment__.d.ts +35 -33
  163. package/out/concepts/Comment__.js +101 -100
  164. package/out/concepts/Comment__.js.map +1 -1
  165. package/out/concepts/CompletionProperty__.d.ts +107 -105
  166. package/out/concepts/CompletionProperty__.js +279 -283
  167. package/out/concepts/CompletionProperty__.js.map +1 -1
  168. package/out/concepts/ConfigGroup__.d.ts +127 -125
  169. package/out/concepts/ConfigGroup__.js +266 -264
  170. package/out/concepts/ConfigGroup__.js.map +1 -1
  171. package/out/concepts/ConfigPropertyValue__.d.ts +47 -45
  172. package/out/concepts/ConfigPropertyValue__.js +110 -110
  173. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  174. package/out/concepts/ConfigProperty__.d.ts +156 -154
  175. package/out/concepts/ConfigProperty__.js +334 -334
  176. package/out/concepts/ConfigProperty__.js.map +1 -1
  177. package/out/concepts/Configuration__.d.ts +126 -124
  178. package/out/concepts/Configuration__.js +239 -236
  179. package/out/concepts/Configuration__.js.map +1 -1
  180. package/out/concepts/Connection__.d.ts +168 -166
  181. package/out/concepts/Connection__.js +347 -347
  182. package/out/concepts/Connection__.js.map +1 -1
  183. package/out/concepts/ConnectorTrigger__.d.ts +81 -79
  184. package/out/concepts/ConnectorTrigger__.js +160 -161
  185. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  186. package/out/concepts/Connector__.d.ts +929 -570
  187. package/out/concepts/Connector__.js +1346 -907
  188. package/out/concepts/Connector__.js.map +1 -1
  189. package/out/concepts/Constant__.d.ts +121 -119
  190. package/out/concepts/Constant__.js +313 -313
  191. package/out/concepts/Constant__.js.map +1 -1
  192. package/out/concepts/DataSource__.d.ts +171 -169
  193. package/out/concepts/DataSource__.js +477 -477
  194. package/out/concepts/DataSource__.js.map +1 -1
  195. package/out/concepts/DatabaseTypeAnnotation__.d.ts +34 -32
  196. package/out/concepts/DatabaseTypeAnnotation__.js +82 -82
  197. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  198. package/out/concepts/DefaultValue__.d.ts +98 -98
  199. package/out/concepts/DefaultValue__.js +210 -209
  200. package/out/concepts/DefaultValue__.js.map +1 -1
  201. package/out/concepts/Destination__.d.ts +160 -158
  202. package/out/concepts/Destination__.js +804 -804
  203. package/out/concepts/Destination__.js.map +1 -1
  204. package/out/concepts/End__.d.ts +27 -25
  205. package/out/concepts/End__.js +117 -115
  206. package/out/concepts/End__.js.map +1 -1
  207. package/out/concepts/EntityIndex__.d.ts +98 -96
  208. package/out/concepts/EntityIndex__.js +227 -229
  209. package/out/concepts/EntityIndex__.js.map +1 -1
  210. package/out/concepts/EntityProperty__.d.ts +289 -287
  211. package/out/concepts/EntityProperty__.js +883 -888
  212. package/out/concepts/EntityProperty__.js.map +1 -1
  213. package/out/concepts/Entity__.d.ts +342 -340
  214. package/out/concepts/Entity__.js +779 -769
  215. package/out/concepts/Entity__.js.map +1 -1
  216. package/out/concepts/EnumItem__.d.ts +67 -65
  217. package/out/concepts/EnumItem__.js +155 -155
  218. package/out/concepts/EnumItem__.js.map +1 -1
  219. package/out/concepts/Enum__.d.ts +141 -139
  220. package/out/concepts/Enum__.js +341 -341
  221. package/out/concepts/Enum__.js.map +1 -1
  222. package/out/concepts/Event__.d.ts +146 -144
  223. package/out/concepts/Event__.js +261 -263
  224. package/out/concepts/Event__.js.map +1 -1
  225. package/out/concepts/ExternalDestination__.d.ts +78 -76
  226. package/out/concepts/ExternalDestination__.js +292 -291
  227. package/out/concepts/ExternalDestination__.js.map +1 -1
  228. package/out/concepts/ForEachStatement__.d.ts +173 -190
  229. package/out/concepts/ForEachStatement__.js +533 -534
  230. package/out/concepts/ForEachStatement__.js.map +1 -1
  231. package/out/concepts/FrontendLibrary__.d.ts +216 -214
  232. package/out/concepts/FrontendLibrary__.js +374 -372
  233. package/out/concepts/FrontendLibrary__.js.map +1 -1
  234. package/out/concepts/FrontendVariable__.d.ts +24 -22
  235. package/out/concepts/FrontendVariable__.js +66 -63
  236. package/out/concepts/FrontendVariable__.js.map +1 -1
  237. package/out/concepts/Frontend__.d.ts +511 -509
  238. package/out/concepts/Frontend__.js +1043 -1003
  239. package/out/concepts/Frontend__.js.map +1 -1
  240. package/out/concepts/Function__.d.ts +420 -418
  241. package/out/concepts/Function__.js +805 -801
  242. package/out/concepts/Function__.js.map +1 -1
  243. package/out/concepts/I18nInfo__.d.ts +44 -44
  244. package/out/concepts/I18nInfo__.js +110 -110
  245. package/out/concepts/I18nInfo__.js.map +1 -1
  246. package/out/concepts/Identifier__.d.ts +54 -52
  247. package/out/concepts/Identifier__.js +309 -305
  248. package/out/concepts/Identifier__.js.map +1 -1
  249. package/out/concepts/IfStatement__.d.ts +161 -159
  250. package/out/concepts/IfStatement__.js +353 -352
  251. package/out/concepts/IfStatement__.js.map +1 -1
  252. package/out/concepts/Integration__.d.ts +146 -144
  253. package/out/concepts/Integration__.js +301 -298
  254. package/out/concepts/Integration__.js.map +1 -1
  255. package/out/concepts/InterfaceFromExample__.d.ts +88 -0
  256. package/out/concepts/InterfaceFromExample__.js +172 -0
  257. package/out/concepts/InterfaceFromExample__.js.map +1 -0
  258. package/out/concepts/InterfaceParam__.d.ts +151 -144
  259. package/out/concepts/InterfaceParam__.js +354 -346
  260. package/out/concepts/InterfaceParam__.js.map +1 -1
  261. package/out/concepts/Interface__.d.ts +334 -331
  262. package/out/concepts/Interface__.js +923 -910
  263. package/out/concepts/Interface__.js.map +1 -1
  264. package/out/concepts/JSBlock__.d.ts +37 -35
  265. package/out/concepts/JSBlock__.js +113 -112
  266. package/out/concepts/JSBlock__.js.map +1 -1
  267. package/out/concepts/JavaLogic__.d.ts +45 -43
  268. package/out/concepts/JavaLogic__.js +127 -128
  269. package/out/concepts/JavaLogic__.js.map +1 -1
  270. package/out/concepts/LogicItem__.d.ts +154 -152
  271. package/out/concepts/LogicItem__.js +289 -291
  272. package/out/concepts/LogicItem__.js.map +1 -1
  273. package/out/concepts/Logic__.d.ts +648 -644
  274. package/out/concepts/Logic__.js +1967 -1946
  275. package/out/concepts/Logic__.js.map +1 -1
  276. package/out/concepts/MatchCase__.d.ts +261 -259
  277. package/out/concepts/MatchCase__.js +703 -693
  278. package/out/concepts/MatchCase__.js.map +1 -1
  279. package/out/concepts/Match__.d.ts +127 -125
  280. package/out/concepts/Match__.js +697 -695
  281. package/out/concepts/Match__.js.map +1 -1
  282. package/out/concepts/MemberExpression__.d.ts +77 -75
  283. package/out/concepts/MemberExpression__.js +496 -495
  284. package/out/concepts/MemberExpression__.js.map +1 -1
  285. package/out/concepts/MicroApp__.d.ts +54 -52
  286. package/out/concepts/MicroApp__.js +122 -127
  287. package/out/concepts/MicroApp__.js.map +1 -1
  288. package/out/concepts/Module__.d.ts +985 -1236
  289. package/out/concepts/Module__.js +1450 -1756
  290. package/out/concepts/Module__.js.map +1 -1
  291. package/out/concepts/MsgTriggerEvent__.d.ts +140 -138
  292. package/out/concepts/MsgTriggerEvent__.js +239 -236
  293. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  294. package/out/concepts/MsgTriggerLauncher__.d.ts +129 -127
  295. package/out/concepts/MsgTriggerLauncher__.js +234 -232
  296. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  297. package/out/concepts/Namespace__.d.ts +1086 -1070
  298. package/out/concepts/Namespace__.js +1546 -1491
  299. package/out/concepts/Namespace__.js.map +1 -1
  300. package/out/concepts/NewComposite__.d.ts +351 -349
  301. package/out/concepts/NewComposite__.js +1261 -1311
  302. package/out/concepts/NewComposite__.js.map +1 -1
  303. package/out/concepts/NewList__.d.ts +138 -136
  304. package/out/concepts/NewList__.js +455 -449
  305. package/out/concepts/NewList__.js.map +1 -1
  306. package/out/concepts/NewMap__.d.ts +229 -227
  307. package/out/concepts/NewMap__.js +600 -589
  308. package/out/concepts/NewMap__.js.map +1 -1
  309. package/out/concepts/New__.d.ts +23 -21
  310. package/out/concepts/New__.js +71 -69
  311. package/out/concepts/New__.js.map +1 -1
  312. package/out/concepts/NullLiteral__.d.ts +29 -27
  313. package/out/concepts/NullLiteral__.js +84 -82
  314. package/out/concepts/NullLiteral__.js.map +1 -1
  315. package/out/concepts/NumericLiteral__.d.ts +59 -57
  316. package/out/concepts/NumericLiteral__.js +190 -189
  317. package/out/concepts/NumericLiteral__.js.map +1 -1
  318. package/out/concepts/OqlQueryComponent__.d.ts +76 -74
  319. package/out/concepts/OqlQueryComponent__.js +368 -365
  320. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  321. package/out/concepts/OverriddenLogic__.d.ts +637 -635
  322. package/out/concepts/OverriddenLogic__.js +1693 -1691
  323. package/out/concepts/OverriddenLogic__.js.map +1 -1
  324. package/out/concepts/Param__.d.ts +182 -180
  325. package/out/concepts/Param__.js +512 -512
  326. package/out/concepts/Param__.js.map +1 -1
  327. package/out/concepts/Point__.d.ts +34 -32
  328. package/out/concepts/Point__.js +82 -82
  329. package/out/concepts/Point__.js.map +1 -1
  330. package/out/concepts/ProcessComponent__.d.ts +222 -220
  331. package/out/concepts/ProcessComponent__.js +360 -360
  332. package/out/concepts/ProcessComponent__.js.map +1 -1
  333. package/out/concepts/ProcessElement__.d.ts +649 -647
  334. package/out/concepts/ProcessElement__.js +1335 -1334
  335. package/out/concepts/ProcessElement__.js.map +1 -1
  336. package/out/concepts/ProcessOutcome__.d.ts +33 -32
  337. package/out/concepts/ProcessOutcome__.js +108 -92
  338. package/out/concepts/ProcessOutcome__.js.map +1 -1
  339. package/out/concepts/ProcessOutcomes__.d.ts +33 -32
  340. package/out/concepts/ProcessOutcomes__.js +110 -93
  341. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  342. package/out/concepts/Process__.d.ts +616 -614
  343. package/out/concepts/Process__.js +1139 -1135
  344. package/out/concepts/Process__.js.map +1 -1
  345. package/out/concepts/QueryAggregateExpression__.d.ts +54 -52
  346. package/out/concepts/QueryAggregateExpression__.js +159 -159
  347. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  348. package/out/concepts/QueryFieldExpression__.d.ts +56 -54
  349. package/out/concepts/QueryFieldExpression__.js +163 -164
  350. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  351. package/out/concepts/QueryFromExpression__.d.ts +101 -99
  352. package/out/concepts/QueryFromExpression__.js +220 -220
  353. package/out/concepts/QueryFromExpression__.js.map +1 -1
  354. package/out/concepts/QueryGroupByExpression__.d.ts +49 -47
  355. package/out/concepts/QueryGroupByExpression__.js +150 -148
  356. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  357. package/out/concepts/QueryJoinExpression__.d.ts +188 -186
  358. package/out/concepts/QueryJoinExpression__.js +347 -348
  359. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  360. package/out/concepts/QueryLimitExpression__.d.ts +60 -58
  361. package/out/concepts/QueryLimitExpression__.js +172 -171
  362. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  363. package/out/concepts/QueryOrderByExpression__.d.ts +71 -69
  364. package/out/concepts/QueryOrderByExpression__.js +185 -184
  365. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  366. package/out/concepts/QuerySelectExpression__.d.ts +206 -204
  367. package/out/concepts/QuerySelectExpression__.js +311 -308
  368. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  369. package/out/concepts/Rect__.d.ts +42 -40
  370. package/out/concepts/Rect__.js +98 -100
  371. package/out/concepts/Rect__.js.map +1 -1
  372. package/out/concepts/Return__.d.ts +147 -145
  373. package/out/concepts/Return__.js +410 -409
  374. package/out/concepts/Return__.js.map +1 -1
  375. package/out/concepts/Role__.d.ts +65 -63
  376. package/out/concepts/Role__.js +172 -173
  377. package/out/concepts/Role__.js.map +1 -1
  378. package/out/concepts/SelectMembers__.d.ts +145 -143
  379. package/out/concepts/SelectMembers__.js +307 -305
  380. package/out/concepts/SelectMembers__.js.map +1 -1
  381. package/out/concepts/Slot__.d.ts +77 -75
  382. package/out/concepts/Slot__.js +175 -178
  383. package/out/concepts/Slot__.js.map +1 -1
  384. package/out/concepts/SqlQueryComponent__.d.ts +74 -72
  385. package/out/concepts/SqlQueryComponent__.js +291 -292
  386. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  387. package/out/concepts/Start__.d.ts +27 -25
  388. package/out/concepts/Start__.js +76 -74
  389. package/out/concepts/Start__.js.map +1 -1
  390. package/out/concepts/StringInterpolation__.d.ts +118 -116
  391. package/out/concepts/StringInterpolation__.js +275 -272
  392. package/out/concepts/StringInterpolation__.js.map +1 -1
  393. package/out/concepts/StringLiteral__.d.ts +45 -43
  394. package/out/concepts/StringLiteral__.js +165 -157
  395. package/out/concepts/StringLiteral__.js.map +1 -1
  396. package/out/concepts/StructureProperty__.d.ts +150 -148
  397. package/out/concepts/StructureProperty__.js +373 -372
  398. package/out/concepts/StructureProperty__.js.map +1 -1
  399. package/out/concepts/Structure__.d.ts +252 -248
  400. package/out/concepts/Structure__.js +521 -506
  401. package/out/concepts/Structure__.js.map +1 -1
  402. package/out/concepts/SwitchCase__.d.ts +97 -95
  403. package/out/concepts/SwitchCase__.js +287 -281
  404. package/out/concepts/SwitchCase__.js.map +1 -1
  405. package/out/concepts/SwitchStatement__.d.ts +87 -85
  406. package/out/concepts/SwitchStatement__.js +212 -209
  407. package/out/concepts/SwitchStatement__.js.map +1 -1
  408. package/out/concepts/Theme__.d.ts +40 -38
  409. package/out/concepts/Theme__.js +91 -89
  410. package/out/concepts/Theme__.js.map +1 -1
  411. package/out/concepts/Transactional__.d.ts +90 -88
  412. package/out/concepts/Transactional__.js +171 -172
  413. package/out/concepts/Transactional__.js.map +1 -1
  414. package/out/concepts/TriggerEvent__.d.ts +123 -121
  415. package/out/concepts/TriggerEvent__.js +236 -234
  416. package/out/concepts/TriggerEvent__.js.map +1 -1
  417. package/out/concepts/TriggerLauncher__.d.ts +84 -82
  418. package/out/concepts/TriggerLauncher__.js +223 -225
  419. package/out/concepts/TriggerLauncher__.js.map +1 -1
  420. package/out/concepts/TypeAnnotation__.d.ts +304 -299
  421. package/out/concepts/TypeAnnotation__.js +1054 -1025
  422. package/out/concepts/TypeAnnotation__.js.map +1 -1
  423. package/out/concepts/TypeParam__.d.ts +28 -26
  424. package/out/concepts/TypeParam__.js +82 -81
  425. package/out/concepts/TypeParam__.js.map +1 -1
  426. package/out/concepts/UnaryExpression__.d.ts +52 -50
  427. package/out/concepts/UnaryExpression__.js +200 -199
  428. package/out/concepts/UnaryExpression__.js.map +1 -1
  429. package/out/concepts/Unparsed__.d.ts +36 -33
  430. package/out/concepts/Unparsed__.js +103 -102
  431. package/out/concepts/Unparsed__.js.map +1 -1
  432. package/out/concepts/UseComponent__.d.ts +34 -32
  433. package/out/concepts/UseComponent__.js +82 -82
  434. package/out/concepts/UseComponent__.js.map +1 -1
  435. package/out/concepts/ValidationRule__.d.ts +152 -150
  436. package/out/concepts/ValidationRule__.js +531 -525
  437. package/out/concepts/ValidationRule__.js.map +1 -1
  438. package/out/concepts/Variable__.d.ts +167 -165
  439. package/out/concepts/Variable__.js +479 -478
  440. package/out/concepts/Variable__.js.map +1 -1
  441. package/out/concepts/ViewBlock__.d.ts +38 -36
  442. package/out/concepts/ViewBlock__.js +90 -91
  443. package/out/concepts/ViewBlock__.js.map +1 -1
  444. package/out/concepts/ViewComponent__.d.ts +568 -566
  445. package/out/concepts/ViewComponent__.js +819 -816
  446. package/out/concepts/ViewComponent__.js.map +1 -1
  447. package/out/concepts/ViewElement__.d.ts +628 -626
  448. package/out/concepts/ViewElement__.js +2315 -2316
  449. package/out/concepts/ViewElement__.js.map +1 -1
  450. package/out/concepts/View__.d.ts +725 -723
  451. package/out/concepts/View__.js +2219 -2217
  452. package/out/concepts/View__.js.map +1 -1
  453. package/out/concepts/WhileStatement__.d.ts +100 -98
  454. package/out/concepts/WhileStatement__.js +251 -247
  455. package/out/concepts/WhileStatement__.js.map +1 -1
  456. package/out/concepts/basics/constants.d.ts +1 -0
  457. package/out/concepts/basics/constants.js +6 -0
  458. package/out/concepts/basics/constants.js.map +1 -0
  459. package/out/concepts/basics/stdlib/index.d.ts +4 -4
  460. package/out/concepts/basics/stdlib/index.js +44 -44
  461. package/out/concepts/basics/stdlib/nasl.auth.d.ts +7 -7
  462. package/out/concepts/basics/stdlib/nasl.auth.js +163 -163
  463. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -3
  464. package/out/concepts/basics/stdlib/nasl.browser.js +148 -148
  465. package/out/concepts/basics/stdlib/nasl.collection.d.ts +7 -7
  466. package/out/concepts/basics/stdlib/nasl.collection.js +51 -51
  467. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -3
  468. package/out/concepts/basics/stdlib/nasl.configuration.js +55 -55
  469. package/out/concepts/basics/stdlib/nasl.core.d.ts +5 -5
  470. package/out/concepts/basics/stdlib/nasl.core.js +48 -48
  471. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -3
  472. package/out/concepts/basics/stdlib/nasl.event.js +24 -24
  473. package/out/concepts/basics/stdlib/nasl.http.d.ts +7 -7
  474. package/out/concepts/basics/stdlib/nasl.http.js +168 -168
  475. package/out/concepts/basics/stdlib/nasl.interface.d.ts +7 -7
  476. package/out/concepts/basics/stdlib/nasl.interface.js +42 -42
  477. package/out/concepts/basics/stdlib/nasl.io.d.ts +3 -3
  478. package/out/concepts/basics/stdlib/nasl.io.js +51 -51
  479. package/out/concepts/basics/stdlib/nasl.logging.d.ts +3 -3
  480. package/out/concepts/basics/stdlib/nasl.logging.js +55 -55
  481. package/out/concepts/basics/stdlib/nasl.process.d.ts +7 -7
  482. package/out/concepts/basics/stdlib/nasl.process.js +637 -637
  483. package/out/concepts/basics/stdlib/nasl.ui.d.ts +7 -7
  484. package/out/concepts/basics/stdlib/nasl.ui.js +1062 -1062
  485. package/out/concepts/basics/stdlib/nasl.util.d.ts +5 -5
  486. package/out/concepts/basics/stdlib/nasl.util.js +2291 -2291
  487. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  488. package/out/concepts/basics/stdlib/nasl.validation.d.ts +3 -3
  489. package/out/concepts/basics/stdlib/nasl.validation.js +564 -564
  490. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +5 -5
  491. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +25 -25
  492. package/out/concepts/basics/stdlib/timeZone.d.ts +5 -5
  493. package/out/concepts/basics/stdlib/timeZone.js +195 -195
  494. package/out/concepts/basics/types/coreTypeList.d.ts +2 -2
  495. package/out/concepts/basics/types/coreTypeList.js +14 -14
  496. package/out/concepts/basics/types/index.d.ts +16 -16
  497. package/out/concepts/basics/types/index.js +34 -34
  498. package/out/concepts/index.d.ts +6 -6
  499. package/out/concepts/index.js +24 -24
  500. package/out/concepts/index__.d.ts +126 -124
  501. package/out/concepts/index__.js +142 -140
  502. package/out/concepts/index__.js.map +1 -1
  503. package/out/concepts/types__.d.ts +128 -126
  504. package/out/concepts/types__.js +2 -2
  505. package/out/config.d.ts +43 -43
  506. package/out/config.js +71 -71
  507. package/out/decorators/index.d.ts +69 -57
  508. package/out/decorators/index.js +216 -172
  509. package/out/decorators/index.js.map +1 -1
  510. package/out/decorators/promise.d.ts +7 -7
  511. package/out/decorators/promise.js +27 -27
  512. package/out/enums/KEYWORDS.d.ts +6 -6
  513. package/out/enums/KEYWORDS.js +1245 -1243
  514. package/out/enums/KEYWORDS.js.map +1 -1
  515. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -26
  516. package/out/enums/LEVEL_NAME_MAP.js +29 -29
  517. package/out/eventBus.d.ts +3 -3
  518. package/out/eventBus.js +6 -6
  519. package/out/generator/compileComponent.d.ts +11 -11
  520. package/out/generator/compileComponent.js +11 -11
  521. package/out/generator/genBundleFiles.d.ts +34 -34
  522. package/out/generator/genBundleFiles.js +356 -356
  523. package/out/generator/genBundleFiles.js.map +1 -1
  524. package/out/generator/genHash.d.ts +7 -7
  525. package/out/generator/genHash.js +38 -38
  526. package/out/generator/genMetaData.d.ts +31 -31
  527. package/out/generator/genMetaData.js +305 -301
  528. package/out/generator/genMetaData.js.map +1 -1
  529. package/out/generator/genReleaseBody.d.ts +72 -72
  530. package/out/generator/genReleaseBody.js +323 -321
  531. package/out/generator/genReleaseBody.js.map +1 -1
  532. package/out/generator/icestark.d.ts +2 -2
  533. package/out/generator/icestark.js +7 -5
  534. package/out/generator/icestark.js.map +1 -1
  535. package/out/generator/index.d.ts +7 -7
  536. package/out/generator/index.js +23 -23
  537. package/out/generator/microApp.d.ts +2 -2
  538. package/out/generator/microApp.js +35 -35
  539. package/out/generator/permission.d.ts +10 -10
  540. package/out/generator/permission.js +269 -269
  541. package/out/generator/qiankun.d.ts +2 -2
  542. package/out/generator/qiankun.js +6 -4
  543. package/out/generator/qiankun.js.map +1 -1
  544. package/out/generator/styleReplacer.d.ts +3 -3
  545. package/out/generator/styleReplacer.js +67 -67
  546. package/out/index.d.ts +13 -13
  547. package/out/index.js +66 -66
  548. package/out/manager/diagnostic.d.ts +35 -35
  549. package/out/manager/diagnostic.js +62 -62
  550. package/out/manager/stepRecorder.d.ts +20 -20
  551. package/out/manager/stepRecorder.js +108 -108
  552. package/out/natural/componentData.d.ts +31 -31
  553. package/out/natural/componentData.js +84 -84
  554. package/out/natural/genNaturalTS.d.ts +3 -3
  555. package/out/natural/genNaturalTS.js +89 -90
  556. package/out/natural/genNaturalTS.js.map +1 -1
  557. package/out/natural/index.d.ts +2 -2
  558. package/out/natural/index.js +18 -18
  559. package/out/natural/naslStdlibMap.d.ts +2 -2
  560. package/out/natural/naslStdlibMap.js +25 -25
  561. package/out/natural/transformTSCode.d.ts +7 -7
  562. package/out/natural/transformTSCode.js +919 -877
  563. package/out/natural/transformTSCode.js.map +1 -1
  564. package/out/sentry/index.d.ts +34 -34
  565. package/out/sentry/index.js +148 -147
  566. package/out/sentry/index.js.map +1 -1
  567. package/out/server/createUiTs.d.ts +16 -16
  568. package/out/server/createUiTs.js +242 -242
  569. package/out/server/entity2LogicNamespace.d.ts +10 -10
  570. package/out/server/entity2LogicNamespace.js +381 -381
  571. package/out/server/event.d.ts +30 -30
  572. package/out/server/event.js +150 -150
  573. package/out/server/extendBaseNode.d.ts +1 -1
  574. package/out/server/extendBaseNode.js +574 -543
  575. package/out/server/extendBaseNode.js.map +1 -1
  576. package/out/server/formatTsUtils.d.ts +37 -37
  577. package/out/server/formatTsUtils.js +851 -851
  578. package/out/server/getConnector.d.ts +14 -14
  579. package/out/server/getConnector.js +77 -77
  580. package/out/server/getExtensionModules.d.ts +3 -3
  581. package/out/server/getExtensionModules.js +33 -33
  582. package/out/server/getFunctions.d.ts +3 -3
  583. package/out/server/getFunctions.js +19 -19
  584. package/out/server/getInterfaces.d.ts +2 -2
  585. package/out/server/getInterfaces.js +47 -47
  586. package/out/server/getLogging.d.ts +1 -1
  587. package/out/server/getLogging.js +8 -8
  588. package/out/server/getLogics.d.ts +4 -4
  589. package/out/server/getLogics.js +380 -380
  590. package/out/server/getMemberIdentifier.d.ts +17 -17
  591. package/out/server/getMemberIdentifier.js +508 -508
  592. package/out/server/getProcessComponents.d.ts +2 -2
  593. package/out/server/getProcessComponents.js +12 -12
  594. package/out/server/getProcesses.d.ts +33 -33
  595. package/out/server/getProcesses.js +596 -596
  596. package/out/server/getScope.d.ts +13 -13
  597. package/out/server/getScope.js +60 -60
  598. package/out/server/getValidates.d.ts +3 -3
  599. package/out/server/getValidates.js +13 -13
  600. package/out/server/index.d.ts +5 -5
  601. package/out/server/index.js +41 -41
  602. package/out/server/naslServer.d.ts +375 -371
  603. package/out/server/naslServer.js +4706 -4585
  604. package/out/server/naslServer.js.map +1 -1
  605. package/out/server/naslStdlibMap.d.ts +2 -2
  606. package/out/server/naslStdlibMap.js +53 -53
  607. package/out/server/process2LogicNamespace.d.ts +26 -26
  608. package/out/server/process2LogicNamespace.js +108 -108
  609. package/out/server/translator.d.ts +26 -26
  610. package/out/server/translator.js +819 -805
  611. package/out/server/translator.js.map +1 -1
  612. package/out/service/creator/add.configs.d.ts +1 -1
  613. package/out/service/creator/add.configs.js +102 -102
  614. package/out/service/creator/errHandles.d.ts +18 -18
  615. package/out/service/creator/errHandles.js +67 -67
  616. package/out/service/creator/index.d.ts +1 -1
  617. package/out/service/creator/index.js +86 -86
  618. package/out/service/datasource/api.d.ts +12 -12
  619. package/out/service/datasource/api.js +13 -13
  620. package/out/service/datasource/index.d.ts +2 -2
  621. package/out/service/datasource/index.js +9 -9
  622. package/out/service/defaultErrorMessage.json +98 -98
  623. package/out/service/logic/api.d.ts +9 -9
  624. package/out/service/logic/api.js +10 -10
  625. package/out/service/logic/checktypeSocket.d.ts +5 -5
  626. package/out/service/logic/checktypeSocket.js +54 -54
  627. package/out/service/logic/index.d.ts +2 -2
  628. package/out/service/logic/index.js +9 -9
  629. package/out/service/storage/api.d.ts +54 -54
  630. package/out/service/storage/api.js +41 -41
  631. package/out/service/storage/index.d.ts +2 -2
  632. package/out/service/storage/index.js +9 -9
  633. package/out/service/storage/init.d.ts +102 -102
  634. package/out/service/storage/init.js +1161 -1161
  635. package/out/service/storage/jsoner.d.ts +36 -36
  636. package/out/service/storage/jsoner.js +128 -130
  637. package/out/service/storage/jsoner.js.map +1 -1
  638. package/out/service/storage/map.d.ts +4 -4
  639. package/out/service/storage/map.js +53 -53
  640. package/out/service/storage/service.d.ts +25 -25
  641. package/out/service/storage/service.js +79 -79
  642. package/out/service/storage/storagePoint.d.ts +17 -17
  643. package/out/service/storage/storagePoint.js +75 -75
  644. package/out/service/video/BaseService.d.ts +7 -7
  645. package/out/service/video/BaseService.js +60 -60
  646. package/out/service/video/MainCallbackService.d.ts +12 -12
  647. package/out/service/video/MainCallbackService.js +182 -182
  648. package/out/service/video/VideoTranscribe.d.ts +15 -15
  649. package/out/service/video/VideoTranscribe.js +95 -95
  650. package/out/service/video/publishService.d.ts +1 -1
  651. package/out/service/video/publishService.js +57 -57
  652. package/out/templator/genCallComponentLogic.d.ts +17 -17
  653. package/out/templator/genCallComponentLogic.js +28 -28
  654. package/out/templator/genCreateBlock.d.ts +10 -10
  655. package/out/templator/genCreateBlock.js +297 -297
  656. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +8 -8
  657. package/out/templator/genCurdEditMultipleKeyBlock.js +398 -398
  658. package/out/templator/genCurdMultipleKeyBlock.d.ts +34 -34
  659. package/out/templator/genCurdMultipleKeyBlock.js +541 -541
  660. package/out/templator/genEditTableBlock.d.ts +51 -51
  661. package/out/templator/genEditTableBlock.js +255 -255
  662. package/out/templator/genEnumSelectBlock.d.ts +10 -10
  663. package/out/templator/genEnumSelectBlock.js +21 -21
  664. package/out/templator/genGetBlock.d.ts +6 -6
  665. package/out/templator/genGetBlock.js +96 -96
  666. package/out/templator/genGridViewBlock.d.ts +55 -55
  667. package/out/templator/genGridViewBlock.js +286 -286
  668. package/out/templator/genListViewBlock.d.ts +19 -19
  669. package/out/templator/genListViewBlock.js +108 -108
  670. package/out/templator/genQueryComponent.d.ts +34 -34
  671. package/out/templator/genQueryComponent.js +348 -348
  672. package/out/templator/genSelectBlock.d.ts +45 -45
  673. package/out/templator/genSelectBlock.js +340 -340
  674. package/out/templator/genTableBlock.d.ts +53 -53
  675. package/out/templator/genTableBlock.js +226 -226
  676. package/out/templator/genUpdateBlock.d.ts +6 -6
  677. package/out/templator/genUpdateBlock.js +322 -322
  678. package/out/templator/index.d.ts +19 -19
  679. package/out/templator/index.js +37 -37
  680. package/out/templator/utils.d.ts +683 -683
  681. package/out/templator/utils.js +458 -458
  682. package/out/translator/constant.d.ts +6 -6
  683. package/out/translator/constant.js +9 -9
  684. package/out/translator/index.d.ts +3 -3
  685. package/out/translator/index.js +19 -19
  686. package/out/translator/types.d.ts +33 -32
  687. package/out/translator/types.js +2 -2
  688. package/out/translator/utils.d.ts +17 -17
  689. package/out/translator/utils.js +110 -97
  690. package/out/translator/utils.js.map +1 -1
  691. package/out/utils/cookie.d.ts +9 -9
  692. package/out/utils/cookie.js +61 -61
  693. package/out/utils/env.d.ts +2 -2
  694. package/out/utils/env.js +5 -5
  695. package/out/utils/i18nInfo.d.ts +5 -5
  696. package/out/utils/i18nInfo.js +60 -60
  697. package/out/utils/index.d.ts +44 -44
  698. package/out/utils/index.js +200 -200
  699. package/out/utils/logger.d.ts +7 -7
  700. package/out/utils/logger.js +22 -22
  701. package/out/utils/sortTsString.d.ts +1 -1
  702. package/out/utils/sortTsString.js +43 -37
  703. package/out/utils/sortTsString.js.map +1 -1
  704. package/out/utils/string.d.ts +51 -51
  705. package/out/utils/string.js +106 -106
  706. package/out/utils/time-slicing.d.ts +41 -41
  707. package/out/utils/time-slicing.js +81 -81
  708. package/out/utils/traverse.d.ts +36 -36
  709. package/out/utils/traverse.js +142 -142
  710. package/out/utils/types.d.ts +1 -1
  711. package/out/utils/types.js +2 -2
  712. package/out/utils/window.d.ts +7 -7
  713. package/out/utils/window.js +13 -13
  714. package/package.json +8 -8
  715. package/sandbox/stdlib/nasl.oql.ts +6 -1
  716. package/sandbox-natural/stdlib/nasl.core.ts +6 -3
  717. package/sandbox-natural/stdlib/nasl.oql.ts +6 -0
  718. package/sandbox-natural/stdlib/nasl.util.ts +2 -1
  719. package/src/automate/template/myProcess.js +3 -2
  720. package/src/common/BaseNode.ts +108 -51
  721. package/src/concepts/Abort__.ts +4 -1
  722. package/src/concepts/AbstractInterface__.ts +64 -0
  723. package/src/concepts/Anchor__.ts +6 -2
  724. package/src/concepts/AnonymousFunction__.ts +11 -5
  725. package/src/concepts/App__.ts +1648 -1378
  726. package/src/concepts/Argument__.ts +7 -3
  727. package/src/concepts/Assignee__.ts +10 -5
  728. package/src/concepts/AssignmentLine__.ts +3 -0
  729. package/src/concepts/Assignment__.ts +8 -4
  730. package/src/concepts/Attribute__.ts +7 -2
  731. package/src/concepts/AuthInterface__.ts +3 -0
  732. package/src/concepts/AuthLogicForCallInterface__.ts +8 -4
  733. package/src/concepts/AuthLogic__.ts +3 -0
  734. package/src/concepts/BackendVariable__.ts +11 -4
  735. package/src/concepts/Backend__.ts +5 -1
  736. package/src/concepts/BatchAssignment__.ts +13 -8
  737. package/src/concepts/BinaryExpression__.ts +10 -6
  738. package/src/concepts/BindAttribute__.ts +6 -2
  739. package/src/concepts/BindDirective__.ts +11 -4
  740. package/src/concepts/BindEvent__.ts +8 -3
  741. package/src/concepts/BindStyle__.ts +5 -1
  742. package/src/concepts/BooleanLiteral__.ts +4 -1
  743. package/src/concepts/CallAuthInterface__.ts +11 -3
  744. package/src/concepts/CallConnector__.ts +3 -0
  745. package/src/concepts/CallFunction__.ts +41 -15
  746. package/src/concepts/CallInterface__.ts +33 -21
  747. package/src/concepts/CallLogic__.ts +41 -35
  748. package/src/concepts/CallQueryComponent__.ts +11 -14
  749. package/src/concepts/Comment__.ts +3 -0
  750. package/src/concepts/CompletionProperty__.ts +5 -1
  751. package/src/concepts/ConfigGroup__.ts +5 -1
  752. package/src/concepts/ConfigPropertyValue__.ts +3 -0
  753. package/src/concepts/ConfigProperty__.ts +5 -1
  754. package/src/concepts/Configuration__.ts +5 -1
  755. package/src/concepts/Connection__.ts +5 -1
  756. package/src/concepts/ConnectorTrigger__.ts +3 -0
  757. package/src/concepts/Connector__.ts +910 -25
  758. package/src/concepts/Constant__.ts +9 -4
  759. package/src/concepts/DataSource__.ts +5 -1
  760. package/src/concepts/DatabaseTypeAnnotation__.ts +3 -0
  761. package/src/concepts/DefaultValue__.ts +4 -3
  762. package/src/concepts/Destination__.ts +8 -4
  763. package/src/concepts/End__.ts +3 -0
  764. package/src/concepts/EntityIndex__.ts +3 -0
  765. package/src/concepts/EntityProperty__.ts +14 -4
  766. package/src/concepts/Entity__.ts +17 -2
  767. package/src/concepts/EnumItem__.ts +3 -0
  768. package/src/concepts/Enum__.ts +5 -1
  769. package/src/concepts/Event__.ts +5 -1
  770. package/src/concepts/ExternalDestination__.ts +7 -3
  771. package/src/concepts/ForEachStatement__.ts +21 -16
  772. package/src/concepts/FrontendLibrary__.ts +7 -2
  773. package/src/concepts/FrontendVariable__.ts +3 -0
  774. package/src/concepts/Frontend__.ts +59 -14
  775. package/src/concepts/Function__.ts +15 -7
  776. package/src/concepts/I18nInfo__.ts +1 -0
  777. package/src/concepts/Identifier__.ts +9 -2
  778. package/src/concepts/IfStatement__.ts +25 -22
  779. package/src/concepts/Integration__.ts +8 -4
  780. package/src/concepts/InterfaceFromExample__.ts +194 -0
  781. package/src/concepts/InterfaceParam__.ts +20 -4
  782. package/src/concepts/Interface__.ts +51 -25
  783. package/src/concepts/JSBlock__.ts +3 -0
  784. package/src/concepts/JavaLogic__.ts +3 -0
  785. package/src/concepts/LogicItem__.ts +3 -0
  786. package/src/concepts/Logic__.ts +48 -19
  787. package/src/concepts/MatchCase__.ts +16 -5
  788. package/src/concepts/Match__.ts +8 -4
  789. package/src/concepts/MemberExpression__.ts +8 -4
  790. package/src/concepts/MicroApp__.ts +3 -0
  791. package/src/concepts/Module__.ts +286 -893
  792. package/src/concepts/MsgTriggerEvent__.ts +5 -1
  793. package/src/concepts/MsgTriggerLauncher__.ts +6 -2
  794. package/src/concepts/Namespace__.ts +246 -173
  795. package/src/concepts/NewComposite__.ts +54 -103
  796. package/src/concepts/NewList__.ts +27 -18
  797. package/src/concepts/NewMap__.ts +29 -15
  798. package/src/concepts/New__.ts +3 -0
  799. package/src/concepts/NullLiteral__.ts +4 -1
  800. package/src/concepts/NumericLiteral__.ts +6 -2
  801. package/src/concepts/OqlQueryComponent__.ts +8 -1
  802. package/src/concepts/OverriddenLogic__.ts +18 -7
  803. package/src/concepts/Param__.ts +8 -2
  804. package/src/concepts/Point__.ts +3 -0
  805. package/src/concepts/ProcessComponent__.ts +7 -2
  806. package/src/concepts/ProcessElement__.ts +19 -8
  807. package/src/concepts/ProcessOutcome__.ts +20 -2
  808. package/src/concepts/ProcessOutcomes__.ts +20 -2
  809. package/src/concepts/Process__.ts +15 -7
  810. package/src/concepts/QueryAggregateExpression__.ts +5 -1
  811. package/src/concepts/QueryFieldExpression__.ts +3 -0
  812. package/src/concepts/QueryFromExpression__.ts +5 -1
  813. package/src/concepts/QueryGroupByExpression__.ts +5 -1
  814. package/src/concepts/QueryJoinExpression__.ts +5 -1
  815. package/src/concepts/QueryLimitExpression__.ts +5 -1
  816. package/src/concepts/QueryOrderByExpression__.ts +5 -1
  817. package/src/concepts/QuerySelectExpression__.ts +5 -1
  818. package/src/concepts/Rect__.ts +3 -0
  819. package/src/concepts/Return__.ts +9 -3
  820. package/src/concepts/Role__.ts +3 -0
  821. package/src/concepts/SelectMembers__.ts +5 -1
  822. package/src/concepts/Slot__.ts +5 -1
  823. package/src/concepts/SqlQueryComponent__.ts +5 -1
  824. package/src/concepts/Start__.ts +3 -0
  825. package/src/concepts/StringInterpolation__.ts +7 -3
  826. package/src/concepts/StringLiteral__.ts +12 -3
  827. package/src/concepts/StructureProperty__.ts +12 -4
  828. package/src/concepts/Structure__.ts +25 -3
  829. package/src/concepts/SwitchCase__.ts +9 -1
  830. package/src/concepts/SwitchStatement__.ts +7 -3
  831. package/src/concepts/Theme__.ts +3 -0
  832. package/src/concepts/Transactional__.ts +3 -0
  833. package/src/concepts/TriggerEvent__.ts +5 -1
  834. package/src/concepts/TriggerLauncher__.ts +3 -0
  835. package/src/concepts/TypeAnnotation__.ts +62 -23
  836. package/src/concepts/TypeParam__.ts +3 -0
  837. package/src/concepts/UnaryExpression__.ts +8 -4
  838. package/src/concepts/Unparsed__.ts +5 -2
  839. package/src/concepts/UseComponent__.ts +3 -0
  840. package/src/concepts/ValidationRule__.ts +21 -7
  841. package/src/concepts/Variable__.ts +10 -4
  842. package/src/concepts/ViewBlock__.ts +3 -0
  843. package/src/concepts/ViewComponent__.ts +15 -6
  844. package/src/concepts/ViewElement__.ts +13 -5
  845. package/src/concepts/View__.ts +27 -11
  846. package/src/concepts/WhileStatement__.ts +7 -1
  847. package/src/concepts/basics/constants.ts +2 -0
  848. package/src/concepts/basics/stdlib/nasl.util.ts +3 -3
  849. package/src/concepts/index__.ts +2 -0
  850. package/src/concepts/types__.ts +4 -0
  851. package/src/decorators/index.ts +55 -0
  852. package/src/enums/KEYWORDS.ts +2 -0
  853. package/src/generator/genBundleFiles.ts +7 -7
  854. package/src/generator/genMetaData.ts +7 -2
  855. package/src/generator/genReleaseBody.ts +8 -4
  856. package/src/generator/icestark.ts +4 -2
  857. package/src/generator/qiankun.ts +3 -1
  858. package/src/natural/genNaturalTS.ts +5 -6
  859. package/src/natural/transformTSCode.ts +53 -13
  860. package/src/sentry/index.ts +3 -1
  861. package/src/server/extendBaseNode.ts +30 -2
  862. package/src/server/naslServer.ts +142 -22
  863. package/src/server/translator.ts +13 -1
  864. package/src/service/storage/jsoner.ts +2 -2
  865. package/src/translator/types.ts +1 -0
  866. package/src/translator/utils.ts +15 -0
  867. package/src/utils/sortTsString.ts +9 -4
  868. package/test/concepts/call-function/__snapshots__/toEmbeddedTS.spec.ts.snap +26 -0
  869. package/test/concepts/call-function/__snapshots__/toJS.spec.ts.snap +26 -0
  870. package/test/concepts/call-function/constant.ts +5 -0
  871. package/test/concepts/call-function/fixtures/from-string.json +100 -0
  872. package/test/concepts/call-function/fixtures/to-string-global-tz.json +99 -0
  873. package/test/concepts/call-function/fixtures/to-string-no-tz.json +89 -0
  874. package/test/concepts/call-function/fixtures/to-string-user-tz.json +101 -0
  875. package/test/concepts/call-function/fixtures/to-string-utc-tz.json +101 -0
  876. package/test/concepts/call-function/toEmbeddedTS.spec.ts +14 -0
  877. package/test/concepts/call-function/toJS.spec.ts +14 -0
  878. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -3
  879. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +3 -3
  880. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
@@ -1,881 +1,884 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
- var __importDefault = (this && this.__importDefault) || function (mod) {
32
- return (mod && mod.__esModule) ? mod : { "default": mod };
33
- };
34
- var BatchAssignment_1;
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.BatchAssignment = void 0;
37
- const translator_1 = require("../translator");
38
- const Assignment__1 = __importDefault(require("./Assignment__"));
39
- const decorators_1 = require("../decorators");
40
- const utils = __importStar(require("../utils"));
41
- const SelectMembers__1 = __importDefault(require("./SelectMembers__"));
42
- const AssignmentLine__1 = __importDefault(require("./AssignmentLine__"));
43
- const LogicItem__1 = __importDefault(require("./LogicItem__"));
44
- /**
45
- * 批量赋值语句
46
- */
47
- let BatchAssignment = class BatchAssignment extends LogicItem__1.default {
48
- static { BatchAssignment_1 = this; }
49
- /** 类名 */
50
- static ConceptName = 'BatchAssignment';
51
- /**
52
- * 产品概念
53
- */
54
- concept;
55
- /**
56
- * 批量赋值语句标题
57
- */
58
- label = '批量赋值';
59
- /**
60
- * 左边项
61
- */
62
- // @ts-ignore
63
- left;
64
- /**
65
- * 右边项
66
- */
67
- rights = [];
68
- /**
69
- * 赋值
70
- */
71
- assignmentLines = [];
72
- /**
73
- * 自动连线
74
- */
75
- autoConnection = true;
76
- /**
77
- * @param source 需要合并的部分参数
78
- */
79
- constructor(source) {
80
- source = Object.assign({}, BatchAssignment_1.getDefaultOptions(), source);
81
- super(source);
82
- super.subConstructor(source);
83
- }
84
- static from(source, parentNode, parentKey) {
85
- return super.from(source, parentNode, parentKey);
86
- }
87
- /**
88
- * 设置左边项
89
- */
90
- setLeft(left) {
91
- left._delete();
92
- const relationOptions = { parentNode: this, parentKey: 'left' };
93
- Object.assign(left, relationOptions);
94
- const object = {
95
- left,
96
- };
97
- this.update({
98
- ...object,
99
- });
100
- }
101
- /**
102
- * 设置右边项
103
- */
104
- setRights(rights) {
105
- const object = {
106
- rights,
107
- };
108
- this.update({
109
- ...object,
110
- });
111
- }
112
- /**
113
- * 设置赋值
114
- */
115
- setAssignmentLines(assignmentLines) {
116
- const object = {
117
- assignmentLines,
118
- };
119
- this.update({
120
- ...object,
121
- });
122
- }
123
- /**
124
- * 设置自动连线
125
- */
126
- setAutoConnection(autoConnection) {
127
- const object = {
128
- autoConnection,
129
- };
130
- this.update({
131
- ...object,
132
- });
133
- }
134
- getSelectMembersExistingNames(excludedList = []) {
135
- const excludedSet = new Set(excludedList);
136
- return (this.rights || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
137
- }
138
- getSelectMembersUniqueName(name = 'selectMembers1') {
139
- return utils.unique(name, this.getSelectMembersExistingNames(), undefined, false);
140
- }
141
- _insertSelectMembersAt(options, index) {
142
- const selectMembersOptions = {};
143
- const relationOptions = { parentNode: this, parentKey: 'rights' };
144
- let selectMembers;
145
- if (!options) {
146
- selectMembers = SelectMembers__1.default.from({
147
- ...selectMembersOptions,
148
- name: this.getSelectMembersUniqueName(),
149
- }, this, 'rights');
150
- }
151
- else if (typeof options === 'string') {
152
- selectMembers = SelectMembers__1.default.from({
153
- ...selectMembersOptions,
154
- name: options,
155
- }, this, 'rights');
156
- }
157
- else if (options instanceof SelectMembers__1.default) {
158
- options.ensureDelete(); // 同一实例不支持多处存在
159
- selectMembers = options;
160
- Object.assign(selectMembers, relationOptions);
161
- }
162
- else {
163
- selectMembers = SelectMembers__1.default.from({
164
- ...selectMembersOptions,
165
- ...options,
166
- }, this, 'rights');
167
- }
168
- this.rights.splice(index, 0, selectMembers);
169
- return selectMembers;
170
- }
171
- insertSelectMembersAt(options, index) {
172
- const node = this._insertSelectMembersAt(options, index);
173
- node.create({
174
- index,
175
- parentNode: this,
176
- parentKey: 'rights',
177
- });
178
- return node;
179
- }
180
- _addSelectMembers(options) {
181
- const index = this.rights.length;
182
- return this._insertSelectMembersAt(options, index);
183
- }
184
- addSelectMembers(options) {
185
- const node = this._addSelectMembers(options);
186
- const index = this.rights.indexOf(node);
187
- node.create({
188
- index,
189
- parentNode: this,
190
- parentKey: 'rights',
191
- });
192
- return node;
193
- }
194
- getAssignmentLineExistingNames(excludedList = []) {
195
- const excludedSet = new Set(excludedList);
196
- return (this.assignmentLines || [])
197
- .filter((item) => !excludedSet.has(item))
198
- .map((item) => item.name);
199
- }
200
- getAssignmentLineUniqueName(name = 'assignmentLine1') {
201
- return utils.unique(name, this.getAssignmentLineExistingNames(), undefined, false);
202
- }
203
- _insertAssignmentLineAt(options, index) {
204
- const assignmentLineOptions = {};
205
- const relationOptions = { parentNode: this, parentKey: 'assignmentLines' };
206
- let assignmentLine;
207
- if (!options) {
208
- assignmentLine = AssignmentLine__1.default.from({
209
- ...assignmentLineOptions,
210
- name: this.getAssignmentLineUniqueName(),
211
- }, this, 'assignmentLines');
212
- }
213
- else if (typeof options === 'string') {
214
- assignmentLine = AssignmentLine__1.default.from({
215
- ...assignmentLineOptions,
216
- name: options,
217
- }, this, 'assignmentLines');
218
- }
219
- else if (options instanceof AssignmentLine__1.default) {
220
- options.ensureDelete(); // 同一实例不支持多处存在
221
- assignmentLine = options;
222
- Object.assign(assignmentLine, relationOptions);
223
- }
224
- else {
225
- assignmentLine = AssignmentLine__1.default.from({
226
- ...assignmentLineOptions,
227
- ...options,
228
- }, this, 'assignmentLines');
229
- }
230
- this.assignmentLines.splice(index, 0, assignmentLine);
231
- return assignmentLine;
232
- }
233
- insertAssignmentLineAt(options, index) {
234
- const node = this._insertAssignmentLineAt(options, index);
235
- node.create({
236
- index,
237
- parentNode: this,
238
- parentKey: 'assignmentLines',
239
- });
240
- return node;
241
- }
242
- _addAssignmentLine(options) {
243
- const index = this.assignmentLines.length;
244
- return this._insertAssignmentLineAt(options, index);
245
- }
246
- addAssignmentLine(options) {
247
- const node = this._addAssignmentLine(options);
248
- const index = this.assignmentLines.indexOf(node);
249
- node.create({
250
- index,
251
- parentNode: this,
252
- parentKey: 'assignmentLines',
253
- });
254
- return node;
255
- }
256
- removeLeft(options) {
257
- let left;
258
- if (typeof options === 'string') {
259
- left = this.left;
260
- if (!left) {
261
- throw new Error('找不到选择成员 ' + options);
262
- }
263
- }
264
- else {
265
- left = options;
266
- }
267
- return left.delete();
268
- }
269
- removeSelectMembersInRights(options) {
270
- let selectMembers;
271
- if (typeof options === 'string') {
272
- selectMembers = this.rights.find((item) => item.name === options);
273
- if (!selectMembers) {
274
- throw new Error('找不到选择成员 ' + options);
275
- }
276
- }
277
- else {
278
- selectMembers = options;
279
- }
280
- return selectMembers.delete();
281
- }
282
- __removeSelectMembers(selectMembers) {
283
- const parentKey = selectMembers.parentKey;
284
- const params = {
285
- parentNode: this,
286
- parentKey,
287
- index: -1,
288
- object: null,
289
- oldObject: selectMembers,
290
- };
291
- if (parentKey) {
292
- params.parentKey = parentKey;
293
- // @ts-ignore
294
- const t = this.__v_raw || this;
295
- // @ts-ignore
296
- const n = selectMembers.__v_raw || selectMembers;
297
- if (Array.isArray(t[parentKey])) {
298
- const index = t[parentKey].indexOf(n);
299
- ~index && this[parentKey].splice(index, 1);
300
- params.index = index;
301
- }
302
- else if (t[parentKey] === n) {
303
- params.index = 0;
304
- this[parentKey] = undefined;
305
- }
306
- }
307
- return params;
308
- }
309
- removeAssignmentLine(options) {
310
- let assignmentLine;
311
- if (typeof options === 'string') {
312
- assignmentLine = this.assignmentLines.find((item) => item.name === options);
313
- if (!assignmentLine) {
314
- throw new Error('找不到赋值连线 ' + options);
315
- }
316
- }
317
- else {
318
- assignmentLine = options;
319
- }
320
- return assignmentLine.delete();
321
- }
322
- __removeAssignmentLine(assignmentLine) {
323
- const parentKey = assignmentLine.parentKey;
324
- const params = {
325
- parentNode: this,
326
- parentKey,
327
- index: -1,
328
- object: null,
329
- oldObject: assignmentLine,
330
- };
331
- if (parentKey) {
332
- params.parentKey = parentKey;
333
- // @ts-ignore
334
- const t = this.__v_raw || this;
335
- // @ts-ignore
336
- const n = assignmentLine.__v_raw || assignmentLine;
337
- if (Array.isArray(t[parentKey])) {
338
- const index = t[parentKey].indexOf(n);
339
- ~index && this[parentKey].splice(index, 1);
340
- params.index = index;
341
- }
342
- else if (t[parentKey] === n) {
343
- params.index = 0;
344
- this[parentKey] = undefined;
345
- }
346
- }
347
- return params;
348
- }
349
- //================================================================================
350
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
351
- // 自动生成的代码已结束。下面可以手动编写。
352
- //================================================================================
353
- static getDefaultOptions() {
354
- return {
355
- left: {
356
- concept: 'SelectMembers',
357
- expression: {
358
- concept: 'Identifier',
359
- name: '',
360
- },
361
- },
362
- };
363
- }
364
- // 自动连线算法---addRightIndex : 指右边选择变量后对该selectmember进行自动连线。
365
- async batchAutoConnection(addRightIndex) {
366
- const leftLineSet = new Set();
367
- const lineArr = [];
368
- // 系统属性不可自动连线
369
- ['id', 'createdTime', 'updatedTime', 'createdBy', 'updatedBy'].forEach((name) => leftLineSet.add(name));
370
- // 左边已连线的下标
371
- this.assignmentLines.forEach((line) => {
372
- if (line.leftIndex.length > 1)
373
- leftLineSet.add(Number(line.leftIndex[1]));
374
- });
375
- // 父节点不允许自动连线
376
- for (let i = 0; i < this.left.members.length - 1; i++) {
377
- const { completeName } = this.left.members[i];
378
- const preCompleteName = this.left.members[i + 1].completeName;
379
- if (preCompleteName.includes(completeName) &&
380
- completeName.split('.').length !== preCompleteName.split('.').length)
381
- leftLineSet.add(i);
382
- }
383
- // await new Promise((resolve) => setTimeout(resolve, 400));
384
- const autoConnection = () => {
385
- this.app.emit('collect:start', {
386
- actionMsg: '自动连线',
387
- });
388
- this.left.members.forEach((member, leftSecondIndex) => {
389
- const leftValue = member.getValue();
390
- const leftName = member.property?.name;
391
- const leftTypeAnnotation = member.__TypeAnnotation;
392
- if (leftLineSet.has(leftSecondIndex) || leftLineSet.has(leftName))
393
- return;
394
- this.rights.forEach((selectMember, rightFirstIndex) => {
395
- const { members, expression } = selectMember;
396
- if (leftLineSet.has(leftSecondIndex))
397
- return;
398
- if (addRightIndex !== -1 && addRightIndex !== rightFirstIndex)
399
- return;
400
- // 右侧父节点也不允许自动连线
401
- const rightLineSet = new Set();
402
- for (let i = 0; i < members.length - 1; i++) {
403
- const { completeName } = members[i];
404
- const preCompleteName = members[i + 1].completeName;
405
- if (preCompleteName.includes(completeName) &&
406
- completeName.split('.').length !== preCompleteName.split('.').length)
407
- rightLineSet.add(i);
408
- }
409
- if (leftName === expression.name && expression.__TypeAnnotation?.typeKind === leftTypeAnnotation.typeKind) {
410
- const Line = new AssignmentLine__1.default({
411
- leftIndex: [0, leftSecondIndex],
412
- rightIndex: [rightFirstIndex],
413
- });
414
- lineArr.push(Line);
415
- leftLineSet.add(leftSecondIndex);
416
- return;
417
- }
418
- members.forEach((rightMember, rightSecondIndex) => {
419
- const rightValue = rightMember.getValue();
420
- const rightName = rightMember.property?.name;
421
- if (rightLineSet.has(rightSecondIndex))
422
- return;
423
- if (leftName === rightName && leftValue.split('.').length === rightValue.split('.').length) {
424
- const rightTypeAnnotation = rightMember.__TypeAnnotation;
425
- if (leftTypeAnnotation.typeKind !== rightTypeAnnotation.typeKind)
426
- return;
427
- const leftIndex = [0, leftSecondIndex];
428
- const rightIndex = [rightFirstIndex, rightSecondIndex];
429
- const Line = new AssignmentLine__1.default({ leftIndex, rightIndex });
430
- lineArr.push(Line);
431
- leftLineSet.add(leftSecondIndex);
432
- }
433
- });
434
- });
435
- });
436
- lineArr.length && this.setAssignmentLines([...this.assignmentLines, ...lineArr]);
437
- this.app.emit('collect:end');
438
- };
439
- let count = 0;
440
- const typeAnnotationEnd = () => {
441
- const l = this.left.members.every((item) => item.__isCorrectTypeAnnotation);
442
- const r = this.rights.every((right) => right.members.every((item) => item.__isCorrectTypeAnnotation) && right.expression.__isCorrectTypeAnnotation);
443
- count++;
444
- if (l && r) {
445
- autoConnection();
446
- }
447
- else if (count <= 10) {
448
- setTimeout(() => {
449
- typeAnnotationEnd();
450
- }, 100);
451
- }
452
- };
453
- typeAnnotationEnd();
454
- }
455
- connection(leftItem, rightItem, rightToLeft) {
456
- let newLeftIndex = [0];
457
- let newRightIndex = [];
458
- let newLines = [];
459
- let newMembers = this.left.members;
460
- if (leftItem.concept !== 'SelectMembers' && leftItem.parentKey !== 'expression') {
461
- const { members } = this.left;
462
- const secondIndex = members.findIndex((exp) => exp === leftItem);
463
- const completeNameSplitLength = members[secondIndex].completeName.split('.').length;
464
- let filterLines = [];
465
- // 连线左边的坐标。
466
- newLeftIndex = [0, secondIndex];
467
- // 父节点选中后删除此节点下的子节点
468
- let sameLevelIndex = members.findIndex((exp, index) => {
469
- if (index > secondIndex) {
470
- return exp.completeName.split('.').length <= completeNameSplitLength;
471
- }
472
- return false;
473
- });
474
- sameLevelIndex = sameLevelIndex === -1 ? members.length : sameLevelIndex;
475
- newMembers = members.filter((member, index) => index <= secondIndex || index >= sameLevelIndex);
476
- filterLines = this.assignmentLines.filter(({ leftIndex }) => leftIndex[1] <= secondIndex || leftIndex[1] >= sameLevelIndex);
477
- // members成员减少,需要重新计算后续连线下标
478
- filterLines.forEach((line) => {
479
- const distance = sameLevelIndex - secondIndex - 1;
480
- if (line.leftIndex[1] > secondIndex) {
481
- const newLine = { ...line?.toJSON(), leftIndex: [line.leftIndex[0], line.leftIndex[1] - distance] };
482
- newLines.push(newLine);
483
- return;
484
- }
485
- newLines.push(line);
486
- });
487
- }
488
- else {
489
- newLines = [];
490
- newMembers = [];
491
- }
492
- if (rightItem.concept === 'SelectMembers') {
493
- newRightIndex = [this.rights.findIndex((right) => right === rightItem)];
494
- }
495
- else if (rightItem.concept !== 'MemberExpression') {
496
- newRightIndex = [this.rights.findIndex((right) => right === rightItem.parentNode)];
497
- }
498
- else {
499
- const selectMember = rightItem.getAncestor('SelectMembers');
500
- const firstIndex = this.rights.findIndex((right) => right === selectMember);
501
- const secondIndex = this.rights[firstIndex].members.findIndex((exp) => exp === rightItem);
502
- newRightIndex = [firstIndex, secondIndex];
503
- }
504
- // 左边同一个属性只能有一个连线
505
- if (rightToLeft) {
506
- newLines = newLines.filter(({ leftIndex: index }) => !(newLeftIndex[0] === index[0] && newLeftIndex[1] === index[1]));
507
- }
508
- this.update({
509
- assignmentLines: newLines,
510
- });
511
- this.left.update({
512
- members: newMembers,
513
- });
514
- const Line = new AssignmentLine__1.default({
515
- leftIndex: newLeftIndex,
516
- rightIndex: newRightIndex,
517
- });
518
- this.addAssignmentLine(Line);
519
- }
520
- swapLocation(location1, location2) {
521
- if (location1 === location2)
522
- return;
523
- const newRights = this.rights;
524
- [newRights[location1], newRights[2]] = [newRights[location2], newRights[1]];
525
- const newLines = this.assignmentLines.map((line) => {
526
- if (line.rightIndex[0] === location1) {
527
- line.rightIndex[0] = location2;
528
- }
529
- else if (line.rightIndex[0] === location2) {
530
- line.rightIndex[0] = location1;
531
- }
532
- return line;
533
- });
534
- this.update({
535
- rigths: newRights,
536
- assignmentLines: newLines,
537
- });
538
- }
539
- deleteAssignmentLine(assignmentLine) {
540
- const newLine = this.assignmentLines.filter((line) => line !== assignmentLine);
541
- this.update({
542
- assignmentLines: newLine,
543
- });
544
- }
545
- changeLinesLocation(selectMember) {
546
- // 区分操作左边或者操作右边
547
- if (selectMember === this.left) {
548
- this.update({
549
- left: null,
550
- assignmentLines: [],
551
- });
552
- }
553
- else if (this.rights.findIndex((member) => selectMember === member) !== -1) {
554
- const index = this.rights.findIndex((member) => selectMember === member);
555
- const newRights = this.rights.filter((member) => selectMember !== member);
556
- const filterLine = this.assignmentLines.filter((line) => line.rightIndex[0] !== index);
557
- const newLines = [];
558
- filterLine.forEach((line) => {
559
- if (line.rightIndex[0] > index) {
560
- if (line.rightIndex[1] === undefined) {
561
- const newLine = { ...line?.toJSON(), rightIndex: [line.rightIndex[0] - 1] };
562
- newLines.push(newLine);
563
- }
564
- else {
565
- const newLine = { ...line?.toJSON(), rightIndex: [line.rightIndex[0] - 1, line.rightIndex[1]] };
566
- newLines.push(newLine);
567
- }
568
- }
569
- else {
570
- newLines.push(line);
571
- }
572
- });
573
- this.update({
574
- rights: newRights,
575
- assignmentLines: newLines,
576
- });
577
- }
578
- }
579
- changeMembers(oldNode, members, keepMembers, expression) {
580
- this.app.emit('collect:start', {
581
- actionMsg: '批量赋值修改变量',
582
- });
583
- const selectMember = oldNode.parentNode;
584
- const autoConnectionIndex = this.rights.findIndex((right) => right === selectMember);
585
- const newSelectMember = { ...selectMember?.toJSON?.(), expression, members };
586
- let newLines = [];
587
- // 修改连线
588
- if (selectMember.parentKey === 'left') {
589
- members.forEach((item, index) => {
590
- if (keepMembers?.has(item.completeName)) {
591
- const lines = this.findlines(item, selectMember);
592
- lines.forEach((line) => {
593
- const newLine = { ...line?.toJSON(), leftIndex: [line.leftIndex[0], index] };
594
- newLines.push(newLine);
595
- });
596
- }
597
- });
598
- this.update({
599
- assignmentLines: newLines,
600
- left: newSelectMember,
601
- });
602
- }
603
- else {
604
- const splitIndex = this.rights.findIndex((right) => selectMember === right);
605
- newLines = this.assignmentLines.filter(({ rightIndex }) => rightIndex[0] !== splitIndex);
606
- members.forEach((item, index) => {
607
- if (keepMembers?.has(item.completeName)) {
608
- const lines = this.findlines(item, selectMember);
609
- lines.forEach((line) => {
610
- const newLine = { ...line?.toJSON(), rightIndex: [line.rightIndex[0], index] };
611
- newLines.push(newLine);
612
- });
613
- }
614
- });
615
- this.update({
616
- assignmentLines: newLines,
617
- rights: [
618
- ...this.rights.slice(0, splitIndex),
619
- newSelectMember,
620
- ...this.rights.slice(splitIndex + 1, this.rights.length),
621
- ],
622
- });
623
- }
624
- this.autoConnection && this.batchAutoConnection(autoConnectionIndex);
625
- this.app.emit('collect:end');
626
- }
627
- findMember(arrIndex, place) {
628
- const [firstIndex, secondIndex] = [arrIndex[0], arrIndex[1]];
629
- if (place === 'left') {
630
- if (secondIndex === undefined) {
631
- return this.left.expression;
632
- }
633
- return this.left.members[secondIndex];
634
- }
635
- if (secondIndex === undefined) {
636
- return this.rights[firstIndex].expression;
637
- }
638
- return this.rights[firstIndex].members[secondIndex];
639
- }
640
- findlines(member, selectMember) {
641
- const lines = [];
642
- // 根节点的情况
643
- if (selectMember === this) {
644
- if (member === this.left)
645
- return this.assignmentLines;
646
- const firstIndex = this.rights.findIndex((right) => right === member);
647
- return this.assignmentLines.filter(({ rightIndex }) => rightIndex[1] === undefined && rightIndex[0] === firstIndex);
648
- }
649
- if (this.left === selectMember) {
650
- const index2 = selectMember.members.findIndex((item) => item.completeName === member.completeName);
651
- this.assignmentLines.forEach((line) => {
652
- if (line.leftIndex[1] === index2)
653
- lines.push(line);
654
- });
655
- }
656
- else {
657
- const index1 = this.rights.findIndex((right) => right === selectMember);
658
- const index2 = selectMember.members.findIndex((item) => item.completeName === member.completeName);
659
- this.assignmentLines.forEach((line) => {
660
- if (line.rightIndex[0] === index1 && line.rightIndex[1] === index2)
661
- lines.push(line);
662
- });
663
- }
664
- return lines;
665
- }
666
- replaceAssignment() {
667
- if (this.assignmentLines.length > 1)
668
- return false;
669
- this.app.emit('collect:start', {
670
- actionMsg: '批量赋值切换普通赋值',
671
- });
672
- const { parentKey, parentNode, logic } = this;
673
- let rightExpression;
674
- let leftExpression;
675
- let index;
676
- if (this.assignmentLines.length === 1) {
677
- const { leftIndex, rightIndex } = this.assignmentLines[0];
678
- leftExpression = { ...this.findMember(leftIndex, 'left')?.toJSON?.() };
679
- rightExpression = { ...this.findMember(rightIndex, 'right')?.toJSON?.() };
680
- }
681
- else {
682
- leftExpression = { ...this.left.expression?.toJSON?.() };
683
- }
684
- const assignment = new Assignment__1.default({
685
- left: leftExpression,
686
- right: rightExpression,
687
- offsetX: this.offsetX,
688
- offsetY: this.offsetY,
689
- });
690
- if (parentNode.concept === 'Logic') {
691
- if (parentKey === 'body') {
692
- index = logic.body.findIndex((item) => item === this);
693
- logic.insertItemInBodyAt(assignment, index);
694
- }
695
- else {
696
- index = logic.playground.findIndex((item) => item === this);
697
- logic.insertItemInPlaygroundAt(assignment, index);
698
- }
699
- }
700
- else {
701
- index = parentNode[parentKey].findIndex((item) => item === this);
702
- const firstUpperText = parentKey[0].toUpperCase() + parentKey.slice(1, parentKey.length);
703
- if (parentNode[`insertItemIn${firstUpperText}At`])
704
- parentNode[`insertItemIn${firstUpperText}At`](assignment, index);
705
- else
706
- parentNode.insertItemAt(assignment, index);
707
- }
708
- this.delete();
709
- this.app.emit('collect:end');
710
- return true;
711
- }
712
- toVue(options) {
713
- let code = '';
714
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
715
- const leftValue = leftIndex.length === 1 ? this.left.expression.toVue(options) : this.left.members[leftIndex[1]]?.toVue(options);
716
- code += `${leftValue}`;
717
- code += ' = ';
718
- const rightValue = rightIndex.length === 1
719
- ? this.rights[rightIndex[0]]?.expression?.toVue(options)
720
- : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toVue(options);
721
- code += `${rightValue}`;
722
- code += ';';
723
- code += '\n';
724
- });
725
- return code;
726
- }
727
- toUI(state) {
728
- let code = '';
729
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
730
- const leftValue = leftIndex.length === 1
731
- ? this.left.expression.toUI((0, translator_1.shiftState)(state, code, { inline: true }))
732
- : this.left.members[leftIndex[1]]?.toUI((0, translator_1.shiftState)(state, code, { inline: true }));
733
- code += `${leftValue}`;
734
- code += ' = ';
735
- const rightValue = rightIndex.length === 1
736
- ? this.rights[rightIndex[0]]?.expression?.toUI((0, translator_1.shiftState)(state, code, { inline: true }))
737
- : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toUI((0, translator_1.shiftState)(state, code, { inline: true }));
738
- code += `${rightValue}`;
739
- code += ';';
740
- code += '\n';
741
- });
742
- return code;
743
- }
744
- toJS(state) {
745
- let code = '';
746
- const rightMap = new Map();
747
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
748
- const rightIndexJson = JSON.stringify(rightIndex);
749
- if (rightMap.has(rightIndexJson)) {
750
- rightMap.set(rightIndexJson, [...rightMap.get(rightIndexJson), leftIndex]);
751
- }
752
- else {
753
- rightMap.set(rightIndexJson, [leftIndex]);
754
- }
755
- });
756
- rightMap.forEach((leftIndexs, rightIndexJson) => {
757
- const rightIndex = JSON.parse(rightIndexJson) || [];
758
- const leftItems = leftIndexs.map((leftIndex) => {
759
- const leftItem = leftIndex.length !== 1 ? this.left.members[leftIndex[1]] : this.left.expression;
760
- return leftItem;
761
- });
762
- const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
763
- const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
764
- leftItems.forEach((leftItem) => {
765
- code += `${leftItem.toJS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
766
- code += ` = `;
767
- });
768
- code += `${rightItem.toJS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
769
- code += ';\n';
770
- });
771
- return code;
772
- }
773
- toEmbeddedTS(state = (0, translator_1.createCompilerState)()) {
774
- let code = '// 以下是批量赋值的翻译代码\n';
775
- // 提供sourcemap,获取类型标注和上下文可选变量
776
- code += this.left.expression
777
- ? `${this.left.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`
778
- : '';
779
- code += ';\n';
780
- this.left.members.forEach((member) => {
781
- code += member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
782
- code += '; ';
783
- });
784
- code += '\n';
785
- this.rights.forEach((right) => {
786
- code += `${right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
787
- code += ';\n';
788
- right.members.forEach((member) => {
789
- code += member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
790
- code += '; ';
791
- });
792
- code += right.members.length ? '\n' : '';
793
- });
794
- // 根据连线状态,拆分成多个单赋值
795
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
796
- code += 'nasl.core.assign(';
797
- const leftValue = leftIndex.length === 1
798
- ? this.left.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))
799
- : this.left.members[leftIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
800
- code += `${leftValue}`;
801
- code += ', ';
802
- const rightValue = rightIndex.length === 1
803
- ? this.rights[rightIndex[0]]?.expression?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))
804
- : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
805
- code += `${rightValue}`;
806
- code += ')';
807
- code += ';';
808
- code += '\n';
809
- });
810
- if (!this.assignmentLines.length)
811
- code += `__assignmentLineEmpty__\n`;
812
- code += '// 批量赋值的翻译代码结束---------\n';
813
- return code;
814
- }
815
- toNaturalTS(state = (0, translator_1.createCompilerState)()) {
816
- let code = '';
817
- // 根据连线状态,拆分成多个单赋值
818
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
819
- const leftValue = leftIndex.length === 1
820
- ? this.left.expression.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }))
821
- : this.left.members[leftIndex[1]]?.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }));
822
- code += `${leftValue}`;
823
- code += ' = ';
824
- const rightValue = rightIndex.length === 1
825
- ? this.rights[rightIndex[0]]?.expression?.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }))
826
- : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }));
827
- code += `${rightValue}`;
828
- code += ';';
829
- code += '\n';
830
- });
831
- return code;
832
- }
833
- };
834
- exports.BatchAssignment = BatchAssignment;
835
- __decorate([
836
- (0, decorators_1.property)('concept')
837
- // @ts-ignore
838
- ], BatchAssignment.prototype, "concept", void 0);
839
- __decorate([
840
- (0, decorators_1.property)()
841
- ], BatchAssignment.prototype, "label", void 0);
842
- __decorate([
843
- (0, decorators_1.property)({
844
- objectRef: 'SelectMembers',
845
- })
846
- // @ts-ignore
847
- ], BatchAssignment.prototype, "left", void 0);
848
- __decorate([
849
- (0, decorators_1.property)({
850
- objectRef: 'SelectMembers',
851
- isArray: true,
852
- defaultValue: [],
853
- })
854
- ], BatchAssignment.prototype, "rights", void 0);
855
- __decorate([
856
- (0, decorators_1.property)({
857
- objectRef: 'AssignmentLine',
858
- isArray: true,
859
- defaultValue: [],
860
- })
861
- ], BatchAssignment.prototype, "assignmentLines", void 0);
862
- __decorate([
863
- (0, decorators_1.property)()
864
- ], BatchAssignment.prototype, "autoConnection", void 0);
865
- __decorate([
866
- (0, translator_1.withSourceMap)()
867
- ], BatchAssignment.prototype, "toEmbeddedTS", null);
868
- __decorate([
869
- (0, translator_1.withSourceMap)()
870
- ], BatchAssignment.prototype, "toNaturalTS", null);
871
- exports.BatchAssignment = BatchAssignment = BatchAssignment_1 = __decorate([
872
- decorators_1.className,
873
- (0, decorators_1.concept)('批量赋值语句')
874
- // @ts-ignore
875
- ], BatchAssignment);
876
- exports.default = BatchAssignment;
877
- //================================================================================
878
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
879
- // 自动生成的代码已结束。下面可以手动编写。
880
- //================================================================================
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __importDefault = (this && this.__importDefault) || function (mod) {
32
+ return (mod && mod.__esModule) ? mod : { "default": mod };
33
+ };
34
+ var BatchAssignment_1;
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.BatchAssignment = void 0;
37
+ const translator_1 = require("../translator");
38
+ const Assignment__1 = __importDefault(require("./Assignment__"));
39
+ const decorators_1 = require("../decorators");
40
+ const utils = __importStar(require("../utils"));
41
+ const SelectMembers__1 = __importDefault(require("./SelectMembers__"));
42
+ const AssignmentLine__1 = __importDefault(require("./AssignmentLine__"));
43
+ const LogicItem__1 = __importDefault(require("./LogicItem__"));
44
+ /**
45
+ * 批量赋值语句
46
+ */
47
+ let BatchAssignment = BatchAssignment_1 =
48
+ // @ts-ignore
49
+ class BatchAssignment extends LogicItem__1.default {
50
+ /** 类名 */
51
+ static ConceptName = 'BatchAssignment';
52
+ /** 继承链 */
53
+ static inheritanceChain = ['LogicItem', 'BaseNode'];
54
+ /**
55
+ * 产品概念
56
+ */
57
+ concept;
58
+ /**
59
+ * 批量赋值语句标题
60
+ */
61
+ label = '批量赋值';
62
+ /**
63
+ * 左边项
64
+ */
65
+ // @ts-ignore
66
+ left;
67
+ /**
68
+ * 右边项
69
+ */
70
+ rights = [];
71
+ /**
72
+ * 赋值
73
+ */
74
+ assignmentLines = [];
75
+ /**
76
+ * 自动连线
77
+ */
78
+ autoConnection = true;
79
+ /**
80
+ * @param source 需要合并的部分参数
81
+ */
82
+ constructor(source) {
83
+ source = Object.assign({}, BatchAssignment_1.getDefaultOptions(), source);
84
+ super(source);
85
+ super.subConstructor(source);
86
+ }
87
+ static from(source, parentNode, parentKey) {
88
+ return super.from(source, parentNode, parentKey);
89
+ }
90
+ /**
91
+ * 设置左边项
92
+ */
93
+ setLeft(left) {
94
+ left._delete();
95
+ const relationOptions = { parentNode: this, parentKey: 'left' };
96
+ Object.assign(left, relationOptions);
97
+ const object = {
98
+ left,
99
+ };
100
+ this.update({
101
+ ...object,
102
+ });
103
+ }
104
+ /**
105
+ * 设置右边项
106
+ */
107
+ setRights(rights) {
108
+ const object = {
109
+ rights,
110
+ };
111
+ this.update({
112
+ ...object,
113
+ });
114
+ }
115
+ /**
116
+ * 设置赋值
117
+ */
118
+ setAssignmentLines(assignmentLines) {
119
+ const object = {
120
+ assignmentLines,
121
+ };
122
+ this.update({
123
+ ...object,
124
+ });
125
+ }
126
+ /**
127
+ * 设置自动连线
128
+ */
129
+ setAutoConnection(autoConnection) {
130
+ const object = {
131
+ autoConnection,
132
+ };
133
+ this.update({
134
+ ...object,
135
+ });
136
+ }
137
+ getSelectMembersExistingNames(excludedList = []) {
138
+ const excludedSet = new Set(excludedList);
139
+ return (this.rights || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
140
+ }
141
+ getSelectMembersUniqueName(name = 'selectMembers1') {
142
+ return utils.unique(name, this.getSelectMembersExistingNames(), undefined, false);
143
+ }
144
+ _insertSelectMembersAt(options, index) {
145
+ const selectMembersOptions = {};
146
+ const relationOptions = { parentNode: this, parentKey: 'rights' };
147
+ let selectMembers;
148
+ if (!options) {
149
+ selectMembers = SelectMembers__1.default.from({
150
+ ...selectMembersOptions,
151
+ name: this.getSelectMembersUniqueName(),
152
+ }, this, 'rights');
153
+ }
154
+ else if (typeof options === 'string') {
155
+ selectMembers = SelectMembers__1.default.from({
156
+ ...selectMembersOptions,
157
+ name: options,
158
+ }, this, 'rights');
159
+ }
160
+ else if (options instanceof SelectMembers__1.default) {
161
+ options.ensureDelete(); // 同一实例不支持多处存在
162
+ selectMembers = options;
163
+ Object.assign(selectMembers, relationOptions);
164
+ }
165
+ else {
166
+ selectMembers = SelectMembers__1.default.from({
167
+ ...selectMembersOptions,
168
+ ...options,
169
+ }, this, 'rights');
170
+ }
171
+ this.rights.splice(index, 0, selectMembers);
172
+ return selectMembers;
173
+ }
174
+ insertSelectMembersAt(options, index) {
175
+ const node = this._insertSelectMembersAt(options, index);
176
+ node.create({
177
+ index,
178
+ parentNode: this,
179
+ parentKey: 'rights',
180
+ });
181
+ return node;
182
+ }
183
+ _addSelectMembers(options) {
184
+ const index = this.rights.length;
185
+ return this._insertSelectMembersAt(options, index);
186
+ }
187
+ addSelectMembers(options) {
188
+ const node = this._addSelectMembers(options);
189
+ const index = this.rights.indexOf(node);
190
+ node.create({
191
+ index,
192
+ parentNode: this,
193
+ parentKey: 'rights',
194
+ });
195
+ return node;
196
+ }
197
+ getAssignmentLineExistingNames(excludedList = []) {
198
+ const excludedSet = new Set(excludedList);
199
+ return (this.assignmentLines || [])
200
+ .filter((item) => !excludedSet.has(item))
201
+ .map((item) => item.name);
202
+ }
203
+ getAssignmentLineUniqueName(name = 'assignmentLine1') {
204
+ return utils.unique(name, this.getAssignmentLineExistingNames(), undefined, false);
205
+ }
206
+ _insertAssignmentLineAt(options, index) {
207
+ const assignmentLineOptions = {};
208
+ const relationOptions = { parentNode: this, parentKey: 'assignmentLines' };
209
+ let assignmentLine;
210
+ if (!options) {
211
+ assignmentLine = AssignmentLine__1.default.from({
212
+ ...assignmentLineOptions,
213
+ name: this.getAssignmentLineUniqueName(),
214
+ }, this, 'assignmentLines');
215
+ }
216
+ else if (typeof options === 'string') {
217
+ assignmentLine = AssignmentLine__1.default.from({
218
+ ...assignmentLineOptions,
219
+ name: options,
220
+ }, this, 'assignmentLines');
221
+ }
222
+ else if (options instanceof AssignmentLine__1.default) {
223
+ options.ensureDelete(); // 同一实例不支持多处存在
224
+ assignmentLine = options;
225
+ Object.assign(assignmentLine, relationOptions);
226
+ }
227
+ else {
228
+ assignmentLine = AssignmentLine__1.default.from({
229
+ ...assignmentLineOptions,
230
+ ...options,
231
+ }, this, 'assignmentLines');
232
+ }
233
+ this.assignmentLines.splice(index, 0, assignmentLine);
234
+ return assignmentLine;
235
+ }
236
+ insertAssignmentLineAt(options, index) {
237
+ const node = this._insertAssignmentLineAt(options, index);
238
+ node.create({
239
+ index,
240
+ parentNode: this,
241
+ parentKey: 'assignmentLines',
242
+ });
243
+ return node;
244
+ }
245
+ _addAssignmentLine(options) {
246
+ const index = this.assignmentLines.length;
247
+ return this._insertAssignmentLineAt(options, index);
248
+ }
249
+ addAssignmentLine(options) {
250
+ const node = this._addAssignmentLine(options);
251
+ const index = this.assignmentLines.indexOf(node);
252
+ node.create({
253
+ index,
254
+ parentNode: this,
255
+ parentKey: 'assignmentLines',
256
+ });
257
+ return node;
258
+ }
259
+ removeLeft(options) {
260
+ let left;
261
+ if (typeof options === 'string') {
262
+ left = this.left;
263
+ if (!left) {
264
+ throw new Error('找不到选择成员 ' + options);
265
+ }
266
+ }
267
+ else {
268
+ left = options;
269
+ }
270
+ return left.delete();
271
+ }
272
+ removeSelectMembersInRights(options) {
273
+ let selectMembers;
274
+ if (typeof options === 'string') {
275
+ selectMembers = this.rights.find((item) => item.name === options);
276
+ if (!selectMembers) {
277
+ throw new Error('找不到选择成员 ' + options);
278
+ }
279
+ }
280
+ else {
281
+ selectMembers = options;
282
+ }
283
+ return selectMembers.delete();
284
+ }
285
+ __removeSelectMembers(selectMembers) {
286
+ const parentKey = selectMembers.parentKey;
287
+ const params = {
288
+ parentNode: this,
289
+ parentKey,
290
+ index: -1,
291
+ object: null,
292
+ oldObject: selectMembers,
293
+ };
294
+ if (parentKey) {
295
+ params.parentKey = parentKey;
296
+ // @ts-ignore
297
+ const t = this.__v_raw || this;
298
+ // @ts-ignore
299
+ const n = selectMembers.__v_raw || selectMembers;
300
+ if (Array.isArray(t[parentKey])) {
301
+ // @ts-ignore
302
+ const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
303
+ ~index && this[parentKey].splice(index, 1);
304
+ params.index = index;
305
+ }
306
+ else if (t[parentKey] === n) {
307
+ params.index = 0;
308
+ this[parentKey] = undefined;
309
+ }
310
+ }
311
+ return params;
312
+ }
313
+ removeAssignmentLine(options) {
314
+ let assignmentLine;
315
+ if (typeof options === 'string') {
316
+ assignmentLine = this.assignmentLines.find((item) => item.name === options);
317
+ if (!assignmentLine) {
318
+ throw new Error('找不到赋值连线 ' + options);
319
+ }
320
+ }
321
+ else {
322
+ assignmentLine = options;
323
+ }
324
+ return assignmentLine.delete();
325
+ }
326
+ __removeAssignmentLine(assignmentLine) {
327
+ const parentKey = assignmentLine.parentKey;
328
+ const params = {
329
+ parentNode: this,
330
+ parentKey,
331
+ index: -1,
332
+ object: null,
333
+ oldObject: assignmentLine,
334
+ };
335
+ if (parentKey) {
336
+ params.parentKey = parentKey;
337
+ // @ts-ignore
338
+ const t = this.__v_raw || this;
339
+ // @ts-ignore
340
+ const n = assignmentLine.__v_raw || assignmentLine;
341
+ if (Array.isArray(t[parentKey])) {
342
+ // @ts-ignore
343
+ const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
344
+ ~index && this[parentKey].splice(index, 1);
345
+ params.index = index;
346
+ }
347
+ else if (t[parentKey] === n) {
348
+ params.index = 0;
349
+ this[parentKey] = undefined;
350
+ }
351
+ }
352
+ return params;
353
+ }
354
+ //================================================================================
355
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
356
+ // 自动生成的代码已结束。下面可以手动编写。
357
+ //================================================================================
358
+ static getDefaultOptions() {
359
+ return {
360
+ left: {
361
+ concept: 'SelectMembers',
362
+ expression: {
363
+ concept: 'Identifier',
364
+ name: '',
365
+ },
366
+ },
367
+ };
368
+ }
369
+ // 自动连线算法---addRightIndex : 指右边选择变量后对该selectmember进行自动连线。
370
+ async batchAutoConnection(addRightIndex) {
371
+ const leftLineSet = new Set();
372
+ const lineArr = [];
373
+ // 系统属性不可自动连线
374
+ ['id', 'createdTime', 'updatedTime', 'createdBy', 'updatedBy'].forEach((name) => leftLineSet.add(name));
375
+ // 左边已连线的下标
376
+ this.assignmentLines.forEach((line) => {
377
+ if (line.leftIndex.length > 1)
378
+ leftLineSet.add(Number(line.leftIndex[1]));
379
+ });
380
+ // 父节点不允许自动连线
381
+ for (let i = 0; i < this.left.members.length - 1; i++) {
382
+ const { completeName } = this.left.members[i];
383
+ const preCompleteName = this.left.members[i + 1].completeName;
384
+ if (preCompleteName.includes(completeName) &&
385
+ completeName.split('.').length !== preCompleteName.split('.').length)
386
+ leftLineSet.add(i);
387
+ }
388
+ // await new Promise((resolve) => setTimeout(resolve, 400));
389
+ const autoConnection = () => {
390
+ this.app.emit('collect:start', {
391
+ actionMsg: '自动连线',
392
+ });
393
+ this.left.members.forEach((member, leftSecondIndex) => {
394
+ const leftValue = member.getValue();
395
+ const leftName = member.property?.name;
396
+ const leftTypeAnnotation = member.__TypeAnnotation;
397
+ if (leftLineSet.has(leftSecondIndex) || leftLineSet.has(leftName))
398
+ return;
399
+ this.rights.forEach((selectMember, rightFirstIndex) => {
400
+ const { members, expression } = selectMember;
401
+ if (leftLineSet.has(leftSecondIndex))
402
+ return;
403
+ if (addRightIndex !== -1 && addRightIndex !== rightFirstIndex)
404
+ return;
405
+ // 右侧父节点也不允许自动连线
406
+ const rightLineSet = new Set();
407
+ for (let i = 0; i < members.length - 1; i++) {
408
+ const { completeName } = members[i];
409
+ const preCompleteName = members[i + 1].completeName;
410
+ if (preCompleteName.includes(completeName) &&
411
+ completeName.split('.').length !== preCompleteName.split('.').length)
412
+ rightLineSet.add(i);
413
+ }
414
+ if (leftName === expression.name && expression.__TypeAnnotation?.typeKind === leftTypeAnnotation.typeKind) {
415
+ const Line = new AssignmentLine__1.default({
416
+ leftIndex: [0, leftSecondIndex],
417
+ rightIndex: [rightFirstIndex],
418
+ });
419
+ lineArr.push(Line);
420
+ leftLineSet.add(leftSecondIndex);
421
+ return;
422
+ }
423
+ members.forEach((rightMember, rightSecondIndex) => {
424
+ const rightValue = rightMember.getValue();
425
+ const rightName = rightMember.property?.name;
426
+ if (rightLineSet.has(rightSecondIndex) || leftLineSet.has(leftSecondIndex))
427
+ return;
428
+ if (leftName === rightName && leftValue.split('.').length === rightValue.split('.').length) {
429
+ const rightTypeAnnotation = rightMember.__TypeAnnotation;
430
+ if (leftTypeAnnotation.typeKind !== rightTypeAnnotation.typeKind)
431
+ return;
432
+ const leftIndex = [0, leftSecondIndex];
433
+ const rightIndex = [rightFirstIndex, rightSecondIndex];
434
+ const Line = new AssignmentLine__1.default({ leftIndex, rightIndex });
435
+ lineArr.push(Line);
436
+ leftLineSet.add(leftSecondIndex);
437
+ }
438
+ });
439
+ });
440
+ });
441
+ lineArr.length && this.setAssignmentLines([...this.assignmentLines, ...lineArr]);
442
+ this.app.emit('collect:end');
443
+ };
444
+ let count = 0;
445
+ const typeAnnotationEnd = () => {
446
+ const l = this.left.members.every((item) => item.__isCorrectTypeAnnotation);
447
+ const r = this.rights.every((right) => right.members.every((item) => item.__isCorrectTypeAnnotation) && right.expression.__isCorrectTypeAnnotation);
448
+ count++;
449
+ if (l && r) {
450
+ autoConnection();
451
+ }
452
+ else if (count <= 10) {
453
+ setTimeout(() => {
454
+ typeAnnotationEnd();
455
+ }, 100);
456
+ }
457
+ };
458
+ typeAnnotationEnd();
459
+ }
460
+ connection(leftItem, rightItem, rightToLeft) {
461
+ let newLeftIndex = [0];
462
+ let newRightIndex = [];
463
+ let newLines = [];
464
+ let newMembers = this.left.members;
465
+ if (leftItem.concept !== 'SelectMembers' && leftItem.parentKey !== 'expression') {
466
+ const { members } = this.left;
467
+ const secondIndex = members.findIndex((exp) => exp === leftItem);
468
+ const completeNameSplitLength = members[secondIndex].completeName.split('.').length;
469
+ let filterLines = [];
470
+ // 连线左边的坐标。
471
+ newLeftIndex = [0, secondIndex];
472
+ // 父节点选中后删除此节点下的子节点
473
+ let sameLevelIndex = members.findIndex((exp, index) => {
474
+ if (index > secondIndex) {
475
+ return exp.completeName.split('.').length <= completeNameSplitLength;
476
+ }
477
+ return false;
478
+ });
479
+ sameLevelIndex = sameLevelIndex === -1 ? members.length : sameLevelIndex;
480
+ newMembers = members.filter((member, index) => index <= secondIndex || index >= sameLevelIndex);
481
+ filterLines = this.assignmentLines.filter(({ leftIndex }) => leftIndex[1] <= secondIndex || leftIndex[1] >= sameLevelIndex);
482
+ // members成员减少,需要重新计算后续连线下标
483
+ filterLines.forEach((line) => {
484
+ const distance = sameLevelIndex - secondIndex - 1;
485
+ if (line.leftIndex[1] > secondIndex) {
486
+ const newLine = { ...line?.toJSON(), leftIndex: [line.leftIndex[0], line.leftIndex[1] - distance] };
487
+ newLines.push(newLine);
488
+ return;
489
+ }
490
+ newLines.push(line);
491
+ });
492
+ }
493
+ else {
494
+ newLines = [];
495
+ newMembers = [];
496
+ }
497
+ if (rightItem.concept === 'SelectMembers') {
498
+ newRightIndex = [this.rights.findIndex((right) => right === rightItem)];
499
+ }
500
+ else if (rightItem.concept !== 'MemberExpression') {
501
+ newRightIndex = [this.rights.findIndex((right) => right === rightItem.parentNode)];
502
+ }
503
+ else {
504
+ const selectMember = rightItem.getAncestor('SelectMembers');
505
+ const firstIndex = this.rights.findIndex((right) => right === selectMember);
506
+ const secondIndex = this.rights[firstIndex].members.findIndex((exp) => exp === rightItem);
507
+ newRightIndex = [firstIndex, secondIndex];
508
+ }
509
+ // 左边同一个属性只能有一个连线
510
+ if (rightToLeft) {
511
+ newLines = newLines.filter(({ leftIndex: index }) => !(newLeftIndex[0] === index[0] && newLeftIndex[1] === index[1]));
512
+ }
513
+ this.update({
514
+ assignmentLines: newLines,
515
+ });
516
+ this.left.update({
517
+ members: newMembers,
518
+ });
519
+ const Line = new AssignmentLine__1.default({
520
+ leftIndex: newLeftIndex,
521
+ rightIndex: newRightIndex,
522
+ });
523
+ this.addAssignmentLine(Line);
524
+ }
525
+ swapLocation(location1, location2) {
526
+ if (location1 === location2)
527
+ return;
528
+ const newRights = this.rights;
529
+ [newRights[location1], newRights[2]] = [newRights[location2], newRights[1]];
530
+ const newLines = this.assignmentLines.map((line) => {
531
+ if (line.rightIndex[0] === location1) {
532
+ line.rightIndex[0] = location2;
533
+ }
534
+ else if (line.rightIndex[0] === location2) {
535
+ line.rightIndex[0] = location1;
536
+ }
537
+ return line;
538
+ });
539
+ this.update({
540
+ rigths: newRights,
541
+ assignmentLines: newLines,
542
+ });
543
+ }
544
+ deleteAssignmentLine(assignmentLine) {
545
+ const newLine = this.assignmentLines.filter((line) => line !== assignmentLine);
546
+ this.update({
547
+ assignmentLines: newLine,
548
+ });
549
+ }
550
+ changeLinesLocation(selectMember) {
551
+ // 区分操作左边或者操作右边
552
+ if (selectMember === this.left) {
553
+ this.update({
554
+ left: null,
555
+ assignmentLines: [],
556
+ });
557
+ }
558
+ else if (this.rights.findIndex((member) => selectMember === member) !== -1) {
559
+ const index = this.rights.findIndex((member) => selectMember === member);
560
+ const newRights = this.rights.filter((member) => selectMember !== member);
561
+ const filterLine = this.assignmentLines.filter((line) => line.rightIndex[0] !== index);
562
+ const newLines = [];
563
+ filterLine.forEach((line) => {
564
+ if (line.rightIndex[0] > index) {
565
+ if (line.rightIndex[1] === undefined) {
566
+ const newLine = { ...line?.toJSON(), rightIndex: [line.rightIndex[0] - 1] };
567
+ newLines.push(newLine);
568
+ }
569
+ else {
570
+ const newLine = { ...line?.toJSON(), rightIndex: [line.rightIndex[0] - 1, line.rightIndex[1]] };
571
+ newLines.push(newLine);
572
+ }
573
+ }
574
+ else {
575
+ newLines.push(line);
576
+ }
577
+ });
578
+ this.update({
579
+ rights: newRights,
580
+ assignmentLines: newLines,
581
+ });
582
+ }
583
+ }
584
+ changeMembers(oldNode, members, keepMembers, expression) {
585
+ this.app.emit('collect:start', {
586
+ actionMsg: '批量赋值修改变量',
587
+ });
588
+ const selectMember = oldNode.parentNode;
589
+ const autoConnectionIndex = this.rights.findIndex((right) => right === selectMember);
590
+ const newSelectMember = { ...selectMember?.toJSON?.(), expression, members };
591
+ let newLines = [];
592
+ // 修改连线
593
+ if (selectMember.parentKey === 'left') {
594
+ members.forEach((item, index) => {
595
+ if (keepMembers?.has(item.completeName)) {
596
+ const lines = this.findlines(item, selectMember);
597
+ lines.forEach((line) => {
598
+ const newLine = { ...line?.toJSON(), leftIndex: [line.leftIndex[0], index] };
599
+ newLines.push(newLine);
600
+ });
601
+ }
602
+ });
603
+ this.update({
604
+ assignmentLines: newLines,
605
+ left: newSelectMember,
606
+ });
607
+ }
608
+ else {
609
+ const splitIndex = this.rights.findIndex((right) => selectMember === right);
610
+ newLines = this.assignmentLines.filter(({ rightIndex }) => rightIndex[0] !== splitIndex);
611
+ members.forEach((item, index) => {
612
+ if (keepMembers?.has(item.completeName)) {
613
+ const lines = this.findlines(item, selectMember);
614
+ lines.forEach((line) => {
615
+ const newLine = { ...line?.toJSON(), rightIndex: [line.rightIndex[0], index] };
616
+ newLines.push(newLine);
617
+ });
618
+ }
619
+ });
620
+ this.update({
621
+ assignmentLines: newLines,
622
+ rights: [
623
+ ...this.rights.slice(0, splitIndex),
624
+ newSelectMember,
625
+ ...this.rights.slice(splitIndex + 1, this.rights.length),
626
+ ],
627
+ });
628
+ }
629
+ this.autoConnection && this.batchAutoConnection(autoConnectionIndex);
630
+ this.app.emit('collect:end');
631
+ }
632
+ findMember(arrIndex, place) {
633
+ const [firstIndex, secondIndex] = [arrIndex[0], arrIndex[1]];
634
+ if (place === 'left') {
635
+ if (secondIndex === undefined) {
636
+ return this.left.expression;
637
+ }
638
+ return this.left.members[secondIndex];
639
+ }
640
+ if (secondIndex === undefined) {
641
+ return this.rights[firstIndex].expression;
642
+ }
643
+ return this.rights[firstIndex].members[secondIndex];
644
+ }
645
+ findlines(member, selectMember) {
646
+ const lines = [];
647
+ // 根节点的情况
648
+ if (selectMember === this) {
649
+ if (member === this.left)
650
+ return this.assignmentLines;
651
+ const firstIndex = this.rights.findIndex((right) => right === member);
652
+ return this.assignmentLines.filter(({ rightIndex }) => rightIndex[1] === undefined && rightIndex[0] === firstIndex);
653
+ }
654
+ if (this.left === selectMember) {
655
+ const index2 = selectMember.members.findIndex((item) => item.completeName === member.completeName);
656
+ this.assignmentLines.forEach((line) => {
657
+ if (line.leftIndex[1] === index2)
658
+ lines.push(line);
659
+ });
660
+ }
661
+ else {
662
+ const index1 = this.rights.findIndex((right) => right === selectMember);
663
+ const index2 = selectMember.members.findIndex((item) => item.completeName === member.completeName);
664
+ this.assignmentLines.forEach((line) => {
665
+ if (line.rightIndex[0] === index1 && line.rightIndex[1] === index2)
666
+ lines.push(line);
667
+ });
668
+ }
669
+ return lines;
670
+ }
671
+ replaceAssignment() {
672
+ if (this.assignmentLines.length > 1)
673
+ return false;
674
+ this.app.emit('collect:start', {
675
+ actionMsg: '批量赋值切换普通赋值',
676
+ });
677
+ const { parentKey, parentNode, logic } = this;
678
+ let rightExpression;
679
+ let leftExpression;
680
+ let index;
681
+ if (this.assignmentLines.length === 1) {
682
+ const { leftIndex, rightIndex } = this.assignmentLines[0];
683
+ leftExpression = { ...this.findMember(leftIndex, 'left')?.toJSON?.() };
684
+ rightExpression = { ...this.findMember(rightIndex, 'right')?.toJSON?.() };
685
+ }
686
+ else {
687
+ leftExpression = { ...this.left.expression?.toJSON?.() };
688
+ }
689
+ const assignment = new Assignment__1.default({
690
+ left: leftExpression,
691
+ right: rightExpression,
692
+ offsetX: this.offsetX,
693
+ offsetY: this.offsetY,
694
+ });
695
+ if (parentNode.concept === 'Logic') {
696
+ if (parentKey === 'body') {
697
+ index = logic.body.findIndex((item) => item === this);
698
+ logic.insertItemInBodyAt(assignment, index);
699
+ }
700
+ else {
701
+ index = logic.playground.findIndex((item) => item === this);
702
+ logic.insertItemInPlaygroundAt(assignment, index);
703
+ }
704
+ }
705
+ else {
706
+ index = parentNode[parentKey].findIndex((item) => item === this);
707
+ const firstUpperText = parentKey[0].toUpperCase() + parentKey.slice(1, parentKey.length);
708
+ if (parentNode[`insertItemIn${firstUpperText}At`])
709
+ parentNode[`insertItemIn${firstUpperText}At`](assignment, index);
710
+ else
711
+ parentNode.insertItemAt(assignment, index);
712
+ }
713
+ this.delete();
714
+ this.app.emit('collect:end');
715
+ return true;
716
+ }
717
+ toVue(options) {
718
+ let code = '';
719
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
720
+ const leftValue = leftIndex.length === 1 ? this.left.expression.toVue(options) : this.left.members[leftIndex[1]]?.toVue(options);
721
+ code += `${leftValue}`;
722
+ code += ' = ';
723
+ const rightValue = rightIndex.length === 1
724
+ ? this.rights[rightIndex[0]]?.expression?.toVue(options)
725
+ : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toVue(options);
726
+ code += `${rightValue}`;
727
+ code += ';';
728
+ code += '\n';
729
+ });
730
+ return code;
731
+ }
732
+ toUI(state, hideDetails) {
733
+ let code = '';
734
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
735
+ const leftValue = leftIndex.length === 1
736
+ ? this.left.expression.toUI(state, hideDetails)
737
+ : this.left.members[leftIndex[1]]?.toUI(state, hideDetails);
738
+ code += `${leftValue}`;
739
+ code += ' = ';
740
+ const rightValue = rightIndex.length === 1
741
+ ? this.rights[rightIndex[0]]?.expression?.toUI(state, hideDetails)
742
+ : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toUI(state, hideDetails);
743
+ code += `${rightValue}`;
744
+ code += ';';
745
+ code += '\n';
746
+ });
747
+ return code;
748
+ }
749
+ toJS(state) {
750
+ let code = '';
751
+ const rightMap = new Map();
752
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
753
+ const rightIndexJson = JSON.stringify(rightIndex);
754
+ if (rightMap.has(rightIndexJson)) {
755
+ rightMap.set(rightIndexJson, [...rightMap.get(rightIndexJson), leftIndex]);
756
+ }
757
+ else {
758
+ rightMap.set(rightIndexJson, [leftIndex]);
759
+ }
760
+ });
761
+ rightMap.forEach((leftIndexs, rightIndexJson) => {
762
+ const rightIndex = JSON.parse(rightIndexJson) || [];
763
+ const leftItems = leftIndexs.map((leftIndex) => {
764
+ const leftItem = leftIndex.length !== 1 ? this.left.members[leftIndex[1]] : this.left.expression;
765
+ return leftItem;
766
+ });
767
+ const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
768
+ const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
769
+ leftItems.forEach((leftItem) => {
770
+ code += `${leftItem.toJS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
771
+ code += ` = `;
772
+ });
773
+ code += `${rightItem.toJS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
774
+ code += ';\n';
775
+ });
776
+ return code;
777
+ }
778
+ toEmbeddedTS(state = (0, translator_1.createCompilerState)()) {
779
+ let code = '// 以下是批量赋值的翻译代码\n';
780
+ // 提供sourcemap,获取类型标注和上下文可选变量
781
+ code += this.left.expression
782
+ ? `${this.left.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`
783
+ : '';
784
+ code += ';\n';
785
+ this.left.members.forEach((member) => {
786
+ code += member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
787
+ code += '; ';
788
+ });
789
+ code += '\n';
790
+ this.rights.forEach((right) => {
791
+ code += `${right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
792
+ code += ';\n';
793
+ right.members.forEach((member) => {
794
+ code += member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
795
+ code += '; ';
796
+ });
797
+ code += right.members.length ? '\n' : '';
798
+ });
799
+ // 根据连线状态,拆分成多个单赋值
800
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
801
+ code += 'nasl.core.assign(';
802
+ const leftValue = leftIndex.length === 1
803
+ ? this.left.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))
804
+ : this.left.members[leftIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
805
+ code += `${leftValue}`;
806
+ code += ', ';
807
+ const rightValue = rightIndex.length === 1
808
+ ? this.rights[rightIndex[0]]?.expression?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))
809
+ : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
810
+ code += `${rightValue}`;
811
+ code += ')';
812
+ code += ';';
813
+ code += '\n';
814
+ });
815
+ if (!this.assignmentLines.length)
816
+ code += `__assignmentLineEmpty__\n`;
817
+ code += '// 批量赋值的翻译代码结束---------\n';
818
+ return code;
819
+ }
820
+ toNaturalTS(state = (0, translator_1.createCompilerState)()) {
821
+ let code = '';
822
+ // 根据连线状态,拆分成多个单赋值
823
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
824
+ const leftValue = leftIndex.length === 1
825
+ ? this.left.expression.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }))
826
+ : this.left.members[leftIndex[1]]?.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }));
827
+ code += `${leftValue}`;
828
+ code += ' = ';
829
+ const rightValue = rightIndex.length === 1
830
+ ? this.rights[rightIndex[0]]?.expression?.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }))
831
+ : this.rights[rightIndex[0]]?.members[rightIndex[1]]?.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }));
832
+ code += `${rightValue}`;
833
+ code += ';';
834
+ code += '\n';
835
+ });
836
+ return code;
837
+ }
838
+ };
839
+ __decorate([
840
+ (0, decorators_1.property)('concept')
841
+ ], BatchAssignment.prototype, "concept", void 0);
842
+ __decorate([
843
+ (0, decorators_1.property)()
844
+ ], BatchAssignment.prototype, "label", void 0);
845
+ __decorate([
846
+ (0, decorators_1.property)({
847
+ objectRef: 'SelectMembers',
848
+ })
849
+ ], BatchAssignment.prototype, "left", void 0);
850
+ __decorate([
851
+ (0, decorators_1.property)({
852
+ objectRef: 'SelectMembers',
853
+ isArray: true,
854
+ defaultValue: [],
855
+ })
856
+ ], BatchAssignment.prototype, "rights", void 0);
857
+ __decorate([
858
+ (0, decorators_1.property)({
859
+ objectRef: 'AssignmentLine',
860
+ isArray: true,
861
+ defaultValue: [],
862
+ })
863
+ ], BatchAssignment.prototype, "assignmentLines", void 0);
864
+ __decorate([
865
+ (0, decorators_1.property)()
866
+ ], BatchAssignment.prototype, "autoConnection", void 0);
867
+ __decorate([
868
+ (0, translator_1.withSourceMap)()
869
+ ], BatchAssignment.prototype, "toEmbeddedTS", null);
870
+ __decorate([
871
+ (0, translator_1.withSourceMap)()
872
+ ], BatchAssignment.prototype, "toNaturalTS", null);
873
+ BatchAssignment = BatchAssignment_1 = __decorate([
874
+ decorators_1.className,
875
+ (0, decorators_1.concept)('批量赋值语句')
876
+ // @ts-ignore
877
+ ], BatchAssignment);
878
+ exports.BatchAssignment = BatchAssignment;
879
+ exports.default = BatchAssignment;
880
+ //================================================================================
881
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
882
+ // 自动生成的代码已结束。下面可以手动编写。
883
+ //================================================================================
881
884
  //# sourceMappingURL=BatchAssignment__.js.map