@lcap/nasl 3.2.0-beta.4 → 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 (774) hide show
  1. package/out/automate/upgrader/2.20.js +1 -1
  2. package/out/automate/upgrader/2.20.js.map +1 -1
  3. package/out/bak/translator.js +11 -15
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  6. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  7. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  8. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  9. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  10. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  11. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  12. package/out/breakpoint/generator/CallbackNode.js +22 -0
  13. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  14. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  15. package/out/breakpoint/generator/FragmentNode.js +18 -0
  16. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  17. package/out/breakpoint/generator/index.js +25 -4
  18. package/out/breakpoint/generator/index.js.map +1 -1
  19. package/out/breakpoint/shared/constants.d.ts +3 -0
  20. package/out/breakpoint/shared/constants.js +6 -1
  21. package/out/breakpoint/shared/constants.js.map +1 -1
  22. package/out/breakpoint/shared/operations.js.map +1 -1
  23. package/out/breakpoint/shared/socket.d.ts +1 -1
  24. package/out/breakpoint/shared/socket.js +36 -7
  25. package/out/breakpoint/shared/socket.js.map +1 -1
  26. package/out/breakpoint/shared/utils.d.ts +2 -0
  27. package/out/breakpoint/shared/utils.js +15 -2
  28. package/out/breakpoint/shared/utils.js.map +1 -1
  29. package/out/breakpoint/store/core.d.ts +48 -2
  30. package/out/breakpoint/store/core.js +58 -32
  31. package/out/breakpoint/store/core.js.map +1 -1
  32. package/out/breakpoint/store/dock.js +1 -1
  33. package/out/breakpoint/store/dock.js.map +1 -1
  34. package/out/common/BaseNode.d.ts +1 -1
  35. package/out/common/BaseNode.js +105 -51
  36. package/out/common/BaseNode.js.map +1 -1
  37. package/out/common/Command.d.ts +13 -2
  38. package/out/common/Command.js +37 -9
  39. package/out/common/Command.js.map +1 -1
  40. package/out/common/EventEmitter.js.map +1 -1
  41. package/out/common/Messager.d.ts +3 -3
  42. package/out/common/Messager.js +6 -7
  43. package/out/common/Messager.js.map +1 -1
  44. package/out/common/asyncFuncMap.js.map +1 -1
  45. package/out/concepts/Abort__.js +6 -5
  46. package/out/concepts/Abort__.js.map +1 -1
  47. package/out/concepts/Anchor__.d.ts +4 -3
  48. package/out/concepts/Anchor__.js +24 -7
  49. package/out/concepts/Anchor__.js.map +1 -1
  50. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  51. package/out/concepts/AnonymousFunction__.js +48 -22
  52. package/out/concepts/AnonymousFunction__.js.map +1 -1
  53. package/out/concepts/App__.d.ts +421 -247
  54. package/out/concepts/App__.js +286 -54
  55. package/out/concepts/App__.js.map +1 -1
  56. package/out/concepts/Argument__.d.ts +4 -3
  57. package/out/concepts/Argument__.js +42 -11
  58. package/out/concepts/Argument__.js.map +1 -1
  59. package/out/concepts/Assignee__.d.ts +45 -45
  60. package/out/concepts/Assignee__.js +15 -15
  61. package/out/concepts/Assignee__.js.map +1 -1
  62. package/out/concepts/AssignmentLine__.js +6 -5
  63. package/out/concepts/AssignmentLine__.js.map +1 -1
  64. package/out/concepts/Assignment__.d.ts +7 -6
  65. package/out/concepts/Assignment__.js +40 -22
  66. package/out/concepts/Assignment__.js.map +1 -1
  67. package/out/concepts/Attribute__.d.ts +3 -3
  68. package/out/concepts/Attribute__.js +8 -7
  69. package/out/concepts/Attribute__.js.map +1 -1
  70. package/out/concepts/AuthInterface__.js +4 -3
  71. package/out/concepts/AuthInterface__.js.map +1 -1
  72. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  73. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  74. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  75. package/out/concepts/AuthLogic__.js +27 -13
  76. package/out/concepts/AuthLogic__.js.map +1 -1
  77. package/out/concepts/BackendVariable__.d.ts +5 -5
  78. package/out/concepts/BackendVariable__.js +23 -26
  79. package/out/concepts/BackendVariable__.js.map +1 -1
  80. package/out/concepts/Backend__.d.ts +18 -18
  81. package/out/concepts/Backend__.js +13 -13
  82. package/out/concepts/Backend__.js.map +1 -1
  83. package/out/concepts/BatchAssignment__.d.ts +34 -33
  84. package/out/concepts/BatchAssignment__.js +83 -43
  85. package/out/concepts/BatchAssignment__.js.map +1 -1
  86. package/out/concepts/BinaryExpression__.d.ts +7 -6
  87. package/out/concepts/BinaryExpression__.js +60 -24
  88. package/out/concepts/BinaryExpression__.js.map +1 -1
  89. package/out/concepts/BindAttribute__.d.ts +37 -37
  90. package/out/concepts/BindAttribute__.js +101 -48
  91. package/out/concepts/BindAttribute__.js.map +1 -1
  92. package/out/concepts/BindDirective__.d.ts +13 -13
  93. package/out/concepts/BindDirective__.js +23 -21
  94. package/out/concepts/BindDirective__.js.map +1 -1
  95. package/out/concepts/BindEvent__.d.ts +28 -28
  96. package/out/concepts/BindEvent__.js +99 -48
  97. package/out/concepts/BindEvent__.js.map +1 -1
  98. package/out/concepts/BindStyle__.d.ts +14 -15
  99. package/out/concepts/BindStyle__.js +16 -16
  100. package/out/concepts/BindStyle__.js.map +1 -1
  101. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  102. package/out/concepts/BooleanLiteral__.js +12 -5
  103. package/out/concepts/BooleanLiteral__.js.map +1 -1
  104. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  105. package/out/concepts/CallAuthInterface__.js +23 -22
  106. package/out/concepts/CallAuthInterface__.js.map +1 -1
  107. package/out/concepts/CallConnector__.d.ts +11 -9
  108. package/out/concepts/CallConnector__.js +79 -36
  109. package/out/concepts/CallConnector__.js.map +1 -1
  110. package/out/concepts/CallFunction__.d.ts +17 -16
  111. package/out/concepts/CallFunction__.js +95 -63
  112. package/out/concepts/CallFunction__.js.map +1 -1
  113. package/out/concepts/CallInterface__.d.ts +9 -8
  114. package/out/concepts/CallInterface__.js +71 -30
  115. package/out/concepts/CallInterface__.js.map +1 -1
  116. package/out/concepts/CallLogic__.d.ts +20 -19
  117. package/out/concepts/CallLogic__.js +155 -52
  118. package/out/concepts/CallLogic__.js.map +1 -1
  119. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  120. package/out/concepts/CallQueryComponent__.js +66 -63
  121. package/out/concepts/CallQueryComponent__.js.map +1 -1
  122. package/out/concepts/Comment__.d.ts +1 -0
  123. package/out/concepts/Comment__.js +13 -6
  124. package/out/concepts/Comment__.js.map +1 -1
  125. package/out/concepts/CompletionProperty__.d.ts +3 -3
  126. package/out/concepts/CompletionProperty__.js +8 -7
  127. package/out/concepts/CompletionProperty__.js.map +1 -1
  128. package/out/concepts/ConfigGroup__.d.ts +15 -15
  129. package/out/concepts/ConfigGroup__.js +9 -9
  130. package/out/concepts/ConfigGroup__.js.map +1 -1
  131. package/out/concepts/ConfigPropertyValue__.js +4 -3
  132. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  133. package/out/concepts/ConfigProperty__.d.ts +15 -15
  134. package/out/concepts/ConfigProperty__.js +10 -10
  135. package/out/concepts/ConfigProperty__.js.map +1 -1
  136. package/out/concepts/Configuration__.d.ts +15 -15
  137. package/out/concepts/Configuration__.js +9 -9
  138. package/out/concepts/Configuration__.js.map +1 -1
  139. package/out/concepts/Connection__.d.ts +166 -0
  140. package/out/concepts/Connection__.js +332 -0
  141. package/out/concepts/Connection__.js.map +1 -0
  142. package/out/concepts/ConnectorTrigger__.js +4 -3
  143. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  144. package/out/concepts/Connector__.d.ts +66 -66
  145. package/out/concepts/Connector__.js +16 -15
  146. package/out/concepts/Connector__.js.map +1 -1
  147. package/out/concepts/Constant__.d.ts +3 -3
  148. package/out/concepts/Constant__.js +8 -7
  149. package/out/concepts/Constant__.js.map +1 -1
  150. package/out/concepts/DataElement__.d.ts +3 -3
  151. package/out/concepts/DataElement__.js +6 -5
  152. package/out/concepts/DataElement__.js.map +1 -1
  153. package/out/concepts/DataSource__.d.ts +15 -15
  154. package/out/concepts/DataSource__.js +55 -39
  155. package/out/concepts/DataSource__.js.map +1 -1
  156. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  157. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  158. package/out/concepts/Destination__.d.ts +12 -11
  159. package/out/concepts/Destination__.js +93 -36
  160. package/out/concepts/Destination__.js.map +1 -1
  161. package/out/concepts/End__.js +15 -13
  162. package/out/concepts/End__.js.map +1 -1
  163. package/out/concepts/EntityIndex__.d.ts +1 -1
  164. package/out/concepts/EntityIndex__.js +6 -5
  165. package/out/concepts/EntityIndex__.js.map +1 -1
  166. package/out/concepts/EntityProperty__.d.ts +8 -7
  167. package/out/concepts/EntityProperty__.js +39 -24
  168. package/out/concepts/EntityProperty__.js.map +1 -1
  169. package/out/concepts/Entity__.d.ts +31 -30
  170. package/out/concepts/Entity__.js +40 -16
  171. package/out/concepts/Entity__.js.map +1 -1
  172. package/out/concepts/EnumItem__.d.ts +1 -0
  173. package/out/concepts/EnumItem__.js +12 -5
  174. package/out/concepts/EnumItem__.js.map +1 -1
  175. package/out/concepts/Enum__.d.ts +9 -8
  176. package/out/concepts/Enum__.js +24 -11
  177. package/out/concepts/Enum__.js.map +1 -1
  178. package/out/concepts/Event__.d.ts +15 -15
  179. package/out/concepts/Event__.js +6 -5
  180. package/out/concepts/Event__.js.map +1 -1
  181. package/out/concepts/ExternalDestination__.d.ts +6 -6
  182. package/out/concepts/ExternalDestination__.js +12 -11
  183. package/out/concepts/ExternalDestination__.js.map +1 -1
  184. package/out/concepts/ForEachStatement__.d.ts +25 -24
  185. package/out/concepts/ForEachStatement__.js +101 -36
  186. package/out/concepts/ForEachStatement__.js.map +1 -1
  187. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  188. package/out/concepts/FrontendLibrary__.js +12 -13
  189. package/out/concepts/FrontendLibrary__.js.map +1 -1
  190. package/out/concepts/FrontendVariable__.js +4 -3
  191. package/out/concepts/FrontendVariable__.js.map +1 -1
  192. package/out/concepts/Frontend__.d.ts +64 -65
  193. package/out/concepts/Frontend__.js +23 -27
  194. package/out/concepts/Frontend__.js.map +1 -1
  195. package/out/concepts/Function__.d.ts +64 -63
  196. package/out/concepts/Function__.js +49 -21
  197. package/out/concepts/Function__.js.map +1 -1
  198. package/out/concepts/Identifier__.js +37 -31
  199. package/out/concepts/Identifier__.js.map +1 -1
  200. package/out/concepts/IfStatement__.d.ts +20 -19
  201. package/out/concepts/IfStatement__.js +64 -34
  202. package/out/concepts/IfStatement__.js.map +1 -1
  203. package/out/concepts/Integration__.d.ts +3 -3
  204. package/out/concepts/Integration__.js +8 -7
  205. package/out/concepts/Integration__.js.map +1 -1
  206. package/out/concepts/InterfaceParam__.d.ts +3 -3
  207. package/out/concepts/InterfaceParam__.js +7 -6
  208. package/out/concepts/InterfaceParam__.js.map +1 -1
  209. package/out/concepts/Interface__.d.ts +33 -33
  210. package/out/concepts/Interface__.js +19 -20
  211. package/out/concepts/Interface__.js.map +1 -1
  212. package/out/concepts/JSBlock__.d.ts +1 -0
  213. package/out/concepts/JSBlock__.js +12 -5
  214. package/out/concepts/JSBlock__.js.map +1 -1
  215. package/out/concepts/JavaLogic__.js +10 -9
  216. package/out/concepts/JavaLogic__.js.map +1 -1
  217. package/out/concepts/LogicItem__.d.ts +6 -0
  218. package/out/concepts/LogicItem__.js +14 -5
  219. package/out/concepts/LogicItem__.js.map +1 -1
  220. package/out/concepts/Logic__.d.ts +80 -79
  221. package/out/concepts/Logic__.js +204 -58
  222. package/out/concepts/Logic__.js.map +1 -1
  223. package/out/concepts/MatchCase__.d.ts +39 -38
  224. package/out/concepts/MatchCase__.js +122 -37
  225. package/out/concepts/MatchCase__.js.map +1 -1
  226. package/out/concepts/Match__.d.ts +13 -11
  227. package/out/concepts/Match__.js +128 -60
  228. package/out/concepts/Match__.js.map +1 -1
  229. package/out/concepts/MemberExpression__.d.ts +7 -6
  230. package/out/concepts/MemberExpression__.js +52 -22
  231. package/out/concepts/MemberExpression__.js.map +1 -1
  232. package/out/concepts/MicroApp__.js +4 -3
  233. package/out/concepts/MicroApp__.js.map +1 -1
  234. package/out/concepts/Module__.d.ts +239 -155
  235. package/out/concepts/Module__.js +139 -33
  236. package/out/concepts/Module__.js.map +1 -1
  237. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  238. package/out/concepts/MsgTriggerEvent__.js +6 -5
  239. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  240. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  241. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  242. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  243. package/out/concepts/Namespace__.d.ts +180 -180
  244. package/out/concepts/Namespace__.js +33 -34
  245. package/out/concepts/Namespace__.js.map +1 -1
  246. package/out/concepts/NewComposite__.d.ts +49 -48
  247. package/out/concepts/NewComposite__.js +164 -49
  248. package/out/concepts/NewComposite__.js.map +1 -1
  249. package/out/concepts/NewList__.d.ts +19 -18
  250. package/out/concepts/NewList__.js +29 -12
  251. package/out/concepts/NewList__.js.map +1 -1
  252. package/out/concepts/NewMap__.d.ts +34 -33
  253. package/out/concepts/NewMap__.js +81 -72
  254. package/out/concepts/NewMap__.js.map +1 -1
  255. package/out/concepts/New__.js +6 -5
  256. package/out/concepts/New__.js.map +1 -1
  257. package/out/concepts/NullLiteral__.js +6 -5
  258. package/out/concepts/NullLiteral__.js.map +1 -1
  259. package/out/concepts/NumericLiteral__.d.ts +4 -3
  260. package/out/concepts/NumericLiteral__.js +15 -8
  261. package/out/concepts/NumericLiteral__.js.map +1 -1
  262. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  263. package/out/concepts/OqlQueryComponent__.js +25 -16
  264. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  266. package/out/concepts/OverriddenLogic__.js +79 -58
  267. package/out/concepts/OverriddenLogic__.js.map +1 -1
  268. package/out/concepts/Param__.d.ts +6 -5
  269. package/out/concepts/Param__.js +66 -29
  270. package/out/concepts/Param__.js.map +1 -1
  271. package/out/concepts/Point__.js +4 -3
  272. package/out/concepts/Point__.js.map +1 -1
  273. package/out/concepts/ProcessComponent__.d.ts +30 -30
  274. package/out/concepts/ProcessComponent__.js +8 -7
  275. package/out/concepts/ProcessComponent__.js.map +1 -1
  276. package/out/concepts/ProcessElement__.d.ts +96 -96
  277. package/out/concepts/ProcessElement__.js +34 -34
  278. package/out/concepts/ProcessElement__.js.map +1 -1
  279. package/out/concepts/ProcessOutcome__.js +6 -5
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.js +6 -5
  282. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  283. package/out/concepts/Process__.d.ts +75 -75
  284. package/out/concepts/Process__.js +33 -30
  285. package/out/concepts/Process__.js.map +1 -1
  286. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  287. package/out/concepts/QueryAggregateExpression__.js +8 -7
  288. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  289. package/out/concepts/QueryFieldExpression__.js +7 -6
  290. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  291. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  292. package/out/concepts/QueryFromExpression__.js +8 -7
  293. package/out/concepts/QueryFromExpression__.js.map +1 -1
  294. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  295. package/out/concepts/QueryGroupByExpression__.js +9 -10
  296. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  297. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  298. package/out/concepts/QueryJoinExpression__.js +11 -10
  299. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  300. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  301. package/out/concepts/QueryLimitExpression__.js +9 -8
  302. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  303. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  304. package/out/concepts/QueryOrderByExpression__.js +9 -8
  305. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  306. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  307. package/out/concepts/QuerySelectExpression__.js +9 -8
  308. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  309. package/out/concepts/Rect__.js +4 -3
  310. package/out/concepts/Rect__.js.map +1 -1
  311. package/out/concepts/Return__.d.ts +4 -3
  312. package/out/concepts/Return__.js +37 -18
  313. package/out/concepts/Return__.js.map +1 -1
  314. package/out/concepts/Role__.js +9 -9
  315. package/out/concepts/Role__.js.map +1 -1
  316. package/out/concepts/SelectMembers__.d.ts +18 -18
  317. package/out/concepts/SelectMembers__.js +10 -9
  318. package/out/concepts/SelectMembers__.js.map +1 -1
  319. package/out/concepts/Slot__.d.ts +3 -3
  320. package/out/concepts/Slot__.js +6 -5
  321. package/out/concepts/Slot__.js.map +1 -1
  322. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  323. package/out/concepts/SqlQueryComponent__.js +21 -12
  324. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  325. package/out/concepts/Start__.js +6 -5
  326. package/out/concepts/Start__.js.map +1 -1
  327. package/out/concepts/StringInterpolation__.d.ts +16 -15
  328. package/out/concepts/StringInterpolation__.js +37 -14
  329. package/out/concepts/StringInterpolation__.js.map +1 -1
  330. package/out/concepts/StringLiteral__.d.ts +1 -0
  331. package/out/concepts/StringLiteral__.js +13 -8
  332. package/out/concepts/StringLiteral__.js.map +1 -1
  333. package/out/concepts/StructureProperty__.d.ts +4 -3
  334. package/out/concepts/StructureProperty__.js +22 -9
  335. package/out/concepts/StructureProperty__.js.map +1 -1
  336. package/out/concepts/Structure__.d.ts +31 -30
  337. package/out/concepts/Structure__.js +27 -15
  338. package/out/concepts/Structure__.js.map +1 -1
  339. package/out/concepts/SwitchCase__.d.ts +12 -11
  340. package/out/concepts/SwitchCase__.js +69 -31
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/SwitchStatement__.d.ts +9 -8
  343. package/out/concepts/SwitchStatement__.js +27 -7
  344. package/out/concepts/SwitchStatement__.js.map +1 -1
  345. package/out/concepts/Theme__.js +4 -3
  346. package/out/concepts/Theme__.js.map +1 -1
  347. package/out/concepts/Transactional__.js +4 -3
  348. package/out/concepts/Transactional__.js.map +1 -1
  349. package/out/concepts/TriggerEvent__.d.ts +15 -15
  350. package/out/concepts/TriggerEvent__.js +6 -5
  351. package/out/concepts/TriggerEvent__.js.map +1 -1
  352. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  353. package/out/concepts/TriggerLauncher__.js +54 -32
  354. package/out/concepts/TriggerLauncher__.js.map +1 -1
  355. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  356. package/out/concepts/TypeAnnotation__.js +144 -124
  357. package/out/concepts/TypeAnnotation__.js.map +1 -1
  358. package/out/concepts/TypeParam__.d.ts +1 -0
  359. package/out/concepts/TypeParam__.js +12 -5
  360. package/out/concepts/TypeParam__.js.map +1 -1
  361. package/out/concepts/UnaryExpression__.d.ts +4 -3
  362. package/out/concepts/UnaryExpression__.js +31 -20
  363. package/out/concepts/UnaryExpression__.js.map +1 -1
  364. package/out/concepts/Unparsed__.d.ts +1 -0
  365. package/out/concepts/Unparsed__.js +12 -5
  366. package/out/concepts/Unparsed__.js.map +1 -1
  367. package/out/concepts/UseComponent__.js +4 -3
  368. package/out/concepts/UseComponent__.js.map +1 -1
  369. package/out/concepts/ValidationRule__.d.ts +14 -14
  370. package/out/concepts/ValidationRule__.js +19 -17
  371. package/out/concepts/ValidationRule__.js.map +1 -1
  372. package/out/concepts/Variable__.d.ts +4 -3
  373. package/out/concepts/Variable__.js +39 -23
  374. package/out/concepts/Variable__.js.map +1 -1
  375. package/out/concepts/ViewBlock__.js +4 -3
  376. package/out/concepts/ViewBlock__.js.map +1 -1
  377. package/out/concepts/ViewComponent__.d.ts +90 -90
  378. package/out/concepts/ViewComponent__.js +16 -15
  379. package/out/concepts/ViewComponent__.js.map +1 -1
  380. package/out/concepts/ViewElement__.d.ts +91 -86
  381. package/out/concepts/ViewElement__.js +218 -146
  382. package/out/concepts/ViewElement__.js.map +1 -1
  383. package/out/concepts/View__.d.ts +92 -92
  384. package/out/concepts/View__.js +135 -60
  385. package/out/concepts/View__.js.map +1 -1
  386. package/out/concepts/WhileStatement__.d.ts +12 -11
  387. package/out/concepts/WhileStatement__.js +46 -23
  388. package/out/concepts/WhileStatement__.js.map +1 -1
  389. package/out/concepts/index__.d.ts +2 -1
  390. package/out/concepts/index__.js +2 -1
  391. package/out/concepts/index__.js.map +1 -1
  392. package/out/concepts/types__.d.ts +2 -1
  393. package/out/decorators/index.d.ts +1 -1
  394. package/out/decorators/index.js +20 -7
  395. package/out/decorators/index.js.map +1 -1
  396. package/out/decorators/promise.d.ts +7 -0
  397. package/out/decorators/promise.js +28 -0
  398. package/out/decorators/promise.js.map +1 -0
  399. package/out/enums/KEYWORDS.js.map +1 -1
  400. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  401. package/out/generator/compileComponent.js.map +1 -1
  402. package/out/generator/genBundleFiles.d.ts +4 -1
  403. package/out/generator/genBundleFiles.js +15 -11
  404. package/out/generator/genBundleFiles.js.map +1 -1
  405. package/out/generator/genHash.js.map +1 -1
  406. package/out/generator/genMetaData.js +12 -8
  407. package/out/generator/genMetaData.js.map +1 -1
  408. package/out/generator/genReleaseBody.js +33 -35
  409. package/out/generator/genReleaseBody.js.map +1 -1
  410. package/out/generator/microApp.js +2 -1
  411. package/out/generator/microApp.js.map +1 -1
  412. package/out/generator/permission.js +16 -14
  413. package/out/generator/permission.js.map +1 -1
  414. package/out/generator/styleReplacer.js +4 -7
  415. package/out/generator/styleReplacer.js.map +1 -1
  416. package/out/index.d.ts +0 -2
  417. package/out/index.js +0 -3
  418. package/out/index.js.map +1 -1
  419. package/out/manager/diagnostic.d.ts +1 -1
  420. package/out/manager/diagnostic.js.map +1 -1
  421. package/out/manager/stepRecorder.js +13 -9
  422. package/out/manager/stepRecorder.js.map +1 -1
  423. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  424. package/out/natural/RequirementAnalyzer.js +196 -0
  425. package/out/natural/RequirementAnalyzer.js.map +1 -0
  426. package/out/natural/RequirementExecutor.d.ts +51 -0
  427. package/out/natural/RequirementExecutor.js +692 -0
  428. package/out/natural/RequirementExecutor.js.map +1 -0
  429. package/out/natural/componentData.d.ts +31 -0
  430. package/out/natural/componentData.js +85 -0
  431. package/out/natural/componentData.js.map +1 -0
  432. package/out/natural/genNaturalTS.d.ts +3 -0
  433. package/out/natural/genNaturalTS.js +76 -0
  434. package/out/natural/genNaturalTS.js.map +1 -0
  435. package/out/natural/index.d.ts +4 -0
  436. package/out/natural/index.js +21 -0
  437. package/out/natural/index.js.map +1 -0
  438. package/out/natural/knowledgeMap.d.ts +4 -0
  439. package/out/natural/knowledgeMap.js +40 -0
  440. package/out/natural/knowledgeMap.js.map +1 -0
  441. package/out/natural/naslStdlibMap.d.ts +2 -0
  442. package/out/natural/naslStdlibMap.js +26 -0
  443. package/out/natural/naslStdlibMap.js.map +1 -0
  444. package/out/natural/transformTSCode.d.ts +7 -0
  445. package/out/natural/transformTSCode.js +760 -0
  446. package/out/natural/transformTSCode.js.map +1 -0
  447. package/out/sentry/index.d.ts +2 -1
  448. package/out/sentry/index.js.map +1 -1
  449. package/out/server/createUiTs.js +28 -16
  450. package/out/server/createUiTs.js.map +1 -1
  451. package/out/server/entity2LogicNamespace.js +24 -22
  452. package/out/server/entity2LogicNamespace.js.map +1 -1
  453. package/out/server/event.js.map +1 -1
  454. package/out/server/extendBaseNode.js +55 -70
  455. package/out/server/extendBaseNode.js.map +1 -1
  456. package/out/server/formatTsUtils.js +46 -50
  457. package/out/server/formatTsUtils.js.map +1 -1
  458. package/out/server/getConnector.d.ts +3 -3
  459. package/out/server/getConnector.js +7 -8
  460. package/out/server/getConnector.js.map +1 -1
  461. package/out/server/getExtensionModules.js +2 -2
  462. package/out/server/getExtensionModules.js.map +1 -1
  463. package/out/server/getFunctions.js.map +1 -1
  464. package/out/server/getInterfaces.js.map +1 -1
  465. package/out/server/getLogging.js.map +1 -1
  466. package/out/server/getLogics.d.ts +1 -1
  467. package/out/server/getLogics.js +34 -16
  468. package/out/server/getLogics.js.map +1 -1
  469. package/out/server/getMemberIdentifier.js +13 -10
  470. package/out/server/getMemberIdentifier.js.map +1 -1
  471. package/out/server/getProcessComponents.js.map +1 -1
  472. package/out/server/getProcesses.js +21 -29
  473. package/out/server/getProcesses.js.map +1 -1
  474. package/out/server/getScope.js.map +1 -1
  475. package/out/server/getValidates.js.map +1 -1
  476. package/out/server/index.js +0 -1
  477. package/out/server/index.js.map +1 -1
  478. package/out/server/naslServer.d.ts +99 -94
  479. package/out/server/naslServer.js +485 -465
  480. package/out/server/naslServer.js.map +1 -1
  481. package/out/server/naslStdlibMap.js +4 -2
  482. package/out/server/naslStdlibMap.js.map +1 -1
  483. package/out/server/process2LogicNamespace.js.map +1 -1
  484. package/out/server/translator.d.ts +1 -1
  485. package/out/server/translator.js +52 -47
  486. package/out/server/translator.js.map +1 -1
  487. package/out/service/storage/init.d.ts +15 -1
  488. package/out/service/storage/init.js +65 -56
  489. package/out/service/storage/init.js.map +1 -1
  490. package/out/templator/genCallComponentLogic.js +1 -2
  491. package/out/templator/genCallComponentLogic.js.map +1 -1
  492. package/out/templator/genCreateBlock.js +13 -8
  493. package/out/templator/genCreateBlock.js.map +1 -1
  494. package/out/templator/genCurdEditMultipleKeyBlock.js +19 -10
  495. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  496. package/out/templator/genCurdMultipleKeyBlock.js +22 -26
  497. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  498. package/out/templator/genEditTableBlock.js +11 -12
  499. package/out/templator/genEditTableBlock.js.map +1 -1
  500. package/out/templator/genEnumSelectBlock.js +1 -1
  501. package/out/templator/genEnumSelectBlock.js.map +1 -1
  502. package/out/templator/genGetBlock.js +2 -2
  503. package/out/templator/genGetBlock.js.map +1 -1
  504. package/out/templator/genGridViewBlock.js +10 -14
  505. package/out/templator/genGridViewBlock.js.map +1 -1
  506. package/out/templator/genListViewBlock.js +4 -7
  507. package/out/templator/genListViewBlock.js.map +1 -1
  508. package/out/templator/genQueryComponent.js +22 -15
  509. package/out/templator/genQueryComponent.js.map +1 -1
  510. package/out/templator/genSelectBlock.js +12 -33
  511. package/out/templator/genSelectBlock.js.map +1 -1
  512. package/out/templator/genTableBlock.js +8 -10
  513. package/out/templator/genTableBlock.js.map +1 -1
  514. package/out/templator/genUpdateBlock.js +12 -7
  515. package/out/templator/genUpdateBlock.js.map +1 -1
  516. package/out/templator/index.d.ts +4 -2
  517. package/out/templator/index.js +2 -2
  518. package/out/templator/index.js.map +1 -1
  519. package/out/templator/utils.d.ts +2 -2
  520. package/out/templator/utils.js +21 -22
  521. package/out/templator/utils.js.map +1 -1
  522. package/out/translator/index.js +27 -28
  523. package/out/translator/index.js.map +1 -1
  524. package/out/utils/index.d.ts +2 -1
  525. package/out/utils/index.js +8 -14
  526. package/out/utils/index.js.map +1 -1
  527. package/out/utils/logger.js.map +1 -1
  528. package/out/utils/sortTsString.js +3 -1
  529. package/out/utils/sortTsString.js.map +1 -1
  530. package/out/utils/string.js +8 -11
  531. package/out/utils/string.js.map +1 -1
  532. package/out/utils/time-slicing.d.ts +41 -0
  533. package/out/utils/time-slicing.js +81 -0
  534. package/out/utils/time-slicing.js.map +1 -0
  535. package/out/utils/traverse.js +4 -6
  536. package/out/utils/traverse.js.map +1 -1
  537. package/package.json +11 -7
  538. package/sandbox/stdlib/nasl.auth.ts +49 -46
  539. package/sandbox/stdlib/nasl.http.ts +29 -31
  540. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  541. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  542. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  543. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  544. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  545. package/sandbox-natural/tsconfig.json +12 -0
  546. package/src/automate/upgrader/2.20.js +1 -1
  547. package/src/bak/translator.js +92 -99
  548. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  549. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  550. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  551. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  552. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  553. package/src/breakpoint/generator/index.ts +107 -80
  554. package/src/breakpoint/shared/constants.ts +59 -53
  555. package/src/breakpoint/shared/operations.ts +6 -6
  556. package/src/breakpoint/shared/socket.ts +277 -223
  557. package/src/breakpoint/shared/utils.ts +166 -146
  558. package/src/breakpoint/store/core.ts +326 -297
  559. package/src/breakpoint/store/dock.ts +103 -103
  560. package/src/breakpoint/types/index.d.ts +11 -11
  561. package/src/common/BaseNode.ts +1102 -1024
  562. package/src/common/Command.ts +46 -16
  563. package/src/common/ComponentAPI.ts +72 -72
  564. package/src/common/EventEmitter.ts +80 -76
  565. package/src/common/Messager.ts +223 -224
  566. package/src/common/asyncFuncMap.ts +12 -12
  567. package/src/concepts/Abort__.ts +53 -60
  568. package/src/concepts/Anchor__.ts +158 -149
  569. package/src/concepts/AnonymousFunction__.ts +584 -551
  570. package/src/concepts/App__.ts +4278 -3671
  571. package/src/concepts/Argument__.ts +234 -210
  572. package/src/concepts/Assignee__.ts +680 -656
  573. package/src/concepts/AssignmentLine__.ts +80 -84
  574. package/src/concepts/Assignment__.ts +275 -264
  575. package/src/concepts/Attribute__.ts +183 -184
  576. package/src/concepts/AuthInterface__.ts +61 -63
  577. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  578. package/src/concepts/AuthLogic__.ts +210 -194
  579. package/src/concepts/BackendVariable__.ts +414 -415
  580. package/src/concepts/Backend__.ts +317 -303
  581. package/src/concepts/BatchAssignment__.ts +987 -939
  582. package/src/concepts/BinaryExpression__.ts +370 -341
  583. package/src/concepts/BindAttribute__.ts +1057 -1007
  584. package/src/concepts/BindDirective__.ts +540 -542
  585. package/src/concepts/BindEvent__.ts +992 -911
  586. package/src/concepts/BindStyle__.ts +442 -451
  587. package/src/concepts/BooleanLiteral__.ts +89 -90
  588. package/src/concepts/CallAuthInterface__.ts +458 -433
  589. package/src/concepts/CallConnector__.ts +209 -164
  590. package/src/concepts/CallFunction__.ts +600 -600
  591. package/src/concepts/CallInterface__.ts +752 -721
  592. package/src/concepts/CallLogic__.ts +1324 -1200
  593. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  594. package/src/concepts/Comment__.ts +69 -68
  595. package/src/concepts/CompletionProperty__.ts +250 -255
  596. package/src/concepts/ConfigGroup__.ts +312 -296
  597. package/src/concepts/ConfigPropertyValue__.ts +92 -93
  598. package/src/concepts/ConfigProperty__.ts +374 -357
  599. package/src/concepts/Configuration__.ts +288 -276
  600. package/src/concepts/Connection__.ts +426 -0
  601. package/src/concepts/ConnectorTrigger__.ts +146 -142
  602. package/src/concepts/Connector__.ts +1090 -1048
  603. package/src/concepts/Constant__.ts +226 -219
  604. package/src/concepts/DataElement__.ts +108 -115
  605. package/src/concepts/DataSource__.ts +508 -472
  606. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  607. package/src/concepts/Destination__.ts +808 -746
  608. package/src/concepts/End__.ts +85 -89
  609. package/src/concepts/EntityIndex__.ts +206 -202
  610. package/src/concepts/EntityProperty__.ts +825 -791
  611. package/src/concepts/Entity__.ts +921 -864
  612. package/src/concepts/EnumItem__.ts +133 -125
  613. package/src/concepts/Enum__.ts +347 -337
  614. package/src/concepts/Event__.ts +305 -292
  615. package/src/concepts/ExternalDestination__.ts +269 -280
  616. package/src/concepts/ForEachStatement__.ts +583 -531
  617. package/src/concepts/FrontendLibrary__.ts +507 -485
  618. package/src/concepts/FrontendVariable__.ts +44 -49
  619. package/src/concepts/Frontend__.ts +1239 -1187
  620. package/src/concepts/Function__.ts +1110 -1045
  621. package/src/concepts/Identifier__.ts +276 -272
  622. package/src/concepts/IfStatement__.ts +467 -436
  623. package/src/concepts/Integration__.ts +136 -137
  624. package/src/concepts/InterfaceParam__.ts +239 -238
  625. package/src/concepts/Interface__.ts +969 -948
  626. package/src/concepts/JSBlock__.ts +83 -83
  627. package/src/concepts/JavaLogic__.ts +101 -106
  628. package/src/concepts/LogicItem__.ts +307 -237
  629. package/src/concepts/Logic__.ts +2301 -2088
  630. package/src/concepts/MatchCase__.ts +886 -779
  631. package/src/concepts/Match__.ts +728 -659
  632. package/src/concepts/MemberExpression__.ts +330 -311
  633. package/src/concepts/MicroApp__.ts +91 -97
  634. package/src/concepts/Module__.ts +2590 -2278
  635. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  636. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  637. package/src/concepts/Namespace__.ts +2579 -2466
  638. package/src/concepts/NewComposite__.ts +1487 -1350
  639. package/src/concepts/NewList__.ts +464 -450
  640. package/src/concepts/NewMap__.ts +691 -674
  641. package/src/concepts/New__.ts +42 -49
  642. package/src/concepts/NullLiteral__.ts +66 -72
  643. package/src/concepts/NumericLiteral__.ts +169 -169
  644. package/src/concepts/OqlQueryComponent__.ts +282 -279
  645. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  646. package/src/concepts/Param__.ts +500 -442
  647. package/src/concepts/Point__.ts +53 -59
  648. package/src/concepts/ProcessComponent__.ts +497 -475
  649. package/src/concepts/ProcessElement__.ts +1852 -1780
  650. package/src/concepts/ProcessOutcome__.ts +59 -64
  651. package/src/concepts/ProcessOutcomes__.ts +59 -64
  652. package/src/concepts/Process__.ts +1491 -1428
  653. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  654. package/src/concepts/QueryFieldExpression__.ts +138 -142
  655. package/src/concepts/QueryFromExpression__.ts +246 -254
  656. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  657. package/src/concepts/QueryJoinExpression__.ts +441 -438
  658. package/src/concepts/QueryLimitExpression__.ts +159 -166
  659. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  660. package/src/concepts/QuerySelectExpression__.ts +464 -439
  661. package/src/concepts/Rect__.ts +73 -79
  662. package/src/concepts/Return__.ts +366 -345
  663. package/src/concepts/Role__.ts +146 -147
  664. package/src/concepts/SelectMembers__.ts +358 -350
  665. package/src/concepts/Slot__.ts +152 -153
  666. package/src/concepts/SqlQueryComponent__.ts +230 -228
  667. package/src/concepts/Start__.ts +45 -52
  668. package/src/concepts/StringInterpolation__.ts +323 -296
  669. package/src/concepts/StringLiteral__.ts +113 -115
  670. package/src/concepts/StructureProperty__.ts +306 -295
  671. package/src/concepts/Structure__.ts +615 -578
  672. package/src/concepts/SwitchCase__.ts +326 -290
  673. package/src/concepts/SwitchStatement__.ts +236 -229
  674. package/src/concepts/Theme__.ts +64 -68
  675. package/src/concepts/Transactional__.ts +159 -153
  676. package/src/concepts/TriggerEvent__.ts +285 -274
  677. package/src/concepts/TriggerLauncher__.ts +232 -196
  678. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  679. package/src/concepts/TypeParam__.ts +48 -50
  680. package/src/concepts/UnaryExpression__.ts +163 -153
  681. package/src/concepts/Unparsed__.ts +81 -82
  682. package/src/concepts/UseComponent__.ts +53 -59
  683. package/src/concepts/ValidationRule__.ts +524 -544
  684. package/src/concepts/Variable__.ts +419 -397
  685. package/src/concepts/ViewBlock__.ts +58 -64
  686. package/src/concepts/ViewComponent__.ts +1323 -1261
  687. package/src/concepts/ViewElement__.ts +2538 -2350
  688. package/src/concepts/View__.ts +2447 -2268
  689. package/src/concepts/WhileStatement__.ts +293 -272
  690. package/src/concepts/index__.ts +2 -1
  691. package/src/concepts/types__.ts +123 -121
  692. package/src/decorators/index.ts +75 -77
  693. package/src/decorators/promise.ts +28 -0
  694. package/src/enums/KEYWORDS.ts +1228 -1228
  695. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  696. package/src/generator/compileComponent.ts +10 -10
  697. package/src/generator/genBundleFiles.ts +300 -291
  698. package/src/generator/genHash.ts +2 -2
  699. package/src/generator/genMetaData.ts +280 -261
  700. package/src/generator/genReleaseBody.ts +312 -291
  701. package/src/generator/icestark.ts +1 -1
  702. package/src/generator/microApp.ts +17 -20
  703. package/src/generator/permission.ts +227 -218
  704. package/src/generator/qiankun.ts +1 -1
  705. package/src/generator/styleReplacer.ts +28 -31
  706. package/src/index.ts +0 -3
  707. package/src/manager/diagnostic.ts +84 -82
  708. package/src/manager/stepRecorder.ts +106 -94
  709. package/src/natural/RequirementAnalyzer.ts +208 -0
  710. package/src/natural/RequirementExecutor.ts +685 -0
  711. package/src/natural/componentData.ts +81 -0
  712. package/src/natural/genNaturalTS.ts +77 -0
  713. package/src/natural/index.ts +4 -0
  714. package/src/natural/knowledgeMap.ts +39 -0
  715. package/src/natural/naslStdlibMap.ts +24 -0
  716. package/src/natural/transformTSCode.ts +692 -0
  717. package/src/sentry/index.ts +109 -104
  718. package/src/server/createUiTs.ts +190 -184
  719. package/src/server/entity2LogicNamespace.ts +379 -359
  720. package/src/server/event.js +145 -145
  721. package/src/server/extendBaseNode.ts +461 -456
  722. package/src/server/formatTsUtils.ts +712 -713
  723. package/src/server/getConnector.ts +33 -33
  724. package/src/server/getExtensionModules.ts +23 -22
  725. package/src/server/getFunctions.ts +6 -6
  726. package/src/server/getInterfaces.ts +38 -37
  727. package/src/server/getLogging.ts +1 -1
  728. package/src/server/getLogics.ts +390 -344
  729. package/src/server/getMemberIdentifier.ts +286 -281
  730. package/src/server/getProcessComponents.ts +2 -2
  731. package/src/server/getProcesses.ts +548 -534
  732. package/src/server/getScope.ts +51 -51
  733. package/src/server/getValidates.ts +3 -3
  734. package/src/server/index.ts +29 -30
  735. package/src/server/naslServer.ts +4302 -4225
  736. package/src/server/naslStdlibMap.ts +43 -41
  737. package/src/server/process2LogicNamespace.ts +97 -97
  738. package/src/server/translator.ts +740 -746
  739. package/src/service/storage/init.ts +761 -728
  740. package/src/templator/genCallComponentLogic.ts +14 -15
  741. package/src/templator/genCreateBlock.ts +257 -229
  742. package/src/templator/genCurdEditMultipleKeyBlock.ts +332 -316
  743. package/src/templator/genCurdMultipleKeyBlock.ts +501 -473
  744. package/src/templator/genEditTableBlock.ts +192 -182
  745. package/src/templator/genEnumSelectBlock.ts +13 -7
  746. package/src/templator/genGetBlock.ts +57 -55
  747. package/src/templator/genGridViewBlock.ts +191 -201
  748. package/src/templator/genListViewBlock.ts +59 -64
  749. package/src/templator/genQueryComponent.ts +337 -287
  750. package/src/templator/genSelectBlock.ts +276 -285
  751. package/src/templator/genTableBlock.ts +157 -160
  752. package/src/templator/genUpdateBlock.ts +269 -255
  753. package/src/templator/index.ts +4 -4
  754. package/src/templator/utils.ts +490 -464
  755. package/src/translator/index.ts +84 -84
  756. package/src/translator/lsp.ts +22 -22
  757. package/src/translator/tsp.ts +6 -6
  758. package/src/utils/index.ts +115 -117
  759. package/src/utils/logger.ts +3 -4
  760. package/src/utils/sortTsString.ts +34 -32
  761. package/src/utils/string.ts +47 -48
  762. package/src/utils/time-slicing.ts +109 -0
  763. package/src/utils/traverse.ts +114 -126
  764. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  765. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  766. package/test/concepts/match/constant.ts +5 -0
  767. package/test/concepts/match/fixtures/isExpression.json +259 -0
  768. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  769. package/test/concepts/match/fixtures/noExpression.json +176 -0
  770. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  771. package/test/concepts/match/toJS.spec.ts +14 -0
  772. package/test/setup.ts +2 -1
  773. package/ts-worker/src/index.js +0 -2
  774. package/tsconfig.json +21 -21
