@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
@@ -6,91 +6,100 @@
6
6
  */
7
7
  import * as utils from '../utils';
8
8
  import { App, Module, Namespace, Entity, View, Enum, DataSource, ViewElement } from '../concepts';
9
+ import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode } from './utils';
9
10
  import {
10
- NaslCoreTypeAnnotation, NaslUITypeAnnotation,
11
- NaslTypeAnnotation, NaslLogicItem, NaslNode,
12
- } from './utils';
13
- import {
14
- filterProperty, NameGroup, genUniqueQueryNameGroup, getFirstDisplayedProperty,
15
- genCallComponentLogic, genQueryLogic, genTableTemplate, genEnumSelectBlock,
16
- genTableLoadLogic, genTableRemoveLogic, genLoadSelectLogic, genGridViewTemplate,
17
- genGridViewLoadLogic, genGridViewRemoveLogic, genLogicParam,
11
+ filterProperty,
12
+ NameGroup,
13
+ genUniqueQueryNameGroup,
14
+ getFirstDisplayedProperty,
15
+ genCallComponentLogic,
16
+ genQueryLogic,
17
+ genTableTemplate,
18
+ genEnumSelectBlock,
19
+ genTableLoadLogic,
20
+ genTableRemoveLogic,
21
+ genLoadSelectLogic,
22
+ genGridViewTemplate,
23
+ genGridViewLoadLogic,
24
+ genGridViewRemoveLogic,
25
+ genLogicParam,
18
26
  } from '.';
19
27
 
20
28
  function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>) {
21
- const dataSource = entity.parentNode as DataSource;
22
- const properties = entity.properties.filter(filterProperty('inFilter'));
23
- return `
29
+ const dataSource = entity.parentNode as DataSource;
30
+ const properties = entity.properties.filter(filterProperty('inFilter'));
31
+ return `
24
32
  <u-linear-layout justify="space-between">
25
33
  <u-form layout="inline">
26
34
  ${properties
27
- .map((property) => {
28
- const vModel = `${nameGroup.viewVariableFilter}.${property.name}`;
29
- const label = property.label || property.name;
30
- let formItem = `<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;
35
+ .map((property) => {
36
+ const vModel = `${nameGroup.viewVariableFilter}.${property.name}`;
37
+ const label = property.label || property.name;
38
+ let formItem = `<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;
31
39
 
32
- const { typeAnnotation } = property || {};
33
- const {
34
- typeName: propertyTypeName,
35
- typeNamespace: propertyTypeNamespace,
36
- } = typeAnnotation || {};
37
- const propertyTypeMaxLength:number = Number(property.rules.find((item) => item.indexOf('max') > -1)?.split('(')[1].slice(0, -1)) || 0;
38
- if (property.relationEntity) {
39
- // 有外键关联
40
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
41
- if (relationEntity) {
42
- const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
43
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
44
- if (displayedProperty) {
45
- const lowerEntityName = utils.firstLowerCase(relationEntity.name);
46
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
47
- const key = [property.name, relationEntity.name].join('-');
48
- const selectNameGroup = selectNameGroupMap.get(key);
49
- formItem += `
40
+ const { typeAnnotation } = property || {};
41
+ const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
42
+ const propertyTypeMaxLength: number =
43
+ Number(
44
+ property.rules
45
+ .find((item) => item.indexOf('max') > -1)
46
+ ?.split('(')[1]
47
+ .slice(0, -1)
48
+ ) || 0;
49
+ if (property.relationEntity) {
50
+ // 有外键关联
51
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
52
+ if (relationEntity) {
53
+ const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
54
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
55
+ if (displayedProperty) {
56
+ const lowerEntityName = utils.firstLowerCase(relationEntity.name);
57
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
58
+ const key = [property.name, relationEntity.name].join('-');
59
+ const selectNameGroup = selectNameGroupMap.get(key);
60
+ formItem += `
50
61
  <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroup.viewLogicLoad}"
51
62
  text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pageable="true" :remote-paging="true" v-model="${vModel}">
52
63
  </u-select>
53
64
  `;
54
- } else
55
- return '';
56
- } else
57
- return '';
58
- } else if (propertyTypeName === 'Boolean') {
59
- formItem += `
65
+ } else return '';
66
+ } else return '';
67
+ } else if (propertyTypeName === 'Boolean') {
68
+ formItem += `
60
69
  <u-select clearable v-model="${vModel}" placeholder="请输入${label}">
61
70
  <u-select-item :value="true" text="是">是</u-select-item>
62
71
  <u-select-item :value="false" text="否">否</u-select-item>
63
72
  </u-select>
64
73
  `;
65
- } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
66
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
67
- } else if (propertyTypeName === 'Double') {
68
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
69
- } else if (propertyTypeName === 'Decimal') {
70
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
71
- } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 255) {
72
- formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
73
- } else if (propertyTypeName === 'Date') {
74
- formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;
75
- } else if (propertyTypeName === 'Time') {
76
- formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;
77
- } else if (propertyTypeName === 'DateTime') {
78
- formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;
79
- } else {
80
- const namespaceArr = propertyTypeNamespace.split('.');
81
- const type = namespaceArr.pop();
82
- if (type === 'enums') {
83
- const Enum = dataSource.app.findNodeByCompleteName(propertyTypeNamespace + '.' + propertyTypeName) as Enum;
84
- formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
85
- } else {
86
- formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;
87
- }
88
- }
74
+ } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
75
+ formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
76
+ } else if (propertyTypeName === 'Double') {
77
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
78
+ } else if (propertyTypeName === 'Decimal') {
79
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
80
+ } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
81
+ formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
82
+ } else if (propertyTypeName === 'Date') {
83
+ formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;
84
+ } else if (propertyTypeName === 'Time') {
85
+ formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;
86
+ } else if (propertyTypeName === 'DateTime') {
87
+ formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;
88
+ } else {
89
+ const namespaceArr = propertyTypeNamespace.split('.');
90
+ const type = namespaceArr.pop();
91
+ if (type === 'enums') {
92
+ const Enum = dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;
93
+ formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
94
+ } else {
95
+ formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;
96
+ }
97
+ }
89
98
 
