@lcap/nasl 3.7.0-alpha.1 → 3.7.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/out/automate/engine/utils.d.ts +1 -1
  2. package/out/automate/engine/utils.js +3 -7
  3. package/out/automate/engine/utils.js.map +1 -1
  4. package/out/automate/template/myProcess.js +65 -65
  5. package/out/automate/template/myProcess.js.map +1 -1
  6. package/out/bak/translator.js +42 -12
  7. package/out/bak/translator.js.map +1 -1
  8. package/out/breakpoint/generator/BreakpointNode.d.ts +2 -0
  9. package/out/breakpoint/generator/BreakpointNode.js +7 -0
  10. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  11. package/out/breakpoint/shared/constants.js +1 -0
  12. package/out/breakpoint/shared/constants.js.map +1 -1
  13. package/out/breakpoint/shared/utils.js +1 -1
  14. package/out/breakpoint/shared/utils.js.map +1 -1
  15. package/out/common/BaseNode.d.ts +4 -3
  16. package/out/common/BaseNode.js +61 -10
  17. package/out/common/BaseNode.js.map +1 -1
  18. package/out/common/ComponentAPI.d.ts +5 -3
  19. package/out/common/EventEmitter.d.ts +1 -0
  20. package/out/common/EventEmitter.js.map +1 -1
  21. package/out/concepts/Abort__.d.ts +5 -4
  22. package/out/concepts/Abort__.js +5 -7
  23. package/out/concepts/Abort__.js.map +1 -1
  24. package/out/concepts/AbstractInterface__.d.ts +9 -6
  25. package/out/concepts/AbstractInterface__.js +8 -11
  26. package/out/concepts/AbstractInterface__.js.map +1 -1
  27. package/out/concepts/Anchor__.d.ts +5 -12
  28. package/out/concepts/Anchor__.js +5 -44
  29. package/out/concepts/Anchor__.js.map +1 -1
  30. package/out/concepts/AnonymousFunction__.d.ts +10 -47
  31. package/out/concepts/AnonymousFunction__.js +14 -159
  32. package/out/concepts/AnonymousFunction__.js.map +1 -1
  33. package/out/concepts/App__.d.ts +321 -437
  34. package/out/concepts/App__.js +460 -986
  35. package/out/concepts/App__.js.map +1 -1
  36. package/out/concepts/Argument__.d.ts +5 -12
  37. package/out/concepts/Argument__.js +11 -46
  38. package/out/concepts/Argument__.js.map +1 -1
  39. package/out/concepts/Assignee__.d.ts +8 -5
  40. package/out/concepts/Assignee__.js +9 -66
  41. package/out/concepts/Assignee__.js.map +1 -1
  42. package/out/concepts/AssignmentLine__.d.ts +5 -6
  43. package/out/concepts/AssignmentLine__.js +7 -11
  44. package/out/concepts/AssignmentLine__.js.map +1 -1
  45. package/out/concepts/Assignment__.d.ts +5 -26
  46. package/out/concepts/Assignment__.js +5 -64
  47. package/out/concepts/Assignment__.js.map +1 -1
  48. package/out/concepts/Attribute__.d.ts +14 -51
  49. package/out/concepts/Attribute__.js +36 -126
  50. package/out/concepts/Attribute__.js.map +1 -1
  51. package/out/concepts/AuthInterface__.d.ts +10 -10
  52. package/out/concepts/AuthInterface__.js +18 -13
  53. package/out/concepts/AuthInterface__.js.map +1 -1
  54. package/out/concepts/AuthLogicForCallInterface__.d.ts +6 -3
  55. package/out/concepts/AuthLogicForCallInterface__.js +6 -32
  56. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  57. package/out/concepts/AuthLogic__.d.ts +19 -19
  58. package/out/concepts/AuthLogic__.js +26 -25
  59. package/out/concepts/AuthLogic__.js.map +1 -1
  60. package/out/concepts/BackendVariable__.d.ts +19 -47
  61. package/out/concepts/BackendVariable__.js +43 -134
  62. package/out/concepts/BackendVariable__.js.map +1 -1
  63. package/out/concepts/Backend__.d.ts +6 -13
  64. package/out/concepts/Backend__.js +13 -50
  65. package/out/concepts/Backend__.js.map +1 -1
  66. package/out/concepts/BaseSetter__.d.ts +25 -0
  67. package/out/concepts/BaseSetter__.js +53 -0
  68. package/out/concepts/BaseSetter__.js.map +1 -0
  69. package/out/concepts/BatchAssignment__.d.ts +9 -21
  70. package/out/concepts/BatchAssignment__.js +11 -86
  71. package/out/concepts/BatchAssignment__.js.map +1 -1
  72. package/out/concepts/BinaryExpression__.d.ts +5 -22
  73. package/out/concepts/BinaryExpression__.js +32 -59
  74. package/out/concepts/BinaryExpression__.js.map +1 -1
  75. package/out/concepts/BindAttribute__.d.ts +60 -107
  76. package/out/concepts/BindAttribute__.js +144 -251
  77. package/out/concepts/BindAttribute__.js.map +1 -1
  78. package/out/concepts/BindDirective__.d.ts +26 -42
  79. package/out/concepts/BindDirective__.js +63 -105
  80. package/out/concepts/BindDirective__.js.map +1 -1
  81. package/out/concepts/BindEvent__.d.ts +27 -36
  82. package/out/concepts/BindEvent__.js +50 -109
  83. package/out/concepts/BindEvent__.js.map +1 -1
  84. package/out/concepts/BindStyle__.d.ts +24 -41
  85. package/out/concepts/BindStyle__.js +48 -88
  86. package/out/concepts/BindStyle__.js.map +1 -1
  87. package/out/concepts/Block__.d.ts +5 -2
  88. package/out/concepts/Block__.js +5 -31
  89. package/out/concepts/Block__.js.map +1 -1
  90. package/out/concepts/BooleanLiteral__.d.ts +5 -0
  91. package/out/concepts/BooleanLiteral__.js +8 -1
  92. package/out/concepts/BooleanLiteral__.js.map +1 -1
  93. package/out/concepts/BusinessComponent__.d.ts +47 -49
  94. package/out/concepts/BusinessComponent__.js +122 -444
  95. package/out/concepts/BusinessComponent__.js.map +1 -1
  96. package/out/concepts/BusinessLogic__.d.ts +5 -0
  97. package/out/concepts/BusinessLogic__.js +8 -1
  98. package/out/concepts/BusinessLogic__.js.map +1 -1
  99. package/out/concepts/CallAuthInterface__.d.ts +6 -4
  100. package/out/concepts/CallAuthInterface__.js +6 -34
  101. package/out/concepts/CallAuthInterface__.js.map +1 -1
  102. package/out/concepts/CallConnector__.d.ts +5 -0
  103. package/out/concepts/CallConnector__.js +11 -2
  104. package/out/concepts/CallConnector__.js.map +1 -1
  105. package/out/concepts/CallEvent__.d.ts +6 -7
  106. package/out/concepts/CallEvent__.js +11 -40
  107. package/out/concepts/CallEvent__.js.map +1 -1
  108. package/out/concepts/CallFunction__.d.ts +17 -9
  109. package/out/concepts/CallFunction__.js +84 -130
  110. package/out/concepts/CallFunction__.js.map +1 -1
  111. package/out/concepts/CallInterface__.d.ts +6 -7
  112. package/out/concepts/CallInterface__.js +14 -41
  113. package/out/concepts/CallInterface__.js.map +1 -1
  114. package/out/concepts/CallLogic__.d.ts +11 -24
  115. package/out/concepts/CallLogic__.js +68 -140
  116. package/out/concepts/CallLogic__.js.map +1 -1
  117. package/out/concepts/CallQueryComponent__.d.ts +70 -126
  118. package/out/concepts/CallQueryComponent__.js +134 -308
  119. package/out/concepts/CallQueryComponent__.js.map +1 -1
  120. package/out/concepts/CapsulesSetter__.d.ts +109 -0
  121. package/out/concepts/CapsulesSetter__.js +163 -0
  122. package/out/concepts/CapsulesSetter__.js.map +1 -0
  123. package/out/concepts/Comment__.d.ts +5 -0
  124. package/out/concepts/Comment__.js +8 -1
  125. package/out/concepts/Comment__.js.map +1 -1
  126. package/out/concepts/CompletionProperty__.d.ts +6 -26
  127. package/out/concepts/CompletionProperty__.js +24 -74
  128. package/out/concepts/CompletionProperty__.js.map +1 -1
  129. package/out/concepts/ConfigGroup__.d.ts +6 -13
  130. package/out/concepts/ConfigGroup__.js +13 -50
  131. package/out/concepts/ConfigGroup__.js.map +1 -1
  132. package/out/concepts/ConfigPropertyValue__.d.ts +5 -11
  133. package/out/concepts/ConfigPropertyValue__.js +11 -19
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +11 -18
  136. package/out/concepts/ConfigProperty__.js +25 -58
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +6 -13
  139. package/out/concepts/Configuration__.js +6 -49
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +11 -18
  142. package/out/concepts/Connection__.js +25 -58
  143. package/out/concepts/Connection__.js.map +1 -1
  144. package/out/concepts/ConnectorTrigger__.d.ts +28 -34
  145. package/out/concepts/ConnectorTrigger__.js +55 -50
  146. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  147. package/out/concepts/Connector__.d.ts +106 -504
  148. package/out/concepts/Connector__.js +134 -791
  149. package/out/concepts/Connector__.js.map +1 -1
  150. package/out/concepts/Constant__.d.ts +27 -55
  151. package/out/concepts/Constant__.js +45 -137
  152. package/out/concepts/Constant__.js.map +1 -1
  153. package/out/concepts/CountersignPolicy__.d.ts +6 -5
  154. package/out/concepts/CountersignPolicy__.js +8 -12
  155. package/out/concepts/CountersignPolicy__.js.map +1 -1
  156. package/out/concepts/DataSource__.d.ts +11 -18
  157. package/out/concepts/DataSource__.js +25 -58
  158. package/out/concepts/DataSource__.js.map +1 -1
  159. package/out/concepts/DatabaseTypeAnnotation__.d.ts +5 -6
  160. package/out/concepts/DatabaseTypeAnnotation__.js +11 -13
  161. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  162. package/out/concepts/DefaultValue__.d.ts +7 -19
  163. package/out/concepts/DefaultValue__.js +6 -56
  164. package/out/concepts/DefaultValue__.js.map +1 -1
  165. package/out/concepts/Destination__.d.ts +10 -21
  166. package/out/concepts/Destination__.js +15 -55
  167. package/out/concepts/Destination__.js.map +1 -1
  168. package/out/concepts/End__.d.ts +5 -4
  169. package/out/concepts/End__.js +7 -8
  170. package/out/concepts/End__.js.map +1 -1
  171. package/out/concepts/EntityIndex__.d.ts +20 -26
  172. package/out/concepts/EntityIndex__.js +40 -39
  173. package/out/concepts/EntityIndex__.js.map +1 -1
  174. package/out/concepts/EntityProperty__.d.ts +17 -56
  175. package/out/concepts/EntityProperty__.js +70 -181
  176. package/out/concepts/EntityProperty__.js.map +1 -1
  177. package/out/concepts/Entity__.d.ts +18 -26
  178. package/out/concepts/Entity__.js +38 -98
  179. package/out/concepts/Entity__.js.map +1 -1
  180. package/out/concepts/EnumItem__.d.ts +15 -21
  181. package/out/concepts/EnumItem__.js +27 -31
  182. package/out/concepts/EnumItem__.js.map +1 -1
  183. package/out/concepts/EnumSelectSetter__.d.ts +109 -0
  184. package/out/concepts/EnumSelectSetter__.js +163 -0
  185. package/out/concepts/EnumSelectSetter__.js.map +1 -0
  186. package/out/concepts/Enum__.d.ts +10 -28
  187. package/out/concepts/Enum__.js +35 -102
  188. package/out/concepts/Enum__.js.map +1 -1
  189. package/out/concepts/EventDeclaration__.d.ts +41 -0
  190. package/out/concepts/EventDeclaration__.js +81 -0
  191. package/out/concepts/EventDeclaration__.js.map +1 -0
  192. package/out/concepts/Event__.d.ts +16 -27
  193. package/out/concepts/Event__.js +37 -78
  194. package/out/concepts/Event__.js.map +1 -1
  195. package/out/concepts/ExternalDestination__.d.ts +8 -25
  196. package/out/concepts/ExternalDestination__.js +8 -58
  197. package/out/concepts/ExternalDestination__.js.map +1 -1
  198. package/out/concepts/ForEachStatement__.d.ts +7 -55
  199. package/out/concepts/ForEachStatement__.js +6 -128
  200. package/out/concepts/ForEachStatement__.js.map +1 -1
  201. package/out/concepts/FrontendLibrary__.d.ts +38 -46
  202. package/out/concepts/FrontendLibrary__.js +55 -121
  203. package/out/concepts/FrontendLibrary__.js.map +1 -1
  204. package/out/concepts/FrontendType__.d.ts +8 -12
  205. package/out/concepts/FrontendType__.js +15 -109
  206. package/out/concepts/FrontendType__.js.map +1 -1
  207. package/out/concepts/FrontendVariable__.d.ts +5 -0
  208. package/out/concepts/FrontendVariable__.js +8 -1
  209. package/out/concepts/FrontendVariable__.js.map +1 -1
  210. package/out/concepts/Frontend__.d.ts +9 -41
  211. package/out/concepts/Frontend__.js +36 -209
  212. package/out/concepts/Frontend__.js.map +1 -1
  213. package/out/concepts/Function__.d.ts +13 -34
  214. package/out/concepts/Function__.js +22 -194
  215. package/out/concepts/Function__.js.map +1 -1
  216. package/out/concepts/I18nInfo__.d.ts +6 -7
  217. package/out/concepts/I18nInfo__.js +14 -14
  218. package/out/concepts/I18nInfo__.js.map +1 -1
  219. package/out/concepts/IconSetter__.d.ts +29 -0
  220. package/out/concepts/IconSetter__.js +62 -0
  221. package/out/concepts/IconSetter__.js.map +1 -0
  222. package/out/concepts/Identifier__.d.ts +5 -0
  223. package/out/concepts/Identifier__.js +20 -6
  224. package/out/concepts/Identifier__.js.map +1 -1
  225. package/out/concepts/IfStatement__.d.ts +5 -12
  226. package/out/concepts/IfStatement__.js +5 -44
  227. package/out/concepts/IfStatement__.js.map +1 -1
  228. package/out/concepts/ImageSetter__.d.ts +25 -0
  229. package/out/concepts/ImageSetter__.js +53 -0
  230. package/out/concepts/ImageSetter__.js.map +1 -0
  231. package/out/concepts/ImportedInterface__.d.ts +9 -0
  232. package/out/concepts/ImportedInterface__.js +11 -1
  233. package/out/concepts/ImportedInterface__.js.map +1 -1
  234. package/out/concepts/InputSetter__.d.ts +29 -0
  235. package/out/concepts/InputSetter__.js +62 -0
  236. package/out/concepts/InputSetter__.js.map +1 -0
  237. package/out/concepts/Integration__.d.ts +7 -26
  238. package/out/concepts/Integration__.js +6 -93
  239. package/out/concepts/Integration__.js.map +1 -1
  240. package/out/concepts/InterfaceParam__.d.ts +34 -62
  241. package/out/concepts/InterfaceParam__.js +63 -147
  242. package/out/concepts/InterfaceParam__.js.map +1 -1
  243. package/out/concepts/Interface__.d.ts +42 -48
  244. package/out/concepts/Interface__.js +89 -158
  245. package/out/concepts/Interface__.js.map +1 -1
  246. package/out/concepts/JSBlock__.d.ts +5 -4
  247. package/out/concepts/JSBlock__.js +8 -8
  248. package/out/concepts/JSBlock__.js.map +1 -1
  249. package/out/concepts/JavaLogic__.d.ts +5 -0
  250. package/out/concepts/JavaLogic__.js +14 -3
  251. package/out/concepts/JavaLogic__.js.map +1 -1
  252. package/out/concepts/LogicDeclaration__.d.ts +289 -0
  253. package/out/concepts/LogicDeclaration__.js +352 -0
  254. package/out/concepts/LogicDeclaration__.js.map +1 -0
  255. package/out/concepts/LogicItem__.d.ts +39 -45
  256. package/out/concepts/LogicItem__.js +76 -62
  257. package/out/concepts/LogicItem__.js.map +1 -1
  258. package/out/concepts/Logic__.d.ts +45 -63
  259. package/out/concepts/Logic__.js +159 -280
  260. package/out/concepts/Logic__.js.map +1 -1
  261. package/out/concepts/MatchCase__.d.ts +6 -4
  262. package/out/concepts/MatchCase__.js +16 -68
  263. package/out/concepts/MatchCase__.js.map +1 -1
  264. package/out/concepts/Match__.d.ts +8 -14
  265. package/out/concepts/Match__.js +17 -49
  266. package/out/concepts/Match__.js.map +1 -1
  267. package/out/concepts/MemberExpression__.d.ts +8 -23
  268. package/out/concepts/MemberExpression__.js +85 -103
  269. package/out/concepts/MemberExpression__.js.map +1 -1
  270. package/out/concepts/MetadataType__.d.ts +36 -54
  271. package/out/concepts/MetadataType__.js +44 -119
  272. package/out/concepts/MetadataType__.js.map +1 -1
  273. package/out/concepts/MicroApp__.d.ts +5 -6
  274. package/out/concepts/MicroApp__.js +30 -18
  275. package/out/concepts/MicroApp__.js.map +1 -1
  276. package/out/concepts/Module__.d.ts +99 -128
  277. package/out/concepts/Module__.js +133 -532
  278. package/out/concepts/Module__.js.map +1 -1
  279. package/out/concepts/MsgTriggerEvent__.d.ts +31 -33
  280. package/out/concepts/MsgTriggerEvent__.js +39 -67
  281. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  282. package/out/concepts/MsgTriggerLauncher__.d.ts +11 -14
  283. package/out/concepts/MsgTriggerLauncher__.js +18 -44
  284. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  285. package/out/concepts/MultiApprovalPolicy__.d.ts +8 -9
  286. package/out/concepts/MultiApprovalPolicy__.js +7 -13
  287. package/out/concepts/MultiApprovalPolicy__.js.map +1 -1
  288. package/out/concepts/Namespace__.d.ts +112 -138
  289. package/out/concepts/Namespace__.js +122 -501
  290. package/out/concepts/Namespace__.js.map +1 -1
  291. package/out/concepts/NewComposite__.d.ts +11 -21
  292. package/out/concepts/NewComposite__.js +48 -146
  293. package/out/concepts/NewComposite__.js.map +1 -1
  294. package/out/concepts/NewList__.d.ts +6 -14
  295. package/out/concepts/NewList__.js +7 -77
  296. package/out/concepts/NewList__.js.map +1 -1
  297. package/out/concepts/NewMap__.d.ts +6 -14
  298. package/out/concepts/NewMap__.js +7 -77
  299. package/out/concepts/NewMap__.js.map +1 -1
  300. package/out/concepts/New__.d.ts +6 -0
  301. package/out/concepts/New__.js +9 -0
  302. package/out/concepts/New__.js.map +1 -1
  303. package/out/concepts/NullLiteral__.d.ts +5 -0
  304. package/out/concepts/NullLiteral__.js +5 -0
  305. package/out/concepts/NullLiteral__.js.map +1 -1
  306. package/out/concepts/NumberInputSetter__.d.ts +45 -0
  307. package/out/concepts/NumberInputSetter__.js +98 -0
  308. package/out/concepts/NumberInputSetter__.js.map +1 -0
  309. package/out/concepts/NumericLiteral__.d.ts +6 -13
  310. package/out/concepts/NumericLiteral__.js +8 -45
  311. package/out/concepts/NumericLiteral__.js.map +1 -1
  312. package/out/concepts/OqlQueryComponent__.d.ts +7 -17
  313. package/out/concepts/OqlQueryComponent__.js +16 -53
  314. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  315. package/out/concepts/OverriddenLogic__.d.ts +38 -59
  316. package/out/concepts/OverriddenLogic__.js +55 -252
  317. package/out/concepts/OverriddenLogic__.js.map +1 -1
  318. package/out/concepts/Paginate__.d.ts +59 -0
  319. package/out/concepts/Paginate__.js +158 -0
  320. package/out/concepts/Paginate__.js.map +1 -0
  321. package/out/concepts/ParamWithGroup__.d.ts +13 -10
  322. package/out/concepts/ParamWithGroup__.js +15 -6
  323. package/out/concepts/ParamWithGroup__.js.map +1 -1
  324. package/out/concepts/Param__.d.ts +33 -76
  325. package/out/concepts/Param__.js +63 -159
  326. package/out/concepts/Param__.js.map +1 -1
  327. package/out/concepts/Point__.d.ts +5 -6
  328. package/out/concepts/Point__.js +11 -13
  329. package/out/concepts/Point__.js.map +1 -1
  330. package/out/concepts/ProcessComponent__.d.ts +12 -20
  331. package/out/concepts/ProcessComponent__.js +32 -90
  332. package/out/concepts/ProcessComponent__.js.map +1 -1
  333. package/out/concepts/ProcessElement__.d.ts +21 -66
  334. package/out/concepts/ProcessElement__.js +48 -360
  335. package/out/concepts/ProcessElement__.js.map +1 -1
  336. package/out/concepts/ProcessOutcome__.d.ts +5 -4
  337. package/out/concepts/ProcessOutcome__.js +8 -8
  338. package/out/concepts/ProcessOutcome__.js.map +1 -1
  339. package/out/concepts/ProcessOutcomes__.d.ts +5 -4
  340. package/out/concepts/ProcessOutcomes__.js +6 -7
  341. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  342. package/out/concepts/Process__.d.ts +16 -26
  343. package/out/concepts/Process__.js +29 -186
  344. package/out/concepts/Process__.js.map +1 -1
  345. package/out/concepts/PropDeclaration__.d.ts +99 -0
  346. package/out/concepts/PropDeclaration__.js +183 -0
  347. package/out/concepts/PropDeclaration__.js.map +1 -0
  348. package/out/concepts/PropertySelectSetter__.d.ts +25 -0
  349. package/out/concepts/PropertySelectSetter__.js +53 -0
  350. package/out/concepts/PropertySelectSetter__.js.map +1 -0
  351. package/out/concepts/QueryAggregateExpression__.d.ts +6 -13
  352. package/out/concepts/QueryAggregateExpression__.js +11 -46
  353. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  354. package/out/concepts/QueryFieldExpression__.d.ts +5 -0
  355. package/out/concepts/QueryFieldExpression__.js +17 -4
  356. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  357. package/out/concepts/QueryFromExpression__.d.ts +6 -3
  358. package/out/concepts/QueryFromExpression__.js +14 -34
  359. package/out/concepts/QueryFromExpression__.js.map +1 -1
  360. package/out/concepts/QueryGroupByExpression__.d.ts +5 -12
  361. package/out/concepts/QueryGroupByExpression__.js +5 -44
  362. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  363. package/out/concepts/QueryJoinExpression__.d.ts +29 -26
  364. package/out/concepts/QueryJoinExpression__.js +34 -52
  365. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  366. package/out/concepts/QueryLimitExpression__.d.ts +5 -22
  367. package/out/concepts/QueryLimitExpression__.js +5 -57
  368. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  369. package/out/concepts/QueryOrderByExpression__.d.ts +5 -22
  370. package/out/concepts/QueryOrderByExpression__.js +5 -57
  371. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  372. package/out/concepts/QuerySelectExpression__.d.ts +37 -34
  373. package/out/concepts/QuerySelectExpression__.js +37 -59
  374. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  375. package/out/concepts/Rect__.d.ts +5 -6
  376. package/out/concepts/Rect__.js +17 -15
  377. package/out/concepts/Rect__.js.map +1 -1
  378. package/out/concepts/Return__.d.ts +28 -56
  379. package/out/concepts/Return__.js +50 -139
  380. package/out/concepts/Return__.js.map +1 -1
  381. package/out/concepts/Role__.d.ts +5 -11
  382. package/out/concepts/Role__.js +21 -21
  383. package/out/concepts/Role__.js.map +1 -1
  384. package/out/concepts/SelectMembers__.d.ts +8 -20
  385. package/out/concepts/SelectMembers__.js +10 -58
  386. package/out/concepts/SelectMembers__.js.map +1 -1
  387. package/out/concepts/SequentialPolicy__.d.ts +5 -0
  388. package/out/concepts/SequentialPolicy__.js +5 -0
  389. package/out/concepts/SequentialPolicy__.js.map +1 -1
  390. package/out/concepts/SetterOption__.d.ts +49 -0
  391. package/out/concepts/SetterOption__.js +99 -0
  392. package/out/concepts/SetterOption__.js.map +1 -0
  393. package/out/concepts/SlotDeclaration__.d.ts +213 -0
  394. package/out/concepts/SlotDeclaration__.js +287 -0
  395. package/out/concepts/SlotDeclaration__.js.map +1 -0
  396. package/out/concepts/Slot__.d.ts +7 -31
  397. package/out/concepts/Slot__.js +27 -72
  398. package/out/concepts/Slot__.js.map +1 -1
  399. package/out/concepts/SqlQueryComponent__.d.ts +6 -17
  400. package/out/concepts/SqlQueryComponent__.js +14 -54
  401. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  402. package/out/concepts/Start__.d.ts +5 -4
  403. package/out/concepts/Start__.js +5 -7
  404. package/out/concepts/Start__.js.map +1 -1
  405. package/out/concepts/StaticString__.d.ts +6 -12
  406. package/out/concepts/StaticString__.js +14 -21
  407. package/out/concepts/StaticString__.js.map +1 -1
  408. package/out/concepts/StringInterpolation__.d.ts +5 -2
  409. package/out/concepts/StringInterpolation__.js +7 -33
  410. package/out/concepts/StringInterpolation__.js.map +1 -1
  411. package/out/concepts/StringLiteral__.d.ts +6 -1
  412. package/out/concepts/StringLiteral__.js +16 -2
  413. package/out/concepts/StringLiteral__.js.map +1 -1
  414. package/out/concepts/StructureProperty__.d.ts +13 -49
  415. package/out/concepts/StructureProperty__.js +35 -137
  416. package/out/concepts/StructureProperty__.js.map +1 -1
  417. package/out/concepts/Structure__.d.ts +13 -21
  418. package/out/concepts/Structure__.js +28 -90
  419. package/out/concepts/Structure__.js.map +1 -1
  420. package/out/concepts/SwitchCase__.d.ts +6 -13
  421. package/out/concepts/SwitchCase__.js +6 -45
  422. package/out/concepts/SwitchCase__.js.map +1 -1
  423. package/out/concepts/SwitchSetter__.d.ts +25 -0
  424. package/out/concepts/SwitchSetter__.js +53 -0
  425. package/out/concepts/SwitchSetter__.js.map +1 -0
  426. package/out/concepts/SwitchStatement__.d.ts +6 -3
  427. package/out/concepts/SwitchStatement__.js +5 -31
  428. package/out/concepts/SwitchStatement__.js.map +1 -1
  429. package/out/concepts/ThemeVariable__.d.ts +29 -0
  430. package/out/concepts/ThemeVariable__.js +58 -0
  431. package/out/concepts/ThemeVariable__.js.map +1 -0
  432. package/out/concepts/Theme__.d.ts +5 -6
  433. package/out/concepts/Theme__.js +11 -13
  434. package/out/concepts/Theme__.js.map +1 -1
  435. package/out/concepts/Transactional__.d.ts +29 -35
  436. package/out/concepts/Transactional__.js +54 -56
  437. package/out/concepts/Transactional__.js.map +1 -1
  438. package/out/concepts/TriggerEvent__.d.ts +8 -20
  439. package/out/concepts/TriggerEvent__.js +13 -57
  440. package/out/concepts/TriggerEvent__.js.map +1 -1
  441. package/out/concepts/TriggerLauncher__.d.ts +12 -17
  442. package/out/concepts/TriggerLauncher__.js +30 -27
  443. package/out/concepts/TriggerLauncher__.js.map +1 -1
  444. package/out/concepts/TypeAnnotation__.d.ts +8 -11
  445. package/out/concepts/TypeAnnotation__.js +40 -89
  446. package/out/concepts/TypeAnnotation__.js.map +1 -1
  447. package/out/concepts/TypeParam__.d.ts +5 -0
  448. package/out/concepts/TypeParam__.js +12 -1
  449. package/out/concepts/TypeParam__.js.map +1 -1
  450. package/out/concepts/UnaryExpression__.d.ts +5 -12
  451. package/out/concepts/UnaryExpression__.js +8 -45
  452. package/out/concepts/UnaryExpression__.js.map +1 -1
  453. package/out/concepts/Unparsed__.d.ts +5 -0
  454. package/out/concepts/Unparsed__.js +8 -1
  455. package/out/concepts/Unparsed__.js.map +1 -1
  456. package/out/concepts/UseComponent__.d.ts +6 -7
  457. package/out/concepts/UseComponent__.js +11 -13
  458. package/out/concepts/UseComponent__.js.map +1 -1
  459. package/out/concepts/ValidationRule__.d.ts +7 -28
  460. package/out/concepts/ValidationRule__.js +18 -71
  461. package/out/concepts/ValidationRule__.js.map +1 -1
  462. package/out/concepts/Variable__.d.ts +30 -58
  463. package/out/concepts/Variable__.js +51 -140
  464. package/out/concepts/Variable__.js.map +1 -1
  465. package/out/concepts/ViewBlockWithImage__.d.ts +33 -0
  466. package/out/concepts/ViewBlockWithImage__.js +63 -0
  467. package/out/concepts/ViewBlockWithImage__.js.map +1 -0
  468. package/out/concepts/ViewBlock__.d.ts +11 -12
  469. package/out/concepts/ViewBlock__.js +22 -18
  470. package/out/concepts/ViewBlock__.js.map +1 -1
  471. package/out/concepts/ViewComponentDeclaration__.d.ts +721 -0
  472. package/out/concepts/ViewComponentDeclaration__.js +808 -0
  473. package/out/concepts/ViewComponentDeclaration__.js.map +1 -0
  474. package/out/concepts/ViewElement__.d.ts +38 -37
  475. package/out/concepts/ViewElement__.js +415 -432
  476. package/out/concepts/ViewElement__.js.map +1 -1
  477. package/out/concepts/View__.d.ts +39 -46
  478. package/out/concepts/View__.js +509 -342
  479. package/out/concepts/View__.js.map +1 -1
  480. package/out/concepts/WhileStatement__.d.ts +6 -13
  481. package/out/concepts/WhileStatement__.js +6 -45
  482. package/out/concepts/WhileStatement__.js.map +1 -1
  483. package/out/concepts/basics/stdlib/nasl.auth.js +68 -33
  484. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  485. package/out/concepts/basics/stdlib/nasl.process.js +101 -3
  486. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  487. package/out/concepts/basics/stdlib/nasl.util.js +31 -31
  488. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  489. package/out/concepts/index__.d.ts +24 -8
  490. package/out/concepts/index__.js +24 -8
  491. package/out/concepts/index__.js.map +1 -1
  492. package/out/concepts/utils/asserts.d.ts +1079 -313
  493. package/out/concepts/utils/asserts.js +1461 -441
  494. package/out/concepts/utils/asserts.js.map +1 -1
  495. package/out/concepts/utils/types.d.ts +82 -30
  496. package/out/config.d.ts +9 -0
  497. package/out/config.js +5 -0
  498. package/out/config.js.map +1 -1
  499. package/out/decorators/index.d.ts +1 -6
  500. package/out/decorators/index.js +7 -16
  501. package/out/decorators/index.js.map +1 -1
  502. package/out/enums/KEYWORDS.js +2 -0
  503. package/out/enums/KEYWORDS.js.map +1 -1
  504. package/out/generator/genBundleFiles.d.ts +2 -0
  505. package/out/generator/genBundleFiles.js +105 -25
  506. package/out/generator/genBundleFiles.js.map +1 -1
  507. package/out/generator/genReleaseBody.d.ts +2 -4
  508. package/out/generator/genReleaseBody.js +0 -1
  509. package/out/generator/genReleaseBody.js.map +1 -1
  510. package/out/generator/permission.d.ts +5 -1
  511. package/out/generator/permission.js +3 -2
  512. package/out/generator/permission.js.map +1 -1
  513. package/out/index.d.ts +1 -0
  514. package/out/index.js +3 -1
  515. package/out/index.js.map +1 -1
  516. package/out/natural/genNaturalTS.js +2 -5
  517. package/out/natural/genNaturalTS.js.map +1 -1
  518. package/out/natural/index.d.ts +2 -0
  519. package/out/natural/index.js +2 -0
  520. package/out/natural/index.js.map +1 -1
  521. package/out/natural/naslStdlibMap.d.ts +1 -2
  522. package/out/natural/naslStdlibMap.js +32 -23
  523. package/out/natural/naslStdlibMap.js.map +1 -1
  524. package/out/natural/prompt/analyzeClaims.d.ts +1 -0
  525. package/out/natural/prompt/analyzeClaims.js +21 -0
  526. package/out/natural/prompt/analyzeClaims.js.map +1 -0
  527. package/out/natural/prompt/executeClaims.d.ts +1 -0
  528. package/out/natural/prompt/executeClaims.js +73 -0
  529. package/out/natural/prompt/executeClaims.js.map +1 -0
  530. package/out/natural/transformTSCode.js +13 -2
  531. package/out/natural/transformTSCode.js.map +1 -1
  532. package/out/server/createUiTs.d.ts +2 -1
  533. package/out/server/createUiTs.js +133 -161
  534. package/out/server/createUiTs.js.map +1 -1
  535. package/out/server/entity2LogicNamespace.js +1 -15
  536. package/out/server/entity2LogicNamespace.js.map +1 -1
  537. package/out/server/extendBaseNode.js +36 -9
  538. package/out/server/extendBaseNode.js.map +1 -1
  539. package/out/server/formatTsUtils.js +9 -9
  540. package/out/server/formatTsUtils.js.map +1 -1
  541. package/out/server/getConnector.d.ts +1 -0
  542. package/out/server/getConnector.js +38 -35
  543. package/out/server/getConnector.js.map +1 -1
  544. package/out/server/getFunctions.js +3 -3
  545. package/out/server/getFunctions.js.map +1 -1
  546. package/out/server/getLogics.js +51 -15
  547. package/out/server/getLogics.js.map +1 -1
  548. package/out/server/getMemberIdentifier.js +87 -144
  549. package/out/server/getMemberIdentifier.js.map +1 -1
  550. package/out/server/naslServer.d.ts +11 -1
  551. package/out/server/naslServer.js +118 -74
  552. package/out/server/naslServer.js.map +1 -1
  553. package/out/server/translator.js +24 -5
  554. package/out/server/translator.js.map +1 -1
  555. package/out/service/storage/init.d.ts +1 -0
  556. package/out/service/storage/init.js +12 -7
  557. package/out/service/storage/init.js.map +1 -1
  558. package/out/templator/genCreateBlock.js +16 -16
  559. package/out/templator/genCreateBlock.js.map +1 -1
  560. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -23
  561. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  562. package/out/templator/genCurdMultipleKeyBlock.d.ts +2 -2
  563. package/out/templator/genCurdMultipleKeyBlock.js +28 -38
  564. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  565. package/out/templator/genEditTableBlock.js +15 -15
  566. package/out/templator/genEditTableBlock.js.map +1 -1
  567. package/out/templator/genEnumSelectBlock.js +8 -8
  568. package/out/templator/genEnumSelectBlock.js.map +1 -1
  569. package/out/templator/genGridViewBlock.js +18 -20
  570. package/out/templator/genGridViewBlock.js.map +1 -1
  571. package/out/templator/genListViewBlock.js +10 -10
  572. package/out/templator/genListViewBlock.js.map +1 -1
  573. package/out/templator/genQueryComponent.js +32 -37
  574. package/out/templator/genQueryComponent.js.map +1 -1
  575. package/out/templator/genSelectBlock.js +10 -10
  576. package/out/templator/genSelectBlock.js.map +1 -1
  577. package/out/templator/genTableBlock.js +18 -10
  578. package/out/templator/genTableBlock.js.map +1 -1
  579. package/out/templator/genUpdateBlock.js +15 -15
  580. package/out/templator/genUpdateBlock.js.map +1 -1
  581. package/out/templator/utils.d.ts +19 -24
  582. package/out/templator/utils.js +20 -30
  583. package/out/templator/utils.js.map +1 -1
  584. package/out/translator/types.d.ts +2 -0
  585. package/out/utils/index.d.ts +6 -1
  586. package/out/utils/index.js +37 -4
  587. package/out/utils/index.js.map +1 -1
  588. package/out/utils/string.d.ts +12 -0
  589. package/out/utils/string.js +15 -1
  590. package/out/utils/string.js.map +1 -1
  591. package/out/utils/time-slicing/performance.js +3 -3
  592. package/out/utils/time-slicing/performance.js.map +1 -1
  593. package/package.json +1 -1
  594. package/sandbox/stdlib/nasl.auth.ts +4 -0
  595. package/sandbox/stdlib/nasl.collection.ts +5 -3
  596. package/sandbox/stdlib/nasl.core.ts +16 -1
  597. package/sandbox/stdlib/nasl.oql.ts +2 -2
  598. package/sandbox/stdlib/nasl.process.ts +18 -0
  599. package/sandbox/stdlib/nasl.ui.components.h5.ts +1751 -0
  600. package/sandbox/stdlib/nasl.ui.components.pc.ts +3479 -0
  601. package/sandbox/stdlib/nasl.ui.definition.ts +53 -2688
  602. package/sandbox/stdlib/nasl.ui.ts +2 -1
  603. package/sandbox/stdlib/nasl.util.ts +7 -5
  604. package/sandbox-natural/stdlib/nasl.core.ts +3 -0
  605. package/sandbox-natural/stdlib/nasl.oql.ts +4 -3
  606. package/src/automate/engine/utils.js +3 -7
  607. package/src/automate/template/myProcess.js +65 -65
  608. package/src/bak/translator.js +62 -29
  609. package/src/breakpoint/generator/BreakpointNode.ts +9 -0
  610. package/src/breakpoint/shared/constants.ts +1 -0
  611. package/src/breakpoint/shared/utils.ts +1 -1
  612. package/src/common/BaseNode.ts +71 -9
  613. package/src/common/ComponentAPI.ts +6 -3
  614. package/src/common/EventEmitter.ts +1 -0
  615. package/src/concepts/Abort__.ts +8 -8
  616. package/src/concepts/AbstractInterface__.ts +14 -14
  617. package/src/concepts/Anchor__.ts +8 -60
  618. package/src/concepts/AnonymousFunction__.ts +21 -198
  619. package/src/concepts/App__.ts +1151 -1837
  620. package/src/concepts/Argument__.ts +16 -64
  621. package/src/concepts/Assignee__.ts +14 -72
  622. package/src/concepts/AssignmentLine__.ts +9 -14
  623. package/src/concepts/Assignment__.ts +9 -92
  624. package/src/concepts/Attribute__.ts +49 -176
  625. package/src/concepts/AuthInterface__.ts +19 -20
  626. package/src/concepts/AuthLogicForCallInterface__.ts +9 -36
  627. package/src/concepts/AuthLogic__.ts +45 -46
  628. package/src/concepts/BackendVariable__.ts +45 -167
  629. package/src/concepts/Backend__.ts +13 -57
  630. package/src/concepts/BaseSetter__.ts +72 -0
  631. package/src/concepts/BatchAssignment__.ts +18 -105
  632. package/src/concepts/BinaryExpression__.ts +36 -89
  633. package/src/concepts/BindAttribute__.ts +194 -343
  634. package/src/concepts/BindDirective__.ts +80 -135
  635. package/src/concepts/BindEvent__.ts +62 -126
  636. package/src/concepts/BindStyle__.ts +59 -112
  637. package/src/concepts/Block__.ts +8 -34
  638. package/src/concepts/BooleanLiteral__.ts +12 -5
  639. package/src/concepts/BusinessComponent__.ts +201 -502
  640. package/src/concepts/BusinessLogic__.ts +15 -15
  641. package/src/concepts/CallAuthInterface__.ts +10 -39
  642. package/src/concepts/CallConnector__.ts +15 -6
  643. package/src/concepts/CallEvent__.ts +16 -45
  644. package/src/concepts/CallFunction__.ts +104 -134
  645. package/src/concepts/CallInterface__.ts +20 -47
  646. package/src/concepts/CallLogic__.ts +93 -175
  647. package/src/concepts/CallQueryComponent__.ts +226 -520
  648. package/src/concepts/CapsulesSetter__.ts +254 -0
  649. package/src/concepts/Comment__.ts +11 -5
  650. package/src/concepts/CompletionProperty__.ts +29 -100
  651. package/src/concepts/ConfigGroup__.ts +13 -57
  652. package/src/concepts/ConfigPropertyValue__.ts +14 -26
  653. package/src/concepts/ConfigProperty__.ts +28 -68
  654. package/src/concepts/Configuration__.ts +9 -56
  655. package/src/concepts/Connection__.ts +27 -68
  656. package/src/concepts/ConnectorTrigger__.ts +57 -65
  657. package/src/concepts/Connector__.ts +339 -1448
  658. package/src/concepts/Constant__.ts +59 -182
  659. package/src/concepts/CountersignPolicy__.ts +12 -18
  660. package/src/concepts/DataSource__.ts +29 -68
  661. package/src/concepts/DatabaseTypeAnnotation__.ts +14 -19
  662. package/src/concepts/DefaultValue__.ts +10 -74
  663. package/src/concepts/Destination__.ts +28 -80
  664. package/src/concepts/End__.ts +11 -9
  665. package/src/concepts/EntityIndex__.ts +44 -51
  666. package/src/concepts/EntityProperty__.ts +86 -238
  667. package/src/concepts/Entity__.ts +43 -111
  668. package/src/concepts/EnumItem__.ts +29 -40
  669. package/src/concepts/EnumSelectSetter__.ts +254 -0
  670. package/src/concepts/Enum__.ts +38 -129
  671. package/src/concepts/EventDeclaration__.ts +95 -0
  672. package/src/concepts/Event__.ts +43 -92
  673. package/src/concepts/ExternalDestination__.ts +17 -91
  674. package/src/concepts/ForEachStatement__.ts +15 -198
  675. package/src/concepts/FrontendLibrary__.ts +111 -161
  676. package/src/concepts/FrontendType__.ts +21 -118
  677. package/src/concepts/FrontendVariable__.ts +10 -4
  678. package/src/concepts/Frontend__.ts +44 -250
  679. package/src/concepts/Function__.ts +28 -220
  680. package/src/concepts/I18nInfo__.ts +18 -20
  681. package/src/concepts/IconSetter__.ts +72 -0
  682. package/src/concepts/Identifier__.ts +27 -16
  683. package/src/concepts/IfStatement__.ts +9 -60
  684. package/src/concepts/ImageSetter__.ts +65 -0
  685. package/src/concepts/ImportedInterface__.ts +17 -4
  686. package/src/concepts/InputSetter__.ts +72 -0
  687. package/src/concepts/Integration__.ts +10 -114
  688. package/src/concepts/InterfaceParam__.ts +67 -186
  689. package/src/concepts/Interface__.ts +106 -200
  690. package/src/concepts/JSBlock__.ts +11 -11
  691. package/src/concepts/JavaLogic__.ts +19 -9
  692. package/src/concepts/LogicDeclaration__.ts +657 -0
  693. package/src/concepts/LogicItem__.ts +91 -96
  694. package/src/concepts/Logic__.ts +287 -434
  695. package/src/concepts/MatchCase__.ts +22 -72
  696. package/src/concepts/Match__.ts +23 -67
  697. package/src/concepts/MemberExpression__.ts +136 -132
  698. package/src/concepts/MetadataType__.ts +72 -167
  699. package/src/concepts/MicroApp__.ts +34 -29
  700. package/src/concepts/Module__.ts +259 -681
  701. package/src/concepts/MsgTriggerEvent__.ts +44 -79
  702. package/src/concepts/MsgTriggerLauncher__.ts +21 -54
  703. package/src/concepts/MultiApprovalPolicy__.ts +10 -18
  704. package/src/concepts/Namespace__.ts +278 -652
  705. package/src/concepts/NewComposite__.ts +62 -170
  706. package/src/concepts/NewList__.ts +12 -94
  707. package/src/concepts/NewMap__.ts +12 -94
  708. package/src/concepts/New__.ts +13 -2
  709. package/src/concepts/NullLiteral__.ts +8 -2
  710. package/src/concepts/NumberInputSetter__.ts +104 -0
  711. package/src/concepts/NumericLiteral__.ts +13 -63
  712. package/src/concepts/OqlQueryComponent__.ts +23 -71
  713. package/src/concepts/OverriddenLogic__.ts +71 -287
  714. package/src/concepts/Paginate__.ts +185 -0
  715. package/src/concepts/ParamWithGroup__.ts +26 -17
  716. package/src/concepts/Param__.ts +70 -211
  717. package/src/concepts/Point__.ts +14 -19
  718. package/src/concepts/ProcessComponent__.ts +33 -104
  719. package/src/concepts/ProcessElement__.ts +67 -422
  720. package/src/concepts/ProcessOutcome__.ts +12 -11
  721. package/src/concepts/ProcessOutcomes__.ts +9 -9
  722. package/src/concepts/Process__.ts +36 -200
  723. package/src/concepts/PropDeclaration__.ts +209 -0
  724. package/src/concepts/PropertySelectSetter__.ts +65 -0
  725. package/src/concepts/QueryAggregateExpression__.ts +18 -65
  726. package/src/concepts/QueryFieldExpression__.ts +22 -10
  727. package/src/concepts/QueryFromExpression__.ts +21 -41
  728. package/src/concepts/QueryGroupByExpression__.ts +8 -60
  729. package/src/concepts/QueryJoinExpression__.ts +64 -101
  730. package/src/concepts/QueryLimitExpression__.ts +9 -86
  731. package/src/concepts/QueryOrderByExpression__.ts +9 -86
  732. package/src/concepts/QuerySelectExpression__.ts +70 -118
  733. package/src/concepts/Rect__.ts +22 -23
  734. package/src/concepts/Return__.ts +60 -185
  735. package/src/concepts/Role__.ts +22 -29
  736. package/src/concepts/SelectMembers__.ts +16 -77
  737. package/src/concepts/SequentialPolicy__.ts +7 -2
  738. package/src/concepts/SetterOption__.ts +111 -0
  739. package/src/concepts/SlotDeclaration__.ts +488 -0
  740. package/src/concepts/Slot__.ts +35 -105
  741. package/src/concepts/SqlQueryComponent__.ts +21 -73
  742. package/src/concepts/Start__.ts +7 -8
  743. package/src/concepts/StaticString__.ts +16 -26
  744. package/src/concepts/StringInterpolation__.ts +9 -36
  745. package/src/concepts/StringLiteral__.ts +16 -7
  746. package/src/concepts/StructureProperty__.ts +38 -176
  747. package/src/concepts/Structure__.ts +32 -102
  748. package/src/concepts/SwitchCase__.ts +10 -62
  749. package/src/concepts/SwitchSetter__.ts +65 -0
  750. package/src/concepts/SwitchStatement__.ts +9 -35
  751. package/src/concepts/ThemeVariable__.ts +71 -0
  752. package/src/concepts/Theme__.ts +15 -17
  753. package/src/concepts/Transactional__.ts +67 -77
  754. package/src/concepts/TriggerEvent__.ts +14 -76
  755. package/src/concepts/TriggerLauncher__.ts +34 -38
  756. package/src/concepts/TypeAnnotation__.ts +50 -100
  757. package/src/concepts/TypeParam__.ts +10 -5
  758. package/src/concepts/UnaryExpression__.ts +12 -62
  759. package/src/concepts/Unparsed__.ts +11 -5
  760. package/src/concepts/UseComponent__.ts +14 -19
  761. package/src/concepts/ValidationRule__.ts +26 -105
  762. package/src/concepts/Variable__.ts +71 -195
  763. package/src/concepts/ViewBlockWithImage__.ts +80 -0
  764. package/src/concepts/ViewBlock__.ts +24 -27
  765. package/src/concepts/ViewComponentDeclaration__.ts +1670 -0
  766. package/src/concepts/ViewElement__.ts +502 -486
  767. package/src/concepts/View__.ts +576 -389
  768. package/src/concepts/WhileStatement__.ts +11 -62
  769. package/src/concepts/basics/stdlib/nasl.auth.ts +97 -34
  770. package/src/concepts/basics/stdlib/nasl.process.ts +103 -7
  771. package/src/concepts/basics/stdlib/nasl.util.ts +31 -31
  772. package/src/concepts/index__.ts +24 -8
  773. package/src/concepts/utils/asserts.ts +1544 -446
  774. package/src/concepts/utils/types.ts +121 -41
  775. package/src/config.ts +6 -0
  776. package/src/decorators/index.ts +3 -8
  777. package/src/enums/KEYWORDS.ts +2 -0
  778. package/src/generator/genBundleFiles.ts +129 -29
  779. package/src/generator/genReleaseBody.ts +0 -2
  780. package/src/generator/permission.ts +2 -2
  781. package/src/index.ts +1 -0
  782. package/src/natural/genNaturalTS.ts +2 -2
  783. package/src/natural/index.ts +3 -0
  784. package/src/natural/naslStdlibMap.ts +25 -19
  785. package/src/natural/prompt/analyzeClaims.ts +16 -0
  786. package/src/natural/prompt/executeClaims.ts +69 -0
  787. package/src/natural/transformTSCode.ts +12 -2
  788. package/src/server/createUiTs.ts +121 -155
  789. package/src/server/entity2LogicNamespace.ts +1 -16
  790. package/src/server/extendBaseNode.ts +46 -15
  791. package/src/server/formatTsUtils.ts +13 -13
  792. package/src/server/getConnector.ts +43 -35
  793. package/src/server/getFunctions.ts +3 -3
  794. package/src/server/getLogics.ts +34 -17
  795. package/src/server/getMemberIdentifier.ts +101 -145
  796. package/src/server/naslServer.ts +136 -74
  797. package/src/server/translator.ts +23 -5
  798. package/src/service/storage/init.ts +15 -8
  799. package/src/templator/genCreateBlock.ts +16 -16
  800. package/src/templator/genCurdEditMultipleKeyBlock.ts +23 -23
  801. package/src/templator/genCurdMultipleKeyBlock.ts +34 -44
  802. package/src/templator/genEditTableBlock.ts +15 -15
  803. package/src/templator/genEnumSelectBlock.ts +8 -8
  804. package/src/templator/genGridViewBlock.ts +18 -20
  805. package/src/templator/genListViewBlock.ts +10 -10
  806. package/src/templator/genQueryComponent.ts +33 -38
  807. package/src/templator/genSelectBlock.ts +10 -10
  808. package/src/templator/genTableBlock.ts +20 -12
  809. package/src/templator/genUpdateBlock.ts +15 -15
  810. package/src/templator/utils.ts +21 -30
  811. package/src/translator/types.ts +4 -0
  812. package/src/utils/index.ts +40 -5
  813. package/src/utils/string.ts +14 -0
  814. package/src/utils/time-slicing/performance.ts +3 -3
  815. package/test/concepts/call-interface/__snapshots__/getQuickInfoOffset.spec.ts.snap +1 -1
  816. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
  817. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +7 -8
  818. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +5 -5
  819. package/test/concepts/entity/__snapshots__/toEmbeddedTS.spec.ts.snap +2 -2
  820. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
  821. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +1 -1
  822. package/test/concepts/member-expression/fixtures/elements.table-view.data.json +363 -10
  823. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +655 -611
  824. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +127 -6
  825. package/test/concepts/view-element/fixtures/table-data-source-calllogic-with-server-validation.json +2074 -0
  826. package/test/concepts/view-element/toEmbeddedTS.spec.ts +11 -0
  827. package/test/concepts/view-element/toVue.spec.ts +0 -1
  828. package/ts-worker/src/start.js +1 -0
  829. package/out/concepts/ViewComponent__.d.ts +0 -568
  830. package/out/concepts/ViewComponent__.js +0 -809
  831. package/out/concepts/ViewComponent__.js.map +0 -1
  832. package/src/concepts/ViewComponent__.ts +0 -1444