@@ -7,96 +7,100 @@ import * as utils from '../utils';
7
7
  import { App, Module, Namespace, Entity, View, Enum, DataSource, ViewElement, EntityProperty } from '../concepts';
8
8
  import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode } from './utils';
9
9
  import {
10
- filterProperty,
11
- NameGroup,
12
- genUniqueQueryNameGroup,
13
- getFirstDisplayedProperty,
14
- genCallComponentLogic,
15
- genQueryLogic,
16
- genEditTableTemplate,
17
- genEditTableLoadLogic,
18
- genTableRemoveLogic,
19
- genEnumSelectBlock,
20
- genLoadSelectLogic,
21
- genBlurUpdateLogic,
22
- genEditQueryStructure,
23
- genLogicParam,
24
- genReloadLogic,
25
- genSubmitLogic,
10
+ filterProperty,
11
+ NameGroup,
12
+ genUniqueQueryNameGroup,
13
+ getFirstDisplayedProperty,
14
+ genCallComponentLogic,
15
+ genQueryLogic,
16
+ genEditTableTemplate,
17
+ genEditTableLoadLogic,
18
+ genTableRemoveLogic,
19
+ genEnumSelectBlock,
20
+ genLoadSelectLogic,
21
+ genBlurUpdateLogic,
22
+ genEditQueryStructure,
23
+ genLogicParam,
24
+ genReloadLogic,
25
+ genSubmitLogic,
26
26
  } from '.';
