@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
@@ -1,5 +1,16 @@
1
+ import { wrapForEachToGenerator as wrapForEach, runGeneratorSync as runSync } from '../utils/time-slicing';
2
+ import type { EmbeddedTSFileGenerator } from '../utils';
1
3
  import Namespace from './Namespace__';
2
- import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
4
+ import {
5
+ TranslatorState,
6
+ shiftState,
7
+ withSourceMap,
8
+ indent,
9
+ createCompilerState,
10
+ withSourceMapGenerator,
11
+ withGenerator,
12
+ TranslatorGenerator,
13
+ } from '../translator';
3
14
  import { entity2LogicNamespace } from '../server/entity2LogicNamespace';
4
15
  import CallQueryComponent from './CallQueryComponent__';
5
16
  //================================================================================
@@ -488,9 +499,12 @@ export class Entity extends BaseNode {
488
499
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
489
500
  ~index && (this as any)[parentKey].splice(index, 1);
490
501
  params.index = index;
491
- } else if ((t as any)[parentKey] === n) {
492
- params.index = 0;
493
- (this as any)[parentKey] = undefined;
502
+ } else {
503
+ const q = (t as any)[parentKey];
504
+ if ((q.__v_raw || q) === n) {
505
+ params.index = 0;
506
+ (this as any)[parentKey] = undefined;
507
+ }
494
508
  }
495
509
  }
496
510
  return params;
@@ -541,9 +555,12 @@ export class Entity extends BaseNode {
541
555
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
542
556
  ~index && (this as any)[parentKey].splice(index, 1);
543
557
  params.index = index;
544
- } else if ((t as any)[parentKey] === n) {
545
- params.index = 0;
546
- (this as any)[parentKey] = undefined;
558
+ } else {
559
+ const q = (t as any)[parentKey];
560
+ if ((q.__v_raw || q) === n) {
561
+ params.index = 0;
562
+ (this as any)[parentKey] = undefined;
563
+ }
547
564
  }
548
565
  }
549
566
  return params;
@@ -820,42 +837,40 @@ export class Entity extends BaseNode {
820
837
  };
821
838
  }
822
839
 