@@ -43,7 +43,6 @@ const compiler = __importStar(require("vue-template-compiler"));
43
43
  const LogicItem__1 = require("./LogicItem__");
44
44
  const Logic__1 = require("./Logic__");
45
45
  const config_1 = require("../config");
46
- const View__1 = require("./View__");
47
46
  const utils_1 = require("../utils");
48
47
  /**
49
48
  * 自闭合标签
@@ -253,6 +252,14 @@ function transAstNodeToNaslNode(astNode, namespace) {
253
252
  ...tempNode,
254
253
  }, undefined, 'logics');
255
254
  }
255
+ else if (astNode.type === 'LogicalExpression' || astNode.type === 'BinaryExpression') {
256
+ node = {
257
+ concept: 'BinaryExpression',
258
+ operator: astNode.operator,
259
+ left: transAstNodeToNaslNode(astNode.left),
260
+ right: transAstNodeToNaslNode(astNode.right),
261
+ };
262
+ }
256
263
  else {
257
264
  node = astNode;
258
265
  node.concept = astNode.type;
@@ -299,6 +306,10 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
299
306
  constructor(source) {
300
307
  source = Object.assign({}, ViewElement_1.getDefaultOptions(), source);
301
308
  super(source);
309
+ /**
310
+ * 页面元素名称
311
+ */
312
+ this.name = '';
302
313
  /**
303
314
  * 元素绑定属性列表
304
315
  */