27
27
 
28
28
  function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>) {
29
- const dataSource = entity.parentNode as DataSource;
30
- const properties = entity.properties.filter(filterProperty('inFilter'));
29
+ const dataSource = entity.parentNode as DataSource;
30
+ const properties = entity.properties.filter(filterProperty('inFilter'));
31
31
 
32
- return `
32
+ return `
33
33
  <u-linear-layout justify="space-between">
34
34
  <u-form layout="inline">
35
35
  ${properties
36
- .map((property) => {
37
- const vModel = `${nameGroup.viewVariableFilter}.${property.name}`;
38
- const label = property.label || property.name;
39
- let formItem = `<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;
36
+ .map((property) => {
37
+ const vModel = `${nameGroup.viewVariableFilter}.${property.name}`;
38
+ const label = property.label || property.name;
39
+ let formItem = `<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;
40
40
 
41
- const { typeAnnotation } = property || {};
42
- const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
43
- const propertyTypeMaxLength:number = Number(property.rules.find((item) => item.indexOf('max') > -1)?.split('(')[1].slice(0, -1)) || 0;
44
- if (property.relationEntity) {
45
- // 有外键关联
46
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
47
- if (relationEntity) {
48
- const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
49
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
50
- if (displayedProperty) {
51
- const lowerEntityName = utils.firstLowerCase(relationEntity.name);
52
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
53
- const key = [property.name, relationEntity.name].join('-');
54
- const selectNameGroup = selectNameGroupMap.get(key);
55
- formItem += `
41
+ const { typeAnnotation } = property || {};
42
+ const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
43
+ const propertyTypeMaxLength: number =
44
+ Number(
45
+ property.rules
46
+ .find((item) => item.indexOf('max') > -1)
47
+ ?.split('(')[1]
48
+ .slice(0, -1)
49
+ ) || 0;
50
+ if (property.relationEntity) {
51
+ // 有外键关联
52
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
53
+ if (relationEntity) {
54
+ const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
55
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
56
+ if (displayedProperty) {
57
+ const lowerEntityName = utils.firstLowerCase(relationEntity.name);
58
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
59
+ const key = [property.name, relationEntity.name].join('-');
60
+ const selectNameGroup = selectNameGroupMap.get(key);
61
+ formItem += `
56
62
  <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroup.viewLogicLoad}"
57
63
  text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pageable="true" :remote-paging="true" v-model="${vModel}">
58
64
  </u-select>
59
65
  `;
60
- } else
61
- return '';
62
- } else
63
- return '';
64
- } else if (propertyTypeName === 'Boolean') {
65
- formItem += `
66
+ } else return '';
67
+ } else return '';
68
+ } else if (propertyTypeName === 'Boolean') {
69
+ formItem += `
66
70
  <u-select clearable v-model="${vModel}" placeholder="请输入${label}">
67
71
  <u-select-item :value="true" text="是"><u-text text="是"></u-text></u-select-item>
68
72
  <u-select-item :value="false" text="否"><u-text text="否"></u-text></u-select-item>
69
73
  </u-select>
70
74
  `;
71
- } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
72
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
73
- } else if (propertyTypeName === 'Double') {
74
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
75
- } else if (propertyTypeName === 'Decimal') {
76
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
77
- } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
78
- formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
79
- } else if (propertyTypeName === 'Date') {
80
- formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;
81
- } else if (propertyTypeName === 'Time') {
82
- formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;
83
- } else if (propertyTypeName === 'DateTime') {
84
- formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;
85
- } else {
86
- const namespaceArr = propertyTypeNamespace.split('.');
87
- const type = namespaceArr.pop();
88
- if (type === 'enums') {
89
- const Enum = dataSource.app.findNodeByCompleteName(propertyTypeNamespace + '.' + propertyTypeName) as Enum;
90
- formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
91
- } else {
92
- formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;
93
- }
94
- }
75
+ } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
76
+ formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
77
+ } else if (propertyTypeName === 'Double') {
78
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
79
+ } else if (propertyTypeName === 'Decimal') {
80
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
81
+ } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
82
+ formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
83
+ } else if (propertyTypeName === 'Date') {
84
+ formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;
85
+ } else if (propertyTypeName === 'Time') {
86
+ formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;
87
+ } else if (propertyTypeName === 'DateTime') {
88
+ formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;
89
+ } else {
90
+ const namespaceArr = propertyTypeNamespace.split('.');
91
+ const type = namespaceArr.pop();
92
+ if (type === 'enums') {
93
+ const Enum = dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;
94
+ formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
95
+ } else {
96
+ formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;
97
+ }
98
+ }
95
99
 
