@lcap/nasl 3.3.3-beta.6 → 3.3.3-beta.7

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 (591) hide show
  1. package/out/bak/translator.js +73 -15
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/common/BaseNode.d.ts +11 -0
  4. package/out/common/BaseNode.js +51 -0
  5. package/out/common/BaseNode.js.map +1 -1
  6. package/out/common/index.d.ts +1 -0
  7. package/out/common/index.js +1 -0
  8. package/out/common/index.js.map +1 -1
  9. package/out/common/utils.d.ts +2 -0
  10. package/out/common/utils.js +18 -0
  11. package/out/common/utils.js.map +1 -0
  12. package/out/concepts/Abort__.d.ts +2 -2
  13. package/out/concepts/Abort__.js +6 -2
  14. package/out/concepts/Abort__.js.map +1 -1
  15. package/out/concepts/Anchor__.d.ts +2 -2
  16. package/out/concepts/Anchor__.js +11 -7
  17. package/out/concepts/Anchor__.js.map +1 -1
  18. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  19. package/out/concepts/AnonymousFunction__.js +37 -23
  20. package/out/concepts/AnonymousFunction__.js.map +1 -1
  21. package/out/concepts/App__.js +137 -69
  22. package/out/concepts/App__.js.map +1 -1
  23. package/out/concepts/Argument__.d.ts +2 -2
  24. package/out/concepts/Argument__.js +18 -13
  25. package/out/concepts/Argument__.js.map +1 -1
  26. package/out/concepts/Assignee__.d.ts +2 -2
  27. package/out/concepts/Assignee__.js +31 -19
  28. package/out/concepts/Assignee__.js.map +1 -1
  29. package/out/concepts/AssignmentLine__.d.ts +2 -2
  30. package/out/concepts/AssignmentLine__.js +3 -2
  31. package/out/concepts/AssignmentLine__.js.map +1 -1
  32. package/out/concepts/Assignment__.d.ts +2 -2
  33. package/out/concepts/Assignment__.js +16 -12
  34. package/out/concepts/Assignment__.js.map +1 -1
  35. package/out/concepts/Attribute__.js +6 -3
  36. package/out/concepts/Attribute__.js.map +1 -1
  37. package/out/concepts/AuthLogicForCallInterface__.d.ts +2 -2
  38. package/out/concepts/AuthLogicForCallInterface__.js +62 -78
  39. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  40. package/out/concepts/BackendVariable__.d.ts +5 -8
  41. package/out/concepts/BackendVariable__.js +23 -18
  42. package/out/concepts/BackendVariable__.js.map +1 -1
  43. package/out/concepts/Backend__.d.ts +4 -7
  44. package/out/concepts/Backend__.js +16 -11
  45. package/out/concepts/Backend__.js.map +1 -1
  46. package/out/concepts/BatchAssignment__.d.ts +2 -2
  47. package/out/concepts/BatchAssignment__.js +30 -22
  48. package/out/concepts/BatchAssignment__.js.map +1 -1
  49. package/out/concepts/BinaryExpression__.d.ts +2 -2
  50. package/out/concepts/BinaryExpression__.js +30 -18
  51. package/out/concepts/BinaryExpression__.js.map +1 -1
  52. package/out/concepts/BindAttribute__.d.ts +10 -4
  53. package/out/concepts/BindAttribute__.js +144 -43
  54. package/out/concepts/BindAttribute__.js.map +1 -1
  55. package/out/concepts/BindDirective__.d.ts +2 -2
  56. package/out/concepts/BindDirective__.js +16 -11
  57. package/out/concepts/BindDirective__.js.map +1 -1
  58. package/out/concepts/BindEvent__.d.ts +4 -7
  59. package/out/concepts/BindEvent__.js +32 -24
  60. package/out/concepts/BindEvent__.js.map +1 -1
  61. package/out/concepts/BindStyle__.d.ts +2 -2
  62. package/out/concepts/BindStyle__.js +15 -10
  63. package/out/concepts/BindStyle__.js.map +1 -1
  64. package/out/concepts/BooleanLiteral__.d.ts +2 -2
  65. package/out/concepts/BooleanLiteral__.js +2 -2
  66. package/out/concepts/BooleanLiteral__.js.map +1 -1
  67. package/out/concepts/CallAuthInterface__.d.ts +2 -2
  68. package/out/concepts/CallAuthInterface__.js +36 -31
  69. package/out/concepts/CallAuthInterface__.js.map +1 -1
  70. package/out/concepts/CallConnector__.d.ts +2 -2
  71. package/out/concepts/CallConnector__.js +25 -23
  72. package/out/concepts/CallConnector__.js.map +1 -1
  73. package/out/concepts/CallFunction__.d.ts +2 -2
  74. package/out/concepts/CallFunction__.js +31 -22
  75. package/out/concepts/CallFunction__.js.map +1 -1
  76. package/out/concepts/CallInterface__.d.ts +2 -2
  77. package/out/concepts/CallInterface__.js +20 -29
  78. package/out/concepts/CallInterface__.js.map +1 -1
  79. package/out/concepts/CallLogic__.d.ts +2 -3
  80. package/out/concepts/CallLogic__.js +47 -50
  81. package/out/concepts/CallLogic__.js.map +1 -1
  82. package/out/concepts/CallQueryComponent__.d.ts +4 -4
  83. package/out/concepts/CallQueryComponent__.js +50 -42
  84. package/out/concepts/CallQueryComponent__.js.map +1 -1
  85. package/out/concepts/Comment__.d.ts +2 -2
  86. package/out/concepts/Comment__.js +3 -2
  87. package/out/concepts/Comment__.js.map +1 -1
  88. package/out/concepts/CompletionProperty__.js +6 -3
  89. package/out/concepts/CompletionProperty__.js.map +1 -1
  90. package/out/concepts/ConfigGroup__.js +6 -3
  91. package/out/concepts/ConfigGroup__.js.map +1 -1
  92. package/out/concepts/ConfigProperty__.d.ts +4 -7
  93. package/out/concepts/ConfigProperty__.js +18 -13
  94. package/out/concepts/ConfigProperty__.js.map +1 -1
  95. package/out/concepts/Configuration__.js +6 -3
  96. package/out/concepts/Configuration__.js.map +1 -1
  97. package/out/concepts/Connection__.d.ts +4 -7
  98. package/out/concepts/Connection__.js +12 -8
  99. package/out/concepts/Connection__.js.map +1 -1
  100. package/out/concepts/Connector__.js +30 -15
  101. package/out/concepts/Connector__.js.map +1 -1
  102. package/out/concepts/Constant__.d.ts +3 -3
  103. package/out/concepts/Constant__.js +18 -13
  104. package/out/concepts/Constant__.js.map +1 -1
  105. package/out/concepts/DataSource__.d.ts +4 -7
  106. package/out/concepts/DataSource__.js +13 -9
  107. package/out/concepts/DataSource__.js.map +1 -1
  108. package/out/concepts/Destination__.d.ts +3 -3
  109. package/out/concepts/Destination__.js +35 -29
  110. package/out/concepts/Destination__.js.map +1 -1
  111. package/out/concepts/End__.d.ts +2 -2
  112. package/out/concepts/End__.js +17 -13
  113. package/out/concepts/End__.js.map +1 -1
  114. package/out/concepts/EntityIndex__.d.ts +2 -2
  115. package/out/concepts/EntityIndex__.js +4 -3
  116. package/out/concepts/EntityIndex__.js.map +1 -1
  117. package/out/concepts/EntityProperty__.d.ts +2 -2
  118. package/out/concepts/EntityProperty__.js +22 -15
  119. package/out/concepts/EntityProperty__.js.map +1 -1
  120. package/out/concepts/Entity__.d.ts +4 -7
  121. package/out/concepts/Entity__.js +29 -21
  122. package/out/concepts/Entity__.js.map +1 -1
  123. package/out/concepts/EnumItem__.d.ts +2 -2
  124. package/out/concepts/EnumItem__.js +4 -3
  125. package/out/concepts/EnumItem__.js.map +1 -1
  126. package/out/concepts/Enum__.d.ts +4 -7
  127. package/out/concepts/Enum__.js +16 -11
  128. package/out/concepts/Enum__.js.map +1 -1
  129. package/out/concepts/Event__.js +6 -3
  130. package/out/concepts/Event__.js.map +1 -1
  131. package/out/concepts/ExternalDestination__.d.ts +2 -2
  132. package/out/concepts/ExternalDestination__.js +13 -8
  133. package/out/concepts/ExternalDestination__.js.map +1 -1
  134. package/out/concepts/ForEachStatement__.d.ts +2 -2
  135. package/out/concepts/ForEachStatement__.js +26 -18
  136. package/out/concepts/ForEachStatement__.js.map +1 -1
  137. package/out/concepts/FrontendLibrary__.js +18 -10
  138. package/out/concepts/FrontendLibrary__.js.map +1 -1
  139. package/out/concepts/Frontend__.d.ts +4 -7
  140. package/out/concepts/Frontend__.js +37 -21
  141. package/out/concepts/Frontend__.js.map +1 -1
  142. package/out/concepts/Function__.d.ts +3 -3
  143. package/out/concepts/Function__.js +52 -33
  144. package/out/concepts/Function__.js.map +1 -1
  145. package/out/concepts/Identifier__.d.ts +2 -2
  146. package/out/concepts/Identifier__.js +19 -18
  147. package/out/concepts/Identifier__.js.map +1 -1
  148. package/out/concepts/IfStatement__.d.ts +2 -2
  149. package/out/concepts/IfStatement__.js +18 -13
  150. package/out/concepts/IfStatement__.js.map +1 -1
  151. package/out/concepts/Integration__.js +17 -9
  152. package/out/concepts/Integration__.js.map +1 -1
  153. package/out/concepts/InterfaceParam__.d.ts +2 -2
  154. package/out/concepts/InterfaceParam__.js +12 -8
  155. package/out/concepts/InterfaceParam__.js.map +1 -1
  156. package/out/concepts/Interface__.d.ts +4 -7
  157. package/out/concepts/Interface__.js +44 -33
  158. package/out/concepts/Interface__.js.map +1 -1
  159. package/out/concepts/JSBlock__.d.ts +2 -2
  160. package/out/concepts/JSBlock__.js +3 -2
  161. package/out/concepts/JSBlock__.js.map +1 -1
  162. package/out/concepts/JavaLogic__.d.ts +2 -2
  163. package/out/concepts/JavaLogic__.js +6 -2
  164. package/out/concepts/JavaLogic__.js.map +1 -1
  165. package/out/concepts/LogicItem__.d.ts +2 -2
  166. package/out/concepts/LogicItem__.js +7 -3
  167. package/out/concepts/LogicItem__.js.map +1 -1
  168. package/out/concepts/Logic__.d.ts +8 -11
  169. package/out/concepts/Logic__.js +141 -136
  170. package/out/concepts/Logic__.js.map +1 -1
  171. package/out/concepts/MatchCase__.d.ts +2 -2
  172. package/out/concepts/MatchCase__.js +35 -27
  173. package/out/concepts/MatchCase__.js.map +1 -1
  174. package/out/concepts/Match__.d.ts +2 -2
  175. package/out/concepts/Match__.js +29 -24
  176. package/out/concepts/Match__.js.map +1 -1
  177. package/out/concepts/MemberExpression__.d.ts +2 -2
  178. package/out/concepts/MemberExpression__.js +34 -27
  179. package/out/concepts/MemberExpression__.js.map +1 -1
  180. package/out/concepts/MetadataType__.d.ts +4 -7
  181. package/out/concepts/MetadataType__.js +23 -15
  182. package/out/concepts/MetadataType__.js.map +1 -1
  183. package/out/concepts/MsgTriggerEvent__.js +6 -3
  184. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  185. package/out/concepts/MsgTriggerLauncher__.js +6 -3
  186. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  187. package/out/concepts/Namespace__.js +66 -33
  188. package/out/concepts/Namespace__.js.map +1 -1
  189. package/out/concepts/NewComposite__.d.ts +5 -5
  190. package/out/concepts/NewComposite__.js +95 -82
  191. package/out/concepts/NewComposite__.js.map +1 -1
  192. package/out/concepts/NewList__.d.ts +5 -5
  193. package/out/concepts/NewList__.js +42 -32
  194. package/out/concepts/NewList__.js.map +1 -1
  195. package/out/concepts/NewMap__.d.ts +4 -4
  196. package/out/concepts/NewMap__.js +51 -41
  197. package/out/concepts/NewMap__.js.map +1 -1
  198. package/out/concepts/New__.d.ts +2 -2
  199. package/out/concepts/New__.js +3 -2
  200. package/out/concepts/New__.js.map +1 -1
  201. package/out/concepts/NullLiteral__.d.ts +2 -2
  202. package/out/concepts/NullLiteral__.js +2 -2
  203. package/out/concepts/NullLiteral__.js.map +1 -1
  204. package/out/concepts/NumericLiteral__.d.ts +2 -2
  205. package/out/concepts/NumericLiteral__.js +12 -7
  206. package/out/concepts/NumericLiteral__.js.map +1 -1
  207. package/out/concepts/OqlQueryComponent__.d.ts +2 -2
  208. package/out/concepts/OqlQueryComponent__.js +22 -17
  209. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  210. package/out/concepts/OverriddenLogic__.d.ts +8 -11
  211. package/out/concepts/OverriddenLogic__.js +135 -130
  212. package/out/concepts/OverriddenLogic__.js.map +1 -1
  213. package/out/concepts/Param__.d.ts +3 -3
  214. package/out/concepts/Param__.js +29 -24
  215. package/out/concepts/Param__.js.map +1 -1
  216. package/out/concepts/ProcessComponent__.js +12 -6
  217. package/out/concepts/ProcessComponent__.js.map +1 -1
  218. package/out/concepts/ProcessElement__.d.ts +2 -2
  219. package/out/concepts/ProcessElement__.js +92 -66
  220. package/out/concepts/ProcessElement__.js.map +1 -1
  221. package/out/concepts/ProcessOutcome__.d.ts +2 -1
  222. package/out/concepts/ProcessOutcome__.js +5 -4
  223. package/out/concepts/ProcessOutcome__.js.map +1 -1
  224. package/out/concepts/ProcessOutcomes__.d.ts +2 -1
  225. package/out/concepts/ProcessOutcomes__.js +6 -5
  226. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  227. package/out/concepts/Process__.d.ts +4 -7
  228. package/out/concepts/Process__.js +51 -34
  229. package/out/concepts/Process__.js.map +1 -1
  230. package/out/concepts/QueryAggregateExpression__.d.ts +2 -2
  231. package/out/concepts/QueryAggregateExpression__.js +8 -5
  232. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  233. package/out/concepts/QueryFieldExpression__.d.ts +2 -2
  234. package/out/concepts/QueryFieldExpression__.js +5 -4
  235. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  236. package/out/concepts/QueryFromExpression__.d.ts +2 -2
  237. package/out/concepts/QueryFromExpression__.js +14 -9
  238. package/out/concepts/QueryFromExpression__.js.map +1 -1
  239. package/out/concepts/QueryGroupByExpression__.d.ts +2 -1
  240. package/out/concepts/QueryGroupByExpression__.js +12 -8
  241. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  242. package/out/concepts/QueryJoinExpression__.d.ts +2 -2
  243. package/out/concepts/QueryJoinExpression__.js +18 -13
  244. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  245. package/out/concepts/QueryLimitExpression__.d.ts +2 -2
  246. package/out/concepts/QueryLimitExpression__.js +12 -8
  247. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  248. package/out/concepts/QueryOrderByExpression__.d.ts +2 -2
  249. package/out/concepts/QueryOrderByExpression__.js +12 -8
  250. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  251. package/out/concepts/QuerySelectExpression__.js +6 -3
  252. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  253. package/out/concepts/Return__.d.ts +3 -3
  254. package/out/concepts/Return__.js +21 -16
  255. package/out/concepts/Return__.js.map +1 -1
  256. package/out/concepts/Role__.d.ts +4 -7
  257. package/out/concepts/Role__.js +7 -6
  258. package/out/concepts/Role__.js.map +1 -1
  259. package/out/concepts/SelectMembers__.d.ts +2 -2
  260. package/out/concepts/SelectMembers__.js +9 -5
  261. package/out/concepts/SelectMembers__.js.map +1 -1
  262. package/out/concepts/Slot__.js +6 -3
  263. package/out/concepts/Slot__.js.map +1 -1
  264. package/out/concepts/SqlQueryComponent__.d.ts +2 -2
  265. package/out/concepts/SqlQueryComponent__.js +18 -13
  266. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/Start__.d.ts +2 -2
  268. package/out/concepts/Start__.js +2 -2
  269. package/out/concepts/Start__.js.map +1 -1
  270. package/out/concepts/StringInterpolation__.d.ts +2 -2
  271. package/out/concepts/StringInterpolation__.js +13 -8
  272. package/out/concepts/StringInterpolation__.js.map +1 -1
  273. package/out/concepts/StringLiteral__.d.ts +2 -2
  274. package/out/concepts/StringLiteral__.js +4 -3
  275. package/out/concepts/StringLiteral__.js.map +1 -1
  276. package/out/concepts/StructureProperty__.d.ts +2 -2
  277. package/out/concepts/StructureProperty__.js +14 -10
  278. package/out/concepts/StructureProperty__.js.map +1 -1
  279. package/out/concepts/Structure__.d.ts +4 -7
  280. package/out/concepts/Structure__.js +22 -14
  281. package/out/concepts/Structure__.js.map +1 -1
  282. package/out/concepts/SwitchCase__.d.ts +2 -2
  283. package/out/concepts/SwitchCase__.js +18 -13
  284. package/out/concepts/SwitchCase__.js.map +1 -1
  285. package/out/concepts/SwitchStatement__.d.ts +2 -2
  286. package/out/concepts/SwitchStatement__.js +14 -9
  287. package/out/concepts/SwitchStatement__.js.map +1 -1
  288. package/out/concepts/TriggerEvent__.js +6 -3
  289. package/out/concepts/TriggerEvent__.js.map +1 -1
  290. package/out/concepts/TriggerLauncher__.d.ts +4 -7
  291. package/out/concepts/TriggerLauncher__.js +7 -6
  292. package/out/concepts/TriggerLauncher__.js.map +1 -1
  293. package/out/concepts/TypeAnnotation__.d.ts +2 -2
  294. package/out/concepts/TypeAnnotation__.js +61 -29
  295. package/out/concepts/TypeAnnotation__.js.map +1 -1
  296. package/out/concepts/TypeParam__.d.ts +2 -2
  297. package/out/concepts/TypeParam__.js +4 -3
  298. package/out/concepts/TypeParam__.js.map +1 -1
  299. package/out/concepts/UnaryExpression__.d.ts +2 -2
  300. package/out/concepts/UnaryExpression__.js +18 -10
  301. package/out/concepts/UnaryExpression__.js.map +1 -1
  302. package/out/concepts/Unparsed__.d.ts +2 -1
  303. package/out/concepts/Unparsed__.js +2 -2
  304. package/out/concepts/Unparsed__.js.map +1 -1
  305. package/out/concepts/ValidationRule__.d.ts +2 -2
  306. package/out/concepts/ValidationRule__.js +17 -12
  307. package/out/concepts/ValidationRule__.js.map +1 -1
  308. package/out/concepts/Variable__.d.ts +5 -8
  309. package/out/concepts/Variable__.js +23 -18
  310. package/out/concepts/Variable__.js.map +1 -1
  311. package/out/concepts/ViewElement__.d.ts +7 -6
  312. package/out/concepts/ViewElement__.js +139 -101
  313. package/out/concepts/ViewElement__.js.map +1 -1
  314. package/out/concepts/View__.d.ts +8 -9
  315. package/out/concepts/View__.js +73 -62
  316. package/out/concepts/View__.js.map +1 -1
  317. package/out/concepts/WhileStatement__.d.ts +2 -2
  318. package/out/concepts/WhileStatement__.js +9 -7
  319. package/out/concepts/WhileStatement__.js.map +1 -1
  320. package/out/manager/diagnostic.d.ts +1 -1
  321. package/out/manager/diagnostic.js +2 -3
  322. package/out/manager/diagnostic.js.map +1 -1
  323. package/out/server/naslServer.d.ts +46 -55
  324. package/out/server/naslServer.js +302 -449
  325. package/out/server/naslServer.js.map +1 -1
  326. package/out/server/translator.js +1 -1
  327. package/out/server/translator.js.map +1 -1
  328. package/out/templator/genCreateBlock.js +4 -4
  329. package/out/templator/genCreateBlock.js.map +1 -1
  330. package/out/templator/genCurdEditMultipleKeyBlock.js +6 -6
  331. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  332. package/out/templator/genCurdMultipleKeyBlock.js +4 -4
  333. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  334. package/out/templator/genEditTableBlock.js +2 -2
  335. package/out/templator/genEditTableBlock.js.map +1 -1
  336. package/out/templator/genUpdateBlock.js +4 -4
  337. package/out/templator/genUpdateBlock.js.map +1 -1
  338. package/out/translator/types.d.ts +16 -3
  339. package/out/translator/utils.d.ts +19 -1
  340. package/out/translator/utils.js +71 -2
  341. package/out/translator/utils.js.map +1 -1
  342. package/out/utils/time-slicing/constant.d.ts +35 -0
  343. package/out/utils/time-slicing/constant.js +40 -0
  344. package/out/utils/time-slicing/constant.js.map +1 -0
  345. package/out/utils/time-slicing/controller.d.ts +53 -0
  346. package/out/utils/time-slicing/controller.js +280 -0
  347. package/out/utils/time-slicing/controller.js.map +1 -0
  348. package/out/utils/time-slicing/index.d.ts +5 -0
  349. package/out/utils/time-slicing/index.js +26 -0
  350. package/out/utils/time-slicing/index.js.map +1 -0
  351. package/out/utils/time-slicing/page-state.d.ts +2 -0
  352. package/out/utils/time-slicing/page-state.js +14 -0
  353. package/out/utils/time-slicing/page-state.js.map +1 -0
  354. package/out/utils/time-slicing/performance.d.ts +11 -0
  355. package/out/utils/time-slicing/performance.js +51 -0
  356. package/out/utils/time-slicing/performance.js.map +1 -0
  357. package/out/utils/time-slicing/runner.d.ts +12 -0
  358. package/out/utils/time-slicing/runner.js +53 -0
  359. package/out/utils/time-slicing/runner.js.map +1 -0
  360. package/out/utils/time-slicing/tool.d.ts +24 -0
  361. package/out/utils/time-slicing/tool.js +47 -0
  362. package/out/utils/time-slicing/tool.js.map +1 -0
  363. package/out/utils/time-slicing/utils.d.ts +62 -0
  364. package/out/utils/time-slicing/utils.js +47 -0
  365. package/out/utils/time-slicing/utils.js.map +1 -0
  366. package/out/utils/time-slicing/wrapper.d.ts +18 -0
  367. package/out/utils/time-slicing/wrapper.js +55 -0
  368. package/out/utils/time-slicing/wrapper.js.map +1 -0
  369. package/out/utils/types.d.ts +7 -0
  370. package/package.json +1 -1
  371. package/src/bak/translator.js +75 -16
  372. package/src/common/BaseNode.ts +67 -6
  373. package/src/common/index.ts +1 -0
  374. package/src/common/utils.ts +17 -0
  375. package/src/concepts/Abort__.ts +12 -3
  376. package/src/concepts/Anchor__.ts +21 -8
  377. package/src/concepts/AnonymousFunction__.ts +45 -31
  378. package/src/concepts/App__.ts +137 -69
  379. package/src/concepts/Argument__.ts +31 -14
  380. package/src/concepts/Assignee__.ts +42 -21
  381. package/src/concepts/AssignmentLine__.ts +13 -3
  382. package/src/concepts/Assignment__.ts +26 -14
  383. package/src/concepts/Attribute__.ts +6 -3
  384. package/src/concepts/AuthLogicForCallInterface__.ts +69 -87
  385. package/src/concepts/BackendVariable__.ts +34 -19
  386. package/src/concepts/Backend__.ts +33 -12
  387. package/src/concepts/BatchAssignment__.ts +41 -23
  388. package/src/concepts/BinaryExpression__.ts +40 -20
  389. package/src/concepts/BindAttribute__.ts +151 -49
  390. package/src/concepts/BindDirective__.ts +25 -12
  391. package/src/concepts/BindEvent__.ts +43 -32
  392. package/src/concepts/BindStyle__.ts +24 -11
  393. package/src/concepts/BooleanLiteral__.ts +11 -3
  394. package/src/concepts/CallAuthInterface__.ts +45 -34
  395. package/src/concepts/CallConnector__.ts +34 -26
  396. package/src/concepts/CallFunction__.ts +34 -23
  397. package/src/concepts/CallInterface__.ts +33 -42
  398. package/src/concepts/CallLogic__.ts +60 -67
  399. package/src/concepts/CallQueryComponent__.ts +60 -52
  400. package/src/concepts/Comment__.ts +13 -3
  401. package/src/concepts/CompletionProperty__.ts +6 -3
  402. package/src/concepts/ConfigGroup__.ts +6 -3
  403. package/src/concepts/ConfigProperty__.ts +28 -15
  404. package/src/concepts/Configuration__.ts +6 -3
  405. package/src/concepts/Connection__.ts +28 -9
  406. package/src/concepts/Connector__.ts +30 -15
  407. package/src/concepts/Constant__.ts +28 -14
  408. package/src/concepts/DataSource__.ts +22 -10
  409. package/src/concepts/Destination__.ts +45 -36
  410. package/src/concepts/End__.ts +24 -15
  411. package/src/concepts/EntityIndex__.ts +13 -4
  412. package/src/concepts/EntityProperty__.ts +33 -17
  413. package/src/concepts/Entity__.ts +40 -25
  414. package/src/concepts/EnumItem__.ts +13 -4
  415. package/src/concepts/Enum__.ts +27 -13
  416. package/src/concepts/Event__.ts +6 -3
  417. package/src/concepts/ExternalDestination__.ts +22 -10
  418. package/src/concepts/ForEachStatement__.ts +36 -20
  419. package/src/concepts/FrontendLibrary__.ts +18 -10
  420. package/src/concepts/Frontend__.ts +48 -22
  421. package/src/concepts/Function__.ts +60 -36
  422. package/src/concepts/Identifier__.ts +28 -23
  423. package/src/concepts/IfStatement__.ts +28 -17
  424. package/src/concepts/Integration__.ts +17 -9
  425. package/src/concepts/InterfaceParam__.ts +22 -9
  426. package/src/concepts/Interface__.ts +55 -37
  427. package/src/concepts/JSBlock__.ts +12 -3
  428. package/src/concepts/JavaLogic__.ts +13 -3
  429. package/src/concepts/LogicItem__.ts +13 -4
  430. package/src/concepts/Logic__.ts +159 -149
  431. package/src/concepts/MatchCase__.ts +45 -32
  432. package/src/concepts/Match__.ts +39 -28
  433. package/src/concepts/MemberExpression__.ts +43 -28
  434. package/src/concepts/MetadataType__.ts +34 -16
  435. package/src/concepts/MsgTriggerEvent__.ts +6 -3
  436. package/src/concepts/MsgTriggerLauncher__.ts +6 -3
  437. package/src/concepts/Namespace__.ts +66 -33
  438. package/src/concepts/NewComposite__.ts +106 -87
  439. package/src/concepts/NewList__.ts +52 -38
  440. package/src/concepts/NewMap__.ts +61 -48
  441. package/src/concepts/New__.ts +13 -3
  442. package/src/concepts/NullLiteral__.ts +11 -3
  443. package/src/concepts/NumericLiteral__.ts +21 -8
  444. package/src/concepts/OqlQueryComponent__.ts +32 -21
  445. package/src/concepts/OverriddenLogic__.ts +153 -143
  446. package/src/concepts/Param__.ts +48 -34
  447. package/src/concepts/ProcessComponent__.ts +12 -6
  448. package/src/concepts/ProcessElement__.ts +102 -76
  449. package/src/concepts/ProcessOutcome__.ts +16 -8
  450. package/src/concepts/ProcessOutcomes__.ts +17 -9
  451. package/src/concepts/Process__.ts +62 -41
  452. package/src/concepts/QueryAggregateExpression__.ts +17 -6
  453. package/src/concepts/QueryFieldExpression__.ts +14 -5
  454. package/src/concepts/QueryFromExpression__.ts +24 -10
  455. package/src/concepts/QueryGroupByExpression__.ts +20 -9
  456. package/src/concepts/QueryJoinExpression__.ts +28 -14
  457. package/src/concepts/QueryLimitExpression__.ts +22 -9
  458. package/src/concepts/QueryOrderByExpression__.ts +23 -9
  459. package/src/concepts/QuerySelectExpression__.ts +6 -3
  460. package/src/concepts/Return__.ts +31 -17
  461. package/src/concepts/Role__.ts +17 -8
  462. package/src/concepts/SelectMembers__.ts +19 -6
  463. package/src/concepts/Slot__.ts +6 -3
  464. package/src/concepts/SqlQueryComponent__.ts +28 -14
  465. package/src/concepts/Start__.ts +11 -3
  466. package/src/concepts/StringInterpolation__.ts +16 -8
  467. package/src/concepts/StringLiteral__.ts +13 -4
  468. package/src/concepts/StructureProperty__.ts +24 -11
  469. package/src/concepts/Structure__.ts +33 -16
  470. package/src/concepts/SwitchCase__.ts +28 -17
  471. package/src/concepts/SwitchStatement__.ts +23 -10
  472. package/src/concepts/TriggerEvent__.ts +6 -3
  473. package/src/concepts/TriggerLauncher__.ts +17 -7
  474. package/src/concepts/TypeAnnotation__.ts +46 -30
  475. package/src/concepts/TypeParam__.ts +13 -4
  476. package/src/concepts/UnaryExpression__.ts +28 -12
  477. package/src/concepts/Unparsed__.ts +10 -3
  478. package/src/concepts/ValidationRule__.ts +27 -20
  479. package/src/concepts/Variable__.ts +34 -19
  480. package/src/concepts/ViewElement__.ts +165 -125
  481. package/src/concepts/View__.ts +108 -89
  482. package/src/concepts/WhileStatement__.ts +19 -10
  483. package/src/concepts/types__.ts +1 -1
  484. package/src/manager/diagnostic.ts +3 -4
  485. package/src/server/naslServer.ts +676 -729
  486. package/src/server/translator.ts +1 -1
  487. package/src/templator/genCreateBlock.ts +4 -4
  488. package/src/templator/genCurdEditMultipleKeyBlock.ts +6 -6
  489. package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
  490. package/src/templator/genEditTableBlock.ts +2 -2
  491. package/src/templator/genUpdateBlock.ts +4 -4
  492. package/src/translator/types.ts +20 -5
  493. package/src/translator/utils.ts +78 -4
  494. package/src/utils/time-slicing/constant.ts +37 -0
  495. package/src/utils/time-slicing/controller.ts +342 -0
  496. package/src/utils/time-slicing/index.ts +6 -0
  497. package/src/utils/time-slicing/page-state.ts +12 -0
  498. package/src/utils/time-slicing/performance.ts +56 -0
  499. package/src/utils/time-slicing/runner.ts +54 -0
  500. package/src/utils/time-slicing/tool.ts +45 -0
  501. package/src/utils/time-slicing/utils.ts +90 -0
  502. package/src/utils/time-slicing/wrapper.ts +58 -0
  503. package/src/utils/types.ts +9 -0
  504. package/test/concepts/anonymous-function/__snapshots__/toEmbeddedTS.spec.ts.snap +8 -0
  505. package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +3 -0
  506. package/test/concepts/anonymous-function/__snapshots__/toVue.spec.ts.snap +6 -0
  507. package/test/concepts/anonymous-function/constant.ts +5 -0
  508. package/test/concepts/anonymous-function/fixtures/simple.json +85 -0
  509. package/test/concepts/anonymous-function/toEmbeddedTS.spec.ts +15 -0
  510. package/test/concepts/anonymous-function/toJS.spec.ts +14 -0
  511. package/test/concepts/anonymous-function/toVue.spec.ts +14 -0
  512. package/test/concepts/assignment/__snapshots__/toEmbeddedTS.spec.ts.snap +21 -0
  513. package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +9 -0
  514. package/test/concepts/assignment/__snapshots__/toVue.spec.ts.snap +21 -0
  515. package/test/concepts/assignment/constant.ts +5 -0
  516. package/test/concepts/assignment/fixtures/both-space.json +4 -0
  517. package/test/concepts/assignment/fixtures/left-space.json +14 -0
  518. package/test/concepts/assignment/fixtures/right-space.json +8 -0
  519. package/test/concepts/assignment/fixtures/simple.json +12 -0
  520. package/test/concepts/assignment/toEmbeddedTS.spec.ts +15 -0
  521. package/test/concepts/assignment/toJS.spec.ts +14 -0
  522. package/test/concepts/assignment/toVue.spec.ts +14 -0
  523. package/test/concepts/batch-assignment/__snapshots__/toEmbeddedTS.spec.ts.snap +28 -0
  524. package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +13 -0
  525. package/test/concepts/batch-assignment/__snapshots__/toVue.spec.ts.snap +14 -0
  526. package/test/concepts/batch-assignment/constant.ts +5 -0
  527. package/test/concepts/batch-assignment/fixtures/muli-var-muli-value.json +144 -0
  528. package/test/concepts/batch-assignment/fixtures/simple-var-simple-value.json +36 -0
  529. package/test/concepts/batch-assignment/toEmbeddedTS.spec.ts +15 -0
  530. package/test/concepts/batch-assignment/toJS.spec.ts +14 -0
  531. package/test/concepts/batch-assignment/toVue.spec.ts +14 -0
  532. package/test/concepts/binary-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +25 -0
  533. package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +17 -0
  534. package/test/concepts/binary-expression/__snapshots__/toVue.spec.ts.snap +19 -0
  535. package/test/concepts/binary-expression/constant.ts +5 -0
  536. package/test/concepts/binary-expression/fixtures/constant-nested.json +36 -0
  537. package/test/concepts/binary-expression/fixtures/constant-simple.json +12 -0
  538. package/test/concepts/binary-expression/fixtures/variable-nested.json +69 -0
  539. package/test/concepts/binary-expression/toEmbeddedTS.spec.ts +15 -0
  540. package/test/concepts/binary-expression/toJS.spec.ts +14 -0
  541. package/test/concepts/binary-expression/toVue.spec.ts +14 -0
  542. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +4 -3
  543. package/test/concepts/boolean-literal/toJS.spec.ts +2 -2
  544. package/test/concepts/boolean-literal/toVue.spec.ts +2 -2
  545. package/test/concepts/call-function/toEmbeddedTS.spec.ts +2 -1
  546. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +2 -1
  547. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -1
  548. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +2 -1
  549. package/test/concepts/data-source/__snapshots__/toEmbeddedTS.spec.ts.snap +8 -0
  550. package/test/concepts/data-source/__snapshots__/toEmbeddedTSFile.spec.ts.snap +12 -0
  551. package/test/concepts/data-source/constant.ts +5 -0
  552. package/test/concepts/data-source/fixtures/normal.json +289 -0
  553. package/test/concepts/data-source/toEmbeddedTS.spec.ts +15 -0
  554. package/test/concepts/data-source/toEmbeddedTSFile.spec.ts +16 -0
  555. package/test/concepts/entity/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  556. package/test/concepts/entity/__snapshots__/toEmbeddedTSFile.spec.ts.snap +3 -0
  557. package/test/concepts/entity/constant.ts +5 -0
  558. package/test/concepts/entity/fixtures/normal.json +469 -0
  559. package/test/concepts/entity/toEmbeddedTS.spec.ts +15 -0
  560. package/test/concepts/entity/toEmbeddedTSFile.spec.ts +14 -0
  561. package/test/concepts/identifier/toEmbeddedTS.spec.ts +4 -3
  562. package/test/concepts/identifier/toJS.spec.ts +2 -2
  563. package/test/concepts/identifier/toVue.spec.ts +2 -2
  564. package/test/concepts/match/toEmbeddedTS.spec.ts +2 -1
  565. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +2 -1
  566. package/test/concepts/member-expression/toVue.spec.ts +2 -2
  567. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +4 -3
  568. package/test/concepts/null-literal/toJS.spec.ts +2 -2
  569. package/test/concepts/null-literal/toVue.spec.ts +2 -2
  570. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +4 -3
  571. package/test/concepts/numeric-literal/toJS.spec.ts +2 -2
  572. package/test/concepts/numeric-literal/toVue.spec.ts +2 -2
  573. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +4 -3
  574. package/test/concepts/string-literal/toJS.spec.ts +2 -2
  575. package/test/concepts/string-literal/toVue.spec.ts +2 -2
  576. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +2 -1
  577. package/test/concepts/validation-rule/validation-rule.spec.ts +2 -1
  578. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -2
  579. package/test/concepts/view-element/toEmbeddedTS.spec.ts +2 -1
  580. package/test/time-slicing/runner.spec.ts +28 -0
  581. package/test/time-slicing/time-slicing-nodejs.spec.ts +27 -0
  582. package/test/time-slicing/utils.ts +7 -0
  583. package/test/time-slicing/wrapper.spec.ts +92 -0
  584. package/ts-worker/lib/tsserver.js +10 -1
  585. package/ts-worker/package.json +1 -0
  586. package/ts-worker/src/index.js +13 -12
  587. package/ts-worker/webpack.config.js +1 -1
  588. package/out/utils/time-slicing.d.ts +0 -41
  589. package/out/utils/time-slicing.js +0 -82
  590. package/out/utils/time-slicing.js.map +0 -1
  591. package/src/utils/time-slicing.ts +0 -111