90
- formItem += `</u-form-item>`;
91
- return formItem;
92
- })
93
- .join('')}
99
+ formItem += `</u-form-item>`;
100
+ return formItem;
101
+ })
102
+ .join('')}
94
103
 
95
104
  <u-form-item layout="center" label-size="auto">
96
105
  <u-button color="primary" @click="${nameGroup.viewLogicReload}">查 询</u-button>
@@ -103,10 +112,10 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
103
112
  }
104
113
 
105
114
  function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>) {
106
- const dataSource = entity.parentNode as DataSource;
107
- const properties = entity.properties.filter(filterProperty('inForm'));
115
+ const dataSource = entity.parentNode as DataSource;
116
+ const properties = entity.properties.filter(filterProperty('inForm'));
108
117
 
109
- return `
118
+ return `
110
119
  <u-modal ref="${nameGroup.viewElementSaveModal}">
111
120
  <template #title>
112
121
  <div v-if="${nameGroup.viewVariableIsUpdate}">修改</div>
@@ -115,37 +124,41 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
115
124
  <template #body>
116
125
  <u-form ref="${nameGroup.viewElementSaveModalForm}">
117
126
  ${properties
118
- .map((property) => {
119
- const vModel = `${nameGroup.viewVariableInput}.${property.name}`;
120
- const label = property.label || property.name;
121
- const required = !!property.required;
122
- const rules = [];
123
- if (property.rules && property.rules.length) {
124
- property.rules.forEach((rule) => rules.push(rule));
125
- }
126
- if (required)
127
- rules.push('required');
128
- const rulesStr = rules.join(' | ');
129
- let formItem = `<u-form-item ${required ? 'required' : ''} ${rulesStr.length ? `rules="${rulesStr}"` : ''} layout="center"><template #label><u-text text="${label}"></u-text></template>`;
127
+ .map((property) => {
128
+ const vModel = `${nameGroup.viewVariableInput}.${property.name}`;
129
+ const label = property.label || property.name;
130
+ const required = !!property.required;
131
+ const rules = [];
132
+ if (property.rules && property.rules.length) {
133
+ property.rules.forEach((rule) => rules.push(rule));
134
+ }
135
+ if (required) rules.push('required');
136
+ const rulesStr = rules.join(' | ');
137
+ let formItem = `<u-form-item ${required ? 'required' : ''} ${
138
+ rulesStr.length ? `rules="${rulesStr}"` : ''
139
+ } layout="center"><template #label><u-text text="${label}"></u-text></template>`;
130
140
 
131
- const { typeAnnotation } = property || {};
132
- const {
133
- typeName: propertyTypeName,
134
- typeNamespace: propertyTypeNamespace,
135
- } = typeAnnotation || {};
136
- const propertyTypeMaxLength:number = Number(property.rules.find((item) => item.indexOf('max') > -1)?.split('(')[1].slice(0, -1)) || 0;
137
- if (property.relationEntity) {
138
- // 有外键关联
139
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
140
- if (relationEntity) {
141
- const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
142
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
143
- if (displayedProperty) {
144
- const lowerEntityName = utils.firstLowerCase(relationEntity.name);
145
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
146
- const key = [property.name, relationEntity.name].join('-');
147
- const selectNameGroup = selectNameGroupMap.get(key);
148
- formItem += `
141
+ const { typeAnnotation } = property || {};
142
+ const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
143
+ const propertyTypeMaxLength: number =
144
+ Number(
145
+ property.rules
146
+ .find((item) => item.indexOf('max') > -1)
147
+ ?.split('(')[1]
148
+ .slice(0, -1)
149
+ ) || 0;
150
+ if (property.relationEntity) {
151
+ // 有外键关联
152
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
153
+ if (relationEntity) {
154
+ const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
155
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
156
+ if (displayedProperty) {
157
+ const lowerEntityName = utils.firstLowerCase(relationEntity.name);
158
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
159
+ const key = [property.name, relationEntity.name].join('-');
160
+ const selectNameGroup = selectNameGroupMap.get(key);
161
+ formItem += `
149
162
  <u-select clearable placeholder="请选择${label}"
150
163
  text-field="${lowerEntityName}.${displayedProperty.name}"
151
164
  value-field="${lowerEntityName}.${relationProperty.name}"
@@ -156,48 +169,62 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
156
169
  v-model="${vModel}">
157
170
  </u-select>
158
171
  `;
159
- } else
160
- return '';
161
- } else
162
- return '';
163
- } else if (propertyTypeName === 'Boolean') {
164
- formItem += `
165
- <u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}>
172
+ } else return '';
173
+ } else return '';
174
+ } else if (propertyTypeName === 'Boolean') {
175
+ formItem += `
176
+ <u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${
177
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
178
+ }>
166
179
  <u-select-item :value="true" text="是"><u-text text="是"></u-text></u-select-item>
167
180
  <u-select-item :value="false" text="否"><u-text text="否"></u-text></u-select-item>
168
181
  </u-select>`;
169
- } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
170
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-number-input>`;
171
- } else if (propertyTypeName === 'Double') {
172
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
173
- }></u-number-input>`;
174
- } else if (propertyTypeName === 'Decimal') {
175
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
176
- }></u-number-input>`;
177
- } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 255) {
178
- formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-textarea>`;
179
- } else if (propertyTypeName === 'Date') {
180
- formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-date-picker>`;
181
- } else if (propertyTypeName === 'Time') {
182
- formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-time-picker>`;
183
- } else if (propertyTypeName === 'DateTime') {
184
- formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-date-time-picker>`;
185
- } else {
186
- const namespaceArr = propertyTypeNamespace.split('.');
187
- const type = namespaceArr.pop();
188
- if (type === 'enums') {
189
- const Enum = dataSource.app.findNodeByCompleteName(propertyTypeNamespace + '.' + propertyTypeName) as Enum;
190
- formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
191
- } else {
192
- formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-input>`;
193
- }
194
- }
182
+ } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
183
+ formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}" ${
184
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
185
+ }></u-number-input>`;
186
+ } else if (propertyTypeName === 'Double') {
187
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${
188
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
189
+ }></u-number-input>`;
190
+ } else if (propertyTypeName === 'Decimal') {
191
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${
192
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
193
+ }></u-number-input>`;
194
+ } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
195
+ formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}" ${
196
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
197
+ }></u-textarea>`;
198
+ } else if (propertyTypeName === 'Date') {
199
+ formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${
200
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
201
+ }></u-date-picker>`;
202
+ } else if (propertyTypeName === 'Time') {
203
+ formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${
204
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
205
+ }></u-time-picker>`;
206
+ } else if (propertyTypeName === 'DateTime') {
207
+ formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${
208
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
209
+ }></u-date-time-picker>`;
210
+ } else {
211
+ const namespaceArr = propertyTypeNamespace.split('.');
212
+ const type = namespaceArr.pop();
213
+ if (type === 'enums') {
214
+ const Enum = dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;
215
+ formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
216
+ } else {
217
+ formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}" ${
218
+ property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
219
+ }></u-input>`;
220
+ }
221
+ }
195
222
 