96
- formItem += `</u-form-item>`;
97
- return formItem;
98
- })
99
- .join('')}
100
+ formItem += `</u-form-item>`;
101
+ return formItem;
102
+ })
103
+ .join('')}
100
104
 
101
105
  <u-form-item layout="center" label-size="auto">
102
106
  <u-button color="primary" @click="${nameGroup.viewLogicReload}">查 询</u-button>
@@ -109,10 +113,10 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
109
113
  }
110
114
 
111
115
  function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>) {
112
- const dataSource = entity.parentNode as DataSource;
113
- const properties = entity.properties.filter(filterProperty('inForm'));
116
+ const dataSource = entity.parentNode as DataSource;
117
+ const properties = entity.properties.filter(filterProperty('inForm'));
114
118
 
115
- return `
119
+ return `
116
120
  <u-modal ref="${nameGroup.viewElementSaveModal}">
117
121
  <template #title>
118
122
  <div>创建</div>
@@ -120,83 +124,86 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
120
124
  <template #body>
121
125
  <u-form ref="${nameGroup.viewElementSaveModalForm}">
122
126
  ${properties
123
- .map((property) => {
124
- const vModel = `${nameGroup.viewVariableInput}.${property.name}`;
125
- const label = property.label || property.name;
126
- const required = !!property.required;
127
- const rules = [];
128
- if (property.rules && property.rules.length) {
129
- property.rules.forEach((rule) => rules.push(rule));
130
- }
131
- if (required)
132
- rules.push('required');
133
- const rulesStr = rules.join(' | ');
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(' | ');
134
137
 
135
- let formItem = `<u-form-item
138
+ let formItem = `<u-form-item
136
139
  ${required ? 'required' : ''}
137
140
  ${rulesStr.length ? `rules="${rulesStr}"` : ''}
138
141
  layout="center"
139
142
  ><template #label><u-text text="${label}"></u-text></template>`;
140
143
 
141
- const { typeAnnotation } = property || {};
142
- const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
143
- const propertyTypeMaxLength:number = Number(property.rules.find((item) => item.indexOf('max') > -1)?.split('(')[1].slice(0, -1)) || 0;
144
- if (property.relationEntity) {
145
- // 有外键关联
146
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
147
- if (relationEntity) {
148
- const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
149
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
150
- if (displayedProperty) {
151
- const lowerEntityName = utils.firstLowerCase(relationEntity.name);
152
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
153
- const key = [property.name, relationEntity.name].join('-');
154
- const selectNameGroup = selectNameGroupMap.get(key);
155
- formItem += `
144
+ const { typeAnnotation } = property || {};
145
+ const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
146
+ const propertyTypeMaxLength: number =
147
+ Number(
148
+ property.rules
149
+ .find((item) => item.indexOf('max') > -1)
150
+ ?.split('(')[1]
151
+ .slice(0, -1)
152
+ ) || 0;
153
+ if (property.relationEntity) {
154
+ // 有外键关联
155
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
156
+ if (relationEntity) {
157
+ const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
158
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
159
+ if (displayedProperty) {
160
+ const lowerEntityName = utils.firstLowerCase(relationEntity.name);
161
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
162
+ const key = [property.name, relationEntity.name].join('-');
163
+ const selectNameGroup = selectNameGroupMap.get(key);
164
+ formItem += `
156
165
  <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroup.load}"
157
166
  text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pageable="true" :remote-paging="true" v-model="${vModel}">
158
167
  </u-select>
159
168
  `;
160
- } else
161
- return '';
162
- } else
163
- return '';
164
- } else if (propertyTypeName === 'Boolean') {
165
- formItem += `
169
+ } else return '';
170
+ } else return '';
171
+ } else if (propertyTypeName === 'Boolean') {
172
+ formItem += `
166
173
  <u-select clearable v-model="${vModel}" placeholder="请输入${label}">
167
174
  <u-select-item :value="true" text="是">是</u-select-item>
168
175
  <u-select-item :value="false" text="否">否</u-select-item>
169
176
  </u-select>`;
170
- } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
171
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
172
- } else if (propertyTypeName === 'Double') {
173
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
174
- } else if (propertyTypeName === 'Decimal') {
175
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
176
- } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
177
- formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
178
- } else if (propertyTypeName === 'Date') {
179
- formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;
180
- } else if (propertyTypeName === 'Time') {
181
- formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;
182
- } else if (propertyTypeName === 'DateTime') {
183
- formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;
184
- } else {
185
- const namespaceArr = propertyTypeNamespace.split('.');
186
- const type = namespaceArr.pop();
187
- if (type === 'enums') {
188
- const Enum = dataSource.app.findNodeByCompleteName(propertyTypeNamespace + '.' + propertyTypeName) as Enum;
189
- formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
190
- } else {
191
- formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;
192
- }
193
- }
177
+ } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
178
+ formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
179
+ } else if (propertyTypeName === 'Double') {
180
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
181
+ } else if (propertyTypeName === 'Decimal') {
182
+ formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
183
+ } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
184
+ formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
185
+ } else if (propertyTypeName === 'Date') {
186
+ formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;
187
+ } else if (propertyTypeName === 'Time') {
188
+ formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;
189
+ } else if (propertyTypeName === 'DateTime') {
190
+ formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;
191
+ } else {
192
+ const namespaceArr = propertyTypeNamespace.split('.');
193
+ const type = namespaceArr.pop();
194
+ if (type === 'enums') {
195
+ const Enum = dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;
196
+ formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);
197
+ } else {
198
+ formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;
199
+ }
200
+ }
194
201
 