@@ -326,41 +337,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
326
337
  this.computedStyle = {};
327
338
  super.subConstructor(source);
328
339
  }
329
- /**
330
- * 祖先 View
331
- */
332
- get view() {
333
- return this.getAncestor('View');
334
- }
335
- /**
336
- * 祖先 Module
337
- */
338
- get module() {
339
- return this.getAncestor('Module');
340
- }
341
- /**
342
- * 祖先 App
343
- */
344
- get app() {
345
- return this.getAncestor('App');
346
- }
347
- /**
348
- * 祖先 Frontend
349
- */
350
- get frontend() {
351
- return this.getAncestor('Frontend');
352
- }
353
- /**
354
- * 从父级删除该节点
355
- * @internal
356
- */
357
- _delete() {
358
- let params = null;
359
- if (this.parentNode) {
360
- params = this.parentNode?.__removeViewElement?.(this);
361
- }
362
- return params;
363
- }
364
340
  /**
365
341
  * 设置页面元素名称
366
342
  */
@@ -399,7 +375,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
399
375
  const excludedSet = new Set(excludedList);
400
376
  return (this.bindAttrs || [])
401
377
  .filter((item) => !excludedSet.has(item))
402
- .map((item) => item?.name);
378
+ .map((item) => item.name);
403
379
  }
