@lcap/nasl 3.4.0-beta.5 → 3.4.0-beta.6

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 (831) hide show
  1. package/.nyc_output/b920244d-8d01-4e76-be5a-95132217c5a1.json +1 -0
  2. package/.nyc_output/processinfo/b920244d-8d01-4e76-be5a-95132217c5a1.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +461 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +631 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1246 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +4081 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +373 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +331 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +667 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +2092 -0
  44. package/coverage/src/concepts/App__.ts.html +13651 -0
  45. package/coverage/src/concepts/Argument__.ts.html +907 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2317 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +430 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1174 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +919 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +2011 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1690 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1192 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3376 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1468 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3931 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +2002 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3487 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1645 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +421 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1642 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +925 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +2164 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2776 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4693 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5419 -0
  68. package/coverage/src/concepts/Comment__.ts.html +397 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +946 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1375 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1387 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4390 -0
  77. package/coverage/src/concepts/Constant__.ts.html +1123 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1798 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  80. package/coverage/src/concepts/DefaultValue__.ts.html +946 -0
  81. package/coverage/src/concepts/Destination__.ts.html +2761 -0
  82. package/coverage/src/concepts/End__.ts.html +436 -0
  83. package/coverage/src/concepts/EntityIndex__.ts.html +799 -0
  84. package/coverage/src/concepts/EntityProperty__.ts.html +2866 -0
  85. package/coverage/src/concepts/Entity__.ts.html +3070 -0
  86. package/coverage/src/concepts/EnumItem__.ts.html +553 -0
  87. package/coverage/src/concepts/Enum__.ts.html +1258 -0
  88. package/coverage/src/concepts/Event__.ts.html +1111 -0
  89. package/coverage/src/concepts/ExternalDestination__.ts.html +1060 -0
  90. package/coverage/src/concepts/ForEachStatement__.ts.html +2023 -0
  91. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  92. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  93. package/coverage/src/concepts/Frontend__.ts.html +4078 -0
  94. package/coverage/src/concepts/Function__.ts.html +3718 -0
  95. package/coverage/src/concepts/Identifier__.ts.html +1060 -0
  96. package/coverage/src/concepts/IfStatement__.ts.html +1636 -0
  97. package/coverage/src/concepts/Integration__.ts.html +1273 -0
  98. package/coverage/src/concepts/InterfaceParam__.ts.html +1258 -0
  99. package/coverage/src/concepts/Interface__.ts.html +3463 -0
  100. package/coverage/src/concepts/JSBlock__.ts.html +424 -0
  101. package/coverage/src/concepts/JavaLogic__.ts.html +463 -0
  102. package/coverage/src/concepts/LogicItem__.ts.html +1174 -0
  103. package/coverage/src/concepts/Logic__.ts.html +7732 -0
  104. package/coverage/src/concepts/MatchCase__.ts.html +2974 -0
  105. package/coverage/src/concepts/Match__.ts.html +2494 -0
  106. package/coverage/src/concepts/MemberExpression__.ts.html +1744 -0
  107. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  108. package/coverage/src/concepts/Module__.ts.html +9385 -0
  109. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  110. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  111. package/coverage/src/concepts/Namespace__.ts.html +8221 -0
  112. package/coverage/src/concepts/NewComposite__.ts.html +4765 -0
  113. package/coverage/src/concepts/NewList__.ts.html +1702 -0
  114. package/coverage/src/concepts/NewMap__.ts.html +2470 -0
  115. package/coverage/src/concepts/New__.ts.html +289 -0
  116. package/coverage/src/concepts/NullLiteral__.ts.html +352 -0
  117. package/coverage/src/concepts/NumericLiteral__.ts.html +697 -0
  118. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1237 -0
  119. package/coverage/src/concepts/OverriddenLogic__.ts.html +6970 -0
  120. package/coverage/src/concepts/Param__.ts.html +1798 -0
  121. package/coverage/src/concepts/Point__.ts.html +334 -0
  122. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  123. package/coverage/src/concepts/ProcessElement__.ts.html +6187 -0
  124. package/coverage/src/concepts/ProcessOutcome__.ts.html +355 -0
  125. package/coverage/src/concepts/ProcessOutcomes__.ts.html +355 -0
  126. package/coverage/src/concepts/Process__.ts.html +5071 -0
  127. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +589 -0
  128. package/coverage/src/concepts/QueryFieldExpression__.ts.html +586 -0
  129. package/coverage/src/concepts/QueryFromExpression__.ts.html +937 -0
  130. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +580 -0
  131. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1606 -0
  132. package/coverage/src/concepts/QueryLimitExpression__.ts.html +664 -0
  133. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +706 -0
  134. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  135. package/coverage/src/concepts/Rect__.ts.html +376 -0
  136. package/coverage/src/concepts/Return__.ts.html +1471 -0
  137. package/coverage/src/concepts/Role__.ts.html +604 -0
  138. package/coverage/src/concepts/SelectMembers__.ts.html +1279 -0
  139. package/coverage/src/concepts/Slot__.ts.html +649 -0
  140. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1003 -0
  141. package/coverage/src/concepts/Start__.ts.html +307 -0
  142. package/coverage/src/concepts/StringInterpolation__.ts.html +1156 -0
  143. package/coverage/src/concepts/StringLiteral__.ts.html +508 -0
  144. package/coverage/src/concepts/StructureProperty__.ts.html +1300 -0
  145. package/coverage/src/concepts/Structure__.ts.html +2182 -0
  146. package/coverage/src/concepts/SwitchCase__.ts.html +1204 -0
  147. package/coverage/src/concepts/SwitchStatement__.ts.html +904 -0
  148. package/coverage/src/concepts/Theme__.ts.html +361 -0
  149. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  150. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  151. package/coverage/src/concepts/TriggerLauncher__.ts.html +778 -0
  152. package/coverage/src/concepts/TypeAnnotation__.ts.html +3832 -0
  153. package/coverage/src/concepts/TypeParam__.ts.html +322 -0
  154. package/coverage/src/concepts/UnaryExpression__.ts.html +730 -0
  155. package/coverage/src/concepts/Unparsed__.ts.html +397 -0
  156. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  157. package/coverage/src/concepts/ValidationRule__.ts.html +1876 -0
  158. package/coverage/src/concepts/Variable__.ts.html +1705 -0
  159. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  160. package/coverage/src/concepts/ViewComponent__.ts.html +4327 -0
  161. package/coverage/src/concepts/ViewElement__.ts.html +8992 -0
  162. package/coverage/src/concepts/View__.ts.html +9019 -0
  163. package/coverage/src/concepts/WhileStatement__.ts.html +1105 -0
  164. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  165. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6955 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  180. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  181. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  182. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  183. package/coverage/src/concepts/basics/types/index.html +131 -0
  184. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  185. package/coverage/src/concepts/index.html +1976 -0
  186. package/coverage/src/concepts/index.ts.html +103 -0
  187. package/coverage/src/concepts/index__.ts.html +454 -0
  188. package/coverage/src/config.ts.html +325 -0
  189. package/coverage/src/decorators/index.html +131 -0
  190. package/coverage/src/decorators/index.ts.html +583 -0
  191. package/coverage/src/decorators/promise.ts.html +169 -0
  192. package/coverage/src/eventBus.ts.html +100 -0
  193. package/coverage/src/generator/compileComponent.ts.html +142 -0
  194. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  195. package/coverage/src/generator/genHash.ts.html +124 -0
  196. package/coverage/src/generator/genMetaData.ts.html +1084 -0
  197. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  198. package/coverage/src/generator/icestark.ts.html +220 -0
  199. package/coverage/src/generator/index.html +266 -0
  200. package/coverage/src/generator/index.ts.html +106 -0
  201. package/coverage/src/generator/microApp.ts.html +172 -0
  202. package/coverage/src/generator/permission.ts.html +1036 -0
  203. package/coverage/src/generator/qiankun.ts.html +232 -0
  204. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  205. package/coverage/src/index.html +146 -0
  206. package/coverage/src/index.ts.html +124 -0
  207. package/coverage/src/manager/diagnostic.ts.html +442 -0
  208. package/coverage/src/manager/index.html +131 -0
  209. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  210. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  211. package/coverage/src/natural/index.html +161 -0
  212. package/coverage/src/natural/index.ts.html +91 -0
  213. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  214. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  215. package/coverage/src/sentry/index.html +116 -0
  216. package/coverage/src/sentry/index.ts.html +676 -0
  217. package/coverage/src/server/createUiTs.ts.html +919 -0
  218. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  219. package/coverage/src/server/event.js.html +526 -0
  220. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  221. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  222. package/coverage/src/server/getConnector.ts.html +316 -0
  223. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  224. package/coverage/src/server/getFunctions.ts.html +133 -0
  225. package/coverage/src/server/getInterfaces.ts.html +229 -0
  226. package/coverage/src/server/getLogging.ts.html +100 -0
  227. package/coverage/src/server/getLogics.ts.html +1363 -0
  228. package/coverage/src/server/getMemberIdentifier.ts.html +1606 -0
  229. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  230. package/coverage/src/server/getProcesses.ts.html +2023 -0
  231. package/coverage/src/server/getValidates.ts.html +115 -0
  232. package/coverage/src/server/index.html +401 -0
  233. package/coverage/src/server/index.ts.html +229 -0
  234. package/coverage/src/server/naslServer.ts.html +14356 -0
  235. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  236. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  237. package/coverage/src/server/translator.ts.html +2566 -0
  238. package/coverage/src/service/creator/add.configs.js.html +397 -0
  239. package/coverage/src/service/creator/errHandles.js.html +304 -0
  240. package/coverage/src/service/creator/index.html +146 -0
  241. package/coverage/src/service/creator/index.js.html +352 -0
  242. package/coverage/src/service/datasource/api.js.html +118 -0
  243. package/coverage/src/service/datasource/index.html +131 -0
  244. package/coverage/src/service/datasource/index.js.html +103 -0
  245. package/coverage/src/service/logic/api.js.html +109 -0
  246. package/coverage/src/service/logic/index.html +131 -0
  247. package/coverage/src/service/logic/index.js.html +103 -0
  248. package/coverage/src/service/storage/api.js.html +202 -0
  249. package/coverage/src/service/storage/index.html +206 -0
  250. package/coverage/src/service/storage/index.ts.html +103 -0
  251. package/coverage/src/service/storage/init.ts.html +3721 -0
  252. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  253. package/coverage/src/service/storage/map.ts.html +256 -0
  254. package/coverage/src/service/storage/service.ts.html +331 -0
  255. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  256. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  257. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  258. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  259. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  260. package/coverage/src/templator/genEditTableBlock.ts.html +1021 -0
  261. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  262. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  263. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  264. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  265. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  266. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  267. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  268. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  269. package/coverage/src/templator/index.html +326 -0
  270. package/coverage/src/templator/index.ts.html +154 -0
  271. package/coverage/src/templator/utils.ts.html +1861 -0
  272. package/coverage/src/translator/constant.ts.html +106 -0
  273. package/coverage/src/translator/index.html +146 -0
  274. package/coverage/src/translator/index.ts.html +94 -0
  275. package/coverage/src/translator/utils.ts.html +436 -0
  276. package/coverage/src/utils/cookie.ts.html +265 -0
  277. package/coverage/src/utils/env.ts.html +91 -0
  278. package/coverage/src/utils/index.html +236 -0
  279. package/coverage/src/utils/index.ts.html +694 -0
  280. package/coverage/src/utils/logger.ts.html +145 -0
  281. package/coverage/src/utils/sortTsString.ts.html +187 -0
  282. package/coverage/src/utils/string.ts.html +400 -0
  283. package/coverage/src/utils/time-slicing.ts.html +418 -0
  284. package/coverage/src/utils/traverse.ts.html +568 -0
  285. package/coverage/src/utils/window.ts.html +112 -0
  286. package/out/bak/translator.js +2 -19
  287. package/out/bak/translator.js.map +1 -1
  288. package/out/common/BaseNode.d.ts +11 -0
  289. package/out/common/BaseNode.js +57 -1
  290. package/out/common/BaseNode.js.map +1 -1
  291. package/out/common/index.d.ts +1 -0
  292. package/out/common/index.js +1 -0
  293. package/out/common/index.js.map +1 -1
  294. package/out/common/utils.d.ts +2 -0
  295. package/out/common/utils.js +18 -0
  296. package/out/common/utils.js.map +1 -0
  297. package/out/concepts/Abort__.d.ts +2 -2
  298. package/out/concepts/Abort__.js +6 -2
  299. package/out/concepts/Abort__.js.map +1 -1
  300. package/out/concepts/Anchor__.d.ts +2 -2
  301. package/out/concepts/Anchor__.js +5 -4
  302. package/out/concepts/Anchor__.js.map +1 -1
  303. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  304. package/out/concepts/AnonymousFunction__.js +19 -15
  305. package/out/concepts/AnonymousFunction__.js.map +1 -1
  306. package/out/concepts/Argument__.d.ts +2 -2
  307. package/out/concepts/Argument__.js +12 -13
  308. package/out/concepts/Argument__.js.map +1 -1
  309. package/out/concepts/Assignee__.d.ts +2 -2
  310. package/out/concepts/Assignee__.js +11 -9
  311. package/out/concepts/Assignee__.js.map +1 -1
  312. package/out/concepts/AssignmentLine__.d.ts +2 -2
  313. package/out/concepts/AssignmentLine__.js +3 -2
  314. package/out/concepts/AssignmentLine__.js.map +1 -1
  315. package/out/concepts/Assignment__.d.ts +2 -2
  316. package/out/concepts/Assignment__.js +13 -29
  317. package/out/concepts/Assignment__.js.map +1 -1
  318. package/out/concepts/AuthInterface__.js +1 -1
  319. package/out/concepts/AuthInterface__.js.map +1 -1
  320. package/out/concepts/AuthLogicForCallInterface__.d.ts +2 -2
  321. package/out/concepts/AuthLogicForCallInterface__.js +56 -75
  322. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  323. package/out/concepts/BackendVariable__.d.ts +5 -8
  324. package/out/concepts/BackendVariable__.js +47 -29
  325. package/out/concepts/BackendVariable__.js.map +1 -1
  326. package/out/concepts/Backend__.d.ts +4 -7
  327. package/out/concepts/Backend__.js +7 -6
  328. package/out/concepts/Backend__.js.map +1 -1
  329. package/out/concepts/BatchAssignment__.d.ts +2 -2
  330. package/out/concepts/BatchAssignment__.js +19 -20
  331. package/out/concepts/BatchAssignment__.js.map +1 -1
  332. package/out/concepts/BinaryExpression__.d.ts +2 -2
  333. package/out/concepts/BinaryExpression__.js +37 -38
  334. package/out/concepts/BinaryExpression__.js.map +1 -1
  335. package/out/concepts/BindAttribute__.d.ts +4 -4
  336. package/out/concepts/BindAttribute__.js +39 -32
  337. package/out/concepts/BindAttribute__.js.map +1 -1
  338. package/out/concepts/BindDirective__.d.ts +2 -2
  339. package/out/concepts/BindDirective__.js +10 -8
  340. package/out/concepts/BindDirective__.js.map +1 -1
  341. package/out/concepts/BindEvent__.d.ts +4 -7
  342. package/out/concepts/BindEvent__.js +20 -18
  343. package/out/concepts/BindEvent__.js.map +1 -1
  344. package/out/concepts/BindStyle__.d.ts +2 -2
  345. package/out/concepts/BindStyle__.js +9 -7
  346. package/out/concepts/BindStyle__.js.map +1 -1
  347. package/out/concepts/Block__.d.ts +6 -2
  348. package/out/concepts/Block__.js +36 -5
  349. package/out/concepts/Block__.js.map +1 -1
  350. package/out/concepts/BooleanLiteral__.d.ts +2 -2
  351. package/out/concepts/BooleanLiteral__.js +2 -2
  352. package/out/concepts/BooleanLiteral__.js.map +1 -1
  353. package/out/concepts/CallAuthInterface__.d.ts +3 -2
  354. package/out/concepts/CallAuthInterface__.js +46 -30
  355. package/out/concepts/CallAuthInterface__.js.map +1 -1
  356. package/out/concepts/CallConnector__.d.ts +2 -2
  357. package/out/concepts/CallConnector__.js +25 -23
  358. package/out/concepts/CallConnector__.js.map +1 -1
  359. package/out/concepts/CallFunction__.d.ts +2 -2
  360. package/out/concepts/CallFunction__.js +19 -16
  361. package/out/concepts/CallFunction__.js.map +1 -1
  362. package/out/concepts/CallInterface__.d.ts +3 -2
  363. package/out/concepts/CallInterface__.js +16 -6
  364. package/out/concepts/CallInterface__.js.map +1 -1
  365. package/out/concepts/CallLogic__.d.ts +2 -3
  366. package/out/concepts/CallLogic__.js +26 -20
  367. package/out/concepts/CallLogic__.js.map +1 -1
  368. package/out/concepts/CallQueryComponent__.d.ts +4 -4
  369. package/out/concepts/CallQueryComponent__.js +38 -36
  370. package/out/concepts/CallQueryComponent__.js.map +1 -1
  371. package/out/concepts/Comment__.d.ts +2 -2
  372. package/out/concepts/Comment__.js +3 -2
  373. package/out/concepts/Comment__.js.map +1 -1
  374. package/out/concepts/ConfigProperty__.d.ts +4 -7
  375. package/out/concepts/ConfigProperty__.js +12 -10
  376. package/out/concepts/ConfigProperty__.js.map +1 -1
  377. package/out/concepts/Connection__.d.ts +4 -7
  378. package/out/concepts/Connection__.js +6 -5
  379. package/out/concepts/Connection__.js.map +1 -1
  380. package/out/concepts/Connector__.js.map +1 -1
  381. package/out/concepts/Constant__.d.ts +3 -3
  382. package/out/concepts/Constant__.js +38 -13
  383. package/out/concepts/Constant__.js.map +1 -1
  384. package/out/concepts/DataSource__.d.ts +4 -7
  385. package/out/concepts/DataSource__.js +7 -6
  386. package/out/concepts/DataSource__.js.map +1 -1
  387. package/out/concepts/DefaultValue__.d.ts +6 -2
  388. package/out/concepts/DefaultValue__.js +11 -3
  389. package/out/concepts/DefaultValue__.js.map +1 -1
  390. package/out/concepts/Destination__.d.ts +3 -3
  391. package/out/concepts/Destination__.js +29 -26
  392. package/out/concepts/Destination__.js.map +1 -1
  393. package/out/concepts/End__.d.ts +2 -2
  394. package/out/concepts/End__.js +17 -13
  395. package/out/concepts/End__.js.map +1 -1
  396. package/out/concepts/EntityIndex__.d.ts +2 -2
  397. package/out/concepts/EntityIndex__.js +4 -3
  398. package/out/concepts/EntityIndex__.js.map +1 -1
  399. package/out/concepts/EntityProperty__.d.ts +2 -2
  400. package/out/concepts/EntityProperty__.js +9 -8
  401. package/out/concepts/EntityProperty__.js.map +1 -1
  402. package/out/concepts/Entity__.d.ts +4 -7
  403. package/out/concepts/Entity__.js +22 -22
  404. package/out/concepts/Entity__.js.map +1 -1
  405. package/out/concepts/EnumItem__.d.ts +2 -2
  406. package/out/concepts/EnumItem__.js +4 -3
  407. package/out/concepts/EnumItem__.js.map +1 -1
  408. package/out/concepts/Enum__.d.ts +4 -7
  409. package/out/concepts/Enum__.js +10 -8
  410. package/out/concepts/Enum__.js.map +1 -1
  411. package/out/concepts/ExternalDestination__.d.ts +2 -2
  412. package/out/concepts/ExternalDestination__.js +7 -5
  413. package/out/concepts/ExternalDestination__.js.map +1 -1
  414. package/out/concepts/ForEachStatement__.d.ts +2 -2
  415. package/out/concepts/ForEachStatement__.js +14 -12
  416. package/out/concepts/ForEachStatement__.js.map +1 -1
  417. package/out/concepts/Frontend__.d.ts +4 -7
  418. package/out/concepts/Frontend__.js +7 -6
  419. package/out/concepts/Frontend__.js.map +1 -1
  420. package/out/concepts/Function__.d.ts +3 -3
  421. package/out/concepts/Function__.js +22 -18
  422. package/out/concepts/Function__.js.map +1 -1
  423. package/out/concepts/Identifier__.d.ts +2 -2
  424. package/out/concepts/Identifier__.js +19 -23
  425. package/out/concepts/Identifier__.js.map +1 -1
  426. package/out/concepts/IfStatement__.d.ts +2 -2
  427. package/out/concepts/IfStatement__.js +12 -10
  428. package/out/concepts/IfStatement__.js.map +1 -1
  429. package/out/concepts/ImportedInterface__.d.ts +20 -0
  430. package/out/concepts/ImportedInterface__.js +57 -0
  431. package/out/concepts/ImportedInterface__.js.map +1 -0
  432. package/out/concepts/InterfaceParam__.d.ts +2 -7
  433. package/out/concepts/InterfaceParam__.js +33 -14
  434. package/out/concepts/InterfaceParam__.js.map +1 -1
  435. package/out/concepts/Interface__.d.ts +7 -15
  436. package/out/concepts/Interface__.js +33 -43
  437. package/out/concepts/Interface__.js.map +1 -1
  438. package/out/concepts/JSBlock__.d.ts +2 -2
  439. package/out/concepts/JSBlock__.js +3 -58
  440. package/out/concepts/JSBlock__.js.map +1 -1
  441. package/out/concepts/JavaLogic__.d.ts +2 -2
  442. package/out/concepts/JavaLogic__.js +6 -2
  443. package/out/concepts/JavaLogic__.js.map +1 -1
  444. package/out/concepts/LogicItem__.d.ts +2 -2
  445. package/out/concepts/LogicItem__.js +7 -13
  446. package/out/concepts/LogicItem__.js.map +1 -1
  447. package/out/concepts/Logic__.d.ts +8 -11
  448. package/out/concepts/Logic__.js +124 -157
  449. package/out/concepts/Logic__.js.map +1 -1
  450. package/out/concepts/MatchCase__.d.ts +2 -2
  451. package/out/concepts/MatchCase__.js +23 -22
  452. package/out/concepts/MatchCase__.js.map +1 -1
  453. package/out/concepts/Match__.d.ts +2 -2
  454. package/out/concepts/Match__.js +24 -22
  455. package/out/concepts/Match__.js.map +1 -1
  456. package/out/concepts/MemberExpression__.d.ts +2 -2
  457. package/out/concepts/MemberExpression__.js +28 -24
  458. package/out/concepts/MemberExpression__.js.map +1 -1
  459. package/out/concepts/MetadataType__.d.ts +4 -7
  460. package/out/concepts/MetadataType__.js +11 -9
  461. package/out/concepts/MetadataType__.js.map +1 -1
  462. package/out/concepts/Module__.d.ts +8 -179
  463. package/out/concepts/Module__.js +124 -265
  464. package/out/concepts/Module__.js.map +1 -1
  465. package/out/concepts/NewComposite__.d.ts +5 -5
  466. package/out/concepts/NewComposite__.js +75 -76
  467. package/out/concepts/NewComposite__.js.map +1 -1
  468. package/out/concepts/NewList__.d.ts +5 -5
  469. package/out/concepts/NewList__.js +30 -26
  470. package/out/concepts/NewList__.js.map +1 -1
  471. package/out/concepts/NewMap__.d.ts +4 -4
  472. package/out/concepts/NewMap__.js +39 -35
  473. package/out/concepts/NewMap__.js.map +1 -1
  474. package/out/concepts/New__.d.ts +2 -2
  475. package/out/concepts/New__.js +3 -2
  476. package/out/concepts/New__.js.map +1 -1
  477. package/out/concepts/NullLiteral__.d.ts +2 -2
  478. package/out/concepts/NullLiteral__.js +2 -2
  479. package/out/concepts/NullLiteral__.js.map +1 -1
  480. package/out/concepts/NumericLiteral__.d.ts +2 -2
  481. package/out/concepts/NumericLiteral__.js +6 -5
  482. package/out/concepts/NumericLiteral__.js.map +1 -1
  483. package/out/concepts/OqlQueryComponent__.d.ts +2 -2
  484. package/out/concepts/OqlQueryComponent__.js +16 -14
  485. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  486. package/out/concepts/OverriddenLogic__.d.ts +8 -11
  487. package/out/concepts/OverriddenLogic__.js +99 -112
  488. package/out/concepts/OverriddenLogic__.js.map +1 -1
  489. package/out/concepts/Param__.d.ts +3 -3
  490. package/out/concepts/Param__.js +24 -30
  491. package/out/concepts/Param__.js.map +1 -1
  492. package/out/concepts/ProcessElement__.d.ts +2 -2
  493. package/out/concepts/ProcessElement__.js +54 -68
  494. package/out/concepts/ProcessElement__.js.map +1 -1
  495. package/out/concepts/ProcessOutcome__.d.ts +2 -1
  496. package/out/concepts/ProcessOutcome__.js +5 -4
  497. package/out/concepts/ProcessOutcome__.js.map +1 -1
  498. package/out/concepts/ProcessOutcomes__.d.ts +2 -1
  499. package/out/concepts/ProcessOutcomes__.js +6 -5
  500. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  501. package/out/concepts/Process__.d.ts +4 -7
  502. package/out/concepts/Process__.js +35 -52
  503. package/out/concepts/Process__.js.map +1 -1
  504. package/out/concepts/QueryAggregateExpression__.d.ts +2 -2
  505. package/out/concepts/QueryAggregateExpression__.js +2 -2
  506. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  507. package/out/concepts/QueryFieldExpression__.d.ts +2 -2
  508. package/out/concepts/QueryFieldExpression__.js +5 -4
  509. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  510. package/out/concepts/QueryFromExpression__.d.ts +2 -2
  511. package/out/concepts/QueryFromExpression__.js +8 -6
  512. package/out/concepts/QueryFromExpression__.js.map +1 -1
  513. package/out/concepts/QueryGroupByExpression__.d.ts +2 -1
  514. package/out/concepts/QueryGroupByExpression__.js +6 -5
  515. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  516. package/out/concepts/QueryJoinExpression__.d.ts +2 -2
  517. package/out/concepts/QueryJoinExpression__.js +12 -10
  518. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  519. package/out/concepts/QueryLimitExpression__.d.ts +2 -2
  520. package/out/concepts/QueryLimitExpression__.js +6 -5
  521. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  522. package/out/concepts/QueryOrderByExpression__.d.ts +2 -2
  523. package/out/concepts/QueryOrderByExpression__.js +6 -5
  524. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  525. package/out/concepts/Return__.d.ts +3 -3
  526. package/out/concepts/Return__.js +41 -24
  527. package/out/concepts/Return__.js.map +1 -1
  528. package/out/concepts/Role__.d.ts +4 -7
  529. package/out/concepts/Role__.js +7 -6
  530. package/out/concepts/Role__.js.map +1 -1
  531. package/out/concepts/SelectMembers__.d.ts +2 -2
  532. package/out/concepts/SelectMembers__.js +3 -2
  533. package/out/concepts/SelectMembers__.js.map +1 -1
  534. package/out/concepts/SqlQueryComponent__.d.ts +2 -2
  535. package/out/concepts/SqlQueryComponent__.js +12 -10
  536. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  537. package/out/concepts/Start__.d.ts +2 -2
  538. package/out/concepts/Start__.js +2 -2
  539. package/out/concepts/Start__.js.map +1 -1
  540. package/out/concepts/StringInterpolation__.d.ts +2 -2
  541. package/out/concepts/StringInterpolation__.js +7 -5
  542. package/out/concepts/StringInterpolation__.js.map +1 -1
  543. package/out/concepts/StringLiteral__.d.ts +2 -2
  544. package/out/concepts/StringLiteral__.js +12 -6
  545. package/out/concepts/StringLiteral__.js.map +1 -1
  546. package/out/concepts/StructureProperty__.d.ts +2 -2
  547. package/out/concepts/StructureProperty__.js +6 -5
  548. package/out/concepts/StructureProperty__.js.map +1 -1
  549. package/out/concepts/Structure__.d.ts +4 -7
  550. package/out/concepts/Structure__.js +15 -15
  551. package/out/concepts/Structure__.js.map +1 -1
  552. package/out/concepts/SwitchCase__.d.ts +2 -2
  553. package/out/concepts/SwitchCase__.js +12 -10
  554. package/out/concepts/SwitchCase__.js.map +1 -1
  555. package/out/concepts/SwitchStatement__.d.ts +2 -2
  556. package/out/concepts/SwitchStatement__.js +8 -6
  557. package/out/concepts/SwitchStatement__.js.map +1 -1
  558. package/out/concepts/TriggerLauncher__.d.ts +4 -7
  559. package/out/concepts/TriggerLauncher__.js +7 -6
  560. package/out/concepts/TriggerLauncher__.js.map +1 -1
  561. package/out/concepts/TypeAnnotation__.d.ts +2 -2
  562. package/out/concepts/TypeAnnotation__.js +51 -25
  563. package/out/concepts/TypeAnnotation__.js.map +1 -1
  564. package/out/concepts/TypeParam__.d.ts +2 -2
  565. package/out/concepts/TypeParam__.js +4 -3
  566. package/out/concepts/TypeParam__.js.map +1 -1
  567. package/out/concepts/UnaryExpression__.d.ts +2 -2
  568. package/out/concepts/UnaryExpression__.js +12 -7
  569. package/out/concepts/UnaryExpression__.js.map +1 -1
  570. package/out/concepts/Unparsed__.d.ts +2 -2
  571. package/out/concepts/Unparsed__.js +2 -2
  572. package/out/concepts/Unparsed__.js.map +1 -1
  573. package/out/concepts/ValidationRule__.d.ts +2 -2
  574. package/out/concepts/ValidationRule__.js +11 -9
  575. package/out/concepts/ValidationRule__.js.map +1 -1
  576. package/out/concepts/Variable__.d.ts +5 -8
  577. package/out/concepts/Variable__.js +49 -32
  578. package/out/concepts/Variable__.js.map +1 -1
  579. package/out/concepts/ViewElement__.d.ts +6 -6
  580. package/out/concepts/ViewElement__.js +110 -137
  581. package/out/concepts/ViewElement__.js.map +1 -1
  582. package/out/concepts/View__.d.ts +6 -9
  583. package/out/concepts/View__.js +76 -84
  584. package/out/concepts/View__.js.map +1 -1
  585. package/out/concepts/WhileStatement__.d.ts +2 -2
  586. package/out/concepts/WhileStatement__.js +9 -7
  587. package/out/concepts/WhileStatement__.js.map +1 -1
  588. package/out/concepts/index__.d.ts +1 -1
  589. package/out/concepts/index__.js +1 -1
  590. package/out/concepts/index__.js.map +1 -1
  591. package/out/concepts/types__.d.ts +1 -3
  592. package/out/decorators/index.js +10 -9
  593. package/out/decorators/index.js.map +1 -1
  594. package/out/generator/genMetaData.js +0 -7
  595. package/out/generator/genMetaData.js.map +1 -1
  596. package/out/manager/diagnostic.d.ts +1 -1
  597. package/out/manager/diagnostic.js +2 -3
  598. package/out/manager/diagnostic.js.map +1 -1
  599. package/out/server/extendBaseNode.js +7 -24
  600. package/out/server/extendBaseNode.js.map +1 -1
  601. package/out/server/getConnector.js +8 -3
  602. package/out/server/getConnector.js.map +1 -1
  603. package/out/server/getLogics.js +13 -3
  604. package/out/server/getLogics.js.map +1 -1
  605. package/out/server/naslServer.d.ts +44 -46
  606. package/out/server/naslServer.js +333 -461
  607. package/out/server/naslServer.js.map +1 -1
  608. package/out/server/translator.js +1 -1
  609. package/out/server/translator.js.map +1 -1
  610. package/out/templator/genCreateBlock.js +5 -9
  611. package/out/templator/genCreateBlock.js.map +1 -1
  612. package/out/templator/genCurdEditMultipleKeyBlock.js +12 -18
  613. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  614. package/out/templator/genCurdMultipleKeyBlock.js +8 -10
  615. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  616. package/out/templator/genEditTableBlock.js +2 -3
  617. package/out/templator/genEditTableBlock.js.map +1 -1
  618. package/out/templator/genUpdateBlock.js +9 -12
  619. package/out/templator/genUpdateBlock.js.map +1 -1
  620. package/out/templator/utils.js.map +1 -1
  621. package/out/translator/types.d.ts +16 -3
  622. package/out/translator/utils.d.ts +19 -1
  623. package/out/translator/utils.js +90 -2
  624. package/out/translator/utils.js.map +1 -1
  625. package/out/utils/time-slicing/constant.d.ts +35 -0
  626. package/out/utils/time-slicing/constant.js +40 -0
  627. package/out/utils/time-slicing/constant.js.map +1 -0
  628. package/out/utils/time-slicing/controller.d.ts +53 -0
  629. package/out/utils/time-slicing/controller.js +280 -0
  630. package/out/utils/time-slicing/controller.js.map +1 -0
  631. package/out/utils/time-slicing/index.d.ts +5 -0
  632. package/out/utils/time-slicing/index.js +26 -0
  633. package/out/utils/time-slicing/index.js.map +1 -0
  634. package/out/utils/time-slicing/page-state.d.ts +2 -0
  635. package/out/utils/time-slicing/page-state.js +14 -0
  636. package/out/utils/time-slicing/page-state.js.map +1 -0
  637. package/out/utils/time-slicing/performance.d.ts +11 -0
  638. package/out/utils/time-slicing/performance.js +51 -0
  639. package/out/utils/time-slicing/performance.js.map +1 -0
  640. package/out/utils/time-slicing/runner.d.ts +12 -0
  641. package/out/utils/time-slicing/runner.js +53 -0
  642. package/out/utils/time-slicing/runner.js.map +1 -0
  643. package/out/utils/time-slicing/tool.d.ts +24 -0
  644. package/out/utils/time-slicing/tool.js +47 -0
  645. package/out/utils/time-slicing/tool.js.map +1 -0
  646. package/out/utils/time-slicing/utils.d.ts +62 -0
  647. package/out/utils/time-slicing/utils.js +47 -0
  648. package/out/utils/time-slicing/utils.js.map +1 -0
  649. package/out/utils/time-slicing/wrapper.d.ts +18 -0
  650. package/out/utils/time-slicing/wrapper.js +55 -0
  651. package/out/utils/time-slicing/wrapper.js.map +1 -0
  652. package/out/utils/types.d.ts +7 -0
  653. package/package.json +1 -1
  654. package/sandbox/stdlib/nasl.core.ts +0 -2
  655. package/sandbox/stdlib/nasl.util.ts +1 -1
  656. package/src/bak/translator.js +2 -17
  657. package/src/common/BaseNode.ts +73 -7
  658. package/src/common/index.ts +1 -0
  659. package/src/common/utils.ts +17 -0
  660. package/src/concepts/Abort__.ts +12 -3
  661. package/src/concepts/Anchor__.ts +15 -5
  662. package/src/concepts/AnonymousFunction__.ts +29 -23
  663. package/src/concepts/Argument__.ts +25 -14
  664. package/src/concepts/Assignee__.ts +21 -10
  665. package/src/concepts/AssignmentLine__.ts +13 -3
  666. package/src/concepts/Assignment__.ts +33 -42
  667. package/src/concepts/AuthInterface__.ts +3 -3
  668. package/src/concepts/AuthLogicForCallInterface__.ts +63 -84
  669. package/src/concepts/BackendVariable__.ts +35 -30
  670. package/src/concepts/Backend__.ts +24 -7
  671. package/src/concepts/BatchAssignment__.ts +30 -21
  672. package/src/concepts/BinaryExpression__.ts +47 -38
  673. package/src/concepts/BindAttribute__.ts +43 -39
  674. package/src/concepts/BindDirective__.ts +19 -9
  675. package/src/concepts/BindEvent__.ts +31 -26
  676. package/src/concepts/BindStyle__.ts +18 -8
  677. package/src/concepts/Block__.ts +22 -6
  678. package/src/concepts/BooleanLiteral__.ts +11 -3
  679. package/src/concepts/CallAuthInterface__.ts +58 -33
  680. package/src/concepts/CallConnector__.ts +34 -26
  681. package/src/concepts/CallFunction__.ts +22 -17
  682. package/src/concepts/CallInterface__.ts +30 -12
  683. package/src/concepts/CallLogic__.ts +46 -47
  684. package/src/concepts/CallQueryComponent__.ts +48 -46
  685. package/src/concepts/Comment__.ts +13 -3
  686. package/src/concepts/ConfigProperty__.ts +22 -12
  687. package/src/concepts/Connection__.ts +22 -6
  688. package/src/concepts/Connector__.ts +1 -1
  689. package/src/concepts/Constant__.ts +24 -14
  690. package/src/concepts/DataSource__.ts +16 -7
  691. package/src/concepts/DefaultValue__.ts +13 -4
  692. package/src/concepts/Destination__.ts +39 -33
  693. package/src/concepts/End__.ts +24 -15
  694. package/src/concepts/EntityIndex__.ts +13 -4
  695. package/src/concepts/EntityProperty__.ts +20 -10
  696. package/src/concepts/Entity__.ts +34 -27
  697. package/src/concepts/EnumItem__.ts +13 -4
  698. package/src/concepts/Enum__.ts +21 -10
  699. package/src/concepts/ExternalDestination__.ts +16 -7
  700. package/src/concepts/ForEachStatement__.ts +24 -14
  701. package/src/concepts/Frontend__.ts +18 -7
  702. package/src/concepts/Function__.ts +30 -21
  703. package/src/concepts/Identifier__.ts +32 -34
  704. package/src/concepts/IfStatement__.ts +22 -14
  705. package/src/concepts/ImportedInterface__.ts +61 -0
  706. package/src/concepts/InterfaceParam__.ts +19 -16
  707. package/src/concepts/Interface__.ts +45 -51
  708. package/src/concepts/JSBlock__.ts +12 -61
  709. package/src/concepts/JavaLogic__.ts +13 -3
  710. package/src/concepts/LogicItem__.ts +13 -14
  711. package/src/concepts/Logic__.ts +147 -172
  712. package/src/concepts/MatchCase__.ts +33 -27
  713. package/src/concepts/Match__.ts +34 -26
  714. package/src/concepts/MemberExpression__.ts +37 -25
  715. package/src/concepts/MetadataType__.ts +22 -10
  716. package/src/concepts/Module__.ts +177 -540
  717. package/src/concepts/NewComposite__.ts +86 -80
  718. package/src/concepts/NewList__.ts +40 -32
  719. package/src/concepts/NewMap__.ts +49 -42
  720. package/src/concepts/New__.ts +13 -3
  721. package/src/concepts/NullLiteral__.ts +11 -3
  722. package/src/concepts/NumericLiteral__.ts +15 -6
  723. package/src/concepts/OqlQueryComponent__.ts +26 -18
  724. package/src/concepts/OverriddenLogic__.ts +117 -125
  725. package/src/concepts/Param__.ts +42 -38
  726. package/src/concepts/ProcessElement__.ts +67 -79
  727. package/src/concepts/ProcessOutcome__.ts +14 -6
  728. package/src/concepts/ProcessOutcomes__.ts +15 -7
  729. package/src/concepts/Process__.ts +50 -61
  730. package/src/concepts/QueryAggregateExpression__.ts +11 -3
  731. package/src/concepts/QueryFieldExpression__.ts +14 -5
  732. package/src/concepts/QueryFromExpression__.ts +18 -7
  733. package/src/concepts/QueryGroupByExpression__.ts +14 -6
  734. package/src/concepts/QueryJoinExpression__.ts +22 -11
  735. package/src/concepts/QueryLimitExpression__.ts +16 -6
  736. package/src/concepts/QueryOrderByExpression__.ts +17 -6
  737. package/src/concepts/Return__.ts +27 -25
  738. package/src/concepts/Role__.ts +17 -8
  739. package/src/concepts/SelectMembers__.ts +13 -3
  740. package/src/concepts/SqlQueryComponent__.ts +22 -11
  741. package/src/concepts/Start__.ts +11 -3
  742. package/src/concepts/StringInterpolation__.ts +10 -5
  743. package/src/concepts/StringLiteral__.ts +20 -7
  744. package/src/concepts/StructureProperty__.ts +16 -6
  745. package/src/concepts/Structure__.ts +26 -18
  746. package/src/concepts/SwitchCase__.ts +22 -14
  747. package/src/concepts/SwitchStatement__.ts +17 -7
  748. package/src/concepts/TriggerLauncher__.ts +17 -7
  749. package/src/concepts/TypeAnnotation__.ts +36 -26
  750. package/src/concepts/TypeParam__.ts +13 -4
  751. package/src/concepts/UnaryExpression__.ts +22 -9
  752. package/src/concepts/Unparsed__.ts +11 -3
  753. package/src/concepts/ValidationRule__.ts +21 -17
  754. package/src/concepts/Variable__.ts +37 -33
  755. package/src/concepts/ViewElement__.ts +128 -156
  756. package/src/concepts/View__.ts +101 -101
  757. package/src/concepts/WhileStatement__.ts +19 -10
  758. package/src/concepts/index__.ts +1 -1
  759. package/src/concepts/types__.ts +1 -5
  760. package/src/decorators/index.ts +10 -9
  761. package/src/generator/genMetaData.ts +2 -12
  762. package/src/manager/diagnostic.ts +3 -4
  763. package/src/server/extendBaseNode.ts +8 -24
  764. package/src/server/getConnector.ts +8 -3
  765. package/src/server/getLogics.ts +15 -3
  766. package/src/server/naslServer.ts +717 -749
  767. package/src/server/translator.ts +1 -1
  768. package/src/templator/genCreateBlock.ts +5 -9
  769. package/src/templator/genCurdEditMultipleKeyBlock.ts +13 -19
  770. package/src/templator/genCurdMultipleKeyBlock.ts +11 -14
  771. package/src/templator/genEditTableBlock.ts +2 -4
  772. package/src/templator/genUpdateBlock.ts +12 -15
  773. package/src/templator/utils.ts +7 -8
  774. package/src/translator/types.ts +20 -5
  775. package/src/translator/utils.ts +100 -5
  776. package/src/utils/time-slicing/constant.ts +37 -0
  777. package/src/utils/time-slicing/controller.ts +342 -0
  778. package/src/utils/time-slicing/index.ts +6 -0
  779. package/src/utils/time-slicing/page-state.ts +12 -0
  780. package/src/utils/time-slicing/performance.ts +56 -0
  781. package/src/utils/time-slicing/runner.ts +54 -0
  782. package/src/utils/time-slicing/tool.ts +45 -0
  783. package/src/utils/time-slicing/utils.ts +90 -0
  784. package/src/utils/time-slicing/wrapper.ts +58 -0
  785. package/src/utils/types.ts +9 -0
  786. package/test/concepts/anonymous-function/toEmbeddedTS.spec.ts +2 -1
  787. package/test/concepts/assignment/toEmbeddedTS.spec.ts +2 -1
  788. package/test/concepts/batch-assignment/toEmbeddedTS.spec.ts +2 -1
  789. package/test/concepts/binary-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  790. package/test/concepts/binary-expression/toEmbeddedTS.spec.ts +2 -1
  791. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +2 -1
  792. package/test/concepts/call-function/toEmbeddedTS.spec.ts +2 -1
  793. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +3 -3
  794. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +2 -1
  795. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +5 -5
  796. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -1
  797. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +2 -1
  798. package/test/concepts/data-source/toEmbeddedTS.spec.ts +2 -1
  799. package/test/concepts/data-source/toEmbeddedTSFile.spec.ts +2 -1
  800. package/test/concepts/entity/__snapshots__/toEmbeddedTS.spec.ts.snap +19 -19
  801. package/test/concepts/entity/toEmbeddedTS.spec.ts +2 -1
  802. package/test/concepts/identifier/toEmbeddedTS.spec.ts +2 -1
  803. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  804. package/test/concepts/match/toEmbeddedTS.spec.ts +2 -1
  805. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +2 -1
  806. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +2 -1
  807. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
  808. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +2 -1
  809. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +2 -1
  810. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
  811. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +2 -1
  812. package/test/concepts/validation-rule/validation-rule.spec.ts +2 -1
  813. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  814. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -4
  815. package/test/concepts/view-element/toEmbeddedTS.spec.ts +2 -1
  816. package/test/time-slicing/runner.spec.ts +28 -0
  817. package/test/time-slicing/time-slicing-nodejs.spec.ts +27 -0
  818. package/test/time-slicing/utils.ts +7 -0
  819. package/test/time-slicing/wrapper.spec.ts +92 -0
  820. package/ts-worker/lib/tsserver.js +10 -1
  821. package/ts-worker/package.json +1 -0
  822. package/ts-worker/src/index.js +13 -12
  823. package/ts-worker/webpack.config.js +1 -1
  824. package/out/concepts/InterfaceFromExample__.d.ts +0 -88
  825. package/out/concepts/InterfaceFromExample__.js +0 -183
  826. package/out/concepts/InterfaceFromExample__.js.map +0 -1
  827. package/out/utils/time-slicing.d.ts +0 -41
  828. package/out/utils/time-slicing.js +0 -82
  829. package/out/utils/time-slicing.js.map +0 -1
  830. package/src/concepts/InterfaceFromExample__.ts +0 -205
  831. package/src/utils/time-slicing.ts +0 -111
