@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
@@ -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
+ //= ===============================================================================