404
380
  getBindAttributeUniqueName(name = 'bindAttribute1') {
405
381
  return utils.unique(name, this.getBindAttributeExistingNames(), undefined, false);
@@ -460,7 +436,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
460
436
  }
461
437
  getBindEventExistingNames(excludedList = []) {
462
438
  const excludedSet = new Set(excludedList);
463
- return (this.bindEvents || []).filter((item) => !excludedSet.has(item)).map((item) => item?.name);
439
+ return (this.bindEvents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
464
440
  }
465
441
  getBindEventUniqueName(name = 'bindEvent1') {
466
442
  return utils.unique(name, this.getBindEventExistingNames(), undefined, false);
@@ -523,7 +499,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
523
499
  const excludedSet = new Set(excludedList);
524
500
  return (this.bindDirectives || [])
525
501
  .filter((item) => !excludedSet.has(item))
526
- .map((item) => item?.name);
502
+ .map((item) => item.name);
527
503
  }
528
504
  getBindDirectiveUniqueName(name = 'bindDirective1') {
529
505
  return utils.unique(name, this.getBindDirectiveExistingNames(), undefined, false);
@@ -584,7 +560,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
584
560
  }
585
561
  getBindStyleExistingNames(excludedList = []) {
586
562
  const excludedSet = new Set(excludedList);
587
- return (this.bindStyles || []).filter((item) => !excludedSet.has(item)).map((item) => item?.name);
563
+ return (this.bindStyles || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
588
564
  }
589
565
  getBindStyleUniqueName(name = 'bindStyle1') {
590
566
  return utils.unique(name, this.getBindStyleExistingNames(), undefined, false);
@@ -710,37 +686,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
710
686
  }
711
687
  return bindAttribute.delete();
712
688
  }
713
- __removeBindAttribute(bindAttribute) {
714
- const parentKey = bindAttribute.parentKey;
715
- const params = {
716
- parentNode: this,
717
- parentKey,
718
- index: -1,
719
- object: null,
720
- oldObject: bindAttribute,
721
- };
722
- if (parentKey) {
723
- params.parentKey = parentKey;
724
- // @ts-ignore
725
- const t = this.__v_raw || this;
726
- // @ts-ignore
727
- const n = bindAttribute.__v_raw || bindAttribute;
728
- if (Array.isArray(t[parentKey])) {
729
- // @ts-ignore
730
- const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
731
- ~index && this[parentKey].splice(index, 1);
732
- params.index = index;
733
- }
734
- else {
735
- const q = t[parentKey];
736
- if ((q.__v_raw || q) === n) {
737
- params.index = 0;
738
- this[parentKey] = undefined;
739
- }
740
- }
741
- }
742
- return params;
743
- }
744
689
  removeBindEvent(options) {
745
690
  let bindEvent;
746
691
  if (typeof options === 'string') {
@@ -754,37 +699,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
754
699
  }
755
700
  return bindEvent.delete();
756
701
  }
757
- __removeBindEvent(bindEvent) {
758
- const parentKey = bindEvent.parentKey;
759
- const params = {
760
- parentNode: this,
761
- parentKey,
762
- index: -1,
763
- object: null,
764
- oldObject: bindEvent,
765
- };
766
- if (parentKey) {
767
- params.parentKey = parentKey;
768
- // @ts-ignore
769
- const t = this.__v_raw || this;
770
- // @ts-ignore
771
- const n = bindEvent.__v_raw || bindEvent;
772
- if (Array.isArray(t[parentKey])) {
773
- // @ts-ignore
774
- const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
775
- ~index && this[parentKey].splice(index, 1);
776
- params.index = index;
777
- }
778
- else {
779
- const q = t[parentKey];
780
- if ((q.__v_raw || q) === n) {
781
- params.index = 0;
782
- this[parentKey] = undefined;
783
- }
784
- }
785
- }
786
- return params;
787
- }
788
702
  removeBindDirective(options) {
789
703
  let bindDirective;
790
704
  if (typeof options === 'string') {
@@ -798,37 +712,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
798
712
  }
799
713
  return bindDirective.delete();
800
714
  }
801
- __removeBindDirective(bindDirective) {
802
- const parentKey = bindDirective.parentKey;
803
- const params = {
804
- parentNode: this,
805
- parentKey,
806
- index: -1,
807
- object: null,
808
- oldObject: bindDirective,
809
- };
810
- if (parentKey) {
811
- params.parentKey = parentKey;
812
- // @ts-ignore
813
- const t = this.__v_raw || this;
814
- // @ts-ignore
815
- const n = bindDirective.__v_raw || bindDirective;
816
- if (Array.isArray(t[parentKey])) {
817
- // @ts-ignore
818
- const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
819
- ~index && this[parentKey].splice(index, 1);
820
- params.index = index;
821
- }
822
- else {
823
- const q = t[parentKey];
824
- if ((q.__v_raw || q) === n) {
825
- params.index = 0;
826
- this[parentKey] = undefined;
827
- }
828
- }
829
- }
830
- return params;
831
- }
832
715
  removeBindStyle(options) {
833
716
  let bindStyle;
834
717
  if (typeof options === 'string') {
@@ -842,37 +725,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
842
725
  }
843
726
  return bindStyle.delete();
844
727
  }
845
- __removeBindStyle(bindStyle) {
846
- const parentKey = bindStyle.parentKey;
847
- const params = {
848
- parentNode: this,
849
- parentKey,
850
- index: -1,
851
- object: null,
852
- oldObject: bindStyle,
853
- };
854
- if (parentKey) {
855
- params.parentKey = parentKey;
856
- // @ts-ignore
857
- const t = this.__v_raw || this;
858
- // @ts-ignore
859
- const n = bindStyle.__v_raw || bindStyle;
860
- if (Array.isArray(t[parentKey])) {
861
- // @ts-ignore
862
- const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
863
- ~index && this[parentKey].splice(index, 1);
864
- params.index = index;
865
- }
866
- else {
867
- const q = t[parentKey];
868
- if ((q.__v_raw || q) === n) {
869
- params.index = 0;
870
- this[parentKey] = undefined;
871
- }
872
- }
873
- }
874
- return params;
875
- }
876
728
  removeViewElement(options) {
877
729
  let viewElement;
878
730
  if (typeof options === 'string') {
@@ -886,41 +738,28 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
886
738
  }
887
739
  return viewElement.delete();
888
740
  }
889
- __removeViewElement(viewElement) {
890
- const parentKey = viewElement.parentKey;
891
- const params = {
892
- parentNode: this,
893
- parentKey,
894
- index: -1,
895
- object: null,
896
- oldObject: viewElement,
897
- };
898
- if (parentKey) {
899
- params.parentKey = parentKey;
900
- // @ts-ignore
901
- const t = this.__v_raw || this;
902
- // @ts-ignore
903
- const n = viewElement.__v_raw || viewElement;
904
- if (Array.isArray(t[parentKey])) {
905
- // @ts-ignore
906
- const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
907
- ~index && this[parentKey].splice(index, 1);
908
- params.index = index;
909
- }
910
- else {
911
- const q = t[parentKey];
912
- if ((q.__v_raw || q) === n) {
913
- params.index = 0;
914
- this[parentKey] = undefined;
915
- }
916
- }
917
- }
918
- return params;
919
- }
920
741
  //================================================================================
921
742
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
922
743
  // 自动生成的代码已结束。下面可以手动编写。
923
744
  //================================================================================
745
+ /**
746
+ * 祖先 View
747
+ */
748
+ get view() {
749
+ return this.getAncestor('View');
750
+ }
751
+ /**
752
+ * 祖先 Module
753
+ */
754
+ get module() {
755
+ return this.getAncestor('Module');
756
+ }
757
+ /**
758
+ * 祖先 Frontend
759
+ */
760
+ get frontend() {
761
+ return this.getAncestor('Frontend');
762
+ }
924
763
  get likeComponent() {
925
764
  return this.view || this?.getAncestor('BusinessComponent');
926
765
  }
@@ -982,6 +821,57 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
982
821
  haveScope() {
983
822
  return Boolean(this.slotScope);
984
823
  }
824
+ getGenericTypes(tag) {
825
+ let T;
826
+ let V;
827
+ let P;
828
+ let M;
829
+ let T1;
830
+ let C;
831
+ const genericTypes = [];
832
+ if (config_1.config?.allNodesAPI[tag]) {
833
+ const { tsTypeParams = '' } = config_1.config?.allNodesAPI[tag];
834
+ const tsTypes = tsTypeParams?.split(',');
835
+ tsTypes.forEach((item) => {
836
+ const reg = /^(\w+)\s?/;
837
+ const result = reg.exec(item.trim());
838
+ const t = result?.[1];
839
+ if (t === 'T') {
840
+ T = true;
841
+ genericTypes.push('__item');
842
+ }
843
+ if (t === 'V') {
844
+ V = true;
845
+ genericTypes.push('__V');
846
+ }
847
+ if (t === 'P') {
848
+ P = true;
849
+ genericTypes.push('__pageable');
850
+ }
851
+ if (t === 'M') {
852
+ M = true;
853
+ genericTypes.push('__multiple');
854
+ }
855
+ if (t === 'C') {
856
+ C = true;
857
+ genericTypes.push('__converter');
858
+ }
859
+ if (t === 'T1') {
860
+ T1 = true;
861
+ genericTypes.push('__columnItem');
862
+ }
863
+ });
864
+ }
865
+ return {
866
+ T,
867
+ V,
868
+ P,
869
+ M,
870
+ T1,
871
+ C,
872
+ genericTypes,
873
+ };
874
+ }
985
875
  *toEmbeddedTSDefinition(state = (0, translator_1.createCompilerState)()) {
986
876
  const self = this;
987
877
  let code = '';
@@ -989,22 +879,22 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
989
879
  if (self.isCorrespondingBusinessComponent) {
990
880
  code += `${self.name}: ${self.correspondingBusinessComponentNamespace}.${self.tag.replace('bs-', '')};\n`;
991
881
  }
992
- else if (self.toHump(self.tag) === 'lcapLogin' || self.staticClass === 'login-form') { // 登录组件不翻译
993
- code += `${self.name}: nasl.ui.div<any>;\n`;
994
- }
995
- else if (self.tag === 'u-table-view-column-dynamic') {
996
- code += `${self.name}: nasl.ui.${self.toHump(self.tag)}<any, any>;\n`;
997
- }
998
- else if (Object.keys(View__1.PAGE_COMPONENT_INCLUDE_TAG_MAP).includes(self.tag)) {
999
- if (self.bindAttrs?.findIndex((attr) => attr.name === 'data-source') > -1) {
1000
- code += `${self.name}: nasl.ui.${self.toHump(self.tag)}<__elements_completionProperty['${self.name}']['dataSource']>;\n`;
1001
- }
1002
- else {
1003
- code += `${self.name}: nasl.ui.${self.toHump(self.tag)}<any>;\n`;
882
+ else if (self.toHump(self.tag) === 'lcapLogin' || self.staticClass === 'login-form') {
883
+ // 登录组件不翻译
884
+ code += `${self.name}: nasl.ui.Div;\n`;
885
+ }
886
+ else if (config_1.config?.allNodesAPI[self.tag]) {
887
+ const { T, V, P, M, T1, C, genericTypes } = this.getGenericTypes(self.tag);
888
+ code += `${self.name}: nasl.ui.${utils.kebab2Pascal(self.tag)}`;
889
+ if (genericTypes.length > 0) {
890
+ code += `<`;
891
+ code += genericTypes.map((i) => `typeof __elementsRef.${self.name}.${i}`).join(', ');
892
+ code += `>`;
1004
893
  }
894
+ code += ';\n';
1005
895
  }
1006
896
  else {
1007
- code += `${self.name}: nasl.ui.${self.toHump(self.tag)}<any>;\n`;
897
+ code += `${self.name}: nasl.ui.${utils.kebab2Pascal(self.tag)};\n`;
1008
898
  }
1009
899
  if (Array.isArray(self.children)) {
1010
900
  yield* (0, time_slicing_1.wrapForEachToGenerator)(self.children, function* warpForEachGenerator(element) {
@@ -1013,119 +903,161 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1013
903
  }
1014
904
  return code;
1015
905
  }
1016
- *toEmbeddedTSVariableDefinition(state = (0, translator_1.createCompilerState)(), variableList, nameLevel) {
906
+ toEmbeddedTSRefPath(elementsPathMap) {
1017
907
  const self = this;
1018
- let code = '';
1019
- let currentLevel = nameLevel ? `${nameLevel}?.` : '';
1020
- currentLevel += `${self.name}?.()`;
1021
- if (View__1.PAGE_COMPONENT_INCLUDE_TAG_MAP?.[self.tag]) {
1022
- code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1023
- code += `${self.name}: {\n`;
1024
- if (Array.isArray(self.bindAttrs)) {
1025
- yield* (0, time_slicing_1.wrapForEachToGenerator)(self.bindAttrs.filter((attr) => View__1.PAGE_COMPONENT_INCLUDE_TAG_MAP[self.tag]?.[attr.name]), function* warpForEachGenerator(attr) {
1026
- code += yield* attr.toEmbeddedTSVariableDefinition((0, translator_1.shiftState)(state, code, { inline: true }), variableList, self.name, currentLevel);
1027
- });
1028
- if (['u-select', 'van-pickerson'].includes(self.tag)) {
1029
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1030
- code += `pageNumber: nasl.core.Long\n`;
1031
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1032
- code += `filterText: nasl.core.String\n`;
1033
- }
1034
- else if (['u-list-view', 'u-grid-view', 'u-table-view', 'van-list-view', 'van-grid-view'].includes(self.tag) &&
1035
- self.bindAttrs?.findIndex((attr) => attr.name === 'sorting') === -1) {
1036
- if (['u-list-view', 'van-grid-view', 'van-list-view'].includes(self.tag)) {
1037
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1038
- code += `filterText: nasl.core.String\n`;
1039
- }
1040
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1041
- code += `sorting: {
1042
- field: nasl.core.String
1043
- order: nasl.core.String
1044
- }\n`;
1045
- }
1046
- else if (['u-cascader', 'van-cascader'].includes(self.tag)) {
1047
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1048
- code += `filterText: nasl.core.String\n`;
1049
- }
1050
- }
1051
- code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1052
- code += `};\n`;
908
+ if (asserts.isViewElement(self.parentNode)) {
909
+ elementsPathMap[self.name] = `${elementsPathMap[self.parentNode.name]}.${self.name}`;
910
+ }
911
+ else {
912
+ elementsPathMap[self.name] = `${self.name}`;
1053
913
  }
1054
914
  if (Array.isArray(self.children)) {
1055
- yield* (0, time_slicing_1.wrapForEachToGenerator)(self.children, function* warpForEachGenerator(element) {
1056
- code += yield* element.toEmbeddedTSVariableDefinition((0, translator_1.shiftState)(state, code), variableList, currentLevel);
915
+ self.children.forEach((element) => {
916
+ element.toEmbeddedTSRefPath(elementsPathMap);
1057
917
  });
1058
918
  }
1059
- return code;
1060
919
  }
1061
- *toEmbeddedTSVariableFunctionDefinition(state = (0, translator_1.createCompilerState)(), parentLevel) {
920
+ *toEmbeddedTSRefTree(state = (0, translator_1.createCompilerState)(), options, parentLevel) {
1062
921
  const self = this;
922
+ const { elementsPathMap } = options;
923
+ const { T, V, P, M, T1, C } = this.getGenericTypes(self.tag);
1063
924
  let code = '';
1064
925
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1065
926
  let levelIndex = parentLevel || 0;
1066
927
  code += `${self.name}: () => {\n`;
1067
- if (self.tag === 'template' && self.haveScope() && asserts.isViewElement(self.parentNode)) {
1068
- const currentType = self.parentNode.tag === 'u-table-view-column-dynamic' ? 'CurrentDynamic' : 'Current';
1069
- const _this = self.parentNode;
1070
- let genericity = '';
1071
- if (_this.tag === 'u-table-view-column-dynamic') {
1072
- genericity += `<${_this.parentNode.__tsVariableDataSourceTypeName}, ${_this.__tsVariableDataSourceTypeName}>`;
928
+ const getType = (name) => {
929
+ let t;
930
+ const attr = self.bindAttrs?.find((attr) => attr.name === name);
931
+ if (['static', 'string'].includes(attr?.type)) {
932
+ t = attr.value ? 'true' : 'false';
933
+ }
934
+ else if (['dynamic'].includes(attr?.type)) {
935
+ t = 'nasl.core.Boolean';
1073
936
  }
1074
937
  else {
1075
- let targetNode = _this;
1076
- while ((!targetNode.__tsVariableDataSourceTypeName || targetNode.__tsVariableDataSourceTypeName === 'any') && asserts.isViewElement(targetNode?.parentNode)) {
1077
- targetNode = targetNode.parentNode;
938
+ t = false;
939
+ }
940
+ return t;
941
+ };
942
+ const hasDataSource = config_1.config?.allNodesAPI?.[self.tag]?.props?.findIndex((prop) => ['dataSource', 'data-source'].includes(prop.name)) >
943
+ -1;
944
+ // 有数据源属性的组件 才需要生成 item
945
+ if (hasDataSource && T) {
946
+ const key = T1 ? '__columnItem' : '__item';
947
+ const dataSourceAttr = self.bindAttrs?.find((attr) => attr.name === 'dataSource');
948
+ if (dataSourceAttr?.expression) {
949
+ if (asserts.isMemberExpression(dataSourceAttr.expression) ||
950
+ asserts.isIdentifier(dataSourceAttr.expression) ||
951
+ asserts.isCallLogic(dataSourceAttr.expression)) {
952
+ const value = yield* dataSourceAttr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, dataSourceAttr.expression.concept === 'CallLogic'
953
+ ? {
954
+ tabSize: 4,
955
+ inline: true,
956
+ noNeedParams: true,
957
+ }
958
+ : {}));
959
+ // 用别的组件的data当数据源
960
+ if (dataSourceAttr.expression?.property?.name === 'data' &&
961
+ dataSourceAttr.expression?.object?.namespace?.startsWith('elements.')) {
962
+ const componentName = dataSourceAttr.expression?.object.name;
963
+ const componentPath = elementsPathMap[componentName]?.split('.');
964
+ const component = componentPath?.reduce((prev, cur) => {
965
+ return `${prev}.children.${cur}()`;
966
+ }, 'elementsRefTree()');
967
+ if (component) {
968
+ code += `let t = ${component}.__item;\n`;
969
+ code += `let ${key}: typeof t;\n`;
970
+ }
971
+ else {
972
+ code += `let ${key}: any;\n`;
973
+ }
974
+ }
975
+ else {
976
+ code += `let ${key}: nasl.ui.GetItemTypeFromDataSource<typeof ${value}>;\n`;
977
+ }
978
+ }
979
+ else {
980
+ const returnCode = yield* dataSourceAttr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
981
+ code += `const _load = () => { return `;
982
+ code += returnCode;
983
+ code += '};\n';
984
+ code += `let ${key}: nasl.ui.GetItemTypeFromDataSource<ReturnType<typeof _load>>;\n`;
1078
985
  }
1079
- genericity += `<${targetNode.__tsVariableDataSourceTypeName ?? 'any'}>`;
1080
986
  }
1081
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1082
- code += `let current${levelIndex === 0 ? '' : levelIndex}: nasl.ui.${currentType}${genericity}\n`;
1083
- levelIndex++;
987
+ else {
988
+ code += `let ${key}: any;\n`;
989
+ }
1084
990
  }
1085
- const attr = self.bindAttrs?.find((item) => item.name === 'data-source');
1086
- if (attr && attr.expression) {
1087
- const datasourceName = `datasourceName${self.name}`;
1088
- self.__tsVariableDataSourceTypeName = datasourceName;
1089
- if (asserts.isMemberExpression(attr.expression) ||
1090
- asserts.isIdentifier(attr.expression) ||
1091
- asserts.isCallLogic(attr.expression)) {
1092
- const extraParams = {
1093
- tabSize: 4,
1094
- inline: true,
1095
- noNeedParams: true,
1096
- };
1097
- let value = yield* attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, attr.expression.concept === 'CallLogic' ? extraParams : {}));
1098
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1099
- code += `type ${datasourceName} = nasl.ui.GetItemTypeFromDataSource<typeof ${value}>;\n`;
1100
- // code += `let current${levelIndex === 0 ? '' : levelIndex}: nasl.ui.${currentType}<nasl.ui.GetItemTypeFromDataSource<typeof ${value}>>;\n`;
991
+ //
992
+ let valueType;
993
+ if (hasDataSource && V && !T1) {
994
+ const valueFieldAttr = self.bindAttrs?.find((attr) => attr.name === 'valueField');
995
+ if (['static', 'string'].includes(valueFieldAttr?.type)) {
996
+ valueType = `typeof __item.${valueFieldAttr.value}`;
1101
997
  }
1102
998
  else {
1103
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1104
- code += `const __funcName = () => { return `;
1105
- code += yield* attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
1106
- code += '};\n';
1107
- code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1108
- code += `type ${datasourceName} = nasl.ui.GetItemTypeFromDataSource<ReturnType<typeof __funcName>>;\n`;
1109
- // code += `let current${levelIndex === 0 ? '' : levelIndex}: nasl.ui.${currentType}<nasl.ui.GetItemTypeFromDataSource<ReturnType<typeof __funcName>>>;\n`;
999
+ valueType = 'any';
1110
1000
  }
1111
1001
  }
1112
- else {
1113
- self.__tsVariableDataSourceTypeName = 'any';
1002
+ // 分页
1003
+ let pageableType;
1004
+ if (hasDataSource && P && !T1) {
1005
+ pageableType = getType('pageable');
1006
+ code += `let __pageable: ${pageableType};\n`;
1007
+ }
1008
+ // 多选
1009
+ let multipleType;
1010
+ if (hasDataSource && M && !T1) {
1011
+ multipleType = getType('multiple');
1012
+ code += `let __multiple: ${multipleType};\n`;
1013
+ }
1014
+ if (hasDataSource && V && !T1) {
1015
+ code += `// @ts-ignore
1016
+ let __value: ${valueType}${[true, 'true'].includes(multipleType) ? '[]' : ''};\n`;
1017
+ code += `// @ts-ignore
1018
+ let __V: ${valueType};\n`;
1019
+ }
1020
+ if (C) {
1021
+ // code += `let converter: ${getType('converter')};\n`;
1022
+ code += `let __converter: any;\n`;
1023
+ }
1024
+ if (self.tag === 'template' && self.haveScope() && asserts.isViewElement(self.parentNode)) {
1025
+ const currentType = self.parentNode.tag === 'u-table-view-column-dynamic' ? 'CurrentDynamic' : 'Current';
1026
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1027
+ code += `let current${levelIndex === 0 ? '' : levelIndex}: nasl.ui.${currentType}<typeof __item${currentType === 'CurrentDynamic' ? ', typeof __columnItem' : ''}>;\n`;
1028
+ levelIndex++;
1114
1029
  }
1115
1030
  code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1116
1031
  code += `return {\n`;
1117
- if (Array.isArray(self.bindAttrs)) {
1118
- yield* (0, time_slicing_1.wrapForEachToGenerator)(self.bindAttrs.filter((attr) => View__1.PAGE_COMPONENT_INCLUDE_TAG_MAP[self.tag]?.[attr.name]), function* warpForEachGenerator(attr) {
1119
- code += yield* attr.toEmbeddedTSVariableFunctionDefinition((0, translator_1.shiftState)(state, code, { inline: true }));
1120
- });
1032
+ if (T) {
1033
+ code += `__item,\n`;
1034
+ }
1035
+ if (V) {
1036
+ code += `__value, __V,\n`;
1037
+ }
1038
+ if (P) {
1039
+ code += `__pageable,\n`;
1040
+ }
1041
+ if (M) {
1042
+ code += `__multiple,\n`;
1043
+ }
1044
+ if (T1) {
1045
+ code += `__columnItem,\n`;
1046
+ }
1047
+ if (C) {
1048
+ code += `__converter,\n`;
1121
1049
  }
1122
1050
  if (Array.isArray(self.children)) {
1051
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 4);
1052
+ code += `children: {\n`;
1123
1053
  yield* (0, time_slicing_1.wrapForEachToGenerator)(self.children, function* warpForEachGenerator(element) {
1124
- code += yield* element.toEmbeddedTSVariableFunctionDefinition((0, translator_1.shiftState)({ ...state, tabSize: state.tabSize + 2 }, code), levelIndex);
1054
+ code += yield* element.toEmbeddedTSRefTree((0, translator_1.shiftState)({ ...state, tabSize: state.tabSize + 2 }, code), { elementsPathMap }, levelIndex);
1125
1055
  });
1056
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 4);
1057
+ code += `},\n`;
1126
1058
  }
1127
1059
  code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1128
- code += `}\n`;
1060
+ code += `};\n`;
1129
1061
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1130
1062
  code += `},\n`;
1131
1063
  return code;
@@ -1157,7 +1089,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1157
1089
  }
1158
1090
  const bindAttrs = this.bindAttrs;
1159
1091
  if (bindAttrs && bindAttrs.length) {
1160
- const attr = bindAttrs.find((item) => item.name === 'data-source');
1092
+ const attr = bindAttrs.find((item) => item.name === 'dataSource');
1161
1093
  if (attr && attr.expression) {
1162
1094
  if (this.tag === 'u-table-view-column-dynamic') {
1163
1095
  code += `<${this.parentNode.__tsDataSourceTypeName}, ${this.__tsDataSourceTypeName}>`;
@@ -1169,12 +1101,13 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1169
1101
  }
1170
1102
  return code;
1171
1103
  }
1104
+ // 应该没有再使用了
1172
1105
  *getDatasourceTypeCodeStr(state, eleArr) {
1173
1106
  let code = '';
1174
1107
  yield* (0, time_slicing_1.wrapForEachToGenerator)(eleArr ?? [], function* wrapForEach(element, index) {
1175
1108
  const bindAttrs = element.bindAttrs;
1176
1109
  if (bindAttrs && bindAttrs.length) {
1177
- const attr = bindAttrs.find((item) => item.name === 'data-source');
1110
+ const attr = bindAttrs.find((item) => item.name === 'dataSource');
1178
1111
  if (attr && attr.expression) {
1179
1112
  const datasourceName = `datasourceName${element.name}`;
1180
1113
  element.__tsDataSourceTypeName = datasourceName;
@@ -1185,8 +1118,9 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1185
1118
  tabSize: 4,
1186
1119
  inline: true,
1187
1120
  noNeedParams: true,
1121
+ callLogicNoIife: true,
1188
1122
  };
1189
- let value = yield* attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, attr.expression.concept === 'CallLogic' ? extraParams : {}));
1123
+ const value = yield* attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, attr.expression.concept === 'CallLogic' ? extraParams : {}));
1190
1124
  code += `type ${datasourceName} = `;
1191
1125
  code += `nasl.ui.GetItemTypeFromDataSource<typeof ${value}>;\n`;
1192
1126
  }
@@ -1227,6 +1161,26 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1227
1161
  return businessComponent;
1228
1162
  }
1229
1163
  }
1164
+ // 收集页面元素中的业务组件
1165
+ collectExistingBusinessComponent() {
1166
+ const excludedSet = new Set();
1167
+ utils.traverse(({ node }) => {
1168
+ const correspondingBusinessComponent = node.correspondingBusinessComponent;
1169
+ if (correspondingBusinessComponent && !excludedSet.has(correspondingBusinessComponent)) {
1170
+ const set = correspondingBusinessComponent.collectExistingBusinessComponent();
1171
+ if (set.size) {
1172
+ set.forEach((value) => {
1173
+ if (!excludedSet.has(value)) {
1174
+ excludedSet.add(value);
1175
+ }
1176
+ });
1177
+ }
1178
+ }
1179
+ }, {
1180
+ node: this,
1181
+ });
1182
+ return excludedSet;
1183
+ }
1230
1184
  *toEmbeddedTS(state = (0, translator_1.createCompilerState)(), parentLevel) {
1231
1185
  const self = this;
1232
1186
  const { parentNode, app, tag, staticClass, name, bindRoles, bindEvents, children } = self;
@@ -1248,7 +1202,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1248
1202
  }
1249
1203
  // pc事件翻译
1250
1204
  if (self.toHump(tag) === 'lcapLogin') {
1251
- let code = `new nasl.ui.div({name: __elements.${self.name},\n`;
1205
+ let code = `new nasl.ui.Div({_name: __elements.${self.name},\n`;
1252
1206
  // 事件
1253
1207
  if (Array.isArray(self.bindEvents)) {
1254
1208
  yield* (0, time_slicing_1.wrapForEachToGenerator)(self.bindEvents, function* warpForEachGenerator(event) {
@@ -1262,46 +1216,39 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1262
1216
  return code;
1263
1217
  }
1264
1218
  let levelIndex = parentLevel || 0;
1265
- if (tag === 'template' && self.haveScope()) {
1266
- const slotTarget = !self.slotTarget ? 'slotDefault' : 'slot' + self.toFirstUpper(self.toHump(self.slotTarget));
1219
+ if (tag === 'template') {
1220
+ const hasScope = self.haveScope();
1221
+ const slotTarget = !self.slotTarget ? 'slotDefault' : `slot${self.toFirstUpper(self.toHump(self.slotTarget))}`;
1267
1222
  let code = '';
1268
- code += `${slotTarget}: (current${levelIndex === 0 ? '' : levelIndex})=> {\n`;
1269
- code += yield* self.getDatasourceTypeCodeStr(state, self.children);
1270
- levelIndex++;
1271
- code += 'return [';
1272
- yield* (0, time_slicing_1.wrapForEachToGenerator)(self.children, function* warpForEachGenerator(element) {
1273
- code += yield* element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1274
- tabSize: state?.tabSize || 0,
1275
- }), levelIndex);
1276
- });
1277
- code += ']';
1278
- code += '\n';
1279
- code += '},\n';
1280
- return code;
1281
- }
1282
- else if (tag === 'template') {
1283
- const slotTarget = !self.slotTarget ? 'slotDefault' : 'slot' + self.toFirstUpper(self.toHump(self.slotTarget));
1284
- let code = '';
1285
- code += `${slotTarget}: ()=> {\n`;
1286
- code += yield* self.getDatasourceTypeCodeStr(state, self.children);
1287
- code += 'return [';
1223
+ if (hasScope) {
1224
+ code += `${slotTarget}: (current${levelIndex === 0 ? '' : levelIndex}) => [\n`;
1225
+ levelIndex++;
1226
+ }
1227
+ else {
1228
+ code += `${slotTarget}: () => [\n`;
1229
+ }
1288
1230
  yield* (0, time_slicing_1.wrapForEachToGenerator)(self.children, function* warpForEachGenerator(element) {
1289
1231
  code += yield* element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1290
1232
  tabSize: state?.tabSize || 0,
1291
1233
  }), levelIndex);
1292
1234
  });
1293
1235
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1294
- code += ']';
1295
- code += '\n';
1296
- code += '},\n';
1236
+ code += '\n],\n';
1297
1237
  return code;
1298
1238
  }
1299
- let namespace = `nasl.ui.${self.toHump(tag)}`;
1239
+ let namespace = `nasl.ui.${utils.kebab2Pascal(tag)}`;
1300
1240
  if (self.isCorrespondingBusinessComponent) {
1301
1241
  namespace = `${self.correspondingBusinessComponentNamespace}.${self.tag.replace('bs-', '')}`;
1302
1242
  }
1303
- // 后面那个name是为了查找引用的时候用的
1304
- let code = `new ${namespace}${self.getTypeArgmentsStr(state)}({name: __elements.${name},\n`;
1243
+ const { T, V, P, M, T1, C, genericTypes } = this.getGenericTypes(self.tag);
1244
+ let code = `new ${namespace}`;
1245
+ if (genericTypes.length > 0) {
1246
+ code += `<`;
1247
+ code += genericTypes.map((i) => `typeof __elementsRef.${self.name}.${i}`).join(', ');
1248
+ code += `>`;
1249
+ }
1250
+ // 增加唯一name 后面那个name是为了查找引用的时候用的
1251
+ code += `({_name: __elements.${self.name},\n`;
1305
1252
  // 是否开启权限
1306
1253
  // const hasAuth = Array.isArray(bindDirectives)
1307
1254
  // ? !!bindDirectives.filter((directive) => directive.name === 'auth').length
@@ -1331,34 +1278,49 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1331
1278
  if (Array.isArray(children)) {
1332
1279
  code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1333
1280
  if (Array.isArray(self.bindAttrs)) {
1334
- code += `bindAttr: `;
1335
- if (self.isCorrespondingBusinessComponent) {
1336
- code += `{\n`;
1337
- }
1338
- else {
1339
- code += `() => [\n`;
1340
- }
1341
- yield* (0, time_slicing_1.wrapForEachToGenerator)(self.bindAttrs, function* warpForEachGenerator(attr) {
1342
- // 过滤自由布局的key
1343
- const shouldFilter = self.isCorrespondingBusinessComponent && (attr.name === 'key' && !attr.expression);
1281
+ // 属性
1282
+ const validAttrs = self.bindAttrs.filter((attr) => {
1283
+ // 特殊的一些属性不过滤
1284
+ if (['destination', 'externalDestination', 'rules', 'url'].includes(attr.name)) {
1285
+ return true;
1286
+ }
1287
+ const com = config_1.config.allNodesAPI[self.tag];
1288
+ if (com) {
1289
+ const { props } = com;
1290
+ const prop = props?.find((item) => item.name === attr.name);
1291
+ if (prop) {
1292
+ return true;
1293
+ }
1294
+ return false;
1295
+ }
1296
+ return true;
1297
+ });
1298
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(validAttrs, function* warpForEachGenerator(attr) {
1299
+ // 过滤业务组件的非表达式模式的翻译
1300
+ const shouldFilter = self.isCorrespondingBusinessComponent && attr.type !== 'dynamic';
1344
1301
  if (shouldFilter) {
1345
1302
  return;
1346
1303
  }
1347
- code += (yield* attr.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }))) + ',\n';
1304
+ const propCode = yield* attr.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }));
1305
+ if (propCode.trim()) {
1306
+ code += `${propCode},\n`;
1307
+ }
1348
1308
  });
1309
+ // 指令v-if等
1349
1310
  yield* (0, time_slicing_1.wrapForEachToGenerator)(self.bindDirectives, function* warpForEachGenerator(directive) {
1350
- code += (yield* directive.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }))) + ',\n';
1311
+ const directiveCode = yield* directive.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }));
1312
+ if (directiveCode.trim()) {
1313
+ code += `${directiveCode},\n`;
1314
+ }
1351
1315
  });
