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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -34,34 +34,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
34
34
  var ViewElement_1;
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ViewElement = void 0;
37
- const translator_1 = require("../translator");
38
- const concepts_1 = require("../concepts");
39
37
  const babelParser = __importStar(require("@babel/parser"));
40
38
  const json5 = __importStar(require("json5"));
41
39
  const compiler = __importStar(require("vue-template-compiler"));
42
- const LogicItem__1 = __importDefault(require("./LogicItem__"));
43
- const __1 = require("..");
40
+ const translator_1 = require("../translator");
41
+ const concepts_1 = require("../concepts");
42
+ const LogicItem__1 = require("./LogicItem__");
43
+ const config_1 = require("../config");
44
44
  const MemberExpression__1 = __importDefault(require("./MemberExpression__"));
45
45
  const Identifier__1 = __importDefault(require("./Identifier__"));
46
+ const utils_1 = require("../utils");
47
+ const decorators_1 = require("../decorators");
48
+ const utils = __importStar(require("../utils"));
49
+ const BaseNode_1 = __importDefault(require("../common/BaseNode"));
50
+ const classMap_1 = __importDefault(require("../common/classMap"));
51
+ const BindAttribute__1 = __importDefault(require("./BindAttribute__"));
52
+ const BindEvent__1 = __importDefault(require("./BindEvent__"));
53
+ const BindDirective__1 = __importDefault(require("./BindDirective__"));
54
+ const BindStyle__1 = __importDefault(require("./BindStyle__"));
46
55
  /**
47
56
  * 自闭合标签
48
57
  */
49
- const selfClosingTag = [
50
- 'base',
51
- 'meta',
52
- 'area',
53
- 'embed',
54
- 'link',
55
- 'img',
56
- 'input',
57
- 'param',
58
- 'hr',
59
- 'br',
60
- 'source',
61
- 'track',
62
- 'wbr',
63
- 'col',
64
- ];
58
+ const selfClosingTag = ['base', 'meta', 'area', 'embed', 'link', 'img', 'input', 'param', 'hr', 'br', 'source', 'track', 'wbr', 'col'];
65
59
  function genArgumentMemberExpression(arr) {
66
60
  let expressionNode;
67
61
  const propertyName = arr.pop();
@@ -98,14 +92,16 @@ function transAstNodeToNaslNode(astNode, namespace) {
98
92
  kind: 'Expression',
99
93
  calleeNamespace: 'nasl.util',
100
94
  calleeName,
101
- arguments: astNode.arguments.map((argument) => ({
95
+ arguments: astNode.arguments
96
+ .map((argument) => ({
102
97
  concept: 'Argument',
103
98
  name: '',
104
99
  kind: 'Statement',
105
100
  keyword: '',
106
- expression: transAstNodeToNaslNode(Object.assign({}, argument)),
107
- })).filter((item) => item.expression),
108
- typeArguments: astNode.arguments.map((argument) => (transAstNodeToNaslTypeNode(Object.assign({}, argument)))).filter((item) => item),
101
+ expression: transAstNodeToNaslNode({ ...argument }),
102
+ }))
103
+ .filter((item) => item.expression),
104
+ typeArguments: astNode.arguments.map((argument) => transAstNodeToNaslTypeNode({ ...argument })).filter((item) => item),
109
105
  };
110
106
  }