196
- formItem += `</u-form-item>\n`;
223
+ formItem += `</u-form-item>\n`;
197
224
 
198
- return formItem;
199
- })
200
- .join('')}
225
+ return formItem;
226
+ })
227
+ .join('')}
201
228
  </u-form>
202
229
  </template>
203
230
  <template #foot>
@@ -210,282 +237,277 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
210
237
  }
211
238
 
212
239
  function genInitLogic(nameGroup: NameGroup) {
213
- return NaslNode.Logic({
214
- name: nameGroup.viewLogicInit,
215
- description: '',
216
- params: [] as any[],
217
- returns: [] as any[],
218
- variables: [] as any[],
219
- body: [
220
- NaslLogicItem.Start,
221
- NaslLogicItem.CallFunction({
222
- calleeName: 'Clear',
223
- arguments: [
224
- NaslLogicItem.Argument({
225
- keyword: 'struct',
226
- expression: NaslLogicItem.Identifier({
227
- name: nameGroup.viewVariableFilter,
228
- }),
229
- }),
230
- ],
240
+ return NaslNode.Logic({
241
+ name: nameGroup.viewLogicInit,
242
+ description: '',
243
+ params: [] as any[],
244
+ returns: [] as any[],
245
+ variables: [] as any[],
246
+ body: [
247
+ NaslLogicItem.Start,
248
+ NaslLogicItem.CallFunction({
249
+ calleeName: 'Clear',
250
+ arguments: [
251
+ NaslLogicItem.Argument({
252
+ keyword: 'struct',
253
+ expression: NaslLogicItem.Identifier({
254
+ name: nameGroup.viewVariableFilter,
231
255
  }),
232
- NaslLogicItem.End,
256
+ }),
233
257
  ],
234
- playground: [] as any[],
235
- });
258
+ }),
259
+ NaslLogicItem.End,
260
+ ],
261
+ playground: [] as any[],
262
+ });
236
263
  }
237
264
 
238
265
  function genCreateLogic(nameGroup: NameGroup) {
239
- return NaslNode.Logic({
240
- name: nameGroup.viewLogicCreate,
241
- description: '',
242
- params: [] as any[],
243
- returns: [] as any[],
244
- variables: [] as any[],
245
- body: [
246
- NaslLogicItem.Start,
247
- NaslLogicItem.Assignment({
248
- left: NaslLogicItem.Identifier({
249
- name: nameGroup.viewVariableIsUpdate,
250
- }),
251
- right: NaslLogicItem.Identifier({
252
- name: 'false',
253
- }),
266
+ return NaslNode.Logic({
267
+ name: nameGroup.viewLogicCreate,
268
+ description: '',
269
+ params: [] as any[],
270
+ returns: [] as any[],
271
+ variables: [] as any[],
272
+ body: [
273
+ NaslLogicItem.Start,
274
+ NaslLogicItem.Assignment({
275
+ left: NaslLogicItem.Identifier({
276
+ name: nameGroup.viewVariableIsUpdate,
277
+ }),
278
+ right: NaslLogicItem.Identifier({
279
+ name: 'false',
280
+ }),
281
+ }),
282
+ NaslLogicItem.Assignment({
283
+ left: NaslLogicItem.Identifier({
284
+ name: nameGroup.viewVariableInput,
285
+ }),
286
+ right: NaslLogicItem.CallFunction({
287
+ calleeName: 'Clone',
288
+ arguments: [
289
+ NaslLogicItem.Argument({
290
+ keyword: 'obj',
291
+ expression: NaslLogicItem.Identifier({
292
+ name: nameGroup.viewVariableEntity,
293
+ }),
254
294
  }),
255
- NaslLogicItem.Assignment({
256
- left: NaslLogicItem.Identifier({
257
- name: nameGroup.viewVariableInput,
258
- }),
259
- right: NaslLogicItem.CallFunction({
260
- calleeName: 'Clone',
261
- arguments: [
262
- NaslLogicItem.Argument({
263
- keyword: 'obj',
264
- expression: NaslLogicItem.Identifier({
265
- name: nameGroup.viewVariableEntity,
266
- }),
267
- }),
268
- ],
269
- }),
270
- }),
271
- genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
272
- NaslLogicItem.End,
273
- ],
274
- playground: [] as any[],
275
- });
295
+ ],
296
+ }),
297
+ }),
298
+ genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
299
+ NaslLogicItem.End,
300
+ ],
301
+ playground: [] as any[],
302
+ });
276
303
  }
277
304
 
278
305
  export function genSubmitLogic(entity: Entity, nameGroup: NameGroup) {
279
- const ns = entity.ns;
280
- const createLogic = ns?.logics?.find((logic) => logic.name === `create`);
306
+ const { ns } = entity;
307
+ const createLogic = ns?.logics?.find((logic) => logic.name === `create`);
281
308
 
282
- return NaslNode.Logic({
283
- name: nameGroup.viewLogicSubmit,
284
- params: [] as any[],
285
- returns: [] as any[],
286
- variables: [
287
- NaslNode.Variable({
288
- name: 'validateResult',
289
- typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
290
- }),
291
- ],
292
- body: [
293
- NaslLogicItem.Start,
294
- NaslLogicItem.Assignment({
295
- left: NaslLogicItem.Identifier({
296
- name: 'validateResult',
297
- }),
298
- right: genCallComponentLogic(nameGroup.viewElementSaveModalForm, 'validate'),
299
- }),
300
- NaslLogicItem.IfStatement({
301
- test: NaslLogicItem.MemberExpression({
302
- object: NaslLogicItem.Identifier({
303
- name: 'validateResult',
304
- }),
305
- property: NaslLogicItem.Identifier({
306
- name: 'valid',
307
- }),
308
- }),
309
- consequent: [
310
- NaslLogicItem.CallLogic({
311
- calleeNamespace: createLogic.getNamespace(),
312
- calleeName: createLogic.name,
313
- arguments: [
314
- genLogicParam(`${createLogic.params[0].name}`, nameGroup.viewVariableInput),
315
- ],
316
- }),
317
- genCallComponentLogic(nameGroup.viewElementSaveModal, 'close'),
318
- genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
319
- ],
320
- alternate: [],
321
- }),
322
- NaslLogicItem.End,
309
+ return NaslNode.Logic({
310
+ name: nameGroup.viewLogicSubmit,
311
+ params: [] as any[],
312
+ returns: [] as any[],
313
+ variables: [
314
+ NaslNode.Variable({
315
+ name: 'validateResult',
316
+ typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
317
+ }),
318
+ ],
319
+ body: [
320
+ NaslLogicItem.Start,
321
+ NaslLogicItem.Assignment({
322
+ left: NaslLogicItem.Identifier({
323
+ name: 'validateResult',
324
+ }),
325
+ right: genCallComponentLogic(nameGroup.viewElementSaveModalForm, 'validate'),
326
+ }),
327
+ NaslLogicItem.IfStatement({
328
+ test: NaslLogicItem.MemberExpression({
329
+ object: NaslLogicItem.Identifier({
330
+ name: 'validateResult',
331
+ }),
332
+ property: NaslLogicItem.Identifier({
333
+ name: 'valid',
334
+ }),
335
+ }),
336
+ consequent: [
337
+ NaslLogicItem.CallLogic({
338
+ calleeNamespace: createLogic.getNamespace(),
339
+ calleeName: createLogic.name,
340
+ arguments: [genLogicParam(`${createLogic.params[0].name}`, nameGroup.viewVariableInput)],
341
+ }),
342
+ genCallComponentLogic(nameGroup.viewElementSaveModal, 'close'),
343
+ genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
323
344
  ],
324
- playground: [],
325
- });
345
+ alternate: [],
346
+ }),
347
+ NaslLogicItem.End,
348
+ ],
349
+ playground: [],
350
+ });
326
351
  }
327
352
 
328
353
  export function genUpdateSubmitLogic(entity: Entity, nameGroup: NameGroup) {
329
- const ns = entity.ns;
330
- const updateLogic = ns?.logics?.find((logic) => logic.name === `update`);
354
+ const { ns } = entity;
355
+ const updateLogic = ns?.logics?.find((logic) => logic.name === `update`);
331
356
 
332
- return NaslNode.Logic({
333
- name: nameGroup.viewLogicUpdateSubmit,
334
- params: [] as any[],
335
- returns: [] as any[],
336
- variables: [
337
- NaslNode.Variable({
338
- name: 'validateResult',
339
- typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
340
- }),
341
- ],
342
- body: [
343
- NaslLogicItem.Start,
344
- NaslLogicItem.Assignment({
345
- left: NaslLogicItem.Identifier({
346
- name: 'validateResult',
347
- }),
348
- right: genCallComponentLogic(nameGroup.viewElementSaveModalForm, 'validate'),
349
- }),
350
- NaslLogicItem.IfStatement({
351
- test: NaslLogicItem.MemberExpression({
352
- object: NaslLogicItem.Identifier({
353
- name: 'validateResult',
354
- }),
355
- property: NaslLogicItem.Identifier({
356
- name: 'valid',
357
- }),
358
- }),
359
- consequent: [
360
- NaslLogicItem.CallLogic({
361
- calleeNamespace: updateLogic.getNamespace(),
362
- calleeName: updateLogic.name,
363
- arguments: [
364
- genLogicParam(`${updateLogic.params[0].name}`, nameGroup.viewVariableInput),
365
- ],
366
- }),
367
- genCallComponentLogic(nameGroup.viewElementSaveModal, 'close'),
368
- genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
369
- ],
370
- alternate: [],
371
- }),
372
- NaslLogicItem.End,
357
+ return NaslNode.Logic({
358
+ name: nameGroup.viewLogicUpdateSubmit,
359
+ params: [] as any[],
360
+ returns: [] as any[],
361
+ variables: [
362
+ NaslNode.Variable({
363
+ name: 'validateResult',
364
+ typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
365
+ }),
366
+ ],
367
+ body: [
368
+ NaslLogicItem.Start,
369
+ NaslLogicItem.Assignment({
370
+ left: NaslLogicItem.Identifier({
371
+ name: 'validateResult',
372
+ }),
373
+ right: genCallComponentLogic(nameGroup.viewElementSaveModalForm, 'validate'),
374
+ }),
375
+ NaslLogicItem.IfStatement({
376
+ test: NaslLogicItem.MemberExpression({
377
+ object: NaslLogicItem.Identifier({
378
+ name: 'validateResult',
379
+ }),
380
+ property: NaslLogicItem.Identifier({
381
+ name: 'valid',
382
+ }),
383
+ }),
384
+ consequent: [
385
+ NaslLogicItem.CallLogic({
386
+ calleeNamespace: updateLogic.getNamespace(),
387
+ calleeName: updateLogic.name,
388
+ arguments: [genLogicParam(`${updateLogic.params[0].name}`, nameGroup.viewVariableInput)],
389
+ }),
390
+ genCallComponentLogic(nameGroup.viewElementSaveModal, 'close'),
391
+ genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
373
392
  ],
374
- playground: [],
375
- });
393
+ alternate: [],
394
+ }),
395
+ NaslLogicItem.End,
396
+ ],
397
+ playground: [],
398
+ });
376
399
  }
377
400
 
378
401
  function genModifyLogic(entity: Entity, nameGroup: NameGroup) {
379
- const lowerEntityName = utils.firstLowerCase(entity.name);
402
+ const lowerEntityName = utils.firstLowerCase(entity.name);
380
403
 
381
- return NaslNode.Logic({
382
- name: nameGroup.viewLogicModify,
383
- description: '',
384
- params: [
385
- ],
386
- returns: [] as any[],
387
- variables: [] as any[],
388
- body: [
389
- NaslLogicItem.Start,
390
- NaslLogicItem.Assignment({
391
- left: NaslLogicItem.Identifier({
392
- name: nameGroup.viewVariableIsUpdate,
404
+ return NaslNode.Logic({
405
+ name: nameGroup.viewLogicModify,
406
+ description: '',
407
+ params: [],
408
+ returns: [] as any[],
409
+ variables: [] as any[],
410
+ body: [
411
+ NaslLogicItem.Start,
412
+ NaslLogicItem.Assignment({
413
+ left: NaslLogicItem.Identifier({
414
+ name: nameGroup.viewVariableIsUpdate,
415
+ }),
416
+ right: NaslLogicItem.Identifier({
417
+ name: 'true',
418
+ }),
419
+ }),
420
+ NaslLogicItem.Assignment({
421
+ left: NaslLogicItem.Identifier({
422
+ name: nameGroup.viewVariableInput,
423
+ }),
424
+ right: NaslLogicItem.CallFunction({
425
+ calleeName: 'Clone',
426
+ arguments: [
427
+ NaslLogicItem.Argument({
428
+ keyword: 'obj',
429
+ expression: NaslLogicItem.MemberExpression({
430
+ object: NaslLogicItem.MemberExpression({
431
+ object: NaslLogicItem.Identifier({
432
+ name: 'current',
433
+ }),
434
+ property: NaslLogicItem.Identifier({
435
+ name: 'item',
436
+ }),
393
437
  }),
394
- right: NaslLogicItem.Identifier({
395
- name: 'true',
438
+ property: NaslLogicItem.Identifier({
439
+ name: lowerEntityName,
396
440
  }),
441
+ }),
397
442
  }),
398
- NaslLogicItem.Assignment({
399
- left: NaslLogicItem.Identifier({
400
- name: nameGroup.viewVariableInput,
401
- }),
402
- right: NaslLogicItem.CallFunction({
403
- calleeName: 'Clone',
404
- arguments: [
405
- NaslLogicItem.Argument({
406
- keyword: 'obj',
407
- expression: NaslLogicItem.MemberExpression({
408
- object: NaslLogicItem.MemberExpression({
409
- object: NaslLogicItem.Identifier({
410
- name: 'current',
411
- }),
412
- property: NaslLogicItem.Identifier({
413
- name: 'item',
414
- }),
415
- }),
416
- property: NaslLogicItem.Identifier({
417
- name: lowerEntityName,
418
- }),
419
- }),
420
- }),
421
- ],
422
- }),
423
- }),
424
- genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
425
- NaslLogicItem.End,
426
- ],
427
- playground: [] as any[],
428
- });
443
+ ],
444
+ }),
445
+ }),
446
+ genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
447
+ NaslLogicItem.End,
448
+ ],
449
+ playground: [] as any[],
450
+ });
429
451
  }
430
452
 
431
453
  // 列表(全)
432
454
  export function genCurdMultipleKeyBlock(entity: Entity, oldNode: ViewElement) {
433
- const view = oldNode.view;
434
- const dataSource = entity.parentNode as DataSource;
435
- const module = dataSource.app;
455
+ const { view } = oldNode;
456
+ const dataSource = entity.parentNode as DataSource;
457
+ const module = dataSource.app;
436
458
 
437
- const viewElementMainView = view.getViewElementUniqueName('tableView');
438
- const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
439
- nameGroup.viewElementMainView = viewElementMainView;
440
- nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');
441
- nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');
442
- nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
443
- nameGroup.viewLogicInit = view.getLogicUniqueName('init');
444
- nameGroup.viewLogicCreate = view.getLogicUniqueName('create');
445
- nameGroup.viewLogicModify = view.getLogicUniqueName('modify');
446
- nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');
447
- nameGroup.viewLogicUpdateSubmit = view.getLogicUniqueName('updateSubmit');
448
- nameGroup.viewLogicReload = view.getLogicUniqueName('reload');
449
- nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
450
- nameGroup.viewVariableInput = view.getVariableUniqueName('input');
451
- nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');
452
- nameGroup.viewVariableIsUpdate = view.getVariableUniqueName('isUpdate');
459
+ const viewElementMainView = view.getViewElementUniqueName('tableView');
460
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
461
+ nameGroup.viewElementMainView = viewElementMainView;
462
+ nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');
463
+ nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');
464
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
465
+ nameGroup.viewLogicInit = view.getLogicUniqueName('init');
466
+ nameGroup.viewLogicCreate = view.getLogicUniqueName('create');
467
+ nameGroup.viewLogicModify = view.getLogicUniqueName('modify');
468
+ nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');
469
+ nameGroup.viewLogicUpdateSubmit = view.getLogicUniqueName('updateSubmit');
470
+ nameGroup.viewLogicReload = view.getLogicUniqueName('reload');
471
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
472
+ nameGroup.viewVariableInput = view.getVariableUniqueName('input');
473
+ nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');
474
+ nameGroup.viewVariableIsUpdate = view.getVariableUniqueName('isUpdate');
453
475
 
454
- // 收集所有和本实体关联的实体
455
- const entitySet: Set<Entity> = new Set();
456
- entitySet.add(entity);
457
- const selectNameGroupMap: Map<string, NameGroup> = new Map();
458
- const newLogics: any[] = [];
459
- const newLoadSelectLogics: any[] = [];
460
- entity.properties.forEach((property) => {
461
- // 有外键关联
462
- if (property.relationEntity) {
463
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
464
- if (relationEntity) {
465
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
466
- if (displayedProperty) {
467
- entitySet.add(relationEntity);
468
- const viewElementSelect = view.getViewElementUniqueName('select');
469
- const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
470
- selectNameGroup.viewElementSelect = viewElementSelect;
471
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
472
- const key = [property.name, relationEntity.name].join('-');
473
- selectNameGroupMap.set(key, selectNameGroup);
474
- const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
475
- newLogics.push(newLogic);
476
- newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
477
- }
478
- }
476
+ // 收集所有和本实体关联的实体
477
+ const entitySet: Set<Entity> = new Set();
478
+ entitySet.add(entity);
479
+ const selectNameGroupMap: Map<string, NameGroup> = new Map();
480
+ const newLogics: any[] = [];
481
+ const newLoadSelectLogics: any[] = [];
482
+ entity.properties.forEach((property) => {
483
+ // 有外键关联
484
+ if (property.relationEntity) {
485
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
486
+ if (relationEntity) {
487
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
488
+ if (displayedProperty) {
489
+ entitySet.add(relationEntity);
490
+ const viewElementSelect = view.getViewElementUniqueName('select');
491
+ const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
492
+ selectNameGroup.viewElementSelect = viewElementSelect;
493
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
494
+ const key = [property.name, relationEntity.name].join('-');
495
+ selectNameGroupMap.set(key, selectNameGroup);
496
+ const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
497
+ newLogics.push(newLogic);
498
+ newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
479
499
  }
480
- });
481
- const allEntities = [...entitySet];
482
- const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
483
- newLogics.push(entityLogic);
500
+ }
501
+ }
502
+ });
503
+ const allEntities = [...entitySet];
504
+ const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
505
+ newLogics.push(entityLogic);
484
506
 
485
- return `<template>
507
+ return `<template>
486
508
  <u-linear-layout direction="vertical">
487
509
  ${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
488
- ${genTableTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
510
+ ${genTableTemplate(entity, nameGroup, true)}
489
511
  ${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
490
512
  </u-linear-layout>
491
513
  </template>
@@ -496,26 +518,32 @@ export function genCurdMultipleKeyBlock(entity: Entity, oldNode: ViewElement) {
496
518
  {
497
519
  "concept": "Variable",
498
520
  "name": "${nameGroup.viewVariableEntity}",
499
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
500
- typeNamespace: entity.getNamespace(),
501
- typeName: entity.name,
502
- }))}
521
+ "typeAnnotation": ${JSON.stringify(
522
+ NaslTypeAnnotation.Reference({
523
+ typeNamespace: entity.getNamespace(),
524
+ typeName: entity.name,
525
+ })
526
+ )}
503
527
  },
504
528
  {
505
529
  "concept": "Variable",
506
530
  "name": "${nameGroup.viewVariableInput}",
507
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
508
- typeNamespace: entity.getNamespace(),
509
- typeName: entity.name,
510
- }))}
531
+ "typeAnnotation": ${JSON.stringify(
532
+ NaslTypeAnnotation.Reference({
533
+ typeNamespace: entity.getNamespace(),
534
+ typeName: entity.name,
535
+ })
536
+ )}
511
537
  },
512
538
  {
513
539
  "concept": "Variable",
514
540
  "name": "${nameGroup.viewVariableFilter}",
515
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
516
- typeNamespace: entity.getNamespace(),
517
- typeName: entity.name,
518
- }))}
541
+ "typeAnnotation": ${JSON.stringify(
542
+ NaslTypeAnnotation.Reference({
543
+ typeNamespace: entity.getNamespace(),
544
+ typeName: entity.name,
545
+ })
546
+ )}
519
547
  },
520
548
  {
521
549
  "concept": "Variable",
@@ -532,7 +560,7 @@ export function genCurdMultipleKeyBlock(entity: Entity, oldNode: ViewElement) {
532
560
  ${JSON.stringify(genSubmitLogic(entity, nameGroup))},
533
561
  ${JSON.stringify(genUpdateSubmitLogic(entity, nameGroup))},
534
562
  ${JSON.stringify(genReloadLogic(nameGroup))}
535
- ${newLoadSelectLogics.map((logic) => ',' + JSON.stringify(logic)).join('\n')}
563
+ ${newLoadSelectLogics.map((logic) => `,${JSON.stringify(logic)}`).join('\n')}
536
564
  ],
537
565
  "viewBindEvents": [
538
566
  {
@@ -552,64 +580,62 @@ export function genCurdMultipleKeyBlock(entity: Entity, oldNode: ViewElement) {
552
580
 
553
581
  // 数据网格(全)
554
582
  export function genGridViewMultipleKeyBlock(entity: Entity, oldNode: ViewElement) {
555
- const view = oldNode.view;
556
- const dataSource = entity.parentNode as DataSource;
557
- const module = dataSource.app;
583
+ const { view } = oldNode;
584
+ const dataSource = entity.parentNode as DataSource;
585
+ const module = dataSource.app;
558
586
 
559
- const viewElementMainView = view.getViewElementUniqueName('gridView');
560
- const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
561
- nameGroup.viewElementMainView = viewElementMainView;
562
- nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');
563
- nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');
564
- nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
565
- nameGroup.viewLogicInit = view.getLogicUniqueName('init');
566
- nameGroup.viewLogicCreate = view.getLogicUniqueName('create');
567
- nameGroup.viewLogicModify = view.getLogicUniqueName('modify');
568
- nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');
569
- nameGroup.viewLogicUpdateSubmit = view.getLogicUniqueName('updateSubmit');
570
- nameGroup.viewLogicReload = view.getLogicUniqueName('reload');
571
- nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
572
- nameGroup.viewVariableInput = view.getVariableUniqueName('input');
573
- nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');
574
- nameGroup.viewVariableIsUpdate = view.getVariableUniqueName('isUpdate');
587
+ const viewElementMainView = view.getViewElementUniqueName('gridView');
588
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
589
+ nameGroup.viewElementMainView = viewElementMainView;
590
+ nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');
591
+ nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');
592
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
593
+ nameGroup.viewLogicInit = view.getLogicUniqueName('init');
594
+ nameGroup.viewLogicCreate = view.getLogicUniqueName('create');
595
+ nameGroup.viewLogicModify = view.getLogicUniqueName('modify');
596
+ nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');
597
+ nameGroup.viewLogicUpdateSubmit = view.getLogicUniqueName('updateSubmit');
598
+ nameGroup.viewLogicReload = view.getLogicUniqueName('reload');
599
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
600
+ nameGroup.viewVariableInput = view.getVariableUniqueName('input');
601
+ nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');
602
+ nameGroup.viewVariableIsUpdate = view.getVariableUniqueName('isUpdate');
575
603
 
576
- // 收集所有和本实体关联的实体
577
- const entitySet: Set<Entity> = new Set();
578
- entitySet.add(entity);
579
- const selectNameGroupMap: Map<string, NameGroup> = new Map();
580
- const newLogics: any[] = [];
581
- const newLoadSelectLogics: any[] = [];
582
- entity.properties.forEach((property) => {
583
- // 有外键关联
584
- if (property.relationEntity) {
585
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
586
- if (relationEntity) {
587
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
588
- if (displayedProperty) {
589
- entitySet.add(relationEntity);
590
- const viewElementSelect = view.getViewElementUniqueName('select');
591
- const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
592
- selectNameGroup.viewElementSelect = viewElementSelect;
593
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
594
- const key = [property.name, relationEntity.name].join('-');
595
- selectNameGroupMap.set(key, selectNameGroup);
596
- const newLogic = genQueryLogic([
597
- relationEntity,
598
- ], selectNameGroup, false, false, module);
599
- newLogics.push(newLogic);
600
- newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
601
- }
602
- }
604
+ // 收集所有和本实体关联的实体
605
+ const entitySet: Set<Entity> = new Set();
606
+ entitySet.add(entity);
607
+ const selectNameGroupMap: Map<string, NameGroup> = new Map();
608
+ const newLogics: any[] = [];
609
+ const newLoadSelectLogics: any[] = [];
610
+ entity.properties.forEach((property) => {
611
+ // 有外键关联
612
+ if (property.relationEntity) {
613
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
614
+ if (relationEntity) {
615
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
616
+ if (displayedProperty) {
617
+ entitySet.add(relationEntity);
618
+ const viewElementSelect = view.getViewElementUniqueName('select');
619
+ const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
620
+ selectNameGroup.viewElementSelect = viewElementSelect;
621
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
622
+ const key = [property.name, relationEntity.name].join('-');
623
+ selectNameGroupMap.set(key, selectNameGroup);
624
+ const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
625
+ newLogics.push(newLogic);
626
+ newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
603
627
  }
604
- });
605
- const allEntities = [...entitySet];
606
- const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
607
- newLogics.push(entityLogic);
628
+ }
629
+ }
630
+ });
631
+ const allEntities = [...entitySet];
632
+ const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
633
+ newLogics.push(entityLogic);
608
634
 
609
- return `<template>
635
+ return `<template>
610
636
  <u-linear-layout direction="vertical">
611
637
  ${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
612
- ${genGridViewTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
638
+ ${genGridViewTemplate(entity, nameGroup, true)}
613
639
  ${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
614
640
  </u-linear-layout>
615
641
  </template>
@@ -620,26 +646,32 @@ export function genGridViewMultipleKeyBlock(entity: Entity, oldNode: ViewElement
620
646
  {
621
647
  "concept": "Variable",
622
648
  "name": "${nameGroup.viewVariableEntity}",
623
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
624
- typeNamespace: entity.getNamespace(),
625
- typeName: entity.name,
626
- }))}
649
+ "typeAnnotation": ${JSON.stringify(
650
+ NaslTypeAnnotation.Reference({
651
+ typeNamespace: entity.getNamespace(),
652
+ typeName: entity.name,
653
+ })
654
+ )}
627
655
  },
628
656
  {
629
657
  "concept": "Variable",
630
658
  "name": "${nameGroup.viewVariableInput}",
631
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
632
- typeNamespace: entity.getNamespace(),
633
- typeName: entity.name,
634
- }))}
659
+ "typeAnnotation": ${JSON.stringify(
660
+ NaslTypeAnnotation.Reference({
661
+ typeNamespace: entity.getNamespace(),
662
+ typeName: entity.name,
663
+ })
664
+ )}
635
665
  },
636
666
  {
637
667
  "concept": "Variable",
638
668
  "name": "${nameGroup.viewVariableFilter}",
639
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
640
- typeNamespace: entity.getNamespace(),
641
- typeName: entity.name,
642
- }))}
669
+ "typeAnnotation": ${JSON.stringify(
670
+ NaslTypeAnnotation.Reference({
671
+ typeNamespace: entity.getNamespace(),
672
+ typeName: entity.name,
673
+ })
674
+ )}
643
675
  },
644
676
  {
645
677
  "concept": "Variable",
@@ -656,7 +688,7 @@ export function genGridViewMultipleKeyBlock(entity: Entity, oldNode: ViewElement
656
688
  ${JSON.stringify(genSubmitLogic(entity, nameGroup))},
657
689
  ${JSON.stringify(genUpdateSubmitLogic(entity, nameGroup))},
658
690
  ${JSON.stringify(genReloadLogic(nameGroup))}
659
- ${newLoadSelectLogics.map((logic) => ',' + JSON.stringify(logic)).join('\n')}
691
+ ${newLoadSelectLogics.map((logic) => `,${JSON.stringify(logic)}`).join('\n')}
660
692
  ],
661
693
  "viewBindEvents": [
662
694
  {
@@ -674,21 +706,17 @@ export function genGridViewMultipleKeyBlock(entity: Entity, oldNode: ViewElement
674
706
  }
675
707
 
676
708
  export function genReloadLogic(nameGroup: NameGroup) {
677
- return NaslNode.Logic({
678
- name: nameGroup.viewLogicReload,
679
- params: [] as any[],
680
- returns: [] as any[],
681
- variables: [
682
- NaslNode.Variable({
683
- name: 'validateResult',
684
- typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
685
- }),
686
- ],
687
- body: [
688
- NaslLogicItem.Start,
689
- genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
690
- NaslLogicItem.End,
691
- ],
692
- playground: [],
693
- });
709
+ return NaslNode.Logic({
710
+ name: nameGroup.viewLogicReload,
711
+ params: [] as any[],
712
+ returns: [] as any[],
713
+ variables: [
714
+ NaslNode.Variable({
715
+ name: 'validateResult',
716
+ typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
717
+ }),
718
+ ],
719
+ body: [NaslLogicItem.Start, genCallComponentLogic(nameGroup.viewElementMainView, 'reload'), NaslLogicItem.End],
720
+ playground: [],
721
+ });
694
722
  }