1316
+ // 样式绑定
1352
1317
  yield* (0, time_slicing_1.wrapForEachToGenerator)(self.bindStyles, function* warpForEachGenerator(bindStyle) {
1353
- code += (yield* bindStyle.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }))) + ',\n';
1318
+ const styleCode = yield* bindStyle.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }));
1319
+ if (styleCode.trim()) {
1320
+ code += `${styleCode},\n`;
1321
+ }
1354
1322
  });
1355
1323
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1356
- if (self.isCorrespondingBusinessComponent) {
1357
- code += '},\n';
1358
- }
1359
- else {
1360
- code += '],\n';
1361
- }
1362
1324
  }
1363
1325
  // 如果子集中有插槽的就
1364
1326
  if (children.find((item) => item.tag === 'template' && item.slotTarget)) {
@@ -1378,9 +1340,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1378
1340
  // 翻译其余的子集
1379
1341
  if (defaultArr.length) {
1380
1342
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1381
- code += `slotDefault: ()=> {\n`;
1382
- code += yield* self.getDatasourceTypeCodeStr(state, defaultArr);
1383
- code += 'return [';
1343
+ code += `slotDefault: () => [\n`;
1384
1344
  yield* (0, time_slicing_1.wrapForEachToGenerator)(defaultArr, function* warpForEachGenerator(element) {
1385
1345
  code += yield* element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1386
1346
  tabSize: (state?.tabSize || 0) + 2,
@@ -1388,16 +1348,13 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1388
1348
  code += '\n';
1389
1349
  });
1390
1350
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1391
- code += ']\n';
1392
1351
  code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1393
- code += '}\n';
1352
+ code += ']\n';
1394
1353
  }
1395
1354
  }