111
107
  else if (astNode.type === 'MemberExpression') {
@@ -159,17 +155,15 @@ function transAstNodeToNaslNode(astNode, namespace) {
159
155
  if (astNode?.value?.startsWith('__enumTypeAnnotation_')) {
160
156
  return null;
161
157
  }
162
- else {
163
- node = {
164
- concept: 'StringLiteral',
165
- kind: 'Expression',
166
- name: '',
167
- value: astNode.value,
168
- };
169
- }
158
+ node = {
159
+ concept: 'StringLiteral',
160
+ kind: 'Expression',
161
+ name: '',
162
+ value: astNode.value,
163
+ };
170
164
  }
171
165
  else if (astNode.type === 'UnaryExpression') {
172
- const argument = astNode.argument;
166
+ const { argument } = astNode;
173
167
  if (argument.type === 'NumericLiteral') {
174
168
  node = {
175
169
  concept: 'NumericLiteral',
@@ -193,32 +187,6 @@ function transAstNodeToNaslNode(astNode, namespace) {
193
187
  value: numberString,
194
188
  };
195
189
  }
196
- else if (astNode.type === 'ArrowFunctionExpression') {
197
- if (astNode.body?.callee?.name) {
198
- astNode.name = astNode.body.callee.name;
199
- }
200
- let tempNode = {
201
- calleeNamespace: 'app.logics',
202
- concept: 'CallLogic',
203
- namespace: namespace || '',
204
- name: astNode.name,
205
- calleeName: astNode.name,
206
- kind: 'Expression',
207
- parentNode: astNode.parentNode,
208
- parentKey: astNode.parentKey,
209
- arguments: astNode?.body?.arguments?.map((argument) => ({
210
- concept: 'Argument',
211
- name: '',
212
- kind: 'Statement',
213
- keyword: '',
214
- expression: transAstNodeToNaslNode(Object.assign({}, argument)),
215
- })).filter((item) => item.expression),
216
- typeArguments: astNode?.body?.arguments?.map((argument) => (transAstNodeToNaslTypeNode(Object.assign({}, argument)))).filter((item) => item)
217
- };
218
- node = __1.Logic.from({
219
- ...tempNode,
220
- }, undefined, 'logics');
221
- }
222
190
  else {
223
191
  node = astNode;
224
192
  node.concept = astNode.type;
@@ -241,14 +209,6 @@ function transAstNodeToNaslTypeNode(astNode, namespace) {
241
209
  }
242
210
  return node;
243
211
  }
244
- const decorators_1 = require("../decorators");
245
- const utils = __importStar(require("../utils"));
246
- const BaseNode_1 = __importDefault(require("../common/BaseNode"));
247
- const classMap_1 = __importDefault(require("../common/classMap"));
248
- const BindAttribute__1 = __importDefault(require("./BindAttribute__"));
249
- const BindEvent__1 = __importDefault(require("./BindEvent__"));
250
- const BindDirective__1 = __importDefault(require("./BindDirective__"));
251
- const BindStyle__1 = __importDefault(require("./BindStyle__"));
252
212
  /**
253
213
  * 页面元素
254
214
  */
@@ -341,7 +301,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
341
301
  * @param source 需要合并的部分参数
342
302
  */
343
303
  constructor(source) {
344
- source = Object.assign({}, ViewElement_1.getDefaultOptions(), source);
304
+ // @ts-ignore
305
+ source = { ...ViewElement_1.getDefaultOptions(), ...source };
345
306
  super(source);
346
307
  super.subConstructor(source);
347
308
  }
@@ -691,7 +652,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
691
652
  if (typeof options === 'string') {
692
653
  bindAttribute = this.bindAttrs.find((item) => item.name === options);
693
654
  if (!bindAttribute) {
694
- throw new Error('找不到元素绑定属性 ' + options);
655
+ throw new Error(`找不到元素绑定属性 ${options}`);
695
656
  }
696
657
  }
697
658
  else {
@@ -700,7 +661,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
700
661
  return bindAttribute.delete();
701
662
  }
702
663
  __removeBindAttribute(bindAttribute) {
703
- const parentKey = bindAttribute.parentKey;
664
+ const { parentKey } = bindAttribute;
704
665
  const params = {
705
666
  parentNode: this,
706
667
  parentKey,
@@ -727,7 +688,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
727
688
  if (typeof options === 'string') {
728
689
  bindEvent = this.bindEvents.find((item) => item.name === options);
729
690
  if (!bindEvent) {
730
- throw new Error('找不到元素绑定事件 ' + options);
691
+ throw new Error(`找不到元素绑定事件 ${options}`);
731
692
  }
732
693
  }
733
694
  else {
@@ -736,7 +697,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
736
697
  return bindEvent.delete();
737
698
  }
738
699
  __removeBindEvent(bindEvent) {
739
- const parentKey = bindEvent.parentKey;
700
+ const { parentKey } = bindEvent;
740
701
  const params = {
741
702
  parentNode: this,
742
703
  parentKey,
@@ -763,7 +724,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
763
724
  if (typeof options === 'string') {
764
725
  bindDirective = this.bindDirectives.find((item) => item.name === options);
765
726
  if (!bindDirective) {
766
- throw new Error('找不到元素指令 ' + options);
727
+ throw new Error(`找不到元素指令 ${options}`);
767
728
  }
768
729
  }
769
730
  else {
@@ -772,7 +733,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
772
733
  return bindDirective.delete();
773
734
  }
774
735
  __removeBindDirective(bindDirective) {
775
- const parentKey = bindDirective.parentKey;
736
+ const { parentKey } = bindDirective;
776
737
  const params = {
777
738
  parentNode: this,
778
739
  parentKey,
@@ -799,7 +760,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
799
760
  if (typeof options === 'string') {
800
761
  bindStyle = this.bindStyles.find((item) => item.name === options);
801
762
  if (!bindStyle) {
802
- throw new Error('找不到元素绑定样式 ' + options);
763
+ throw new Error(`找不到元素绑定样式 ${options}`);
803
764
  }
804
765
  }
805
766
  else {
@@ -808,7 +769,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
808
769
  return bindStyle.delete();
809
770
  }
810
771
  __removeBindStyle(bindStyle) {
811
- const parentKey = bindStyle.parentKey;
772
+ const { parentKey } = bindStyle;
812
773
  const params = {
813
774
  parentNode: this,
814
775
  parentKey,
@@ -835,7 +796,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
835
796
  if (typeof options === 'string') {
836
797
  viewElement = this.children.find((item) => item.name === options);
837
798
  if (!viewElement) {
838
- throw new Error('找不到页面元素 ' + options);
799
+ throw new Error(`找不到页面元素 ${options}`);
839
800
  }
840
801
  }
841
802
  else {
@@ -844,7 +805,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
844
805
  return viewElement.delete();
845
806
  }
846
807
  __removeViewElement(viewElement) {
847
- const parentKey = viewElement.parentKey;
808
+ const { parentKey } = viewElement;
848
809
  const params = {
849
810
  parentNode: this,
850
811
  parentKey,
@@ -866,10 +827,10 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
866
827
  }
867
828
  return params;
868
829
  }
869
- //================================================================================
830
+ //= ===============================================================================
870
831
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
871
832
  // 自动生成的代码已结束。下面可以手动编写。
872
- //================================================================================
833
+ //= ===============================================================================
873
834
  /* 主页面有没有权限 */
874
835
  get parentAuth() {
875
836
  const _nameSpace = this.view.getNamespace();
@@ -952,7 +913,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
952
913
  // formItem的单独处理
953
914
  if (this.tag === 'u-form-item') {
954
915
  if (Array.isArray(this.children) && this.children.length) {
955
- const tag = this.children[0].tag;
916
+ const { tag } = this.children[0];
956
917
  if (tag === 'u-input') {
957
918
  code += '<nasl.core.String>';
958
919
  }
@@ -965,7 +926,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
965
926
  }
966
927
  return code;
967
928
  }
968
- const bindAttrs = this.bindAttrs;
929
+ const { bindAttrs } = this;
969
930
  if (bindAttrs && bindAttrs.length) {
970
931
  const attr = bindAttrs.find((item) => item.name === 'data-source');
971
932
  if (attr && attr.expression) {
@@ -982,19 +943,14 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
982
943
  getDatasourceTypeCodeStr(state, eleArr) {
983
944
  let code = '';
984
945
  (eleArr || []).forEach((element, index) => {
985
- const bindAttrs = element.bindAttrs;
946
+ const { bindAttrs } = element;
986
947
  if (bindAttrs && bindAttrs.length) {
987
948
  const attr = bindAttrs.find((item) => item.name === 'data-source');
988
949
  if (attr && attr.expression) {
989
950
  const datasourceName = `datasourceName${index}`;
990
951
  element.__tsDataSourceTypeName = datasourceName;
991
- if (attr.expression instanceof MemberExpression__1.default || attr.expression instanceof Identifier__1.default || attr.expression instanceof concepts_1.CallLogic) {
992
- const extraParams = {
993
- tabSize: 4,
994
- inline: true,
995
- noNeedParams: true
996
- };
997
- let value = attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, attr.expression.concept === 'CallLogic' ? extraParams : {}));
952
+ if (attr.expression instanceof MemberExpression__1.default || attr.expression instanceof Identifier__1.default) {
953
+ const value = attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
998
954
  code += `type ${datasourceName} = `;
999
955
  code += `nasl.ui.GetItemTypeFromDataSource<typeof ${value}>;\n`;
1000
956
  }
@@ -1013,11 +969,22 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1013
969
  return code;
1014
970
  }
1015
971
  toEmbeddedTS(state, parentLevel) {
972
+ const { parentNode, app, tag, staticClass, name, bindDirectives, bindRoles, bindEvents, children } = this;
973
+ const chineseTsName = (name) => {
974
+ let tsName = name;
975
+ // 匹配所有特殊字符都转为_
976
+ tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
977
+ if (/^\d/.test(tsName)) {
978
+ tsName = `$${tsName}`;
979
+ }
980
+ return tsName;
981
+ };
1016
982
  // 过滤模板的登录中的一些翻译,这里只过滤h5表格中的两个列
1017
- if (this.parentNode.tag && this.toHump(this.parentNode.tag) === 'lcapLogin' || this.staticClass === 'login-cell')
983
+ if ((parentNode.concept === 'ViewElement' && parentNode.tag && this.toHump(parentNode.tag) === 'lcapLogin') || staticClass === 'login-cell') {
1018
984
  return '';
985
+ }
1019
986
  // pc事件翻译
1020
- if (this.toHump(this.tag) === 'lcapLogin') {
987
+ if (this.toHump(tag) === 'lcapLogin') {
1021
988
  let code = `new nasl.ui.div({name: __elements.${this.name},\n`;
1022
989
  // 事件
1023
990
  if (Array.isArray(this.bindEvents)) {
@@ -1032,8 +999,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1032
999
  return code;
1033
1000
  }
1034
1001
  let levelIndex = parentLevel || 0;
1035
- if (this.tag === 'template' && this.haveScope()) {
1036
- const slotTarget = !this.slotTarget ? 'slotDefault' : 'slot' + this.toFirstUpper(this.toHump(this.slotTarget));
1002
+ if (tag === 'template' && this.haveScope()) {
1003
+ const slotTarget = !this.slotTarget ? 'slotDefault' : `slot${this.toFirstUpper(this.toHump(this.slotTarget))}`;
1037
1004
  let code = '';
1038
1005
  code += `${slotTarget}: (current${levelIndex === 0 ? '' : levelIndex})=> {\n`;
1039
1006
  code += this.getDatasourceTypeCodeStr(state, this.children);
@@ -1041,7 +1008,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1041
1008
  code += 'return [';
1042
1009
  this.children.forEach((element) => {
1043
1010
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1044
- tabSize: (state?.tabSize || 0),
1011
+ tabSize: state?.tabSize || 0,
1045
1012
  }), levelIndex);
1046
1013
  });
1047
1014
  code += ']';
@@ -1049,15 +1016,15 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1049
1016
  code += '},\n';
1050
1017
  return code;
1051
1018
  }
1052
- else if (this.tag === 'template') {
1053
- const slotTarget = !this.slotTarget ? 'slotDefault' : 'slot' + this.toFirstUpper(this.toHump(this.slotTarget));
1019
+ if (tag === 'template') {
1020
+ const slotTarget = !this.slotTarget ? 'slotDefault' : `slot${this.toFirstUpper(this.toHump(this.slotTarget))}`;
1054
1021
  let code = '';
1055
1022
  code += `${slotTarget}: ()=> {\n`;
1056
1023
  code += this.getDatasourceTypeCodeStr(state, this.children);
1057
1024
  code += 'return [';
1058
1025
  this.children.forEach((element) => {
1059
1026
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1060
- tabSize: (state?.tabSize || 0),
1027
+ tabSize: state?.tabSize || 0,
1061
1028
  }), levelIndex);
1062
1029
  });
1063
1030
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
@@ -1066,37 +1033,27 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1066
1033
  code += '},\n';
1067
1034
  return code;
1068
1035
  }
1069
- function chineseTsName(name) {
1070
- let tsName = name;
1071
- // 匹配所有特殊字符都转为_
1072
- tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
1073
- if (/^\d/.test(tsName)) {
1074
- tsName = '$' + tsName;
1075
- }
1076
- return tsName;
1077
- }
1078
1036
  // 后面那个name是为了查找引用的时候用的
1079
- let code = `new nasl.ui.${this.toHump(this.tag)}${this.getTypeArgmentsStr(state)}({name: __elements.${this.name},\n`;
1037
+ let code = `new nasl.ui.${this.toHump(tag)}${this.getTypeArgmentsStr(state)}({name: __elements.${name},\n`;
1080
1038
  // 是否开启权限
1081
- let hasAuth = false;
1082
- if (Array.isArray(this.bindDirectives)) {
1083
- hasAuth = !!this.bindDirectives.filter((directive) => directive.name === 'auth').length;
1084
- }
1039
+ // const hasAuth = Array.isArray(bindDirectives)
1040
+ // ? !!bindDirectives.filter((directive) => directive.name === 'auth').length
1041
+ // : false;
1085
1042
  // 角色
1086
- if (Array.isArray(this.bindRoles) && this.bindRoles.length) {
1043
+ if (Array.isArray(bindRoles) && bindRoles.length) {
1087
1044
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1088
1045
  code += 'roles = [\n';
1089
- this.bindRoles.forEach((role) => {
1046
+ bindRoles.forEach((role) => {
1090
1047
  code += (0, translator_1.indent)((state?.tabSize || 0) + 3);
1091
- code += `${this.app.getNamespace()}.roles.${chineseTsName(role)}.${chineseTsName(role)},`;
1048
+ code += `${app.getNamespace()}.roles.${chineseTsName(role)}.${chineseTsName(role)},`;
1092
1049
  code += '\n';
1093
1050
  });
1094
1051
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1095
1052
  code += '],\n';
1096
1053
  }
1097
1054
  // 事件
1098
- if (Array.isArray(this.bindEvents)) {
1099
- this.bindEvents.forEach((event) => {
1055
+ if (Array.isArray(bindEvents)) {
1056
+ bindEvents.forEach((event) => {
1100
1057
  code += event.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1101
1058
  tabSize: (state?.tabSize || 0) + 2,
1102
1059
  }));
@@ -1104,24 +1061,24 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1104
1061
  });
1105
1062
  }
1106
1063
  // 子元素
1107
- if (Array.isArray(this.children)) {
1064
+ if (Array.isArray(children)) {
1108
1065
  code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1109
1066
  if (Array.isArray(this.bindAttrs)) {
1110
1067
  code += `bindAttr: () => [\n`;
1111
- this.bindAttrs.forEach((attr) => code += attr.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 })) + ',\n');
1112
- this.bindDirectives.forEach((directive) => code += directive.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 })) + ',\n');
1113
- this.bindStyles.forEach((bindStyle) => code += bindStyle.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 })) + ',\n');
1114
- code += (0, translator_1.indent)((state?.tabSize || 0) + 2) + '],\n';
1068
+ this.bindAttrs.forEach((attr) => (code += `${attr.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }))},\n`));
1069
+ this.bindDirectives.forEach((directive) => (code += `${directive.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }))},\n`));
1070
+ this.bindStyles.forEach((bindStyle) => (code += `${bindStyle.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: 1 }))},\n`));
1071
+ code += `${(0, translator_1.indent)((state?.tabSize || 0) + 2)}],\n`;
1115
1072
  }
1116
1073
  // 如果子集中有插槽的就
1117
- if (this.children.find((item) => item.tag === 'template' && item.slotTarget)) {
1074
+ if (children.find((item) => item.tag === 'template' && item.slotTarget)) {
1118
1075
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1119
1076
  const defaultArr = [];
1120
1077
  // 先把插槽翻译了
1121
- this.children.forEach((element) => {
1078
+ children.forEach((element) => {
1122
1079
  if (element.tag === 'template') {
1123
1080
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1124
- tabSize: (state?.tabSize || 0),
1081
+ tabSize: state?.tabSize || 0,
1125
1082
  }), levelIndex);
1126
1083
  }
1127
1084
  else {
@@ -1149,9 +1106,9 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1149
1106
  else {
1150
1107
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1151
1108
  code += `slotDefault: ()=> {\n`;
1152
- code += this.getDatasourceTypeCodeStr(state, this.children);
1109
+ code += this.getDatasourceTypeCodeStr(state, children);
1153
1110
  code += 'return [';
1154
- this.children.forEach((element) => {
1111
+ children.forEach((element) => {
1155
1112
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1156
1113
  tabSize: (state?.tabSize || 0) + 2,
1157
1114
  }), levelIndex);
@@ -1163,7 +1120,77 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1163
1120
  code += '}\n';
1164
1121
  }
1165
1122
  }
1166
- code += (0, translator_1.indent)((state?.tabSize || 0)) + '}),\n';
1123
+ code += `${(0, translator_1.indent)(state?.tabSize || 0)}})`;
1124
+ // 顶层元素是单独的表达式
1125
+ if (parentNode.concept === 'View') {
1126
+ code += ';\n';
1127
+ }
1128
+ else {
1129
+ code += ',\n';
1130
+ }
1131
+ return code;
1132
+ }
1133
+ toNaturalTS(state, parentLevel) {
1134
+ let code = '';
1135
+ const levelIndex = parentLevel || 0;
1136
+ if (Array.isArray(this.bindEvents)) {
1137
+ this.bindEvents.forEach((event) => {
1138
+ code += event.toNaturalTS((0, translator_1.shiftState)(state, code, {
1139
+ tabSize: state.tabSize,
1140
+ }));
1141
+ // code += '\n';
1142
+ });
1143
+ }
1144
+ if (Array.isArray(this.children)) {
1145
+ if (this.children.find((item) => item.tag === 'template' && item.slotTarget)) {
1146
+ // code += indent(state.tabSize + 2);
1147
+ const defaultArr = [];
1148
+ // 先把插槽翻译了
1149
+ this.children.forEach((element) => {
1150
+ if (element.tag === 'template') {
1151
+ code += element.toNaturalTS((0, translator_1.shiftState)(state, code, {
1152
+ tabSize: state.tabSize,
1153
+ }), levelIndex);
1154
+ }
1155
+ else {
1156
+ defaultArr.push(element);
1157
+ }
1158
+ });
1159
+ // 翻译其余的子集
1160
+ if (defaultArr.length) {
1161
+ defaultArr.forEach((element) => {
1162
+ code += element.toNaturalTS((0, translator_1.shiftState)(state, code, {
1163
+ tabSize: state.tabSize,
1164
+ }), levelIndex);
1165
+ });
1166
+ }
1167
+ }
1168
+ else {
1169
+ this.children.forEach((element) => {
1170
+ code += element.toNaturalTS((0, translator_1.shiftState)(state, code, {
1171
+ tabSize: state.tabSize,
1172
+ }), levelIndex);
1173
+ });
1174
+ }
1175
+ }
1176
+ return code;
1177
+ }
1178
+ toNaturalTSDefinition(state) {
1179
+ let code = '';
1180
+ if (['u-button', 'u-form', 'u-modal', 'u-table-view', 'u-select', 'u-input', 'u-number-input'].includes(this.tag)) {
1181
+ code += (0, translator_1.indent)(state.tabSize + 1);
1182
+ // 登录组件不翻译
1183
+ // if (this.toHump(this.tag) === 'lcapLogin' || this.staticClass === 'login-form') {
1184
+ // code += `${this.name}: nasl.ui.div;\n`;
1185
+ // } else {
1186
+ code += `${this.name}: nasl.ui.${(0, utils_1.kebab2Camel)(this.tag.replace(/^\w-/, ''))},\n`;
1187
+ // }
1188
+ }
1189
+ if (Array.isArray(this.children)) {
1190
+ this.children.forEach((element) => {
1191
+ code += element.toNaturalTSDefinition((0, translator_1.shiftState)(state, code));
1192
+ });
1193
+ }
1167
1194
  return code;
1168
1195
  }
1169
1196
  _duplicate() {
@@ -1209,10 +1236,9 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1209
1236
  try {
1210
1237
  const ast = babelParser.parseExpression(value);
1211
1238
  const node = transAstNodeToNaslNode(ast);
1212
- return LogicItem__1.default.from(node, null, null);
1239
+ return LogicItem__1.LogicItem.from(node, null, null);
1213
1240
  }
1214
1241
  catch (e) {
1215
- console.error(e);
1216
1242
  return null;
1217
1243
  }
1218
1244
  }
@@ -1230,7 +1256,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1230
1256
  name: '',
1231
1257
  kind: 'Statement',
1232
1258
  keyword: func?.params?.[index]?.name ?? '',
1233
- expression: transAstNodeToNaslNode(Object.assign({}, argument)),
1259
+ expression: transAstNodeToNaslNode({ ...argument }),
1234
1260
  }));
1235
1261
  }
1236
1262
  }
@@ -1252,10 +1278,10 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1252
1278
  static _fromASTNode(astNode, context) {
1253
1279
  const view = context?.view;
1254
1280
  // 临时处理组件的 text
1255
- //h5-mock
1256
- if (['u-text', 'van-text', 'u-link', 'u-button', 'u-label', 'u-radio', 'u-checkbox', 'u-navbar-item', 'u-sidebar-item', 'u-menu-item'].includes(astNode.tag)
1257
- && astNode.children.length === 1
1258
- && astNode.children[0].type === 3) {
1281
+ // h5-mock
1282
+ if (['u-text', 'van-text', 'u-link', 'u-button', 'u-label', 'u-radio', 'u-checkbox', 'u-navbar-item', 'u-sidebar-item', 'u-menu-item'].includes(astNode.tag) &&
1283
+ astNode.children.length === 1 &&
1284
+ astNode.children[0].type === 3) {
1259
1285
  astNode.attrs = astNode.attrs || [];
1260
1286
  astNode.attrs.push({
1261
1287
  name: 'text',
@@ -1274,7 +1300,18 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1274
1300
  delete astNode.scopedSlots;
1275
1301
  }
1276
1302
  // 提示不支持的属性
1277
- ['component', 'inlineTemplate', 'pre', 'ns', 'transition', 'transitionOnAppear', 'transitionMode', 'slotName', 'classBinding', 'styleBinding'].forEach((key) => {
1303
+ [
1304
+ 'component',
1305
+ 'inlineTemplate',
1306
+ 'pre',
1307
+ 'ns',
1308
+ 'transition',
1309
+ 'transitionOnAppear',
1310
+ 'transitionMode',
1311
+ 'slotName',
1312
+ 'classBinding',
1313
+ 'styleBinding',
1314
+ ].forEach((key) => {
1278
1315
  if (astNode[key])
1279
1316
  console.warn(`[warn] ViewElement NASL unsupports '${key}' field in node `, astNode);
1280
1317
  });
@@ -1344,8 +1381,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1344
1381
  element.addBindAttribute(attr);
1345
1382
  });
1346
1383
  // compiler 处理:value.sync 时会加上update:value事件,需要过滤
1347
- astNode.events
1348
- && Object.keys(astNode.events)
1384
+ astNode.events &&
1385
+ Object.keys(astNode.events)
1349
1386
  .filter((name) => !name.startsWith('update:'))
1350
1387
  .forEach((name) => {
1351
1388
  const oldEvent = astNode.events[name];
@@ -1379,8 +1416,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1379
1416
  }));
1380
1417
  }
1381
1418
  });
1382
- astNode.directives
1383
- && astNode.directives.forEach((directive) => {
1419
+ astNode.directives &&
1420
+ astNode.directives.forEach((directive) => {
1384
1421
  if (directive.name === 'model') {
1385
1422
  const valueAttr = astNode.attrs && astNode.attrs.find((attr) => attr.name === 'value');
1386
1423
  if (!valueAttr) {
@@ -1418,7 +1455,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1418
1455
  }
1419
1456
  }
1420
1457
  else if (astNode.type === 2) {
1421
- const tagName = __1.config.scope === 'h5' ? 'van-text' : 'u-text';
1458
+ const tagName = config_1.config.scope === 'h5' ? 'van-text' : 'u-text';
1422
1459
  const baseName = tagName.replace(ViewElement_1.TAG_NAME_PREFIX_REG, '').replace(/-/g, '_');
1423
1460
  element = new ViewElement_1({
1424
1461
  tag: tagName,
@@ -1434,7 +1471,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1434
1471
  }));
1435
1472
  }
1436
1473
  else if (astNode.type === 3) {
1437
- const tagName = __1.config.scope === 'h5' ? 'van-text' : 'u-text';
1474
+ const tagName = config_1.config.scope === 'h5' ? 'van-text' : 'u-text';
1438
1475
  const baseName = tagName.replace(ViewElement_1.TAG_NAME_PREFIX_REG, '').replace(/-/g, '_');
1439
1476
  element = new ViewElement_1({
1440
1477
  tag: tagName,
@@ -1460,7 +1497,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1460
1497
  preserveWhitespace: false,
1461
1498
  outputSourceRange: true,
1462
1499
  };
1463
- let ast = compiler.compile(code, compilerOptions).ast;
1500
+ let { ast } = compiler.compile(code, compilerOptions);
1464
1501
  if (ast.tag === 'template' && !ast.slotTarget)
1465
1502
  ast = ast.children[0];
1466
1503
  return this._fromASTNode(ast, {
@@ -1484,14 +1521,14 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1484
1521
  nodePathAttr: true,
1485
1522
  attrFormat: (attr, element, defaultResult) => {
1486
1523
  if (attr.concept === 'BindAttribute' && !['href', 'destination', 'externalDestination', 'download'].includes(attr.name)) {
1487
- const api = __1.config?.allNodesAPI?.[element.tag];
1524
+ const api = config_1.config?.allNodesAPI?.[element.tag];
1488
1525
  const apiOfAttr = api && api.attrs && api.attrs.find((_attr) => _attr.name === attr.name);
1489
1526
  if (['u-form-item', 'u-validator', 'van-field'].includes(element.tag) && attr.name === 'rules') {
1490
1527
  return `${attr.name}=""`;
1491
1528
  }
1492
1529
  if (apiOfAttr && apiOfAttr['designer-value'] !== undefined) {
1493
1530
  let designerValue = apiOfAttr['designer-value'];
1494
- //对流程模板拖拽进行特判
1531
+ // 对流程模板拖拽进行特判
1495
1532
  element.bindAttrs.forEach((property) => {
1496
1533
  if (property.name === 'repeat' && property.value === '1')
1497
1534
  designerValue = '[{}, {}]';
@@ -1508,7 +1545,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1508
1545
  }
1509
1546
  }
1510
1547
  if (attr.type === 'dynamic' && !(element.tag === 'u-cascade-select' && attr.name === 'categories'))
1511
- return defaultResult.replace(/:?([\w-]+)(?:.*?)="(.*)"/, (m, name, value) => {
1548
+ return defaultResult.replace(/:?([\w-]+)(?:.*?)="([\s\S]*)"/, (m, name, value) => {
1512
1549
  try {
1513
1550
  const tempValue = json5.parse(value);
1514
1551
  if (typeof tempValue === 'boolean' || typeof tempValue === 'number') {
@@ -1530,15 +1567,14 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1530
1567
  .replace(/\bcurrent\.item\.\b/g, '');
1531
1568
  return `${name}="{{ ${value} }}"`;
1532
1569
  });
1533
- else
1534
- return defaultResult;
1570
+ return defaultResult;
1535
1571
  }
1536
1572
  return false;
1537
1573
  },
1538
1574
  bindStylesFormat: (bindStyles, element) => false,
1539
1575
  getExtraParts: (el) => {
1540
1576
  const parts = [];
1541
- const api = __1.config.allNodesAPI[el.tag];
1577
+ const api = config_1.config.allNodesAPI[el.tag];
1542
1578
  const emptySlot = api && api.slots && api.slots.find((slot) => slot.name === 'default' && slot['empty-background']);
1543
1579
  const hasSupport = api && api.slots && api.slots.some((slot) => slot.support);
1544
1580
  if (emptySlot || hasSupport) {
@@ -1551,11 +1587,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1551
1587
  }
1552
1588
  if (childEmpty) {
1553
1589
  let addEmpty = true;
1554
- if (['u-grid-view',
1555
- 'u-list-view',
1556
- 'van-list-view',
1557
- 'van-grid-view',
1558
- 'u-carousel'].includes(el.tag)) {
1590
+ if (['u-grid-view', 'u-list-view', 'van-list-view', 'van-grid-view', 'u-carousel'].includes(el.tag)) {
1559
1591
  const hasDataSource = el.bindAttrs.find((attr) => attr.name === 'data-source');
1560
1592
  addEmpty = !hasDataSource;
1561
1593
  }
@@ -1565,7 +1597,21 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1565
1597
  if (hasAuto)
1566
1598
  addEmpty = false;
1567
1599
  }
1568
- if (['u-select', 'u-dropdown', 'u-panel', 'u-toc', 'u-toc-item', 'u-tree-view-new', 'u-tree-view-node-new', 'u-tree-select', 'u-tree-select-new', 'u-anchor', 'u-drawer', 'u-timeline', 'u-tabs'].includes(el.tag)) {
1600
+ if ([
1601
+ 'u-select',
1602
+ 'u-dropdown',
1603
+ 'u-panel',
1604
+ 'u-toc',
1605
+ 'u-toc-item',
1606
+ 'u-tree-view-new',
1607
+ 'u-tree-view-node-new',
1608
+ 'u-tree-select',
1609
+ 'u-tree-select-new',
1610
+ 'u-anchor',
1611
+ 'u-drawer',
1612
+ 'u-timeline',
1613
+ 'u-tabs',
1614
+ ].includes(el.tag)) {
1569
1615
  addEmpty = false;
1570
1616
  }
1571
1617
  const background = (emptySlot && emptySlot['empty-background']) || (hasSupport ? 'add-sub' : '');
@@ -1574,7 +1620,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1574
1620
  }
1575
1621
  if (['u-router-view', 'van-router-view'].includes(el.tag)) {
1576
1622
  const excludes = ['background-color:', 'background:', 'background-image:'];
1577
- if (excludes.some((key) => (el.staticStyle && el.staticStyle.includes(key)))) {
1623
+ if (excludes.some((key) => el.staticStyle && el.staticStyle.includes(key))) {
1578
1624
  parts.push(':designer="false"');
1579
1625
  }
1580
1626
  }
@@ -1589,7 +1635,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1589
1635
  let index = 0;
1590
1636
  while (parent && parent.concept !== 'View') {
1591
1637
  if (parent.slotScope) {
1592
- argsList.push(index === 0 ? 'current' : 'current' + index);
1638
+ argsList.push(index === 0 ? 'current' : `current${index}`);
1593
1639
  index++;
1594
1640
  }
1595
1641
  parent = parent.parentNode;
@@ -1617,7 +1663,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1617
1663
  if (this.slotScope) {
1618
1664
  currentList.unshift(this.slotScope);
1619
1665
  }
1620
- const newOptions = Object.assign({
1666
+ const newOptions = {
1621
1667
  indentStyle: 'space',
1622
1668
  tabSize: 4,
1623
1669
  indentLevel: 0,
@@ -1633,19 +1679,21 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1633
1679
  .filter((item) => item !== undefined)
1634
1680
  .join(', ')}}"`;
1635
1681
  },
1636
- }, options, {
1682
+ ...options,
1637
1683
  currentList,
1638
- });
1684
+ };
1639
1685
  const tabString = ' '.repeat(newOptions.tabSize * newOptions.indentLevel);
1640
1686
  const insideTabString = ' '.repeat(newOptions.tabSize * (newOptions.indentLevel + 1));
1641
1687
  let shouldIndent = true;
1642
- const content = !this.children ? '' : this.children
1643
- .map((element) => {
1644
- const childOptions = Object.assign({}, newOptions);
1645
- childOptions.indentLevel++;
1646
- return (shouldIndent ? '\n' + insideTabString : '') + element?.toVue(childOptions);
1647
- })
1648
- .join('');
1688
+ const content = !this.children
1689
+ ? ''
1690
+ : this.children
1691
+ .map((element) => {
1692
+ const childOptions = { ...newOptions };
1693
+ childOptions.indentLevel++;
1694
+ return (shouldIndent ? `\n${insideTabString}` : '') + element?.toVue(childOptions);
1695
+ })
1696
+ .join('');
1649
1697
  if (!content.length) {
1650
1698
  shouldIndent = false;
1651
1699
  }
@@ -1661,7 +1709,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1661
1709
  parts.push(`vusion-node-path="${this.nodePath}"`);
1662
1710
  }
1663
1711
  // 模板里解析时候,可能会有多级嵌套的 current,所以当前有多少的长度,当前就是多大的下标
1664
- this.slotTarget && parts.push(`#${this.slotTarget}` + (this.slotScope ? `="${currentList.length > 1 ? this.slotScope + (currentList.length - 1) : this.slotScope}"` : ''));
1712
+ this.slotTarget &&
1713
+ parts.push(`#${this.slotTarget}${this.slotScope ? `="${currentList.length > 1 ? this.slotScope + (currentList.length - 1) : this.slotScope}"` : ''}`);
1665
1714
  this.refName && parts.push(`:ref="\`${this.refName}\`"`);
1666
1715
  this.staticClass && parts.push(`class="${this.staticClass}"`);
1667
1716
  this.staticStyle && parts.push(`style="${this.staticStyle}"`);
@@ -1700,13 +1749,13 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1700
1749
  let partsString = '';
1701
1750
  parts.forEach((part) => {
1702
1751
  if (partsLength >= 120 || part.length >= 120) {
1703
- partsString += '\n' + tabString + ' '.repeat(3); // ' '.repeat(el.tag.length + 1);
1752
+ partsString += `\n${tabString}${' '.repeat(3)}`; // ' '.repeat(el.tag.length + 1);
1704
1753
  partsLength = 0;
1705
1754
  }
1706
- partsString += ' ' + part;
1755
+ partsString += ` ${part}`;
1707
1756
  partsLength += part.length;
1708
1757
  });
1709
- let htmlContent = `<${this.tag}${partsString.length ? partsString : ''}>` + content + (shouldIndent ? '\n' + tabString : '') + `</${this.tag}>`;
1758
+ let htmlContent = `<${this.tag}${partsString.length ? partsString : ''}>${content}${shouldIndent ? `\n${tabString}` : ''}</${this.tag}>`;
1710
1759
  if (!content.trim() && selfClosingTag.includes(this.tag)) {
1711
1760
  htmlContent = `<${this.tag}${partsString.length ? partsString : ''} />`;
1712
1761
  }
@@ -1753,7 +1802,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1753
1802
  }
1754
1803
  parent = parent.parentNode;
1755
1804
  }
1756
- current = (index === 0 ? 'current' : 'current' + index);
1805
+ current = index === 0 ? 'current' : `current${index}`;
1757
1806
  return current;
1758
1807
  }
1759
1808
  /**
@@ -1761,14 +1810,14 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1761
1810
  * @param positionData 位置数据
1762
1811
  * @param doNotRecordLastWidthHeight 是否不记录上一次的宽高
1763
1812
  */
1764
- computeConstraintStyle(positionData, doNotRecordLastWidthHeight = false) {
1813
+ computeConstraintStyle(positionData, ops = {}) {
1765
1814
  const { nodeRect, parentRect, parentBorder } = positionData;
1766
1815
  const staticWidth = nodeRect.width;
1767
1816
  const staticHeight = nodeRect.height;
1768
- const staticLeft = nodeRect.x - parentRect.x - parentBorder.left;
1769
- const staticTop = nodeRect.y - parentRect.y - parentBorder.top;
1770
- const staticRight = (parentRect.width - nodeRect.width - staticLeft - parentBorder.right - parentBorder.left);
1771
- const staticBottom = (parentRect.height - nodeRect.height - staticTop - parentBorder.bottom - parentBorder.top);
1817
+ const staticLeft = nodeRect.left - parentRect.left - parentBorder.left;
1818
+ const staticTop = nodeRect.top - parentRect.top - parentBorder.top;
1819
+ const staticRight = parentRect.width - nodeRect.width - staticLeft - parentBorder.right - parentBorder.left;
1820
+ const staticBottom = parentRect.height - nodeRect.height - staticTop - parentBorder.bottom - parentBorder.top;
1772
1821
  const styleObj = this.parseStyleToObject(this.staticStyle);
1773
1822
  const constraintX = styleObj['--constraint-x'] || 'left';
1774
1823
  const constraintY = styleObj['--constraint-y'] || 'top';
@@ -1788,12 +1837,12 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1788
1837
  const parentWidth = staticLeft + staticWidth + staticRight;
1789
1838
  const parentHeight = staticTop + staticHeight + staticBottom;
1790
1839
  if (constraintX === 'left') {
1791
- left = staticLeft + 'px';
1840
+ left = `${staticLeft}px`;
1792
1841
  right = '';
1793
1842
  }
1794
1843
  else if (constraintX === 'right') {
1795
1844
  left = '';
1796
- right = staticRight + 'px';
1845
+ right = `${staticRight}px`;
1797
1846
  }
1798
1847
  else if (constraintX === 'center') {
1799
1848
  const offset = staticLeft + staticWidth / 2 - parentWidth / 2;
@@ -1802,24 +1851,24 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1802
1851
  transform = 'translateX(-50%)';
1803
1852
  }
1804
1853
  else if (constraintX === 'scale') {
1805
- left = staticLeft * 100 / parentWidth + '%';
1854
+ left = `${(staticLeft * 100) / parentWidth}%`;
1806
1855
  right = '';
1807
- width = staticWidth * 100 / parentWidth + '%';
1856
+ width = `${(staticWidth * 100) / parentWidth}%`;
1808
1857
  constraintWidthAuto = 1;
1809
1858
  }
1810
1859
  else if (constraintX === 'left-right') {
1811
- left = staticLeft + 'px';
1812
- right = staticRight + 'px';
1860
+ left = `${staticLeft}px`;
1861
+ right = `${staticRight}px`;
1813
1862
  width = 'auto';
1814
1863
  constraintWidthAuto = 1;
1815
1864
  }
1816
1865
  if (constraintY === 'top') {
1817
- top = staticTop + 'px';
1866
+ top = `${staticTop}px`;
1818
1867
  bottom = '';
1819
1868
  }
1820
1869
  else if (constraintY === 'bottom') {
1821
1870
  top = '';
1822
- bottom = staticBottom + 'px';
1871
+ bottom = `${staticBottom}px`;
1823
1872
  }
1824
1873
  else if (constraintY === 'center') {
1825
1874
  const offset = staticTop + staticHeight / 2 - parentHeight / 2;
@@ -1828,14 +1877,14 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1828
1877
  transform = transform ? 'translate(-50%, -50%)' : 'translateY(-50%)';
1829
1878
  }
1830
1879
  else if (constraintY === 'scale') {
1831
- top = staticTop * 100 / parentHeight + '%';
1880
+ top = `${(staticTop * 100) / parentHeight}%`;
1832
1881
  bottom = '';
1833
- height = staticHeight * 100 / parentHeight + '%';
1882
+ height = `${(staticHeight * 100) / parentHeight}%`;
1834
1883
  constraintHeightAuto = 1;
1835
1884
  }
1836
1885
  else if (constraintY === 'top-bottom') {
1837
- top = staticTop + 'px';
1838
- bottom = staticBottom + 'px';
1886
+ top = `${staticTop}px`;
1887
+ bottom = `${staticBottom}px`;
1839
1888
  height = 'auto';
1840
1889
  constraintHeightAuto = 1;
1841
1890
  }
@@ -1850,11 +1899,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1850
1899
  height,
1851
1900
  '--constraint-width-auto': constraintWidthAuto,
1852
1901
  '--constraint-height-auto': constraintHeightAuto,
1853
- // 如果上次已经是 auto 了,就用上上次的宽高
1854
- '--last-width': rawWidth === 'auto' ? styleObj['--last-width'] : rawWidth,
1855
- '--last-height': rawHeight === 'auto' ? styleObj['--last-height'] : rawHeight,
1856
1902
  };
1857
- if (!doNotRecordLastWidthHeight) {
1903
+ if (!ops.doNotRecordLastWidthHeight) {
1858
1904
  if (rawWidth !== 'auto') {
1859
1905
  newStyleObj['--last-width'] = rawWidth;
1860
1906
  }
@@ -1862,10 +1908,9 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1862
1908
  newStyleObj['--last-height'] = rawHeight;
1863
1909
  }
1864
1910
  }
1911
+ ops.beforeSetStyleCb?.(newStyleObj);
1865
1912
  const newStaticStyle = this.stringifyStyleAttr(newStyleObj);
1866
- this.update({
1867
- staticStyle: newStaticStyle,
1868
- });
1913
+ this.setStaticStyle(newStaticStyle);
1869
1914
  }
1870
1915
  updateStyleObj(styleObj) {
1871
1916
  this.setStaticStyle(this.stringifyStyleAttr({
@@ -1888,9 +1933,19 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1888
1933
  return styleObj;
1889
1934
  }
1890
1935
  stringifyStyleAttr(styleObj) {
1891
- return Object.keys(styleObj)
1936
+ return (Object.keys(styleObj)
1937
+ // 空字符串是允许的,因为有时候想要覆盖之前的样式。undefined 则不允许
1938
+ .filter((key) => styleObj[key] !== undefined)
1892
1939
  .map((key) => `${key}:${String(styleObj[key]).trim()};`)
1893
- .join('');
1940
+ .join(''));
1941
+ }
1942
+ // 批量更新绑定属性
1943
+ batchUpdateBindAttrs(attrOptions) {
1944
+ const oldBindAttrs = this.bindAttrs.filter((it) => !attrOptions.some((item) => item.name === it.name));
1945
+ const newBindAttrs = attrOptions.map((it) => BindAttribute__1.default.from(it, this, 'bindAttrs'));
1946
+ this.update({
1947
+ bindAttrs: [...oldBindAttrs, ...newBindAttrs],
1948
+ });
1894
1949
  }
1895
1950
  };
1896
1951
  __decorate([
@@ -1941,6 +1996,9 @@ __decorate([
1941
1996
  __decorate([
1942
1997
  (0, translator_1.withSourceMap)()
1943
1998
  ], ViewElement.prototype, "toEmbeddedTS", null);
1999
+ __decorate([
2000
+ (0, translator_1.withSourceMap)()
2001
+ ], ViewElement.prototype, "toNaturalTS", null);
1944
2002
  __decorate([
1945
2003
  (0, decorators_1.excludedInJSON)()
1946
2004
  ], ViewElement.prototype, "computedStyle", void 0);
@@ -1950,8 +2008,8 @@ ViewElement = ViewElement_1 = __decorate([
1950
2008
  exports.ViewElement = ViewElement;
1951
2009
  classMap_1.default.ViewElement = ViewElement;
1952
2010
  exports.default = ViewElement;
1953
- //================================================================================
2011
+ //= ===============================================================================
1954
2012
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1955
2013
  // 自动生成的代码已结束。下面可以手动编写。
1956
- //================================================================================
2014
+ //= ===============================================================================
1957
2015
  //# sourceMappingURL=ViewElement__.js.map