@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
@@ -34,6 +34,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
34
34
  var NewComposite_1;
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.NewComposite = void 0;
37
+ const time_slicing_1 = require("../utils/time-slicing");
37
38
  const translator_1 = require("../translator");
38
39
  const StructureProperty__1 = __importDefault(require("./StructureProperty__"));
39
40
  const generator_1 = require("../generator");
@@ -392,9 +393,12 @@ class NewComposite extends LogicItem__1.default {
392
393
  ~index && this[parentKey].splice(index, 1);
393
394
  params.index = index;
394
395
  }
395
- else if (t[parentKey] === n) {
396
- params.index = 0;
397
- this[parentKey] = undefined;
396
+ else {
397
+ const q = t[parentKey];
398
+ if ((q.__v_raw || q) === n) {
399
+ params.index = 0;
400
+ this[parentKey] = undefined;
401
+ }
398
402
  }
399
403
  }
400
404
  return params;
@@ -433,9 +437,12 @@ class NewComposite extends LogicItem__1.default {
433
437
  ~index && this[parentKey].splice(index, 1);
434
438
  params.index = index;
435
439
  }
436
- else if (t[parentKey] === n) {
437
- params.index = 0;
438
- this[parentKey] = undefined;
440
+ else {
441
+ const q = t[parentKey];
442
+ if ((q.__v_raw || q) === n) {
443
+ params.index = 0;
444
+ this[parentKey] = undefined;
445
+ }
439
446
  }
440
447
  }
441
448
  return params;
@@ -474,9 +481,12 @@ class NewComposite extends LogicItem__1.default {
474
481
  ~index && this[parentKey].splice(index, 1);
475
482
  params.index = index;
476
483
  }
477
- else if (t[parentKey] === n) {
478
- params.index = 0;
479
- this[parentKey] = undefined;
484
+ else {
485
+ const q = t[parentKey];
486
+ if ((q.__v_raw || q) === n) {
487
+ params.index = 0;
488
+ this[parentKey] = undefined;
489
+ }
480
490
  }
481
491
  }
482
492
  return params;
@@ -515,9 +525,12 @@ class NewComposite extends LogicItem__1.default {
515
525
  ~index && this[parentKey].splice(index, 1);
516
526
  params.index = index;
517
527
  }
518
- else if (t[parentKey] === n) {
519
- params.index = 0;
520
- this[parentKey] = undefined;
528
+ else {
529
+ const q = t[parentKey];
530
+ if ((q.__v_raw || q) === n) {
531
+ params.index = 0;
532
+ this[parentKey] = undefined;
533
+ }
521
534
  }
522
535
  }
523
536
  return params;
@@ -864,29 +877,30 @@ class NewComposite extends LogicItem__1.default {
864
877
  code += '})()';
865
878
  return code;
866
879
  }