195
- formItem += `</u-form-item>\n`;
202
+ formItem += `</u-form-item>\n`;
196
203
 
197
- return formItem;
198
- })
199
- .join('')}
204
+ return formItem;
205
+ })
206
+ .join('')}
200
207
  </u-form>
201
208
  </template>
202
209
  <template #foot>
@@ -208,114 +215,114 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
208
215
  }
209
216
 
210
217
  function genInitLogic(nameGroup: NameGroup) {
211
- return NaslNode.Logic({
212
- name: nameGroup.viewLogicInit,
213
- description: '',
214
- params: [] as Array<any>,
215
- returns: [] as Array<any>,
216
- variables: [] as Array<any>,
217
- body: [
218
- NaslLogicItem.Start,
219
- NaslLogicItem.CallFunction({
220
- calleeName: 'Clear',
221
- arguments: [
222
- NaslLogicItem.Argument({
223
- keyword: 'struct',
224
- expression: NaslLogicItem.Identifier({
225
- name: nameGroup.viewVariableFilter,
226
- }),
227
- }),
228
- ],
218
+ return NaslNode.Logic({
219
+ name: nameGroup.viewLogicInit,
220
+ description: '',
221
+ params: [] as Array<any>,
222
+ returns: [] as Array<any>,
223
+ variables: [] as Array<any>,
224
+ body: [
225
+ NaslLogicItem.Start,
226
+ NaslLogicItem.CallFunction({
227
+ calleeName: 'Clear',
228
+ arguments: [
229
+ NaslLogicItem.Argument({
230
+ keyword: 'struct',
231
+ expression: NaslLogicItem.Identifier({
232
+ name: nameGroup.viewVariableFilter,
229
233
  }),
230
- NaslLogicItem.End,
234
+ }),
231
235
  ],
232
- playground: [] as Array<any>,
233
- });
236
+ }),
237
+ NaslLogicItem.End,
238
+ ],
239
+ playground: [] as Array<any>,
240
+ });
234
241
  }
235
242
 
236
243
  function genCreateLogic(nameGroup: NameGroup) {
237
- return NaslNode.Logic({
238
- name: nameGroup.viewLogicCreate,
239
- description: '',
240
- params: [] as Array<any>,
241
- returns: [] as Array<any>,
242
- variables: [] as Array<any>,
243
- body: [
244
- NaslLogicItem.Start,
245
- NaslLogicItem.Assignment({
246
- left: NaslLogicItem.Identifier({
247
- name: nameGroup.viewVariableInput,
248
- }),
249
- right: NaslLogicItem.CallFunction({
250
- calleeName: 'Clone',
251
- arguments: [
252
- NaslLogicItem.Argument({
253
- keyword: 'obj',
254
- expression: NaslLogicItem.Identifier({
255
- name: nameGroup.viewVariableEntity,
256
- }),
257
- }),
258
- ],
259
- }),
244
+ return NaslNode.Logic({
245
+ name: nameGroup.viewLogicCreate,
246
+ description: '',
247
+ params: [] as Array<any>,
248
+ returns: [] as Array<any>,
249
+ variables: [] as Array<any>,
250
+ body: [
251
+ NaslLogicItem.Start,
252
+ NaslLogicItem.Assignment({
253
+ left: NaslLogicItem.Identifier({
254
+ name: nameGroup.viewVariableInput,
255
+ }),
256
+ right: NaslLogicItem.CallFunction({
257
+ calleeName: 'Clone',
258
+ arguments: [
259
+ NaslLogicItem.Argument({
260
+ keyword: 'obj',
261
+ expression: NaslLogicItem.Identifier({
262
+ name: nameGroup.viewVariableEntity,
263
+ }),
260
264
  }),
261
- genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
262
- NaslLogicItem.End,
263
- ],
264
- playground: [] as Array<any>,
265
- });
265
+ ],
266
+ }),
267
+ }),
268
+ genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
269
+ NaslLogicItem.End,
270
+ ],
271
+ playground: [] as Array<any>,
272
+ });
266
273
  }
267
274
 
268
275
  export function genCurdEditMultipleKeyBlock(entity: Entity, oldNode: ViewElement) {
269
- const view = oldNode.view;
270
- const dataSource = entity.parentNode as DataSource;
271
- const module = dataSource.app;
276
+ const { view } = oldNode;
277
+ const dataSource = entity.parentNode as DataSource;
278
+ const module = dataSource.app;
272
279
 
273
- const viewElementMainView = view.getViewElementUniqueName('tableView');
274
- const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
275
- nameGroup.viewElementMainView = viewElementMainView;
276
- nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');
277
- nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');
278
- nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
279
- nameGroup.viewLogicInit = view.getLogicUniqueName('init');
280
- nameGroup.viewLogicCreate = view.getLogicUniqueName('create');
281
- nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');
282
- nameGroup.viewLogicBlurUpdate = view.getLogicUniqueName('blurUpdate');
283
- nameGroup.viewLogicReload = view.getLogicUniqueName('reload');
284
- nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
285
- nameGroup.viewVariableInput = view.getVariableUniqueName('input');
286
- nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');
280
+ const viewElementMainView = view.getViewElementUniqueName('tableView');
281
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
282
+ nameGroup.viewElementMainView = viewElementMainView;
283
+ nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');
284
+ nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');
285
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
286
+ nameGroup.viewLogicInit = view.getLogicUniqueName('init');
287
+ nameGroup.viewLogicCreate = view.getLogicUniqueName('create');
288
+ nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');
289
+ nameGroup.viewLogicBlurUpdate = view.getLogicUniqueName('blurUpdate');
290
+ nameGroup.viewLogicReload = view.getLogicUniqueName('reload');
291
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
292
+ nameGroup.viewVariableInput = view.getVariableUniqueName('input');
293
+ nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');
287
294
 
288
- // 收集所有和本实体关联的实体
289
- const entitySet: Set<Entity> = new Set();
290
- entitySet.add(entity);
291
- const selectNameGroupMap: Map<string, NameGroup> = new Map();
292
- const newLogics: any[] = [];
293
- const newLoadSelectLogics: any[] = [];
294
- entity.properties.forEach((property) => {
295
- // 有外键关联
296
- if (property.relationEntity) {
297
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
298
- if (relationEntity) {
299
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
300
- if (displayedProperty) {
301
- entitySet.add(relationEntity);
302
- const viewElementSelect = view.getViewElementUniqueName('select');
303
- const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
304
- selectNameGroup.viewElementSelect = viewElementSelect;
305
- // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
306
- const key = [property.name, relationEntity.name].join('-');
307
- selectNameGroupMap.set(key, selectNameGroup);
308
- const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
309
- newLogics.push(newLogic);
310
- newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
311
- }
312
- }
295
+ // 收集所有和本实体关联的实体
296
+ const entitySet: Set<Entity> = new Set();
297
+ entitySet.add(entity);
298
+ const selectNameGroupMap: Map<string, NameGroup> = new Map();
299
+ const newLogics: any[] = [];
300
+ const newLoadSelectLogics: any[] = [];
301
+ entity.properties.forEach((property) => {
302
+ // 有外键关联
303
+ if (property.relationEntity) {
304
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
305
+ if (relationEntity) {
306
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
307
+ if (displayedProperty) {
308
+ entitySet.add(relationEntity);
309
+ const viewElementSelect = view.getViewElementUniqueName('select');
310
+ const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
311
+ selectNameGroup.viewElementSelect = viewElementSelect;
312
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
313
+ const key = [property.name, relationEntity.name].join('-');
314
+ selectNameGroupMap.set(key, selectNameGroup);
315
+ const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
316
+ newLogics.push(newLogic);
317
+ newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
313
318
  }
314
- });
315
- const allEntities = [...entitySet];
316
- const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
317
- newLogics.push(entityLogic);
318
- return `<template>
319
+ }
320
+ }
321
+ });
322
+ const allEntities = [...entitySet];
323
+ const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
324
+ newLogics.push(entityLogic);
325
+ return `<template>
319
326
  <u-linear-layout direction="vertical">
320
327
  ${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
321
328
  ${genEditTableTemplate(entity, nameGroup, selectNameGroupMap)}
@@ -329,26 +336,32 @@ export function genCurdEditMultipleKeyBlock(entity: Entity, oldNode: ViewElement
329
336
  {
330
337
  "concept": "Variable",
331
338
  "name": "${nameGroup.viewVariableEntity}",
332
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
333
- typeNamespace: entity.getNamespace(),
334
- typeName: entity.name,
335
- }))}
339
+ "typeAnnotation": ${JSON.stringify(
340
+ NaslTypeAnnotation.Reference({
341
+ typeNamespace: entity.getNamespace(),
342
+ typeName: entity.name,
343
+ })
344
+ )}
336
345
  },
337
346
  {
338
347
  "concept": "Variable",
339
348
  "name": "${nameGroup.viewVariableInput}",
340
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
341
- typeNamespace: entity.getNamespace(),
342
- typeName: entity.name,
343
- }))}
349
+ "typeAnnotation": ${JSON.stringify(
350
+ NaslTypeAnnotation.Reference({
351
+ typeNamespace: entity.getNamespace(),
352
+ typeName: entity.name,
353
+ })
354
+ )}
344
355
  },
345
356
  {
346
357
  "concept": "Variable",
347
358
  "name": "${nameGroup.viewVariableFilter}",
348
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
349
- typeNamespace: entity.getNamespace(),
350
- typeName: entity.name,
351
- }))}
359
+ "typeAnnotation": ${JSON.stringify(
360
+ NaslTypeAnnotation.Reference({
361
+ typeNamespace: entity.getNamespace(),
362
+ typeName: entity.name,
363
+ })
364
+ )}
352
365
  }
353
366
  ],
