@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,19 +1,18 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import { dataTypesMap } from './basics/types';
2
3
  import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
3
4
  import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
4
- type changeType = 'up' | 'down';
5
5
  import CallQueryComponent from './CallQueryComponent__';
6
6
  import StructureProperty from './StructureProperty__';
7
7
  import Structure from './Structure__';
8
- //================================================================================
8
+ //= ===============================================================================
9
9
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
10
10
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
11
- //================================================================================
11
+ //= ===============================================================================
12
12
  import { EventPayload, Params } from '../common/EventEmitter';
13
13
  import { concept, excludedInJSON, property } from '../decorators';
14
14
 
15
15
  import * as utils from '../utils';
16
- import { v4 as uuidv4 } from 'uuid';
17
16
  import BaseNode from '../common/BaseNode';
18
17
  import classMap from '../common/classMap';
19
18
  import TypeAnnotation from './TypeAnnotation__';
@@ -23,809 +22,844 @@ import Module from './Module__';
23
22
  import App from './App__';
24
23
  import DataSource from './DataSource__';
25
24
 
25
+ type changeType = 'up' | 'down';
26
+
26
27
  /**
27
28
  * 实体属性
28
29
  */
29
30
  @concept('实体属性')
30
31
  export class EntityProperty extends BaseNode {
31
- /**
32
- * 产品概念
33
- */
34
- @property()
35
- concept: 'EntityProperty' = 'EntityProperty';
36
-
37
- /**
38
- * 实体属性名称
39
- */
40
- @property()
41
- name: string = undefined;
42
-
43
- /**
44
- * 唯一标识
45
- */
46
- @property()
47
- uuid: string = uuidv4().replace(/-/g, '');
48
-
49
- /**
50
- * 数据库列名
51
- */
52
- @property()
53
- columnName: string = undefined;
54
-
55
- /**
56
- * 实体属性标题
57
- */
58
- @property()
59
- label: string = undefined;
60
-
61
- /**
62
- * 实体属性描述
63
- */
64
- @property()
65
- description: string = undefined;
66
-
67
- /**
68
- * 类型
69
- */
70
- @property('TypeAnnotation')
71
- typeAnnotation: TypeAnnotation = undefined;
72
-
73
- /**
74
- * 数据库存储类型
75
- */
76
- @property('DatabaseTypeAnnotation')
77
- databaseTypeAnnotation: DatabaseTypeAnnotation = undefined;
78
-
79
- /**
80
- * 是否必填
81
- */
82
- @property()
83
- required: boolean = undefined;
84
-
85
- /**
86
- * 默认值
87
- */
88
- @property()
89
- defaultValue: string = undefined;
90
-
91
- /**
92
- * 当前属性是否为主键
93
- */
94
- @property()
95
- primaryKey: boolean = undefined;
96
-
97
- /**
98
- * 关联实体的命名空间
99
- */
100
- @property()
101
- relationNamespace: string = undefined;
102
-
103
- /**
104
- * 关联实体
105
- */
106
- @property()
107
- relationEntity: string = undefined;
108
-
109
- /**
110
- * 关联属性
111
- */
112
- @property()
113
- relationProperty: string = undefined;
114
-
115
- /**
116
- * 关联属性实体记录删除规则
117
- */
118
- @property()
119
- deleteRule: 'protect' | 'cascade' = undefined;
120
-
121
- /**
122
- * 显示方式
123
- */
124
- @property()
125
- display: { [name: string]: boolean } = {
126
- inDetail: true,
127
- inFilter: true,
128
- inForm: true,
129
- inTable: true,
32
+ /**
33
+ * 产品概念
34
+ */
35
+ @property()
36
+ concept: 'EntityProperty' = 'EntityProperty';
37
+
38
+ /**
39
+ * 实体属性名称
40
+ */
41
+ @property()
42
+ name: string = undefined;
43
+
44
+ /**
45
+ * 唯一标识
46
+ */
47
+ @property()
48
+ uuid: string = uuidv4().replace(/-/g, '');
49
+
50
+ /**
51
+ * 数据库列名
52
+ */
53
+ @property()
54
+ columnName: string = undefined;
55
+
56
+ /**
57
+ * 实体属性标题
58
+ */
59
+ @property()
60
+ label: string = undefined;
61
+
62
+ /**
63
+ * 实体属性描述
64
+ */
65
+ @property()
66
+ description: string = undefined;
67
+
68
+ /**
69
+ * 类型
70
+ */
71
+ @property('TypeAnnotation')
72
+ typeAnnotation: TypeAnnotation = undefined;
73
+
74
+ /**
75
+ * 数据库存储类型
76
+ */
77
+ @property('DatabaseTypeAnnotation')
78
+ databaseTypeAnnotation: DatabaseTypeAnnotation = undefined;
79
+
80
+ /**
81
+ * 是否必填
82
+ */
83
+ @property()
84
+ required: boolean = undefined;
85
+
86
+ /**
87
+ * 默认值
88
+ */
89
+ @property()
90
+ defaultValue: string = undefined;
91
+
92
+ /**
93
+ * 当前属性是否为主键
94
+ */
95
+ @property()
96
+ primaryKey: boolean = undefined;
97
+
98
+ /**
99
+ * 关联实体的命名空间
100
+ */
101
+ @property()
102
+ relationNamespace: string = undefined;
103
+
104
+ /**
105
+ * 关联实体
106
+ */
107
+ @property()
108
+ relationEntity: string = undefined;
109
+
110
+ /**
111
+ * 关联属性
112
+ */
113
+ @property()
114
+ relationProperty: string = undefined;
115
+
116
+ /**
117
+ * 关联属性实体记录删除规则
118
+ */
119
+ @property()
120
+ deleteRule: 'protect' | 'cascade' = undefined;
121
+
122
+ /**
123
+ * 显示方式
124
+ */
125
+ @property()
126
+ display: { [name: string]: boolean } = {
127
+ inDetail: true,
128
+ inFilter: true,
129
+ inForm: true,
130
+ inTable: true,
131
+ };
132
+
133
+ /**
134
+ * 验证规则
135
+ */
136
+ @property()
137
+ rules: Array<string> = [];
138
+
139
+ /**
140
+ * 生成规则
141
+ */
142
+ @property()
143
+ generationRule: 'auto' | 'autoIncrement' | 'manual' = 'auto';
144
+
145
+ /**
146
+ * 表示 Oracle 主键自增时的序列名称
147
+ */
148
+ @property()
149
+ sequence: string = undefined;
150
+
151
+ /**
152
+ * 祖先 Entity
153
+ */
154
+ get entity() {
155
+ return this.getAncestor('Entity') as Entity;
156
+ }
157
+
158
+ /**
159
+ * 祖先 Module
160
+ */
161
+ get module() {
162
+ return this.getAncestor('Module') as Module;
163
+ }
164
+
165
+ /**
166
+ * 祖先 App
167
+ */
168
+ get app() {
169
+ return this.getAncestor('App') as App;
170
+ }
171
+
172
+ /**
173
+ * 祖先 DataSource
174
+ */
175
+ get dataSource() {
176
+ return this.getAncestor('DataSource') as DataSource;
177
+ }
178
+
179
+ /**
180
+ * @param source 需要合并的部分参数
181
+ */
182
+ constructor(source?: Partial<EntityProperty>) {
183
+ // @ts-ignore
184
+ source = { ...EntityProperty.getDefaultOptions(), ...source };
185
+ super(source);
186
+ super.subConstructor(source);
187
+ }
188
+
189
+ getClassName() {
190
+ return 'EntityProperty';
191
+ }
192
+
193
+ static from(source: any, parentNode?: any, parentKey?: string): EntityProperty {
194
+ return super.from(source, parentNode, parentKey) as EntityProperty;
195
+ }
196
+
197
+ /**
198
+ * 从父级删除该节点
199
+ * @internal
200
+ */
201
+ _delete() {
202
+ let params: Params = null;
203
+ if (this.parentNode) {
204
+ params = (this.parentNode as any)?.__removeEntityProperty?.(this);
205
+ }
206
+ return params;
207
+ }
208
+
209
+ /**
210
+ * 设置实体属性标题
211
+ */
212
+ setLabel(label: string) {
213
+ const object = {
214
+ label,
215
+ };
216
+ this.update({
217
+ ...object,
218
+ });
219
+ }
220
+
221
+ /**
222
+ * 设置实体属性描述
223
+ */
224
+ setDescription(description: string) {
225
+ const object = {
226
+ description,
227
+ };
228
+ this.update({
229
+ ...object,
230
+ });
231
+ }
232
+
233
+ /**
234
+ * 设置数据库存储类型
235
+ */
236
+ setDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation) {
237
+ databaseTypeAnnotation._delete();
238
+ const relationOptions = { parentNode: this, parentKey: 'databaseTypeAnnotation' };
239
+ Object.assign(databaseTypeAnnotation, relationOptions);
240
+ const object = {
241
+ databaseTypeAnnotation,
242
+ };
243
+ this.update({
244
+ ...object,
245
+ });
246
+ }
247
+
248
+ /**
249
+ * 设置是否必填
250
+ */
251
+ setRequired(required: boolean) {
252
+ const object = {
253
+ required,
254
+ };
255
+ this.update({
256
+ ...object,
257
+ });
258
+ }
259
+
260
+ /**
261
+ * 设置默认值
262
+ */
263
+ setDefaultValue(defaultValue: string) {
264
+ const object = {
265
+ defaultValue,
266
+ };
267
+ this.update({
268
+ ...object,
269
+ });
270
+ }
271
+
272
+ /**
273
+ * 设置当前属性是否为主键
274
+ */
275
+ setPrimaryKey(primaryKey: boolean) {
276
+ const object = {
277
+ primaryKey,
278
+ };
279
+ this.update({
280
+ ...object,
281
+ });
282
+ }
283
+
284
+ /**
285
+ * 设置生成规则
286
+ */
287
+ setGenerationRule(generationRule: 'auto' | 'autoIncrement' | 'manual') {
288
+ const object = {
289
+ generationRule,
290
+ };
291
+ this.update({
292
+ ...object,
293
+ });
294
+ }
295
+
296
+ /**
297
+ * 删除类型标注
298
+ * @param name 类型标注名称
299
+ */
300
+ removeTypeAnnotation(name: string): void;
301
+
302
+ /**
303
+ * 删除类型标注
304
+ * @param typeAnnotation 已有的类型标注实例
305
+ */
306
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
307
+
308
+ removeTypeAnnotation(options: string | TypeAnnotation) {
309
+ let typeAnnotation: TypeAnnotation;
310
+ if (typeof options === 'string') {
311
+ typeAnnotation = this.typeAnnotation;
312
+ if (!typeAnnotation) {
313
+ throw new Error(`找不到类型标注 ${options}`);
314
+ }
315
+ } else {
316
+ typeAnnotation = options;
317
+ }
318
+ return typeAnnotation.delete();
319
+ }
320
+
321
+ __removeTypeAnnotation(typeAnnotation: TypeAnnotation) {
322
+ const { parentKey } = typeAnnotation;
323
+ const params: Params = {
324
+ parentNode: this,
325
+ parentKey,
326
+ index: -1,
327
+ object: null,
328
+ oldObject: typeAnnotation,
329
+ };
330
+ if (parentKey) {
331
+ params.parentKey = parentKey;
332
+ if (Array.isArray((this as any)[parentKey])) {
333
+ const index = (this as any)[parentKey].indexOf(typeAnnotation);
334
+ ~index && (this as any)[parentKey].splice(index, 1);
335
+ params.index = index;
336
+ } else if ((this as any)[parentKey] === typeAnnotation) {
337
+ params.index = 0;
338
+ (this as any)[parentKey] = undefined;
339
+ }
340
+ }
341
+ return params;
342
+ }
343
+
344
+ /**
345
+ * 删除数据库存储类型
346
+ * @param name 数据库存储类型名称
347
+ */
348
+ removeDatabaseTypeAnnotation(name: string): void;
349
+
350
+ /**
351
+ * 删除数据库存储类型
352
+ * @param databaseTypeAnnotation 已有的数据库存储类型实例
353
+ */
354
+ removeDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation): void;
355
+
356
+ removeDatabaseTypeAnnotation(options: string | DatabaseTypeAnnotation) {
357
+ let databaseTypeAnnotation: DatabaseTypeAnnotation;
358
+ if (typeof options === 'string') {
359
+ databaseTypeAnnotation = this.databaseTypeAnnotation;
360
+ if (!databaseTypeAnnotation) {
361
+ throw new Error(`找不到数据库存储类型 ${options}`);
362
+ }
363
+ } else {
364
+ databaseTypeAnnotation = options;
365
+ }
366
+ return databaseTypeAnnotation.delete();
367
+ }
368
+
369
+ __removeDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation) {
370
+ const { parentKey } = databaseTypeAnnotation;
371
+ const params: Params = {
372
+ parentNode: this,
373
+ parentKey,
374
+ index: -1,
375
+ object: null,
376
+ oldObject: databaseTypeAnnotation,
377
+ };
378
+ if (parentKey) {
379
+ params.parentKey = parentKey;
380
+ if (Array.isArray((this as any)[parentKey])) {
381
+ const index = (this as any)[parentKey].indexOf(databaseTypeAnnotation);
382
+ ~index && (this as any)[parentKey].splice(index, 1);
383
+ params.index = index;
384
+ } else if ((this as any)[parentKey] === databaseTypeAnnotation) {
385
+ params.index = 0;
386
+ (this as any)[parentKey] = undefined;
387
+ }
388
+ }
389
+ return params;
390
+ }
391
+
392
+ //= ===============================================================================
393
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
394
+ // 自动生成的代码已结束。下面可以手动编写。
395
+ //= ===============================================================================
396
+
397
+ /**
398
+ * 设置实体属性名称
399
+ */
400
+ async setName(name: string) {
401
+ const object: any = {
402
+ name,
130
403
  };
131
404
 
132
- /**
133
- * 验证规则
134
- */
135
- @property()
136
- rules: Array<string> = [];
137
-
138
- /**
139
- * 生成规则
140
- */
141
- @property()
142
- generationRule: 'auto' | 'autoIncrement' | 'manual' = 'auto';
143
-
144
- /**
145
- * 表示 Oracle 主键自增时的序列名称
146
- */
147
- @property()
148
- sequence: string = undefined;
149
-
150
- /**
151
- * 祖先 Entity
152
- */
153
- get entity() {
154
- return this.getAncestor('Entity') as Entity;
155
- }
156
- /**
157
- * 祖先 Module
158
- */
159
- get module() {
160
- return this.getAncestor('Module') as Module;
161
- }
162
- /**
163
- * 祖先 App
164
- */
165
- get app() {
166
- return this.getAncestor('App') as App;
167
- }
168
- /**
169
- * 祖先 DataSource
170
- */
171
- get dataSource() {
172
- return this.getAncestor('DataSource') as DataSource;
173
- }
174
-
175
- /**
176
- * @param source 需要合并的部分参数
177
- */
178
- constructor(source?: Partial<EntityProperty>) {
179
- source = Object.assign({}, EntityProperty.getDefaultOptions(), source);
180
- super(source);
181
- super.subConstructor(source);
182
- }
183
- getClassName() {
184
- return 'EntityProperty';
185
- }
186
-
187
- static from(source: any, parentNode?: any, parentKey?: string): EntityProperty {
188
- return super.from(source, parentNode, parentKey) as EntityProperty;
189
- }
190
-
191
- /**
192
- * 从父级删除该节点
193
- * @internal
194
- */
195
- _delete() {
196
- let params: Params = null;
197
- if (this.parentNode) {
198
- params = (this.parentNode as any)?.__removeEntityProperty?.(this);
199
- }
200
- return params;
201
- }
202
- /**
203
- * 设置实体属性标题
204
- */
205
- setLabel(label: string) {
206
- const object = {
207
- label,
208
- };
209
- this.update({
210
- ...object,
211
- });
212
- }
213
-
214
- /**
215
- * 设置实体属性描述
216
- */
217
- setDescription(description: string) {
218
- const object = {
219
- description,
220
- };
221
- this.update({
222
- ...object,
223
- });
224
- }
225
-
226
- /**
227
- * 设置数据库存储类型
228
- */
229
- setDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation) {
230
- databaseTypeAnnotation._delete();
231
- const relationOptions = { parentNode: this, parentKey: 'databaseTypeAnnotation' };
232
- Object.assign(databaseTypeAnnotation, relationOptions);
233
- const object = {
234
- databaseTypeAnnotation,
235
- };
236
- this.update({
237
- ...object,
238
- });
239
- }
240
-
241
- /**
242
- * 设置是否必填
243
- */
244
- setRequired(required: boolean) {
245
- const object = {
246
- required,
247
- };
248
- this.update({
249
- ...object,
250
- });
251
- }
252
-
253
- /**
254
- * 设置默认值
255
- */
256
- setDefaultValue(defaultValue: string) {
257
- const object = {
258
- defaultValue,
259
- };
260
- this.update({
261
- ...object,
262
- });
263
- }
264
-
265
- /**
266
- * 设置当前属性是否为主键
267
- */
268
- setPrimaryKey(primaryKey: boolean) {
269
- const object = {
270
- primaryKey,
271
- };
272
- this.update({
273
- ...object,
274
- });
275
- }
276
-
277
- /**
278
- * 设置生成规则
279
- */
280
- setGenerationRule(generationRule: 'auto' | 'autoIncrement' | 'manual') {
281
- const object = {
282
- generationRule,
283
- };
284
- this.update({
285
- ...object,
286
- });
287
- }
288
-
289
- /**
290
- * 删除类型标注
291
- * @param name 类型标注名称
292
- */
293
- removeTypeAnnotation(name: string): void;
294
-
295
- /**
296
- * 删除类型标注
297
- * @param typeAnnotation 已有的类型标注实例
298
- */
299
- removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
300
-
301
- removeTypeAnnotation(options: string | TypeAnnotation) {
302
- let typeAnnotation: TypeAnnotation;
303
- if (typeof options === 'string') {
304
- typeAnnotation = this.typeAnnotation;
305
- if (!typeAnnotation) {
306
- throw new Error('找不到类型标注 ' + options);
307
- }
405
+ // 列名为初始化时需赋值为属性名,同时需要与其他列名中去重
406
+ if ((this as any).__columnNameInit === false) {
407
+ delete (this as any).__columnNameInit;
408
+ const columnNames = (this.parentNode as Entity).properties.filter((item) => item !== this).map((item) => item.columnName);
409
+ const columnName = utils.unique(name, columnNames, undefined, false);
410
+ object.columnName = columnName;
411
+
412
+ this.update({
413
+ ...object,
414
+ field: 'name',
415
+ });
416
+ return;
417
+ }
418
+
419
+ // 根据 name 格式化列名
420
+ const oldName = this.name;
421
+ const oldColumnName = this.columnName;
422
+ this.name = name;
423
+ this.columnName = name;
424
+ this.__formatColumnName();
425
+ if (this.columnName !== oldColumnName && !(this.parentNode as Entity).isIgnoreFormatTableAndColumnName()) {
426
+ object.columnName = this.columnName;
427
+ }
428
+
429
+ this.name = oldName;
430
+ this.columnName = oldColumnName;
431
+ this.app?.emit('collect:start', { actionMsg: '修改实体属性名' });
432
+ this.update({
433
+ ...object,
434
+ field: 'name',
435
+ });
436
+ await this._effect();
437
+ this.app?.emit('collect:end');
438
+ }
439
+
440
+ /**
441
+ * 设置数据库列名
442
+ */
443
+ setColumnName(columnName: string) {
444
+ const object = {
445
+ columnName,
446
+ };
447
+ this.update({
448
+ ...object,
449
+ });
450
+ }
451
+
452
+ async delete() {
453
+ let actionMsg = '删除实体属性';
454
+ if (this.name) actionMsg += `“${this.name}”`;
455
+ this.app?.emit('collect:start', { actionMsg });
456
+ // 副作用
457
+ await this._effect({ action: 'delete' });
458
+ super.delete();
459
+ this.app?.emit('collect:end');
460
+ }
461
+
462
+ async _effect(options: { action?: 'delete' } = {}) {
463
+ // 处理选中的此字段的 CallQueryComponent
464
+ const callQueryComponents: Set<CallQueryComponent> = new Set();
465
+ const refs = await this.findUsage();
466
+ refs.forEach((val: any) => {
467
+ const loopFindNode = (item: any) => {
468
+ if (item.children) {
469
+ item.children.forEach((i: any) => loopFindNode(i));
308
470
  } else {
309
- typeAnnotation = options;
471
+ const target = item.node?.getAncestor('CallQueryComponent');
472
+ if (target) {
473
+ callQueryComponents.add(target);
474
+ }
310
475
  }
311
- return typeAnnotation.delete();
312
- }
313
-
314
- __removeTypeAnnotation(typeAnnotation: TypeAnnotation) {
315
- const parentKey = typeAnnotation.parentKey;
316
- const params: Params = {
317
- parentNode: this,
318
- parentKey,
319
- index: -1,
320
- object: null,
321
- oldObject: typeAnnotation,
322
- };
323
- if (parentKey) {
324
- params.parentKey = parentKey;
325
- if (Array.isArray((this as any)[parentKey])) {
326
- const index = (this as any)[parentKey].indexOf(typeAnnotation);
327
- ~index && (this as any)[parentKey].splice(index, 1);
328
- params.index = index;
329
- } else if ((this as any)[parentKey] === typeAnnotation) {
330
- params.index = 0;
331
- (this as any)[parentKey] = undefined;
332
- }
476
+ };
477
+ loopFindNode(val);
478
+ });
479
+ callQueryComponents?.forEach((node) => {
480
+ const targetField = node.select.selectFieldElements.find(
481
+ (item) => item.entityAsName === this.parentNode.name && item.propertyName === this.name
482
+ );
483
+ if (targetField) {
484
+ if (options.action === 'delete') {
485
+ // 删除字段对应的 QueryFieldExpression
486
+ targetField.delete();
333
487
  }
334
- return params;
335
- }
336
-
337
- /**
338
- * 删除数据库存储类型
339
- * @param name 数据库存储类型名称
340
- */
341
- removeDatabaseTypeAnnotation(name: string): void;
342
-
343
- /**
344
- * 删除数据库存储类型
345
- * @param databaseTypeAnnotation 已有的数据库存储类型实例
346
- */
347
- removeDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation): void;
348
-
349
- removeDatabaseTypeAnnotation(options: string | DatabaseTypeAnnotation) {
350
- let databaseTypeAnnotation: DatabaseTypeAnnotation;
351
- if (typeof options === 'string') {
352
- databaseTypeAnnotation = this.databaseTypeAnnotation;
353
- if (!databaseTypeAnnotation) {
354
- throw new Error('找不到数据库存储类型 ' + options);
355
- }
356
- } else {
357
- databaseTypeAnnotation = options;
358
- }
359
- return databaseTypeAnnotation.delete();
360
- }
361
-
362
- __removeDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation) {
363
- const parentKey = databaseTypeAnnotation.parentKey;
364
- const params: Params = {
365
- parentNode: this,
366
- parentKey,
367
- index: -1,
368
- object: null,
369
- oldObject: databaseTypeAnnotation,
370
- };
371
- if (parentKey) {
372
- params.parentKey = parentKey;
373
- if (Array.isArray((this as any)[parentKey])) {
374
- const index = (this as any)[parentKey].indexOf(databaseTypeAnnotation);
375
- ~index && (this as any)[parentKey].splice(index, 1);
376
- params.index = index;
377
- } else if ((this as any)[parentKey] === databaseTypeAnnotation) {
378
- params.index = 0;
379
- (this as any)[parentKey] = undefined;
380
- }
381
- }
382
- return params;
383
- }
384
-
385
- //================================================================================
386
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
387
- // 自动生成的代码已结束。下面可以手动编写。
388
- //================================================================================
389
-
390
- /**
391
- * 设置实体属性名称
392
- */
393
- async setName(name: string) {
394
- const object: any = {
395
- name,
396
- };
397
-
398
- // 列名为初始化时需赋值为属性名,同时需要与其他列名中去重
399
- if ((this as any).__columnNameInit === false) {
400
- delete (this as any).__columnNameInit;
401
- const columnNames = (this.parentNode as Entity).properties.filter((item) => item !== this).map((item) => item.columnName);
402
- const columnName = utils.unique(name, columnNames, undefined, false);
403
- object.columnName = columnName;
404
-
405
- this.update({
406
- ...object,
407
- field: 'name',
408
- });
409
- return;
410
- }
411
-
412
- // 根据 name 格式化列名
413
- const oldName = this.name;
414
- const oldColumnName = this.columnName;
415
- this.name = name;
416
- this.columnName = name;
417
- this.__formatColumnName();
418
- if (this.columnName !== oldColumnName && !(this.parentNode as Entity).isIgnoreFormatTableAndColumnName()) {
419
- object.columnName = this.columnName;
420
- }
421
-
422
- this.name = oldName;
423
- this.columnName = oldColumnName;
424
- this.app?.emit('collect:start', { actionMsg: '修改实体属性名' });
425
- this.update({
426
- ...object,
427
- field: 'name',
428
- });
429
- await this._effect();
430
- this.app?.emit('collect:end');
431
- }
432
-
433
- /**
434
- * 设置数据库列名
435
- */
436
- setColumnName(columnName: string) {
437
- const object = {
438
- columnName,
439
- };
440
- this.update({
441
- ...object,
442
- });
443
- }
444
- async delete() {
445
- let actionMsg = '删除实体属性';
446
- if (this.name)
447
- actionMsg += `“${this.name}”`;
448
- this.app?.emit('collect:start', { actionMsg });
449
- // 副作用
450
- await this._effect({ action: 'delete' });
451
- super.delete();
452
- this.app?.emit('collect:end');
453
- }
454
-
455
- async _effect(options: { action?: 'delete' } = {}) {
456
- // 处理选中的此字段的 CallQueryComponent
457
- const callQueryComponents: Set<CallQueryComponent> = new Set();
458
- const refs = await this.findUsage();
459
- refs.forEach((val: any) => {
460
- const loopFindNode = (item: any) => {
461
- if (item.children) {
462
- item.children.forEach((i: any) => loopFindNode(i));
463
- } else {
464
- const target = item.node?.getAncestor('CallQueryComponent');
465
- if (target) {
466
- callQueryComponents.add(target);
467
- }
468
- }
469
- };
470
- loopFindNode(val);
471
- });
472
- callQueryComponents?.forEach((node) => {
473
- const targetField = node.select.selectFieldElements.find((item) => item.entityAsName === this.parentNode.name && item.propertyName === this.name);
474
- if (targetField) {
475
- if (options.action === 'delete') {
476
- // 删除字段对应的 QueryFieldExpression
477
- targetField.delete();
478
- }
479
- // 更新数据结构
480
- node.saveStructure();
481
- }
482
- });
483
- }
484
- /**
485
- * 是否展开
486
- */
487
- @property()
488
- isLeaf: boolean = true;
489
-
490
- /**
491
- * 设置是否必填
492
- */
493
- setSequence(sequence: string) {
494
- const object = {
495
- sequence,
496
- };
497
- this.update({
498
- ...object,
499
- });
500
- }
501
- /**
502
- * 设置是否必填
503
- */
504
- setDisplay(display: { [name: string]: boolean }) {
505
- const object = {
506
- display,
507
- };
508
- this.update({
509
- ...object,
510
- });
511
- }
512
-
513
- setDeleteRule(deleteRule: string) {
514
- const object = {
515
- deleteRule,
516
- };
517
- this.update({
518
- ...object,
519
- });
520
- }
521
-
522
- /**
523
- * 根据全局设置中的数据库命名规则,生成 属性列名
524
- */
525
- genFormatColumnName() {
526
- return (this.parentNode as Entity).genFormatPropertyColumnName(this);
527
- }
528
-
529
- /**
530
- * 根据全局设置中的数据库命名规则,将 属性列名 重命名
531
- * 此方法不会 update
532
- */
533
- __formatColumnName() {
534
- const parentNode = this.parentNode as Entity;
535
- if (parentNode.isIgnoreFormatTableAndColumnName()) {
536
- // if (!this.columnName) {
537
- // this.columnName = this.name;
538
- // }
539
- return;
540
- }
541
-
542
- const newColumnName = this.genFormatColumnName();
543
- if (newColumnName && (!this.columnName || (this.columnName && newColumnName !== this.columnName))) {
544
- this.columnName = newColumnName;
545
- }
546
- }
547
- /**
548
- * 根据全局设置中的数据库命名规则,将 属性列名 重命名
549
- */
550
- formatColumnName() {
551
- const parentNode = this.parentNode as Entity;
552
- if (parentNode.isIgnoreFormatTableAndColumnName()) {
553
- // if (!this.columnName) {
554
- // this.setColumnName(this.name);
555
- // }
556
- return;
557
- }
558
-
559
- const newColumnName = this.genFormatColumnName();
560
- if (newColumnName && (!this.columnName || (this.columnName && newColumnName !== this.columnName))) {
561
- this.setColumnName(newColumnName);
562
- }
563
- }
564
-
565
- @withSourceMap()
566
- toEmbeddedTS(state?: TranslatorState): string {
567
- let code = '';
568
- if (this.relationNamespace && this.relationEntity && this.relationProperty) {
569
- code += `@nasl.annotation.EntityRelation(new ${this.relationNamespace}.${this.relationEntity}().${this.relationProperty})\n`;
570
- code += indent((state?.tabSize || 0) + 2);
571
- // code += indent((state?.tabSize || 0) + 1);
572
- }
573
-
574
- code += this.name;
575
- if (this.typeAnnotation) {
576
- code += ': ';
577
- code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
578
- }
579
- if (this.defaultValue) {
580
- code += '= ' + this.typeAnnotation.getDefaultValue(this.defaultValue);
581
- }
582
- return code;
583
- }
584
- /**
585
- * 设置数据类型
586
- * @param typeAnnotation 类型标注对象
587
- */
588
- setDataType(typeAnnotation: TypeAnnotation): void;
589
- /**
590
- * 设置数据类型
591
- * @param typeAnnotation 类型唯一标识
592
- */
593
- setDataType(typeKey: string): void;
594
- setDataType(typeAnnotation: TypeAnnotation | string) {
595
- if (typeof typeAnnotation === 'string') {
596
- typeAnnotation = dataTypesMap[typeAnnotation];
597
- if (!typeAnnotation)
598
- // eslint-disable-next-line prefer-rest-params
599
- throw new Error('找不到类型:' + arguments[0]);
600
- } else {
601
- typeAnnotation._delete?.();
602
- const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
603
- Object.assign(typeAnnotation, relationOptions);
604
- }
605
- const object = {
606
- typeAnnotation,
607
- };
608
- return this.update({
609
- ...object,
610
- });
611
- }
612
-
613
- public static getDefaultOptions() {
488
+ // 更新数据结构
489
+ node.saveStructure();
490
+ }
491
+ });
492
+ }
493
+
494
+ /**
495
+ * 是否展开
496
+ */
497
+ @property()
498
+ isLeaf: boolean = true;
499
+
500
+ /**
501
+ * 设置是否必填
502
+ */
503
+ setSequence(sequence: string) {
504
+ const object = {
505
+ sequence,
506
+ };
507
+ this.update({
508
+ ...object,
509
+ });
510
+ }
511
+
512
+ /**
513
+ * 设置是否必填
514
+ */
515
+ setDisplay(display: { [name: string]: boolean }) {
516
+ const object = {
517
+ display,
518
+ };
519
+ this.update({
520
+ ...object,
521
+ });
522
+ }
523
+
524
+ setDeleteRule(deleteRule: string) {
525
+ const object = {
526
+ deleteRule,
527
+ };
528
+ this.update({
529
+ ...object,
530
+ });
531
+ }
532
+
533
+ /**
534
+ * 根据全局设置中的数据库命名规则,生成 属性列名
535
+ */
536
+ genFormatColumnName() {
537
+ return (this.parentNode as Entity).genFormatPropertyColumnName(this);
538
+ }
539
+
540
+ /**
541
+ * 根据全局设置中的数据库命名规则,将 属性列名 重命名
542
+ * 此方法不会 update
543
+ */
544
+ __formatColumnName() {
545
+ const parentNode = this.parentNode as Entity;
546
+ if (parentNode.isIgnoreFormatTableAndColumnName()) {
547
+ // if (!this.columnName) {
548
+ // this.columnName = this.name;
549
+ // }
550
+ return;
551
+ }
552
+
553
+ const newColumnName = this.genFormatColumnName();
554
+ if (newColumnName && (!this.columnName || (this.columnName && newColumnName !== this.columnName))) {
555
+ this.columnName = newColumnName;
556
+ }
557
+ }
558
+
559
+ /**
560
+ * 根据全局设置中的数据库命名规则,将 属性列名 重命名
561
+ */
562
+ formatColumnName() {
563
+ const parentNode = this.parentNode as Entity;
564
+ if (parentNode.isIgnoreFormatTableAndColumnName()) {
565
+ // if (!this.columnName) {
566
+ // this.setColumnName(this.name);
567
+ // }
568
+ return;
569
+ }
570
+
571
+ const newColumnName = this.genFormatColumnName();
572
+ if (newColumnName && (!this.columnName || (this.columnName && newColumnName !== this.columnName))) {
573
+ this.setColumnName(newColumnName);
574
+ }
575
+ }
576
+
577
+ @withSourceMap()
578
+ toEmbeddedTS(state?: TranslatorState): string {
579
+ let code = '';
580
+ if (this.relationNamespace && this.relationEntity && this.relationProperty) {
581
+ code += `@nasl.annotation.EntityRelation(new ${this.relationNamespace}.${this.relationEntity}().${this.relationProperty})\n`;
582
+ code += indent((state?.tabSize || 0) + 2);
583
+ // code += indent((state?.tabSize || 0) + 1);
584
+ }
585
+
586
+ code += this.name;
587
+ if (this.typeAnnotation) {
588
+ code += ': ';
589
+ code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
590
+ }
591
+ if (this.defaultValue) {
592
+ code += `= ${this.typeAnnotation.getDefaultValue(this.defaultValue)}`;
593
+ }
594
+ return code;
595
+ }
596
+
597
+ @withSourceMap()
598
+ toNaturalTS(state?: TranslatorState): string {
599
+ let code = '';
600
+ if (this.relationNamespace && this.relationEntity && this.relationProperty) {
601
+ code += `@EntityRelation(() => new ${this.relationEntity}().${this.relationProperty})\n`;
602
+ code += indent(state.tabSize);
603
+ }
604
+
605
+ code += this.name;
606
+ if (this.typeAnnotation) {
607
+ code += ': ';
608
+ code += this.typeAnnotation.toNaturalTS(shiftState(state, code, { inline: true }));
609
+ }
610
+ return code;
611
+ }
612
+
613
+ /**
614
+ * 设置数据类型
615
+ * @param typeAnnotation 类型标注对象
616
+ */
617
+ setDataType(typeAnnotation: TypeAnnotation): void;
618
+ /**
619
+ * 设置数据类型
620
+ * @param typeAnnotation 类型唯一标识
621
+ */
622
+ setDataType(typeKey: string): void;
623
+ setDataType(typeAnnotation: TypeAnnotation | string) {
624
+ if (typeof typeAnnotation === 'string') {
625
+ typeAnnotation = dataTypesMap[typeAnnotation];
626
+ if (!typeAnnotation)
627
+ // eslint-disable-next-line prefer-rest-params
628
+ throw new Error(`找不到类型:${arguments[0]}`);
629
+ } else {
630
+ typeAnnotation._delete?.();
631
+ const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
632
+ Object.assign(typeAnnotation, relationOptions);
633
+ }
634
+ const object = {
635
+ typeAnnotation,
636
+ };
637
+ return this.update({
638
+ ...object,
639
+ });
640
+ }
641
+
642
+ public static getDefaultOptions() {
643
+ return {
644
+ typeAnnotation: {
645
+ concept: 'TypeAnnotation',
646
+ typeKind: 'primitive',
647
+ typeNamespace: 'nasl.core',
648
+ typeName: 'String',
649
+ },
650
+ };
651
+ }
652
+
653
+ /**
654
+ * 关联属性
655
+ */
656
+ clearReference() {
657
+ const object = {
658
+ relationEntity: null as string,
659
+ relationProperty: null as string,
660
+ relationNamespace: null as string,
661
+ };
662
+ this.update({
663
+ ...object,
664
+ });
665
+ }
666
+
667
+ /**
668
+ * 属性上移
669
+ */
670
+ moveUp() {
671
+ const properties = [...(this.parentNode as Entity).properties];
672
+ const propertiesNameList = properties.map((item) => item.name);
673
+ const oldIndex = propertiesNameList.indexOf(this.name);
674
+ this.changeSort(properties, oldIndex, 'up');
675
+ this.parentNode.update({
676
+ properties,
677
+ });
678
+ }
679
+
680
+ /**
681
+ * 属性下移
682
+ */
683
+ moveDown() {
684
+ const properties = [...(this.parentNode as Entity).properties];
685
+ const propertiesNameList = properties.map((item) => item.name);
686
+ const oldIndex = propertiesNameList.indexOf(this.name);
687
+ this.changeSort(properties, oldIndex, 'down');
688
+ this.parentNode.update({
689
+ properties,
690
+ });
691
+ }
692
+ /**
693
+ * 数组移动位置
694
+ */
695
+
696
+ changeSort(arr: any[], index: number, type: changeType) {
697
+ arr.splice(type !== 'up' ? index : index - 1, 1, ...arr.splice(type !== 'up' ? index + 1 : index, 1, arr[type !== 'up' ? index : index - 1]));
698
+ return arr;
699
+ }
700
+
701
+ /**
702
+ * 设置关联实体属性名称
703
+ */
704
+ setRelationProperty(relationProperty: string) {
705
+ const object = {
706
+ relationProperty,
707
+ };
708
+ this.update({
709
+ ...object,
710
+ });
711
+ }
712
+
713
+ /**
714
+ * 设置关联实体实体名称
715
+ */
716
+ setRelationNamespace(relationNamespace: string) {
717
+ const object = {
718
+ relationNamespace,
719
+ };
720
+ this.update({
721
+ ...object,
722
+ });
723
+ }
724
+
725
+ /**
726
+ * 设置关联实体实体名称
727
+ */
728
+ setRelationEntity(relationEntity: string) {
729
+ const object = {
730
+ relationEntity,
731
+ };
732
+ this.update({
733
+ ...object,
734
+ });
735
+ }
736
+
737
+ /**
738
+ * 设置验证规则
739
+ */
740
+ setRules(rules: Array<string>) {
741
+ const object = {
742
+ rules,
743
+ };
744
+ this.update({
745
+ ...object,
746
+ });
747
+ }
748
+
749
+ /**
750
+ * 是否可编辑
751
+ * */
752
+ get readonly() {
753
+ return !!this.module || this.generationRule !== 'manual';
754
+ }
755
+
756
+ // 存储类型信息
757
+ get databaseTypeInfo() {
758
+ const dataSourceSqlType = (this.getAncestor('DataSource') as DataSource)?.dataSourceSqlType;
759
+ const databaseTypeMap = this.app?.__databaseTypeMap?.[dataSourceSqlType] || {};
760
+ const { typeKind, typeName, typeNamespace } = this?.typeAnnotation || {};
761
+ let databaseTypeInfo;
762
+ if (typeNamespace?.endsWith('.enums')) {
763
+ databaseTypeInfo = databaseTypeMap.enum;
764
+ } else {
765
+ databaseTypeInfo = databaseTypeMap[typeKind] || databaseTypeMap[typeName];
766
+ }
767
+ return databaseTypeInfo;
768
+ }
769
+
770
+ // 当前nasl类型对应的存储类型列表
771
+ get dataBaseTypes() {
772
+ return this.databaseTypeInfo?.dataBaseTypes;
773
+ }
774
+
775
+ // 当前nasl类型对应的存储类型Map
776
+ get dataBaseTypeMap() {
777
+ return this.databaseTypeInfo?.dataBaseTypeMap;
778
+ }
779
+
780
+ // 当前nasl类型对应的默认存储类型
781
+ get defaultDataBaseType() {
782
+ return this.databaseTypeInfo?.defaultDataBaseType;
783
+ }
784
+
785
+ // 当前选中的存储类型
786
+ get currentDataBaseType() {
787
+ if (this.databaseTypeAnnotation) {
788
+ const databaseTypeMap = this.dataBaseTypeMap || {};
789
+ const { typeName } = this.databaseTypeAnnotation;
790
+ return databaseTypeMap[typeName];
791
+ }
792
+ const { typeName } = this.typeAnnotation;
793
+ if (typeName === 'String') {
794
+ const defaultDataBaseName = this.inferredDefaultDataBaseName;
795
+ if (defaultDataBaseName && defaultDataBaseName !== this.defaultDataBaseType?.type) {
614
796
  return {
615
- typeAnnotation: {
616
- concept: 'TypeAnnotation',
617
- typeKind: 'primitive',
618
- typeNamespace: 'nasl.core',
619
- typeName: 'String',
620
- },
621
- };
622
- }
623
- /**
624
- * 关联属性
625
- */
626
- clearReference() {
627
- const object = {
628
- relationEntity: null as string,
629
- relationProperty: null as string,
630
- relationNamespace: null as string,
797
+ ...(this.dataBaseTypeMap[defaultDataBaseName] || {}),
631
798
  };
632
- this.update({
633
- ...object,
634
- });
635
- }
636
- /**
637
- * 属性上移
638
- */
639
- moveUp() {
640
- const properties = [...(this.parentNode as Entity).properties];
641
- const propertiesNameList = properties.map((item) => item.name);
642
- const oldIndex = propertiesNameList.indexOf(this.name);
643
- this.changeSort(properties, oldIndex, 'up');
644
- this.parentNode.update({
645
- properties,
646
- });
647
- }
648
- /**
649
- * 属性下移
650
- */
651
- moveDown() {
652
- const properties = [...(this.parentNode as Entity).properties];
653
- const propertiesNameList = properties.map((item) => item.name);
654
- const oldIndex = propertiesNameList.indexOf(this.name);
655
- this.changeSort(properties, oldIndex, 'down');
656
- this.parentNode.update({
657
- properties,
658
- });
659
- }
660
- /**
661
- * 数组移动位置
662
- */
663
-
664
- changeSort(arr: any[], index: number, type: changeType) {
665
- arr.splice(type !== 'up' ? index : index - 1, 1, ...arr.splice(type !== 'up' ? index + 1 : index, 1, arr[type !== 'up' ? index : index - 1]));
666
- return arr;
667
- }
668
-
669
- /**
670
- * 设置关联实体属性名称
671
- */
672
- setRelationProperty(relationProperty: string) {
673
- const object = {
674
- relationProperty,
675
- };
676
- this.update({
677
- ...object,
678
- });
679
- }
680
-
681
- /**
682
- * 设置关联实体实体名称
683
- */
684
- setRelationNamespace(relationNamespace: string) {
685
- const object = {
686
- relationNamespace,
687
- };
688
- this.update({
689
- ...object,
690
- });
691
- }
692
- /**
693
- * 设置关联实体实体名称
694
- */
695
- setRelationEntity(relationEntity: string) {
696
- const object = {
697
- relationEntity,
698
- };
699
- this.update({
700
- ...object,
701
- });
702
- }
703
- /**
704
- * 设置验证规则
705
- */
706
- setRules(rules: Array<string>) {
707
- const object = {
708
- rules,
709
- };
710
- this.update({
711
- ...object,
712
- });
713
- }
714
- /**
715
- * 是否可编辑
716
- * */
717
- get readonly() {
718
- return !!this.module || this.generationRule !== 'manual';
719
- }
720
-
721
- // 存储类型信息
722
- get databaseTypeInfo() {
723
- const dataSourceSqlType = (this.getAncestor('DataSource') as DataSource)?.dataSourceSqlType;
724
- const databaseTypeMap = this.app?.__databaseTypeMap?.[dataSourceSqlType] || {};
725
- const { typeKind, typeName, typeNamespace } = this?.typeAnnotation || {};
726
- let databaseTypeInfo;
727
- if (typeNamespace?.endsWith('.enums')) {
728
- databaseTypeInfo = databaseTypeMap.enum;
729
- } else {
730
- databaseTypeInfo = databaseTypeMap[typeKind] || databaseTypeMap[typeName];
731
- }
732
- return databaseTypeInfo;
733
- }
734
-
735
- // 当前nasl类型对应的存储类型列表
736
- get dataBaseTypes() {
737
- return this.databaseTypeInfo?.dataBaseTypes;
738
- }
739
-
740
- // 当前nasl类型对应的存储类型Map
741
- get dataBaseTypeMap() {
742
- return this.databaseTypeInfo?.dataBaseTypeMap;
743
- }
744
-
745
- // 当前nasl类型对应的默认存储类型
746
- get defaultDataBaseType() {
747
- return this.databaseTypeInfo?.defaultDataBaseType;
748
- }
749
-
750
- // 当前选中的存储类型
751
- get currentDataBaseType() {
752
- if (this.databaseTypeAnnotation) {
753
- const databaseTypeMap = this.dataBaseTypeMap || {};
754
- const typeName = this.databaseTypeAnnotation.typeName;
755
- return databaseTypeMap[typeName];
756
- } else {
757
- const { typeName } = this.typeAnnotation;
758
- if (typeName === 'String') {
759
- const defaultDataBaseName = this.inferredDefaultDataBaseName;
760
- if (defaultDataBaseName && defaultDataBaseName !== this.defaultDataBaseType?.type) {
761
- return {
762
- ...(this.dataBaseTypeMap[defaultDataBaseName] || {}),
763
- };
764
- }
765
- }
766
- return this.defaultDataBaseType;
767
- }
768
- }
769
-
770
- // 根据最大长度推断的默认数据库类型
771
- get inferredDefaultDataBaseName() {
772
- let defaultDataBaseName;
773
- const { typeName } = this.typeAnnotation;
774
- if (typeName === 'String') {
775
- const dataSourceSqlType = (this.getAncestor('DataSource') as DataSource)?.dataSourceSqlType;
776
- let maxLength: any;
777
- const rules = this.rules;
778
- if (Array.isArray(rules)) {
779
- // 是否需要更新规则
780
- rules.forEach((rule) => {
781
- const match = rule.match(/^([^()]+)\(([\d\-.]+)\)$/);
782
- if (match) {
783
- const [, key, value] = match;
784
- if (key === 'maxLength') {
785
- maxLength = value;
786
- }
787
- }
788
- });
799
+ }
800
+ }
801
+ return this.defaultDataBaseType;
802
+ }
803
+
804
+ // 根据最大长度推断的默认数据库类型
805
+ get inferredDefaultDataBaseName() {
806
+ let defaultDataBaseName;
807
+ const { typeName } = this.typeAnnotation;
808
+ if (typeName === 'String') {
809
+ const dataSourceSqlType = (this.getAncestor('DataSource') as DataSource)?.dataSourceSqlType;
810
+ let maxLength: any;
811
+ const { rules } = this;
812
+ if (Array.isArray(rules)) {
813
+ // 是否需要更新规则
814
+ rules.forEach((rule) => {
815
+ const match = rule.match(/^([^()]+)\(([\d\-.]+)\)$/);
816
+ if (match) {
817
+ const [, key, value] = match;
818
+ if (key === 'maxLength') {
819
+ maxLength = value;
789
820
  }
790
- // 不同数据库 最大长度 短、中、长 对应的默认储存类型
791
- const sqlMap: any = {
792
- mysql: {
793
- 255: 'varchar',
794
- 4000: 'text',
795
- 16777215: 'mediumtext',
796
- },
797
- oracle: {
798
- 255: 'varchar2',
799
- 4000: 'clob',
800
- 16777215: 'clob',
801
- },
802
- dameng: {
803
- 255: 'varchar2',
804
- 4000: 'text',
805
- 16777215: 'text',
806
- },
807
- db2: {
808
- 255: 'varchar',
809
- 4000: 'clob',
810
- 16777215: 'clob',
811
- },
812
- };
813
- defaultDataBaseName = sqlMap?.[dataSourceSqlType]?.[maxLength];
814
- }
815
- return defaultDataBaseName;
816
- }
817
-
818
- __showAdvanced: boolean = false;
819
-
820
- //================================================================================
821
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
822
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
823
- //================================================================================
821
+ }
822
+ });
823
+ }
824
+ // 不同数据库 最大长度 短、中、长 对应的默认储存类型
825
+ const sqlMap: any = {
826
+ mysql: {
827
+ 255: 'varchar',
828
+ 4000: 'text',
829
+ 16777215: 'mediumtext',
830
+ },
831
+ oracle: {
832
+ 255: 'varchar2',
833
+ 4000: 'clob',
834
+ 16777215: 'clob',
835
+ },
836
+ dameng: {
837
+ 255: 'varchar2',
838
+ 4000: 'text',
839
+ 16777215: 'text',
840
+ },
841
+ db2: {
842
+ 255: 'varchar',
843
+ 4000: 'clob',
844
+ 16777215: 'clob',
845
+ },
846
+ };
847
+ defaultDataBaseName = sqlMap?.[dataSourceSqlType]?.[maxLength];
848
+ }
849
+ return defaultDataBaseName;
850
+ }
851
+
852
+ __showAdvanced: boolean = false;
853
+
854
+ //= ===============================================================================
855
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
856
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
857
+ //= ===============================================================================
824
858
  }
825
859
 
826
860
  classMap.EntityProperty = EntityProperty;
827
861
  export default EntityProperty;
828
- //================================================================================
862
+ //= ===============================================================================
829
863
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
830
864
  // 自动生成的代码已结束。下面可以手动编写。
831
- //================================================================================
865
+ //= ===============================================================================