@@ -183,7 +183,7 @@ let NaslServer = class NaslServer {
183
183
  handleMessage: async ({ data }) => {
184
184
  if (data && data.event === 'publishDiagnostics') {
185
185
  const records = await this._resolveDiagnosticRecords(data.records);
186
- this.diagnosticManager.pushAll(records);
186
+ await this.diagnosticManager.pushAll(records);
187
187
  try {
188
188
  // 结束诊断和标注
189
189
  (0, common_1.invokeCommand)('naslServer:endWork');
@@ -267,315 +267,103 @@ let NaslServer = class NaslServer {
267
267
  // 全部文件加载完毕开始初始化
268
268
  await this.getDiagnosticRecordsAndPushAll();
269
269
  }
270
- contentToFile(module, results) {
271
- // 禁用的依赖库不生成代码 区分 undefined 和 false
272
- if (module instanceof concepts_1.Module && module.type === 'extension' && module.enable === false) {
273
- return;
270
+ *contentToFile(module) {
271
+ if (!module) {
272
+ return [];
274
273
  }
275
- module.structures.forEach((structure) => {
276
- try {
277
- const result = structure.toEmbeddedTSFile();
278
- results.push(result);
279
- // sourceMap都存在目录级别内容下,在页面层级下去找
280
- structure.sourceMap = result.sourceMap;
281
- this.file2NodeMap.set(result.filePath, structure);
282
- }
283
- catch (err) { }
284
- });
285
- module.metadataTypes?.forEach((metadataType) => {
274
+ const self = this;
275
+ const results = [];
276
+ const getTsFile = function* getTsFile(node, name, pre) {
277
+ const isContinue = pre ? (input) => input instanceof pre : () => true;
286
278
  try {
287
- const result = metadataType.toEmbeddedTSFile();
288
- results.push(result);
289
- // sourceMap都存在目录级别内容下,在页面层级下去找
290
- metadataType.sourceMap = result.sourceMap;
291
- this.file2NodeMap.set(result.filePath, metadataType);
292
- }
293
- catch (err) { }
294
- });
295
- if (module instanceof concepts_1.App) {
296
- module.overriddenLogics?.forEach?.((logic) => {
297
- try {
298
- if (!(logic instanceof concepts_1.OverriddenLogic))
299
- return;
300
- const result = logic.toEmbeddedTSFile();
301
- results.push(result);
302
- logic.sourceMap = result.sourceMap;
303
- this.file2NodeMap.set(result.filePath, logic);
304
- }
305
- catch (err) {
306
- console.error('err: ', err);
307
- }
308
- });
309
- module?.backend?.variables?.forEach((backdndVariable) => {
310
- try {
311
- const result = backdndVariable.toEmbeddedTSFile();
312
- results.push(result);
313
- // sourceMap都存在目录级别内容下,在页面层级下去找
314
- backdndVariable.sourceMap = result.sourceMap;
315
- this.file2NodeMap.set(result.filePath, backdndVariable);
316
- }
317
- catch (err) {
318
- console.error(err);
319
- }
320
- });
321
- module.frontends?.forEach((frontend) => {
322
- try {
323
- const result = frontend.toEmbeddedTSFile();
324
- results.push(result);
325
- // sourceMap都存在目录级别内容下,在页面层级下去找
326
- frontend.sourceMap = result.sourceMap;
327
- this.file2NodeMap.set(result.filePath, frontend);
328
- }
329
- catch (err) {
330
- console.log(err);
331
- }
332
- frontend.variables?.forEach((frontendVariable) => {
333
- try {
334
- const result = frontendVariable.toEmbeddedTSFile();
335
- results.push(result);
336
- // sourceMap都存在目录级别内容下,在页面层级下去找
337
- frontendVariable.sourceMap = result.sourceMap;
338
- this.file2NodeMap.set(result.filePath, frontendVariable);
339
- }
340
- catch (err) {
341
- console.log(err);
342
- }
343
- });
344
- frontend.bindEvents?.forEach((bindEvent) => {
345
- if (bindEvent?.logics && bindEvent?.logics?.length > 0) {
346
- bindEvent.logics.forEach((logic) => {
347
- try {
348
- const result = logic.toEmbeddedTSFile();
349
- results.push(result);
350
- logic.sourceMap = result.sourceMap;
351
- this.file2NodeMap.set(result.filePath, logic);
352
- }
353
- catch (err) {
354
- console.error('err: ', err);
355
- }
356
- });
357
- }
358
- });
359
- // view的生成
360
- if (!config_1.config.closeViews) {
361
- this.view2TSFile(frontend.views, results);
362
- }
363
- frontend.componentDependencies?.forEach((item) => this.contentToFile(item, results));
364
- });
365
- }
366
- else {
367
- module.frontends?.forEach((frontend) => {
368
- try {
369
- frontend.logics.forEach((logic) => {
370
- const result = logic.toEmbeddedTSFile();
371
- results.push(result);
372
- // sourceMap都存在目录级别内容下,在页面层级下去找
373
- logic.sourceMap = result.sourceMap;
374
- this.file2NodeMap.set(result.filePath, logic);
375
- });
376
- }
377
- catch (err) {
378
- console.log(err);
279
+ if (!isContinue(node)) {
280
+ return;
379
281
  }
380
- });
381
- }
382
- module.dataSources?.forEach((dataSource) => {
383
- // 本身dataSource也要生成一个文件用于改名
384
- try {
385
- const result = dataSource.toEmbeddedTSFile();
282
+ const result = yield* node.toEmbeddedTSFile();
386
283
  results.push(result);
387
- // sourceMap都存在目录级别内容下,在页面层级下去找
388
- dataSource.sourceMap = result.sourceMap;
389
- this.file2NodeMap.set(result.filePath, dataSource);
284
+ node.sourceMap = result.sourceMap;
285
+ self.file2NodeMap.set(result.filePath, node);
390
286
  }
391
- catch (err) { }
392
- dataSource.entities.forEach((entity) => {
393
- try {
394
- const result = entity.toEmbeddedTSFile();
395
- results.push(result);
396
- // sourceMap都存在目录级别内容下,在页面层级下去找
397
- entity.sourceMap = result.sourceMap;
398
- this.file2NodeMap.set(result.filePath, entity);
287
+ catch (err) {
288
+ if (process.env.NODE_ENV === 'development') {
289
+ console.warn(node.nodePath ? node.nodePath : name, '代码转换失败', err);
399
290
  }
400
- catch (err) { }
401
- });
402
- });
403
- module?.interfaces?.forEach((_interface) => {
404
- try {
405
- const result = _interface.toEmbeddedTSFile();
406
- results.push(result);
407
- // sourceMap都存在目录级别内容下,在页面层级下去找
408
- _interface.sourceMap = result.sourceMap;
409
- this.file2NodeMap.set(result.filePath, _interface);
410
- }
411
- catch (err) { }
412
- });
413
- module?.enums?.forEach((_enum) => {
414
- try {
415
- const result = _enum.toEmbeddedTSFile();
416
- results.push(result);
417
- // sourceMap都存在目录级别内容下,在页面层级下去找
418
- _enum.sourceMap = result.sourceMap;
419
- this.file2NodeMap.set(result.filePath, _enum);
420
291
  }
421
- catch (err) { }
422
- });
423
- module?.logics?.forEach((logic) => {
424
- try {
425
- if (!(logic instanceof concepts_1.Logic))
426
- return;
427
- const result = logic.toEmbeddedTSFile();
428
- results.push(result);
429
- logic.sourceMap = result.sourceMap;
430
- this.file2NodeMap.set(result.filePath, logic);
431
- }
432
- catch (err) { }
433
- });
434
- module?.authLogics?.forEach?.((logic) => {
435
- try {
436
- if (!(logic instanceof concepts_1.Logic))
437
- return;
438
- const result = logic.toEmbeddedTSFile();
439
- results.push(result);
440
- logic.sourceMap = result.sourceMap;
441
- this.file2NodeMap.set(result.filePath, logic);
442
- }
443
- catch (err) { }
444
- });
445
- module?.authLogicsForCallInterface?.forEach?.((logic) => {
446
- try {
447
- if (!(logic instanceof concepts_1.Logic))
448
- return;
449
- const result = logic.toEmbeddedTSFile();
450
- results.push(result);
451
- logic.sourceMap = result.sourceMap;
452
- this.file2NodeMap.set(result.filePath, logic);
453
- }
454
- catch (err) { }
455
- });
456
- module.processes?.forEach((process) => {
457
- try {
458
- const result = process.toEmbeddedTSFile();
459
- results.push(result);
460
- process.sourceMap = result.sourceMap;
461
- this.file2NodeMap.set(result.filePath, process);
292
+ };
293
+ const getTsFiles = function* getTsFiles(nodes, name, pre) {
294
+ for (const node of nodes ?? []) {
295
+ yield* getTsFile(node, name, pre);
462
296
  }
463
- catch (err) { }
464
- });
465
- if (module instanceof concepts_1.Connector) {
466
- try {
467
- module.triggerLaunchers?.forEach((launcher) => {
468
- const result = launcher.toEmbeddedTSFile();
469
- results.push(result);
470
- // sourceMap都存在目录级别内容下,在页面层级下去找
471
- launcher.sourceMap = result.sourceMap;
472
- this.file2NodeMap.set(result.filePath, launcher);
473
- });
474
- module.namespaces?.forEach?.((namespace) => {
475
- namespace.logics.forEach((logic) => {
476
- const result = logic.toEmbeddedTSFile();
477
- results.push(result);
478
- // sourceMap都存在目录级别内容下,在页面层级下去找
479
- logic.sourceMap = result.sourceMap;
480
- this.file2NodeMap.set(result.filePath, logic);
481
- });
482
- });
483
- module?.authLogicsForCallInterface?.forEach?.((logic) => {
484
- try {
485
- if (!(logic instanceof concepts_1.Logic))
486
- return;
487
- const result = logic.toEmbeddedTSFile();
488
- results.push(result);
489
- logic.sourceMap = result.sourceMap;
490
- this.file2NodeMap.set(result.filePath, logic);
491
- }
492
- catch (err) { }
493
- });
297
+ };
298
+ const concat = (arr, key) => {
299
+ return arr.reduce((ans, item) => ans.concat(item[key]), []);
300
+ };
301
+ const view2TSFile = function* view2TSFile(views) {
302
+ if (!views || views.length === 0) {
303
+ return;
494
304
  }
495
- catch (error) {
496
- console.error(error);
305
+ for (const view of views) {
306
+ yield* getTsFile(view, 'view');
307
+ if (view.children) {
308
+ yield* view2TSFile(view.children);
309
+ }
497
310
  }
311
+ };
312
+ // 禁用的依赖库不生成代码 区分 undefined 和 false
313
+ if (module instanceof concepts_1.Module && module.type === 'extension' && module.enable === false) {
314
+ return [];
498
315
  }
316
+ const { structures = [], metadataTypes = [], frontends = [], interfaces = [], enums = [], logics = [], authLogics = [], authLogicsForCallInterface = [], processes = [], dataSources = [], triggerLaunchers = [], connections = [], roles = [], overriddenLogics = [], backend, configuration, } = module;
317
+ const { namespaces = [], } = module;
318
+ yield* getTsFiles(structures, 'structure');
319
+ yield* getTsFiles(metadataTypes, 'metadataType');
499
320
  if (module instanceof concepts_1.App) {
500
- module?.roles?.forEach((role) => {
501
- try {
502
- const result = role.toEmbeddedTSFile();
503
- results.push(result);
504
- // sourceMap都存在目录级别内容下,在页面层级下去找
505
- role.sourceMap = result.sourceMap;
506
- this.file2NodeMap.set(result.filePath, role);
321
+ yield* getTsFiles(overriddenLogics, 'overriddenLogic', concepts_1.OverriddenLogic);
322
+ yield* getTsFiles(backend?.variables ?? [], 'backend_variable');
323
+ for (const frontend of frontends) {
324
+ yield* getTsFile(frontend, 'frontend');
325
+ yield* getTsFiles(frontend.variables, 'frontend_variable');
326
+ yield* getTsFiles(concat(frontend.bindEvents, 'logics'), 'frontend_bindEvent_logic');
327
+ if (!config_1.config.closeViews) {
328
+ yield* view2TSFile(frontend.views);
507
329
  }
508
- catch (err) { }
509
- });
330
+ for (const dep of frontend.componentDependencies) {
331
+ results.push(...(yield* self.contentToFile(dep)));
332
+ }
333
+ }
334
+ }
335
+ else {
336
+ yield* getTsFiles(concat(frontends, 'logics'), 'frontend_logic');
337
+ }
338
+ yield* getTsFiles(dataSources, 'dataSource');
339
+ yield* getTsFiles(concat(dataSources, 'entities'), 'dataSource_entity');
340
+ yield* getTsFiles(interfaces, 'interface');
341
+ yield* getTsFiles(enums, 'enum');
342
+ yield* getTsFiles(logics, 'logic');
343
+ yield* getTsFiles(authLogics, 'authLogic', concepts_1.Logic);
344
+ yield* getTsFiles(authLogicsForCallInterface, 'authLogicForCallInterface', concepts_1.Logic);
345
+ yield* getTsFiles(processes, 'process');
346
+ if (module instanceof concepts_1.Connector) {
347
+ yield* getTsFiles(triggerLaunchers, 'triggerLauncher');
348
+ yield* getTsFiles(authLogicsForCallInterface, 'authLogicForCallInterface');
349
+ yield* getTsFiles(concat(namespaces, 'logics'), 'namespaces_logic');
510
350
  }
511
351
  if (module instanceof concepts_1.App) {
512
- module.connections?.forEach?.((connection) => {
513
- try {
514
- const result = connection.toEmbeddedTSFile();
515
- results.push(result);
516
- // sourceMap都存在目录级别内容下,在页面层级下去找
517
- connection.sourceMap = result.sourceMap;
518
- this.file2NodeMap.set(result.filePath, connection);
519
- }
520
- catch (err) { }
521
- });
522
- module.triggerLaunchers?.forEach?.((triggerLauncher) => {
523
- try {
524
- const result = triggerLauncher.toEmbeddedTSFile();
525
- results.push(result);
526
- // sourceMap都存在目录级别内容下,在页面层级下去找
527
- triggerLauncher.sourceMap = result.sourceMap;
528
- this.file2NodeMap.set(result.filePath, triggerLauncher);
529
- }
530
- catch (err) { }
531
- });
352
+ yield* getTsFiles(roles, 'role');
353
+ yield* getTsFiles(connections, 'connection');
354
+ yield* getTsFiles(triggerLaunchers, 'triggerLauncher');
532
355
  }
533
- module.configuration?.groups?.forEach((_group) => {
534
- if (_group.name === 'custom') {
535
- _group.properties.forEach((_property) => {
536
- try {
537
- const result = _property.toEmbeddedTSFile();
538
- results.push(result);
539
- // sourceMap都存在目录级别内容下,在页面层级下去找
540
- _property.sourceMap = result.sourceMap;
541
- this.file2NodeMap.set(result.filePath, _property);
542
- }
543
- catch (err) { }
544
- });
356
+ for (const group of configuration?.groups ?? []) {
357
+ if (group.name === 'custom') {
358
+ yield* getTsFiles(group?.properties ?? [], 'configuration_group_property');
545
359
  }
546
- });
547
- }
548
- view2TSFile(viewsChildren, results) {
549
- // 如果有子页面
550
- if (viewsChildren && viewsChildren.length) {
551
- viewsChildren.forEach((view) => {
552
- try {
553
- const result = view.toEmbeddedTSFile();
554
- results.push(result);
555
- view.sourceMap = result.sourceMap;
556
- this.file2NodeMap.set(result.filePath, view);
557
- if (view.children.length) {
558
- this.view2TSFile(view.children, results);
559
- }
560
- }
561
- catch (err) { }
562
- });
563
360
  }
361
+ return results;
564
362
  }
565
363
  async openApp(app) {
566
364
  console.time('生成 TS 文件');
567
- const results = [];
568
- try {
569
- // app的创建内容
570
- this.contentToFile(app, results);
571
- // 其他模块的创建内容
572
- app.integration?.connectors?.forEach((item) => this.contentToFile(item, results));
573
- app.dependencies.forEach((item) => this.contentToFile(item, results));
574
- app.interfaceDependencies.forEach((item) => this.contentToFile(item, results));
575
- }
576
- catch (err) {
577
- console.log(err);
578
- }
365
+ const self = this;
366
+ const results = await utils.timeSlicingWithGenerator(getAllTsFiles());
579
367
  const files = results.map((result) => ({
580
368
  file: result.filePath,
581
369
  fileContent: result.code,
@@ -591,6 +379,18 @@ let NaslServer = class NaslServer {
591
379
  callback();
592
380
  });
593
381
  console.timeEnd('生成 TS 文件');
382
+ function* getAllTsFiles() {
383
+ const files = yield* self.contentToFile(app);
384
+ const otherModules = [
385
+ ...app.integration?.connectors ?? [],
386
+ ...app.dependencies ?? [],
387
+ ...app.interfaceDependencies ?? [],
388
+ ];
389
+ for (const item of otherModules) {
390
+ files.push(...yield* self.contentToFile(item));
391
+ }
392
+ return files;
393
+ }
594
394
  }
595
395
  async refreshApp(app) {
596
396
  // 清除所有问题
@@ -617,13 +417,19 @@ let NaslServer = class NaslServer {
617
417
  cacheFile(options) {
618
418
  __naslStdlibFileCacheMap.set(options.file, options);
619
419
  }
620
- /** u
420
+ /**
621
421
  * 只新增文件
622
422
  * @param {*} files
623
423
  */
624
424
  writeFiles(files) {
625
425
  files.forEach(({ file, fileContent }) => this.tsFiles.set(file, fileContent));
626
- return this.messager.requestCommand('writeFiles', files);
426
+ const noRepeatFiles = Array.from(this.tsFiles.entries()).map(([key, value]) => ({
427
+ file: key,
428
+ fileContent: value,
429
+ }));
430
+ // const newFiles = require('/Users/sufangzhou/dev/neteast/lcap-ide/packages/nasl/tmp/files-original.json');
431
+ // debugger;
432
+ return this.messager.requestCommand('writeFiles', noRepeatFiles);
627
433
  }
628
434
  /**
629
435
  * 新增、修改
@@ -946,48 +752,48 @@ let NaslServer = class NaslServer {
946
752
  return;
947
753
  node.tsErrorDetail = tsErrorDetail;
948
754
  }
949
- /**
950
- * 处理诊断结果
951
- * @param records 结果
952
- * @returns 过滤或者转换后的诊断结果
953
- */
954
- async _resolveDiagnosticRecords(records) {
755
+ *_resolveDiagnosticRecordsWithGenerator(records) {
955
756
  // 热更新类型标注
956
757
  if (records.length) {
957
- await this.IncrementalAnnotationJSON(records);
758
+ yield* this._incrementalAnnotationJSONWithGenerator(records);
958
759
  }
959
- await Promise.all(records.map(async (record) => {
960
- const { node } = record;
961
- if (!node)
760
+ const self = this;
761
+ console.time('处理诊断数据');
762
+ yield* utils.wrapForEachToGenerator(records, function* resolveRecord(record) {
763
+ if (!record || !record.node) {
962
764
  return;
765
+ }
766
+ const { node } = record;
963
767
  // 先获取原来的节点先清除一下之前有异常的节点,下面重新赋值
964
- const oldRecord = this.diagnosticManager.getRecord?.(record.id);
965
- oldRecord?.semanticDiagnostics.forEach((item) => {
966
- if (item.node) {
967
- delete item.node.tsErrorDetail;
968
- // 如果logic中有报错就把标识置为true
969
- if (item.node?.logic?.haveError) {
970
- item.node.logic.haveError = false;
768
+ const oldRecord = self.diagnosticManager.getRecord?.(record.id);
769
+ // 处理旧数据
770
+ if (oldRecord) {
771
+ yield* utils.wrapForEachToGenerator(oldRecord.semanticDiagnostics, (item) => {
772
+ if (item.node) {
773
+ delete item.node.tsErrorDetail;
774
+ // 如果logic中有报错就把标识置为true
775
+ if (item.node?.logic?.haveError) {
776
+ item.node.logic.haveError = false;
777
+ }
971
778
  }
972
- }
973
- });
974
- // 清空一些状态
975
- oldRecord?.suggestionDiagnostics.forEach((item) => {
976
- if (item.node) {
977
- delete item.node.tsErrorDetail;
978
- if (item.node && item.node instanceof concepts_1.Logic) {
979
- item.node.isSmpty = false;
779
+ });
780
+ yield* utils.wrapForEachToGenerator(oldRecord.suggestionDiagnostics, (item) => {
781
+ if (item.node) {
782
+ delete item.node.tsErrorDetail;
783
+ if (item.node && item.node instanceof concepts_1.Logic) {
784
+ item.node.isSmpty = false;
785
+ }
980
786
  }
981
- }
982
- });
787
+ });
788
+ }
983
789
  // 语义诊断
984
790
  if (isChangeInterface) {
985
- this.existStructureFix(record.semanticDiagnostics, record.node, this);
791
+ yield* self.existStructureFix(record.semanticDiagnostics, record.node, self);
986
792
  }
987
793
  // 单独处理 oql 语义错误提示
988
794
  if (record.node instanceof concepts_1.Logic) {
989
- record?.syntaxDiagnostics.forEach((item) => {
990
- const minRange = this._findMinRange(item, record.node);
795
+ yield* utils.wrapForEachToGenerator(record?.syntaxDiagnostics, function* test(item) {
796
+ const minRange = yield* self._findMinRangeWithGenerator(item, record.node);
991
797
  if (minRange?.node instanceof concepts_1.OqlQueryComponent) {
992
798
  if (item.text === 'Invalid character.') {
993
799
  record.semanticDiagnostics.push(item);
@@ -996,14 +802,15 @@ let NaslServer = class NaslServer {
996
802
  });
997
803
  }
998
804
  // 记录结构体数据
999
- record.semanticDiagnostics.forEach((diag) => (0, translator_2.checkAStructure_)(diag.text));
1000
- record.semanticDiagnostics = record.semanticDiagnostics
1001
- .map((diag) => this._resolveDiagnostic(diag, record.node, record))
1002
- .filter((diag) => !!diag);
1003
- record.semanticDiagnostics.push(...(await this._attachDiagnostics(node)));
805
+ yield* utils.wrapForEachToGenerator(record.semanticDiagnostics, (diag) => {
806
+ (0, translator_2.checkAStructure_)(diag.text);
807
+ });
808
+ record.semanticDiagnostics = (yield* utils.wrapMapToGenerator(record.semanticDiagnostics, function* (diag) {
809
+ return yield* self._resolveDiagnosticWithGenerator(diag, record.node, record);
810
+ })).filter((diag) => !!diag);
811
+ record.semanticDiagnostics.push(...(yield* self._attachDiagnosticsWithGenerator(node)));
1004
812
  // 报错降级逻辑
1005
- record.semanticDiagnostics = record.semanticDiagnostics
1006
- .map((diagnostic) => {
813
+ record.semanticDiagnostics = (yield* utils.wrapMapToGenerator(record.semanticDiagnostics, (diagnostic) => {
1007
814
  // 错误降级如果属于草稿态的就降级
1008
815
  if (diagnostic?.node) {
1009
816
  let currentNode = diagnostic.node;
@@ -1045,11 +852,10 @@ let NaslServer = class NaslServer {
1045
852
  }
1046
853
  }
1047
854
  return diagnostic;
1048
- })
855
+ }))
1049
856
  .filter((diag) => !!diag);
1050
857
  // 处理后的警告异常提示信息
1051
- record.suggestionDiagnostics = record.suggestionDiagnostics
1052
- .map((diag) => {
858
+ record.suggestionDiagnostics = (yield* utils.wrapMapToGenerator(record.suggestionDiagnostics, function* resolveSuggestionDiagnostic(diag) {
1053
859
  // 上面错误降级下来的
1054
860
  if (diag?.node) {
1055
861
  return diag;
@@ -1062,7 +868,7 @@ let NaslServer = class NaslServer {
1062
868
  `'__onlineConfigValueEmpty' is declared but its value is never read.`,
1063
869
  `'__UpdateNoProperty__' is declared but its value is never read.`,
1064
870
  ].includes(diag.text)) {
1065
- return this._resolveDiagnostic(diag, record.node, record);
871
+ return yield* self._resolveDiagnosticWithGenerator(diag, record.node, record);
1066
872
  }
1067
873
  if (diag.text.includes(` is declared but its value is never read.`)) {
1068
874
  // 局部变量和输入变量未使用的警告
@@ -1072,10 +878,10 @@ let NaslServer = class NaslServer {
1072
878
  /**
1073
879
  * javalogic不用提示
1074
880
  */
1075
- if (record.node.concept === 'Logic' && this._isJavalogic(record.node)) {
881
+ if (record.node.concept === 'Logic' && self._isJavalogic(record.node)) {
1076
882
  return null;
1077
883
  }
1078
- const minRange = this._findMinRange(diag, record.node);
884
+ const minRange = yield* self._findMinRangeWithGenerator(diag, record.node);
1079
885
  if (minRange) {
1080
886
  /**
1081
887
  * 如果节点是入参类型
@@ -1104,12 +910,21 @@ let NaslServer = class NaslServer {
1104
910
  }
1105
911
  }
1106
912
  return null;
1107
- })
913
+ }))
1108
914
  .filter((diag) => !!diag);
1109
- record.suggestionDiagnostics.push(...this._attachSuggestionDiagnostics(node));
1110
- }));
915
+ record.suggestionDiagnostics.push(...yield* self._attachSuggestionDiagnosticsWithGenerator(node));
916
+ });
917
+ console.timeEnd('处理诊断数据');
1111
918
  return records;
1112
919
  }
920
+ /**
921
+ * 处理诊断结果
922
+ * @param records 结果
923
+ * @returns 过滤或者转换后的诊断结果
924
+ */
925
+ _resolveDiagnosticRecords(records) {
926
+ return utils.timeSlicingWithGenerator(this._resolveDiagnosticRecordsWithGenerator(records));
927
+ }
1113
928
  /**
1114
929
  * 判断是否是Javalogic
1115
930
  */
@@ -1125,7 +940,7 @@ let NaslServer = class NaslServer {
1125
940
  * @param fileNode 文件级别的节点
1126
941
  * @returns 诊断结果
1127
942
  */
1128
- _attachSuggestionDiagnostics(fileNode) {
943
+ *_attachSuggestionDiagnosticsWithGenerator(fileNode) {
1129
944
  const diagnostics = [];
1130
945
  if (fileNode instanceof concepts_1.Logic || fileNode instanceof concepts_1.View) {
1131
946
  fileNode?.sourceMap.forEach((value, node) => {
@@ -1487,29 +1302,51 @@ let NaslServer = class NaslServer {
1487
1302
  return flag;
1488
1303
  }
1489
1304
  /** 是否被 触发器依赖, 如果存在,返回第一个触发器对应的名称 */
1490
- async isRefedByTriggerAndReturnFirstRef(fileNode) {
1491
- const refs = await this._isHaveRef(fileNode);
1492
- const basePath = concepts_1.TriggerLauncher.getEmbeddedFileBasePath(fileNode.rootNode);
1493
- let flag = false;
1494
- let fRefName = '';
1495
- try {
1496
- for (const ref of refs) {
1497
- const { file } = ref;
1498
- if (file.startsWith(basePath)) {
1499
- flag = true;
1500
- // file: /embedded/tttta/triggerLaunchers/订阅配置_asd.ts
1501
- fRefName = file.split(basePath)[1].split('.')[0];
1502
- break;
1305
+ isRefedByTriggerAndReturnFirstRef(fileNode) {
1306
+ return this._isHaveRef(fileNode).then((refs) => {
1307
+ const basePath = concepts_1.TriggerLauncher.getEmbeddedFileBasePath(fileNode.rootNode);
1308
+ let flag = false;
1309
+ let fRefName = '';
1310
+ try {
1311
+ for (const ref of refs) {
1312
+ const { file } = ref;
1313
+ if (file.startsWith(basePath)) {
1314
+ flag = true;
1315
+ // file: /embedded/tttta/triggerLaunchers/订阅配置_asd.ts
1316
+ fRefName = file.split(basePath)[1].split('.')[0];
1317
+ break;
1318
+ }
1503
1319
  }
1504
1320
  }
1505
- }
1506
- catch (error) {
1507
- console.error(error, refs);
1508
- }
1509
- return {
1510
- isRefedByTrigger: flag,
1511
- fRefName,
1512
- };
1321
+ catch (error) {
1322
+ console.error(error, refs);
1323
+ }
1324
+ return {
1325
+ isRefedByTrigger: flag,
1326
+ fRefName,
1327
+ };
1328
+ });
1329
+ // const refs = await this._isHaveRef(fileNode);
1330
+ // const basePath = TriggerLauncher.getEmbeddedFileBasePath(fileNode.rootNode as App);
1331
+ // let flag = false;
1332
+ // let fRefName = '';
1333
+ // try {
1334
+ // for (const ref of refs) {
1335
+ // const { file } = ref;
1336
+ // if (file.startsWith(basePath)) {
1337
+ // flag = true;
1338
+ // // file: /embedded/tttta/triggerLaunchers/订阅配置_asd.ts
1339
+ // fRefName = file.split(basePath)[1].split('.')[0];
1340
+ // break;
1341
+ // }
1342
+ // }
1343
+ // } catch (error) {
1344
+ // console.error(error, refs);
1345
+ // }
1346
+ // return {
1347
+ // isRefedByTrigger: flag,
1348
+ // fRefName,
1349
+ // };
1513
1350
  }
1514
1351
  /**
1515
1352
  * 是否符合 触发器规则
@@ -1538,15 +1375,16 @@ let NaslServer = class NaslServer {
1538
1375
  * @param fileNode 文件级别的节点
1539
1376
  * @returns 诊断结果
1540
1377
  */
1541
- async _attachDiagnostics(fileNode) {
1378
+ *_attachDiagnosticsWithGenerator(fileNode) {
1542
1379
  // 每次诊断前先清空这个Set
1543
1380
  this.logicSetWithComponentLogic = new Set();
1381
+ const self = this;
1544
1382
  const diagnostics = [];
1545
1383
  if (fileNode instanceof concepts_1.View) {
1546
- fileNode?.sourceMap.forEach((value, node) => {
1384
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), function* attachView([node, value]) {
1547
1385
  if (node instanceof concepts_1.ViewElement && node.view === fileNode) {
1548
1386
  if (node.tag) {
1549
- node.bindAttrs.forEach((bindAttr) => {
1387
+ yield* utils.wrapForEachToGenerator(node.bindAttrs, (bindAttr) => {
1550
1388
  if ((bindAttr.model || bindAttr.sync) && bindAttr.expression) {
1551
1389
  const bindExpression = bindAttr.expression;
1552
1390
  let diagnostic;
@@ -1592,7 +1430,7 @@ let NaslServer = class NaslServer {
1592
1430
  if (!node.typeAnnotation && !node.__TypeAnnotation) {
1593
1431
  const nodeTypeName = node.concept === 'Return' ? '输出参数' : '局部变量';
1594
1432
  let msg;
1595
- fileNode.traverseChildren((nodeIn) => {
1433
+ yield* fileNode.traverseChildrenGenerator((nodeIn) => {
1596
1434
  if (nodeIn && (nodeIn instanceof concepts_1.BatchAssignment || (nodeIn instanceof concepts_1.Assignment && nodeIn.left?.name))) {
1597
1435
  // 子页面内部逻辑过滤
1598
1436
  if (nodeIn.view !== fileNode)
@@ -1653,11 +1491,11 @@ let NaslServer = class NaslServer {
1653
1491
  node.tsErrorDetail = diagnostic;
1654
1492
  diagnostics.push(diagnostic);
1655
1493
  }
1656
- const fileSourceCode = this.getNodeCode(fileNode, value);
1494
+ const fileSourceCode = self.getNodeCode(fileNode, value);
1657
1495
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
1658
1496
  const typeAnnotation = node.typeAnnotation.toJSON();
1659
- this._treeMetadataType2CoreType(typeAnnotation, node.rootNode);
1660
- const isDuplicate = this._isDuplicateCoreType(typeAnnotation);
1497
+ self._treeMetadataType2CoreType(typeAnnotation, node.rootNode);
1498
+ const isDuplicate = self._isDuplicateCoreType(typeAnnotation);
1661
1499
  if (isDuplicate) {
1662
1500
  const diagnostic = {
1663
1501
  node: node,
@@ -1670,7 +1508,7 @@ let NaslServer = class NaslServer {
1670
1508
  }
1671
1509
  else if (node instanceof concepts_1.BindAttribute || node instanceof concepts_1.BindDirective || node instanceof concepts_1.BindStyle) {
1672
1510
  if (Array.isArray(node.bindExpressions)) {
1673
- const exp = node.bindExpressions.find((bindExpression) => this.hasComponentLogics(bindExpression));
1511
+ const exp = node.bindExpressions.find((bindExpression) => self.hasComponentLogics(bindExpression));
1674
1512
  if (exp) {
1675
1513
  // const element: any = node.getAncestor('ViewElement');
1676
1514
  // const api = config.allNodesAPI[element?.tag];
@@ -1694,7 +1532,7 @@ let NaslServer = class NaslServer {
1694
1532
  }
1695
1533
  }
1696
1534
  else if (node instanceof concepts_1.CallInterface) {
1697
- const isAuthInterface = this.hasAuth(node);
1535
+ const isAuthInterface = self.hasAuth(node);
1698
1536
  const interfaceName = node.calleewholeKey.slice(node.calleewholeKey.lastIndexOf('.') + 1);
1699
1537
  if (isAuthInterface) {
1700
1538
  const errorMsg = `${interfaceName} 接口有鉴权方式,不支持在前端调用`;
@@ -1722,7 +1560,7 @@ let NaslServer = class NaslServer {
1722
1560
  }
1723
1561
  }
1724
1562
  else {
1725
- this.checkNodeError(node, diagnostics);
1563
+ self.checkNodeError(node, diagnostics);
1726
1564
  }
1727
1565
  });
1728
1566
  }
@@ -1731,7 +1569,7 @@ let NaslServer = class NaslServer {
1731
1569
  if (dataSourceGroup) {
1732
1570
  const property = dataSourceGroup.getProperty(fileNode.name);
1733
1571
  if (property && property.values) {
1734
- property.values.forEach((propertyValue) => {
1572
+ yield* utils.wrapForEachToGenerator(property.values, (propertyValue) => {
1735
1573
  if (!propertyValue.value && fileNode.name !== 'defaultDS') {
1736
1574
  const diagnostic = {
1737
1575
  node: fileNode,
@@ -2035,8 +1873,8 @@ let NaslServer = class NaslServer {
2035
1873
  });
2036
1874
  }
2037
1875
  }
2038
- if (fileNode instanceof concepts_1.Logic || fileNode instanceof concepts_1.OverriddenLogic) {
2039
- const { isRefedByTrigger, fRefName } = await this.isRefedByTriggerAndReturnFirstRef(fileNode);
1876
+ else if (fileNode instanceof concepts_1.Logic || fileNode instanceof concepts_1.OverriddenLogic) {
1877
+ const { isRefedByTrigger, fRefName } = yield this.isRefedByTriggerAndReturnFirstRef(fileNode);
2040
1878
  if (isRefedByTrigger && !this.isTriggerRule(fileNode)) {
2041
1879
  const diagnostic = {
2042
1880
  node: fileNode,
@@ -2045,18 +1883,7 @@ let NaslServer = class NaslServer {
2045
1883
  };
2046
1884
  diagnostics.push(diagnostic);
2047
1885
  }
2048
- fileNode?.sourceMap.forEach((value, node) => {
2049
- // OQL支持返回复合类型数据了
2050
- // SqlQueryComponent内部返回值类型,如果是嵌套的就需要报错
2051
- // if ((node instanceof OqlQueryComponent || node instanceof SqlQueryComponent) && (node as SqlQueryComponent).getTypeBanError()) {
2052
- // const diagnostic = {
2053
- // node,
2054
- // severity: 'error',
2055
- // message: 'SQL查询:返回类型内部,不支持复杂类型。',
2056
- // };
2057
- // node.tsErrorDetail = diagnostic;
2058
- // diagnostics.push(diagnostic);
2059
- // }
1886
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([node, value]) => {
2060
1887
  if (node instanceof concepts_1.OqlQueryComponent) {
2061
1888
  // 自动推导情况
2062
1889
  const typeAnnotation = (0, formatTsUtils_1.type2TypeAnnotation)(node.__nodeType);
@@ -2075,7 +1902,7 @@ let NaslServer = class NaslServer {
2075
1902
  }
2076
1903
  }
2077
1904
  }
2078
- if (node instanceof concepts_1.Return || node instanceof concepts_1.Variable) {
1905
+ else if (node instanceof concepts_1.Return || node instanceof concepts_1.Variable) {
2079
1906
  const nodeTypeName = node.concept === 'Return' ? '输出参数' : '局部变量';
2080
1907
  if (!node.typeAnnotation && !node.__TypeAnnotation) {
2081
1908
  let used = false;
@@ -2129,7 +1956,7 @@ let NaslServer = class NaslServer {
2129
1956
  }
2130
1957
  }
2131
1958
  }
2132
- if (node instanceof concepts_1.Param) {
1959
+ else if (node instanceof concepts_1.Param) {
2133
1960
  const fileSourceCode = this.getNodeCode(fileNode, value);
2134
1961
  if (fileSourceCode.includes('|') && fileSourceCode.includes('.metadataTypes.')) {
2135
1962
  const typeAnnotation = node.typeAnnotation.toJSON();
@@ -2149,7 +1976,7 @@ let NaslServer = class NaslServer {
2149
1976
  });
2150
1977
  }
2151
1978
  else if (fileNode instanceof concepts_1.Process) {
2152
- fileNode?.sourceMap.forEach((value, node) => {
1979
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([node, value]) => {
2153
1980
  this.checkNodeError(node, diagnostics);
2154
1981
  });
2155
1982
  }
@@ -2494,9 +2321,9 @@ let NaslServer = class NaslServer {
2494
2321
  return tInterface instanceof concepts_1.AuthInterface;
2495
2322
  }
2496
2323
  /* 接口导入查找 */
2497
- existStructureFix(semanticDiagnostics, node, that) {
2324
+ *existStructureFix(semanticDiagnostics, node, that) {
2498
2325
  let module;
2499
- semanticDiagnostics.map((diag) => {
2326
+ yield* utils.wrapForEachToGenerator(semanticDiagnostics, (diag) => {
2500
2327
  const minRange = this._findMinRange(diag, node);
2501
2328
  if (diag.text?.includes('has no exported member named')) {
2502
2329
  if (minRange.node instanceof concepts_1.Logic) {
@@ -2526,7 +2353,6 @@ let NaslServer = class NaslServer {
2526
2353
  }
2527
2354
  return null;
2528
2355
  }
2529
- return diag;
2530
2356
  });
2531
2357
  if (actionArr.length) {
2532
2358
  if (timer)
@@ -2554,45 +2380,43 @@ let NaslServer = class NaslServer {
2554
2380
  * @param fileNode 页面节点
2555
2381
  * @returns 处理后的结果
2556
2382
  */
2557
- _resolveDiagnostic(diagnostic, fileNode, record) {
2383
+ *_resolveDiagnosticWithGenerator(diagnostic, fileNode, record) {
2558
2384
  // 拓展模块中的翻译先过滤掉,因为有错用户也不能修改
2559
2385
  if ((fileNode.module || fileNode.connector) && !(fileNode instanceof concepts_1.ConfigProperty)) {
2560
2386
  return;
2561
2387
  }
2562
- // 过滤掉java依赖库的报错
2563
- // if ('compilerInfoMap' in fileNode && (fileNode as any).compilerInfoMap?.java) {
2564
- // return;
2565
- // }
2566
2388
  if (fileNode.concept === 'OverriddenLogic' && diagnostic.text === `'__LogicEmpty' is declared but its value is never read.`) {
2567
2389
  return;
2568
2390
  }
2569
- const minRange = this._findMinRange(diagnostic, fileNode);
2391
+ const minRange = yield* this._findMinRangeWithGenerator(diagnostic, fileNode);
2570
2392
  const tsErrorDetail = {
2571
2393
  severity: diagnostic.category === 'error' ? 'error' : 'warning',
2572
2394
  message: (0, translator_2.translateDiagnosticMessage)(diagnostic.text),
2573
2395
  // 保留原来的内容方便查询一些问题
2574
2396
  originalDiagnostic: diagnostic,
2575
2397
  };
2398
+ yield;
2576
2399
  let result;
2577
2400
  if (minRange) {
2578
2401
  // 节点的error要置为true
2579
2402
  result = (0, translator_2.naslNodeTranslateMessage)(minRange, tsErrorDetail);
2403
+ yield;
2580
2404
  }
2581
2405
  else {
2582
2406
  // 没找到节点, 先把问题暴露出来
2583
2407
  result = tsErrorDetail;
2584
2408
  }
2585
- if (result)
2409
+ if (result) {
2586
2410
  result.id = record.filePath + (result ? JSON.stringify({ start: result.originalDiagnostic.start, end: result.originalDiagnostic.end }) : '');
2411
+ }
2587
2412
  return result;
2588
2413
  }
2589
2414
  /**
2590
- * 通过节点诊断反过来查找节点
2591
- * @param diagnostic 诊断信息
2592
- * @param fileNode 文件级别节点
2593
- * @returns 找到的节点
2415
+ * 查找节点
2416
+ *
2417
+ * @description 生成器原型函数
2594
2418
  */
2595
- _findMinRange(diagnostic, fileNode) {
2419
+ *_findMinRangeWithGenerator(diagnostic, fileNode) {
2596
2420
  let minRange;
2597
2421
  const { sourceMap } = fileNode;
2598
2422
  // 是否找到了行内准确的,是的话,就不走多行的
@@ -2654,15 +2478,26 @@ let NaslServer = class NaslServer {
2654
2478
  }
2655
2479
  }
2656
2480
  }
2481
+ yield;
2657
2482
  }
2658
2483
  if (!minRange) {
2659
2484
  if (fileNode instanceof concepts_1.View) {
2660
2485
  return { node: fileNode, item: sourceMap.get(fileNode) };
2661
2486
  }
2662
- console.log(minRange, '需要特殊看下,为什么没找到内容-------------');
2487
+ if (process.env.NODE_ENV === 'development') {
2488
+ console.log(minRange, '需要特殊看下,为什么没找到内容-------------');
2489
+ }
2663
2490
  }
2664
2491
  return minRange;
2665
2492
  }
2493
+ /**
2494
+ * 查找节点
2495
+ *
2496
+ * @description 同步模式
2497
+ */
2498
+ _findMinRange(...args) {
2499
+ return utils.runGeneratorSync(this._findMinRangeWithGenerator(...args));
2500
+ }
2666
2501
  /**
2667
2502
  * 查看当前节点是不是有引用
2668
2503
  * @param node 节点
@@ -2802,6 +2637,7 @@ let NaslServer = class NaslServer {
2802
2637
  line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
2803
2638
  offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
2804
2639
  });
2640
+ // console.log(parentRefs.refs)
2805
2641
  refsList = [...refsList, ...parentRefs.refs];
2806
2642
  }
2807
2643
  // 如果是参数修改, 就需要把logic的引用 都查找出来就需要把他的父级的引用全部查找出来
@@ -2949,12 +2785,21 @@ let NaslServer = class NaslServer {
2949
2785
  if (node instanceof concepts_1.Return && node.parentNode instanceof concepts_1.ProcessElement) {
2950
2786
  const { currentSource, fileNode } = this.getCurrentSource(node.parentNode);
2951
2787
  if (currentSource) {
2788
+ // 流程任务出参查找引用需要查找到流程任务完成逻辑
2789
+ // const parentRefs = await this.references({
2790
+ // file: (fileNode as FileNode).getEmbeddedFilePath(),
2791
+ // line: lsp2tspNumber(currentSource.start.line),
2792
+ // offset: lsp2tspNumber(currentSource.start.character),
2793
+ // });
2794
+ // refsList = [...refsList, ...parentRefs.refs];
2795
+ // console.log(parentRefs.refs)
2796
+ // 流程任务出参查找引用比较特殊,需要查找到 const process = {...} 的引用
2952
2797
  const code = this.getNodeCode(fileNode, currentSource);
2953
2798
  const prefix = '__ProcessIdentification__';
2954
2799
  const positions = [];
2955
2800
  let pos = code.indexOf(prefix);
2956
2801
  // 需要再次定位到processelement对象上,避免process上存在同名参数
2957
- pos = code.indexOf(node.parentNode.name, pos + prefix.length);
2802
+ pos = pos === -1 ? pos : code.indexOf(node.parentNode.name, pos + prefix.length);
2958
2803
  pos = pos === -1 ? pos : code.indexOf(node.name, pos + prefix.length);
2959
2804
  // pos === -1:两种情况:
2960
2805
  // 1、找到最后一个节点了,继续找找不下去了。
@@ -3852,26 +3697,25 @@ let NaslServer = class NaslServer {
3852
3697
  }
3853
3698
  }
3854
3699
  /**
3855
- * 获取传入节点的TypeAnnotation
3856
- * @param nodes {filePath: string, node: BaseNode, item: SourceMapItem}
3857
- * @returns Map<BaseNode, TypeAnnotation | { typeAnnotation: TypeAnnotation, option: any }>
3858
- * 普通的TypeAnnotation,额外的可能携带 option
3859
- * 这里会处理callloigc callinterface 和 callfuntion 的 argment的参数一起携带回去,
3860
- * 也就是说如果 只传入了这个也会一起返回argment的节点,所以返回map最好去get结果
3700
+ * 获取传入节点的 TypeAnnotation
3701
+ *
3702
+ * @description 生成器模式原型
3861
3703
  */
3862
- async getQuickInfoNodesTypeMap(nodes, lotFlag) {
3704
+ *_getQuickInfoNodesTypeMapWithGenerator(nodes) {
3705
+ const self = this;
3863
3706
  const args = [];
3864
3707
  // 要通过自己或者依赖关系拿的
3865
3708
  const getFromOthers = new Map();
3866
3709
  // 总共要返回出去的
3867
3710
  const types = new Map();
3868
3711
  const newQuickInfoNodes = [];
3869
- await utils.timeSlicing(nodes, (itemDetail) => {
3712
+ yield* utils.wrapForEachToGenerator(nodes, function* getQuickInfoPosition(itemDetail, index) {
3870
3713
  const { node, filePath, item } = itemDetail;
3871
3714
  // 先按照顺序占位
3872
3715
  types.set(node, null);
3873
3716
  // 获取已知节点类型的类型
3874
- const nodeTypeAnnotation = this.getCurrentNodeKnownTypeAnnotation(node);
3717
+ const nodeTypeAnnotation = self.getCurrentNodeKnownTypeAnnotation(node);
3718
+ yield;
3875
3719
  if (nodeTypeAnnotation) {
3876
3720
  types.set(node, nodeTypeAnnotation);
3877
3721
  return;
@@ -3919,12 +3763,13 @@ let NaslServer = class NaslServer {
3919
3763
  offset: (0, translator_1.lsp2tspNumber)(item.start.character),
3920
3764
  };
3921
3765
  const getCode = (range) => {
3922
- return this.tsFiles.get(filePath)?.slice(range.start.offset, range.end.offset) ?? '';
3766
+ return self.tsFiles.get(filePath)?.slice(range.start.offset, range.end.offset) ?? '';
3923
3767
  };
3924
3768
  // 位置计算偏移
3925
3769
  if ('getQuickInfoOffset' in node) {
3926
3770
  Object.assign(fileDetail, node.getQuickInfoOffset(fileDetail, getCode(item)));
3927
3771
  }
3772
+ yield;
3928
3773
  // 位置计算偏移2
3929
3774
  // TODO: 之后考虑把这些偏移量计算全都挪到节点内部去
3930
3775
  if (node.concept === 'BinaryExpression' ||
@@ -3991,9 +3836,9 @@ let NaslServer = class NaslServer {
3991
3836
  fileDetail.offset += 10;
3992
3837
  }
3993
3838
  args.push(fileDetail);
3994
- }, { minimum: 1000 });
3995
- const resultMap = (await this.getNaslNodeTypeFull(args))?.response;
3996
- await utils.timeSlicing(args, ({ file, line, offset }, index) => {
3839
+ });
3840
+ const resultMap = (yield this.getNaslNodeTypeFull(args))?.response;
3841
+ yield* utils.wrapForEachToGenerator(args, ({ file, line, offset }, index) => {
3997
3842
  const item = resultMap?.[file]?.[line]?.[offset];
3998
3843
  const itemType = item?.[0]?.nodeType;
3999
3844
  const nodeTypeAnnotation = (0, formatTsUtils_1.type2TypeAnnotation)(itemType);
@@ -4006,8 +3851,8 @@ let NaslServer = class NaslServer {
4006
3851
  else {
4007
3852
  delete node.__nodeType;
4008
3853
  }
4009
- }, { minimum: 100 });
4010
- await utils.timeSlicing(Array.from(getFromOthers.entries()), ([node]) => {
3854
+ });
3855
+ yield* utils.wrapIteratorToGenerator(getFromOthers.entries(), function* ([node]) {
4011
3856
  if (node instanceof concepts_1.Assignment) {
4012
3857
  if (!types.get(node.left)) {
4013
3858
  types.set(node.left, types.get(node.right));
@@ -4015,7 +3860,7 @@ let NaslServer = class NaslServer {
4015
3860
  }
4016
3861
  else if (node instanceof concepts_1.Argument) {
4017
3862
  // 如果Argument,但是没可以用的类型,就用原来logic的参数类型
4018
- const argType = this.getArgumentTypeAnnotation(node, newQuickInfoNodes, types);
3863
+ const argType = yield* self.getArgumentTypeAnnotationWithGenerator(node, newQuickInfoNodes, types);
4019
3864
  types.set(node, argType);
4020
3865
  }
4021
3866
  else if (node instanceof concepts_1.MatchCase) {
@@ -4028,8 +3873,8 @@ let NaslServer = class NaslServer {
4028
3873
  }
4029
3874
  }
4030
3875
  }
4031
- }, { minimum: 100 });
4032
- await utils.timeSlicing(Array.from(types.entries()), ([node, value]) => {
3876
+ });
3877
+ yield* utils.wrapIteratorToGenerator(types.entries(), ([node, value]) => {
4033
3878
  try {
4034
3879
  // 因为node可能是经过处理的TypeAnnotation
4035
3880
  node.__isCorrectTypeAnnotation = true;
@@ -4064,9 +3909,15 @@ let NaslServer = class NaslServer {
4064
3909
  // console.log(err);
4065
3910
  // }
4066
3911
  }
4067
- }, { minimum: 100 });
3912
+ });
4068
3913
  return types;
4069
3914
  }
3915
+ /**
3916
+ * 获取传入节点的 TypeAnnotation
3917
+ */
3918
+ getQuickInfoNodesTypeMap(nodes, flag) {
3919
+ return utils.runGeneratorAsync(this._getQuickInfoNodesTypeMapWithGenerator(nodes));
3920
+ }
4070
3921
  // 全量标注并且返回json
4071
3922
  async getNaslAnnotatedJSON(app, releaseFlag) {
4072
3923
  if (this.changeStackList?.length) {
@@ -4096,27 +3947,29 @@ let NaslServer = class NaslServer {
4096
3947
  return json;
4097
3948
  }
4098
3949
  // 增量标注
4099
- async IncrementalAnnotationJSON(records) {
3950
+ *_incrementalAnnotationJSONWithGenerator(records) {
4100
3951
  console.time('增量标注');
4101
3952
  const nodes = [];
4102
- records.forEach((record) => {
4103
- const fileNode = this.file2NodeMap.get(record.filePath);
4104
- if (!fileNode)
3953
+ const self = this;
3954
+ yield* utils.wrapForEachToGenerator(records, function* findNodePosition(record) {
3955
+ const fileNode = self.file2NodeMap.get(record.filePath);
3956
+ if (!fileNode) {
4105
3957
  return;
3958
+ }
4106
3959
  record.id = fileNode.id;
4107
3960
  record.node = fileNode;
4108
- if (!['Structure', 'DataSource', 'Entity', 'Enum', 'Role', 'MetadataType'].includes(fileNode.concept)) {
4109
- fileNode.sourceMap &&
4110
- fileNode.sourceMap.forEach((item, nodeItem) => {
4111
- nodes.push({
4112
- filePath: record.filePath,
4113
- node: nodeItem,
4114
- item,
4115
- });
4116
- });
3961
+ if (['Structure', 'DataSource', 'Entity', 'Enum', 'Role', 'MetadataType'].includes(fileNode.concept) || !fileNode.sourceMap) {
3962
+ return;
4117
3963
  }
3964
+ yield* utils.wrapIteratorToGenerator(fileNode.sourceMap.entries(), ([nodeItem, item]) => {
3965
+ nodes.push({
3966
+ filePath: record.filePath,
3967
+ node: nodeItem,
3968
+ item,
3969
+ });
3970
+ });
4118
3971
  });
4119
- await this.getQuickInfoNodesTypeMap(nodes);
3972
+ yield* this._getQuickInfoNodesTypeMapWithGenerator(nodes);
4120
3973
  console.timeEnd('增量标注');
4121
3974
  }
4122
3975
  annotationToJson(typesMap, json) {
@@ -4234,7 +4087,7 @@ let NaslServer = class NaslServer {
4234
4087
  * 如果内部表达式的,就用表达式的,如果没有就试试用默认值的
4235
4088
  * 获取logic的默认值和原来Arg的类型和默认值对应
4236
4089
  */
4237
- getArgumentTypeAnnotation(node, QuickInfoNodes, types) {
4090
+ *getArgumentTypeAnnotationWithGenerator(node, QuickInfoNodes, types) {
4238
4091
  // 直接复用内部expression的type类型
4239
4092
  if (node.parentNode instanceof concepts_1.CallLogic &&
4240
4093
  node.parentNode.calleeNamespace?.includes('entities') &&
@@ -4252,6 +4105,7 @@ let NaslServer = class NaslServer {
4252
4105
  };
4253
4106
  }
4254
4107
  }
4108
+ yield;
4255
4109
  }
4256
4110
  // 获取返回值结果里找到父级的callLogic || CallInterface的类型填充进去Argument
4257
4111
  const App = node.app;
@@ -4267,6 +4121,7 @@ let NaslServer = class NaslServer {
4267
4121
  }
4268
4122
  // 用户自己声明的用用户的
4269
4123
  const callObj = App.findNodeByCompleteName(`${parent.calleeNamespace}.${parent.calleeName}`);
4124
+ yield;
4270
4125
  const index = parent.arguments.indexOf(node);
4271
4126
  const param = callObj?.params?.[index] || {};
4272
4127
  // 取出参数的类型
@@ -4531,7 +4386,7 @@ let NaslServer = class NaslServer {
4531
4386
  const fileNodeChildren = [...fileNode.views, ...fileNode.variables];
4532
4387
  for (let i = 0; i < fileNodeChildren.length; i++) {
4533
4388
  const fileNodeItem = fileNodeChildren[i];
4534
- const result = fileNodeItem.toEmbeddedTSFile();
4389
+ const result = await utils.timeSlicingWithGenerator(fileNodeItem.toEmbeddedTSFile());
4535
4390
  fileNodeItem.sourceMap = result.sourceMap;
4536
4391
  if (action === 'create') {
4537
4392
  await this.handleChange(fileNodeItem, fileNodeItem, result, action);
@@ -4556,7 +4411,7 @@ let NaslServer = class NaslServer {
4556
4411
  const fileNodeChildren = fileNode.children;
4557
4412
  for (let i = 0; i < fileNodeChildren.length; i++) {
4558
4413
  const fileNodeItem = fileNodeChildren[i];
4559
- const result = fileNodeItem.toEmbeddedTSFile();
4414
+ const result = await utils.timeSlicingWithGenerator(fileNodeItem.toEmbeddedTSFile());
4560
4415
  fileNodeItem.sourceMap = result.sourceMap;
4561
4416
  if (action === 'create') {
4562
4417
  await this.handleChange(fileNodeItem, fileNodeItem, result, action);
@@ -4582,8 +4437,7 @@ let NaslServer = class NaslServer {
4582
4437
  isChangeInterface = true;
4583
4438
  }
4584
4439
  const module = targetNode;
4585
- const results = [];
4586
- this.contentToFile(module, results);
4440
+ const results = await utils.timeSlicingWithGenerator(this.contentToFile(module));
4587
4441
  for (let i = 0; i < results.length; i++) {
4588
4442
  const result = results[i];
4589
4443
  const node = this.file2NodeMap.get(result.filePath);
@@ -4611,7 +4465,7 @@ let NaslServer = class NaslServer {
4611
4465
  if (fileNode instanceof concepts_1.DataSource) {
4612
4466
  fileNode.entities.forEach(async (entity) => {
4613
4467
  try {
4614
- const result = entity.toEmbeddedTSFile();
4468
+ const result = await utils.timeSlicingWithGenerator(entity.toEmbeddedTSFile());
4615
4469
  const parentPath = oldpath.replace('.ts', '/');
4616
4470
  const currentOldPath = `${parentPath}/entities/${entity.name}.ts`;
4617
4471
  // 因为重命名这里只有当前修改父级的 旧名称, 所以他的子集也要根据旧名称去查依赖 更新内容
@@ -4647,17 +4501,19 @@ let NaslServer = class NaslServer {
4647
4501
  }
4648
4502
  return;
4649
4503
  }
4504
+ // debugger;
4650
4505
  if (process.env.NODE_ENV === 'development') {
4651
4506
  console.time('重新生成 TS 文件');
4652
4507
  }
4653
- const result = fileNode.toEmbeddedTSFile();
4508
+ const fileTsPath = fileNode.getEmbeddedFilePath();
4509
+ const result = await utils.timeSlicingWithGenerator(fileNode.toEmbeddedTSFile());
4654
4510
  if (process.env.NODE_ENV === 'development') {
4655
4511
  console.timeEnd('重新生成 TS 文件');
4656
- console.log('重新生成 TS 文件', fileNode.getEmbeddedFilePath());
4512
+ console.log('重新生成 TS 文件', fileTsPath);
4657
4513
  }
4658
4514
  // 当前操作的节点
4659
4515
  // 如果当前没有生成tsFile
4660
- if (!result) {
4516
+ if (!result.sourceMap) {
4661
4517
  return;
4662
4518
  }
4663
4519
  // 修改触发修改文件
@@ -4719,9 +4575,6 @@ __decorate([
4719
4575
  __decorate([
4720
4576
  (0, decorators_1.withQueueExecute)('annotation')
4721
4577
  ], NaslServer.prototype, "getNaslAnnotatedJSON", null);
4722
- __decorate([
4723
- (0, decorators_1.withQueueExecute)('annotation')
4724
- ], NaslServer.prototype, "IncrementalAnnotationJSON", null);
4725
4578
  NaslServer = __decorate([
4726
4579
  sentry_1.sentryMonitorNaslServer
4727
4580
  ], NaslServer);