@lcap/nasl 3.4.0-beta.3 → 3.4.0-beta.4

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 (880) hide show
  1. package/out/automate/engine/index.d.ts +4 -4
  2. package/out/automate/engine/index.js +363 -363
  3. package/out/automate/engine/operators.d.ts +26 -16
  4. package/out/automate/engine/operators.js +363 -363
  5. package/out/automate/engine/uniqueName.d.ts +12 -12
  6. package/out/automate/engine/uniqueName.js +111 -111
  7. package/out/automate/engine/utils.d.ts +25 -25
  8. package/out/automate/engine/utils.js +443 -443
  9. package/out/automate/engine/viewCache.d.ts +19 -18
  10. package/out/automate/engine/viewCache.js +44 -44
  11. package/out/automate/template/myProcess.d.ts +10 -9
  12. package/out/automate/template/myProcess.js +11501 -11500
  13. package/out/automate/template/myProcess.js.map +1 -1
  14. package/out/automate/upgrader/2.12.d.ts +7 -7
  15. package/out/automate/upgrader/2.12.js +62 -62
  16. package/out/automate/upgrader/2.14-components.d.ts +1115 -1115
  17. package/out/automate/upgrader/2.14-components.js +1086 -1086
  18. package/out/automate/upgrader/2.14.d.ts +10 -10
  19. package/out/automate/upgrader/2.14.js +235 -235
  20. package/out/automate/upgrader/2.14.old.d.ts +1 -1
  21. package/out/automate/upgrader/2.14.old.js +124 -124
  22. package/out/automate/upgrader/2.16.d.ts +10 -10
  23. package/out/automate/upgrader/2.16.js +74 -74
  24. package/out/automate/upgrader/2.17.d.ts +21 -21
  25. package/out/automate/upgrader/2.17.js +556 -556
  26. package/out/automate/upgrader/2.18.d.ts +10 -10
  27. package/out/automate/upgrader/2.18.js +106 -106
  28. package/out/automate/upgrader/2.20.d.ts +17 -17
  29. package/out/automate/upgrader/2.20.js +67 -67
  30. package/out/bak/translator.d.ts +1 -1
  31. package/out/bak/translator.js +143 -143
  32. package/out/breakpoint/generator/AfterStartNode.d.ts +7 -7
  33. package/out/breakpoint/generator/AfterStartNode.js +29 -29
  34. package/out/breakpoint/generator/BeforeEndNode.d.ts +7 -7
  35. package/out/breakpoint/generator/BeforeEndNode.js +27 -27
  36. package/out/breakpoint/generator/BreakpointNode.d.ts +15 -15
  37. package/out/breakpoint/generator/BreakpointNode.js +283 -283
  38. package/out/breakpoint/generator/CallbackNode.d.ts +4 -4
  39. package/out/breakpoint/generator/CallbackNode.js +21 -21
  40. package/out/breakpoint/generator/FragmentNode.d.ts +4 -4
  41. package/out/breakpoint/generator/FragmentNode.js +17 -17
  42. package/out/breakpoint/generator/index.d.ts +4 -4
  43. package/out/breakpoint/generator/index.js +118 -118
  44. package/out/breakpoint/index.d.ts +3 -3
  45. package/out/breakpoint/index.js +19 -19
  46. package/out/breakpoint/shared/constants.d.ts +37 -37
  47. package/out/breakpoint/shared/constants.js +105 -105
  48. package/out/breakpoint/shared/index.d.ts +3 -3
  49. package/out/breakpoint/shared/index.js +32 -32
  50. package/out/breakpoint/shared/operations.d.ts +10 -10
  51. package/out/breakpoint/shared/operations.js +24 -24
  52. package/out/breakpoint/shared/socket.d.ts +48 -48
  53. package/out/breakpoint/shared/socket.js +256 -256
  54. package/out/breakpoint/shared/utils.d.ts +27 -27
  55. package/out/breakpoint/shared/utils.js +228 -228
  56. package/out/breakpoint/store/core.d.ts +80 -80
  57. package/out/breakpoint/store/core.js +415 -415
  58. package/out/breakpoint/store/dock.d.ts +1 -1
  59. package/out/breakpoint/store/dock.js +159 -159
  60. package/out/breakpoint/store/index.d.ts +2 -2
  61. package/out/breakpoint/store/index.js +18 -18
  62. package/out/common/BaseNode.d.ts +347 -334
  63. package/out/common/BaseNode.js +1376 -1325
  64. package/out/common/BaseNode.js.map +1 -1
  65. package/out/common/Command.d.ts +21 -21
  66. package/out/common/Command.js +78 -78
  67. package/out/common/ComponentAPI.d.ts +110 -110
  68. package/out/common/ComponentAPI.js +2 -2
  69. package/out/common/EventEmitter.d.ts +60 -60
  70. package/out/common/EventEmitter.js +68 -68
  71. package/out/common/EventEmitter.js.map +1 -1
  72. package/out/common/Messager.d.ts +91 -91
  73. package/out/common/Messager.js +206 -206
  74. package/out/common/asyncFuncMap.d.ts +2 -2
  75. package/out/common/asyncFuncMap.js +15 -15
  76. package/out/common/index.d.ts +3 -3
  77. package/out/common/index.js +19 -19
  78. package/out/concepts/Abort__.d.ts +28 -26
  79. package/out/concepts/Abort__.js +83 -81
  80. package/out/concepts/Abort__.js.map +1 -1
  81. package/out/concepts/AbstractInterface__.d.ts +22 -0
  82. package/out/concepts/AbstractInterface__.js +60 -0
  83. package/out/concepts/AbstractInterface__.js.map +1 -0
  84. package/out/concepts/Anchor__.d.ts +48 -46
  85. package/out/concepts/Anchor__.js +208 -206
  86. package/out/concepts/Anchor__.js.map +1 -1
  87. package/out/concepts/AnonymousFunction__.d.ts +175 -173
  88. package/out/concepts/AnonymousFunction__.js +548 -546
  89. package/out/concepts/AnonymousFunction__.js.map +1 -1
  90. package/out/concepts/App__.d.ts +1770 -1687
  91. package/out/concepts/App__.js +2777 -2670
  92. package/out/concepts/App__.js.map +1 -1
  93. package/out/concepts/Argument__.d.ts +70 -68
  94. package/out/concepts/Argument__.js +285 -285
  95. package/out/concepts/Argument__.js.map +1 -1
  96. package/out/concepts/Assignee__.d.ts +291 -289
  97. package/out/concepts/Assignee__.js +455 -452
  98. package/out/concepts/Assignee__.js.map +1 -1
  99. package/out/concepts/AssignmentLine__.d.ts +44 -42
  100. package/out/concepts/AssignmentLine__.js +120 -118
  101. package/out/concepts/AssignmentLine__.js.map +1 -1
  102. package/out/concepts/Assignment__.d.ts +77 -75
  103. package/out/concepts/Assignment__.js +328 -327
  104. package/out/concepts/Assignment__.js.map +1 -1
  105. package/out/concepts/Attribute__.d.ts +112 -110
  106. package/out/concepts/Attribute__.js +259 -265
  107. package/out/concepts/Attribute__.js.map +1 -1
  108. package/out/concepts/AuthInterface__.d.ts +38 -36
  109. package/out/concepts/AuthInterface__.js +86 -85
  110. package/out/concepts/AuthInterface__.js.map +1 -1
  111. package/out/concepts/AuthLogicForCallInterface__.d.ts +141 -139
  112. package/out/concepts/AuthLogicForCallInterface__.js +535 -532
  113. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  114. package/out/concepts/AuthLogic__.d.ts +69 -67
  115. package/out/concepts/AuthLogic__.js +222 -221
  116. package/out/concepts/AuthLogic__.js.map +1 -1
  117. package/out/concepts/BackendVariable__.d.ts +148 -146
  118. package/out/concepts/BackendVariable__.js +482 -481
  119. package/out/concepts/BackendVariable__.js.map +1 -1
  120. package/out/concepts/Backend__.d.ts +137 -135
  121. package/out/concepts/Backend__.js +287 -285
  122. package/out/concepts/Backend__.js.map +1 -1
  123. package/out/concepts/BatchAssignment__.d.ts +255 -253
  124. package/out/concepts/BatchAssignment__.js +883 -880
  125. package/out/concepts/BatchAssignment__.js.map +1 -1
  126. package/out/concepts/BinaryExpression__.d.ts +74 -72
  127. package/out/concepts/BinaryExpression__.js +398 -398
  128. package/out/concepts/BinaryExpression__.js.map +1 -1
  129. package/out/concepts/BindAttribute__.d.ts +330 -328
  130. package/out/concepts/BindAttribute__.js +1064 -1071
  131. package/out/concepts/BindAttribute__.js.map +1 -1
  132. package/out/concepts/BindDirective__.d.ts +169 -167
  133. package/out/concepts/BindDirective__.js +558 -562
  134. package/out/concepts/BindDirective__.js.map +1 -1
  135. package/out/concepts/BindEvent__.d.ts +255 -253
  136. package/out/concepts/BindEvent__.js +943 -942
  137. package/out/concepts/BindEvent__.js.map +1 -1
  138. package/out/concepts/BindStyle__.d.ts +142 -140
  139. package/out/concepts/BindStyle__.js +424 -423
  140. package/out/concepts/BindStyle__.js.map +1 -1
  141. package/out/concepts/BooleanLiteral__.d.ts +38 -36
  142. package/out/concepts/BooleanLiteral__.js +109 -108
  143. package/out/concepts/BooleanLiteral__.js.map +1 -1
  144. package/out/concepts/CallAuthInterface__.d.ts +128 -126
  145. package/out/concepts/CallAuthInterface__.js +421 -414
  146. package/out/concepts/CallAuthInterface__.js.map +1 -1
  147. package/out/concepts/CallConnector__.d.ts +49 -47
  148. package/out/concepts/CallConnector__.js +267 -266
  149. package/out/concepts/CallConnector__.js.map +1 -1
  150. package/out/concepts/CallFunction__.d.ts +161 -159
  151. package/out/concepts/CallFunction__.js +589 -568
  152. package/out/concepts/CallFunction__.js.map +1 -1
  153. package/out/concepts/CallInterface__.d.ts +132 -130
  154. package/out/concepts/CallInterface__.js +808 -802
  155. package/out/concepts/CallInterface__.js.map +1 -1
  156. package/out/concepts/CallLogic__.d.ts +233 -231
  157. package/out/concepts/CallLogic__.js +1317 -1319
  158. package/out/concepts/CallLogic__.js.map +1 -1
  159. package/out/concepts/CallQueryComponent__.d.ts +435 -433
  160. package/out/concepts/CallQueryComponent__.js +1313 -1325
  161. package/out/concepts/CallQueryComponent__.js.map +1 -1
  162. package/out/concepts/Comment__.d.ts +35 -33
  163. package/out/concepts/Comment__.js +101 -100
  164. package/out/concepts/Comment__.js.map +1 -1
  165. package/out/concepts/CompletionProperty__.d.ts +107 -105
  166. package/out/concepts/CompletionProperty__.js +279 -283
  167. package/out/concepts/CompletionProperty__.js.map +1 -1
  168. package/out/concepts/ConfigGroup__.d.ts +127 -125
  169. package/out/concepts/ConfigGroup__.js +266 -264
  170. package/out/concepts/ConfigGroup__.js.map +1 -1
  171. package/out/concepts/ConfigPropertyValue__.d.ts +47 -45
  172. package/out/concepts/ConfigPropertyValue__.js +110 -110
  173. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  174. package/out/concepts/ConfigProperty__.d.ts +156 -154
  175. package/out/concepts/ConfigProperty__.js +334 -334
  176. package/out/concepts/ConfigProperty__.js.map +1 -1
  177. package/out/concepts/Configuration__.d.ts +126 -124
  178. package/out/concepts/Configuration__.js +239 -236
  179. package/out/concepts/Configuration__.js.map +1 -1
  180. package/out/concepts/Connection__.d.ts +168 -166
  181. package/out/concepts/Connection__.js +347 -347
  182. package/out/concepts/Connection__.js.map +1 -1
  183. package/out/concepts/ConnectorTrigger__.d.ts +81 -79
  184. package/out/concepts/ConnectorTrigger__.js +160 -161
  185. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  186. package/out/concepts/Connector__.d.ts +929 -570
  187. package/out/concepts/Connector__.js +1346 -907
  188. package/out/concepts/Connector__.js.map +1 -1
  189. package/out/concepts/Constant__.d.ts +121 -119
  190. package/out/concepts/Constant__.js +313 -313
  191. package/out/concepts/Constant__.js.map +1 -1
  192. package/out/concepts/DataSource__.d.ts +171 -169
  193. package/out/concepts/DataSource__.js +477 -477
  194. package/out/concepts/DataSource__.js.map +1 -1
  195. package/out/concepts/DatabaseTypeAnnotation__.d.ts +34 -32
  196. package/out/concepts/DatabaseTypeAnnotation__.js +82 -82
  197. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  198. package/out/concepts/DefaultValue__.d.ts +98 -98
  199. package/out/concepts/DefaultValue__.js +210 -209
  200. package/out/concepts/DefaultValue__.js.map +1 -1
  201. package/out/concepts/Destination__.d.ts +160 -158
  202. package/out/concepts/Destination__.js +804 -804
  203. package/out/concepts/Destination__.js.map +1 -1
  204. package/out/concepts/End__.d.ts +27 -25
  205. package/out/concepts/End__.js +117 -115
  206. package/out/concepts/End__.js.map +1 -1
  207. package/out/concepts/EntityIndex__.d.ts +98 -96
  208. package/out/concepts/EntityIndex__.js +227 -229
  209. package/out/concepts/EntityIndex__.js.map +1 -1
  210. package/out/concepts/EntityProperty__.d.ts +289 -287
  211. package/out/concepts/EntityProperty__.js +883 -888
  212. package/out/concepts/EntityProperty__.js.map +1 -1
  213. package/out/concepts/Entity__.d.ts +342 -340
  214. package/out/concepts/Entity__.js +779 -769
  215. package/out/concepts/Entity__.js.map +1 -1
  216. package/out/concepts/EnumItem__.d.ts +67 -65
  217. package/out/concepts/EnumItem__.js +155 -155
  218. package/out/concepts/EnumItem__.js.map +1 -1
  219. package/out/concepts/Enum__.d.ts +141 -139
  220. package/out/concepts/Enum__.js +341 -341
  221. package/out/concepts/Enum__.js.map +1 -1
  222. package/out/concepts/Event__.d.ts +146 -144
  223. package/out/concepts/Event__.js +261 -263
  224. package/out/concepts/Event__.js.map +1 -1
  225. package/out/concepts/ExternalDestination__.d.ts +78 -76
  226. package/out/concepts/ExternalDestination__.js +292 -291
  227. package/out/concepts/ExternalDestination__.js.map +1 -1
  228. package/out/concepts/ForEachStatement__.d.ts +173 -190
  229. package/out/concepts/ForEachStatement__.js +533 -534
  230. package/out/concepts/ForEachStatement__.js.map +1 -1
  231. package/out/concepts/FrontendLibrary__.d.ts +216 -214
  232. package/out/concepts/FrontendLibrary__.js +374 -372
  233. package/out/concepts/FrontendLibrary__.js.map +1 -1
  234. package/out/concepts/FrontendVariable__.d.ts +24 -22
  235. package/out/concepts/FrontendVariable__.js +66 -63
  236. package/out/concepts/FrontendVariable__.js.map +1 -1
  237. package/out/concepts/Frontend__.d.ts +511 -509
  238. package/out/concepts/Frontend__.js +1043 -1003
  239. package/out/concepts/Frontend__.js.map +1 -1
  240. package/out/concepts/Function__.d.ts +420 -418
  241. package/out/concepts/Function__.js +805 -801
  242. package/out/concepts/Function__.js.map +1 -1
  243. package/out/concepts/I18nInfo__.d.ts +44 -44
  244. package/out/concepts/I18nInfo__.js +110 -110
  245. package/out/concepts/I18nInfo__.js.map +1 -1
  246. package/out/concepts/Identifier__.d.ts +54 -52
  247. package/out/concepts/Identifier__.js +309 -305
  248. package/out/concepts/Identifier__.js.map +1 -1
  249. package/out/concepts/IfStatement__.d.ts +161 -159
  250. package/out/concepts/IfStatement__.js +353 -352
  251. package/out/concepts/IfStatement__.js.map +1 -1
  252. package/out/concepts/Integration__.d.ts +146 -144
  253. package/out/concepts/Integration__.js +301 -298
  254. package/out/concepts/Integration__.js.map +1 -1
  255. package/out/concepts/InterfaceFromExample__.d.ts +88 -0
  256. package/out/concepts/InterfaceFromExample__.js +172 -0
  257. package/out/concepts/InterfaceFromExample__.js.map +1 -0
  258. package/out/concepts/InterfaceParam__.d.ts +151 -144
  259. package/out/concepts/InterfaceParam__.js +354 -346
  260. package/out/concepts/InterfaceParam__.js.map +1 -1
  261. package/out/concepts/Interface__.d.ts +334 -331
  262. package/out/concepts/Interface__.js +923 -910
  263. package/out/concepts/Interface__.js.map +1 -1
  264. package/out/concepts/JSBlock__.d.ts +37 -35
  265. package/out/concepts/JSBlock__.js +113 -112
  266. package/out/concepts/JSBlock__.js.map +1 -1
  267. package/out/concepts/JavaLogic__.d.ts +45 -43
  268. package/out/concepts/JavaLogic__.js +127 -128
  269. package/out/concepts/JavaLogic__.js.map +1 -1
  270. package/out/concepts/LogicItem__.d.ts +154 -152
  271. package/out/concepts/LogicItem__.js +289 -291
  272. package/out/concepts/LogicItem__.js.map +1 -1
  273. package/out/concepts/Logic__.d.ts +648 -644
  274. package/out/concepts/Logic__.js +1967 -1946
  275. package/out/concepts/Logic__.js.map +1 -1
  276. package/out/concepts/MatchCase__.d.ts +261 -259
  277. package/out/concepts/MatchCase__.js +703 -693
  278. package/out/concepts/MatchCase__.js.map +1 -1
  279. package/out/concepts/Match__.d.ts +127 -125
  280. package/out/concepts/Match__.js +697 -695
  281. package/out/concepts/Match__.js.map +1 -1
  282. package/out/concepts/MemberExpression__.d.ts +77 -75
  283. package/out/concepts/MemberExpression__.js +496 -495
  284. package/out/concepts/MemberExpression__.js.map +1 -1
  285. package/out/concepts/MicroApp__.d.ts +54 -52
  286. package/out/concepts/MicroApp__.js +122 -127
  287. package/out/concepts/MicroApp__.js.map +1 -1
  288. package/out/concepts/Module__.d.ts +985 -1236
  289. package/out/concepts/Module__.js +1450 -1756
  290. package/out/concepts/Module__.js.map +1 -1
  291. package/out/concepts/MsgTriggerEvent__.d.ts +140 -138
  292. package/out/concepts/MsgTriggerEvent__.js +239 -236
  293. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  294. package/out/concepts/MsgTriggerLauncher__.d.ts +129 -127
  295. package/out/concepts/MsgTriggerLauncher__.js +234 -232
  296. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  297. package/out/concepts/Namespace__.d.ts +1086 -1070
  298. package/out/concepts/Namespace__.js +1546 -1491
  299. package/out/concepts/Namespace__.js.map +1 -1
  300. package/out/concepts/NewComposite__.d.ts +351 -349
  301. package/out/concepts/NewComposite__.js +1261 -1311
  302. package/out/concepts/NewComposite__.js.map +1 -1
  303. package/out/concepts/NewList__.d.ts +138 -136
  304. package/out/concepts/NewList__.js +455 -449
  305. package/out/concepts/NewList__.js.map +1 -1
  306. package/out/concepts/NewMap__.d.ts +229 -227
  307. package/out/concepts/NewMap__.js +600 -589
  308. package/out/concepts/NewMap__.js.map +1 -1
  309. package/out/concepts/New__.d.ts +23 -21
  310. package/out/concepts/New__.js +71 -69
  311. package/out/concepts/New__.js.map +1 -1
  312. package/out/concepts/NullLiteral__.d.ts +29 -27
  313. package/out/concepts/NullLiteral__.js +84 -82
  314. package/out/concepts/NullLiteral__.js.map +1 -1
  315. package/out/concepts/NumericLiteral__.d.ts +59 -57
  316. package/out/concepts/NumericLiteral__.js +190 -189
  317. package/out/concepts/NumericLiteral__.js.map +1 -1
  318. package/out/concepts/OqlQueryComponent__.d.ts +76 -74
  319. package/out/concepts/OqlQueryComponent__.js +368 -365
  320. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  321. package/out/concepts/OverriddenLogic__.d.ts +637 -635
  322. package/out/concepts/OverriddenLogic__.js +1693 -1691
  323. package/out/concepts/OverriddenLogic__.js.map +1 -1
  324. package/out/concepts/Param__.d.ts +182 -180
  325. package/out/concepts/Param__.js +512 -512
  326. package/out/concepts/Param__.js.map +1 -1
  327. package/out/concepts/Point__.d.ts +34 -32
  328. package/out/concepts/Point__.js +82 -82
  329. package/out/concepts/Point__.js.map +1 -1
  330. package/out/concepts/ProcessComponent__.d.ts +222 -220
  331. package/out/concepts/ProcessComponent__.js +360 -360
  332. package/out/concepts/ProcessComponent__.js.map +1 -1
  333. package/out/concepts/ProcessElement__.d.ts +649 -647
  334. package/out/concepts/ProcessElement__.js +1335 -1334
  335. package/out/concepts/ProcessElement__.js.map +1 -1
  336. package/out/concepts/ProcessOutcome__.d.ts +33 -32
  337. package/out/concepts/ProcessOutcome__.js +108 -92
  338. package/out/concepts/ProcessOutcome__.js.map +1 -1
  339. package/out/concepts/ProcessOutcomes__.d.ts +33 -32
  340. package/out/concepts/ProcessOutcomes__.js +110 -93
  341. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  342. package/out/concepts/Process__.d.ts +616 -614
  343. package/out/concepts/Process__.js +1139 -1135
  344. package/out/concepts/Process__.js.map +1 -1
  345. package/out/concepts/QueryAggregateExpression__.d.ts +54 -52
  346. package/out/concepts/QueryAggregateExpression__.js +159 -159
  347. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  348. package/out/concepts/QueryFieldExpression__.d.ts +56 -54
  349. package/out/concepts/QueryFieldExpression__.js +163 -164
  350. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  351. package/out/concepts/QueryFromExpression__.d.ts +101 -99
  352. package/out/concepts/QueryFromExpression__.js +220 -220
  353. package/out/concepts/QueryFromExpression__.js.map +1 -1
  354. package/out/concepts/QueryGroupByExpression__.d.ts +49 -47
  355. package/out/concepts/QueryGroupByExpression__.js +150 -148
  356. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  357. package/out/concepts/QueryJoinExpression__.d.ts +188 -186
  358. package/out/concepts/QueryJoinExpression__.js +347 -348
  359. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  360. package/out/concepts/QueryLimitExpression__.d.ts +60 -58
  361. package/out/concepts/QueryLimitExpression__.js +172 -171
  362. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  363. package/out/concepts/QueryOrderByExpression__.d.ts +71 -69
  364. package/out/concepts/QueryOrderByExpression__.js +185 -184
  365. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  366. package/out/concepts/QuerySelectExpression__.d.ts +206 -204
  367. package/out/concepts/QuerySelectExpression__.js +311 -308
  368. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  369. package/out/concepts/Rect__.d.ts +42 -40
  370. package/out/concepts/Rect__.js +98 -100
  371. package/out/concepts/Rect__.js.map +1 -1
  372. package/out/concepts/Return__.d.ts +147 -145
  373. package/out/concepts/Return__.js +410 -409
  374. package/out/concepts/Return__.js.map +1 -1
  375. package/out/concepts/Role__.d.ts +65 -63
  376. package/out/concepts/Role__.js +172 -173
  377. package/out/concepts/Role__.js.map +1 -1
  378. package/out/concepts/SelectMembers__.d.ts +145 -143
  379. package/out/concepts/SelectMembers__.js +307 -305
  380. package/out/concepts/SelectMembers__.js.map +1 -1
  381. package/out/concepts/Slot__.d.ts +77 -75
  382. package/out/concepts/Slot__.js +175 -178
  383. package/out/concepts/Slot__.js.map +1 -1
  384. package/out/concepts/SqlQueryComponent__.d.ts +74 -72
  385. package/out/concepts/SqlQueryComponent__.js +291 -292
  386. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  387. package/out/concepts/Start__.d.ts +27 -25
  388. package/out/concepts/Start__.js +76 -74
  389. package/out/concepts/Start__.js.map +1 -1
  390. package/out/concepts/StringInterpolation__.d.ts +118 -116
  391. package/out/concepts/StringInterpolation__.js +275 -272
  392. package/out/concepts/StringInterpolation__.js.map +1 -1
  393. package/out/concepts/StringLiteral__.d.ts +45 -43
  394. package/out/concepts/StringLiteral__.js +165 -157
  395. package/out/concepts/StringLiteral__.js.map +1 -1
  396. package/out/concepts/StructureProperty__.d.ts +150 -148
  397. package/out/concepts/StructureProperty__.js +373 -372
  398. package/out/concepts/StructureProperty__.js.map +1 -1
  399. package/out/concepts/Structure__.d.ts +252 -248
  400. package/out/concepts/Structure__.js +521 -506
  401. package/out/concepts/Structure__.js.map +1 -1
  402. package/out/concepts/SwitchCase__.d.ts +97 -95
  403. package/out/concepts/SwitchCase__.js +287 -281
  404. package/out/concepts/SwitchCase__.js.map +1 -1
  405. package/out/concepts/SwitchStatement__.d.ts +87 -85
  406. package/out/concepts/SwitchStatement__.js +212 -209
  407. package/out/concepts/SwitchStatement__.js.map +1 -1
  408. package/out/concepts/Theme__.d.ts +40 -38
  409. package/out/concepts/Theme__.js +91 -89
  410. package/out/concepts/Theme__.js.map +1 -1
  411. package/out/concepts/Transactional__.d.ts +90 -88
  412. package/out/concepts/Transactional__.js +171 -172
  413. package/out/concepts/Transactional__.js.map +1 -1
  414. package/out/concepts/TriggerEvent__.d.ts +123 -121
  415. package/out/concepts/TriggerEvent__.js +236 -234
  416. package/out/concepts/TriggerEvent__.js.map +1 -1
  417. package/out/concepts/TriggerLauncher__.d.ts +84 -82
  418. package/out/concepts/TriggerLauncher__.js +223 -225
  419. package/out/concepts/TriggerLauncher__.js.map +1 -1
  420. package/out/concepts/TypeAnnotation__.d.ts +304 -299
  421. package/out/concepts/TypeAnnotation__.js +1054 -1025
  422. package/out/concepts/TypeAnnotation__.js.map +1 -1
  423. package/out/concepts/TypeParam__.d.ts +28 -26
  424. package/out/concepts/TypeParam__.js +82 -81
  425. package/out/concepts/TypeParam__.js.map +1 -1
  426. package/out/concepts/UnaryExpression__.d.ts +52 -50
  427. package/out/concepts/UnaryExpression__.js +200 -199
  428. package/out/concepts/UnaryExpression__.js.map +1 -1
  429. package/out/concepts/Unparsed__.d.ts +36 -33
  430. package/out/concepts/Unparsed__.js +103 -102
  431. package/out/concepts/Unparsed__.js.map +1 -1
  432. package/out/concepts/UseComponent__.d.ts +34 -32
  433. package/out/concepts/UseComponent__.js +82 -82
  434. package/out/concepts/UseComponent__.js.map +1 -1
  435. package/out/concepts/ValidationRule__.d.ts +152 -150
  436. package/out/concepts/ValidationRule__.js +531 -525
  437. package/out/concepts/ValidationRule__.js.map +1 -1
  438. package/out/concepts/Variable__.d.ts +167 -165
  439. package/out/concepts/Variable__.js +479 -478
  440. package/out/concepts/Variable__.js.map +1 -1
  441. package/out/concepts/ViewBlock__.d.ts +38 -36
  442. package/out/concepts/ViewBlock__.js +90 -91
  443. package/out/concepts/ViewBlock__.js.map +1 -1
  444. package/out/concepts/ViewComponent__.d.ts +568 -566
  445. package/out/concepts/ViewComponent__.js +819 -816
  446. package/out/concepts/ViewComponent__.js.map +1 -1
  447. package/out/concepts/ViewElement__.d.ts +628 -626
  448. package/out/concepts/ViewElement__.js +2315 -2316
  449. package/out/concepts/ViewElement__.js.map +1 -1
  450. package/out/concepts/View__.d.ts +725 -723
  451. package/out/concepts/View__.js +2219 -2217
  452. package/out/concepts/View__.js.map +1 -1
  453. package/out/concepts/WhileStatement__.d.ts +100 -98
  454. package/out/concepts/WhileStatement__.js +251 -247
  455. package/out/concepts/WhileStatement__.js.map +1 -1
  456. package/out/concepts/basics/constants.d.ts +1 -0
  457. package/out/concepts/basics/constants.js +6 -0
  458. package/out/concepts/basics/constants.js.map +1 -0
  459. package/out/concepts/basics/stdlib/index.d.ts +4 -4
  460. package/out/concepts/basics/stdlib/index.js +44 -44
  461. package/out/concepts/basics/stdlib/nasl.auth.d.ts +7 -7
  462. package/out/concepts/basics/stdlib/nasl.auth.js +163 -163
  463. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -3
  464. package/out/concepts/basics/stdlib/nasl.browser.js +148 -148
  465. package/out/concepts/basics/stdlib/nasl.collection.d.ts +7 -7
  466. package/out/concepts/basics/stdlib/nasl.collection.js +51 -51
  467. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -3
  468. package/out/concepts/basics/stdlib/nasl.configuration.js +55 -55
  469. package/out/concepts/basics/stdlib/nasl.core.d.ts +5 -5
  470. package/out/concepts/basics/stdlib/nasl.core.js +48 -48
  471. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -3
  472. package/out/concepts/basics/stdlib/nasl.event.js +24 -24
  473. package/out/concepts/basics/stdlib/nasl.http.d.ts +7 -7
  474. package/out/concepts/basics/stdlib/nasl.http.js +168 -168
  475. package/out/concepts/basics/stdlib/nasl.interface.d.ts +7 -7
  476. package/out/concepts/basics/stdlib/nasl.interface.js +42 -42
  477. package/out/concepts/basics/stdlib/nasl.io.d.ts +3 -3
  478. package/out/concepts/basics/stdlib/nasl.io.js +51 -51
  479. package/out/concepts/basics/stdlib/nasl.logging.d.ts +3 -3
  480. package/out/concepts/basics/stdlib/nasl.logging.js +55 -55
  481. package/out/concepts/basics/stdlib/nasl.process.d.ts +7 -7
  482. package/out/concepts/basics/stdlib/nasl.process.js +637 -637
  483. package/out/concepts/basics/stdlib/nasl.ui.d.ts +7 -7
  484. package/out/concepts/basics/stdlib/nasl.ui.js +1062 -1062
  485. package/out/concepts/basics/stdlib/nasl.util.d.ts +5 -5
  486. package/out/concepts/basics/stdlib/nasl.util.js +2291 -2291
  487. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  488. package/out/concepts/basics/stdlib/nasl.validation.d.ts +3 -3
  489. package/out/concepts/basics/stdlib/nasl.validation.js +564 -564
  490. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +5 -5
  491. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +25 -25
  492. package/out/concepts/basics/stdlib/timeZone.d.ts +5 -5
  493. package/out/concepts/basics/stdlib/timeZone.js +195 -195
  494. package/out/concepts/basics/types/coreTypeList.d.ts +2 -2
  495. package/out/concepts/basics/types/coreTypeList.js +14 -14
  496. package/out/concepts/basics/types/index.d.ts +16 -16
  497. package/out/concepts/basics/types/index.js +34 -34
  498. package/out/concepts/index.d.ts +6 -6
  499. package/out/concepts/index.js +24 -24
  500. package/out/concepts/index__.d.ts +126 -124
  501. package/out/concepts/index__.js +142 -140
  502. package/out/concepts/index__.js.map +1 -1
  503. package/out/concepts/types__.d.ts +128 -126
  504. package/out/concepts/types__.js +2 -2
  505. package/out/config.d.ts +43 -43
  506. package/out/config.js +71 -71
  507. package/out/decorators/index.d.ts +69 -57
  508. package/out/decorators/index.js +216 -172
  509. package/out/decorators/index.js.map +1 -1
  510. package/out/decorators/promise.d.ts +7 -7
  511. package/out/decorators/promise.js +27 -27
  512. package/out/enums/KEYWORDS.d.ts +6 -6
  513. package/out/enums/KEYWORDS.js +1245 -1243
  514. package/out/enums/KEYWORDS.js.map +1 -1
  515. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -26
  516. package/out/enums/LEVEL_NAME_MAP.js +29 -29
  517. package/out/eventBus.d.ts +3 -3
  518. package/out/eventBus.js +6 -6
  519. package/out/generator/compileComponent.d.ts +11 -11
  520. package/out/generator/compileComponent.js +11 -11
  521. package/out/generator/genBundleFiles.d.ts +34 -34
  522. package/out/generator/genBundleFiles.js +356 -356
  523. package/out/generator/genBundleFiles.js.map +1 -1
  524. package/out/generator/genHash.d.ts +7 -7
  525. package/out/generator/genHash.js +38 -38
  526. package/out/generator/genMetaData.d.ts +31 -31
  527. package/out/generator/genMetaData.js +305 -301
  528. package/out/generator/genMetaData.js.map +1 -1
  529. package/out/generator/genReleaseBody.d.ts +72 -72
  530. package/out/generator/genReleaseBody.js +323 -321
  531. package/out/generator/genReleaseBody.js.map +1 -1
  532. package/out/generator/icestark.d.ts +2 -2
  533. package/out/generator/icestark.js +7 -5
  534. package/out/generator/icestark.js.map +1 -1
  535. package/out/generator/index.d.ts +7 -7
  536. package/out/generator/index.js +23 -23
  537. package/out/generator/microApp.d.ts +2 -2
  538. package/out/generator/microApp.js +35 -35
  539. package/out/generator/permission.d.ts +10 -10
  540. package/out/generator/permission.js +269 -269
  541. package/out/generator/qiankun.d.ts +2 -2
  542. package/out/generator/qiankun.js +6 -4
  543. package/out/generator/qiankun.js.map +1 -1
  544. package/out/generator/styleReplacer.d.ts +3 -3
  545. package/out/generator/styleReplacer.js +67 -67
  546. package/out/index.d.ts +13 -13
  547. package/out/index.js +66 -66
  548. package/out/manager/diagnostic.d.ts +35 -35
  549. package/out/manager/diagnostic.js +62 -62
  550. package/out/manager/stepRecorder.d.ts +20 -20
  551. package/out/manager/stepRecorder.js +108 -108
  552. package/out/natural/componentData.d.ts +31 -31
  553. package/out/natural/componentData.js +84 -84
  554. package/out/natural/genNaturalTS.d.ts +3 -3
  555. package/out/natural/genNaturalTS.js +89 -90
  556. package/out/natural/genNaturalTS.js.map +1 -1
  557. package/out/natural/index.d.ts +2 -2
  558. package/out/natural/index.js +18 -18
  559. package/out/natural/naslStdlibMap.d.ts +2 -2
  560. package/out/natural/naslStdlibMap.js +25 -25
  561. package/out/natural/transformTSCode.d.ts +7 -7
  562. package/out/natural/transformTSCode.js +919 -877
  563. package/out/natural/transformTSCode.js.map +1 -1
  564. package/out/sentry/index.d.ts +34 -34
  565. package/out/sentry/index.js +148 -147
  566. package/out/sentry/index.js.map +1 -1
  567. package/out/server/createUiTs.d.ts +16 -16
  568. package/out/server/createUiTs.js +242 -242
  569. package/out/server/entity2LogicNamespace.d.ts +10 -10
  570. package/out/server/entity2LogicNamespace.js +381 -381
  571. package/out/server/event.d.ts +30 -30
  572. package/out/server/event.js +150 -150
  573. package/out/server/extendBaseNode.d.ts +1 -1
  574. package/out/server/extendBaseNode.js +574 -543
  575. package/out/server/extendBaseNode.js.map +1 -1
  576. package/out/server/formatTsUtils.d.ts +37 -37
  577. package/out/server/formatTsUtils.js +851 -851
  578. package/out/server/getConnector.d.ts +14 -14
  579. package/out/server/getConnector.js +77 -77
  580. package/out/server/getExtensionModules.d.ts +3 -3
  581. package/out/server/getExtensionModules.js +33 -33
  582. package/out/server/getFunctions.d.ts +3 -3
  583. package/out/server/getFunctions.js +19 -19
  584. package/out/server/getInterfaces.d.ts +2 -2
  585. package/out/server/getInterfaces.js +47 -47
  586. package/out/server/getLogging.d.ts +1 -1
  587. package/out/server/getLogging.js +8 -8
  588. package/out/server/getLogics.d.ts +4 -4
  589. package/out/server/getLogics.js +380 -380
  590. package/out/server/getMemberIdentifier.d.ts +17 -17
  591. package/out/server/getMemberIdentifier.js +508 -508
  592. package/out/server/getProcessComponents.d.ts +2 -2
  593. package/out/server/getProcessComponents.js +12 -12
  594. package/out/server/getProcesses.d.ts +33 -33
  595. package/out/server/getProcesses.js +596 -596
  596. package/out/server/getScope.d.ts +13 -13
  597. package/out/server/getScope.js +60 -60
  598. package/out/server/getValidates.d.ts +3 -3
  599. package/out/server/getValidates.js +13 -13
  600. package/out/server/index.d.ts +5 -5
  601. package/out/server/index.js +41 -41
  602. package/out/server/naslServer.d.ts +375 -371
  603. package/out/server/naslServer.js +4706 -4585
  604. package/out/server/naslServer.js.map +1 -1
  605. package/out/server/naslStdlibMap.d.ts +2 -2
  606. package/out/server/naslStdlibMap.js +53 -53
  607. package/out/server/process2LogicNamespace.d.ts +26 -26
  608. package/out/server/process2LogicNamespace.js +108 -108
  609. package/out/server/translator.d.ts +26 -26
  610. package/out/server/translator.js +819 -805
  611. package/out/server/translator.js.map +1 -1
  612. package/out/service/creator/add.configs.d.ts +1 -1
  613. package/out/service/creator/add.configs.js +102 -102
  614. package/out/service/creator/errHandles.d.ts +18 -18
  615. package/out/service/creator/errHandles.js +67 -67
  616. package/out/service/creator/index.d.ts +1 -1
  617. package/out/service/creator/index.js +86 -86
  618. package/out/service/datasource/api.d.ts +12 -12
  619. package/out/service/datasource/api.js +13 -13
  620. package/out/service/datasource/index.d.ts +2 -2
  621. package/out/service/datasource/index.js +9 -9
  622. package/out/service/defaultErrorMessage.json +98 -98
  623. package/out/service/logic/api.d.ts +9 -9
  624. package/out/service/logic/api.js +10 -10
  625. package/out/service/logic/checktypeSocket.d.ts +5 -5
  626. package/out/service/logic/checktypeSocket.js +54 -54
  627. package/out/service/logic/index.d.ts +2 -2
  628. package/out/service/logic/index.js +9 -9
  629. package/out/service/storage/api.d.ts +54 -54
  630. package/out/service/storage/api.js +41 -41
  631. package/out/service/storage/index.d.ts +2 -2
  632. package/out/service/storage/index.js +9 -9
  633. package/out/service/storage/init.d.ts +102 -102
  634. package/out/service/storage/init.js +1161 -1161
  635. package/out/service/storage/jsoner.d.ts +36 -36
  636. package/out/service/storage/jsoner.js +128 -130
  637. package/out/service/storage/jsoner.js.map +1 -1
  638. package/out/service/storage/map.d.ts +4 -4
  639. package/out/service/storage/map.js +53 -53
  640. package/out/service/storage/service.d.ts +25 -25
  641. package/out/service/storage/service.js +79 -79
  642. package/out/service/storage/storagePoint.d.ts +17 -17
  643. package/out/service/storage/storagePoint.js +75 -75
  644. package/out/service/video/BaseService.d.ts +7 -7
  645. package/out/service/video/BaseService.js +60 -60
  646. package/out/service/video/MainCallbackService.d.ts +12 -12
  647. package/out/service/video/MainCallbackService.js +182 -182
  648. package/out/service/video/VideoTranscribe.d.ts +15 -15
  649. package/out/service/video/VideoTranscribe.js +95 -95
  650. package/out/service/video/publishService.d.ts +1 -1
  651. package/out/service/video/publishService.js +57 -57
  652. package/out/templator/genCallComponentLogic.d.ts +17 -17
  653. package/out/templator/genCallComponentLogic.js +28 -28
  654. package/out/templator/genCreateBlock.d.ts +10 -10
  655. package/out/templator/genCreateBlock.js +297 -297
  656. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +8 -8
  657. package/out/templator/genCurdEditMultipleKeyBlock.js +398 -398
  658. package/out/templator/genCurdMultipleKeyBlock.d.ts +34 -34
  659. package/out/templator/genCurdMultipleKeyBlock.js +541 -541
  660. package/out/templator/genEditTableBlock.d.ts +51 -51
  661. package/out/templator/genEditTableBlock.js +255 -255
  662. package/out/templator/genEnumSelectBlock.d.ts +10 -10
  663. package/out/templator/genEnumSelectBlock.js +21 -21
  664. package/out/templator/genGetBlock.d.ts +6 -6
  665. package/out/templator/genGetBlock.js +96 -96
  666. package/out/templator/genGridViewBlock.d.ts +55 -55
  667. package/out/templator/genGridViewBlock.js +286 -286
  668. package/out/templator/genListViewBlock.d.ts +19 -19
  669. package/out/templator/genListViewBlock.js +108 -108
  670. package/out/templator/genQueryComponent.d.ts +34 -34
  671. package/out/templator/genQueryComponent.js +348 -348
  672. package/out/templator/genSelectBlock.d.ts +45 -45
  673. package/out/templator/genSelectBlock.js +340 -340
  674. package/out/templator/genTableBlock.d.ts +53 -53
  675. package/out/templator/genTableBlock.js +226 -226
  676. package/out/templator/genUpdateBlock.d.ts +6 -6
  677. package/out/templator/genUpdateBlock.js +322 -322
  678. package/out/templator/index.d.ts +19 -19
  679. package/out/templator/index.js +37 -37
  680. package/out/templator/utils.d.ts +683 -683
  681. package/out/templator/utils.js +458 -458
  682. package/out/translator/constant.d.ts +6 -6
  683. package/out/translator/constant.js +9 -9
  684. package/out/translator/index.d.ts +3 -3
  685. package/out/translator/index.js +19 -19
  686. package/out/translator/types.d.ts +33 -32
  687. package/out/translator/types.js +2 -2
  688. package/out/translator/utils.d.ts +17 -17
  689. package/out/translator/utils.js +110 -97
  690. package/out/translator/utils.js.map +1 -1
  691. package/out/utils/cookie.d.ts +9 -9
  692. package/out/utils/cookie.js +61 -61
  693. package/out/utils/env.d.ts +2 -2
  694. package/out/utils/env.js +5 -5
  695. package/out/utils/i18nInfo.d.ts +5 -5
  696. package/out/utils/i18nInfo.js +60 -60
  697. package/out/utils/index.d.ts +44 -44
  698. package/out/utils/index.js +200 -200
  699. package/out/utils/logger.d.ts +7 -7
  700. package/out/utils/logger.js +22 -22
  701. package/out/utils/sortTsString.d.ts +1 -1
  702. package/out/utils/sortTsString.js +43 -37
  703. package/out/utils/sortTsString.js.map +1 -1
  704. package/out/utils/string.d.ts +51 -51
  705. package/out/utils/string.js +106 -106
  706. package/out/utils/time-slicing.d.ts +41 -41
  707. package/out/utils/time-slicing.js +81 -81
  708. package/out/utils/traverse.d.ts +36 -36
  709. package/out/utils/traverse.js +142 -142
  710. package/out/utils/types.d.ts +1 -1
  711. package/out/utils/types.js +2 -2
  712. package/out/utils/window.d.ts +7 -7
  713. package/out/utils/window.js +13 -13
  714. package/package.json +8 -8
  715. package/sandbox/stdlib/nasl.oql.ts +6 -1
  716. package/sandbox-natural/stdlib/nasl.core.ts +6 -3
  717. package/sandbox-natural/stdlib/nasl.oql.ts +6 -0
  718. package/sandbox-natural/stdlib/nasl.util.ts +2 -1
  719. package/src/automate/template/myProcess.js +3 -2
  720. package/src/common/BaseNode.ts +108 -51
  721. package/src/concepts/Abort__.ts +4 -1
  722. package/src/concepts/AbstractInterface__.ts +64 -0
  723. package/src/concepts/Anchor__.ts +6 -2
  724. package/src/concepts/AnonymousFunction__.ts +11 -5
  725. package/src/concepts/App__.ts +1648 -1378
  726. package/src/concepts/Argument__.ts +7 -3
  727. package/src/concepts/Assignee__.ts +10 -5
  728. package/src/concepts/AssignmentLine__.ts +3 -0
  729. package/src/concepts/Assignment__.ts +8 -4
  730. package/src/concepts/Attribute__.ts +7 -2
  731. package/src/concepts/AuthInterface__.ts +3 -0
  732. package/src/concepts/AuthLogicForCallInterface__.ts +8 -4
  733. package/src/concepts/AuthLogic__.ts +3 -0
  734. package/src/concepts/BackendVariable__.ts +11 -4
  735. package/src/concepts/Backend__.ts +5 -1
  736. package/src/concepts/BatchAssignment__.ts +13 -8
  737. package/src/concepts/BinaryExpression__.ts +10 -6
  738. package/src/concepts/BindAttribute__.ts +6 -2
  739. package/src/concepts/BindDirective__.ts +11 -4
  740. package/src/concepts/BindEvent__.ts +8 -3
  741. package/src/concepts/BindStyle__.ts +5 -1
  742. package/src/concepts/BooleanLiteral__.ts +4 -1
  743. package/src/concepts/CallAuthInterface__.ts +11 -3
  744. package/src/concepts/CallConnector__.ts +3 -0
  745. package/src/concepts/CallFunction__.ts +41 -15
  746. package/src/concepts/CallInterface__.ts +33 -21
  747. package/src/concepts/CallLogic__.ts +41 -35
  748. package/src/concepts/CallQueryComponent__.ts +11 -14
  749. package/src/concepts/Comment__.ts +3 -0
  750. package/src/concepts/CompletionProperty__.ts +5 -1
  751. package/src/concepts/ConfigGroup__.ts +5 -1
  752. package/src/concepts/ConfigPropertyValue__.ts +3 -0
  753. package/src/concepts/ConfigProperty__.ts +5 -1
  754. package/src/concepts/Configuration__.ts +5 -1
  755. package/src/concepts/Connection__.ts +5 -1
  756. package/src/concepts/ConnectorTrigger__.ts +3 -0
  757. package/src/concepts/Connector__.ts +910 -25
  758. package/src/concepts/Constant__.ts +9 -4
  759. package/src/concepts/DataSource__.ts +5 -1
  760. package/src/concepts/DatabaseTypeAnnotation__.ts +3 -0
  761. package/src/concepts/DefaultValue__.ts +4 -3
  762. package/src/concepts/Destination__.ts +8 -4
  763. package/src/concepts/End__.ts +3 -0
  764. package/src/concepts/EntityIndex__.ts +3 -0
  765. package/src/concepts/EntityProperty__.ts +14 -4
  766. package/src/concepts/Entity__.ts +17 -2
  767. package/src/concepts/EnumItem__.ts +3 -0
  768. package/src/concepts/Enum__.ts +5 -1
  769. package/src/concepts/Event__.ts +5 -1
  770. package/src/concepts/ExternalDestination__.ts +7 -3
  771. package/src/concepts/ForEachStatement__.ts +21 -16
  772. package/src/concepts/FrontendLibrary__.ts +7 -2
  773. package/src/concepts/FrontendVariable__.ts +3 -0
  774. package/src/concepts/Frontend__.ts +59 -14
  775. package/src/concepts/Function__.ts +15 -7
  776. package/src/concepts/I18nInfo__.ts +1 -0
  777. package/src/concepts/Identifier__.ts +9 -2
  778. package/src/concepts/IfStatement__.ts +25 -22
  779. package/src/concepts/Integration__.ts +8 -4
  780. package/src/concepts/InterfaceFromExample__.ts +194 -0
  781. package/src/concepts/InterfaceParam__.ts +20 -4
  782. package/src/concepts/Interface__.ts +51 -25
  783. package/src/concepts/JSBlock__.ts +3 -0
  784. package/src/concepts/JavaLogic__.ts +3 -0
  785. package/src/concepts/LogicItem__.ts +3 -0
  786. package/src/concepts/Logic__.ts +48 -19
  787. package/src/concepts/MatchCase__.ts +16 -5
  788. package/src/concepts/Match__.ts +8 -4
  789. package/src/concepts/MemberExpression__.ts +8 -4
  790. package/src/concepts/MicroApp__.ts +3 -0
  791. package/src/concepts/Module__.ts +286 -893
  792. package/src/concepts/MsgTriggerEvent__.ts +5 -1
  793. package/src/concepts/MsgTriggerLauncher__.ts +6 -2
  794. package/src/concepts/Namespace__.ts +246 -173
  795. package/src/concepts/NewComposite__.ts +54 -103
  796. package/src/concepts/NewList__.ts +27 -18
  797. package/src/concepts/NewMap__.ts +29 -15
  798. package/src/concepts/New__.ts +3 -0
  799. package/src/concepts/NullLiteral__.ts +4 -1
  800. package/src/concepts/NumericLiteral__.ts +6 -2
  801. package/src/concepts/OqlQueryComponent__.ts +8 -1
  802. package/src/concepts/OverriddenLogic__.ts +18 -7
  803. package/src/concepts/Param__.ts +8 -2
  804. package/src/concepts/Point__.ts +3 -0
  805. package/src/concepts/ProcessComponent__.ts +7 -2
  806. package/src/concepts/ProcessElement__.ts +19 -8
  807. package/src/concepts/ProcessOutcome__.ts +20 -2
  808. package/src/concepts/ProcessOutcomes__.ts +20 -2
  809. package/src/concepts/Process__.ts +15 -7
  810. package/src/concepts/QueryAggregateExpression__.ts +5 -1
  811. package/src/concepts/QueryFieldExpression__.ts +3 -0
  812. package/src/concepts/QueryFromExpression__.ts +5 -1
  813. package/src/concepts/QueryGroupByExpression__.ts +5 -1
  814. package/src/concepts/QueryJoinExpression__.ts +5 -1
  815. package/src/concepts/QueryLimitExpression__.ts +5 -1
  816. package/src/concepts/QueryOrderByExpression__.ts +5 -1
  817. package/src/concepts/QuerySelectExpression__.ts +5 -1
  818. package/src/concepts/Rect__.ts +3 -0
  819. package/src/concepts/Return__.ts +9 -3
  820. package/src/concepts/Role__.ts +3 -0
  821. package/src/concepts/SelectMembers__.ts +5 -1
  822. package/src/concepts/Slot__.ts +5 -1
  823. package/src/concepts/SqlQueryComponent__.ts +5 -1
  824. package/src/concepts/Start__.ts +3 -0
  825. package/src/concepts/StringInterpolation__.ts +7 -3
  826. package/src/concepts/StringLiteral__.ts +12 -3
  827. package/src/concepts/StructureProperty__.ts +12 -4
  828. package/src/concepts/Structure__.ts +25 -3
  829. package/src/concepts/SwitchCase__.ts +9 -1
  830. package/src/concepts/SwitchStatement__.ts +7 -3
  831. package/src/concepts/Theme__.ts +3 -0
  832. package/src/concepts/Transactional__.ts +3 -0
  833. package/src/concepts/TriggerEvent__.ts +5 -1
  834. package/src/concepts/TriggerLauncher__.ts +3 -0
  835. package/src/concepts/TypeAnnotation__.ts +62 -23
  836. package/src/concepts/TypeParam__.ts +3 -0
  837. package/src/concepts/UnaryExpression__.ts +8 -4
  838. package/src/concepts/Unparsed__.ts +5 -2
  839. package/src/concepts/UseComponent__.ts +3 -0
  840. package/src/concepts/ValidationRule__.ts +21 -7
  841. package/src/concepts/Variable__.ts +10 -4
  842. package/src/concepts/ViewBlock__.ts +3 -0
  843. package/src/concepts/ViewComponent__.ts +15 -6
  844. package/src/concepts/ViewElement__.ts +13 -5
  845. package/src/concepts/View__.ts +27 -11
  846. package/src/concepts/WhileStatement__.ts +7 -1
  847. package/src/concepts/basics/constants.ts +2 -0
  848. package/src/concepts/basics/stdlib/nasl.util.ts +3 -3
  849. package/src/concepts/index__.ts +2 -0
  850. package/src/concepts/types__.ts +4 -0
  851. package/src/decorators/index.ts +55 -0
  852. package/src/enums/KEYWORDS.ts +2 -0
  853. package/src/generator/genBundleFiles.ts +7 -7
  854. package/src/generator/genMetaData.ts +7 -2
  855. package/src/generator/genReleaseBody.ts +8 -4
  856. package/src/generator/icestark.ts +4 -2
  857. package/src/generator/qiankun.ts +3 -1
  858. package/src/natural/genNaturalTS.ts +5 -6
  859. package/src/natural/transformTSCode.ts +53 -13
  860. package/src/sentry/index.ts +3 -1
  861. package/src/server/extendBaseNode.ts +30 -2
  862. package/src/server/naslServer.ts +142 -22
  863. package/src/server/translator.ts +13 -1
  864. package/src/service/storage/jsoner.ts +2 -2
  865. package/src/translator/types.ts +1 -0
  866. package/src/translator/utils.ts +15 -0
  867. package/src/utils/sortTsString.ts +9 -4
  868. package/test/concepts/call-function/__snapshots__/toEmbeddedTS.spec.ts.snap +26 -0
  869. package/test/concepts/call-function/__snapshots__/toJS.spec.ts.snap +26 -0
  870. package/test/concepts/call-function/constant.ts +5 -0
  871. package/test/concepts/call-function/fixtures/from-string.json +100 -0
  872. package/test/concepts/call-function/fixtures/to-string-global-tz.json +99 -0
  873. package/test/concepts/call-function/fixtures/to-string-no-tz.json +89 -0
  874. package/test/concepts/call-function/fixtures/to-string-user-tz.json +101 -0
  875. package/test/concepts/call-function/fixtures/to-string-utc-tz.json +101 -0
  876. package/test/concepts/call-function/toEmbeddedTS.spec.ts +14 -0
  877. package/test/concepts/call-function/toJS.spec.ts +14 -0
  878. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -3
  879. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +3 -3
  880. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