@@ -184,7 +184,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
184
184
  handleMessage: async ({ data }) => {
185
185
  if (data && data.event === 'publishDiagnostics') {
186
186
  const records = await this._resolveDiagnosticRecords(data.records);
187
- this.diagnosticManager.pushAll(records);
187
+ await this.diagnosticManager.pushAll(records);
188
188
  try {
189
189
  // 结束诊断和标注
190
190
  (0, common_1.invokeCommand)('naslServer:endWork');
@@ -268,323 +268,103 @@ let NaslServer = NaslServer_1 = class NaslServer {
268
268
  // 全部文件加载完毕开始初始化
269
269
  await this.getDiagnosticRecordsAndPushAll();
270
270
  }
271
- contentToFile(module, results) {
272
- // 禁用的依赖库不生成代码 区分 undefined 和 false
273
- if (module instanceof concepts_1.Module && module.type === 'extension' && module.enable === false) {
274
- return;
271
+ *contentToFile(module) {
272
+ if (!module) {
273
+ return [];
275
274
  }
276
- module.structures.forEach((structure) => {
277
- try {
278
- const result = structure.toEmbeddedTSFile();
279
- results.push(result);
280
- // sourceMap都存在目录级别内容下,在页面层级下去找
281
- structure.sourceMap = result.sourceMap;
282
- this.file2NodeMap.set(result.filePath, structure);
283
- }
284
- catch (err) { }
285
- });
286
- module.metadataTypes?.forEach((metadataType) => {
275
+ const self = this;
276
+ const results = [];
277
+ const getTsFile = function* getTsFile(node, name, pre) {
278
+ const isContinue = pre ? (input) => input instanceof pre : () => true;
287
279
  try {
288
- const result = metadataType.toEmbeddedTSFile();
289
- results.push(result);
290
- // sourceMap都存在目录级别内容下,在页面层级下去找
291
- metadataType.sourceMap = result.sourceMap;
292
- this.file2NodeMap.set(result.filePath, metadataType);
293
- }
294
- catch (err) { }
295
- });
296
- if (module instanceof concepts_1.App) {
297
- module.overriddenLogics?.forEach?.((logic) => {
298
- try {
299
- if (!(logic instanceof concepts_1.OverriddenLogic))
300
- return;
301
- const result = logic.toEmbeddedTSFile();
302
- results.push(result);
303
- logic.sourceMap = result.sourceMap;
304
- this.file2NodeMap.set(result.filePath, logic);
305
- }
306
- catch (err) {
307
- console.error('err: ', err);
308
- }
309
- });
310
- module?.backend?.variables?.forEach((backdndVariable) => {
311
- try {
312
- const result = backdndVariable.toEmbeddedTSFile();
313
- results.push(result);
314
- // sourceMap都存在目录级别内容下,在页面层级下去找
315
- backdndVariable.sourceMap = result.sourceMap;
316
- this.file2NodeMap.set(result.filePath, backdndVariable);
317
- }
318
- catch (err) {
319
- console.error(err);
320
- }
321
- });
322
- module.frontends?.forEach((frontend) => {
323
- try {
324
- const result = frontend.toEmbeddedTSFile();
325
- results.push(result);
326
- // sourceMap都存在目录级别内容下,在页面层级下去找
327
- frontend.sourceMap = result.sourceMap;
328
- this.file2NodeMap.set(result.filePath, frontend);
329
- }
330
- catch (err) {
331
- console.log(err);
332
- }
333
- frontend.variables?.forEach((frontendVariable) => {
334
- try {
335
- const result = frontendVariable.toEmbeddedTSFile();
336
- results.push(result);
337
- // sourceMap都存在目录级别内容下,在页面层级下去找
338
- frontendVariable.sourceMap = result.sourceMap;
339
- this.file2NodeMap.set(result.filePath, frontendVariable);
340
- }
341
- catch (err) {
342
- console.log(err);
343
- }
344
- });
345
- frontend.bindEvents?.forEach((bindEvent) => {
346
- if (bindEvent?.logics && bindEvent?.logics?.length > 0) {
347
- bindEvent.logics.forEach((logic) => {
348
- try {
349
- const result = logic.toEmbeddedTSFile();
350
- results.push(result);
351
- logic.sourceMap = result.sourceMap;
352
- this.file2NodeMap.set(result.filePath, logic);
353
- }
354
- catch (err) {
355
- console.error('err: ', err);
356
- }
357
- });
358
- }
359
- });
360
- // view的生成
361
- if (!config_1.config.closeViews) {
362
- this.view2TSFile(frontend.views, results);
363
- }
364
- frontend.componentDependencies?.forEach((item) => this.contentToFile(item, results));
365
- });
366
- }
367
- else {
368
- module.frontends?.forEach((frontend) => {
369
- try {
370
- frontend.logics.forEach((logic) => {
371
- const result = logic.toEmbeddedTSFile();
372
- results.push(result);
373
- // sourceMap都存在目录级别内容下,在页面层级下去找
374
- logic.sourceMap = result.sourceMap;
375
- this.file2NodeMap.set(result.filePath, logic);
376
- });
377
- }
378
- catch (err) {
379
- console.log(err);
280
+ if (!isContinue(node)) {
281
+ return;
380
282
  }
381
- });
382
- }
383
- module.dataSources?.forEach((dataSource) => {
384
- // 本身dataSource也要生成一个文件用于改名
385
- try {
386
- const result = dataSource.toEmbeddedTSFile();
283
+ const result = yield* node.toEmbeddedTSFile();
387
284
  results.push(result);
388
- // sourceMap都存在目录级别内容下,在页面层级下去找
389
- dataSource.sourceMap = result.sourceMap;
390
- this.file2NodeMap.set(result.filePath, dataSource);
285
+ node.sourceMap = result.sourceMap;
286
+ self.file2NodeMap.set(result.filePath, node);
391
287
  }
392
- catch (err) { }
393
- dataSource.entities.forEach((entity) => {
394
- try {
395
- const result = entity.toEmbeddedTSFile();
396
- results.push(result);
397
- // sourceMap都存在目录级别内容下,在页面层级下去找
398
- entity.sourceMap = result.sourceMap;
399
- this.file2NodeMap.set(result.filePath, entity);
400
- }
401
- catch (err) { }
402
- });
403
- });
404
- module?.interfaces?.forEach((_itf) => {
405
- try {
406
- // interface 接口可能为 InterfaceFromExample 类型,因此这里需要做兼容
407
- let _interface;
408
- if (_itf instanceof concepts_1.InterfaceFromExample) {
409
- _interface = _itf.inter;
410
- }
411
- else {
412
- _interface = _itf;
288
+ catch (err) {
289
+ if (process.env.NODE_ENV === 'development') {
290
+ console.warn(node.nodePath ? node.nodePath : name, '代码转换失败', err);
413
291
  }
414
- const result = _interface.toEmbeddedTSFile();
415
- results.push(result);
416
- // sourceMap都存在目录级别内容下,在页面层级下去找
417
- _interface.sourceMap = result.sourceMap;
418
- this.file2NodeMap.set(result.filePath, _interface);
419
- }
420
- catch (err) { }
421
- });
422
- module?.enums?.forEach((_enum) => {
423
- try {
424
- const result = _enum.toEmbeddedTSFile();
425
- results.push(result);
426
- // sourceMap都存在目录级别内容下,在页面层级下去找
427
- _enum.sourceMap = result.sourceMap;
428
- this.file2NodeMap.set(result.filePath, _enum);
429
292
  }
430
- catch (err) { }
431
- });
432
- module?.logics?.forEach((logic) => {
433
- try {
434
- if (!(logic instanceof concepts_1.Logic))
435
- return;
436
- const result = logic.toEmbeddedTSFile();
437
- results.push(result);
438
- logic.sourceMap = result.sourceMap;
439
- this.file2NodeMap.set(result.filePath, logic);
440
- }
441
- catch (err) { }
442
- });
443
- module?.authLogics?.forEach?.((logic) => {
444
- try {
445
- if (!(logic instanceof concepts_1.Logic))
446
- return;
447
- const result = logic.toEmbeddedTSFile();
448
- results.push(result);
449
- logic.sourceMap = result.sourceMap;
450
- this.file2NodeMap.set(result.filePath, logic);
451
- }
452
- catch (err) { }
453
- });
454
- module?.authLogicsForCallInterface?.forEach?.((logic) => {
455
- try {
456
- if (!(logic instanceof concepts_1.Logic))
457
- return;
458
- const result = logic.toEmbeddedTSFile();
459
- results.push(result);
460
- logic.sourceMap = result.sourceMap;
461
- this.file2NodeMap.set(result.filePath, logic);
462
- }
463
- catch (err) { }
464
- });
465
- module.processes?.forEach((process) => {
466
- try {
467
- const result = process.toEmbeddedTSFile();
468
- results.push(result);
469
- process.sourceMap = result.sourceMap;
470
- this.file2NodeMap.set(result.filePath, process);
293
+ };
294
+ const getTsFiles = function* getTsFiles(nodes, name, pre) {
295
+ for (const node of nodes ?? []) {
296
+ yield* getTsFile(node, name, pre);
471
297
  }
472
- catch (err) { }
473
- });
474
- if (module instanceof concepts_1.Connector) {
475
- try {
476
- module.triggerLaunchers?.forEach((launcher) => {
477
- const result = launcher.toEmbeddedTSFile();
478
- results.push(result);
479
- // sourceMap都存在目录级别内容下,在页面层级下去找
480
- launcher.sourceMap = result.sourceMap;
481
- this.file2NodeMap.set(result.filePath, launcher);
482
- });
483
- module.namespaces?.forEach?.((namespace) => {
484
- namespace.logics.forEach((logic) => {
485
- const result = logic.toEmbeddedTSFile();
486
- results.push(result);
487
- // sourceMap都存在目录级别内容下,在页面层级下去找
488
- logic.sourceMap = result.sourceMap;
489
- this.file2NodeMap.set(result.filePath, logic);
490
- });
491
- });
492
- module?.authLogicsForCallInterface?.forEach?.((logic) => {
493
- try {
494
- if (!(logic instanceof concepts_1.Logic))
495
- return;
496
- const result = logic.toEmbeddedTSFile();
497
- results.push(result);
498
- logic.sourceMap = result.sourceMap;
499
- this.file2NodeMap.set(result.filePath, logic);
500
- }
501
- catch (err) { }
502
- });
298
+ };
299
+ const concat = (arr, key) => {
300
+ return arr.reduce((ans, item) => ans.concat(item[key]), []);
301
+ };
302
+ const view2TSFile = function* view2TSFile(views) {
303
+ if (!views || views.length === 0) {
304
+ return;
503
305
  }
504
- catch (error) {
505
- console.error(error);
306
+ for (const view of views) {
307
+ yield* getTsFile(view, 'view');
308
+ if (view.children) {
309
+ yield* view2TSFile(view.children);
310
+ }
506
311
  }
312
+ };
313
+ // 禁用的依赖库不生成代码 区分 undefined 和 false
314
+ if (module instanceof concepts_1.Module && module.type === 'extension' && module.enable === false) {
315
+ return [];
507
316
  }
317
+ const { structures = [], metadataTypes = [], frontends = [], interfaces = [], enums = [], logics = [], authLogics = [], authLogicsForCallInterface = [], processes = [], dataSources = [], triggerLaunchers = [], connections = [], roles = [], overriddenLogics = [], backend, configuration, } = module;
318
+ const { namespaces = [], } = module;
319
+ yield* getTsFiles(structures, 'structure');
320
+ yield* getTsFiles(metadataTypes, 'metadataType');
508
321
  if (module instanceof concepts_1.App) {
509
- module?.roles?.forEach((role) => {
510
- try {
511
- const result = role.toEmbeddedTSFile();
512
- results.push(result);
513
- // sourceMap都存在目录级别内容下,在页面层级下去找
514
- role.sourceMap = result.sourceMap;
515
- this.file2NodeMap.set(result.filePath, role);
322
+ yield* getTsFiles(overriddenLogics, 'overriddenLogic', concepts_1.OverriddenLogic);
323
+ yield* getTsFiles(backend?.variables ?? [], 'backend_variable');
324
+ for (const frontend of frontends) {
325
+ yield* getTsFile(frontend, 'frontend');
326
+ yield* getTsFiles(frontend.variables, 'frontend_variable');
327
+ yield* getTsFiles(concat(frontend.bindEvents, 'logics'), 'frontend_bindEvent_logic');
328
+ if (!config_1.config.closeViews) {
329
+ yield* view2TSFile(frontend.views);
516
330
  }
517
- catch (err) { }
518
- });
331
+ for (const dep of frontend.componentDependencies) {
332
+ results.push(...(yield* self.contentToFile(dep)));
333
+ }
334
+ }
335
+ }
336
+ else {
337
+ yield* getTsFiles(concat(frontends, 'logics'), 'frontend_logic');
338
+ }
339
+ yield* getTsFiles(dataSources, 'dataSource');
340
+ yield* getTsFiles(concat(dataSources, 'entities'), 'dataSource_entity');
341
+ yield* getTsFiles(interfaces, 'interface');
342
+ yield* getTsFiles(enums, 'enum');
343
+ yield* getTsFiles(logics, 'logic');
344
+ yield* getTsFiles(authLogics, 'authLogic', concepts_1.Logic);
345
+ yield* getTsFiles(authLogicsForCallInterface, 'authLogicForCallInterface', concepts_1.Logic);
346
+ yield* getTsFiles(processes, 'process');
347
+ if (module instanceof concepts_1.Connector) {
348
+ yield* getTsFiles(triggerLaunchers, 'triggerLauncher');
349
+ yield* getTsFiles(authLogicsForCallInterface, 'authLogicForCallInterface');
350
+ yield* getTsFiles(concat(namespaces, 'logics'), 'namespaces_logic');
519
351
  }
520
352
  if (module instanceof concepts_1.App) {
521
- module.connections?.forEach?.((connection) => {
522
- try {
523
- const result = connection.toEmbeddedTSFile();
524
- results.push(result);
525
- // sourceMap都存在目录级别内容下,在页面层级下去找
526
- connection.sourceMap = result.sourceMap;
527
- this.file2NodeMap.set(result.filePath, connection);
528
- }
529
- catch (err) { }
530
- });
531
- module.triggerLaunchers?.forEach?.((triggerLauncher) => {
532
- try {
533
- const result = triggerLauncher.toEmbeddedTSFile();
534
- results.push(result);
535
- // sourceMap都存在目录级别内容下,在页面层级下去找
536
- triggerLauncher.sourceMap = result.sourceMap;
537
- this.file2NodeMap.set(result.filePath, triggerLauncher);
538
- }
539
- catch (err) { }
540
- });
353
+ yield* getTsFiles(roles, 'role');
354
+ yield* getTsFiles(connections, 'connection');
355
+ yield* getTsFiles(triggerLaunchers, 'triggerLauncher');
541
356
  }
542
- module.configuration?.groups?.forEach((_group) => {
543
- if (_group.name === 'custom') {
544
- _group.properties.forEach((_property) => {
545
- try {
546
- const result = _property.toEmbeddedTSFile();
547
- results.push(result);
548
- // sourceMap都存在目录级别内容下,在页面层级下去找
549
- _property.sourceMap = result.sourceMap;
550
- this.file2NodeMap.set(result.filePath, _property);
551
- }
552
- catch (err) { }
553
- });
357
+ for (const group of configuration?.groups ?? []) {
358
+ if (group.name === 'custom') {
359
+ yield* getTsFiles(group?.properties ?? [], 'configuration_group_property');
554
360
  }
555
- });
556
- }
557
- view2TSFile(viewsChildren, results) {
558
- // 如果有子页面
559
- if (viewsChildren && viewsChildren.length) {
560
- viewsChildren.forEach((view) => {
561
- try {
562
- const result = view.toEmbeddedTSFile();
563
- results.push(result);
564
- view.sourceMap = result.sourceMap;
565
- this.file2NodeMap.set(result.filePath, view);
566
- if (view.children.length) {
567
- this.view2TSFile(view.children, results);
568
- }
569
- }
570
- catch (err) { }
571
- });
572
361
  }
362
+ return results;
573
363
  }
574
364
  async openApp(app) {
575
365
  console.time('生成 TS 文件');
576
- const results = [];
577
- try {
578
- // app的创建内容
579
- this.contentToFile(app, results);
580
- // 其他模块的创建内容
581
- app.integration?.connectors?.forEach((item) => this.contentToFile(item, results));
582
- app.dependencies.forEach((item) => this.contentToFile(item, results));
583
- app.interfaceDependencies.forEach((item) => this.contentToFile(item, results));
584
- }
585
- catch (err) {
586
- console.log(err);
587
- }
366
+ const self = this;
367
+ const results = await utils.timeSlicingWithGenerator(getAllTsFiles());
588
368
  const files = results.map((result) => ({
589
369
  file: result.filePath,
590
370
  fileContent: result.code,
@@ -600,6 +380,18 @@ let NaslServer = NaslServer_1 = class NaslServer {
600
380
  callback();
601
381
  });
602
382
  console.timeEnd('生成 TS 文件');
383
+ function* getAllTsFiles() {
384
+ const files = yield* self.contentToFile(app);
385
+ const otherModules = [
386
+ ...app.integration?.connectors ?? [],
387
+ ...app.dependencies ?? [],
388
+ ...app.interfaceDependencies ?? [],
389
+ ];
390
+ for (const item of otherModules) {
391
+ files.push(...yield* self.contentToFile(item));
392
+ }
393
+ return files;
394
+ }
603
395
  }
604
396
  async refreshApp(app) {
605
397
  // 清除所有问题
@@ -626,13 +418,19 @@ let NaslServer = NaslServer_1 = class NaslServer {
626
418
  cacheFile(options) {
627
419
  __naslStdlibFileCacheMap.set(options.file, options);
628
420
  }
629
- /** u
421
+ /**
630
422
  * 只新增文件
631
423
  * @param {*} files
632
424
  */
633
425
  writeFiles(files) {
634
426
  files.forEach(({ file, fileContent }) => this.tsFiles.set(file, fileContent));
635
- return this.messager.requestCommand('writeFiles', files);
427
+ const noRepeatFiles = Array.from(this.tsFiles.entries()).map(([key, value]) => ({
428
+ file: key,
429
+ fileContent: value,
430
+ }));
431
+ // const newFiles = require('/Users/sufangzhou/dev/neteast/lcap-ide/packages/nasl/tmp/files-original.json');
432
+ // debugger;
433
+ return this.messager.requestCommand('writeFiles', noRepeatFiles);
636
434
  }
637
435
  /**
638
436
  * 新增、修改
@@ -955,48 +753,48 @@ let NaslServer = NaslServer_1 = class NaslServer {
955
753
  return;
956
754
  node.tsErrorDetail = tsErrorDetail;
957
755
  }
958
- /**
959
- * 处理诊断结果
960
- * @param records 结果
961
- * @returns 过滤或者转换后的诊断结果
962
- */
963
- async _resolveDiagnosticRecords(records) {
756
+ *_resolveDiagnosticRecordsWithGenerator(records) {
964
757
  // 热更新类型标注
965
758
  if (records.length) {
966
- await this.IncrementalAnnotationJSON(records);
759
+ yield* this._incrementalAnnotationJSONWithGenerator(records);
967
760
  }
968
- await Promise.all(records.map(async (record) => {
969
- const { node } = record;
970
- if (!node)
761
+ const self = this;
762
+ console.time('处理诊断数据');
763
+ yield* utils.wrapForEachToGenerator(records, function* resolveRecord(record) {
764
+ if (!record || !record.node) {
971
765
  return;
766
+ }
767
+ const { node } = record;
972
768
  // 先获取原来的节点先清除一下之前有异常的节点,下面重新赋值
973
- const oldRecord = this.diagnosticManager.getRecord?.(record.id);
974
- oldRecord?.semanticDiagnostics.forEach((item) => {
975
- if (item.node) {
976
- delete item.node.tsErrorDetail;
977
- // 如果logic中有报错就把标识置为true
978
- if (item.node?.logic?.haveError) {
979
- item.node.logic.haveError = false;
769
+ const oldRecord = self.diagnosticManager.getRecord?.(record.id);
770
+ // 处理旧数据
771
+ if (oldRecord) {
772
+ yield* utils.wrapForEachToGenerator(oldRecord.semanticDiagnostics, (item) => {
773
+ if (item.node) {
774
+ delete item.node.tsErrorDetail;
775
+ // 如果logic中有报错就把标识置为true
776
+ if (item.node?.logic?.haveError) {
777
+ item.node.logic.haveError = false;
778
+ }
980
779
  }
981
- }
982
- });
983
- // 清空一些状态
984
- oldRecord?.suggestionDiagnostics.forEach((item) => {
985
- if (item.node) {
986
- delete item.node.tsErrorDetail;
987
- if (item.node && item.node instanceof concepts_1.Logic) {
988
- item.node.isSmpty = false;
780
+ });
781
+ yield* utils.wrapForEachToGenerator(oldRecord.suggestionDiagnostics, (item) => {
782
+ if (item.node) {
783
+ delete item.node.tsErrorDetail;
784
+ if (item.node && item.node instanceof concepts_1.Logic) {
785
+ item.node.isSmpty = false;
786
+ }
989
787
  }
990
- }
991
- });
788
+ });
789
+ }
992
790
  // 语义诊断
993
791
  if (isChangeInterface) {
994
- this.existStructureFix(record.semanticDiagnostics, record.node, this);
792
+ yield* self.existStructureFix(record.semanticDiagnostics, record.node, self);
995
793
  }
996
794
  // 单独处理 oql 语义错误提示
997
795
  if (record.node instanceof concepts_1.Logic) {
998
- record?.syntaxDiagnostics.forEach((item) => {
999
- const minRange = this._findMinRange(item, record.node);
796
+ yield* utils.wrapForEachToGenerator(record?.syntaxDiagnostics, function* test(item) {
797
+ const minRange = yield* self._findMinRangeWithGenerator(item, record.node);
1000
798
  if (minRange?.node instanceof concepts_1.OqlQueryComponent) {
1001
799
  if (item.text === 'Invalid character.') {
1002
800
  record.semanticDiagnostics.push(item);
@@ -1005,14 +803,15 @@ let NaslServer = NaslServer_1 = class NaslServer {
1005
803
  });
1006
804
  }
1007
805
  // 记录结构体数据
1008
- record.semanticDiagnostics.forEach((diag) => (0, translator_2.checkAStructure_)(diag.text));
1009
- record.semanticDiagnostics = record.semanticDiagnostics
1010
- .map((diag) => this._resolveDiagnostic(diag, record.node, record))
1011
- .filter((diag) => !!diag);
1012
- record.semanticDiagnostics.push(...(await this._attachDiagnostics(node)));
806
+ yield* utils.wrapForEachToGenerator(record.semanticDiagnostics, (diag) => {
807
+ (0, translator_2.checkAStructure_)(diag.text);
808
+ });
809
+ record.semanticDiagnostics = (yield* utils.wrapMapToGenerator(record.semanticDiagnostics, function* (diag) {
810
+ return yield* self._resolveDiagnosticWithGenerator(diag, record.node, record);
811
+ })).filter((diag) => !!diag);
812
+ record.semanticDiagnostics.push(...(yield* self._attachDiagnosticsWithGenerator(node)));
1013
813
  // 报错降级逻辑
1014
- record.semanticDiagnostics = record.semanticDiagnostics
1015
- .map((diagnostic) => {
814
+ record.semanticDiagnostics = (yield* utils.wrapMapToGenerator(record.semanticDiagnostics, (diagnostic) => {
1016
815
  // 错误降级如果属于草稿态的就降级
1017
816
  if (diagnostic?.node) {
1018
817
  let currentNode = diagnostic.node;
@@ -1054,11 +853,10 @@ let NaslServer = NaslServer_1 = class NaslServer {
1054
853
  }
1055
854
  }
1056
855
  return diagnostic;
1057
- })
856
+ }))
1058
857
  .filter((diag) => !!diag);
1059
858
  // 处理后的警告异常提示信息
1060
- record.suggestionDiagnostics = record.suggestionDiagnostics
1061
- .map((diag) => {
859
+ record.suggestionDiagnostics = (yield* utils.wrapMapToGenerator(record.suggestionDiagnostics, function* resolveSuggestionDiagnostic(diag) {
1062
860
  // 上面错误降级下来的
1063
861
  if (diag?.node) {
1064
862
  return diag;
@@ -1071,7 +869,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1071
869
  `'__onlineConfigValueEmpty' is declared but its value is never read.`,
1072
870
  `'__UpdateNoProperty__' is declared but its value is never read.`,
1073
871
  ].includes(diag.text)) {
1074
- return this._resolveDiagnostic(diag, record.node, record);
872
+ return yield* self._resolveDiagnosticWithGenerator(diag, record.node, record);
1075
873
  }
1076
874
  if (diag.text.includes(` is declared but its value is never read.`)) {
1077
875
  // 局部变量和输入变量未使用的警告
@@ -1081,10 +879,10 @@ let NaslServer = NaslServer_1 = class NaslServer {
1081
879
  /**
1082
880
  * javalogic不用提示
1083
881
  */
1084
- if (record.node.concept === 'Logic' && this._isJavalogic(record.node)) {
882
+ if (record.node.concept === 'Logic' && self._isJavalogic(record.node)) {
1085
883
  return null;
1086
884
  }
1087
- const minRange = this._findMinRange(diag, record.node);
885
+ const minRange = yield* self._findMinRangeWithGenerator(diag, record.node);
1088
886
  if (minRange) {
1089
887
  /**
1090
888
  * 如果节点是入参类型
@@ -1113,12 +911,21 @@ let NaslServer = NaslServer_1 = class NaslServer {
1113
911
  }
1114
912
  }
1115
913
  return null;
1116
- })
914
+ }))
1117
915
  .filter((diag) => !!diag);
1118
- record.suggestionDiagnostics.push(...this._attachSuggestionDiagnostics(node));
1119
- }));
916
+ record.suggestionDiagnostics.push(...yield* self._attachSuggestionDiagnosticsWithGenerator(node));
917
+ });
918
+ console.timeEnd('处理诊断数据');
1120
919
  return records;
1121
920
  }
921
+ /**
922
+ * 处理诊断结果
923
+ * @param records 结果
924
+ * @returns 过滤或者转换后的诊断结果
925
+ */
926
+ _resolveDiagnosticRecords(records) {
927
+ return utils.timeSlicingWithGenerator(this._resolveDiagnosticRecordsWithGenerator(records));
928
+ }
1122
929
  /**
1123
930
  * 判断是否是Javalogic
1124
931
  */
@@ -1134,7 +941,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1134
941
  * @param fileNode 文件级别的节点
1135
942
  * @returns 诊断结果
1136
943
  */
1137
- _attachSuggestionDiagnostics(fileNode) {
944
+ *_attachSuggestionDiagnosticsWithGenerator(fileNode) {
1138
945
  const diagnostics = [];
1139
946
  if (fileNode instanceof concepts_1.Logic || fileNode instanceof concepts_1.View) {
1140
947
  fileNode?.sourceMap.forEach((value, node) => {
@@ -1496,29 +1303,51 @@ let NaslServer = NaslServer_1 = class NaslServer {
1496
1303
  return flag;
1497
1304
  }
1498
1305
  /** 是否被 触发器依赖, 如果存在,返回第一个触发器对应的名称 */
1499
- async isRefedByTriggerAndReturnFirstRef(fileNode) {
1500
- const refs = await this._isHaveRef(fileNode);
1501
- const basePath = concepts_1.TriggerLauncher.getEmbeddedFileBasePath(fileNode.rootNode);
1502
- let flag = false;
1503
- let fRefName = '';
1504
- try {
1505
- for (const ref of refs) {
1506
- const { file } = ref;
1507
- if (file.startsWith(basePath)) {
1508
- flag = true;
1509
- // file: /embedded/tttta/triggerLaunchers/订阅配置_asd.ts
1510
- fRefName = file.split(basePath)[1].split('.')[0];
1511
- break;
1306
+ isRefedByTriggerAndReturnFirstRef(fileNode) {
1307
+ return this._isHaveRef(fileNode).then((refs) => {
1308
+ const basePath = concepts_1.TriggerLauncher.getEmbeddedFileBasePath(fileNode.rootNode);
1309
+ let flag = false;
1310
+ let fRefName = '';
1311
+ try {
1312
+ for (const ref of refs) {
1313
+ const { file } = ref;
1314
+ if (file.startsWith(basePath)) {
1315
+ flag = true;
1316
+ // file: /embedded/tttta/triggerLaunchers/订阅配置_asd.ts
1317
+ fRefName = file.split(basePath)[1].split('.')[0];
1318
+ break;
1319
+ }
1512
1320
  }
1513
1321
  }
1514
- }
1515
- catch (error) {
1516
- console.error(error, refs);
1517
- }
1518
- return {
1519
- isRefedByTrigger: flag,
1520
- fRefName,
1521
- };
1322
+ catch (error) {
1323
+ console.error(error, refs);
1324
+ }
1325
+ return {
1326
+ isRefedByTrigger: flag,
1327
+ fRefName,
1328
+ };
1329
+ });
1330
+ // const refs = await this._isHaveRef(fileNode);
1331
+ // const basePath = TriggerLauncher.getEmbeddedFileBasePath(fileNode.rootNode as App);
1332
+ // let flag = false;
1333
+ // let fRefName = '';
1334
+ // try {
1335
+ // for (const ref of refs) {
1336
+ // const { file } = ref;
1337
+ // if (file.startsWith(basePath)) {
1338
+ // flag = true;
1339
+ // // file: /embedded/tttta/triggerLaunchers/订阅配置_asd.ts
1340
+ // fRefName = file.split(basePath)[1].split('.')[0];
1341
+ // break;
1342
+ // }
1343
+ // }
1344
+ // } catch (error) {
1345
+ // console.error(error, refs);
1346
+ // }
1347
+ // return {
1348
+ // isRefedByTrigger: flag,
1349
+ // fRefName,
1350
+ // };
1522
1351
  }
1523
1352
  /**
1524
1353
  * 是否符合 触发器规则
@@ -1547,15 +1376,16 @@ let NaslServer = NaslServer_1 = class NaslServer {
1547
1376
  * @param fileNode 文件级别的节点
1548
1377
  * @returns 诊断结果
1549
1378
  */
1550
- async _attachDiagnostics(fileNode) {
1379
+ *_attachDiagnosticsWithGenerator(fileNode) {
1551
1380
  // 每次诊断前先清空这个Set
1552
1381
  this.logicSetWithComponentLogic = new Set();
1382
+ const self = this;
1553
1383
  const diagnostics = [];
1554
1384
  if (fileNode instanceof concepts_1.View) {
1555
- fileNode?.sourceMap.forEach((value, node) => {
1385
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), function* attachView([node, value]) {
1556
1386
  if (node instanceof concepts_1.ViewElement && node.view === fileNode) {
1557
1387
  if (node.tag) {
1558
- node.bindAttrs.forEach((bindAttr) => {
1388
+ yield* utils.wrapForEachToGenerator(node.bindAttrs, (bindAttr) => {
1559
1389
  if ((bindAttr.model || bindAttr.sync) && bindAttr.expression) {
1560
1390
  const bindExpression = bindAttr.expression;
1561
1391
  let diagnostic;
@@ -1601,7 +1431,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1601
1431
  if (!node.typeAnnotation && !node.__TypeAnnotation) {
1602
1432
  const nodeTypeName = node.concept === 'Return' ? '输出参数' : '局部变量';
1603
1433
  let msg;
1604
- fileNode.traverseChildren((nodeIn) => {
1434
+ yield* fileNode.traverseChildrenGenerator((nodeIn) => {
1605
1435
  if (nodeIn && (nodeIn instanceof concepts_1.BatchAssignment || (nodeIn instanceof concepts_1.Assignment && nodeIn.left?.name))) {
1606
1436
  // 子页面内部逻辑过滤
1607
1437
  if (nodeIn.view !== fileNode)
@@ -1662,11 +1492,11 @@ let NaslServer = NaslServer_1 = class NaslServer {
1662
1492
  node.tsErrorDetail = diagnostic;
1663
1493
  diagnostics.push(diagnostic);
1664
1494
  }
1665
- const fileSourceCode = this.getNodeCode(fileNode, value);
1495
+ const fileSourceCode = self.getNodeCode(fileNode, value);
1666
1496
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
1667
1497
  const typeAnnotation = node.typeAnnotation.toJSON();
1668
- this._treeMetadataType2CoreType(typeAnnotation, node.rootNode);
1669
- const isDuplicate = this._isDuplicateCoreType(typeAnnotation);
1498
+ self._treeMetadataType2CoreType(typeAnnotation, node.rootNode);
1499
+ const isDuplicate = self._isDuplicateCoreType(typeAnnotation);
1670
1500
  if (isDuplicate) {
1671
1501
  const diagnostic = {
1672
1502
  node: node,
@@ -1679,7 +1509,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1679
1509
  }
1680
1510
  else if (node instanceof concepts_1.BindAttribute || node instanceof concepts_1.BindDirective || node instanceof concepts_1.BindStyle) {
1681
1511
  if (Array.isArray(node.bindExpressions)) {
1682
- const exp = node.bindExpressions.find((bindExpression) => this.hasComponentLogics(bindExpression));
1512
+ const exp = node.bindExpressions.find((bindExpression) => self.hasComponentLogics(bindExpression));
1683
1513
  if (exp) {
1684
1514
  // const element: any = node.getAncestor('ViewElement');
1685
1515
  // const api = config.allNodesAPI[element?.tag];
@@ -1703,7 +1533,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1703
1533
  }
1704
1534
  }
1705
1535
  else if (node instanceof concepts_1.CallInterface) {
1706
- const isAuthInterface = this.hasAuth(node);
1536
+ const isAuthInterface = self.hasAuth(node);
1707
1537
  const interfaceName = node.calleewholeKey.slice(node.calleewholeKey.lastIndexOf('.') + 1);
1708
1538
  if (isAuthInterface) {
1709
1539
  const errorMsg = `${interfaceName} 接口有鉴权方式,不支持在前端调用`;
@@ -1731,7 +1561,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1731
1561
  }
1732
1562
  }
1733
1563
  else {
1734
- this.checkNodeError(node, diagnostics);
1564
+ self.checkNodeError(node, diagnostics);
1735
1565
  }
1736
1566
  });
1737
1567
  }
@@ -1740,7 +1570,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1740
1570
  if (dataSourceGroup) {
1741
1571
  const property = dataSourceGroup.getProperty(fileNode.name);
1742
1572
  if (property && property.values) {
1743
- property.values.forEach((propertyValue) => {
1573
+ yield* utils.wrapForEachToGenerator(property.values, (propertyValue) => {
1744
1574
  if (!propertyValue.value && fileNode.name !== 'defaultDS') {
1745
1575
  const diagnostic = {
1746
1576
  node: fileNode,
@@ -2044,8 +1874,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
2044
1874
  });
2045
1875
  }
2046
1876
  }
2047
- if (fileNode instanceof concepts_1.Logic || fileNode instanceof concepts_1.OverriddenLogic) {
2048
- const { isRefedByTrigger, fRefName } = await this.isRefedByTriggerAndReturnFirstRef(fileNode);
1877
+ else if (fileNode instanceof concepts_1.Logic || fileNode instanceof concepts_1.OverriddenLogic) {
1878
+ const { isRefedByTrigger, fRefName } = yield this.isRefedByTriggerAndReturnFirstRef(fileNode);
2049
1879
  if (isRefedByTrigger && !this.isTriggerRule(fileNode)) {
2050
1880
  const diagnostic = {
2051
1881
  node: fileNode,
@@ -2054,18 +1884,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2054
1884
  };
2055
1885
  diagnostics.push(diagnostic);
2056
1886
  }
2057
- fileNode?.sourceMap.forEach((value, node) => {
2058
- // OQL支持返回复合类型数据了
2059
- // SqlQueryComponent内部返回值类型,如果是嵌套的就需要报错
2060
- // if ((node instanceof OqlQueryComponent || node instanceof SqlQueryComponent) && (node as SqlQueryComponent).getTypeBanError()) {
2061
- // const diagnostic = {
2062
- // node,
2063
- // severity: 'error',
2064
- // message: 'SQL查询:返回类型内部,不支持复杂类型。',
2065
- // };
2066
- // node.tsErrorDetail = diagnostic;
2067
- // diagnostics.push(diagnostic);
2068
- // }
1887
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([node, value]) => {
2069
1888
  if (node instanceof concepts_1.OqlQueryComponent) {
2070
1889
  // 自动推导情况
2071
1890
  const typeAnnotation = (0, formatTsUtils_1.type2TypeAnnotation)(node.__nodeType);
@@ -2084,7 +1903,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2084
1903
  }
2085
1904
  }
2086
1905
  }
2087
- if (node instanceof concepts_1.Return || node instanceof concepts_1.Variable) {
1906
+ else if (node instanceof concepts_1.Return || node instanceof concepts_1.Variable) {
2088
1907
  const nodeTypeName = node.concept === 'Return' ? '输出参数' : '局部变量';
2089
1908
  if (!node.typeAnnotation && !node.__TypeAnnotation) {
2090
1909
  let used = false;
@@ -2138,7 +1957,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2138
1957
  }
2139
1958
  }
2140
1959
  }
2141
- if (node instanceof concepts_1.Param) {
1960
+ else if (node instanceof concepts_1.Param) {
2142
1961
  const fileSourceCode = this.getNodeCode(fileNode, value);
2143
1962
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
2144
1963
  const typeAnnotation = node.typeAnnotation.toJSON();
@@ -2158,7 +1977,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2158
1977
  });
2159
1978
  }
2160
1979
  else if (fileNode instanceof concepts_1.Process) {
2161
- fileNode?.sourceMap.forEach((value, node) => {
1980
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([node, value]) => {
2162
1981
  this.checkNodeError(node, diagnostics);
2163
1982
  });
2164
1983
  }
@@ -2539,9 +2358,9 @@ let NaslServer = NaslServer_1 = class NaslServer {
2539
2358
  return tInterface instanceof concepts_1.AuthInterface;
2540
2359
  }
2541
2360
  /* 接口导入查找 */
2542
- existStructureFix(semanticDiagnostics, node, that) {
2361
+ *existStructureFix(semanticDiagnostics, node, that) {
2543
2362
  let module;
2544
- semanticDiagnostics.map((diag) => {
2363
+ yield* utils.wrapForEachToGenerator(semanticDiagnostics, (diag) => {
2545
2364
  const minRange = this._findMinRange(diag, node);
2546
2365
  if (diag.text?.includes('has no exported member named')) {
2547
2366
  if (minRange.node instanceof concepts_1.Logic) {
@@ -2571,7 +2390,6 @@ let NaslServer = NaslServer_1 = class NaslServer {
2571
2390
  }
2572
2391
  return null;
2573
2392
  }
2574
- return diag;
2575
2393
  });
2576
2394
  if (actionArr.length) {
2577
2395
  if (timer)
@@ -2599,45 +2417,43 @@ let NaslServer = NaslServer_1 = class NaslServer {
2599
2417
  * @param fileNode 页面节点
2600
2418
  * @returns 处理后的结果
2601
2419
  */
2602
- _resolveDiagnostic(diagnostic, fileNode, record) {
2420
+ *_resolveDiagnosticWithGenerator(diagnostic, fileNode, record) {
2603
2421
  // 拓展模块中的翻译先过滤掉,因为有错用户也不能修改
2604
2422
  if ((fileNode.module || fileNode.connector) && !(fileNode instanceof concepts_1.ConfigProperty)) {
2605
2423
  return;
2606
2424
  }
2607
- // 过滤掉java依赖库的报错
2608
- // if ('compilerInfoMap' in fileNode && (fileNode as any).compilerInfoMap?.java) {
2609
- // return;
2610
- // }
2611
2425
  if (fileNode.concept === 'OverriddenLogic' && diagnostic.text === `'__LogicEmpty' is declared but its value is never read.`) {
2612
2426
  return;
2613
2427
  }
2614
- const minRange = this._findMinRange(diagnostic, fileNode);
2428
+ const minRange = yield* this._findMinRangeWithGenerator(diagnostic, fileNode);
2615
2429
  const tsErrorDetail = {
2616
2430
  severity: diagnostic.category === 'error' ? 'error' : 'warning',
2617
2431
  message: (0, translator_2.translateDiagnosticMessage)(diagnostic.text),
2618
2432
  // 保留原来的内容方便查询一些问题
2619
2433
  originalDiagnostic: diagnostic,
2620
2434
  };
2435
+ yield;
2621
2436
  let result;
2622
2437
  if (minRange) {
2623
2438
  // 节点的error要置为true
2624
2439
  result = (0, translator_2.naslNodeTranslateMessage)(minRange, tsErrorDetail);
2440
+ yield;
2625
2441
  }
2626
2442
  else {
2627
2443
  // 没找到节点, 先把问题暴露出来
2628
2444
  result = tsErrorDetail;
2629
2445
  }
2630
- if (result)
2446
+ if (result) {
2631
2447
  result.id = record.filePath + (result ? JSON.stringify({ start: result.originalDiagnostic.start, end: result.originalDiagnostic.end }) : '');
2448
+ }
2632
2449
  return result;
2633
2450
  }
2634
2451
  /**
2635
- * 通过节点诊断反过来查找节点
2636
- * @param diagnostic 诊断信息
2637
- * @param fileNode 文件级别节点
2638
- * @returns 找到的节点
2452
+ * 查找节点
2453
+ *
2454
+ * @description 生成器原型函数
2639
2455
  */
2640
- _findMinRange(diagnostic, fileNode) {
2456
+ *_findMinRangeWithGenerator(diagnostic, fileNode) {
2641
2457
  let minRange;
2642
2458
  const { sourceMap } = fileNode;
2643
2459
  // 是否找到了行内准确的,是的话,就不走多行的
@@ -2699,15 +2515,26 @@ let NaslServer = NaslServer_1 = class NaslServer {
2699
2515
  }
2700
2516
  }
2701
2517
  }
2518
+ yield;
2702
2519
  }
2703
2520
  if (!minRange) {
2704
2521
  if (fileNode instanceof concepts_1.View) {
2705
2522
  return { node: fileNode, item: sourceMap.get(fileNode) };
2706
2523
  }
2707
- console.log(minRange, '需要特殊看下,为什么没找到内容-------------');
2524
+ if (process.env.NODE_ENV === 'development') {
2525
+ console.log(minRange, '需要特殊看下,为什么没找到内容-------------');
2526
+ }
2708
2527
  }
2709
2528
  return minRange;
2710
2529
  }
2530
+ /**
2531
+ * 查找节点
2532
+ *
2533
+ * @description 同步模式
2534
+ */
2535
+ _findMinRange(...args) {
2536
+ return utils.runGeneratorSync(this._findMinRangeWithGenerator(...args));
2537
+ }
2711
2538
  /**
2712
2539
  * 查看当前节点是不是有引用
2713
2540
  * @param node 节点
@@ -2749,7 +2576,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2749
2576
  // Conenctor 虽为 Module 的子类,但是具体引用逻辑与Module 并不一致,因此这边单独处理
2750
2577
  // 由于 在与后端定义 Connector Namespace 前缀时, Logics 相关定义为 connector,
2751
2578
  // 其余定义为 extension, 因此这边查找引用时,需要分别查找并去重复
2752
- // 这里选择 logic 与 interface 作为 查找源,因为一个 Connector 必定至少含有一个 logic 和 interface
2579
+ // 这里选择 logic 与 interface 作为 查找源,因为一个 Connector 必定至少含有一个 logic 和 interface
2753
2580
  const logicList = node.namespaces.find((ns) => ns.logics.length > 0)?.logics || [];
2754
2581
  const interfaceList = node.interfaces;
2755
2582
  const moduleName = fileNode.getEmbeddedFilePath();
@@ -3795,6 +3622,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
3795
3622
  return { fileNode: null };
3796
3623
  let { sourceMap } = node;
3797
3624
  let fileNode = node;
3625
+ // 连接器 操作,上层结构是 Namespace, Namespace 并无含义,因此需要过滤掉
3626
+ const isConnectorLogic = node.getAncestor('Connector') && node.concept === 'Logic' && node.parentNode instanceof concepts_1.Namespace;
3798
3627
  // 如果没有sourceMap,就继续向上找 ,或者到module结束
3799
3628
  // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
3800
3629
  // 如果当前节点是view就不要向上查找了
@@ -3807,7 +3636,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
3807
3636
  !(fileNode.parentNode instanceof concepts_1.DataSource) &&
3808
3637
  !(fileNode.parentNode instanceof concepts_1.Frontend) &&
3809
3638
  !(fileNode.parentNode instanceof concepts_1.Backend) &&
3810
- !(fileNode.parentNode instanceof concepts_1.Namespace) &&
3639
+ !isConnectorLogic &&
3811
3640
  !(fileNode instanceof concepts_1.View) &&
3812
3641
  !(fileNode instanceof concepts_1.ConfigProperty)) {
3813
3642
  fileNode = fileNode.parentNode;
@@ -3921,6 +3750,10 @@ let NaslServer = NaslServer_1 = class NaslServer {
3921
3750
  }
3922
3751
  return concepts_1.TypeAnnotation.createPrimitive(type);
3923
3752
  }
3753
+ // 如果是一元表达式,那么就是布尔值
3754
+ if (node instanceof concepts_1.UnaryExpression) {
3755
+ return concepts_1.TypeAnnotation.createPrimitive('Boolean');
3756
+ }
3924
3757
  // 这些原有类型的 比较的 返回值肯定就是布尔值,就不去调用ls
3925
3758
  if (node instanceof concepts_1.BinaryExpression && ['==', '!=', '>', '<', '>=', '<='].includes(node.operator)) {
3926
3759
  return concepts_1.TypeAnnotation.createPrimitive('Boolean');
@@ -3956,26 +3789,25 @@ let NaslServer = NaslServer_1 = class NaslServer {
3956
3789
  }
3957
3790
  }
3958
3791
  /**
3959
- * 获取传入节点的TypeAnnotation
3960
- * @param nodes {filePath: string, node: BaseNode, item: SourceMapItem}
3961
- * @returns Map<BaseNode, TypeAnnotation | { typeAnnotation: TypeAnnotation, option: any }>
3962
- * 普通的TypeAnnotation,额外的可能携带 option
3963
- * 这里会处理callloigc callinterface 和 callfuntion 的 argment的参数一起携带回去,
3964
- * 也就是说如果 只传入了这个也会一起返回argment的节点,所以返回map最好去get结果
3792
+ * 获取传入节点的 TypeAnnotation
3793
+ *
3794
+ * @description 生成器模式原型
3965
3795
  */
3966
- async getQuickInfoNodesTypeMap(nodes, lotFlag) {
3796
+ *_getQuickInfoNodesTypeMapWithGenerator(nodes) {
3797
+ const self = this;
3967
3798
  const args = [];
3968
3799
  // 要通过自己或者依赖关系拿的
3969
3800
  const getFromOthers = new Map();
3970
3801
  // 总共要返回出去的
3971
3802
  const types = new Map();
3972
3803
  const newQuickInfoNodes = [];
3973
- await utils.timeSlicing(nodes, (itemDetail) => {
3804
+ yield* utils.wrapForEachToGenerator(nodes, function* getQuickInfoPosition(itemDetail, index) {
3974
3805
  const { node, filePath, item } = itemDetail;
3975
3806
  // 先按照顺序占位
3976
3807
  types.set(node, null);
3977
3808
  // 获取已知节点类型的类型
3978
- const nodeTypeAnnotation = this.getCurrentNodeKnownTypeAnnotation(node);
3809
+ const nodeTypeAnnotation = self.getCurrentNodeKnownTypeAnnotation(node);
3810
+ yield;
3979
3811
  if (nodeTypeAnnotation) {
3980
3812
  types.set(node, nodeTypeAnnotation);
3981
3813
  return;
@@ -3995,7 +3827,6 @@ let NaslServer = NaslServer_1 = class NaslServer {
3995
3827
  }
3996
3828
  if (![
3997
3829
  'Identifier',
3998
- 'UnaryExpression',
3999
3830
  'BinaryExpression',
4000
3831
  'CallLogic',
4001
3832
  'CallFunction',
@@ -4023,12 +3854,13 @@ let NaslServer = NaslServer_1 = class NaslServer {
4023
3854
  offset: (0, translator_1.lsp2tspNumber)(item.start.character),
4024
3855
  };
4025
3856
  const getCode = (range) => {
4026
- return this.tsFiles.get(filePath)?.slice(range.start.offset, range.end.offset) ?? '';
3857
+ return self.tsFiles.get(filePath)?.slice(range.start.offset, range.end.offset) ?? '';
4027
3858
  };
4028
3859
  // 位置计算偏移
4029
3860
  if ('getQuickInfoOffset' in node) {
4030
3861
  Object.assign(fileDetail, node.getQuickInfoOffset(fileDetail, getCode(item)));
4031
3862
  }
3863
+ yield;
4032
3864
  // 位置计算偏移2
4033
3865
  // TODO: 之后考虑把这些偏移量计算全都挪到节点内部去
4034
3866
  if (node.concept === 'BinaryExpression' ||
@@ -4108,9 +3940,9 @@ let NaslServer = NaslServer_1 = class NaslServer {
4108
3940
  fileDetail.offset += 10;
4109
3941
  }
4110
3942
  args.push(fileDetail);
4111
- }, { minimum: 1000 });
4112
- const resultMap = (await this.getNaslNodeTypeFull(args))?.response;
4113
- await utils.timeSlicing(args, ({ file, line, offset }, index) => {
3943
+ });
3944
+ const resultMap = (yield this.getNaslNodeTypeFull(args))?.response;
3945
+ yield* utils.wrapForEachToGenerator(args, ({ file, line, offset }, index) => {
4114
3946
  const item = resultMap?.[file]?.[line]?.[offset];
4115
3947
  const itemType = item?.[0]?.nodeType;
4116
3948
  const nodeTypeAnnotation = (0, formatTsUtils_1.type2TypeAnnotation)(itemType);
@@ -4123,8 +3955,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
4123
3955
  else {
4124
3956
  delete node.__nodeType;
4125
3957
  }
4126
- }, { minimum: 100 });
4127
- await utils.timeSlicing(Array.from(getFromOthers.entries()), ([node]) => {
3958
+ });
3959
+ yield* utils.wrapIteratorToGenerator(getFromOthers.entries(), function* ([node]) {
4128
3960
  if (node instanceof concepts_1.Assignment) {
4129
3961
  if (!types.get(node.left)) {
4130
3962
  types.set(node.left, types.get(node.right));
@@ -4132,7 +3964,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4132
3964
  }
4133
3965
  else if (node instanceof concepts_1.Argument) {
4134
3966
  // 如果Argument,但是没可以用的类型,就用原来logic的参数类型
4135
- const argType = this.getArgumentTypeAnnotation(node, newQuickInfoNodes, types);
3967
+ const argType = yield* self.getArgumentTypeAnnotationWithGenerator(node, newQuickInfoNodes, types);
4136
3968
  types.set(node, argType);
4137
3969
  }
4138
3970
  else if (node instanceof concepts_1.MatchCase) {
@@ -4145,8 +3977,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
4145
3977
  }
4146
3978
  }
4147
3979
  }
4148
- }, { minimum: 100 });
4149
- await utils.timeSlicing(Array.from(types.entries()), ([node, value]) => {
3980
+ });
3981
+ yield* utils.wrapIteratorToGenerator(types.entries(), ([node, value]) => {
4150
3982
  try {
4151
3983
  // 因为node可能是经过处理的TypeAnnotation
4152
3984
  node.__isCorrectTypeAnnotation = true;
@@ -4181,9 +4013,15 @@ let NaslServer = NaslServer_1 = class NaslServer {
4181
4013
  // console.log(err);
4182
4014
  // }
4183
4015
  }
4184
- }, { minimum: 100 });
4016
+ });
4185
4017
  return types;
4186
4018
  }
4019
+ /**
4020
+ * 获取传入节点的 TypeAnnotation
4021
+ */
4022
+ getQuickInfoNodesTypeMap(nodes, flag) {
4023
+ return utils.runGeneratorAsync(this._getQuickInfoNodesTypeMapWithGenerator(nodes));
4024
+ }
4187
4025
  // 全量标注并且返回json
4188
4026
  async getNaslAnnotatedJSON(app, releaseFlag) {
4189
4027
  if (this.changeStackList?.length) {
@@ -4206,6 +4044,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4206
4044
  const typesMap = await this.getQuickInfoNodesTypeMap(nodes, true);
4207
4045
  console.timeEnd('全量标注');
4208
4046
  const json = app.toJSON();
4047
+ console.log(json);
4209
4048
  if (releaseFlag) {
4210
4049
  // 全量标注后对json进行一些修改,为了服务端翻译处理
4211
4050
  this.annotationToJson(typesMap, json);
@@ -4213,27 +4052,29 @@ let NaslServer = NaslServer_1 = class NaslServer {
4213
4052
  return json;
4214
4053
  }
4215
4054
  // 增量标注
4216
- async IncrementalAnnotationJSON(records) {
4055
+ *_incrementalAnnotationJSONWithGenerator(records) {
4217
4056
  console.time('增量标注');
4218
4057
  const nodes = [];
4219
- records.forEach((record) => {
4220
- const fileNode = this.file2NodeMap.get(record.filePath);
4221
- if (!fileNode)
4058
+ const self = this;
4059
+ yield* utils.wrapForEachToGenerator(records, function* findNodePosition(record) {
4060
+ const fileNode = self.file2NodeMap.get(record.filePath);
4061
+ if (!fileNode) {
4222
4062
  return;
4063
+ }
4223
4064
  record.id = fileNode.id;
4224
4065
  record.node = fileNode;
4225
- if (!['Structure', 'DataSource', 'Entity', 'Enum', 'Role', 'MetadataType'].includes(fileNode.concept)) {
4226
- fileNode.sourceMap &&
4227
- fileNode.sourceMap.forEach((item, nodeItem) => {
4228
- nodes.push({
4229
- filePath: record.filePath,
4230
- node: nodeItem,
4231
- item,
4232
- });
4233
- });
4066
+ if (['Structure', 'DataSource', 'Entity', 'Enum', 'Role', 'MetadataType'].includes(fileNode.concept) || !fileNode.sourceMap) {
4067
+ return;
4234
4068
  }
4069
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([nodeItem, item]) => {
4070
+ nodes.push({
4071
+ filePath: record.filePath,
4072
+ node: nodeItem,
4073
+ item,
4074
+ });
4075
+ });
4235
4076
  });
4236
- await this.getQuickInfoNodesTypeMap(nodes);
4077
+ yield* this._getQuickInfoNodesTypeMapWithGenerator(nodes);
4237
4078
  console.timeEnd('增量标注');
4238
4079
  }
4239
4080
  annotationToJson(typesMap, json) {
@@ -4241,6 +4082,12 @@ let NaslServer = NaslServer_1 = class NaslServer {
4241
4082
  // 如果节点本身有类型就不去在塞一遍了
4242
4083
  // 有值而且没有类型再去设置
4243
4084
  // 但是Identifier 和 MemberExpression 都用标注出来的因为本身是变量,有类型也需要覆盖一下
4085
+ if (value && (node instanceof concepts_1.Argument) && node.getAncestor('Connector')?.concept === 'Connector') {
4086
+ const jsonNode = jsoner.queryNodeByPath(json, node.getNodePath(false));
4087
+ if (jsonNode) {
4088
+ jsonNode.typeAnnotation = value?.toJSON();
4089
+ }
4090
+ }
4244
4091
  if (value && (!node.typeAnnotation || node instanceof concepts_1.Identifier || node instanceof concepts_1.MemberExpression)) {
4245
4092
  const jsonNode = jsoner.queryNodeByPath(json, node.getNodePath(false));
4246
4093
  if (jsonNode) {
@@ -4353,7 +4200,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4353
4200
  * 如果内部表达式的,就用表达式的,如果没有就试试用默认值的
4354
4201
  * 获取logic的默认值和原来Arg的类型和默认值对应
4355
4202
  */
4356
- getArgumentTypeAnnotation(node, QuickInfoNodes, types) {
4203
+ *getArgumentTypeAnnotationWithGenerator(node, QuickInfoNodes, types) {
4357
4204
  // 直接复用内部expression的type类型
4358
4205
  if (node.parentNode instanceof concepts_1.CallLogic &&
4359
4206
  node.parentNode.calleeNamespace?.includes('entities') &&
@@ -4368,6 +4215,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4368
4215
  return nodeTypeAnnotation;
4369
4216
  }
4370
4217
  }
4218
+ yield;
4371
4219
  }
4372
4220
  // 获取返回值结果里找到父级的callLogic || CallInterface的类型填充进去Argument
4373
4221
  const App = node.app;
@@ -4380,6 +4228,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4380
4228
  }
4381
4229
  // 用户自己声明的用用户的
4382
4230
  const callObj = App.findNodeByCompleteName(`${parent.calleeNamespace}.${parent.calleeName}`);
4231
+ yield;
4383
4232
  const index = parent.arguments.indexOf(node);
4384
4233
  const param = callObj?.params?.[index] || {};
4385
4234
  // 取出参数的类型
@@ -4640,7 +4489,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4640
4489
  const fileNodeChildren = [...fileNode.views, ...fileNode.variables];
4641
4490
  for (let i = 0; i < fileNodeChildren.length; i++) {
4642
4491
  const fileNodeItem = fileNodeChildren[i];
4643
- const result = fileNodeItem.toEmbeddedTSFile();
4492
+ const result = await utils.timeSlicingWithGenerator(fileNodeItem.toEmbeddedTSFile());
4644
4493
  fileNodeItem.sourceMap = result.sourceMap;
4645
4494
  if (action === 'create') {
4646
4495
  await this.handleChange(fileNodeItem, fileNodeItem, result, action);
@@ -4665,7 +4514,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4665
4514
  const fileNodeChildren = fileNode.children;
4666
4515
  for (let i = 0; i < fileNodeChildren.length; i++) {
4667
4516
  const fileNodeItem = fileNodeChildren[i];
4668
- const result = fileNodeItem.toEmbeddedTSFile();
4517
+ const result = await utils.timeSlicingWithGenerator(fileNodeItem.toEmbeddedTSFile());
4669
4518
  fileNodeItem.sourceMap = result.sourceMap;
4670
4519
  if (action === 'create') {
4671
4520
  await this.handleChange(fileNodeItem, fileNodeItem, result, action);
@@ -4691,8 +4540,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4691
4540
  isChangeInterface = true;
4692
4541
  }
4693
4542
  const module = targetNode;
4694
- const results = [];
4695
- this.contentToFile(module, results);
4543
+ const results = await utils.timeSlicingWithGenerator(this.contentToFile(module));
4696
4544
  for (let i = 0; i < results.length; i++) {
4697
4545
  const result = results[i];
4698
4546
  const node = this.file2NodeMap.get(result.filePath);
@@ -4720,7 +4568,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4720
4568
  if (fileNode instanceof concepts_1.DataSource) {
4721
4569
  fileNode.entities.forEach(async (entity) => {
4722
4570
  try {
4723
- const result = entity.toEmbeddedTSFile();
4571
+ const result = await utils.timeSlicingWithGenerator(entity.toEmbeddedTSFile());
4724
4572
  const parentPath = oldpath.replace('.ts', '/');
4725
4573
  const currentOldPath = `${parentPath}/entities/${entity.name}.ts`;
4726
4574
  // 因为重命名这里只有当前修改父级的 旧名称, 所以他的子集也要根据旧名称去查依赖 更新内容
@@ -4736,9 +4584,35 @@ let NaslServer = NaslServer_1 = class NaslServer {
4736
4584
  async receiveHandleChange($event) {
4737
4585
  this.singleFileChangeIng = true;
4738
4586
  // 行为
4739
- const { action } = $event;
4587
+ const { action, oldObject = {}, object = {} } = $event;
4588
+ // 根据行为跳过更新文件
4589
+ // 如果更新国际化key,不需要修改ts文件
4590
+ if (Object.keys(object || {}).length === 1 && Object.keys(oldObject).length === 1) {
4591
+ if (object.i18nKey && !oldObject.i18nKey) {
4592
+ return;
4593
+ }
4594
+ else if (object.i18nInfo && !oldObject.i18nInfo) {
4595
+ return;
4596
+ }
4597
+ else if (!object.i18nKey && oldObject.i18nKey) {
4598
+ // 撤销重做 也跳过更新
4599
+ return;
4600
+ }
4601
+ else if (!object.i18nInfo && oldObject.i18nInfo) {
4602
+ // 撤销重做 也跳过更新
4603
+ return;
4604
+ }
4605
+ }
4740
4606
  const targetNode = $event.target;
4741
4607
  console.log(targetNode, 'targetNode');
4608
+ // 连接器namespace 没有真实文件,不需要走删除
4609
+ if (targetNode instanceof concepts_1.Namespace && targetNode.parentNode instanceof concepts_1.Connector) {
4610
+ return;
4611
+ }
4612
+ // 连接器本身没有真实文件,也不需要删除
4613
+ if (targetNode instanceof concepts_1.Connector) {
4614
+ return;
4615
+ }
4742
4616
  // Connection 相关配置的更新不需要写入文件
4743
4617
  // i18nInfo 更新不需要写入文件
4744
4618
  if (targetNode?.parentNode instanceof concepts_1.Connection || targetNode instanceof concepts_1.I18nInfo) {
@@ -4758,18 +4632,19 @@ let NaslServer = NaslServer_1 = class NaslServer {
4758
4632
  }
4759
4633
  return;
4760
4634
  }
4635
+ // debugger;
4761
4636
  if (process.env.NODE_ENV === 'development') {
4762
4637
  console.time('重新生成 TS 文件');
4763
4638
  }
4764
- // 部分节点如 Namespace 可能不存在对应的方法
4765
- const result = fileNode?.toEmbeddedTSFile();
4639
+ const fileTsPath = fileNode.getEmbeddedFilePath();
4640
+ const result = await utils.timeSlicingWithGenerator(fileNode.toEmbeddedTSFile());
4766
4641
  if (process.env.NODE_ENV === 'development') {
4767
4642
  console.timeEnd('重新生成 TS 文件');
4768
- console.log('重新生成 TS 文件', fileNode.getEmbeddedFilePath());
4643
+ console.log('重新生成 TS 文件', fileTsPath);
4769
4644
  }
4770
4645
  // 当前操作的节点
4771
4646
  // 如果当前没有生成tsFile
4772
- if (!result) {
4647
+ if (!result.sourceMap) {
4773
4648
  return;
4774
4649
  }
4775
4650
  // 修改触发修改文件
@@ -4844,9 +4719,6 @@ __decorate([
4844
4719
  __decorate([
4845
4720
  (0, decorators_1.withQueueExecute)('annotation')
4846
4721
  ], NaslServer.prototype, "getNaslAnnotatedJSON", null);
4847
- __decorate([
4848
- (0, decorators_1.withQueueExecute)('annotation')
4849
- ], NaslServer.prototype, "IncrementalAnnotationJSON", null);
4850
4722
  NaslServer = NaslServer_1 = __decorate([
4851
4723
  sentry_1.sentryMonitorNaslServer
4852
4724
  ], NaslServer);