@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
@@ -1,15 +1,15 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import { TranslatorState, withSourceMap, createCompilerState } from '../translator';
2
3
  import datasourceService from '../service/datasource';
3
4
 
4
- //================================================================================
5
+ //= ===============================================================================
5
6
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
6
7
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
7
- //================================================================================
8
+ //= ===============================================================================
8
9
  import { EventPayload, Params } from '../common/EventEmitter';
9
10
  import { concept, excludedInJSON, property } from '../decorators';
10
11
 
11
12
  import * as utils from '../utils';
12
- import { v4 as uuidv4 } from 'uuid';
13
13
  import BaseNode from '../common/BaseNode';
14
14
  import classMap from '../common/classMap';
15
15
  import Entity from './Entity__';
@@ -21,502 +21,538 @@ import App from './App__';
21
21
  */
22
22
  @concept('数据源')
23
23
  export class DataSource extends BaseNode {
24
- /**
25
- * 产品概念
26
- */
27
- @property()
28
- concept: 'DataSource' = 'DataSource';
29
-
30
- /**
31
- * 数据源名称
32
- */
33
- @property()
34
- name: string = undefined;
35
-
36
- /**
37
- * 数据源描述
38
- */
39
- @property()
40
- description: string = undefined;
41
-
42
- /**
43
- * 实体列表
44
- */
45
- @property('Entity')
46
- entities: Array<Entity> = [];
47
-
48
- /**
49
- * 祖先 Module
50
- */
51
- get module() {
52
- return this.getAncestor('Module') as Module;
53
- }
54
- /**
55
- * 祖先 App
56
- */
57
- get app() {
58
- return this.getAncestor('App') as App;
59
- }
60
-
61
- /**
62
- * @param source 需要合并的部分参数
63
- */
64
- constructor(source?: Partial<DataSource>) {
65
- source = Object.assign({}, DataSource.getDefaultOptions(), source);
66
- super(source);
67
- super.subConstructor(source);
68
- }
69
- getClassName() {
70
- return 'DataSource';
71
- }
72
-
73
- static from(source: any, parentNode?: any, parentKey?: string): DataSource {
74
- return super.from(source, parentNode, parentKey) as DataSource;
24
+ /**
25
+ * 产品概念
26
+ */
27
+ @property()
28
+ concept: 'DataSource' = 'DataSource';
29
+
30
+ /**
31
+ * 数据源名称
32
+ */
33
+ @property()
34
+ name: string = undefined;
35
+
36
+ /**
37
+ * 数据源描述
38
+ */
39
+ @property()
40
+ description: string = undefined;
41
+
42
+ /**
43
+ * 实体列表
44
+ */
45
+ @property('Entity')
46
+ entities: Array<Entity> = [];
47
+
48
+ /**
49
+ * 祖先 Module
50
+ */
51
+ get module() {
52
+ return this.getAncestor('Module') as Module;
53
+ }
54
+
55
+ /**
56
+ * 祖先 App
57
+ */
58
+ get app() {
59
+ return this.getAncestor('App') as App;
60
+ }
61
+
62
+ /**
63
+ * @param source 需要合并的部分参数
64
+ */
65
+ constructor(source?: Partial<DataSource>) {
66
+ // @ts-ignore
67
+ source = { ...DataSource.getDefaultOptions(), ...source };
68
+ super(source);
69
+ super.subConstructor(source);
70
+ }
71
+
72
+ getClassName() {
73
+ return 'DataSource';
74
+ }
75
+
76
+ static from(source: any, parentNode?: any, parentKey?: string): DataSource {
77
+ return super.from(source, parentNode, parentKey) as DataSource;
78
+ }
79
+
80
+ /**
81
+ * 从父级删除该节点
82
+ * @internal
83
+ */
84
+ _delete() {
85
+ let params: Params = null;
86
+ if (this.parentNode) {
87
+ params = (this.parentNode as any)?.__removeDataSource?.(this);
75
88
  }
76
-
77
- /**
78
- * 从父级删除该节点
79
- * @internal
80
- */
81
- _delete() {
82
- let params: Params = null;
83
- if (this.parentNode) {
84
- params = (this.parentNode as any)?.__removeDataSource?.(this);
85
- }
86
- return params;
89
+ return params;
90
+ }
91
+
92
+ /**
93
+ * 设置数据源描述
94
+ */
95
+ setDescription(description: string) {
96
+ const object = {
97
+ description,
98
+ };
99
+ this.update({
100
+ ...object,
101
+ });
102
+ }
103
+
104
+ getEntityExistingNames(excludedList: Array<Entity> = []) {
105
+ const excludedSet = new Set(excludedList);
106
+ return ((this.entities as Entity[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
107
+ }
108
+
109
+ getEntityUniqueName(name = 'Entity1') {
110
+ return utils.unique(name, this.getEntityExistingNames(), undefined, true);
111
+ }
112
+
113
+ /**
114
+ * 插入实体
115
+ * @internal
116
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
117
+ */
118
+ _insertEntityAt(name: string, index: number): Entity;
119
+
120
+ /**
121
+ * 插入实体
122
+ * @internal
123
+ * @param entityOptions 实体参数
124
+ */
125
+ _insertEntityAt(entityOptions: Partial<Entity>, index: number): Entity;
126
+
127
+ /**
128
+ * 插入实体
129
+ * @internal
130
+ * @param entity 已有的实体实例
131
+ */
132
+ _insertEntityAt(entity: Entity, index: number): Entity;
133
+
134
+ _insertEntityAt(options: string | Partial<Entity> | Entity, index: number) {
135
+ const entityOptions: any = {};
136
+ const relationOptions = { parentNode: this, parentKey: 'entities' };
137
+ let entity: Entity;
138
+ if (!options) {
139
+ entity = Entity.from(
140
+ {
141
+ ...entityOptions,
142
+ name: this.getEntityUniqueName(),
143
+ },
144
+ this,
145
+ 'entities'
146
+ );
147
+ } else if (typeof options === 'string') {
148
+ entity = Entity.from(
149
+ {
150
+ ...entityOptions,
151
+ name: options,
152
+ },
153
+ this,
154
+ 'entities'
155
+ );
156
+ } else if (options instanceof Entity) {
157
+ options.ensureDelete(); // 同一实例不支持多处存在
158
+ entity = options;
159
+ Object.assign(entity, relationOptions);
160
+ } else {
161
+ entity = Entity.from(
162
+ {
163
+ ...entityOptions,
164
+ ...options,
165
+ },
166
+ this,
167
+ 'entities'
168
+ );
87
169
  }
88
- /**
89
- * 设置数据源描述
90
- */
91
- setDescription(description: string) {
92
- const object = {
93
- description,
94
- };
95
- this.update({
96
- ...object,
97
- });
170
+ this.entities.splice(index, 0, entity);
171
+ return entity;
172
+ }
173
+
174
+ /**
175
+ * 插入实体
176
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
177
+ */
178
+ insertEntityAt(name: string, index: number): Entity;
179
+
180
+ /**
181
+ * 插入实体
182
+ * @param entityOptions 实体参数
183
+ */
184
+ insertEntityAt(entityOptions: Partial<Entity>, index: number): Entity;
185
+
186
+ /**
187
+ * 插入实体
188
+ * @param entity 已有的实体实例
189
+ */
190
+ insertEntityAt(entity: Entity, index: number): Entity;
191
+
192
+ insertEntityAt(options: string | Partial<Entity> | Entity, index: number) {
193
+ const node = this._insertEntityAt(options as any, index);
194
+ node.create({
195
+ index,
196
+ parentNode: this,
197
+ parentKey: 'entities',
198
+ });
199
+ return node;
200
+ }
201
+
202
+ /**
203
+ * 添加实体
204
+ * @internal
205
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
206
+ */
207
+ _addEntity(name?: string): Entity;
208
+
209
+ /**
210
+ * 添加实体
211
+ * @internal
212
+ * @param entityOptions 实体参数
213
+ */
214
+ _addEntity(entityOptions: Partial<Entity>): Entity;
215
+
216
+ /**
217
+ * 添加实体
218
+ * @internal
219
+ * @param entity 已有的实体实例
220
+ */
221
+ _addEntity(entity: Entity): Entity;
222
+
223
+ _addEntity(options?: string | Partial<Entity> | Entity) {
224
+ const index = 0;
225
+ return this._insertEntityAt(options as any, index);
226
+ }
227
+
228
+ /**
229
+ * 添加实体
230
+ * @internal
231
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
232
+ */
233
+ addEntity(name?: string): Entity;
234
+
235
+ /**
236
+ * 添加实体
237
+ * @param entityOptions 实体参数
238
+ */
239
+ addEntity(entityOptions: Partial<Entity>): Entity;
240
+
241
+ /**
242
+ * 添加实体
243
+ * @param entity 已有的实体实例
244
+ */
245
+ addEntity(entity: Entity): Entity;
246
+
247
+ addEntity(options?: string | Partial<Entity> | Entity) {
248
+ const node = this._addEntity(options as any);
249
+ const index = this.entities.indexOf(node);
250
+ node.create({
251
+ index,
252
+ parentNode: this,
253
+ parentKey: 'entities',
254
+ });
255
+ return node;
256
+ }
257
+
258
+ /**
259
+ * 删除实体
260
+ * @param name 实体名称
261
+ */
262
+ removeEntity(name: string): void;
263
+
264
+ /**
265
+ * 删除实体
266
+ * @param entity 已有的实体实例
267
+ */
268
+ removeEntity(entity: Entity): void;
269
+
270
+ removeEntity(options: string | Entity) {
271
+ let entity: Entity;
272
+ if (typeof options === 'string') {
273
+ entity = (this.entities as Entity[]).find((item) => item.name === options);
274
+ if (!entity) {
275
+ throw new Error(`找不到实体 ${options}`);
276
+ }
277
+ } else {
278
+ entity = options;
98
279
  }
99
-
100
- getEntityExistingNames(excludedList: Array<Entity> = []) {
101
- const excludedSet = new Set(excludedList);
102
- return ((this.entities as Entity[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
280
+ return entity.delete();
281
+ }
282
+
283
+ __removeEntity(entity: Entity) {
284
+ const { parentKey } = entity;
285
+ const params: Params = {
286
+ parentNode: this,
287
+ parentKey,
288
+ index: -1,
289
+ object: null,
290
+ oldObject: entity,
291
+ };
292
+ if (parentKey) {
293
+ params.parentKey = parentKey;
294
+ if (Array.isArray((this as any)[parentKey])) {
295
+ const index = (this as any)[parentKey].indexOf(entity);
296
+ ~index && (this as any)[parentKey].splice(index, 1);
297
+ params.index = index;
298
+ } else if ((this as any)[parentKey] === entity) {
299
+ params.index = 0;
300
+ (this as any)[parentKey] = undefined;
301
+ }
103
302
  }
104
- getEntityUniqueName(name = 'Entity1') {
105
- return utils.unique(name, this.getEntityExistingNames(), undefined, true);
106
- }
107
-
108
- /**
109
- * 插入实体
110
- * @internal
111
- * @param name 实体名称,如果不填会自动生成一个唯一名称
112
- */
113
- _insertEntityAt(name: string, index: number): Entity;
114
-
115
- /**
116
- * 插入实体
117
- * @internal
118
- * @param entityOptions 实体参数
119
- */
120
- _insertEntityAt(entityOptions: Partial<Entity>, index: number): Entity;
121
-
122
- /**
123
- * 插入实体
124
- * @internal
125
- * @param entity 已有的实体实例
126
- */
127
- _insertEntityAt(entity: Entity, index: number): Entity;
128
-
129
- _insertEntityAt(options: string | Partial<Entity> | Entity, index: number) {
130
- const entityOptions: any = {};
131
- const relationOptions = { parentNode: this, parentKey: 'entities' };
132
- let entity: Entity;
133
- if (!options) {
134
- entity = Entity.from({
135
- ...entityOptions,
136
- name: this.getEntityUniqueName(),
137
- }, this, 'entities');
138
- } else if (typeof options === 'string') {
139
- entity = Entity.from({
140
- ...entityOptions,
141
- name: options,
142
- }, this, 'entities');
143
- } else if (options instanceof Entity) {
144
- options.ensureDelete(); // 同一实例不支持多处存在
145
- entity = options;
146
- Object.assign(entity, relationOptions);
147
- } else {
148
- entity = Entity.from({
149
- ...entityOptions,
150
- ...options,
151
- }, this, 'entities');
152
- }
153
- this.entities.splice(index, 0, entity);
154
- return entity;
303
+ return params;
304
+ }
305
+
306
+ //= ===============================================================================
307
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
308
+ // 自动生成的代码已结束。下面可以手动编写。
309
+ //= ===============================================================================
310
+ findEntityByName(name: string) {
311
+ return this.entities.find((entity) => entity.name === name);
312
+ }
313
+
314
+ /**
315
+ * 设置DataSource的名称
316
+ */
317
+ setName(name: string) {
318
+ const App = this.rootNode;
319
+ App.emit('collect:start', {
320
+ actionMsg: '修改数据源名称',
321
+ });
322
+ // 修改配置对应配置上的 datasource
323
+ const dataSourceGroup = (App as App).configuration?.getGroup('dataSource');
324
+ if (dataSourceGroup) {
325
+ const dataSourceConfig = dataSourceGroup.getProperty(this.name);
326
+ if (dataSourceConfig) {
327
+ dataSourceConfig.setName(name);
328
+ }
155
329
  }
156
330
 
157
- /**
158
- * 插入实体
159
- * @param name 实体名称,如果不填会自动生成一个唯一名称
160
- */
161
- insertEntityAt(name: string, index: number): Entity;
162
-
163
- /**
164
- * 插入实体
165
- * @param entityOptions 实体参数
166
- */
167
- insertEntityAt(entityOptions: Partial<Entity>, index: number): Entity;
168
-
169
- /**
170
- * 插入实体
171
- * @param entity 已有的实体实例
172
- */
173
- insertEntityAt(entity: Entity, index: number): Entity;
174
-
175
- insertEntityAt(options: string | Partial<Entity> | Entity, index: number) {
176
- const node = this._insertEntityAt(options as any, index);
177
- node.create({
178
- index,
179
- parentNode: this,
180
- parentKey: 'entities',
181
- });
182
- return node;
331
+ // 修改自己内部的名称
332
+ const object = {
333
+ name,
334
+ };
335
+ this.update({
336
+ ...object,
337
+ field: 'name',
338
+ });
339
+ // 结束修改 ,批量操作
340
+ App.emit('collect:end');
341
+ }
342
+
343
+ getNamespace() {
344
+ if (this.parentNode && (this.parentNode as App).getNamespace) {
345
+ const parentNamespace = (this.parentNode as App).getNamespace();
346
+ const parentName = this.parentNode.name;
347
+ const arr = [parentNamespace];
348
+ if (this.parentNode.concept !== 'App' && parentName) {
349
+ arr.push(parentName);
350
+ }
351
+ return `${arr.join('.')}.dataSources`;
183
352
  }
184
-
185
- /**
186
- * 添加实体
187
- * @internal
188
- * @param name 实体名称,如果不填会自动生成一个唯一名称
189
- */
190
- _addEntity(name?: string): Entity;
191
-
192
- /**
193
- * 添加实体
194
- * @internal
195
- * @param entityOptions 实体参数
196
- */
197
- _addEntity(entityOptions: Partial<Entity>): Entity;
198
-
199
- /**
200
- * 添加实体
201
- * @internal
202
- * @param entity 已有的实体实例
203
- */
204
- _addEntity(entity: Entity): Entity;
205
-
206
- _addEntity(options?: string | Partial<Entity> | Entity) {
207
- const index = 0;
208
- return this._insertEntityAt(options as any, index);
209
- }
210
-
211
- /**
212
- * 添加实体
213
- * @internal
214
- * @param name 实体名称,如果不填会自动生成一个唯一名称
215
- */
216
- addEntity(name?: string): Entity;
217
-
218
- /**
219
- * 添加实体
220
- * @param entityOptions 实体参数
221
- */
222
- addEntity(entityOptions: Partial<Entity>): Entity;
223
-
224
- /**
225
- * 添加实体
226
- * @param entity 已有的实体实例
227
- */
228
- addEntity(entity: Entity): Entity;
229
-
230
- addEntity(options?: string | Partial<Entity> | Entity) {
231
- const node = this._addEntity(options as any);
232
- const index = this.entities.indexOf(node);
233
- node.create({
234
- index,
235
- parentNode: this,
236
- parentKey: 'entities',
237
- });
238
- return node;
239
- }
240
-
241
-
242
-
243
-
244
- /**
245
- * 删除实体
246
- * @param name 实体名称
247
- */
248
- removeEntity(name: string): void;
249
-
250
- /**
251
- * 删除实体
252
- * @param entity 已有的实体实例
253
- */
254
- removeEntity(entity: Entity): void;
255
-
256
- removeEntity(options: string | Entity) {
257
- let entity: Entity;
258
- if (typeof options === 'string') {
259
- entity = (this.entities as Entity[]).find((item) => item.name === options);
260
- if (!entity) {
261
- throw new Error('找不到实体 ' + options);
262
- }
263
- } else {
264
- entity = options;
265
- }
266
- return entity.delete();
267
- }
268
-
269
- __removeEntity(entity: Entity) {
270
- const parentKey = entity.parentKey;
271
- const params: Params = {
272
- parentNode: this,
273
- parentKey,
274
- index: -1,
275
- object: null,
276
- oldObject: entity,
277
- };
278
- if (parentKey) {
279
- params.parentKey = parentKey;
280
- if (Array.isArray((this as any)[parentKey])) {
281
- const index = (this as any)[parentKey].indexOf(entity);
282
- ~index && (this as any)[parentKey].splice(index, 1);
283
- params.index = index;
284
- } else if ((this as any)[parentKey] === entity) {
285
- params.index = 0;
286
- (this as any)[parentKey] = undefined;
287
- }
288
- }
289
- return params;
353
+ throw new Error('无法获取命名空间,请设置 parentNode!');
354
+ }
355
+
356
+ getEntityExistingTableNames(excludedList: Array<Entity> = []) {
357
+ const excludedSet = new Set(excludedList);
358
+ return ((this.entities as Entity[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.tableName);
359
+ }
360
+
361
+ getEntityUniqueTableName(name = 'Entity1', excludedList: Array<Entity> = []) {
362
+ return utils.unique(name, this.getEntityExistingTableNames(excludedList), undefined, true);
363
+ }
364
+
365
+ /**
366
+ * 根据全局设置中的数据库命名规则,生成 实体表名
367
+ */
368
+ genFormatEntityTableName(entity: Entity) {
369
+ // Excel、数据源导入的实体不进行表名格式化
370
+ if (entity.isIgnoreFormatTableAndColumnName()) {
371
+ return entity.tableName;
290
372
  }
291
373
 
292
- //================================================================================
293
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
294
- // 自动生成的代码已结束。下面可以手动编写。
295
- //================================================================================
296
- findEntityByName(name: string) {
297
- return this.entities.find((entity) => entity.name === name);
374
+ const tableNameRule = this.app.preferenceMap?.['namingConvention.tableName'];
375
+ // 平台内置生成的实体需特殊处理 LCAP 前缀
376
+ // 在驼峰规则时,保持 LCAP 前缀为大写
377
+ // LCAPUser 转驼峰-> LCAPUser
378
+ // LCAPUser 转下划线-> lcap_user *提前处理成 Lcap
379
+ // lcap_user 转驼峰-> LCAPUser *转完处理成 LCAP
380
+ // lcap_user 转下划线-> lcap_user
381
+ const builtinEntityNames = [
382
+ 'LCAPUser',
383
+ 'LCAPRolePerMapping',
384
+ 'LCAPLogicViewMapping',
385
+ 'LCAPPerResMapping',
386
+ 'LCAPUserRoleMapping',
387
+ 'LCAPRole',
388
+ 'LCAPPermission',
389
+ 'LCAPResource',
390
+ ];
391
+ const isBuiltin = builtinEntityNames.some((name) => name === entity.name);
392
+ let temTableName = entity.tableName || entity.name;
393
+ if (isBuiltin && tableNameRule === 'snake_case' && temTableName.startsWith('LCAP')) {
394
+ temTableName = temTableName.replace(/^LCAP/i, 'Lcap');
298
395
  }
299
- /**
300
- * 设置DataSource的名称
301
- */
302
- setName(name: string) {
303
- const App = this.rootNode;
304
- App.emit('collect:start', {
305
- actionMsg: '修改数据源名称',
306
- });
307
- // 修改配置对应配置上的 datasource
308
- const dataSourceGroup = (App as App).configuration?.getGroup('dataSource');
309
- if (dataSourceGroup) {
310
- const dataSourceConfig = dataSourceGroup.getProperty(this.name);
311
- if (dataSourceConfig) {
312
- dataSourceConfig.setName(name);
313
- }
314
- }
315
396
 
316
- // 修改自己内部的名称
317
- const object = {
318
- name,
319
- };
320
- this.update({
321
- ...object,
322
- field: 'name',
323
- });
324
- // 结束修改 ,批量操作
325
- App.emit('collect:end');
326
- }
327
- getNamespace() {
328
- if (this.parentNode && (this.parentNode as App).getNamespace) {
329
- const parentNamespace = (this.parentNode as App).getNamespace();
330
- const parentName = this.parentNode.name;
331
- const arr = [parentNamespace];
332
- if (this.parentNode.concept !== 'App' && parentName) {
333
- arr.push(parentName);
334
- }
335
- return `${arr.join('.')}.dataSources`;
336
- } else
337
- throw new Error('无法获取命名空间,请设置 parentNode!');
338
- }
397
+ const formatMap: Record<string, Function> = {
398
+ camelCase: utils.snake2Camel,
399
+ snake_case: utils.Camel2Snake,
400
+ };
339
401
 
340
- getEntityExistingTableNames(excludedList: Array<Entity> = []) {
341
- const excludedSet = new Set(excludedList);
342
- return (this.entities as Entity[] || []).filter((item) => !excludedSet.has(item)).map((item) => item.tableName);
402
+ // 格式化 entity tableName
403
+ const tableNameFormatter = formatMap[tableNameRule];
404
+ let newTableName = tableNameFormatter && tableNameFormatter(temTableName);
405
+ if (isBuiltin && tableNameRule === 'camelCase' && newTableName.startsWith('Lcap')) {
406
+ newTableName = newTableName.replace(/^Lcap/i, 'LCAP');
343
407
  }
344
- getEntityUniqueTableName(name = 'Entity1', excludedList: Array<Entity> = []) {
345
- return utils.unique(name, this.getEntityExistingTableNames(excludedList), undefined, true);
408
+ newTableName = this.getEntityUniqueTableName(newTableName, [entity]);
409
+ return newTableName;
410
+ }
411
+
412
+ /**
413
+ * 生成宿主语言的文件路径
414
+ * @param name 一般不用传,用于 rename
415
+ */
416
+ getEmbeddedFilePath(name = this.name) {
417
+ return `/embedded/${this.rootNode?.name || this.parentNode.name}/datasources/${name}.ts`;
418
+ }
419
+
420
+ @withSourceMap()
421
+ toEmbeddedTS(state?: TranslatorState): string {
422
+ let code = `export namespace ${this.name} {\n`;
423
+ code += 'const name = ';
424
+ code += `"${this.name}";\n`;
425
+ code += '}\n';
426
+ return code;
427
+ }
428
+
429
+ toEmbeddedTSFile() {
430
+ let code = `namespace ${this.getNamespace()} {\n`;
431
+
432
+ const state = createCompilerState(code, { tabSize: 1 });
433
+ try {
434
+ code += this.toEmbeddedTS(state);
435
+ } catch (err) {
436
+ code += '';
437
+ console.error(err);
346
438
  }
347
-
348
- /**
349
- * 根据全局设置中的数据库命名规则,生成 实体表名
350
- */
351
- genFormatEntityTableName(entity: Entity) {
352
- // Excel、数据源导入的实体不进行表名格式化
353
- if (entity.isIgnoreFormatTableAndColumnName()) {
354
- return entity.tableName;
355
- }
356
-
357
- const tableNameRule = this.app.preferenceMap?.['namingConvention.tableName'];
358
- // 平台内置生成的实体需特殊处理 LCAP 前缀
359
- // 在驼峰规则时,保持 LCAP 前缀为大写
360
- // LCAPUser 转驼峰-> LCAPUser
361
- // LCAPUser 转下划线-> lcap_user *提前处理成 Lcap
362
- // lcap_user 转驼峰-> LCAPUser *转完处理成 LCAP
363
- // lcap_user 转下划线-> lcap_user
364
- const builtinEntityNames = ['LCAPUser', 'LCAPRolePerMapping', 'LCAPLogicViewMapping', 'LCAPPerResMapping', 'LCAPUserRoleMapping', 'LCAPRole', 'LCAPPermission', 'LCAPResource'];
365
- const isBuiltin = builtinEntityNames.some((name) => name === entity.name);
366
- let temTableName = entity.tableName || entity.name;
367
- if (isBuiltin && tableNameRule === 'snake_case' && temTableName.startsWith('LCAP')) {
368
- temTableName = temTableName.replace(/^LCAP/i, 'Lcap');
439
+ code += '}\n';
440
+
441
+ return {
442
+ code,
443
+ filePath: this.getEmbeddedFilePath(),
444
+ sourceMap: state.sourceMap,
445
+ };
446
+ }
447
+
448
+ // 测试数据源连通性
449
+ async pingDatabase(recordEnvConnectError: Function) {
450
+ const configProperty = this.app.configuration.getGroup('dataSource').getProperty(this.name);
451
+ configProperty &&
452
+ configProperty.values.forEach((prop) => {
453
+ // 未配置数据源时,不进行连接测试
454
+ if (!prop.value) {
455
+ return;
369
456
  }
370
-
371
- const formatMap: Record<string, Function> = {
372
- camelCase: utils.snake2Camel,
373
- snake_case: utils.Camel2Snake,
374
- };
375
-
376
- // 格式化 entity tableName
377
- const tableNameFormatter = formatMap[tableNameRule];
378
- let newTableName = tableNameFormatter && tableNameFormatter(temTableName);
379
- if (isBuiltin && tableNameRule === 'camelCase' && newTableName.startsWith('Lcap')) {
380
- newTableName = newTableName.replace(/^Lcap/i, 'LCAP');
381
- }
382
- newTableName = this.getEntityUniqueTableName(newTableName, [entity]);
383
- return newTableName;
384
- }
385
-
386
- /**
387
- * 生成宿主语言的文件路径
388
- * @param name 一般不用传,用于 rename
389
- */
390
- getEmbeddedFilePath(name = this.name) {
391
- return `/embedded/${this.rootNode?.name || this.parentNode.name}/datasources/${name}.ts`;
392
- }
393
- @withSourceMap()
394
- toEmbeddedTS(state?: TranslatorState): string {
395
- let code = `export namespace ${this.name} {\n`;
396
- code += 'const name = ';
397
- code += '"' + this.name + '";\n';
398
- code += '}\n';
399
- return code;
400
- }
401
- toEmbeddedTSFile() {
402
- let code = `namespace ${this.getNamespace()} {\n`;
403
-
404
- const state = createCompilerState(code, { tabSize: 1 });
457
+ let isRecycled = false;
405
458
  try {
406
- code += this.toEmbeddedTS(state);
407
- } catch (err) {
408
- code += '';
409
- console.error(err);
410
- }
411
- code += '}\n';
412
-
413
- return {
414
- code,
415
- filePath: this.getEmbeddedFilePath(),
416
- sourceMap: state.sourceMap,
417
- };
418
- }
419
-
420
- // 测试数据源连通性
421
- async pingDatabase(recordEnvConnectError: Function) {
422
- const configProperty = this.app.configuration.getGroup('dataSource').getProperty(this.name);
423
- configProperty && configProperty.values.forEach((prop) => {
424
- // 未配置数据源时,不进行连接测试
425
- if (!prop.value) {
426
- return;
427
- }
428
- let isRecycled = false;
429
- try {
430
- const value = JSON.parse(prop.value);
431
- // 被回收的数据库不需要 Ping
432
- if (value.dataBaseMode === 'Platform_Generation' && value.status === 1) {
433
- isRecycled = true;
434
- }
435
- } catch (e) {}
436
- const env = prop.env;
437
- return isRecycled ? Promise.resolve() : datasourceService.pingDatabase({
459
+ const value = JSON.parse(prop.value);
460
+ // 被回收的数据库不需要 Ping
461
+ if (value.dataBaseMode === 'Platform_Generation' && value.status === 1) {
462
+ isRecycled = true;
463
+ }
464
+ } catch (e) {}
465
+ const { env } = prop;
466
+ return isRecycled
467
+ ? Promise.resolve()
468
+ : datasourceService
469
+ .pingDatabase({
438
470
  body: {
439
- category: 'sql',
440
- appId: this.app.id,
441
- dataSource: configProperty.name,
442
- env,
471
+ category: 'sql',
472
+ appId: this.app.id,
473
+ dataSource: configProperty.name,
474
+ env,
443
475
  },
444
- }).then(() => {
476
+ })
477
+ .then(() => {
445
478
  Object.assign(this, { [`__${env}ConnectError`]: false });
446
- }).catch(() => {
479
+ })
480
+ .catch(() => {
447
481
  Object.assign(this, { [`__${env}ConnectError`]: true });
448
- }).then(() => {
482
+ })
483
+ .then(() => {
449
484
  recordEnvConnectError(env);
450
- });
451
- });
485
+ });
486
+ });
487
+ }
488
+
489
+ recordEnvConnectError(records: any[], env: string) {
490
+ const target = records?.find((item: any) => item.id === this.id);
491
+ // 诊断还未生成,在诊断时生成问题
492
+ if (!target) {
493
+ return;
452
494
  }
453
- recordEnvConnectError(records: any[], env: string) {
454
- const target = records?.find((item: any) => item.id === this.id);
455
- // 诊断还未生成,在诊断时生成问题
456
- if (!target) {
457
- return;
458
- }
459
- // 诊断已生成,手动插入问题
460
- const errorKey = `__${env}ConnectError`;
461
- const errorText = `DataSource ${env} env connect error`;
462
- target.semanticDiagnostics = target.semanticDiagnostics.filter((item: any) => item.code !== errorText);
463
- if ((this as any)[errorKey]) {
464
- const envText = env === 'online' ? '生产' : '开发';
465
- target.semanticDiagnostics.push({
466
- text: errorText,
467
- node: this,
468
- severity: 'warning',
469
- message: `数据源配置:数据源 ${this.name} ${envText}环境数据源连接不通,请先检查${envText}环境数据源配置`,
470
- originalDiagnostic: {
471
- fileName: '',
472
- start: null,
473
- end: null,
474
- category: 'warning',
475
- text: `DataSource connection error`,
476
- },
477
- });
478
- }
479
- }
480
-
481
- get dataSourceSqlType() {
482
- return JSON.parse(this.dataSourceConfig?.devProperty?.value || '{}')?.type;
495
+ // 诊断已生成,手动插入问题
496
+ const errorKey = `__${env}ConnectError`;
497
+ const errorText = `DataSource ${env} env connect error`;
498
+ target.semanticDiagnostics = target.semanticDiagnostics.filter((item: any) => item.code !== errorText);
499
+ if ((this as any)[errorKey]) {
500
+ const envText = env === 'online' ? '生产' : '开发';
501
+ target.semanticDiagnostics.push({
502
+ text: errorText,
503
+ node: this,
504
+ severity: 'warning',
505
+ message: `数据源配置:数据源 ${this.name} ${envText}环境数据源连接不通,请先检查${envText}环境数据源配置`,
506
+ originalDiagnostic: {
507
+ fileName: '',
508
+ start: null,
509
+ end: null,
510
+ category: 'warning',
511
+ text: `DataSource connection error`,
512
+ },
513
+ });
483
514
  }
484
-
485
- // 获取datasource对应的数据源配置
486
- get dataSourceConfig() {
487
- let devProperty = null;
488
- let onlineProperty = null;
489
- let devValue = null;
490
- let onlineValue = null;
491
-
492
- const dataSourceGroup = (this.rootNode as App).configuration?.getGroup('dataSource');
493
- if (dataSourceGroup) {
494
- const property = dataSourceGroup.getProperty(this.name);
495
- if (property && property.values) {
496
- devProperty = property.values.find((item) => item.env === 'dev');
497
- devValue = { ...devProperty, ...JSON.parse(devProperty.value || '{}') };
498
- onlineProperty = property.values.find((item) => item.env === 'online');
499
- onlineValue = { ...onlineProperty, ...JSON.parse(onlineProperty?.value || '{}') };
500
- }
501
- }
502
- return {
503
- devProperty,
504
- onlineProperty,
505
- devValue,
506
- onlineValue,
507
- };
515
+ }
516
+
517
+ get dataSourceSqlType() {
518
+ return JSON.parse(this.dataSourceConfig?.devProperty?.value || '{}')?.type;
519
+ }
520
+
521
+ // 获取datasource对应的数据源配置
522
+ get dataSourceConfig() {
523
+ let devProperty = null;
524
+ let onlineProperty = null;
525
+ let devValue = null;
526
+ let onlineValue = null;
527
+
528
+ const dataSourceGroup = (this.rootNode as App).configuration?.getGroup('dataSource');
529
+ if (dataSourceGroup) {
530
+ const property = dataSourceGroup.getProperty(this.name);
531
+ if (property && property.values) {
532
+ devProperty = property.values.find((item) => item.env === 'dev');
533
+ devValue = { ...devProperty, ...JSON.parse(devProperty.value || '{}') };
534
+ onlineProperty = property.values.find((item) => item.env === 'online');
535
+ onlineValue = { ...onlineProperty, ...JSON.parse(onlineProperty?.value || '{}') };
536
+ }
508
537
  }
509
-
510
- __hasDatabaseConfig: Boolean = false;
511
- //================================================================================
512
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
513
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
514
- //================================================================================
538
+ return {
539
+ devProperty,
540
+ onlineProperty,
541
+ devValue,
542
+ onlineValue,
543
+ };
544
+ }
545
+
546
+ __hasDatabaseConfig: Boolean = false;
547
+ //= ===============================================================================
548
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
549
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
550
+ //= ===============================================================================
515
551
  }
516
552
 
517
553
  classMap.DataSource = DataSource;
518
554
  export default DataSource;
519
- //================================================================================
555
+ //= ===============================================================================
520
556
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
521
557
  // 自动生成的代码已结束。下面可以手动编写。
522
- //================================================================================
558
+ //= ===============================================================================