1396
- else {
1355
+ else if (children?.length) {
1397
1356
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1398
- code += `slotDefault: ()=> {\n`;
1399
- code += yield* self.getDatasourceTypeCodeStr(state, children);
1400
- code += 'return [';
1357
+ code += `slotDefault: () => [\n`;
1401
1358
  yield* (0, time_slicing_1.wrapForEachToGenerator)(children, function* warpForEachGenerator(element) {
1402
1359
  code += yield* element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1403
1360
  tabSize: (state?.tabSize || 0) + 2,
@@ -1405,9 +1362,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1405
1362
  code += '\n';
1406
1363
  });
1407
1364
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1408
- code += ']\n';
1409
1365
  code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1410
- code += '}\n';
1366
+ code += ']\n';
1411
1367
  }
1412
1368
  }
1413
1369
  code += (0, translator_1.indent)(state?.tabSize || 0) + '})';
@@ -1660,6 +1616,11 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1660
1616
  slotScope: astNode.slotScope === '_empty_' ? '' : astNode.slotScope,
1661
1617
  children: astNode.children.map((item) => this._fromASTNode(item, newContext)),
1662
1618
  });
1619
+ const attrName2Camel = (name) => {
1620
+ if (name.startsWith('vusion-'))
1621
+ return name;
1622
+ return name.replace(/(?:v-)([a-zA-Z0-9])/g, (m, $1) => $1.toUpperCase());
1623
+ };
1663
1624
  astNode?.attrs?.forEach((oldAttr) => {
1664
1625
  let attr;
1665
1626
  // 获取原始属性
@@ -1667,7 +1628,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1667
1628
  if (oldAttr.value === '""' && orginAttrCode.trim() === oldAttr.name) {
1668
1629
  attr = new BindAttribute({
1669
1630
  type: 'static',
1670
- name: oldAttr.name,
1631
+ name: attrName2Camel(oldAttr.name),
1671
1632
  value: 'true',
1672
1633
  });
1673
1634
  }
@@ -1676,13 +1637,25 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1676
1637
  const tmp = json5.parse(oldAttr.value);
1677
1638
  const source = {
1678
1639
  type: typeof tmp === 'string' ? 'string' : 'static',
1679
- name: oldAttr.name,
1640
+ name: attrName2Camel(oldAttr.name),
1680
1641
  value: typeof tmp === 'string' ? tmp : oldAttr.value,
1681
1642
  };
1682
1643
  if (oldAttr.name === 'rules') {
1683
- source.rules = tmp?.split('|').map((ruleStr) => this._parseValidationRule(ruleStr.trim()));
1644
+ if (Array.isArray(tmp)) {
1645
+ source.rules = tmp.map((rule) => ({
1646
+ concept: 'ValidationRule',
1647
+ name: '',
1648
+ label: '验证规则',
1649
+ calleeNamespace: 'nasl.validation',
1650
+ arguments: [],
1651
+ calleeName: rule?.validate,
1652
+ }));
1653
+ }
1654
+ else {
1655
+ source.rules = tmp?.split('|').map((ruleStr) => this._parseValidationRule(ruleStr.trim()));
1656
+ }
1684
1657
  }
1685
- else if (['page-number', 'page-size'].includes(oldAttr.name)) {
1658
+ else if (['page-number', 'page-size', 'pageNumber', 'pageSize'].includes(oldAttr.name)) {
1686
1659
  source.value = Number(source.value);
1687
1660
  }
1688
1661
  attr = new BindAttribute(source);
@@ -1691,7 +1664,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1691
1664
  const expression = this._parseExpression(oldAttr.value);
1692
1665
  attr = new BindAttribute({
1693
1666
  type: 'dynamic',
1694
- name: oldAttr.name,
1667
+ name: attrName2Camel(oldAttr.name),
1695
1668
  value: expression ? '' : oldAttr.value,
1696
1669
  expression,
1697
1670
  });
@@ -1847,12 +1820,12 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1847
1820
  if (attr.concept === 'BindAttribute' &&
1848
1821
  !['href', 'destination', 'externalDestination', 'download'].includes(attr.name)) {
1849
1822
  const api = config_1.config?.allNodesAPI?.[element.tag];
1850
- const apiOfAttr = api && api.attrs && api.attrs.find((_attr) => _attr.name === attr.name);
1823
+ const apiOfAttr = api && api.props && api.props.find((_attr) => _attr.name === attr.name);
1851
1824
  if (['u-form-item', 'u-validator', 'van-field'].includes(element.tag) && attr.name === 'rules') {
1852
1825
  return `${attr.name}=""`;
1853
1826
  }
1854
- if (apiOfAttr && apiOfAttr['designer-value'] !== undefined) {
1855
- let designerValue = apiOfAttr['designer-value'];
1827
+ if (apiOfAttr && apiOfAttr['designerValue'] !== undefined) {
1828
+ let designerValue = apiOfAttr['designerValue'];
1856
1829
  //对流程模板拖拽进行特判
1857
1830
  element.bindAttrs.forEach((property) => {
1858
1831
  if (property.name === 'repeat' && property.value === '1')
@@ -1862,6 +1835,9 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1862
1835
  designerValue = designerValue.replace(/"/g, "'");
1863
1836
  }
1864
1837
  try {
1838
+ if (Array.isArray(designerValue)) {
1839
+ return `:${attr.name}="${JSON.stringify(designerValue)}"`;
1840
+ }
1865
1841
  json5.parse(designerValue);
1866
1842
  return `:${attr.name}="${designerValue}"`;
1867
1843
  }
@@ -1886,7 +1862,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1886
1862
  }
1887
1863
  }
1888
1864
  catch (e) {
1889
- if (apiOfAttr && !apiOfAttr.type.includes('string'))
1865
+ if (apiOfAttr && apiOfAttr.tsType && !apiOfAttr.tsType.includes('nasl.core.String'))
1890
1866
  return '';
1891
1867
  }
1892
1868
  value = value
@@ -1911,7 +1887,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1911
1887
  getExtraParts: (el) => {
1912
1888
  const parts = [];
1913
1889
  const api = config_1.config?.allNodesAPI?.[el?.tag];
1914
- const emptySlot = api && api.slots && api.slots.find((slot) => slot.name === 'default' && slot['empty-background']);
1890
+ const emptySlot = api && api.slots && api.slots.find((slot) => slot.name === 'default' && slot['emptyBackground']);
1915
1891
  const hasSupport = api && api.slots && api.slots.some((slot) => slot.support);
1916
1892
  if (emptySlot || hasSupport) {
1917
1893
  // 有些限制的组件如侧边栏分组有title插槽但要限制子元素放入
@@ -1924,7 +1900,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1924
1900
  if (childEmpty) {
1925
1901
  let addEmpty = true;
1926
1902
  if (['u-grid-view', 'u-list-view', 'van-list-view', 'van-grid-view', 'u-carousel'].includes(el.tag)) {
1927
- const hasDataSource = el.bindAttrs.find((attr) => attr.name === 'data-source');
1903
+ const hasDataSource = el.bindAttrs.find((attr) => attr.name === 'dataSource');
1928
1904
  addEmpty = !hasDataSource;
1929
1905
  }
1930
1906
  if (el.tag === 'u-crumb') {
@@ -1950,7 +1926,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1950
1926
  ].includes(el.tag)) {
1951
1927
  addEmpty = false;
1952
1928
  }
1953
- const background = (emptySlot && emptySlot['empty-background']) || (hasSupport ? 'add-sub' : '');
1929
+ const background = (emptySlot && emptySlot['emptyBackground']) || (hasSupport ? 'add-sub' : '');
1954
1930
  addEmpty && parts.push(`vusion-empty-background="${background}"`);
1955
1931
  }
1956
1932
  }
@@ -2022,51 +1998,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2022
1998
  const { finalCode, asCompontent } = options || {};
2023
1999
  const parts = [];
2024
2000
  if (finalCode === false) {
2025
- if (this.tag === 'slot') {
2026
- if (asCompontent) {
2027
- return `<div vusion-slot-name="${this.name}">
2028
- <slot name="${this.name}">
2029
- <div s-empty="true" bs-empty="true" style="background: #f7f8fa;
2030
- border: 1px dashed #c3c3c3;
2031
- text-align: center;
2032
- color: #999;
2033
- min-height: 32px;
2034
- min-width: 32px;
2035
- width: 100%;
2036
- align-items: center;
2037
- display: inline-flex;
2038
- justify-content: center;">
2039
- +
2040
- </div>
2041
- </slot>
2042
- </div>`;
2043
- }
2044
- else {
2045
- return `<div vusion-node-path="${this.nodePath}"
2046
- style="background: linear-gradient(-45deg,#fff 25%,#f3f5fa 0,#f3f5fa 50%,#fff 0,#fff 75%,#f3f5fa 0);
2047
- background-size: 45px 45px;
2048
- background-repeat: repeat;
2049
- line-height: 32px;
2050
- min-height: 32px;
2051
- color: var(--font-second-color);
2052
- text-align: center;">
2053
- 组件占位,可在使用业务组件时插入任意组件
2054
- </div>`;
2055
- }
2056
- }
2057
- else if (this.businessComponent?.name === this.tag) {
2058
- // 组件内部使用自身的情况
2059
- return `<div vusion-node-path="${this.nodePath}"
2060
- style="background: linear-gradient(-45deg,#fff 25%,#f3f5fa 0,#f3f5fa 50%,#fff 0,#fff 75%,#f3f5fa 0);
2061
- background-size: 45px 45px;
2062
- background-repeat: repeat;
2063
- line-height: 32px;
2064
- min-height: 32px;
2065
- color: var(--font-second-color);
2066
- text-align: center;">
2067
- 在组件内部使用自身可能会导致循环引用,请谨慎使用
2068
- </div>`;
2069
- }
2070
2001
  const isRoot = options.isRoot;
2071
2002
  if (isRoot && !options?.asCompontent) {
2072
2003
  parts.push('type="root"');
@@ -2110,7 +2041,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2110
2041
  const tabString = ' '.repeat(newOptions.tabSize * newOptions.indentLevel);
2111
2042
  const insideTabString = ' '.repeat(newOptions.tabSize * (newOptions.indentLevel + 1));
2112
2043
  let shouldIndent = true;
2113
- const content = !this.children
2044
+ let content = !this.children
2114
2045
  ? ''
2115
2046
  : this.children
2116
2047
  .map((element) => {
@@ -2119,9 +2050,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2119
2050
  return (shouldIndent ? '\n' + insideTabString : '') + element?.toVue(childOptions);
2120
2051
  })
2121
2052
  .join('');
2122
- if (!content.length) {
2123
- shouldIndent = false;
2124
- }
2125
2053
  if (newOptions.aslIdAttr) {
2126
2054
  if (newOptions.aslIdAttr === true) {
2127
2055
  newOptions.aslIdAttr = 'asl-id';
@@ -2141,7 +2069,6 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2141
2069
  this.refName && parts.push(`:ref="\`${this.refName}\`"`);
2142
2070
  this.keyName && parts.push(`:key="\`${this.keyName}\`"`);
2143
2071
  this.staticClass && parts.push(`class="${this.staticClass}"`);
2144
- this.staticStyle && parts.push(`style="${this.staticStyle}"`);
2145
2072
  const vIfs = [];
2146
2073
  []
2147
2074
  .concat(this.bindAttrs, this.bindDirectives, this.bindEvents)
@@ -2176,8 +2103,45 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2176
2103
  ['u-table-view', 'u-list-view', 'u-grid-view', 'u-list-components', 'u-form', 'u-select'].includes(this.tag)) {
2177
2104
  this.name && parts.push(`key="${this.name}"`);
2178
2105
  }
2106
+ let tag = this.tag;
2107
+ let staticStyle = this.staticStyle ?? '';
2179
2108
  if (this.tag === 'slot') {
2180
2109
  this.name && parts.push(`name="${this.name}"`);
2110
+ if (finalCode === false) {
2111
+ tag = 'div';
2112
+ if (asCompontent) {
2113
+ parts.push(`vusion-slot-name="${this.name}"`);
2114
+ content = `<slot name="${this.name}">
2115
+ <div s-empty="true" bs-empty="true" style="background: #f7f8fa;
2116
+ border: 1px dashed #c3c3c3;
2117
+ text-align: center;
2118
+ color: #999;
2119
+ min-height: 32px;
2120
+ min-width: 32px;
2121
+ width: 100%;
2122
+ align-items: center;
2123
+ display: inline-flex;
2124
+ justify-content: center;">
2125
+ +
2126
+ </div>
2127
+ </slot>`;
2128
+ }
2129
+ else {
2130
+ parts.push(`vusion-node-path="${this.nodePath}"`);
2131
+ content = `组件占位,可在使用业务组件时插入任意组件`;
2132
+ staticStyle += `background: linear-gradient(-45deg,#fff 25%,#f3f5fa 0,#f3f5fa 50%,#fff 0,#fff 75%,#f3f5fa 0);
2133
+ background-size: 45px 45px;
2134
+ background-repeat: repeat;
2135
+ line-height: 32px;
2136
+ min-height: 32px;
2137
+ color: var(--font-second-color);
2138
+ text-align: center;`;
2139
+ }
2140
+ }
2141
+ }
2142
+ staticStyle && parts.push(`style="${staticStyle}"`);
2143
+ if (!content.length) {
2144
+ shouldIndent = false;
2181
2145
  }
2182
2146
  let partsLength = 0;
2183
2147
  let partsString = '';
@@ -2189,12 +2153,12 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2189
2153
  partsString += ' ' + part;
2190
2154
  partsLength += part.length;
2191
2155
  });
2192
- let htmlContent = `<${this.tag}${partsString.length ? partsString : ''}>` +
2156
+ let htmlContent = `<${tag}${partsString.length ? partsString : ''}>` +
2193
2157
  content +
2194
2158
  (shouldIndent ? '\n' + tabString : '') +
2195
- `</${this.tag}>`;
2196
- if (!content.trim() && selfClosingTag.includes(this.tag)) {
2197
- htmlContent = `<${this.tag}${partsString.length ? partsString : ''} />`;
2159
+ `</${tag}>`;
2160
+ if (!content.trim() && selfClosingTag.includes(tag)) {
2161
+ htmlContent = `<${tag}${partsString.length ? partsString : ''} />`;
2198
2162
  }
2199
2163
  return htmlContent;
2200
2164
  }
@@ -2379,6 +2343,11 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
2379
2343
  };
2380
2344
  /** 类名 */
2381
2345
  ViewElement.ConceptName = 'ViewElement';
2346
+ /**
2347
+ * 是否为抽象类
2348
+ * 抽象类不能产生 concept: string
2349
+ */
2350
+ ViewElement.isAbstract = false;
2382
2351
  /** 继承链 */
2383
2352
  ViewElement.inheritanceChain = ['BaseNode'];
2384
2353
  ViewElement.TAG_NAME_PREFIX_REG = /^([lieu]|van)[-_]/;
@@ -2386,28 +2355,44 @@ __decorate([
2386
2355
  (0, decorators_1.property)('concept')
2387
2356
  ], ViewElement.prototype, "concept", void 0);
2388
2357
  __decorate([
2389
- (0, decorators_1.property)()
2358
+ (0, decorators_1.property)({
2359
+ objectRef: '',
2360
+ })
2390
2361
  ], ViewElement.prototype, "type", void 0);
2391
2362
  __decorate([
2392
- (0, decorators_1.property)()
2363
+ (0, decorators_1.property)({
2364
+ objectRef: '',
2365
+ })
2393
2366
  ], ViewElement.prototype, "tag", void 0);
2394
2367
  __decorate([
2395
- (0, decorators_1.property)()
2368
+ (0, decorators_1.property)({
2369
+ objectRef: '',
2370
+ })
2396
2371
  ], ViewElement.prototype, "name", void 0);
2397
2372
  __decorate([
2398
- (0, decorators_1.property)()
2373
+ (0, decorators_1.property)({
2374
+ objectRef: '',
2375
+ })
2399
2376
  ], ViewElement.prototype, "staticClass", void 0);
2400
2377
  __decorate([
2401
- (0, decorators_1.property)()
2378
+ (0, decorators_1.property)({
2379
+ objectRef: '',
2380
+ })
2402
2381
  ], ViewElement.prototype, "staticStyle", void 0);
2403
2382
  __decorate([
2404
- (0, decorators_1.property)()
2383
+ (0, decorators_1.property)({
2384
+ objectRef: '',
2385
+ })
2405
2386
  ], ViewElement.prototype, "authDescription", void 0);
2406
2387
  __decorate([
2407
- (0, decorators_1.property)()
2388
+ (0, decorators_1.property)({
2389
+ objectRef: '',
2390
+ })
2408
2391
  ], ViewElement.prototype, "slotTarget", void 0);
2409
2392
  __decorate([
2410
- (0, decorators_1.property)()
2393
+ (0, decorators_1.property)({
2394
+ objectRef: '',
2395
+ })
2411
2396
  ], ViewElement.prototype, "slotScope", void 0);
2412
2397
  __decorate([
2413
2398
  (0, decorators_1.property)({
@@ -2432,6 +2417,7 @@ __decorate([
2432
2417
  ], ViewElement.prototype, "bindDirectives", void 0);
2433
2418
  __decorate([
2434
2419
  (0, decorators_1.property)({
2420
+ objectRef: '',
2435
2421
  isArray: true,
2436
2422
  defaultValue: [],
2437
2423
  })
@@ -2455,10 +2441,7 @@ __decorate([
2455
2441
  ], ViewElement.prototype, "toEmbeddedTSDefinition", null);
2456
2442
  __decorate([
2457
2443
  translator_1.withGenerator
2458
- ], ViewElement.prototype, "toEmbeddedTSVariableDefinition", null);
2459
- __decorate([
2460
- translator_1.withGenerator
2461
- ], ViewElement.prototype, "toEmbeddedTSVariableFunctionDefinition", null);
2444
+ ], ViewElement.prototype, "toEmbeddedTSRefTree", null);
2462
2445
  __decorate([
2463
2446
  translator_1.withSourceMapGenerator
2464
2447
  ], ViewElement.prototype, "toEmbeddedTS", null);