823
- @withSourceMap()
824
- toEmbeddedTS(state = createCompilerState()): string {
825
- let code = `export class ${this.name} {\n`;
840
+ @withSourceMapGenerator
841
+ *toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
842
+ const self = this;
843
+ let code = `export class ${self.name} {\n`;
826
844
  code += indent((state?.tabSize || 0) + 1);
827
- code += `__name: '${this.getNamespace()}.${this.name}';\n`;
828
- this.properties.forEach((property) => {
845
+ code += `__name: '${self.getNamespace()}.${self.name}';\n`;
846
+ yield* wrapForEach(self.properties, function* warpForEachGenerator(property) {
829
847
  code += indent((state?.tabSize || 0) + 1);
830
- code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
848
+ code += yield* property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
831
849
  code += ';\n';
832
850
  });
833
- if (this.indexes && this.indexes.length) {
851
+ if (self.indexes && self.indexes.length) {
834
852
  code += indent((state?.tabSize || 0) + 1);
835
853
  code += `__IndexList() {\n`;
836
854
  code += ` return [`;
837
- this.indexes.forEach((entityIndex) => {
855
+ yield* wrapForEach(self.indexes, function* warpForEachGenerator(entityIndex) {
838
856
  code += indent((state?.tabSize || 0) + 1);
839
857
  code += '\n ';
840
- code += entityIndex.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
858
+ code += yield* entityIndex.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
841
859
  });
842
860
  code += `${indent(state?.tabSize || 0)}\n ];\n }\n`;
843
861
  }
844
-
845
- const { ns } = this;
846
-
862
+ const { ns } = self;
847
863
  /**
848
864
  * 11个函数的总行数
849
865
  * 如果修改这里,可能会影响到dataSource的重命名, 在naslserver中,可能要一起修改
850
866
  */
851
867
  code += `\nstatic logics = {\n`;
852
- ns.logics.forEach((logic) => {
868
+ yield* wrapForEach(ns.logics, function* warpForEachGenerator(logic) {
853
869
  code += indent((state?.tabSize || 0) + 1);
854
- code += logic.toEmbeddedTS(shiftState(state, code), 'inObject');
870
+ code += yield* logic.toEmbeddedTS(shiftState(state, code), 'inObject');
855
871
  });
856
872
  code += '}\n';
857
873
  code += `${indent(state?.tabSize || 0)}}\n`;
858
-
859
874
  return code;
860
875
  }
861
876
 
@@ -873,7 +888,7 @@ export class Entity extends BaseNode {
873
888
  this.indexes.forEach((entityIndex) => {
874
889
  code += indent(state.tabSize + 1);
875
890
  code += '\n ';
876
- code += entityIndex.toEmbeddedTS(shiftState(state, code, { inline: true }));
891
+ code += runSync(entityIndex.toEmbeddedTS(shiftState(state, code, { inline: true })));
877
892
  });
878
893
  code += `${indent(state.tabSize)}\n ];\n }\n`;
879
894
  }
@@ -912,13 +927,13 @@ export class Entity extends BaseNode {
912
927
  return ns.logics;
913
928
  }
914
929
 
915
- toEmbeddedTSFile() {
930
+ *toEmbeddedTSFile(): EmbeddedTSFileGenerator {
916
931
  let code = `namespace ${this.getNamespace()} {\n`;
917
932
  code += ' @nasl.annotation.Entity()\n';
918
933
 
919
934
  const state = createCompilerState(code, { tabSize: 1 });
920
935
  try {
921
- code += this.toEmbeddedTS(state);
936
+ code += yield* this.toEmbeddedTS(state);
922
937
  } catch (err) {
923
938
  code += '';
924
939
  console.log(err);
@@ -1,4 +1,12 @@
1
- import { TranslatorState, withSourceMap, createCompilerState } from '../translator';
1
+ import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
2
+ import {
3
+ TranslatorState,
4
+ withSourceMap,
5
+ createCompilerState,
6
+ withSourceMapGenerator,
7
+ withGenerator,
8
+ TranslatorGenerator,
9
+ } from '../translator';
2
10
  //================================================================================
3
11
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
4
12
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -121,9 +129,10 @@ export class EnumItem extends BaseNode {
121
129
  @property()
122
130
  expression: undefined;
123
131
 
124
- @withSourceMap()
125
- toEmbeddedTS(state = createCompilerState()): string {
126
- return `static '${this.value}': ${this.enumeration.name}`;
132
+ @withSourceMapGenerator
133
+ *toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
134
+ const self = this;
135
+ return `static '${self.value}': ${self.enumeration.name}`;
127
136
  }
128
137
 
129
138
  @withSourceMap()
@@ -1,4 +1,15 @@
1
- import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
1
+ import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
2
+ import type { EmbeddedTSFileGenerator } from '../utils';
3
+ import {
4
+ TranslatorState,
5
+ shiftState,
6
+ withSourceMap,
7
+ indent,
8
+ createCompilerState,
9
+ withSourceMapGenerator,
10
+ withGenerator,
11
+ TranslatorGenerator,
12
+ } from '../translator';
2
13
  import Namespace from './Namespace__';
3
14
  import Identifier from './Identifier__';
4
15
  //================================================================================
@@ -264,9 +275,12 @@ export class Enum extends BaseNode {
264
275
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
265
276
  ~index && (this as any)[parentKey].splice(index, 1);
266
277
  params.index = index;
267
- } else if ((t as any)[parentKey] === n) {
268
- params.index = 0;
269
- (this as any)[parentKey] = undefined;
278
+ } else {
279
+ const q = (t as any)[parentKey];
280
+ if ((q.__v_raw || q) === n) {
281
+ params.index = 0;
282
+ (this as any)[parentKey] = undefined;
283
+ }
270
284
  }
271
285
  }
272
286
  return params;
@@ -300,14 +314,15 @@ export class Enum extends BaseNode {
300
314
  return utils.unique(name, this.getEnumItemExistingNames(), undefined, false);
301
315
  }
302
316
 
303
- @withSourceMap()
304
- toEmbeddedTS(state = createCompilerState()): string {
305
- let code = `export class ${this.name} extends nasl.core.Enums {\n`;
317
+ @withSourceMapGenerator
318
+ *toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
319
+ const self = this;
320
+ let code = `export class ${self.name} extends nasl.core.Enums {\n`;
306
321
  // 增加一个单独的标签
307
- code += `${indent((state?.tabSize || 0) + 1)}__name: '${this.getNamespace()}.${this.name}';\n`;
308
- this.enumItems.forEach((property) => {
322
+ code += `${indent((state?.tabSize || 0) + 1)}__name: '${self.getNamespace()}.${self.name}';\n`;
323
+ yield* wrapForEach(self.enumItems, function* warpForEachGenerator(property) {
309
324
  code += indent((state?.tabSize || 0) + 1);
310
- code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
325
+ code += yield* property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
311
326
  code += ';\n';
312
327
  });
313
328
  code += `
@@ -317,7 +332,6 @@ export class Enum extends BaseNode {
317
332
  }
318
333
  `;
319
334
  code += `${indent(state?.tabSize || 0)}}\n`;
320
-
321
335
  return code;
322
336
  }
323
337
 
@@ -356,12 +370,12 @@ export class Enum extends BaseNode {
356
370
  return `/embedded/${this.app.name}${_path}/enums/${name}.ts`;
357
371
  }
358
372
 
359
- toEmbeddedTSFile() {
373
+ *toEmbeddedTSFile(): EmbeddedTSFileGenerator {
360
374
  let code = `namespace ${this.getNamespace()} {\n`;
361
375
 
362
376
  const state = createCompilerState(code, { tabSize: 1 });
363
377
  try {
364
- code += this.toEmbeddedTS(state);
378
+ code += yield* this.toEmbeddedTS(state);
365
379
  } catch (err) {
366
380
  code += '';
367
381
  console.log(err);
@@ -313,9 +313,12 @@ export class Event extends BaseNode {
313
313
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
314
314
  ~index && (this as any)[parentKey].splice(index, 1);
315
315
  params.index = index;
316
- } else if ((t as any)[parentKey] === n) {
317
- params.index = 0;
318
- (this as any)[parentKey] = undefined;
316
+ } else {
317
+ const q = (t as any)[parentKey];
318
+ if ((q.__v_raw || q) === n) {
319
+ params.index = 0;
320
+ (this as any)[parentKey] = undefined;
321
+ }
319
322
  }
320
323
  }
321
324
  return params;
@@ -1,4 +1,13 @@
1
- import { TranslatorState, shiftState, withSourceMap } from '../translator';
1
+ import { returnOrigin } from '../utils/time-slicing';
2
+ import {
3
+ TranslatorState,
4
+ shiftState,
5
+ withSourceMap,
6
+ withSourceMapGenerator,
7
+ withGenerator,
8
+ TranslatorGenerator,
9
+ createCompilerState,
10
+ } from '../translator';
2
11
  import { ElementToVueOptions } from './ViewElement__';
3
12
  import StringLiteral from './StringLiteral__';
4
13
  import { BindAttribute, ViewElement, Param } from '..';
@@ -178,9 +187,12 @@ export class ExternalDestination extends LogicItem {
178
187
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
179
188
  ~index && (this as any)[parentKey].splice(index, 1);
180
189
  params.index = index;
181
- } else if ((t as any)[parentKey] === n) {
182
- params.index = 0;
183
- (this as any)[parentKey] = undefined;
190
+ } else {
191
+ const q = (t as any)[parentKey];
192
+ if ((q.__v_raw || q) === n) {
193
+ params.index = 0;
194
+ (this as any)[parentKey] = undefined;
195
+ }
184
196
  }
185
197
  }
186
198
  return params;
@@ -190,17 +202,17 @@ export class ExternalDestination extends LogicItem {
190
202
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
191
203
  // 自动生成的代码已结束。下面可以手动编写。
192
204
  //================================================================================
193
- @withSourceMap()
194
- toEmbeddedTS(state?: TranslatorState, isHaveKeyWord?: boolean): string {
205
+ @withSourceMapGenerator
206
+ *toEmbeddedTS(state = createCompilerState(), isHaveKeyWord?: boolean): TranslatorGenerator {
207
+ const self = this;
195
208
  let code = '';
196
- if (this.link) {
197
- code += `${this.link.toEmbeddedTS(shiftState(state, code))};`;
209
+ if (self.link) {
210
+ code += `${yield* self.link.toEmbeddedTS(shiftState(state, code))};`;
198
211
  } else {
199
212
  code += '__IDENTIFIER__;';
200
213
  }
201
214
  // code += this.anchor?.expression?.toEmbeddedTS(shiftState(state, code)) + ';' || '';
202
- code += this.anchor?.toEmbeddedTS(shiftState(state, code), true) || '';
203
-
215
+ code += yield* self.anchor?.toEmbeddedTS(shiftState(state, code), true) ?? returnOrigin('');
204
216
  return code;
205
217
  }
206
218
 
@@ -1,4 +1,14 @@
1
- import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
1
+ import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
2
+ import {
3
+ TranslatorState,
4
+ shiftState,
5
+ withSourceMap,
6
+ indent,
7
+ createCompilerState,
8
+ withSourceMapGenerator,
9
+ withGenerator,
10
+ TranslatorGenerator,
11
+ } from '../translator';
2
12
  import TypeAnnotation from './TypeAnnotation__';
3
13
  import Identifier from './Identifier__';
4
14
  import MemberExpression from './MemberExpression__';
@@ -368,9 +378,12 @@ export class ForEachStatement extends LogicItem {
368
378
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
369
379
  ~index && (this as any)[parentKey].splice(index, 1);
370
380
  params.index = index;
371
- } else if ((t as any)[parentKey] === n) {
372
- params.index = 0;
373
- (this as any)[parentKey] = undefined;
381
+ } else {
382
+ const q = (t as any)[parentKey];
383
+ if ((q.__v_raw || q) === n) {
384
+ params.index = 0;
385
+ (this as any)[parentKey] = undefined;
386
+ }
374
387
  }
375
388
  }
376
389
  return params;
@@ -446,9 +459,12 @@ export class ForEachStatement extends LogicItem {
446
459
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
447
460
  ~index && (this as any)[parentKey].splice(index, 1);
448
461
  params.index = index;
449
- } else if ((t as any)[parentKey] === n) {
450
- params.index = 0;
451
- (this as any)[parentKey] = undefined;
462
+ } else {
463
+ const q = (t as any)[parentKey];
464
+ if ((q.__v_raw || q) === n) {
465
+ params.index = 0;
466
+ (this as any)[parentKey] = undefined;
467
+ }
452
468
  }
453
469
  }
454
470
  return params;
@@ -541,29 +557,30 @@ export class ForEachStatement extends LogicItem {
541
557
  return code;
542
558
  }
543
559
 
544
- @withSourceMap()
545
- toEmbeddedTS(state = createCompilerState()): string {
560
+ @withSourceMapGenerator
561
+ *toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
562
+ const self = this;
546
563
  let code = '';
547
- code += this.each
548
- ? this.each.toEmbeddedTS(
564
+ code += self.each
565
+ ? yield* self.each.toEmbeddedTS(
549
566
  shiftState(state, code, {
550
567
  tabSize: 0,
551
568
  }),
552
569
  )
553
570
  : '__IDENTIFIER__';
554
- if (['NewList', 'NewMap'].includes(this.each?.concept)) code += '\n';
571
+ if (['NewList', 'NewMap'].includes(self.each?.concept)) code += '\n';
555
572
  code += '.__slice(';
556
- code += this.start ? this.start.toEmbeddedTS(shiftState(state, code)) : '__IDENTIFIER__';
573
+ code += self.start ? yield* self.start.toEmbeddedTS(shiftState(state, code)) : '__IDENTIFIER__';
557
574
  code += ', ';
558
- code += this.end ? this.end.toEmbeddedTS(shiftState(state, code)) : 'null';
575
+ code += self.end ? yield* self.end.toEmbeddedTS(shiftState(state, code)) : 'null';
559
576
  code += ').__forEach((';
560
- code += this.item ? this.item.toEmbeddedTS(shiftState(state, code), true) : '__IDENTIFIER__';
577
+ code += self.item ? yield* self.item.toEmbeddedTS(shiftState(state, code), true) : '__IDENTIFIER__';
561
578
  code += ', ';
562
- code += this.index ? this.index.toEmbeddedTS(shiftState(state, code), true) : '__IDENTIFIER__';
579
+ code += self.index ? yield* self.index.toEmbeddedTS(shiftState(state, code), true) : '__IDENTIFIER__';
563
580
  code += ') => {\n';
564
- if (Array.isArray(this.body)) {
565
- this.body.forEach((logicItem) => {
566
- code += `${logicItem.toEmbeddedTS(
581
+ if (Array.isArray(self.body)) {
582
+ yield* wrapForEach(self.body, function* warpForEachGenerator(logicItem) {
583
+ code += `${yield* logicItem.toEmbeddedTS(
567
584
  shiftState(state, code, {
568
585
  tabSize: (state?.tabSize || 0) + 1,
569
586
  }),
@@ -571,7 +588,6 @@ export class ForEachStatement extends LogicItem {
571
588
  });
572
589
  }
573
590
  code += `${indent(state?.tabSize || 0)}})\n`;
574
-
575
591
  return code;
576
592
  }
577
593
 
@@ -98,7 +98,7 @@ export class FrontendLibrary extends BaseNode {
98
98
 
99
99
  getLogicExistingNames(excludedList: Array<Logic> = []) {
100
100
  const excludedSet = new Set(excludedList);
101
- return ((this.logics as Logic[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
101
+ return ((this.logics as Logic[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item?.name);
102
102
  }
103
103
  getLogicUniqueName(name = 'logic1') {
104
104
  return utils.unique(name, this.getLogicExistingNames(), undefined, true);
@@ -253,7 +253,7 @@ export class FrontendLibrary extends BaseNode {
253
253
  const excludedSet = new Set(excludedList);
254
254
  return ((this.viewComponents as ViewComponent[]) || [])
255
255
  .filter((item) => !excludedSet.has(item))
256
- .map((item) => item.name);
256
+ .map((item) => item?.name);
257
257
  }
258
258
  getViewComponentUniqueName(name = 'viewComponent1') {
259
259
  return utils.unique(name, this.getViewComponentExistingNames(), undefined, false);
@@ -445,12 +445,16 @@ export class FrontendLibrary extends BaseNode {
445
445
  // @ts-ignore
446
446
  const n = logic.__v_raw || logic;
447
447
  if (Array.isArray((t as any)[parentKey])) {
448
- const index = (t as any)[parentKey].indexOf(n);
448
+ // @ts-ignore
449
+ const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
449
450
  ~index && (this as any)[parentKey].splice(index, 1);
450
451
  params.index = index;
451
- } else if ((t as any)[parentKey] === n) {
452
- params.index = 0;
453
- (this as any)[parentKey] = undefined;
452
+ } else {
453
+ const q = (t as any)[parentKey];
454
+ if ((q.__v_raw || q) === n) {
455
+ params.index = 0;
456
+ (this as any)[parentKey] = undefined;
457
+ }
454
458
  }
455
459
  }
456
460
  return params;
@@ -497,12 +501,16 @@ export class FrontendLibrary extends BaseNode {
497
501
  // @ts-ignore
498
502
  const n = viewComponent.__v_raw || viewComponent;
499
503
  if (Array.isArray((t as any)[parentKey])) {
500
- const index = (t as any)[parentKey].indexOf(n);
504
+ // @ts-ignore
505
+ const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
501
506
  ~index && (this as any)[parentKey].splice(index, 1);
502
507
  params.index = index;
503
- } else if ((t as any)[parentKey] === n) {
504
- params.index = 0;
505
- (this as any)[parentKey] = undefined;
508
+ } else {
509
+ const q = (t as any)[parentKey];
510
+ if ((q.__v_raw || q) === n) {
511
+ params.index = 0;
512
+ (this as any)[parentKey] = undefined;
513
+ }
506
514
  }
507
515
  }
508
516
  return params;
@@ -1,4 +1,14 @@
1
- import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
1
+ import type { EmbeddedTSFileGenerator } from '../utils';
2
+ import {
3
+ TranslatorState,
4
+ shiftState,
5
+ withSourceMap,
6
+ indent,
7
+ createCompilerState,
8
+ withSourceMapGenerator,
9
+ withGenerator,
10
+ TranslatorGenerator,
11
+ } from '../translator';
2
12
  import { AssetsInfo } from './App__';
3
13
  import Namespace from './Namespace__';
4
14
  import Variable from './Variable__';
@@ -897,9 +907,12 @@ export class Frontend extends BaseNode {
897
907
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
898
908
  ~index && (this as any)[parentKey].splice(index, 1);
899
909
  params.index = index;
900
- } else if ((t as any)[parentKey] === n) {
901
- params.index = 0;
902
- (this as any)[parentKey] = undefined;
910
+ } else {
911
+ const q = (t as any)[parentKey];
912
+ if ((q.__v_raw || q) === n) {
913
+ params.index = 0;
914
+ (this as any)[parentKey] = undefined;
915
+ }
903
916
  }
904
917
  }
905
918
  return params;
@@ -950,9 +963,12 @@ export class Frontend extends BaseNode {
950
963
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
951
964
  ~index && (this as any)[parentKey].splice(index, 1);
952
965
  params.index = index;
953
- } else if ((t as any)[parentKey] === n) {
954
- params.index = 0;
955
- (this as any)[parentKey] = undefined;
966
+ } else {
967
+ const q = (t as any)[parentKey];
968
+ if ((q.__v_raw || q) === n) {
969
+ params.index = 0;
970
+ (this as any)[parentKey] = undefined;
971
+ }
956
972
  }
957
973
  }
958
974
  return params;
@@ -1003,9 +1019,12 @@ export class Frontend extends BaseNode {
1003
1019
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
1004
1020
  ~index && (this as any)[parentKey].splice(index, 1);
1005
1021
  params.index = index;
1006
- } else if ((t as any)[parentKey] === n) {
1007
- params.index = 0;
1008
- (this as any)[parentKey] = undefined;
1022
+ } else {
1023
+ const q = (t as any)[parentKey];
1024
+ if ((q.__v_raw || q) === n) {
1025
+ params.index = 0;
1026
+ (this as any)[parentKey] = undefined;
1027
+ }
1009
1028
  }
1010
1029
  }
1011
1030
  return params;
@@ -1056,9 +1075,12 @@ export class Frontend extends BaseNode {
1056
1075
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
1057
1076
  ~index && (this as any)[parentKey].splice(index, 1);
1058
1077
  params.index = index;
1059
- } else if ((t as any)[parentKey] === n) {
1060
- params.index = 0;
1061
- (this as any)[parentKey] = undefined;
1078
+ } else {
1079
+ const q = (t as any)[parentKey];
1080
+ if ((q.__v_raw || q) === n) {
1081
+ params.index = 0;
1082
+ (this as any)[parentKey] = undefined;
1083
+ }
1062
1084
  }
1063
1085
  }
1064
1086
  return params;
@@ -1109,9 +1131,12 @@ export class Frontend extends BaseNode {
1109
1131
  const index = (t as any)[parentKey].findIndex((el) => (el.__v_raw || el) === n);
1110
1132
  ~index && (this as any)[parentKey].splice(index, 1);
1111
1133
  params.index = index;
1112
- } else if ((t as any)[parentKey] === n) {
1113
- params.index = 0;
1114
- (this as any)[parentKey] = undefined;
1134
+ } else {
1135
+ const q = (t as any)[parentKey];
1136
+ if ((q.__v_raw || q) === n) {
1137
+ params.index = 0;
1138
+ (this as any)[parentKey] = undefined;
1139
+ }
1115
1140
  }
1116
1141
  }
1117
1142
  return params;
@@ -1192,21 +1217,22 @@ export class Frontend extends BaseNode {
1192
1217
  return `/embedded/${this.rootNode?.name || this.parentNode.name}/frontends/${name}.ts`;
1193
1218
  }
1194
1219
 
1195
- @withSourceMap()
1196
- toEmbeddedTS(state = createCompilerState()): string {
1197
- let code = `export namespace ${this.name} {\n`;
1220
+ @withSourceMapGenerator
1221
+ *toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
1222
+ const self = this;
1223
+ let code = `export namespace ${self.name} {\n`;
1198
1224
  code += 'const name = ';
1199
- code += `"${this.name}";\n`;
1225
+ code += `"${self.name}";\n`;
1200
1226
  code += '}\n';
1201
1227
  return code;
1202
1228
  }
1203
1229
 
1204
- toEmbeddedTSFile() {
1230
+ *toEmbeddedTSFile(): EmbeddedTSFileGenerator {
1205
1231
  let code = `namespace ${this.getNamespace()} {\n`;
1206
1232
 
1207
1233
  const state = createCompilerState(code, { tabSize: 1 });
1208
1234
  try {
1209
- code += this.toEmbeddedTS(state);
1235
+ code += yield* this.toEmbeddedTS(state);
1210
1236
  } catch (err) {
1211
1237
  code += '';
1212
1238
  console.log(err);