354
367
  "viewLogics": [
@@ -359,7 +372,7 @@ export function genCurdEditMultipleKeyBlock(entity: Entity, oldNode: ViewElement
359
372
  ${JSON.stringify(genSubmitLogic(entity, nameGroup))},
360
373
  ${JSON.stringify(genBlurUpdateLogic(entity, nameGroup))},
361
374
  ${JSON.stringify(genReloadLogic(nameGroup))}
362
- ${newLoadSelectLogics.map((logic) => ',' + JSON.stringify(logic)).join('\n')}
375
+ ${newLoadSelectLogics.map((logic) => `,${JSON.stringify(logic)}`).join('\n')}
363
376
  ],
364
377
  "viewBindEvents": [
365
378
  {
@@ -381,108 +394,111 @@ export function genCurdEditMultipleKeyBlock(entity: Entity, oldNode: ViewElement
381
394
  * 根据实体属性生成表格列模板
382
395
  * @param property 实体属性
383
396
  */
384
- export function genEditTableColumnComponent(app:App, entity: Entity, property: EntityProperty, view: View, nameGroup: NameGroup) {
385
- const dataSource = entity.parentNode as DataSource;
386
- const valueExpression = `${nameGroup.valuePrefixExpression}.${property.name}`;
387
- const module = app;
397
+ export function genEditTableColumnComponent(app: App, entity: Entity, property: EntityProperty, view: View, nameGroup: NameGroup) {
398
+ const dataSource = entity.parentNode as DataSource;
399
+ const valueExpression = `${nameGroup.valuePrefixExpression}.${property.name}`;
400
+ const module = app;
388
401
 
389
- const newLogics: any[] = [];
390
- const newLoadSelectLogics: any[] = [];
402
+ const newLogics: any[] = [];
403
+ const newLoadSelectLogics: any[] = [];
391
404
 
392
- const genEditComponent = (property: EntityProperty) => {
393
- const label = property.label || property.name;
394
- let formItem = '';
405
+ const genEditComponent = (property: EntityProperty) => {
406
+ const label = property.label || property.name;
407
+ let formItem = '';
395
408
 
396
- const propertyTypeName = property.typeAnnotation.typeName;
397
- const propertyTypeNamespace = property.typeAnnotation.typeNamespace;
398
- const propertyTypeMaxLength:number = Number(property.rules.find((item) => item.indexOf('max') > -1)?.split('(')[1].slice(0, -1)) || 0;
399
- if (property.relationEntity) {
400
- // 有外键关联
401
- const relationEntity = dataSource?.findEntityByName(property.relationEntity);
402
- if (relationEntity) {
403
- const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
404
- const displayedProperty = getFirstDisplayedProperty(relationEntity);
405
- if (displayedProperty) {
406
- const lowerEntityName = utils.firstLowerCase(relationEntity.name);
407
- const selectNameGroup = {
408
- viewLogicLoad: nameGroup.viewElementSelectLogic,
409
- viewElementSelect: '',
410
- };
411
- if (!nameGroup.viewElementSelectLogic) {
412
- const viewElementSelect = view.getViewElementUniqueName('select');
413
- const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
414
- selectNameGroup.viewElementSelect = viewElementSelect;
415
- const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
416
- newLogics.push(newLogic);
417
- newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
418
- }
419
- formItem += `
409
+ const propertyTypeName = property.typeAnnotation.typeName;
410
+ const propertyTypeNamespace = property.typeAnnotation.typeNamespace;
411
+ const propertyTypeMaxLength: number =
412
+ Number(
413
+ property.rules
414
+ .find((item) => item.indexOf('max') > -1)
415
+ ?.split('(')[1]
416
+ .slice(0, -1)
417
+ ) || 0;
418
+ if (property.relationEntity) {
419
+ // 有外键关联
420
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
421
+ if (relationEntity) {
422
+ const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
423
+ const displayedProperty = getFirstDisplayedProperty(relationEntity);
424
+ if (displayedProperty) {
425
+ const lowerEntityName = utils.firstLowerCase(relationEntity.name);
426
+ const selectNameGroup = {
427
+ viewLogicLoad: nameGroup.viewElementSelectLogic,
428
+ viewElementSelect: '',
429
+ };
430
+ if (!nameGroup.viewElementSelectLogic) {
431
+ const viewElementSelect = view.getViewElementUniqueName('select');
432
+ const selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);
433
+ selectNameGroup.viewElementSelect = viewElementSelect;
434
+ const newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);
435
+ newLogics.push(newLogic);
436
+ newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));
437
+ }
438
+ formItem += `
420
439
  <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroup.viewLogicLoad}"
421
440
  :autofocus="true" :opened="true" append-to="body" @blur="${nameGroup.viewLogicBlurUpdate}" @select="${nameGroup.viewLogicBlurUpdate}"
422
441
  text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pageable="true" :remote-paging="true" :value.sync="${valueExpression}">
423
442
  </u-select>
424
443
  `;
425
- } else
426
- return '';
427
- } else
428
- return '';
429
- } else if (propertyTypeName === 'Boolean') {
430
- formItem += `<u-select clearable :value.sync="${valueExpression}" placeholder="请输入${label}"
444
+ } else return '';
445
+ } else return '';
446
+ } else if (propertyTypeName === 'Boolean') {
447
+ formItem += `<u-select clearable :value.sync="${valueExpression}" placeholder="请输入${label}"
431
448
  :autofocus="true" :opened="true" append-to="body" @blur="${nameGroup.viewLogicBlurUpdate}" @select="${nameGroup.viewLogicBlurUpdate}">
432
449
  <u-select-item :value="true" text="是">是</u-select-item>
433
450
  <u-select-item :value="false" text="否">否</u-select-item>
434
451
  </u-select>`;
435
- } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
436
- formItem = `<u-number-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
437
- } else if (propertyTypeName === 'Double') {
438
- formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
439
- } else if (propertyTypeName === 'Decimal') {
440
- formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
441
- } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
442
- formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.viewLogicBlurUpdate}" style="width:100%">
452
+ } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
453
+ formItem = `<u-number-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
454
+ } else if (propertyTypeName === 'Double') {
455
+ formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
456
+ } else if (propertyTypeName === 'Decimal') {
457
+ formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
458
+ } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
459
+ formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.viewLogicBlurUpdate}" style="width:100%">
443
460
  <u-textarea :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" size="full"></u-textarea>
444
461
  </u-validator>`;
445
- } else if (propertyTypeName === 'Date') {
446
- formItem = `<u-date-picker clearable :value.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" :opened="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-date-picker>`;
447
- } else if (propertyTypeName === 'Time') {
448
- formItem = `<u-time-picker :value.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-time-picker>`;
449
- } else if (propertyTypeName === 'DateTime') {
450
- formItem = `<u-date-time-picker clearable :value.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" :opened="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-date-time-picker>`;
451
- } else {
452
- const namespaceArr = propertyTypeNamespace && propertyTypeNamespace.split('.') || [];
453
- const type = namespaceArr.pop();
454
- if (type === 'enums') {
455
- const enumeration = app.findNodeByCompleteName(propertyTypeNamespace + '.' + propertyTypeName) as Enum;
456
- const namespace = enumeration?.getNamespace() || '';
457
- const name = enumeration?.name || '';
458
- const enumTypeAnnotationStr = `__enumTypeAnnotation_${namespace}.${name}`;
459
- formItem += `<u-select clearable
462
+ } else if (propertyTypeName === 'Date') {
463
+ formItem = `<u-date-picker clearable :value.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" :opened="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-date-picker>`;
464
+ } else if (propertyTypeName === 'Time') {
465
+ formItem = `<u-time-picker :value.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-time-picker>`;
466
+ } else if (propertyTypeName === 'DateTime') {
467
+ formItem = `<u-date-time-picker clearable :value.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" :opened="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-date-time-picker>`;
468
+ } else {
469
+ const namespaceArr = (propertyTypeNamespace && propertyTypeNamespace.split('.')) || [];
470
+ const type = namespaceArr.pop();
471
+ if (type === 'enums') {
472
+ const enumeration = app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;
473
+ const namespace = enumeration?.getNamespace() || '';
474
+ const name = enumeration?.name || '';
475
+ const enumTypeAnnotationStr = `__enumTypeAnnotation_${namespace}.${name}`;
476
+ formItem += `<u-select clearable
460
477
  :data-source="$utils.EnumToList('${enumTypeAnnotationStr}')"
461
478
  :value.sync="${valueExpression}" placeholder="请输入${label}"
462
479
  :autofocus="true" :opened="true" append-to="body" @blur="${nameGroup.viewLogicBlurUpdate}" @select="${nameGroup.viewLogicBlurUpdate}">
463
480
  </u-select>`;
464
- } else {
465
- formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.viewLogicBlurUpdate}" style="width:100%" append-to="body">
481
+ } else {
482
+ formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.viewLogicBlurUpdate}" style="width:100%" append-to="body">
466
483
  <u-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" size="full"></u-input>
467
484
  </u-validator>`;
468
- }
469
- }
470
- return `<template #editcell="current">
485
+ }
486
+ }
487
+ return `<template #editcell="current">
471
488
  <u-linear-layout gap="small">
472
489
  ${formItem}
473
490
  </u-linear-layout>
474
491
  </template>`;
475
- };
492
+ };
476
493
 
477
- return `<template>${genEditComponent(property)}</template>
494
+ return `<template>${genEditComponent(property)}</template>
478
495
  <definition>
479
496
  {
480
497
  "viewLogics": [
481
498
  ${JSON.stringify(genBlurUpdateLogic(entity, nameGroup))}
482
- ${newLoadSelectLogics.map((logic) => ',' + JSON.stringify(logic)).join('\n')}
499
+ ${newLoadSelectLogics.map((logic) => `,${JSON.stringify(logic)}`).join('\n')}
483
500
  ],
484
501
  "logics": ${JSON.stringify(newLogics)}
485
502
  }
486
503
  </definition>`;
487
504
  }
488
-