867
- toEmbeddedTS(state = (0, translator_1.createCompilerState)()) {
880
+ *toEmbeddedTS(state = (0, translator_1.createCompilerState)()) {
881
+ const self = this;
868
882
  const indent0 = (0, translator_1.indent)(state?.tabSize || 0);
869
883
  const indent1 = (0, translator_1.indent)((state?.tabSize || 0) + 1);
870
884
  const indent2 = (0, translator_1.indent)((state?.tabSize || 0) + 2);
871
885
  const indent3 = (0, translator_1.indent)((state?.tabSize || 0) + 3);
872
886
  let code = '';
873
- if (!this.typeAnnotation) {
887
+ if (!self.typeAnnotation) {
874
888
  code += '__IDENTIFIER__';
875
889
  }
876
- else if (this.typeAnnotation.typeKind !== 'anonymousStructure') {
890
+ else if (self.typeAnnotation.typeKind !== 'anonymousStructure') {
877
891
  const rightMap = new Map();
878
892
  code += `${indent0}(() => { \n`;
879
893
  // 提供sourcemap,获取类型标注和上下文可选变量
880
- this.rights.forEach((right) => {
894
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.rights, function* warpForEachGenerator(right) {
881
895
  code += indent1;
882
- rightMap.set(right.expression, right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
896
+ rightMap.set(right.expression, yield* right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
883
897
  code += rightMap.get(right.expression);
884
898
  code += ';\n';
885
899
  if (right.members?.length) {
886
900
  code += indent2;
887
901
  }
888
- right.members.forEach((member) => {
889
- rightMap.set(member, member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
902
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(right.members, function* warpForEachGenerator(member) {
903
+ rightMap.set(member, yield* member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
890
904
  code += rightMap.get(member);
891
905
  code += '; ';
892
906
  });
@@ -894,59 +908,59 @@ class NewComposite extends LogicItem__1.default {
894
908
  });
895
909
  // 方便ts报错检查
896
910
  code += `${indent1}function __newComposite() {\n`;
897
- const { typeAnnotation } = this;
911
+ const { typeAnnotation } = self;
898
912
  if (['nasl.ui', 'nasl.interface', 'nasl.http'].includes(typeAnnotation.typeNamespace) &&
899
913
  typeAnnotation.typeKind === 'generic') {
900
914
  code += `${indent2}let __obj = new ${typeAnnotation.typeNamespace}.${typeAnnotation.typeName}`;
901
915
  code += '({';
902
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
916
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.assignmentLines, function* warpForEachGenerator({ leftIndex, rightIndex }) {
903
917
  const leftSecondIndex = leftIndex[1];
904
918
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
905
- const leftItem = this.properties[leftSecondIndex];
919
+ const leftItem = self.properties[leftSecondIndex];
906
920
  const rightItem = rightSecond !== undefined
907
- ? this.rights[rightFirst].members[rightSecond]
908
- : this.rights[rightFirst].expression;
921
+ ? self.rights[rightFirst].members[rightSecond]
922
+ : self.rights[rightFirst].expression;
909
923
  const rightTs = rightMap.get(rightItem);
910
- code += `${leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}:`;
924
+ code += `${yield* leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}:`;
911
925
  code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)},\n `;
912
926
  });
913
927
  code += '})\n';
914
928
  }
915
929
  else {
916
930
  code += `${indent2}let __obj = nasl.util.New<`;
917
- code += this.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
931
+ code += yield* self.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
918
932
  code += `>();\n`;
919
933
  }
920
934
  // 是否是左边的顶层连线
921
- const leftTopIndex = this.assignmentLines.findIndex(({ leftIndex }) => leftIndex[1] === undefined);
935
+ const leftTopIndex = self.assignmentLines.findIndex(({ leftIndex }) => leftIndex[1] === undefined);
922
936
  if (leftTopIndex !== -1) {
923
- const { rightIndex } = this.assignmentLines[leftTopIndex];
937
+ const { rightIndex } = self.assignmentLines[leftTopIndex];
924
938
  const rightExpression = rightIndex[1] !== undefined
925
- ? this.rights[rightIndex[0]].members[rightIndex[1]]
926
- : this.rights[rightIndex[0]].expression;
927
- code += `__obj = ${rightExpression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))};`;
939
+ ? self.rights[rightIndex[0]].members[rightIndex[1]]
940
+ : self.rights[rightIndex[0]].expression;
941
+ code += `__obj = ${yield* rightExpression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))};`;
928
942
  code += '\n';
929
943
  }
930
944
  else {
931
945
  // 左侧properties的identifier的类型标注
932
946
  code += `${indent2}const { `;
933
- this.properties.forEach((item, index) => {
934
- code += item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
935
- if (index < this.properties.length - 1)
947
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.properties, function* warpForEachGenerator(item, index) {
948
+ code += yield* item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
949
+ if (index < self.properties.length - 1)
936
950
  code += ', ';
937
951
  });
938
952
  code += ' } = __obj;\n';
939
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
953
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.assignmentLines, function* warpForEachGenerator({ leftIndex, rightIndex }) {
940
954
  const leftSecondIndex = leftIndex[1];
941
955
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
942
- const leftItem = this.properties[leftSecondIndex];
956
+ const leftItem = self.properties[leftSecondIndex];
943
957
  const rightItem = rightSecond !== undefined
944
- ? this.rights[rightFirst].members[rightSecond]
945
- : this.rights[rightFirst].expression;
958
+ ? self.rights[rightFirst].members[rightSecond]
959
+ : self.rights[rightFirst].expression;
946
960
  const rightTs = rightMap.get(rightItem);
947
961
  code += `${indent2}nasl.core.compareNew(`;
948
962
  code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)}, `;
949
- code += `${leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }), { isNewcomposite: true })});\n`;
963
+ code += `${yield* leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }), { isNewcomposite: true })});\n`;
950
964
  });
951
965
  }
952
966
  code += `${indent2}return __obj;\n`;
@@ -957,19 +971,19 @@ class NewComposite extends LogicItem__1.default {
957
971
  else {
958
972
  const nameMap = new Map();
959
973
  const rightMap = new Map();
960
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
974
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.assignmentLines, function* warpForEachGenerator({ leftIndex, rightIndex }) {
961
975
  const leftSecondIndex = leftIndex[1];
962
976
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
963
- const leftItem = this.properties[leftSecondIndex];
964
- const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
977
+ const leftItem = self.properties[leftSecondIndex];
978
+ const rightItem = rightSecond !== undefined ? self.rights[rightFirst].members[rightSecond] : self.rights[rightFirst].expression;
965
979
  nameMap.set(leftItem.name, rightItem);
966
980
  rightMap.set(rightItem, null);
967
981
  });
968
982
  code += `${indent0}(() => { \n`;
969
983
  // 提供sourcemap,获取类型标注和上下文可选变量
970
- this.rights.forEach((right) => {
984
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.rights, function* warpForEachGenerator(right) {
971
985
  code += indent1;
972
- let ts = right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
986
+ let ts = yield* right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
973
987
  if (rightMap.has(right.expression))
974
988
  rightMap.set(right.expression, ts);
975
989
  code += ts;
@@ -977,8 +991,8 @@ class NewComposite extends LogicItem__1.default {
977
991
  if (right.members?.length) {
978
992
  code += indent2;
979
993
  }
980
- right.members.forEach((member) => {
981
- ts = member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
994
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(right.members, function* warpForEachGenerator(member) {
995
+ ts = yield* member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
982
996
  if (rightMap.has(member))
983
997
  rightMap.set(member, ts);
984
998
  code += ts;
@@ -988,9 +1002,9 @@ class NewComposite extends LogicItem__1.default {
988
1002
  });
989
1003
  // 方便ts报错检查
990
1004
  code += `${indent1}function __newComposite() {\n`;
991
- this.properties.forEach((property, index) => {
1005
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.properties, function* warpForEachGenerator(property, index) {
992
1006
  const temp = `temp${index}`;
993
- const propertyType = this.typeAnnotation.properties[index]?.typeAnnotation;
1007
+ const propertyType = self.typeAnnotation.properties[index]?.typeAnnotation;
994
1008
  const { name } = property;
995
1009
  const rightItem = nameMap.get(name);
996
1010
  const ts = rightMap.get(rightItem);
@@ -1002,9 +1016,9 @@ class NewComposite extends LogicItem__1.default {
1002
1016
  code += `${indent2}let ${temp}${ts === 'null' ? ':void' : ''} = ${ts}; `;
1003
1017
  }
1004
1018
  code += `let `;
1005
- code += `${property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}: `;
1019
+ code += `${yield* property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}: `;
1006
1020
  if (propertyType) {
1007
- const typeTs = propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1021
+ const typeTs = yield* propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1008
1022
  code += typeTs;
1009
1023
  code += ` = ${temp};\n`;
1010
1024
  // 如果是字段是union类型,且赋值的是当前union允许的类型,会导致property.name类型推断成temp的类型
@@ -1017,19 +1031,19 @@ class NewComposite extends LogicItem__1.default {
1017
1031
  }
1018
1032
  else if (propertyType) {
1019
1033
  code += `${indent2}let ${property.name}: `;
1020
- code += `${propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}; `;
1034
+ code += `${yield* propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}; `;
1021
1035
  code += `<`;
1022
- code += `${property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
1036
+ code += `${yield* property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
1023
1037
  code += `>${property.name};\n`;
1024
1038
  }
1025
1039
  else {
1026
1040
  code += `${indent2}const `;
1027
- code += property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1041
+ code += yield* property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1028
1042
  code += ';\n';
1029
1043
  }
1030
1044
  });
1031
1045
  code += `${indent2}return {\n`;
1032
- this.properties.forEach((property) => {
1046
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.properties, function* warpForEachGenerator(property) {
1033
1047
  code += `${indent3}${property.name},\n`;
1034
1048
  });
1035
1049
  code += `${indent3}__name: "AStructure_${(0, generator_1.genHash)(JSON.stringify(this))}" as const,\n`;
@@ -1058,7 +1072,8 @@ class NewComposite extends LogicItem__1.default {
1058
1072
  code += `(${params ? `{${params}}` : '__IDENTIFIER__'})`;
1059
1073
  return code;
1060
1074
  }
1061
- getInitCode(state) {
1075
+ *getInitCode(state) {
1076
+ const self = this;
1062
1077
  const indent1 = (0, translator_1.indent)((state?.tabSize || 0) + 1);
1063
1078
  const indent2 = (0, translator_1.indent)((state?.tabSize || 0) + 2);
1064
1079
  const indent3 = (0, translator_1.indent)((state?.tabSize || 0) + 3);
@@ -1066,7 +1081,7 @@ class NewComposite extends LogicItem__1.default {
1066
1081
  let code = '';
1067
1082
  const nameMap = new Map();
1068
1083
  const rightMap = new Map();
1069
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
1084
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(self.assignmentLines, ({ leftIndex, rightIndex }) => {
1070
1085
  const leftSecondIndex = leftIndex[1];
1071
1086
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
1072
1087
  const leftItem = this.properties[leftSecondIndex];
@@ -1076,26 +1091,27 @@ class NewComposite extends LogicItem__1.default {
1076
1091
  });
1077
1092
  code += '(() => { ';
1078
1093
  // 提供sourcemap,获取类型标注和上下文可选变量
1079
- this.rights.forEach((right) => {
1080
- let ts = right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1094
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(this.rights, function* wrapForEach(right) {
1095
+ let ts = yield* right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1081
1096
  if (rightMap.has(right.expression))
1082
1097
  rightMap.set(right.expression, ts);
1083
- right.members.forEach((member) => {
1084
- ts = member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1085
- if (rightMap.has(member))
1098
+ for (const member of right.members) {
1099
+ ts = yield* member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1100
+ if (rightMap.has(member)) {
1086
1101
  rightMap.set(member, ts);
1087
- });
1102
+ }
1103
+ }
1088
1104
  });
1089
1105
  // 方便ts报错检查
1090
1106
  code += 'function __newComposite() { ';
1091
- this.properties.forEach((property, index) => {
1107
+ yield* (0, time_slicing_1.wrapForEachToGenerator)(this.properties, function* wrapForEach(property, index) {
1092
1108
  const { name } = property;
1093
- const propertyType = this.typeAnnotation.properties[index]?.typeAnnotation;
1109
+ const propertyType = self.typeAnnotation.properties[index]?.typeAnnotation;
1094
1110
  const rightItem = nameMap.get(name);
1095
1111
  let ts = rightMap.get(rightItem);
1096
- ts = this.getForeachCode(ts);
1112
+ ts = yield* self.getForeachCode(ts);
1097
1113
  if (propertyType) {
1098
- code += `const ${name}: ${propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}; `;
1114
+ code += `const ${name}: ${yield* propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}; `;
1099
1115
  }
1100
1116
  else if (ts !== undefined) {
1101
1117
  code += `const ${name} = ${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts}; `;
@@ -1115,7 +1131,7 @@ class NewComposite extends LogicItem__1.default {
1115
1131
  code += `${indent1}})()`;
1116
1132
  return code;
1117
1133
  }
1118
- getNewCompositeCode(state) {
1134
+ *getNewCompositeCode(state) {
1119
1135
  const indent0 = (0, translator_1.indent)(state?.tabSize || 0);
1120
1136
  const indent1 = (0, translator_1.indent)((state?.tabSize || 0) + 1);
1121
1137
  const indent2 = (0, translator_1.indent)((state?.tabSize || 0) + 2);
@@ -1123,36 +1139,33 @@ class NewComposite extends LogicItem__1.default {
1123
1139
  const rightMap = new Map();
1124
1140
  code += `${indent0}(() => { \n`;
1125
1141
  // 提供sourcemap,获取类型标注和上下文可选变量
1126
- this.rights.forEach((right) => {
1142
+ for (const right of this.rights) {
1127
1143
  code += indent1;
1128
- rightMap.set(right.expression, right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
1144
+ rightMap.set(right.expression, yield* right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
1129
1145
  // code += rightMap.get(right.expression);
1130
1146
  // code += ';\n';
1131
1147
  if (right.members?.length) {
1132
1148
  code += indent2;
1133
1149
  }
1134
- right.members.forEach((member) => {
1135
- rightMap.set(member, member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
1136
- // code += rightMap.get(member);
1137
- // code += '; ';
1138
- });
1139
- // code += right.members.length ? '\n' : '';
1140
- });
1150
+ for (const member of right.members) {
1151
+ rightMap.set(member, yield* member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
1152
+ }
1153
+ }
1141
1154
  // 方便ts报错检查
1142
1155
  code += `${indent1}function __newComposite() {\n`;
1143
1156
  const { typeAnnotation } = this;
1144
1157
  if (['nasl.ui', 'nasl.interface', 'nasl.http'].includes(typeAnnotation.typeNamespace)) {
1145
1158
  code += `${indent2}let __obj = new ${typeAnnotation.typeNamespace}.${typeAnnotation.typeName}`;
1146
1159
  code += '({';
1147
- this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
1160
+ for (const { leftIndex, rightIndex } of this.assignmentLines) {
1148
1161
  const leftSecondIndex = leftIndex[1];
1149
1162
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
1150
1163
  const leftItem = this.properties[leftSecondIndex];
1151
1164
  const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
1152
1165
  const rightTs = rightMap.get(rightItem);
1153
- code += `${leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}:`;
1166
+ code += `${yield* leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}:`;
1154
1167
  code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)},\n `;
1155
- });
1168
+ }
1156
1169
  code += '})\n';
1157
1170
  }
1158
1171
  code += `${indent2}return __obj;\n`;
@@ -1199,12 +1212,12 @@ class NewComposite extends LogicItem__1.default {
1199
1212
  property.delete();
1200
1213
  this.app.emit('collect:end');
1201
1214
  }
1202
- getForeachCode(code) {
1215
+ *getForeachCode(code) {
1203
1216
  // ForEachStatement 内部变量需要替换处理,如 item、index
1204
1217
  const forEachStatement = this.getAncestor('ForEachStatement');
1205
1218
  if (forEachStatement && code) {
1206
1219
  code = code.replaceAll('\n', ' ');
1207
- code = new Logic__1.default().handleForEachCode(code, forEachStatement);
1220
+ code = yield* new Logic__1.default().handleForEachCode(code, forEachStatement);
1208
1221
  }
1209
1222
  return code;
1210
1223
  }
@@ -1234,7 +1247,7 @@ __decorate([
1234
1247
  (0, decorators_1.property)()
1235
1248
  ], NewComposite.prototype, "autoConnection", void 0);
1236
1249
  __decorate([
1237
- (0, translator_1.withSourceMap)()
1250
+ translator_1.withSourceMapGenerator
1238
1251
  ], NewComposite.prototype, "toEmbeddedTS", null);
1239
1252
  __decorate([
1240
1253
  (0, translator_1.withSourceMap)()
@@ -1 +1 @@
1
- {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}