@@ -1,806 +1,820 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkAStructure_ = exports.naslNodeTranslateMessage = exports.translateDiagnosticMessage = exports.outOriginalvalue = void 0;
4
- const naslServer_1 = require("./naslServer");
5
- const concepts_1 = require("../concepts");
6
- const sortTsString_1 = require("../utils/sortTsString");
7
- const mapAstString = new Map();
8
- function transformType(tsType) {
9
- if (tsType === 'string' || tsType === 'String')
10
- return '字符串';
11
- else if (tsType === 'number')
12
- return '数字';
13
- else if (tsType === 'Integer')
14
- return '整数';
15
- else if (tsType === 'Double')
16
- return '小数';
17
- else if (tsType === 'Decimal')
18
- return '小数';
19
- else if (tsType === 'Long')
20
- return '整数';
21
- else if (tsType === 'DateTime')
22
- return '日期时间';
23
- else if (tsType === 'Date')
24
- return '日期';
25
- else if (tsType === 'Time')
26
- return '时间';
27
- else if (tsType === 'boolean' || tsType === 'Boolean')
28
- return '布尔值';
29
- else if (tsType === 'unknown')
30
- return '未知类型';
31
- else if (tsType === 'Enums')
32
- return '枚举';
33
- else if (tsType === 'views')
34
- return '页面';
35
- else if (tsType === 'void')
36
- return '无返回值';
37
- else if (tsType === '__elements')
38
- return '页面元素';
39
- else if (tsType === '__unknown__')
40
- return '无效';
41
- else if (tsType === 'extensions')
42
- return '拓展模块';
43
- else if (tsType === 'Promise<void>')
44
- return '未知类型';
45
- else if ((tsType.startsWith('{') && tsType.endsWith('}')) || (tsType.startsWith('{') && tsType.endsWith('...'))) {
46
- if (tsType.includes('__name: "AStructure_')) {
47
- return tsType.replace(/__name: "AStructure_\w{8}";/g, '');
48
- }
49
- return '当前节点';
50
- }
51
- else if (tsType.endsWith('[]')) {
52
- return `List<${transformType(tsType.slice(0, -2))}>`;
53
- }
54
- else if (tsType.startsWith('<T extends ') && tsType.endsWith('>() => T')) {
55
- const types = (0, naslServer_1.getDisplayString2Type)(tsType);
56
- let tsStr = '';
57
- types.forEach((item, index) => {
58
- tsStr += index === 0 ? transformType(item) : ' | ' + transformType(item);
59
- });
60
- return tsStr;
61
- }
62
- else if (tsType.includes(' & ')) {
63
- const types = tsType.split(' & ');
64
- let tsStr = '';
65
- types.forEach((item, index) => {
66
- tsStr += index === 0 ? transformType(item) : ' | ' + transformType(item);
67
- });
68
- return tsStr;
69
- }
70
- else if (tsType.includes(' | ')) {
71
- const types = tsType.split(' | ');
72
- let tsStr = '';
73
- types.forEach((item, index) => {
74
- const newItem = item.replace(/[a-zA-Z_]+/g, (text) => transformType(text));
75
- tsStr += index === 0 ? newItem : ' 或 ' + newItem;
76
- });
77
- return tsStr;
78
- }
79
- else {
80
- return tsType;
81
- }
82
- }
83
- const NAMESPACE_CONCEPT_MAP = {
84
- entities: '实体',
85
- structures: '数据结构',
86
- enums: '枚举',
87
- logics: '逻辑',
88
- interfaces: '接口',
89
- views: '页面',
90
- elements: '元素',
91
- processes: '流程',
92
- roles: '角色',
93
- extensions: '扩展模块',
94
- apis: '接口应用',
95
- components: '扩展组件',
96
- properties: '配置参数',
97
- };
98
- function transformNamespace(tsNamespace) {
99
- for (const key in NAMESPACE_CONCEPT_MAP) {
100
- const value = NAMESPACE_CONCEPT_MAP[key];
101
- if (tsNamespace.endsWith(key))
102
- return value;
103
- }
104
- return tsNamespace;
105
- }
106
- function transformMethod(tsMethod) {
107
- if (tsMethod === 'forEach')
108
- return 'ForEach';
109
- else
110
- return tsMethod;
111
- }
112
- function transformIdentifier(identifier) {
113
- if (NAMESPACE_CONCEPT_MAP[identifier])
114
- return NAMESPACE_CONCEPT_MAP[identifier];
115
- else
116
- return ` ${transformType(identifier)} 上的`;
117
- }
118
- function outOriginalvalue(value) {
119
- return value;
120
- }
121
- exports.outOriginalvalue = outOriginalvalue;
122
- const TS_RULES_TYPE_INCONSISTENCY = [
123
- /This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap/,
124
- /Property '(.+?)' is missing in type '(.+?)' but required in type '(.+?)'/,
125
- /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/,
126
- /Type '(.+?)' is not assignable to type '(.+?)'/,
127
- /Type '(.+?)' does not satisfy the constraint '(.+?)'/,
128
- /Type '(.+?)' is missing the following properties from type '(.+?)'/,
129
- ];
130
- const TS_RULES = [
131
- {
132
- re: /Property '(FrontEnd|BackEnd)(.+?)' is private and only accessible within/,
133
- result: '找不到配置参数$2',
134
- transforms: [transformType, transformType],
135
- },
136
- {
137
- re: /Object literal may only specify known properties, and '(.+?)' does not exist in type/,
138
- result: '当前参数$1,不可用。',
139
- transforms: [transformType],
140
- },
141
- {
142
- re: /Object literal may only specify known properties, but '(.+?)' does not exist in type/,
143
- result: '当前参数$1,不可用。',
144
- transforms: [transformType],
145
- },
146
- {
147
- re: /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/,
148
- result: '参数类型不一致!传入类型:$1,接收类型:$2。',
149
- transforms: [transformType, transformType],
150
- },
151
- {
152
- re: /Type '(.+?)' is not assignable to type '(.+?)'/,
153
- result: '左右参数类型不一致!左边类型:$2,右边类型:$1。',
154
- transforms: [transformType, transformType],
155
- },
156
- {
157
- re: /Type '(.+?)' does not satisfy the constraint '(.+?)'/,
158
- result: '参数类型不一致!传入类型:$1,接收类型:$2。',
159
- transforms: [transformType, transformType],
160
- },
161
- {
162
- re: /This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap/,
163
- result: '左右参数类型不一致!左边类型:$2,右边类型:$3。',
164
- transforms: [transformType, transformType, transformType],
165
- },
166
- {
167
- re: /Type '(.+?)' is missing the following properties from type '(.+?)'/,
168
- result: '类型不一致!左边类型:$2,右边类型:$1。',
169
- transforms: [transformType, transformType],
170
- },
171
- {
172
- re: /Property '(.+?)' is missing in type '(.+?)' but required in type '(.+?)'/,
173
- result: '类型不一致!左边类型:$3,右边类型:$2。',
174
- transforms: [outOriginalvalue, transformType, transformType],
175
- },
176
- {
177
- re: /object literal cannot have multiple properties with the same name/,
178
- result: '不能具有多个名称相同的属性。',
179
- },
180
- {
181
- re: /Invalid character/,
182
- result: '无效的字符',
183
- },
184
- {
185
- // This expression is not callable.\n Type 'Entity1' has no call signatures.
186
- re: /This expression is not callable.\s*Type '(.+?)' has no call signatures/,
187
- result: '此表达式不可用。',
188
- },
189
- {
190
- re: /Expression expected/,
191
- result: '表达式不能为空。',
192
- },
193
- {
194
- re: /Cannot find name '__(?:IDENTIFIER|LEFT|RIGHT)__'/,
195
- result: '表达式不能为空。',
196
- },
197
- {
198
- re: /Cannot find name '__(?:FRONTENDVARIABLES)__'/,
199
- result: '前端全局变量:不可在非页面下使用。',
200
- },
201
- {
202
- re: /Cannot find name '__(?:QueryFieldExpression)__'/,
203
- result: '数据查询:实体属性不能为空。',
204
- },
205
- {
206
- re: /Cannot find name '__(?:WHERE_MULTIPLE_CONDITION)__'/,
207
- result: '数据查询:筛选条件不能有多个表达式。',
208
- },
209
- {
210
- re: /Cannot find name '__(?:HAVING_MULTIPLE_CONDITION)__'/,
211
- result: '数据查询:聚合属性过滤不能有多个表达式。',
212
- },
213
- {
214
- re: /Cannot find name '__(?:EMPTY_AGGREGATE_NAME)__'/,
215
- result: '数据查询:聚合函数名称不能为空。',
216
- },
217
- {
218
- re: /Cannot find name '__(?:EMPTY_AGGREGATE_ALIAS)__'/,
219
- result: '数据查询:聚合函数别名不能为空。',
220
- },
221
- {
222
- re: /Cannot find name '__(?:EMPTY_GROUP_BY_NAME)__'/,
223
- result: '数据查询:分组属性不能为空。',
224
- },
225
- {
226
- re: /Cannot find name '__(?:EMPTY_GROUP_BY_ALIAS)__'/,
227
- result: '分组属性别名不能为空。',
228
- },
229
- {
230
- re: /Cannot find name '__(?:SQL_GRAMMAR_ERROR)__'/,
231
- result: 'SQL查询:语句可能有异常。',
232
- },
233
- {
234
- re: /Cannot find name '__(?:OQL_GRAMMAR_ERROR)__'/,
235
- result: 'SQL查询:语句可能有异常。',
236
- },
237
- {
238
- re: /Cannot find name '__(?:OQL_ALIAS_WARNING)__'/,
239
- result: 'SQL查询:别名不符合规范。',
240
- },
241
- {
242
- re: /Cannot find name '__(?:OQL_EMPTY_ERROR)__'/,
243
- result: 'SQL查询:语句不能为空。',
244
- },
245
- {
246
- re: /Cannot find name '__(?:NO_SELECT_TYPE)__'/,
247
- result: '未选择返回数据类型',
248
- },
249
- {
250
- re: /'_unsupported_syntax_lcap'/,
251
- result: 'SQL查询:不支持的使用方式',
252
- },
253
- {
254
- re: /Cannot find name '__UsersEmpty__'./,
255
- result: '任务完成人为空',
256
- },
257
- {
258
- re: /Cannot find name '__assignmentLineEmpty__'./,
259
- result: '批量赋值没有连线',
260
- },
261
- {
262
- re: /Cannot find name '__ValidationRule__'./,
263
- result: '校验规则不能为空',
264
- },
265
- {
266
- re: /No value exists in scope for the shorthand property '__(?:IDENTIFIER|LEFT|RIGHT)__'. Either declare one or provide an initializer./,
267
- result: '用户任务未关联页面',
268
- },
269
- {
270
- re: /No value exists in scope for the shorthand property '__(?:outOfProcess)__'. Either declare one or provide an initializer./,
271
- result: '节点未关联到流程图',
272
- },
273
- {
274
- re: /'(.+?)' has no exported member(?: named)? '(.+?)'/,
275
- result: '找不到接口$1 $2。',
276
- transforms: [transformNamespace, transformType],
277
- },
278
- {
279
- re: /Unreachable code detected\./,
280
- result: '逻辑中有未使用的。',
281
- },
282
- {
283
- re: /Property '__slice' does not exist on type '(.+?)'/,
284
- result: 'ForEach:循环列表:参数类型不匹配!所需类型:数组、集合等,提供类型:$1',
285
- transforms: [transformType],
286
- },
287
- {
288
- re: /Property '(.+?)' does not exist on type 'typeof (.+?)'/,
289
- result: '找不到$2 $1。',
290
- transforms: [transformMethod, transformIdentifier],
291
- },
292
- {
293
- re: /Property '(.+?)' does not exist on type '(.+?)'/,
294
- result: '找不到$2 $1。',
295
- transforms: [transformMethod, transformIdentifier],
296
- },
297
- {
298
- re: /Cannot find name '(.+?)'. Did you mean '(.+?)'\?/,
299
- result: '找不到 $1。',
300
- transforms: [outOriginalvalue, outOriginalvalue],
301
- },
302
- {
303
- re: /Expected (.+?) type arguments, but got (.+?)/,
304
- result: '预期 $1 个类型参数,但传入了 $2 个。',
305
- transforms: [outOriginalvalue, outOriginalvalue],
306
- },
307
- {
308
- re: /Expected (.+?) arguments, but got (.+?)./,
309
- result: '预期 $1 个参数,但传入了 $2 个。',
310
- transforms: [outOriginalvalue, outOriginalvalue],
311
- },
312
- {
313
- re: /The (.+?)-hand side of an arithmetic operation must be of type (.+?). type./,
314
- result: '表达式错误!',
315
- transforms: [outOriginalvalue, outOriginalvalue],
316
- },
317
- {
318
- re: /Operator '(.+?)' cannot be applied to types '(.+?)' and '(.+?)'./,
319
- result: '符号:$1 参数类型不匹配!所需类型:基础类型>$2,提供类型:$3。',
320
- transforms: [outOriginalvalue, transformType, transformType],
321
- },
322
- {
323
- re: /Object is possibly 'undefined'./,
324
- result: '所选择的内容未定义。',
325
- },
326
- {
327
- re: /Cannot find name '(.+?)'./,
328
- result: '所选择的内容 $1 未定义。',
329
- transforms: [outOriginalvalue],
330
- },
331
- {
332
- re: /Duplicate identifier '(.+?)'./,
333
- result: '当前内容中有重复的 $1,可能会影响使用。',
334
- transforms: [outOriginalvalue],
335
- },
336
- {
337
- re: /'__LogicEmpty' is declared but its value is never read./,
338
- result: '逻辑为空,请编辑内容',
339
- },
340
- {
341
- re: /'__destinationEmpty__' is declared but its value is never read./,
342
- result: '任务未关联页面',
343
- },
344
- {
345
- re: /'__devConfigValueEmpty' is declared but its value is never read./,
346
- result: '配置参数开发环境取值未设置',
347
- },
348
- {
349
- re: /'__onlineConfigValueEmpty' is declared but its value is never read./,
350
- result: '配置参数生产环境取值未设置',
351
- },
352
- {
353
- re: /Variable '(.+?)' implicitly has an 'any' type./,
354
- result: '$1推导不出类型!请连线或手动设置',
355
- transforms: [transformType],
356
- },
357
- {
358
- re: /'(.+?)' refers to a value, but is being used as a type here. Did you mean 'typeof (.+?)'?/,
359
- result: '$1未初始化!请连线',
360
- transforms: [transformType],
361
- },
362
- ];
363
- const POST_RULES = [
364
- {
365
- re: /__IDENTIFIER__/g,
366
- result: 'undefined',
367
- },
368
- {
369
- re: /Integer|"Integer"/g,
370
- result: '整数',
371
- },
372
- {
373
- re: /Long|"Long"/g,
374
- result: '整数',
375
- },
376
- {
377
- re: /Double|"Double"/g,
378
- result: '小数',
379
- },
380
- {
381
- re: /Decimal|"Decimal"/g,
382
- result: '小数',
383
- },
384
- {
385
- re: /String|"String"/g,
386
- result: '字符串',
387
- },
388
- {
389
- re: /Boolean|"Boolean"/g,
390
- result: '布尔值',
391
- },
392
- {
393
- re: /never/g,
394
- result: '未知类型',
395
- },
396
- // 匿名数据结构去掉冗余展示 __name: "AStructure_\w{8}"
397
- {
398
- re: /__name: "AStructure_\w{8}";/g,
399
- result: '',
400
- },
401
- ];
402
- Object.keys(NAMESPACE_CONCEPT_MAP).forEach((key) => {
403
- POST_RULES.push({
404
- re: new RegExp(key, 'g'),
405
- result: NAMESPACE_CONCEPT_MAP[key],
406
- });
407
- });
408
- function translateDiagnosticMessage(message) {
409
- for (const rule of TS_RULES) {
410
- const cap = rule.re.exec(message);
411
- if (cap) {
412
- return rule.result.replace(/\$(\d+)/g, (m, index) => rule.transforms[index - 1](cap[index]));
413
- }
414
- }
415
- return message;
416
- }
417
- exports.translateDiagnosticMessage = translateDiagnosticMessage;
418
- /**
419
- * 节点和ts 报错结合,转成更精准的ts报错
420
- * @param minRange
421
- * @param tsErrorDetail 报错具体信息
422
- * @returns
423
- */
424
- function naslNodeTranslateMessage(minRange, tsErrorDetail) {
425
- const text = tsErrorDetail?.originalDiagnostic?.text;
426
- let node = minRange?.node;
427
- const logicAncestor = node.getAncestor('Logic') || {};
428
- const { parentNode = { concept: '' } } = logicAncestor;
429
- const isFELogic = ['BindEvent', 'View'].includes(parentNode.concept);
430
- // 有一些节点报错信息不向外暴露,缺失一些原生标签等等的展示
431
- if (node instanceof concepts_1.View || node instanceof concepts_1.ViewElement) {
432
- if (text.startsWith(`'nasl.ui' has no exported member named `)) {
433
- return null;
434
- }
435
- else if (text.startsWith(`Property '`) && text.includes(`does not exist on type 'typeof ui'.`)) {
436
- return null;
437
- }
438
- else if (text.startsWith(`Namespace 'nasl.ui' has no exported member `)) {
439
- return null;
440
- }
441
- else if (text.startsWith(`Function expression, which lacks return-type annotation, implicitly has an 'any[]' return type.`)) {
442
- return null;
443
- }
444
- }
445
- // 处理bindevent参数没传递的报错
446
- if (/Expected (.+?) arguments, but got (.+?)./.exec(text)) {
447
- // bindevent本身现在就不传参数
448
- if (node instanceof concepts_1.BindEvent) {
449
- return null;
450
- }
451
- if (node instanceof concepts_1.ProcessElement && (node.isUserTask || node.type === 'AutoTask' || node.type === 'StartNoneEvent')) {
452
- const reg = /Expected (.+?) arguments, but got (.+?)./.exec(text);
453
- let u;
454
- switch (node.type) {
455
- case 'UserTask':
456
- u = '用户任务';
457
- break;
458
- case 'AutoTask':
459
- u = '自动任务';
460
- break;
461
- case 'ApprovalTask':
462
- u = '审批任务';
463
- break;
464
- case 'InitiateTask':
465
- u = '发起任务';
466
- break;
467
- default:
468
- u = '任务';
469
- }
470
- if (reg[2] === '0') {
471
- tsErrorDetail.message = `${u}出口顺序流个数不能是0`;
472
- }
473
- else {
474
- tsErrorDetail.message = `${u}出口顺序流个数不能大于1`;
475
- }
476
- if (node.type === 'StartNoneEvent') {
477
- tsErrorDetail.message = `开始节点只能有一个出口顺序流`;
478
- }
479
- }
480
- if (node instanceof concepts_1.ProcessElement && ['ExclusiveGateway', 'ParallelGateway', 'InclusiveGateway'].includes(node.type)) {
481
- const reg = /Expected (.+?) arguments, but got (.+?)./.exec(text);
482
- let u = '排他网关';
483
- if (node.type === 'ParallelGateway') {
484
- u = '并行网关';
485
- }
486
- else if (node.type === 'InclusiveGateway') {
487
- u = '包容网关';
488
- }
489
- if (reg[2] === '0') {
490
- tsErrorDetail.message = `${u}出口顺序流和入口顺序流个数不能等于0`;
491
- }
492
- else {
493
- tsErrorDetail.message = `${u}出口顺序流和入口顺序流个数同时等于1,该${u}没有意义`;
494
- }
495
- }
496
- }
497
- // 因为缺少参数时候有可能有特殊情况,因为原本少的多了就会找到 callLogic上,
498
- // 但是只少一个的时候就会找到准确的Argument上 需要特殊处理, ui层就可以统一处理
499
- if (/Expected (.+?) arguments, but got (.+?)./.exec(text) && node.getAncestor('CallLogic')) {
500
- node = node.getAncestor('CallLogic');
501
- }
502
- // 赋值左右侧类型不一致, 把文字换一下
503
- if (/Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text)) {
504
- if (node instanceof concepts_1.OqlQueryComponent) {
505
- tsErrorDetail.message = tsErrorDetail.message
506
- .replace('参数类型不一致!传入类型:', '类型不一致!传入类型:')
507
- .replace('接收类型:', '期望类型:');
508
- }
509
- else if (node.parentNode instanceof concepts_1.Assignment) {
510
- // OQL 的返回类型报错需要转换翻译,其内部 SQL 语句的参数类型报错不转换翻译
511
- if (node instanceof concepts_1.OqlQueryComponent) {
512
- if (node.getCurrentSource().currentSource.start.line + 1 === tsErrorDetail.originalDiagnostic.start.line) {
513
- tsErrorDetail.message = tsErrorDetail.message
514
- .replace('参数类型不一致!传入类型:', '赋值:类型不一致!右边类型:')
515
- .replace('接收类型:', '左边类型:');
516
- }
517
- }
518
- else {
519
- // node = node.getAncestor('CallLogic');
520
- tsErrorDetail.message = tsErrorDetail.message
521
- .replace('参数类型不一致!传入类型:', '赋值:类型不一致!右边类型:')
522
- .replace('接收类型:', '左边类型:');
523
- }
524
- }
525
- else if (node.parentNode instanceof concepts_1.NewMap) {
526
- if (text.includes(`is not assignable to parameter of type 'None'`)) {
527
- const cap = /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text);
528
- tsErrorDetail.message = tsErrorDetail.message = `参数类型不一致!传入类型:${transformType(cap[1])},接收类型:字符串 或 布尔值 或 整数 或 小数`;
529
- }
530
- else if (text.includes(`parameter of type 'never'`)) {
531
- tsErrorDetail.message = '自动推导不出类型!newMap中有未知类型';
532
- }
533
- }
534
- else if (node.parentNode instanceof concepts_1.NewList && text.includes(`parameter of type 'never'`)) {
535
- tsErrorDetail.message = '自动推导不出类型!newList中有未知类型';
536
- }
537
- }
538
- if (node instanceof concepts_1.Argument || node instanceof concepts_1.Anchor) {
539
- // if (/Type '(.+?)' is not assignable to type '(.+?)'./.exec(text)) {
540
- // }
541
- // Argument在callInterface上的报错放到内部
542
- if (node.expression) {
543
- node = node.expression;
544
- }
545
- }
546
- if (node instanceof concepts_1.AnonymousFunction) {
547
- if (node.body)
548
- node = node.body;
549
- }
550
- else if (node instanceof concepts_1.Function) {
551
- if (node.returnExpression)
552
- node = node.returnExpression;
553
- }
554
- // 处理一些复制过来的内容 Identifier或者MemberExpression内容缺失,错误要像上冒
555
- if (node instanceof concepts_1.Identifier || node instanceof concepts_1.MemberExpression) {
556
- if (node.parentNode instanceof concepts_1.MemberExpression) {
557
- let parentNode = node;
558
- while (parentNode && parentNode.parentNode instanceof concepts_1.MemberExpression) {
559
- parentNode = parentNode.parentNode;
560
- }
561
- node = parentNode || node;
562
- let str = tsErrorDetail.message;
563
- str = node.constructor.nodeTitle + ':' + str;
564
- tsErrorDetail.message = str;
565
- }
566
- }
567
- // 类型报错的,需要放到上一级
568
- if (/'(.+?)' has no exported member(?: named)? '(.+?)'/.exec(text) || /Property '(.+?)' does not exist on type '(.+?)'./.exec(text)) {
569
- if (node instanceof concepts_1.TypeAnnotation) {
570
- // 变量type的报错放到type本身上
571
- // node = node.parentNode;
572
- let str = tsErrorDetail.message;
573
- if (node) {
574
- str = node.parentNode.constructor.nodeTitle + ':' + str;
575
- }
576
- tsErrorDetail.message = str;
577
- }
578
- }
579
- /**
580
- * 所有问题的报错处理具体信息
581
- * 转成一个最合理的文案
582
- */
583
- if (/^Cannot find name '__(?:IDENTIFIER|LEFT|RIGHT)__'\.$/.exec(text)) {
584
- if (node instanceof concepts_1.IfStatement || node instanceof concepts_1.SwitchCase || node instanceof concepts_1.WhileStatement) {
585
- tsErrorDetail.message = node.constructor.nodeTitle + ':参数不能为空!所需类型:基础类型>布尔值';
586
- }
587
- else if (node instanceof concepts_1.ForEachStatement) {
588
- tsErrorDetail.message = 'ForEach:结束值:不能为空!所需类型:基础类型>整数';
589
- }
590
- else if (node instanceof concepts_1.UnaryExpression) {
591
- tsErrorDetail.message = '!:参数不能为空!';
592
- }
593
- else if (node instanceof concepts_1.Assignment) {
594
- tsErrorDetail.message = '赋值:参数不能为空!';
595
- }
596
- else if (node instanceof concepts_1.BatchAssignment) {
597
- tsErrorDetail.message = '批量赋值:参数不能为空';
598
- }
599
- else if ((node instanceof concepts_1.Argument && node.parentNode instanceof concepts_1.CallInterface) || node instanceof concepts_1.CallInterface) {
600
- tsErrorDetail.message = '调用接口:参数不能为空!';
601
- }
602
- else if ((node instanceof concepts_1.Argument && node.parentNode instanceof concepts_1.CallFunction) || node instanceof concepts_1.CallFunction) {
603
- tsErrorDetail.message = '调用函数:参数不能为空!';
604
- }
605
- else if ((node instanceof concepts_1.Argument && node.parentNode instanceof concepts_1.CallLogic) || node instanceof concepts_1.CallLogic) {
606
- tsErrorDetail.message = '调用逻辑:参数不能为空!';
607
- }
608
- else if (node instanceof concepts_1.ProcessOutcome || node instanceof concepts_1.Function || node instanceof concepts_1.MatchCase) {
609
- tsErrorDetail.message = node.constructor.nodeTitle + ':不能为空!';
610
- }
611
- else if (node instanceof concepts_1.NewMap) {
612
- tsErrorDetail.message = 'Map推导不出类型!请手动设置!';
613
- }
614
- else if (node instanceof concepts_1.NewList) {
615
- tsErrorDetail.message = 'List推导不出类型!请手动设置!';
616
- }
617
- else if (node instanceof concepts_1.Argument) {
618
- let str = tsErrorDetail.message;
619
- str = node.parentNode.constructor.nodeTitle + ':' + str;
620
- tsErrorDetail.message = str;
621
- }
622
- else if (node instanceof concepts_1.TypeAnnotation) {
623
- // 如果是TypeAnnotation 嵌套TypeAnnotation,就往上冒,多是那种T嵌套的
624
- let str = tsErrorDetail.message;
625
- // TypeAnnotation要冒泡到最上面
626
- while (node.parentNode && node.parentNode instanceof concepts_1.TypeAnnotation) {
627
- node = node.parentNode;
628
- }
629
- str = node.parentNode.constructor.nodeTitle + ':' + str;
630
- tsErrorDetail.message = str;
631
- }
632
- else if (node instanceof concepts_1.Identifier) {
633
- // 根据父级内容推断当前缺少啥
634
- const identifierToString = (node) => {
635
- let str = tsErrorDetail.message;
636
- if (node.parentNode instanceof concepts_1.Assignment) {
637
- str = '赋值:参数不能为空!';
638
- }
639
- else if (node.parentNode instanceof concepts_1.Argument && node.parentNode.parentNode instanceof concepts_1.CallLogic) {
640
- str = '调用逻辑:参数不能为空!';
641
- }
642
- else if (node.parentNode instanceof concepts_1.ValidationRule) {
643
- str = '验证逻辑:验证对象不能为空!';
644
- }
645
- else {
646
- str = node.parentNode.constructor.nodeTitle + ':' + str;
647
- tsErrorDetail.message = str;
648
- }
649
- return str;
650
- };
651
- tsErrorDetail.message = identifierToString(node);
652
- }
653
- }
654
- if (/'__UpdateNoProperty__' is declared but its value is never read./.exec(text)) {
655
- tsErrorDetail.message = '局部更新:未选择任何属性';
656
- const callLogic = node?.parentNode?.parentNode?.parentNode;
657
- const bodyArgument = callLogic?.arguments?.find((item) => item.keyword === 'body');
658
- node = bodyArgument?.expression;
659
- }
660
- // 左右类型不一致的,把上级信息带上
661
- if (/^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text) ||
662
- /^This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap./.exec(text)) {
663
- if (node instanceof concepts_1.OqlQueryComponent) {
664
- // SQL语句:查询字段重复:id
665
- let cap = /^Type '(.+?)' is not assignable to type 'true'\./.exec(text);
666
- if (cap) {
667
- const errorMsg = 'SQL查询:查询字段重复:$1'.replace(/\$(\d+)/g, (m, index) => transformType(cap[index]));
668
- tsErrorDetail.message = errorMsg;
669
- }
670
- else {
671
- cap = /^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text);
672
- if (cap) {
673
- const errorMsg = 'SQL查询:返回类型不一致:选择类型:$2,返回类型:$1'.replace(/\$(\d+)/g, (m, index) => transformType(cap[index]));
674
- tsErrorDetail.message = errorMsg;
675
- }
676
- }
677
- }
678
- else {
679
- let str = tsErrorDetail.message;
680
- str = node.parentNode.constructor.nodeTitle + ':' + str;
681
- tsErrorDetail.message = str;
682
- if (node.parentNode instanceof concepts_1.AnonymousFunction) {
683
- // 匿名函数:左右参数类型不一致!左边类型:布尔值,右边类型:整数。
684
- tsErrorDetail.message = tsErrorDetail.message.replace('左右参数', '返回值').replace('左边类型', '接收类型').replace('右边类型', '传入类型');
685
- }
686
- else if (text === `Type 'void' is not assignable to type 'never'.`) {
687
- tsErrorDetail.message = `${node.name}推导不出类型!请连线或手动设置`;
688
- }
689
- }
690
- }
691
- if (/Property '(.+?)' is missing in type '(.+?)' but required in type '(.+?)'/.exec(text)) {
692
- if (node.parentNode instanceof concepts_1.NewComposite) {
693
- tsErrorDetail.message = tsErrorDetail.message
694
- .replace('类型不一致', '接收与传入类型不一致')
695
- .replace('左边类型', '左边接收类型')
696
- .replace('右边类型', '右边传入类型');
697
- tsErrorDetail.message = node.name + tsErrorDetail.message;
698
- }
699
- }
700
- // 参数类型不一致!
701
- if (/^Type '(.+?)' does not satisfy the constraint '(.+?)'\./.exec(text)) {
702
- // match
703
- if ((node instanceof concepts_1.TypeAnnotation && node.parentNode instanceof concepts_1.MatchCase) || node instanceof concepts_1.MatchCase) {
704
- return null;
705
- // ide进行计算
706
- // const reg = /^Type '(.+?)' does not satisfy the constraint '(.+?)'\./.exec(text);
707
- // if (reg[1] && reg[2]) {
708
- // tsErrorDetail.message = '匹配:类型不一致! 传入类型:' + transformType(reg[1]) + ',接收类型:' + transformType(reg[2]);
709
- // if (reg[2] === 'never') {
710
- // tsErrorDetail.message = '匹配:类型不一致! 传入类型:' + transformType(reg[1]) + ',接收类型:无可以接收的类型';
711
- // }
712
- // }
713
- // tsErrorDetail.titleTip = '该类型无法满足条件';
714
- }
715
- }
716
- // 左右类型不一致的,把上级信息带上
717
- if (/^A type literal property cannot have an initializer./.exec(text)) {
718
- if (node instanceof concepts_1.Param)
719
- return null;
720
- }
721
- if (/'__LogicEmpty' is declared but its value is never read./.exec(text)) {
722
- if (node instanceof concepts_1.Logic) {
723
- node.isSmpty = true;
724
- }
725
- }
726
- if (/Variable '(.+?)' implicitly has an 'any' type./.exec(text) || /Variable '(.+?)' implicitly has an 'any\[\]' type./.exec(text)) {
727
- if (node.parentNode instanceof concepts_1.NewComposite) {
728
- //
729
- }
730
- else if (node.parentNode instanceof concepts_1.NewList) {
731
- tsErrorDetail.message = tsErrorDetail.message.replace('!请连线或手动设置', '');
732
- }
733
- else if (node.parentNode instanceof concepts_1.NewMap) {
734
- tsErrorDetail.message = tsErrorDetail.message.replace('!请连线或手动设置', '');
735
- }
736
- else {
737
- return;
738
- }
739
- }
740
- if (checkAStructure_(text)) {
741
- return null;
742
- }
743
- for (const rule of POST_RULES) {
744
- if (rule.re.test(tsErrorDetail.message)) {
745
- tsErrorDetail.message = tsErrorDetail.message.replace(rule.re, (value, index, oldStr) => {
746
- // 处理匹配到的值的左右的内容,是不是还是字母,要是字母就原样输出,防止展示问题
747
- try {
748
- const leftCode = index - 1 < 0 ? '' : oldStr[index - 1];
749
- const rightCode = oldStr[index + value.length] || '';
750
- if (/^[A-Za-z]+$/.test(leftCode) || /^[A-Za-z]+$/.test(rightCode)) {
751
- return value;
752
- }
753
- else {
754
- return rule.result;
755
- }
756
- }
757
- catch (err) {
758
- return value;
759
- }
760
- });
761
- }
762
- }
763
- if (node && tsErrorDetail) {
764
- node.tsErrorDetail = tsErrorDetail;
765
- }
766
- return {
767
- node,
768
- ...tsErrorDetail,
769
- };
770
- }
771
- exports.naslNodeTranslateMessage = naslNodeTranslateMessage;
772
- function checkAStructure_(errorText) {
773
- const index = TS_RULES_TYPE_INCONSISTENCY.findIndex((item) => item.exec(errorText));
774
- if (index !== -1) {
775
- const rule = TS_RULES_TYPE_INCONSISTENCY[index];
776
- const cap = rule.exec(errorText);
777
- if (rule === TS_RULES_TYPE_INCONSISTENCY[0] || rule === TS_RULES_TYPE_INCONSISTENCY[1]) {
778
- cap.splice(1, 1);
779
- }
780
- if (cap[1].includes('__name: "AStructure_') &&
781
- cap[2].includes('__name: "AStructure_')) {
782
- const x = (0, sortTsString_1.sortTsString)(transformType(cap[1]));
783
- const y = (0, sortTsString_1.sortTsString)(transformType(cap[2]));
784
- if (x === y) {
785
- return true;
786
- }
787
- else if (mapAstString.get(x) === y || mapAstString.get(y) === x) {
788
- return true;
789
- }
790
- else {
791
- const regex = /Type '"AStructure_(.*)' is not assignable to type '"AStructure_(.*)'/;
792
- const nameError = regex.exec(errorText);
793
- const length1 = x.match(/:/g) ? x.match(/:/g).length : -1;
794
- const length2 = y.match(/:/g) ? y.match(/:/g).length : -2;
795
- if (nameError && length1 === length2) {
796
- mapAstString.set(x, y);
797
- mapAstString.set(y, x);
798
- return true;
799
- }
800
- }
801
- }
802
- }
803
- return false;
804
- }
805
- exports.checkAStructure_ = checkAStructure_;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAStructure_ = exports.naslNodeTranslateMessage = exports.translateDiagnosticMessage = exports.outOriginalvalue = void 0;
4
+ const naslServer_1 = require("./naslServer");
5
+ const concepts_1 = require("../concepts");
6
+ const sortTsString_1 = require("../utils/sortTsString");
7
+ const mapAstString = new Map();
8
+ function transformType(tsType) {
9
+ if (tsType === 'string' || tsType === 'String')
10
+ return '字符串';
11
+ else if (tsType === 'number')
12
+ return '数字';
13
+ else if (tsType === 'Integer')
14
+ return '整数';
15
+ else if (tsType === 'Double')
16
+ return '小数';
17
+ else if (tsType === 'Decimal')
18
+ return '小数';
19
+ else if (tsType === 'Long')
20
+ return '整数';
21
+ else if (tsType === 'DateTime')
22
+ return '日期时间';
23
+ else if (tsType === 'Date')
24
+ return '日期';
25
+ else if (tsType === 'Time')
26
+ return '时间';
27
+ else if (tsType === 'boolean' || tsType === 'Boolean')
28
+ return '布尔值';
29
+ else if (tsType === 'unknown')
30
+ return '未知类型';
31
+ else if (tsType === 'Enums')
32
+ return '枚举';
33
+ else if (tsType === 'views')
34
+ return '页面';
35
+ else if (tsType === 'void')
36
+ return '无返回值';
37
+ else if (tsType === '__elements')
38
+ return '页面元素';
39
+ else if (tsType === '__unknown__')
40
+ return '无效';
41
+ else if (tsType === 'extensions')
42
+ return '拓展模块';
43
+ else if (tsType === 'Promise<void>')
44
+ return '未知类型';
45
+ else if ((tsType.startsWith('{') && tsType.endsWith('}')) || (tsType.startsWith('{') && tsType.endsWith('...'))) {
46
+ if (tsType.includes('__name: "AStructure_')) {
47
+ return tsType.replace(/__name: "AStructure_\w{8}";/g, '');
48
+ }
49
+ return '当前节点';
50
+ }
51
+ else if (tsType.endsWith('[]')) {
52
+ return `List<${transformType(tsType.slice(0, -2))}>`;
53
+ }
54
+ else if (tsType.startsWith('<T extends ') && tsType.endsWith('>() => T')) {
55
+ const types = (0, naslServer_1.getDisplayString2Type)(tsType);
56
+ let tsStr = '';
57
+ types.forEach((item, index) => {
58
+ tsStr += index === 0 ? transformType(item) : ' | ' + transformType(item);
59
+ });
60
+ return tsStr;
61
+ }
62
+ else if (tsType.includes(' & ')) {
63
+ const types = tsType.split(' & ');
64
+ let tsStr = '';
65
+ types.forEach((item, index) => {
66
+ tsStr += index === 0 ? transformType(item) : ' | ' + transformType(item);
67
+ });
68
+ return tsStr;
69
+ }
70
+ else if (tsType.includes(' | ')) {
71
+ const types = tsType.split(' | ');
72
+ let tsStr = '';
73
+ types.forEach((item, index) => {
74
+ const newItem = item.replace(/[a-zA-Z_]+/g, (text) => transformType(text));
75
+ tsStr += index === 0 ? newItem : ' 或 ' + newItem;
76
+ });
77
+ return tsStr;
78
+ }
79
+ else {
80
+ return tsType;
81
+ }
82
+ }
83
+ const NAMESPACE_CONCEPT_MAP = {
84
+ entities: '实体',
85
+ structures: '数据结构',
86
+ enums: '枚举',
87
+ logics: '逻辑',
88
+ interfaces: '接口',
89
+ views: '页面',
90
+ elements: '元素',
91
+ processes: '流程',
92
+ roles: '角色',
93
+ extensions: '扩展模块',
94
+ apis: '接口应用',
95
+ components: '扩展组件',
96
+ properties: '配置参数',
97
+ };
98
+ function transformNamespace(tsNamespace) {
99
+ for (const key in NAMESPACE_CONCEPT_MAP) {
100
+ const value = NAMESPACE_CONCEPT_MAP[key];
101
+ if (tsNamespace.endsWith(key))
102
+ return value;
103
+ }
104
+ return tsNamespace;
105
+ }
106
+ function transformMethod(tsMethod) {
107
+ if (tsMethod === 'forEach')
108
+ return 'ForEach';
109
+ else
110
+ return tsMethod;
111
+ }
112
+ function transformIdentifier(identifier) {
113
+ if (NAMESPACE_CONCEPT_MAP[identifier])
114
+ return NAMESPACE_CONCEPT_MAP[identifier];
115
+ else
116
+ return ` ${transformType(identifier)} 上的`;
117
+ }
118
+ function outOriginalvalue(value) {
119
+ return value;
120
+ }
121
+ exports.outOriginalvalue = outOriginalvalue;
122
+ const TS_RULES_TYPE_INCONSISTENCY = [
123
+ /This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap/,
124
+ /Property '(.+?)' is missing in type '(.+?)' but required in type '(.+?)'/,
125
+ /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/,
126
+ /Type '(.+?)' is not assignable to type '(.+?)'/,
127
+ /Type '(.+?)' does not satisfy the constraint '(.+?)'/,
128
+ /Type '(.+?)' is missing the following properties from type '(.+?)'/,
129
+ ];
130
+ const TS_RULES = [
131
+ {
132
+ re: /Property '(FrontEnd|BackEnd)(.+?)' is private and only accessible within/,
133
+ result: '找不到配置参数$2',
134
+ transforms: [transformType, transformType],
135
+ },
136
+ {
137
+ re: /Object literal may only specify known properties, and '(.+?)' does not exist in type/,
138
+ result: '当前参数$1,不可用。',
139
+ transforms: [transformType],
140
+ },
141
+ {
142
+ re: /Object literal may only specify known properties, but '(.+?)' does not exist in type/,
143
+ result: '当前参数$1,不可用。',
144
+ transforms: [transformType],
145
+ },
146
+ {
147
+ re: /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/,
148
+ result: '参数类型不一致!传入类型:$1,接收类型:$2。',
149
+ transforms: [transformType, transformType],
150
+ },
151
+ {
152
+ re: /Type '(.+?)' is not assignable to type '(.+?)'/,
153
+ result: '左右参数类型不一致!左边类型:$2,右边类型:$1。',
154
+ transforms: [transformType, transformType],
155
+ },
156
+ {
157
+ re: /Type '(.+?)' does not satisfy the constraint '(.+?)'/,
158
+ result: '参数类型不一致!传入类型:$1,接收类型:$2。',
159
+ transforms: [transformType, transformType],
160
+ },
161
+ {
162
+ re: /This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap/,
163
+ result: '左右参数类型不一致!左边类型:$2,右边类型:$3。',
164
+ transforms: [transformType, transformType, transformType],
165
+ },
166
+ {
167
+ re: /Type '(.+?)' is missing the following properties from type '(.+?)'/,
168
+ result: '类型不一致!左边类型:$2,右边类型:$1。',
169
+ transforms: [transformType, transformType],
170
+ },
171
+ {
172
+ re: /Property '(.+?)' is missing in type '(.+?)' but required in type '(.+?)'/,
173
+ result: '类型不一致!左边类型:$3,右边类型:$2。',
174
+ transforms: [outOriginalvalue, transformType, transformType],
175
+ },
176
+ {
177
+ re: /object literal cannot have multiple properties with the same name/,
178
+ result: '不能具有多个名称相同的属性。',
179
+ },
180
+ {
181
+ re: /Invalid character/,
182
+ result: '无效的字符',
183
+ },
184
+ {
185
+ // This expression is not callable.\n Type 'Entity1' has no call signatures.
186
+ re: /This expression is not callable.\s*Type '(.+?)' has no call signatures/,
187
+ result: '此表达式不可用。',
188
+ },
189
+ {
190
+ re: /Expression expected/,
191
+ result: '表达式不能为空。',
192
+ },
193
+ {
194
+ re: /Cannot find name '__(?:IDENTIFIER|LEFT|RIGHT)__'/,
195
+ result: '表达式不能为空。',
196
+ },
197
+ {
198
+ re: /Cannot find name '__(?:FRONTENDVARIABLES)__'/,
199
+ result: '前端全局变量:不可在非页面下使用。',
200
+ },
201
+ {
202
+ re: /Cannot find name '__(?:QueryFieldExpression)__'/,
203
+ result: '数据查询:实体属性不能为空。',
204
+ },
205
+ {
206
+ re: /Cannot find name '__(?:WHERE_MULTIPLE_CONDITION)__'/,
207
+ result: '数据查询:筛选条件不能有多个表达式。',
208
+ },
209
+ {
210
+ re: /Cannot find name '__(?:HAVING_MULTIPLE_CONDITION)__'/,
211
+ result: '数据查询:聚合属性过滤不能有多个表达式。',
212
+ },
213
+ {
214
+ re: /Cannot find name '__(?:EMPTY_AGGREGATE_NAME)__'/,
215
+ result: '数据查询:聚合函数名称不能为空。',
216
+ },
217
+ {
218
+ re: /Cannot find name '__(?:EMPTY_AGGREGATE_ALIAS)__'/,
219
+ result: '数据查询:聚合函数别名不能为空。',
220
+ },
221
+ {
222
+ re: /Cannot find name '__(?:EMPTY_GROUP_BY_NAME)__'/,
223
+ result: '数据查询:分组属性不能为空。',
224
+ },
225
+ {
226
+ re: /Cannot find name '__(?:EMPTY_GROUP_BY_ALIAS)__'/,
227
+ result: '分组属性别名不能为空。',
228
+ },
229
+ {
230
+ re: /Cannot find name '__(?:SQL_GRAMMAR_ERROR)__'/,
231
+ result: 'SQL查询:语句可能有异常。',
232
+ },
233
+ {
234
+ re: /Cannot find name '__(?:OQL_GRAMMAR_ERROR)__'/,
235
+ result: 'SQL查询:语句可能有异常。',
236
+ },
237
+ {
238
+ re: /Cannot find name '__(?:OQL_ALIAS_WARNING)__'/,
239
+ result: 'SQL查询:别名不符合规范。',
240
+ },
241
+ {
242
+ re: /Cannot find name '__(?:OQL_EMPTY_ERROR)__'/,
243
+ result: 'SQL查询:语句不能为空。',
244
+ },
245
+ {
246
+ re: /Cannot find name '__(?:NO_SELECT_TYPE)__'/,
247
+ result: '未选择返回数据类型',
248
+ },
249
+ {
250
+ re: /'_unsupported_syntax_lcap'/,
251
+ result: 'SQL查询:不支持的使用方式',
252
+ },
253
+ {
254
+ re: /Cannot find name '__UsersEmpty__'./,
255
+ result: '任务完成人为空',
256
+ },
257
+ {
258
+ re: /Cannot find name '__assignmentLineEmpty__'./,
259
+ result: '批量赋值没有连线',
260
+ },
261
+ {
262
+ re: /Cannot find name '__ValidationRule__'./,
263
+ result: '校验规则不能为空',
264
+ },
265
+ {
266
+ re: /No value exists in scope for the shorthand property '__(?:IDENTIFIER|LEFT|RIGHT)__'. Either declare one or provide an initializer./,
267
+ result: '用户任务未关联页面',
268
+ },
269
+ {
270
+ re: /No value exists in scope for the shorthand property '__(?:outOfProcess)__'. Either declare one or provide an initializer./,
271
+ result: '节点未关联到流程图',
272
+ },
273
+ {
274
+ re: /'(.+?)' has no exported member(?: named)? '(.+?)'/,
275
+ result: '找不到接口$1 $2。',
276
+ transforms: [transformNamespace, transformType],
277
+ },
278
+ {
279
+ re: /Unreachable code detected\./,
280
+ result: '逻辑中有未使用的。',
281
+ },
282
+ {
283
+ re: /Property '__slice' does not exist on type '(.+?)'/,
284
+ result: 'ForEach:循环列表:参数类型不匹配!所需类型:数组、集合等,提供类型:$1',
285
+ transforms: [transformType],
286
+ },
287
+ {
288
+ re: /Property '(.+?)' does not exist on type 'typeof (.+?)'/,
289
+ result: '找不到$2 $1。',
290
+ transforms: [transformMethod, transformIdentifier],
291
+ },
292
+ {
293
+ re: /Property '(.+?)' does not exist on type '(.+?)'/,
294
+ result: '找不到$2 $1。',
295
+ transforms: [transformMethod, transformIdentifier],
296
+ },
297
+ {
298
+ re: /Cannot find name '(.+?)'. Did you mean '(.+?)'\?/,
299
+ result: '找不到 $1。',
300
+ transforms: [outOriginalvalue, outOriginalvalue],
301
+ },
302
+ {
303
+ re: /Expected (.+?) type arguments, but got (.+?)/,
304
+ result: '预期 $1 个类型参数,但传入了 $2 个。',
305
+ transforms: [outOriginalvalue, outOriginalvalue],
306
+ },
307
+ {
308
+ re: /Expected (.+?) arguments, but got (.+?)./,
309
+ result: '预期 $1 个参数,但传入了 $2 个。',
310
+ transforms: [outOriginalvalue, outOriginalvalue],
311
+ },
312
+ {
313
+ re: /The (.+?)-hand side of an arithmetic operation must be of type (.+?). type./,
314
+ result: '表达式错误!',
315
+ transforms: [outOriginalvalue, outOriginalvalue],
316
+ },
317
+ {
318
+ re: /Operator '(.+?)' cannot be applied to types '(.+?)' and '(.+?)'./,
319
+ result: '符号:$1 参数类型不匹配!所需类型:基础类型>$2,提供类型:$3。',
320
+ transforms: [outOriginalvalue, transformType, transformType],
321
+ },
322
+ {
323
+ re: /Object is possibly 'undefined'./,
324
+ result: '所选择的内容未定义。',
325
+ },
326
+ {
327
+ re: /Cannot find name '(.+?)'./,
328
+ result: '所选择的内容 $1 未定义。',
329
+ transforms: [outOriginalvalue],
330
+ },
331
+ {
332
+ re: /Duplicate identifier '(.+?)'./,
333
+ result: '当前内容中有重复的 $1,可能会影响使用。',
334
+ transforms: [outOriginalvalue],
335
+ },
336
+ {
337
+ re: /'__LogicEmpty' is declared but its value is never read./,
338
+ result: '逻辑为空,请编辑内容',
339
+ },
340
+ {
341
+ re: /'__destinationEmpty__' is declared but its value is never read./,
342
+ result: '任务未关联页面',
343
+ },
344
+ {
345
+ re: /'__devConfigValueEmpty' is declared but its value is never read./,
346
+ result: '配置参数开发环境取值未设置',
347
+ },
348
+ {
349
+ re: /'__onlineConfigValueEmpty' is declared but its value is never read./,
350
+ result: '配置参数生产环境取值未设置',
351
+ },
352
+ {
353
+ re: /Variable '(.+?)' implicitly has an 'any' type./,
354
+ result: '$1推导不出类型!请连线或手动设置',
355
+ transforms: [transformType],
356
+ },
357
+ {
358
+ re: /'(.+?)' refers to a value, but is being used as a type here. Did you mean 'typeof (.+?)'?/,
359
+ result: '$1未初始化!请连线',
360
+ transforms: [transformType],
361
+ },
362
+ ];
363
+ const POST_RULES = [
364
+ {
365
+ re: /__IDENTIFIER__/g,
366
+ result: 'undefined',
367
+ },
368
+ {
369
+ re: /Integer|"Integer"/g,
370
+ result: '整数',
371
+ },
372
+ {
373
+ re: /Long|"Long"/g,
374
+ result: '整数',
375
+ },
376
+ {
377
+ re: /Double|"Double"/g,
378
+ result: '小数',
379
+ },
380
+ {
381
+ re: /Decimal|"Decimal"/g,
382
+ result: '小数',
383
+ },
384
+ {
385
+ re: /String|"String"/g,
386
+ result: '字符串',
387
+ },
388
+ {
389
+ re: /Boolean|"Boolean"/g,
390
+ result: '布尔值',
391
+ },
392
+ {
393
+ re: /never/g,
394
+ result: '未知类型',
395
+ },
396
+ // 匿名数据结构去掉冗余展示 __name: "AStructure_\w{8}"
397
+ {
398
+ re: /__name: "AStructure_\w{8}";/g,
399
+ result: '',
400
+ },
401
+ ];
402
+ Object.keys(NAMESPACE_CONCEPT_MAP).forEach((key) => {
403
+ POST_RULES.push({
404
+ re: new RegExp(key, 'g'),
405
+ result: NAMESPACE_CONCEPT_MAP[key],
406
+ });
407
+ });
408
+ function translateDiagnosticMessage(message) {
409
+ for (const rule of TS_RULES) {
410
+ const cap = rule.re.exec(message);
411
+ if (cap) {
412
+ return rule.result.replace(/\$(\d+)/g, (m, index) => rule.transforms[index - 1](cap[index]));
413
+ }
414
+ }
415
+ return message;
416
+ }
417
+ exports.translateDiagnosticMessage = translateDiagnosticMessage;
418
+ /**
419
+ * 节点和ts 报错结合,转成更精准的ts报错
420
+ * @param minRange
421
+ * @param tsErrorDetail 报错具体信息
422
+ * @returns
423
+ */
424
+ function naslNodeTranslateMessage(minRange, tsErrorDetail) {
425
+ const text = tsErrorDetail?.originalDiagnostic?.text;
426
+ let node = minRange?.node;
427
+ const logicAncestor = node.getAncestor('Logic') || {};
428
+ const { parentNode = { concept: '' } } = logicAncestor;
429
+ const isFELogic = ['BindEvent', 'View'].includes(parentNode.concept);
430
+ // 有一些节点报错信息不向外暴露,缺失一些原生标签等等的展示
431
+ if (node instanceof concepts_1.View || node instanceof concepts_1.ViewElement) {
432
+ if (text.startsWith(`'nasl.ui' has no exported member named `)) {
433
+ return null;
434
+ }
435
+ else if (text.startsWith(`Property '`) && text.includes(`does not exist on type 'typeof ui'.`)) {
436
+ return null;
437
+ }
438
+ else if (text.startsWith(`Namespace 'nasl.ui' has no exported member `)) {
439
+ return null;
440
+ }
441
+ else if (text.startsWith(`Function expression, which lacks return-type annotation, implicitly has an 'any[]' return type.`)) {
442
+ return null;
443
+ }
444
+ }
445
+ // 处理bindevent参数没传递的报错
446
+ if (/Expected (.+?) arguments, but got (.+?)./.exec(text)) {
447
+ // bindevent本身现在就不传参数
448
+ if (node instanceof concepts_1.BindEvent) {
449
+ return null;
450
+ }
451
+ if (node instanceof concepts_1.ProcessElement && (node.isUserTask || node.type === 'AutoTask' || node.type === 'StartNoneEvent')) {
452
+ const reg = /Expected (.+?) arguments, but got (.+?)./.exec(text);
453
+ let u;
454
+ switch (node.type) {
455
+ case 'UserTask':
456
+ u = '用户任务';
457
+ break;
458
+ case 'AutoTask':
459
+ u = '自动任务';
460
+ break;
461
+ case 'ApprovalTask':
462
+ u = '审批任务';
463
+ break;
464
+ case 'InitiateTask':
465
+ u = '发起任务';
466
+ break;
467
+ default:
468
+ u = '任务';
469
+ }
470
+ if (reg[2] === '0') {
471
+ tsErrorDetail.message = `${u}出口顺序流个数不能是0`;
472
+ }
473
+ else {
474
+ tsErrorDetail.message = `${u}出口顺序流个数不能大于1`;
475
+ }
476
+ if (node.type === 'StartNoneEvent') {
477
+ tsErrorDetail.message = `开始节点只能有一个出口顺序流`;
478
+ }
479
+ }
480
+ if (node instanceof concepts_1.ProcessElement && ['ExclusiveGateway', 'ParallelGateway', 'InclusiveGateway'].includes(node.type)) {
481
+ const reg = /Expected (.+?) arguments, but got (.+?)./.exec(text);
482
+ let u = '排他网关';
483
+ if (node.type === 'ParallelGateway') {
484
+ u = '并行网关';
485
+ }
486
+ else if (node.type === 'InclusiveGateway') {
487
+ u = '包容网关';
488
+ }
489
+ if (reg[2] === '0') {
490
+ tsErrorDetail.message = `${u}出口顺序流和入口顺序流个数不能等于0`;
491
+ }
492
+ else {
493
+ tsErrorDetail.message = `${u}出口顺序流和入口顺序流个数同时等于1,该${u}没有意义`;
494
+ }
495
+ }
496
+ }
497
+ // 因为缺少参数时候有可能有特殊情况,因为原本少的多了就会找到 callLogic上,
498
+ // 但是只少一个的时候就会找到准确的Argument上 需要特殊处理, ui层就可以统一处理
499
+ if (/Expected (.+?) arguments, but got (.+?)./.exec(text) && node.getAncestor('CallLogic')) {
500
+ node = node.getAncestor('CallLogic');
501
+ }
502
+ // 赋值左右侧类型不一致, 把文字换一下
503
+ if (/Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text)) {
504
+ if (node instanceof concepts_1.OqlQueryComponent) {
505
+ tsErrorDetail.message = tsErrorDetail.message
506
+ .replace('参数类型不一致!传入类型:', '类型不一致!传入类型:')
507
+ .replace('接收类型:', '期望类型:');
508
+ }
509
+ else if (node.parentNode instanceof concepts_1.Assignment) {
510
+ // OQL 的返回类型报错需要转换翻译,其内部 SQL 语句的参数类型报错不转换翻译
511
+ if (node instanceof concepts_1.OqlQueryComponent) {
512
+ if (node.getCurrentSource().currentSource.start.line + 1 === tsErrorDetail.originalDiagnostic.start.line) {
513
+ tsErrorDetail.message = tsErrorDetail.message
514
+ .replace('参数类型不一致!传入类型:', '赋值:类型不一致!右边类型:')
515
+ .replace('接收类型:', '左边类型:');
516
+ }
517
+ }
518
+ else {
519
+ // node = node.getAncestor('CallLogic');
520
+ tsErrorDetail.message = tsErrorDetail.message
521
+ .replace('参数类型不一致!传入类型:', '赋值:类型不一致!右边类型:')
522
+ .replace('接收类型:', '左边类型:');
523
+ }
524
+ }
525
+ else if (node.parentNode instanceof concepts_1.NewMap) {
526
+ if (text.includes(`is not assignable to parameter of type 'None'`)) {
527
+ const cap = /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text);
528
+ tsErrorDetail.message = tsErrorDetail.message = `参数类型不一致!传入类型:${transformType(cap[1])},接收类型:字符串 或 布尔值 或 整数 或 小数`;
529
+ }
530
+ else if (text.includes(`parameter of type 'never'`)) {
531
+ tsErrorDetail.message = '自动推导不出类型!newMap中有未知类型';
532
+ }
533
+ }
534
+ else if (node.parentNode instanceof concepts_1.NewList && text.includes(`parameter of type 'never'`)) {
535
+ tsErrorDetail.message = '自动推导不出类型!newList中有未知类型';
536
+ }
537
+ else if (node instanceof concepts_1.ProcessOutcome || node instanceof concepts_1.ProcessOutcomes) {
538
+ const cap = /Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text);
539
+ const selectComes = cap[1].split(' | ');
540
+ const currentComes = cap[2].split(' | ');
541
+ if (node instanceof concepts_1.ProcessOutcome) {
542
+ tsErrorDetail.message = `流向出口不存在,${selectComes.map((item) => item).join(',')}出口流不属于[${currentComes.map((item) => item).join(',')}]当中的某个流`;
543
+ }
544
+ else {
545
+ tsErrorDetail.message = `流向出口不存在,${selectComes.map((item) => item).join(',')}有错误的出口流`;
546
+ }
547
+ }
548
+ }
549
+ if (node instanceof concepts_1.Argument || node instanceof concepts_1.Anchor) {
550
+ // if (/Type '(.+?)' is not assignable to type '(.+?)'./.exec(text)) {
551
+ // }
552
+ // Argument在callInterface上的报错放到内部
553
+ if (node.expression) {
554
+ node = node.expression;
555
+ }
556
+ }
557
+ if (node instanceof concepts_1.AnonymousFunction) {
558
+ if (node.body)
559
+ node = node.body;
560
+ }
561
+ else if (node instanceof concepts_1.Function) {
562
+ if (node.returnExpression)
563
+ node = node.returnExpression;
564
+ }
565
+ // 处理一些复制过来的内容 Identifier或者MemberExpression内容缺失,错误要像上冒
566
+ if (node instanceof concepts_1.Identifier || node instanceof concepts_1.MemberExpression) {
567
+ if (node.parentNode instanceof concepts_1.MemberExpression) {
568
+ let parentNode = node;
569
+ while (parentNode && parentNode.parentNode instanceof concepts_1.MemberExpression) {
570
+ parentNode = parentNode.parentNode;
571
+ }
572
+ node = parentNode || node;
573
+ let str = tsErrorDetail.message;
574
+ str = node.constructor.nodeTitle + ':' + str;
575
+ tsErrorDetail.message = str;
576
+ }
577
+ }
578
+ // 类型报错的,需要放到上一级
579
+ if (/'(.+?)' has no exported member(?: named)? '(.+?)'/.exec(text) || /Property '(.+?)' does not exist on type '(.+?)'./.exec(text)) {
580
+ if (node instanceof concepts_1.TypeAnnotation) {
581
+ // 变量type的报错放到type本身上
582
+ // node = node.parentNode;
583
+ let str = tsErrorDetail.message;
584
+ if (node) {
585
+ str = node.parentNode.constructor.nodeTitle + '' + str;
586
+ }
587
+ tsErrorDetail.message = str;
588
+ }
589
+ }
590
+ /**
591
+ * 所有问题的报错处理具体信息
592
+ * 转成一个最合理的文案
593
+ */
594
+ if (/^Cannot find name '__(?:IDENTIFIER|LEFT|RIGHT)__'\.$/.exec(text)) {
595
+ if (node instanceof concepts_1.IfStatement || node instanceof concepts_1.SwitchCase || node instanceof concepts_1.WhileStatement) {
596
+ tsErrorDetail.message = node.constructor.nodeTitle + ':参数不能为空!所需类型:基础类型>布尔值';
597
+ }
598
+ else if (node instanceof concepts_1.ForEachStatement) {
599
+ tsErrorDetail.message = 'ForEach:结束值:不能为空!所需类型:基础类型>整数';
600
+ }
601
+ else if (node instanceof concepts_1.UnaryExpression) {
602
+ tsErrorDetail.message = '!:参数不能为空!';
603
+ }
604
+ else if (node instanceof concepts_1.Assignment) {
605
+ tsErrorDetail.message = '赋值:参数不能为空!';
606
+ }
607
+ else if (node instanceof concepts_1.BatchAssignment) {
608
+ tsErrorDetail.message = '批量赋值:参数不能为空';
609
+ }
610
+ else if ((node instanceof concepts_1.Argument && node.parentNode instanceof concepts_1.CallInterface) || node instanceof concepts_1.CallInterface) {
611
+ tsErrorDetail.message = '调用接口:参数不能为空!';
612
+ }
613
+ else if ((node instanceof concepts_1.Argument && node.parentNode instanceof concepts_1.CallFunction) || node instanceof concepts_1.CallFunction) {
614
+ tsErrorDetail.message = '调用函数:参数不能为空!';
615
+ }
616
+ else if ((node instanceof concepts_1.Argument && node.parentNode instanceof concepts_1.CallLogic) || node instanceof concepts_1.CallLogic) {
617
+ tsErrorDetail.message = '调用逻辑:参数不能为空!';
618
+ }
619
+ else if (node instanceof concepts_1.ProcessOutcome || node instanceof concepts_1.Function || node instanceof concepts_1.MatchCase) {
620
+ tsErrorDetail.message = node.constructor.nodeTitle + ':不能为空!';
621
+ }
622
+ else if (node instanceof concepts_1.NewMap) {
623
+ tsErrorDetail.message = 'Map推导不出类型!请手动设置!';
624
+ }
625
+ else if (node instanceof concepts_1.NewList) {
626
+ tsErrorDetail.message = 'List推导不出类型!请手动设置!';
627
+ }
628
+ else if (node instanceof concepts_1.Argument) {
629
+ let str = tsErrorDetail.message;
630
+ str = node.parentNode.constructor.nodeTitle + ':' + str;
631
+ tsErrorDetail.message = str;
632
+ }
633
+ else if (node instanceof concepts_1.TypeAnnotation) {
634
+ // 如果是TypeAnnotation 嵌套TypeAnnotation,就往上冒,多是那种T嵌套的
635
+ let str = tsErrorDetail.message;
636
+ // TypeAnnotation要冒泡到最上面
637
+ while (node.parentNode && node.parentNode instanceof concepts_1.TypeAnnotation) {
638
+ node = node.parentNode;
639
+ }
640
+ str = node.parentNode.constructor.nodeTitle + '' + str;
641
+ tsErrorDetail.message = str;
642
+ }
643
+ else if (node instanceof concepts_1.Identifier) {
644
+ // 根据父级内容推断当前缺少啥
645
+ const identifierToString = (node) => {
646
+ let str = tsErrorDetail.message;
647
+ if (node.parentNode instanceof concepts_1.Assignment) {
648
+ str = '赋值:参数不能为空!';
649
+ }
650
+ else if (node.parentNode instanceof concepts_1.Argument && node.parentNode.parentNode instanceof concepts_1.CallLogic) {
651
+ str = '调用逻辑:参数不能为空!';
652
+ }
653
+ else if (node.parentNode instanceof concepts_1.ValidationRule) {
654
+ str = '验证逻辑:验证对象不能为空!';
655
+ }
656
+ else {
657
+ str = node.parentNode.constructor.nodeTitle + '' + str;
658
+ tsErrorDetail.message = str;
659
+ }
660
+ return str;
661
+ };
662
+ tsErrorDetail.message = identifierToString(node);
663
+ }
664
+ }
665
+ if (/'__UpdateNoProperty__' is declared but its value is never read./.exec(text)) {
666
+ tsErrorDetail.message = '局部更新:未选择任何属性';
667
+ const callLogic = node?.parentNode?.parentNode?.parentNode;
668
+ const bodyArgument = callLogic?.arguments?.find((item) => item.keyword === 'body');
669
+ node = bodyArgument?.expression;
670
+ }
671
+ // 左右类型不一致的,把上级信息带上
672
+ if (/^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text) ||
673
+ /^This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap./.exec(text)) {
674
+ if (node instanceof concepts_1.OqlQueryComponent) {
675
+ // SQL语句:查询字段重复:id
676
+ let cap = /^Type '(.+?)' is not assignable to type 'true'\./.exec(text);
677
+ if (cap) {
678
+ const errorMsg = 'SQL查询:查询字段重复:$1'.replace(/\$(\d+)/g, (m, index) => transformType(cap[index]));
679
+ tsErrorDetail.message = errorMsg;
680
+ }
681
+ else {
682
+ cap = /^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text);
683
+ if (cap) {
684
+ const errorMsg = 'SQL查询:返回类型不一致:选择类型:$2,返回类型:$1'.replace(/\$(\d+)/g, (m, index) => transformType(cap[index]));
685
+ tsErrorDetail.message = errorMsg;
686
+ }
687
+ }
688
+ }
689
+ else {
690
+ let str = tsErrorDetail.message;
691
+ str = node.parentNode.constructor.nodeTitle + '' + str;
692
+ tsErrorDetail.message = str;
693
+ if (node.parentNode instanceof concepts_1.AnonymousFunction) {
694
+ // 匿名函数:左右参数类型不一致!左边类型:布尔值,右边类型:整数。
695
+ tsErrorDetail.message = tsErrorDetail.message.replace('左右参数', '返回值').replace('左边类型', '接收类型').replace('右边类型', '传入类型');
696
+ }
697
+ else if (text === `Type 'void' is not assignable to type 'never'.`) {
698
+ tsErrorDetail.message = `${node.name}推导不出类型!请连线或手动设置`;
699
+ }
700
+ }
701
+ }
702
+ if (/Property '(.+?)' is missing in type '(.+?)' but required in type '(.+?)'/.exec(text)) {
703
+ if (node.parentNode instanceof concepts_1.NewComposite) {
704
+ tsErrorDetail.message = tsErrorDetail.message
705
+ .replace('类型不一致', '接收与传入类型不一致')
706
+ .replace('左边类型', '左边接收类型')
707
+ .replace('右边类型', '右边传入类型');
708
+ tsErrorDetail.message = node.name + tsErrorDetail.message;
709
+ }
710
+ }
711
+ // 参数类型不一致!
712
+ if (/^Type '(.+?)' does not satisfy the constraint '(.+?)'\./.exec(text)) {
713
+ // match
714
+ if ((node instanceof concepts_1.TypeAnnotation && node.parentNode instanceof concepts_1.MatchCase) || node instanceof concepts_1.MatchCase) {
715
+ return null;
716
+ // ide进行计算
717
+ // const reg = /^Type '(.+?)' does not satisfy the constraint '(.+?)'\./.exec(text);
718
+ // if (reg[1] && reg[2]) {
719
+ // tsErrorDetail.message = '匹配:类型不一致! 传入类型:' + transformType(reg[1]) + ',接收类型:' + transformType(reg[2]);
720
+ // if (reg[2] === 'never') {
721
+ // tsErrorDetail.message = '匹配:类型不一致! 传入类型:' + transformType(reg[1]) + ',接收类型:无可以接收的类型';
722
+ // }
723
+ // }
724
+ // tsErrorDetail.titleTip = '该类型无法满足条件';
725
+ }
726
+ }
727
+ // 左右类型不一致的,把上级信息带上
728
+ if (/^A type literal property cannot have an initializer./.exec(text)) {
729
+ if (node instanceof concepts_1.Param)
730
+ return null;
731
+ }
732
+ if (/'__LogicEmpty' is declared but its value is never read./.exec(text)) {
733
+ if (node instanceof concepts_1.Logic) {
734
+ node.isSmpty = true;
735
+ }
736
+ }
737
+ if (/Variable '(.+?)' implicitly has an 'any' type./.exec(text) || /Variable '(.+?)' implicitly has an 'any\[\]' type./.exec(text)) {
738
+ if (node.parentNode instanceof concepts_1.NewComposite) {
739
+ //
740
+ }
741
+ else if (node.parentNode instanceof concepts_1.NewList) {
742
+ tsErrorDetail.message = tsErrorDetail.message.replace('!请连线或手动设置', '');
743
+ }
744
+ else if (node.parentNode instanceof concepts_1.NewMap) {
745
+ tsErrorDetail.message = tsErrorDetail.message.replace('!请连线或手动设置', '');
746
+ }
747
+ else {
748
+ return;
749
+ }
750
+ }
751
+ if (checkAStructure_(text)) {
752
+ return null;
753
+ }
754
+ for (const rule of POST_RULES) {
755
+ if (rule.re.test(tsErrorDetail.message)) {
756
+ tsErrorDetail.message = tsErrorDetail.message.replace(rule.re, (value, index, oldStr) => {
757
+ // 处理匹配到的值的左右的内容,是不是还是字母,要是字母就原样输出,防止展示问题
758
+ try {
759
+ const leftCode = index - 1 < 0 ? '' : oldStr[index - 1];
760
+ const rightCode = oldStr[index + value.length] || '';
761
+ if (/^[A-Za-z]+$/.test(leftCode) || /^[A-Za-z]+$/.test(rightCode)) {
762
+ return value;
763
+ }
764
+ else {
765
+ return rule.result;
766
+ }
767
+ }
768
+ catch (err) {
769
+ return value;
770
+ }
771
+ });
772
+ }
773
+ }
774
+ if (node && tsErrorDetail) {
775
+ node.tsErrorDetail = tsErrorDetail;
776
+ }
777
+ return {
778
+ node,
779
+ ...tsErrorDetail,
780
+ };
781
+ }
782
+ exports.naslNodeTranslateMessage = naslNodeTranslateMessage;
783
+ function checkAStructure_(errorText) {
784
+ const index = TS_RULES_TYPE_INCONSISTENCY.findIndex((item) => item.exec(errorText));
785
+ if (index !== -1) {
786
+ const rule = TS_RULES_TYPE_INCONSISTENCY[index];
787
+ const cap = rule.exec(errorText);
788
+ if (rule === TS_RULES_TYPE_INCONSISTENCY[0] || rule === TS_RULES_TYPE_INCONSISTENCY[1]) {
789
+ cap.splice(1, 1);
790
+ }
791
+ if (cap[1].includes('__name: "AStructure_') &&
792
+ cap[2].includes('__name: "AStructure_')) {
793
+ const x = (0, sortTsString_1.sortTsString)(transformType(cap[1]));
794
+ const y = (0, sortTsString_1.sortTsString)(transformType(cap[2]));
795
+ if (x === null || y === null) {
796
+ return;
797
+ }
798
+ if (x === y) {
799
+ return true;
800
+ }
801
+ else if (mapAstString.get(x) === y || mapAstString.get(y) === x) {
802
+ return true;
803
+ }
804
+ else {
805
+ const regex = /Type '"AStructure_(.*)' is not assignable to type '"AStructure_(.*)'/;
806
+ const nameError = regex.exec(errorText);
807
+ const length1 = x.match(/:/g) ? x.match(/:/g).length : -1;
808
+ const length2 = y.match(/:/g) ? y.match(/:/g).length : -2;
809
+ if (nameError && length1 === length2) {
810
+ mapAstString.set(x, y);
811
+ mapAstString.set(y, x);
812
+ return true;
813
+ }
814
+ }
815
+ }
816
+ }
817
+ return false;
818
+ }
819
+ exports.checkAStructure_ = checkAStructure_;
806
820
  //# sourceMappingURL=translator.js.map