@lcap/nasl 3.3.3-beta.8 → 3.3.5-beta.1

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 (309) hide show
  1. package/.nyc_output/{78804420-ead6-486f-b682-ab54ccd95dc9.json → b920244d-8d01-4e76-be5a-95132217c5a1.json} +1 -1
  2. package/.nyc_output/processinfo/b920244d-8d01-4e76-be5a-95132217c5a1.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/index.html +113 -128
  5. package/coverage/src/automate/engine/index.html +1 -1
  6. package/coverage/src/automate/engine/utils.js.html +26 -26
  7. package/coverage/src/bak/index.html +15 -15
  8. package/coverage/src/bak/translator.js.html +63 -390
  9. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
  10. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
  11. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1 -1
  12. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +1 -1
  13. package/coverage/src/breakpoint/generator/index.html +1 -1
  14. package/coverage/src/breakpoint/generator/index.ts.html +1 -1
  15. package/coverage/src/breakpoint/index.html +1 -1
  16. package/coverage/src/breakpoint/index.ts.html +1 -1
  17. package/coverage/src/breakpoint/shared/constants.ts.html +1 -1
  18. package/coverage/src/breakpoint/shared/index.html +1 -1
  19. package/coverage/src/breakpoint/shared/index.ts.html +1 -1
  20. package/coverage/src/breakpoint/shared/operations.ts.html +2 -2
  21. package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
  22. package/coverage/src/breakpoint/shared/utils.ts.html +1 -1
  23. package/coverage/src/breakpoint/store/core.ts.html +3 -3
  24. package/coverage/src/breakpoint/store/dock.ts.html +1 -1
  25. package/coverage/src/breakpoint/store/index.html +1 -1
  26. package/coverage/src/breakpoint/store/index.ts.html +1 -1
  27. package/coverage/src/common/BaseNode.ts.html +370 -592
  28. package/coverage/src/common/Command.ts.html +1 -1
  29. package/coverage/src/common/EventEmitter.ts.html +34 -31
  30. package/coverage/src/common/Messager.ts.html +1 -1
  31. package/coverage/src/common/asyncFuncMap.ts.html +1 -1
  32. package/coverage/src/common/index.html +23 -38
  33. package/coverage/src/common/index.ts.html +4 -7
  34. package/coverage/src/concepts/Abort__.ts.html +9 -36
  35. package/coverage/src/concepts/Anchor__.ts.html +22 -58
  36. package/coverage/src/concepts/AnonymousFunction__.ts.html +77 -107
  37. package/coverage/src/concepts/App__.ts.html +253 -907
  38. package/coverage/src/concepts/Argument__.ts.html +54 -195
  39. package/coverage/src/concepts/Assignee__.ts.html +70 -79
  40. package/coverage/src/concepts/AssignmentLine__.ts.html +21 -33
  41. package/coverage/src/concepts/Assignment__.ts.html +49 -130
  42. package/coverage/src/concepts/Attribute__.ts.html +179 -20
  43. package/coverage/src/concepts/AuthInterface__.ts.html +1 -1
  44. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +161 -98
  45. package/coverage/src/concepts/AuthLogic__.ts.html +1 -1
  46. package/coverage/src/concepts/BackendVariable__.ts.html +226 -139
  47. package/coverage/src/concepts/Backend__.ts.html +35 -86
  48. package/coverage/src/concepts/BatchAssignment__.ts.html +65 -95
  49. package/coverage/src/concepts/BinaryExpression__.ts.html +89 -218
  50. package/coverage/src/concepts/BindAttribute__.ts.html +125 -440
  51. package/coverage/src/concepts/BindDirective__.ts.html +40 -64
  52. package/coverage/src/concepts/BindEvent__.ts.html +71 -86
  53. package/coverage/src/concepts/BindStyle__.ts.html +34 -58
  54. package/coverage/src/concepts/BooleanLiteral__.ts.html +8 -32
  55. package/coverage/src/concepts/CallAuthInterface__.ts.html +57 -87
  56. package/coverage/src/concepts/CallConnector__.ts.html +35 -59
  57. package/coverage/src/concepts/CallFunction__.ts.html +145 -247
  58. package/coverage/src/concepts/CallInterface__.ts.html +77 -53
  59. package/coverage/src/concepts/CallLogic__.ts.html +181 -244
  60. package/coverage/src/concepts/CallQueryComponent__.ts.html +181 -103
  61. package/coverage/src/concepts/Comment__.ts.html +10 -40
  62. package/coverage/src/concepts/CompletionProperty__.ts.html +17 -23
  63. package/coverage/src/concepts/ConfigGroup__.ts.html +27 -27
  64. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +1 -1
  65. package/coverage/src/concepts/ConfigProperty__.ts.html +36 -66
  66. package/coverage/src/concepts/Configuration__.ts.html +27 -27
  67. package/coverage/src/concepts/Connection__.ts.html +29 -77
  68. package/coverage/src/concepts/ConnectorTrigger__.ts.html +1 -1
  69. package/coverage/src/concepts/Connector__.ts.html +92 -80
  70. package/coverage/src/concepts/Constant__.ts.html +222 -72
  71. package/coverage/src/concepts/DataSource__.ts.html +32 -59
  72. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +1 -1
  73. package/coverage/src/{utils/time-slicing/controller.ts.html → concepts/DefaultValue__.ts.html} +294 -459
  74. package/coverage/src/concepts/Destination__.ts.html +67 -79
  75. package/coverage/src/concepts/End__.ts.html +21 -48
  76. package/coverage/src/concepts/EntityIndex__.ts.html +17 -35
  77. package/coverage/src/concepts/EntityProperty__.ts.html +208 -118
  78. package/coverage/src/concepts/Entity__.ts.html +123 -81
  79. package/coverage/src/concepts/EnumItem__.ts.html +10 -37
  80. package/coverage/src/concepts/Enum__.ts.html +32 -65
  81. package/coverage/src/concepts/Event__.ts.html +21 -21
  82. package/coverage/src/concepts/ExternalDestination__.ts.html +30 -57
  83. package/coverage/src/concepts/ForEachStatement__.ts.html +89 -98
  84. package/coverage/src/concepts/FrontendLibrary__.ts.html +35 -35
  85. package/coverage/src/concepts/FrontendVariable__.ts.html +1 -1
  86. package/coverage/src/concepts/Frontend__.ts.html +93 -132
  87. package/coverage/src/concepts/Function__.ts.html +98 -131
  88. package/coverage/src/concepts/Identifier__.ts.html +67 -103
  89. package/coverage/src/concepts/IfStatement__.ts.html +67 -88
  90. package/coverage/src/concepts/Integration__.ts.html +31 -37
  91. package/coverage/src/concepts/InterfaceParam__.ts.html +179 -65
  92. package/coverage/src/concepts/Interface__.ts.html +74 -107
  93. package/coverage/src/concepts/JSBlock__.ts.html +11 -212
  94. package/coverage/src/concepts/JavaLogic__.ts.html +9 -39
  95. package/coverage/src/concepts/LogicItem__.ts.html +17 -44
  96. package/coverage/src/concepts/Logic__.ts.html +503 -263
  97. package/coverage/src/concepts/MatchCase__.ts.html +87 -126
  98. package/coverage/src/concepts/Match__.ts.html +56 -74
  99. package/coverage/src/concepts/MemberExpression__.ts.html +59 -95
  100. package/coverage/src/concepts/MicroApp__.ts.html +1 -1
  101. package/coverage/src/concepts/Module__.ts.html +136 -625
  102. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +21 -21
  103. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +21 -21
  104. package/coverage/src/concepts/Namespace__.ts.html +178 -166
  105. package/coverage/src/concepts/NewComposite__.ts.html +178 -295
  106. package/coverage/src/concepts/NewList__.ts.html +75 -129
  107. package/coverage/src/concepts/NewMap__.ts.html +139 -100
  108. package/coverage/src/concepts/New__.ts.html +9 -39
  109. package/coverage/src/concepts/NullLiteral__.ts.html +5 -29
  110. package/coverage/src/concepts/NumericLiteral__.ts.html +29 -65
  111. package/coverage/src/concepts/OqlQueryComponent__.ts.html +39 -69
  112. package/coverage/src/concepts/OverriddenLogic__.ts.html +264 -234
  113. package/coverage/src/concepts/Param__.ts.html +154 -196
  114. package/coverage/src/concepts/Point__.ts.html +1 -1
  115. package/coverage/src/concepts/ProcessComponent__.ts.html +36 -36
  116. package/coverage/src/concepts/ProcessElement__.ts.html +285 -183
  117. package/coverage/src/concepts/ProcessOutcome__.ts.html +13 -82
  118. package/coverage/src/concepts/ProcessOutcomes__.ts.html +20 -80
  119. package/coverage/src/concepts/Process__.ts.html +284 -122
  120. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +20 -50
  121. package/coverage/src/concepts/QueryFieldExpression__.ts.html +11 -38
  122. package/coverage/src/concepts/QueryFromExpression__.ts.html +29 -62
  123. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +23 -53
  124. package/coverage/src/concepts/QueryJoinExpression__.ts.html +41 -62
  125. package/coverage/src/concepts/QueryLimitExpression__.ts.html +29 -59
  126. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +29 -62
  127. package/coverage/src/concepts/QuerySelectExpression__.ts.html +22 -22
  128. package/coverage/src/concepts/Rect__.ts.html +1 -1
  129. package/coverage/src/concepts/Return__.ts.html +187 -148
  130. package/coverage/src/concepts/Role__.ts.html +15 -42
  131. package/coverage/src/concepts/SelectMembers__.ts.html +31 -55
  132. package/coverage/src/concepts/Slot__.ts.html +17 -23
  133. package/coverage/src/concepts/SqlQueryComponent__.ts.html +28 -67
  134. package/coverage/src/concepts/Start__.ts.html +5 -29
  135. package/coverage/src/concepts/StringInterpolation__.ts.html +31 -79
  136. package/coverage/src/concepts/StringLiteral__.ts.html +26 -53
  137. package/coverage/src/concepts/StructureProperty__.ts.html +175 -64
  138. package/coverage/src/concepts/Structure__.ts.html +73 -67
  139. package/coverage/src/concepts/SwitchCase__.ts.html +45 -66
  140. package/coverage/src/concepts/SwitchStatement__.ts.html +28 -58
  141. package/coverage/src/concepts/Theme__.ts.html +7 -7
  142. package/coverage/src/concepts/Transactional__.ts.html +1 -1
  143. package/coverage/src/concepts/TriggerEvent__.ts.html +21 -21
  144. package/coverage/src/concepts/TriggerLauncher__.ts.html +13 -43
  145. package/coverage/src/concepts/TypeAnnotation__.ts.html +106 -223
  146. package/coverage/src/concepts/TypeParam__.ts.html +11 -38
  147. package/coverage/src/concepts/UnaryExpression__.ts.html +28 -73
  148. package/coverage/src/concepts/Unparsed__.ts.html +6 -27
  149. package/coverage/src/concepts/UseComponent__.ts.html +1 -1
  150. package/coverage/src/concepts/ValidationRule__.ts.html +57 -60
  151. package/coverage/src/concepts/Variable__.ts.html +238 -142
  152. package/coverage/src/concepts/ViewBlock__.ts.html +1 -1
  153. package/coverage/src/concepts/ViewComponent__.ts.html +80 -8
  154. package/coverage/src/concepts/ViewElement__.ts.html +238 -463
  155. package/coverage/src/concepts/View__.ts.html +296 -251
  156. package/coverage/src/concepts/WhileStatement__.ts.html +54 -75
  157. package/coverage/src/concepts/basics/stdlib/index.html +8 -8
  158. package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
  159. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
  160. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
  161. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
  162. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
  163. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
  164. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
  165. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
  166. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
  167. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
  168. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
  169. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
  170. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
  171. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +130 -19
  172. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
  173. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +1 -1
  174. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
  175. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
  176. package/coverage/src/concepts/basics/types/index.html +1 -1
  177. package/coverage/src/concepts/basics/types/index.ts.html +1 -1
  178. package/coverage/src/concepts/index.html +858 -858
  179. package/coverage/src/concepts/index.ts.html +1 -1
  180. package/coverage/src/concepts/index__.ts.html +2 -2
  181. package/coverage/src/config.ts.html +1 -1
  182. package/coverage/src/decorators/index.html +16 -16
  183. package/coverage/src/decorators/index.ts.html +40 -31
  184. package/coverage/src/decorators/promise.ts.html +10 -10
  185. package/coverage/src/eventBus.ts.html +1 -1
  186. package/coverage/src/generator/compileComponent.ts.html +4 -4
  187. package/coverage/src/generator/genBundleFiles.ts.html +23 -17
  188. package/coverage/src/generator/genHash.ts.html +3 -3
  189. package/coverage/src/generator/genMetaData.ts.html +31 -76
  190. package/coverage/src/generator/genReleaseBody.ts.html +4 -4
  191. package/coverage/src/generator/icestark.ts.html +4 -10
  192. package/coverage/src/generator/index.html +20 -20
  193. package/coverage/src/generator/index.ts.html +1 -1
  194. package/coverage/src/generator/microApp.ts.html +1 -1
  195. package/coverage/src/generator/permission.ts.html +20 -92
  196. package/coverage/src/generator/qiankun.ts.html +3 -9
  197. package/coverage/src/generator/styleReplacer.ts.html +1 -1
  198. package/coverage/src/index.html +1 -1
  199. package/coverage/src/index.ts.html +7 -4
  200. package/coverage/src/manager/diagnostic.ts.html +14 -11
  201. package/coverage/src/manager/index.html +13 -13
  202. package/coverage/src/manager/stepRecorder.ts.html +1 -1
  203. package/coverage/src/natural/genNaturalTS.ts.html +1 -1
  204. package/coverage/src/natural/index.html +1 -1
  205. package/coverage/src/natural/index.ts.html +1 -1
  206. package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
  207. package/coverage/src/natural/transformTSCode.ts.html +1 -1
  208. package/coverage/src/sentry/index.html +14 -14
  209. package/coverage/src/sentry/index.ts.html +32 -38
  210. package/coverage/src/server/createUiTs.ts.html +1 -1
  211. package/coverage/src/server/entity2LogicNamespace.ts.html +1 -1
  212. package/coverage/src/server/event.js.html +1 -1
  213. package/coverage/src/server/extendBaseNode.ts.html +4 -7
  214. package/coverage/src/server/formatTsUtils.ts.html +2 -2
  215. package/coverage/src/server/getConnector.ts.html +1 -1
  216. package/coverage/src/server/getExtensionModules.ts.html +1 -1
  217. package/coverage/src/server/getFunctions.ts.html +4 -4
  218. package/coverage/src/server/getInterfaces.ts.html +1 -1
  219. package/coverage/src/server/getLogging.ts.html +2 -2
  220. package/coverage/src/server/getLogics.ts.html +1 -1
  221. package/coverage/src/server/getMemberIdentifier.ts.html +128 -131
  222. package/coverage/src/server/getProcessComponents.ts.html +3 -3
  223. package/coverage/src/server/getProcesses.ts.html +1 -1
  224. package/coverage/src/server/getValidates.ts.html +4 -4
  225. package/coverage/src/server/index.html +26 -26
  226. package/coverage/src/server/index.ts.html +1 -1
  227. package/coverage/src/server/naslServer.ts.html +880 -1177
  228. package/coverage/src/server/naslStdlibMap.ts.html +1 -1
  229. package/coverage/src/server/process2LogicNamespace.ts.html +52 -52
  230. package/coverage/src/server/translator.ts.html +14 -50
  231. package/coverage/src/service/creator/add.configs.js.html +2 -2
  232. package/coverage/src/service/creator/errHandles.js.html +1 -1
  233. package/coverage/src/service/creator/index.html +1 -1
  234. package/coverage/src/service/creator/index.js.html +1 -1
  235. package/coverage/src/service/datasource/api.js.html +1 -1
  236. package/coverage/src/service/datasource/index.html +1 -1
  237. package/coverage/src/service/datasource/index.js.html +1 -1
  238. package/coverage/src/service/logic/api.js.html +1 -1
  239. package/coverage/src/service/logic/index.html +1 -1
  240. package/coverage/src/service/logic/index.js.html +1 -1
  241. package/coverage/src/service/storage/api.js.html +1 -1
  242. package/coverage/src/service/storage/index.html +27 -27
  243. package/coverage/src/service/storage/index.ts.html +1 -1
  244. package/coverage/src/service/storage/init.ts.html +137 -110
  245. package/coverage/src/service/storage/jsoner.ts.html +13 -76
  246. package/coverage/src/service/storage/map.ts.html +3 -3
  247. package/coverage/src/service/storage/service.ts.html +1 -1
  248. package/coverage/src/service/storage/storagePoint.ts.html +1 -1
  249. package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
  250. package/coverage/src/templator/genCreateBlock.ts.html +56 -47
  251. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +31 -49
  252. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +89 -80
  253. package/coverage/src/templator/genEditTableBlock.ts.html +9 -12
  254. package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
  255. package/coverage/src/templator/genGetBlock.ts.html +1 -1
  256. package/coverage/src/templator/genGridViewBlock.ts.html +1 -1
  257. package/coverage/src/templator/genListViewBlock.ts.html +1 -1
  258. package/coverage/src/templator/genQueryComponent.ts.html +1 -1
  259. package/coverage/src/templator/genSelectBlock.ts.html +1 -1
  260. package/coverage/src/templator/genTableBlock.ts.html +1 -1
  261. package/coverage/src/templator/genUpdateBlock.ts.html +36 -48
  262. package/coverage/src/templator/index.html +39 -39
  263. package/coverage/src/templator/index.ts.html +1 -1
  264. package/coverage/src/templator/utils.ts.html +11 -77
  265. package/coverage/src/translator/constant.ts.html +1 -1
  266. package/coverage/src/translator/index.html +21 -21
  267. package/coverage/src/translator/index.ts.html +1 -1
  268. package/coverage/src/translator/utils.ts.html +68 -389
  269. package/coverage/src/utils/cookie.ts.html +4 -4
  270. package/coverage/src/utils/env.ts.html +1 -1
  271. package/coverage/src/utils/index.html +41 -26
  272. package/coverage/src/utils/index.ts.html +9 -63
  273. package/coverage/src/utils/logger.ts.html +13 -13
  274. package/coverage/src/utils/sortTsString.ts.html +10 -25
  275. package/coverage/src/utils/string.ts.html +8 -110
  276. package/coverage/src/utils/time-slicing.ts.html +1 -1
  277. package/coverage/src/utils/traverse.ts.html +1 -1
  278. package/coverage/src/utils/window.ts.html +1 -1
  279. package/out/common/Command.js +1 -1
  280. package/out/common/Command.js.map +1 -1
  281. package/out/concepts/Match__.js +1 -1
  282. package/out/concepts/Match__.js.map +1 -1
  283. package/out/concepts/View__.js +2 -2
  284. package/out/concepts/View__.js.map +1 -1
  285. package/package.json +1 -1
  286. package/src/common/Command.ts +1 -1
  287. package/src/concepts/Match__.ts +1 -1
  288. package/src/concepts/View__.ts +5 -5
  289. package/.nyc_output/processinfo/78804420-ead6-486f-b682-ab54ccd95dc9.json +0 -1
  290. package/coverage/cobertura-coverage.xml +0 -71878
  291. package/coverage/src/automate/engine/index.js.html +0 -1471
  292. package/coverage/src/automate/engine/operators.js.html +0 -862
  293. package/coverage/src/automate/engine/uniqueName.js.html +0 -412
  294. package/coverage/src/automate/engine/viewCache.js.html +0 -214
  295. package/coverage/src/automate/template/index.html +0 -116
  296. package/coverage/src/automate/template/myProcess.js.html +0 -34645
  297. package/coverage/src/common/utils.ts.html +0 -136
  298. package/coverage/src/concepts/DataElement__.ts.html +0 -118
  299. package/coverage/src/concepts/MetadataType__.ts.html +0 -2053
  300. package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
  301. package/coverage/src/utils/time-slicing/index.html +0 -236
  302. package/coverage/src/utils/time-slicing/index.ts.html +0 -103
  303. package/coverage/src/utils/time-slicing/page-state.ts.html +0 -121
  304. package/coverage/src/utils/time-slicing/performance.ts.html +0 -253
  305. package/coverage/src/utils/time-slicing/runner.ts.html +0 -247
  306. package/coverage/src/utils/time-slicing/tool.ts.html +0 -220
  307. package/coverage/src/utils/time-slicing/utils.ts.html +0 -355
  308. package/coverage/src/utils/time-slicing/wrapper.ts.html +0 -259
  309. package/coverage/src/utils/time.ts.html +0 -118
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">15.36% </span>
26
+ <span class="strong">15.93% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>110/716</span>
28
+ <span class='fraction'>109/684</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">7.44% </span>
33
+ <span class="strong">8.22% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>25/336</span>
35
+ <span class='fraction'>26/316</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">9.84% </span>
40
+ <span class="strong">10% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>13/132</span>
42
+ <span class='fraction'>13/130</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">14.98% </span>
47
+ <span class="strong">15.47% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>98/654</span>
49
+ <span class='fraction'>97/627</span>
50
50
  </div>
51
51
 
52
52
 
@@ -1623,56 +1623,7 @@
1623
1623
  <a name='L1558'></a><a href='#L1558'>1558</a>
1624
1624
  <a name='L1559'></a><a href='#L1559'>1559</a>
1625
1625
  <a name='L1560'></a><a href='#L1560'>1560</a>
1626
- <a name='L1561'></a><a href='#L1561'>1561</a>
1627
- <a name='L1562'></a><a href='#L1562'>1562</a>
1628
- <a name='L1563'></a><a href='#L1563'>1563</a>
1629
- <a name='L1564'></a><a href='#L1564'>1564</a>
1630
- <a name='L1565'></a><a href='#L1565'>1565</a>
1631
- <a name='L1566'></a><a href='#L1566'>1566</a>
1632
- <a name='L1567'></a><a href='#L1567'>1567</a>
1633
- <a name='L1568'></a><a href='#L1568'>1568</a>
1634
- <a name='L1569'></a><a href='#L1569'>1569</a>
1635
- <a name='L1570'></a><a href='#L1570'>1570</a>
1636
- <a name='L1571'></a><a href='#L1571'>1571</a>
1637
- <a name='L1572'></a><a href='#L1572'>1572</a>
1638
- <a name='L1573'></a><a href='#L1573'>1573</a>
1639
- <a name='L1574'></a><a href='#L1574'>1574</a>
1640
- <a name='L1575'></a><a href='#L1575'>1575</a>
1641
- <a name='L1576'></a><a href='#L1576'>1576</a>
1642
- <a name='L1577'></a><a href='#L1577'>1577</a>
1643
- <a name='L1578'></a><a href='#L1578'>1578</a>
1644
- <a name='L1579'></a><a href='#L1579'>1579</a>
1645
- <a name='L1580'></a><a href='#L1580'>1580</a>
1646
- <a name='L1581'></a><a href='#L1581'>1581</a>
1647
- <a name='L1582'></a><a href='#L1582'>1582</a>
1648
- <a name='L1583'></a><a href='#L1583'>1583</a>
1649
- <a name='L1584'></a><a href='#L1584'>1584</a>
1650
- <a name='L1585'></a><a href='#L1585'>1585</a>
1651
- <a name='L1586'></a><a href='#L1586'>1586</a>
1652
- <a name='L1587'></a><a href='#L1587'>1587</a>
1653
- <a name='L1588'></a><a href='#L1588'>1588</a>
1654
- <a name='L1589'></a><a href='#L1589'>1589</a>
1655
- <a name='L1590'></a><a href='#L1590'>1590</a>
1656
- <a name='L1591'></a><a href='#L1591'>1591</a>
1657
- <a name='L1592'></a><a href='#L1592'>1592</a>
1658
- <a name='L1593'></a><a href='#L1593'>1593</a>
1659
- <a name='L1594'></a><a href='#L1594'>1594</a>
1660
- <a name='L1595'></a><a href='#L1595'>1595</a>
1661
- <a name='L1596'></a><a href='#L1596'>1596</a>
1662
- <a name='L1597'></a><a href='#L1597'>1597</a>
1663
- <a name='L1598'></a><a href='#L1598'>1598</a>
1664
- <a name='L1599'></a><a href='#L1599'>1599</a>
1665
- <a name='L1600'></a><a href='#L1600'>1600</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1666
- <span class="cline-any cline-yes">1x</span>
1667
- <span class="cline-any cline-neutral">&nbsp;</span>
1668
- <span class="cline-any cline-neutral">&nbsp;</span>
1669
- <span class="cline-any cline-neutral">&nbsp;</span>
1670
- <span class="cline-any cline-neutral">&nbsp;</span>
1671
- <span class="cline-any cline-neutral">&nbsp;</span>
1672
- <span class="cline-any cline-neutral">&nbsp;</span>
1673
- <span class="cline-any cline-neutral">&nbsp;</span>
1674
- <span class="cline-any cline-neutral">&nbsp;</span>
1675
- <span class="cline-any cline-neutral">&nbsp;</span>
1626
+ <a name='L1561'></a><a href='#L1561'>1561</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1676
1627
  <span class="cline-any cline-neutral">&nbsp;</span>
1677
1628
  <span class="cline-any cline-neutral">&nbsp;</span>
1678
1629
  <span class="cline-any cline-yes">1x</span>
@@ -1718,24 +1669,38 @@
1718
1669
  <span class="cline-any cline-neutral">&nbsp;</span>
1719
1670
  <span class="cline-any cline-neutral">&nbsp;</span>
1720
1671
  <span class="cline-any cline-neutral">&nbsp;</span>
1672
+ <span class="cline-any cline-neutral">&nbsp;</span>
1673
+ <span class="cline-any cline-neutral">&nbsp;</span>
1721
1674
  <span class="cline-any cline-yes">1x</span>
1722
1675
  <span class="cline-any cline-neutral">&nbsp;</span>
1723
1676
  <span class="cline-any cline-neutral">&nbsp;</span>
1724
1677
  <span class="cline-any cline-neutral">&nbsp;</span>
1725
1678
  <span class="cline-any cline-neutral">&nbsp;</span>
1726
1679
  <span class="cline-any cline-neutral">&nbsp;</span>
1680
+ <span class="cline-any cline-neutral">&nbsp;</span>
1681
+ <span class="cline-any cline-neutral">&nbsp;</span>
1682
+ <span class="cline-any cline-neutral">&nbsp;</span>
1683
+ <span class="cline-any cline-neutral">&nbsp;</span>
1727
1684
  <span class="cline-any cline-yes">5x</span>
1728
1685
  <span class="cline-any cline-neutral">&nbsp;</span>
1729
1686
  <span class="cline-any cline-neutral">&nbsp;</span>
1730
1687
  <span class="cline-any cline-neutral">&nbsp;</span>
1731
1688
  <span class="cline-any cline-neutral">&nbsp;</span>
1732
1689
  <span class="cline-any cline-neutral">&nbsp;</span>
1690
+ <span class="cline-any cline-neutral">&nbsp;</span>
1691
+ <span class="cline-any cline-neutral">&nbsp;</span>
1692
+ <span class="cline-any cline-neutral">&nbsp;</span>
1693
+ <span class="cline-any cline-neutral">&nbsp;</span>
1733
1694
  <span class="cline-any cline-yes">5x</span>
1734
1695
  <span class="cline-any cline-neutral">&nbsp;</span>
1735
1696
  <span class="cline-any cline-neutral">&nbsp;</span>
1736
1697
  <span class="cline-any cline-neutral">&nbsp;</span>
1737
1698
  <span class="cline-any cline-neutral">&nbsp;</span>
1738
1699
  <span class="cline-any cline-neutral">&nbsp;</span>
1700
+ <span class="cline-any cline-neutral">&nbsp;</span>
1701
+ <span class="cline-any cline-neutral">&nbsp;</span>
1702
+ <span class="cline-any cline-neutral">&nbsp;</span>
1703
+ <span class="cline-any cline-neutral">&nbsp;</span>
1739
1704
  <span class="cline-any cline-yes">5x</span>
1740
1705
  <span class="cline-any cline-neutral">&nbsp;</span>
1741
1706
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2358,18 +2323,14 @@
2358
2323
  <span class="cline-any cline-neutral">&nbsp;</span>
2359
2324
  <span class="cline-any cline-no">&nbsp;</span>
2360
2325
  <span class="cline-any cline-no">&nbsp;</span>
2361
- <span class="cline-any cline-neutral">&nbsp;</span>
2362
- <span class="cline-any cline-no">&nbsp;</span>
2363
2326
  <span class="cline-any cline-no">&nbsp;</span>
2364
2327
  <span class="cline-any cline-no">&nbsp;</span>
2365
- <span class="cline-any cline-neutral">&nbsp;</span>
2366
2328
  <span class="cline-any cline-no">&nbsp;</span>
2367
2329
  <span class="cline-any cline-no">&nbsp;</span>
2368
2330
  <span class="cline-any cline-no">&nbsp;</span>
2369
2331
  <span class="cline-any cline-no">&nbsp;</span>
2370
2332
  <span class="cline-any cline-neutral">&nbsp;</span>
2371
2333
  <span class="cline-any cline-neutral">&nbsp;</span>
2372
- <span class="cline-any cline-neutral">&nbsp;</span>
2373
2334
  <span class="cline-any cline-no">&nbsp;</span>
2374
2335
  <span class="cline-any cline-neutral">&nbsp;</span>
2375
2336
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2414,18 +2375,14 @@
2414
2375
  <span class="cline-any cline-neutral">&nbsp;</span>
2415
2376
  <span class="cline-any cline-no">&nbsp;</span>
2416
2377
  <span class="cline-any cline-no">&nbsp;</span>
2417
- <span class="cline-any cline-neutral">&nbsp;</span>
2418
2378
  <span class="cline-any cline-no">&nbsp;</span>
2419
2379
  <span class="cline-any cline-no">&nbsp;</span>
2420
2380
  <span class="cline-any cline-no">&nbsp;</span>
2421
- <span class="cline-any cline-neutral">&nbsp;</span>
2422
- <span class="cline-any cline-no">&nbsp;</span>
2423
2381
  <span class="cline-any cline-no">&nbsp;</span>
2424
2382
  <span class="cline-any cline-no">&nbsp;</span>
2425
2383
  <span class="cline-any cline-no">&nbsp;</span>
2426
2384
  <span class="cline-any cline-neutral">&nbsp;</span>
2427
2385
  <span class="cline-any cline-neutral">&nbsp;</span>
2428
- <span class="cline-any cline-neutral">&nbsp;</span>
2429
2386
  <span class="cline-any cline-no">&nbsp;</span>
2430
2387
  <span class="cline-any cline-neutral">&nbsp;</span>
2431
2388
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2470,16 +2427,12 @@
2470
2427
  <span class="cline-any cline-neutral">&nbsp;</span>
2471
2428
  <span class="cline-any cline-no">&nbsp;</span>
2472
2429
  <span class="cline-any cline-no">&nbsp;</span>
2473
- <span class="cline-any cline-neutral">&nbsp;</span>
2474
2430
  <span class="cline-any cline-no">&nbsp;</span>
2475
2431
  <span class="cline-any cline-no">&nbsp;</span>
2476
2432
  <span class="cline-any cline-no">&nbsp;</span>
2477
- <span class="cline-any cline-neutral">&nbsp;</span>
2478
2433
  <span class="cline-any cline-no">&nbsp;</span>
2479
2434
  <span class="cline-any cline-no">&nbsp;</span>
2480
2435
  <span class="cline-any cline-no">&nbsp;</span>
2481
- <span class="cline-any cline-no">&nbsp;</span>
2482
- <span class="cline-any cline-neutral">&nbsp;</span>
2483
2436
  <span class="cline-any cline-neutral">&nbsp;</span>
2484
2437
  <span class="cline-any cline-neutral">&nbsp;</span>
2485
2438
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2526,16 +2479,12 @@
2526
2479
  <span class="cline-any cline-neutral">&nbsp;</span>
2527
2480
  <span class="cline-any cline-no">&nbsp;</span>
2528
2481
  <span class="cline-any cline-no">&nbsp;</span>
2529
- <span class="cline-any cline-neutral">&nbsp;</span>
2530
2482
  <span class="cline-any cline-no">&nbsp;</span>
2531
2483
  <span class="cline-any cline-no">&nbsp;</span>
2532
2484
  <span class="cline-any cline-no">&nbsp;</span>
2533
- <span class="cline-any cline-neutral">&nbsp;</span>
2534
2485
  <span class="cline-any cline-no">&nbsp;</span>
2535
2486
  <span class="cline-any cline-no">&nbsp;</span>
2536
2487
  <span class="cline-any cline-no">&nbsp;</span>
2537
- <span class="cline-any cline-no">&nbsp;</span>
2538
- <span class="cline-any cline-neutral">&nbsp;</span>
2539
2488
  <span class="cline-any cline-neutral">&nbsp;</span>
2540
2489
  <span class="cline-any cline-neutral">&nbsp;</span>
2541
2490
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2787,11 +2736,9 @@
2787
2736
  <span class="cline-any cline-no">&nbsp;</span>
2788
2737
  <span class="cline-any cline-no">&nbsp;</span>
2789
2738
  <span class="cline-any cline-no">&nbsp;</span>
2790
- <span class="cline-any cline-neutral">&nbsp;</span>
2791
2739
  <span class="cline-any cline-no">&nbsp;</span>
2792
2740
  <span class="cline-any cline-no">&nbsp;</span>
2793
2741
  <span class="cline-any cline-no">&nbsp;</span>
2794
- <span class="cline-any cline-neutral">&nbsp;</span>
2795
2742
  <span class="cline-any cline-no">&nbsp;</span>
2796
2743
  <span class="cline-any cline-neutral">&nbsp;</span>
2797
2744
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2799,32 +2746,10 @@
2799
2746
  <span class="cline-any cline-no">&nbsp;</span>
2800
2747
  <span class="cline-any cline-no">&nbsp;</span>
2801
2748
  <span class="cline-any cline-neutral">&nbsp;</span>
2802
- <span class="cline-any cline-neutral">&nbsp;</span>
2803
- <span class="cline-any cline-no">&nbsp;</span>
2804
2749
  <span class="cline-any cline-no">&nbsp;</span>
2805
2750
  <span class="cline-any cline-no">&nbsp;</span>
2806
2751
  <span class="cline-any cline-no">&nbsp;</span>
2807
2752
  <span class="cline-any cline-neutral">&nbsp;</span>
2808
- <span class="cline-any cline-no">&nbsp;</span>
2809
- <span class="cline-any cline-no">&nbsp;</span>
2810
- <span class="cline-any cline-no">&nbsp;</span>
2811
- <span class="cline-any cline-neutral">&nbsp;</span>
2812
- <span class="cline-any cline-no">&nbsp;</span>
2813
- <span class="cline-any cline-neutral">&nbsp;</span>
2814
- <span class="cline-any cline-no">&nbsp;</span>
2815
- <span class="cline-any cline-no">&nbsp;</span>
2816
- <span class="cline-any cline-no">&nbsp;</span>
2817
- <span class="cline-any cline-neutral">&nbsp;</span>
2818
- <span class="cline-any cline-no">&nbsp;</span>
2819
- <span class="cline-any cline-no">&nbsp;</span>
2820
- <span class="cline-any cline-no">&nbsp;</span>
2821
- <span class="cline-any cline-no">&nbsp;</span>
2822
- <span class="cline-any cline-neutral">&nbsp;</span>
2823
- <span class="cline-any cline-no">&nbsp;</span>
2824
- <span class="cline-any cline-no">&nbsp;</span>
2825
- <span class="cline-any cline-no">&nbsp;</span>
2826
- <span class="cline-any cline-neutral">&nbsp;</span>
2827
- <span class="cline-any cline-no">&nbsp;</span>
2828
2753
  <span class="cline-any cline-neutral">&nbsp;</span>
2829
2754
  <span class="cline-any cline-no">&nbsp;</span>
2830
2755
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2837,6 +2762,10 @@
2837
2762
  <span class="cline-any cline-yes">2x</span>
2838
2763
  <span class="cline-any cline-neutral">&nbsp;</span>
2839
2764
  <span class="cline-any cline-yes">2x</span>
2765
+ <span class="cline-any cline-no">&nbsp;</span>
2766
+ <span class="cline-any cline-neutral">&nbsp;</span>
2767
+ <span class="cline-any cline-yes">2x</span>
2768
+ <span class="cline-any cline-neutral">&nbsp;</span>
2840
2769
  <span class="cline-any cline-yes">2x</span>
2841
2770
  <span class="cline-any cline-no">&nbsp;</span>
2842
2771
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2847,7 +2776,6 @@
2847
2776
  <span class="cline-any cline-yes">2x</span>
2848
2777
  <span class="cline-any cline-yes">2x</span>
2849
2778
  <span class="cline-any cline-neutral">&nbsp;</span>
2850
- <span class="cline-any cline-neutral">&nbsp;</span>
2851
2779
  <span class="cline-any cline-yes">2x</span>
2852
2780
  <span class="cline-any cline-yes">2x</span>
2853
2781
  <span class="cline-any cline-yes">6x</span>
@@ -2910,7 +2838,6 @@
2910
2838
  <span class="cline-any cline-yes">3x</span>
2911
2839
  <span class="cline-any cline-yes">3x</span>
2912
2840
  <span class="cline-any cline-yes">3x</span>
2913
- <span class="cline-any cline-yes">3x</span>
2914
2841
  <span class="cline-any cline-no">&nbsp;</span>
2915
2842
  <span class="cline-any cline-yes">3x</span>
2916
2843
  <span class="cline-any cline-yes">3x</span>
@@ -2992,6 +2919,7 @@
2992
2919
  <span class="cline-any cline-neutral">&nbsp;</span>
2993
2920
  <span class="cline-any cline-yes">3x</span>
2994
2921
  <span class="cline-any cline-yes">3x</span>
2922
+ <span class="cline-any cline-neutral">&nbsp;</span>
2995
2923
  <span class="cline-any cline-yes">3x</span>
2996
2924
  <span class="cline-any cline-yes">3x</span>
2997
2925
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3042,16 +2970,10 @@
3042
2970
  <span class="cline-any cline-no">&nbsp;</span>
3043
2971
  <span class="cline-any cline-no">&nbsp;</span>
3044
2972
  <span class="cline-any cline-no">&nbsp;</span>
3045
- <span class="cline-any cline-no">&nbsp;</span>
3046
- <span class="cline-any cline-no">&nbsp;</span>
3047
- <span class="cline-any cline-no">&nbsp;</span>
3048
2973
  <span class="cline-any cline-neutral">&nbsp;</span>
3049
- <span class="cline-any cline-no">&nbsp;</span>
3050
2974
  <span class="cline-any cline-neutral">&nbsp;</span>
3051
2975
  <span class="cline-any cline-no">&nbsp;</span>
3052
2976
  <span class="cline-any cline-no">&nbsp;</span>
3053
- <span class="cline-any cline-neutral">&nbsp;</span>
3054
- <span class="cline-any cline-no">&nbsp;</span>
3055
2977
  <span class="cline-any cline-no">&nbsp;</span>
3056
2978
  <span class="cline-any cline-no">&nbsp;</span>
3057
2979
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3069,7 +2991,9 @@
3069
2991
  <span class="cline-any cline-neutral">&nbsp;</span>
3070
2992
  <span class="cline-any cline-no">&nbsp;</span>
3071
2993
  <span class="cline-any cline-no">&nbsp;</span>
2994
+ <span class="cline-any cline-neutral">&nbsp;</span>
3072
2995
  <span class="cline-any cline-no">&nbsp;</span>
2996
+ <span class="cline-any cline-neutral">&nbsp;</span>
3073
2997
  <span class="cline-any cline-no">&nbsp;</span>
3074
2998
  <span class="cline-any cline-no">&nbsp;</span>
3075
2999
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3080,9 +3004,6 @@
3080
3004
  <span class="cline-any cline-yes">1x</span>
3081
3005
  <span class="cline-any cline-no">&nbsp;</span>
3082
3006
  <span class="cline-any cline-no">&nbsp;</span>
3083
- <span class="cline-any cline-neutral">&nbsp;</span>
3084
- <span class="cline-any cline-neutral">&nbsp;</span>
3085
- <span class="cline-any cline-neutral">&nbsp;</span>
3086
3007
  <span class="cline-any cline-no">&nbsp;</span>
3087
3008
  <span class="cline-any cline-no">&nbsp;</span>
3088
3009
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3108,7 +3029,6 @@
3108
3029
  <span class="cline-any cline-no">&nbsp;</span>
3109
3030
  <span class="cline-any cline-no">&nbsp;</span>
3110
3031
  <span class="cline-any cline-no">&nbsp;</span>
3111
- <span class="cline-any cline-no">&nbsp;</span>
3112
3032
  <span class="cline-any cline-neutral">&nbsp;</span>
3113
3033
  <span class="cline-any cline-no">&nbsp;</span>
3114
3034
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3122,8 +3042,6 @@
3122
3042
  <span class="cline-any cline-no">&nbsp;</span>
3123
3043
  <span class="cline-any cline-no">&nbsp;</span>
3124
3044
  <span class="cline-any cline-no">&nbsp;</span>
3125
- <span class="cline-any cline-no">&nbsp;</span>
3126
- <span class="cline-any cline-neutral">&nbsp;</span>
3127
3045
  <span class="cline-any cline-neutral">&nbsp;</span>
3128
3046
  <span class="cline-any cline-neutral">&nbsp;</span>
3129
3047
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3178,6 +3096,9 @@
3178
3096
  <span class="cline-any cline-neutral">&nbsp;</span>
3179
3097
  <span class="cline-any cline-neutral">&nbsp;</span>
3180
3098
  <span class="cline-any cline-neutral">&nbsp;</span>
3099
+ <span class="cline-any cline-neutral">&nbsp;</span>
3100
+ <span class="cline-any cline-neutral">&nbsp;</span>
3101
+ <span class="cline-any cline-neutral">&nbsp;</span>
3181
3102
  <span class="cline-any cline-no">&nbsp;</span>
3182
3103
  <span class="cline-any cline-no">&nbsp;</span>
3183
3104
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3197,6 +3118,7 @@
3197
3118
  <span class="cline-any cline-neutral">&nbsp;</span>
3198
3119
  <span class="cline-any cline-no">&nbsp;</span>
3199
3120
  <span class="cline-any cline-no">&nbsp;</span>
3121
+ <span class="cline-any cline-neutral">&nbsp;</span>
3200
3122
  <span class="cline-any cline-no">&nbsp;</span>
3201
3123
  <span class="cline-any cline-no">&nbsp;</span>
3202
3124
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3261,17 +3183,7 @@
3261
3183
  <span class="cline-any cline-neutral">&nbsp;</span>
3262
3184
  <span class="cline-any cline-neutral">&nbsp;</span>
3263
3185
  <span class="cline-any cline-neutral">&nbsp;</span>
3264
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
3265
- import {
3266
- TranslatorState,
3267
- shiftState,
3268
- withSourceMap,
3269
- indent,
3270
- createCompilerState,
3271
- withSourceMapGenerator,
3272
- withGenerator,
3273
- TranslatorGenerator,
3274
- } from '../translator';
3186
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
3275
3187
  import { ElementToVueOptions } from './ViewElement__';
3276
3188
  import MemberExpression from './MemberExpression__';
3277
3189
  import StructureProperty from './StructureProperty__';
@@ -3315,26 +3227,40 @@ export class NewComposite extends LogicItem {
3315
3227
  /**
3316
3228
  * 类型
3317
3229
  */
3318
- @property('TypeAnnotation')
3230
+ @property({
3231
+ objectRef: 'TypeAnnotation',
3232
+ })
3319
3233
  // @ts-ignore
3320
3234
  typeAnnotation!: TypeAnnotation;
3321
3235
  &nbsp;
3322
3236
  /**
3323
3237
  * 左边项
3324
3238
  */
3325
- @property('Identifier')
3239
+ @property({
3240
+ objectRef: 'Identifier',
3241
+ isArray: true,
3242
+ defaultValue: [],
3243
+ })
3326
3244
  properties: Array&lt;Identifier&gt; = [];
3327
3245
  &nbsp;
3328
3246
  /**
3329
3247
  * 右边项
3330
3248
  */
3331
- @property('SelectMembers')
3249
+ @property({
3250
+ objectRef: 'SelectMembers',
3251
+ isArray: true,
3252
+ defaultValue: [],
3253
+ })
3332
3254
  rights: Array&lt;SelectMembers&gt; = [];
3333
3255
  &nbsp;
3334
3256
  /**
3335
3257
  * 赋值线
3336
3258
  */
3337
- @property('AssignmentLine')
3259
+ @property({
3260
+ objectRef: 'AssignmentLine',
3261
+ isArray: true,
3262
+ defaultValue: [],
3263
+ })
3338
3264
  assignmentLines: Array&lt;AssignmentLine&gt; = [];
3339
3265
  &nbsp;
3340
3266
  /**
@@ -3457,7 +3383,7 @@ export class NewComposite extends LogicItem {
3457
3383
  &nbsp;
3458
3384
  <span class="fstat-no" title="function not covered" > getIdentifierExistingNames(</span>excludedList: Array&lt;Identifier&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
3459
3385
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
3460
- <span class="cstat-no" title="statement not covered" > return ((this.properties as Identifier[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.name)</span>;</span>
3386
+ <span class="cstat-no" title="statement not covered" > return ((this.properties as Identifier[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name)</span>;</span>
3461
3387
  }
3462
3388
  <span class="fstat-no" title="function not covered" > getIdentifierUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'identifier1')</span> {
3463
3389
  <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getIdentifierExistingNames(), undefined, false);</span>
@@ -3610,7 +3536,7 @@ export class NewComposite extends LogicItem {
3610
3536
  &nbsp;
3611
3537
  <span class="fstat-no" title="function not covered" > getSelectMembersExistingNames(</span>excludedList: Array&lt;SelectMembers&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
3612
3538
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
3613
- <span class="cstat-no" title="statement not covered" > return ((this.rights as SelectMembers[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.name)</span>;</span>
3539
+ <span class="cstat-no" title="statement not covered" > return ((this.rights as SelectMembers[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name)</span>;</span>
3614
3540
  }
3615
3541
  <span class="fstat-no" title="function not covered" > getSelectMembersUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'selectMembers1')</span> {
3616
3542
  <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getSelectMembersExistingNames(), undefined, false);</span>
@@ -3765,7 +3691,7 @@ export class NewComposite extends LogicItem {
3765
3691
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
3766
3692
  <span class="cstat-no" title="statement not covered" > return ((this.assignmentLines as AssignmentLine[]) || [])</span>
3767
3693
  .filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>
3768
- .map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.name)</span>;
3694
+ .map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name)</span>;
3769
3695
  }
3770
3696
  <span class="fstat-no" title="function not covered" > getAssignmentLineUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'assignmentLine1')</span> {
3771
3697
  <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getAssignmentLineExistingNames(), undefined, false);</span>
@@ -3957,16 +3883,12 @@ export class NewComposite extends LogicItem {
3957
3883
  // @ts-ignore
3958
3884
  const n = <span class="cstat-no" title="statement not covered" >typeAnnotation.__v_raw || typeAnnotation;</span>
3959
3885
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
3960
- // @ts-ignore
3961
- const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
3886
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
3962
3887
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
3963
3888
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
3964
- } else {
3965
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
3966
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
3967
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
3968
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
3969
- }
3889
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
3890
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
3891
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
3970
3892
  }
3971
3893
  }
3972
3894
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -4013,16 +3935,12 @@ export class NewComposite extends LogicItem {
4013
3935
  // @ts-ignore
4014
3936
  const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
4015
3937
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
4016
- // @ts-ignore
4017
- const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
3938
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
4018
3939
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
4019
3940
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
4020
- } else {
4021
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
4022
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
4023
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
4024
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
4025
- }
3941
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
3942
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
3943
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
4026
3944
  }
4027
3945
  }
4028
3946
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -4069,16 +3987,12 @@ export class NewComposite extends LogicItem {
4069
3987
  // @ts-ignore
4070
3988
  const n = <span class="cstat-no" title="statement not covered" >selectMembers.__v_raw || selectMembers;</span>
4071
3989
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
4072
- // @ts-ignore
4073
- const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
3990
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
4074
3991
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
4075
3992
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
4076
- } else {
4077
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
4078
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
4079
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
4080
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
4081
- }
3993
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
3994
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
3995
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
4082
3996
  }
4083
3997
  }
4084
3998
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -4125,16 +4039,12 @@ export class NewComposite extends LogicItem {
4125
4039
  // @ts-ignore
4126
4040
  const n = <span class="cstat-no" title="statement not covered" >assignmentLine.__v_raw || assignmentLine;</span>
4127
4041
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
4128
- // @ts-ignore
4129
- const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
4042
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
4130
4043
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
4131
4044
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
4132
- } else {
4133
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
4134
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
4135
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
4136
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
4137
- }
4045
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
4046
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
4047
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
4138
4048
  }
4139
4049
  }
4140
4050
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -4198,7 +4108,7 @@ export class NewComposite extends LogicItem {
4198
4108
  }
4199
4109
  <span class="cstat-no" title="statement not covered" > members.forEach(<span class="fstat-no" title="function not covered" >(r</span>ightMember: any, rightSecondIndex: number) =&gt; {</span>
4200
4110
  const rightName = <span class="cstat-no" title="statement not covered" >rightMember.property.name;</span>
4201
- <span class="cstat-no" title="statement not covered" > if (rightLineSet.has(rightSecondIndex) || leftLineSet.has(leftSecondIndex)) <span class="cstat-no" title="statement not covered" >return;</span></span>
4111
+ <span class="cstat-no" title="statement not covered" > if (rightLineSet.has(rightSecondIndex)) <span class="cstat-no" title="statement not covered" >return;</span></span>
4202
4112
  &nbsp;
4203
4113
  <span class="cstat-no" title="statement not covered" > if (leftName === rightName) {</span>
4204
4114
  const rightTypeAnnotation = <span class="cstat-no" title="statement not covered" >rightMember.__TypeAnnotation;</span>
@@ -4366,7 +4276,7 @@ export class NewComposite extends LogicItem {
4366
4276
  <span class="cstat-no" title="statement not covered" > return lines;</span>
4367
4277
  }
4368
4278
  &nbsp;
4369
- <span class="fstat-no" title="function not covered" > findMember(</span>arrIndex: Array&lt;number&gt;, place: string) {
4279
+ <span class="fstat-no" title="function not covered" > findMember(</span>arrIndex: Array&lt;number&gt;, place?: string) {
4370
4280
  const [firstIndex, secondIndex] = <span class="cstat-no" title="statement not covered" >[arrIndex[0], arrIndex[1]];</span>
4371
4281
  &nbsp;
4372
4282
  <span class="cstat-no" title="statement not covered" > if (place === 'left') {</span>
@@ -4382,50 +4292,26 @@ export class NewComposite extends LogicItem {
4382
4292
  }
4383
4293
  &nbsp;
4384
4294
  <span class="fstat-no" title="function not covered" > toUI(</span>state?: TranslatorState): string {
4385
- let code = <span class="cstat-no" title="statement not covered" >'';</span>
4386
- const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >this;</span>
4387
- const leftTopIndex = <span class="cstat-no" title="statement not covered" >this.assignmentLines.findIndex(<span class="fstat-no" title="function not covered" >({</span> leftIndex }) =&gt; <span class="cstat-no" title="statement not covered" >leftIndex[1] === undefined)</span>;</span>
4388
- <span class="cstat-no" title="statement not covered" > if (!this.typeAnnotation) <span class="cstat-no" title="statement not covered" >return null;</span></span>
4389
- &nbsp;
4390
- <span class="cstat-no" title="statement not covered" > code += 'await (async () =&gt; { \n';</span>
4391
- <span class="cstat-no" title="statement not covered" > if (leftTopIndex !== -1) {</span>
4392
- const { rightIndex } = <span class="cstat-no" title="statement not covered" >this.assignmentLines[leftTopIndex];</span>
4393
- const obj =
4394
- <span class="cstat-no" title="statement not covered" > rightIndex[1] !== undefined</span>
4395
- ? this.rights[rightIndex[0]].members[rightIndex[1]]
4396
- : this.rights[rightIndex[0]].expression;
4397
- <span class="cstat-no" title="statement not covered" > code += `return ${obj};\n`;</span>
4398
- } else <span class="cstat-no" title="statement not covered" >if (typeAnnotation.typeKind !== 'anonymousStructure') {</span>
4399
- <span class="cstat-no" title="statement not covered" > code += `const obj = this.$genInitFromSchema('${</span>
4400
- typeAnnotation.sortedTypeKey
4401
- }', this.$utils['New'](${typeAnnotation.toUI(shiftState(state, code, { inline: true }))}));\n`;
4402
- <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }, index) =&gt; {</span>
4403
- const leftSecondIndex = <span class="cstat-no" title="statement not covered" >leftIndex[1];</span>
4404
- const [rightFirst, rightSecond] = <span class="cstat-no" title="statement not covered" >[rightIndex[0], rightIndex[1]];</span>
4405
- const leftItem = <span class="cstat-no" title="statement not covered" >this.properties[leftSecondIndex];</span>
4406
- const rightItem =
4407
- <span class="cstat-no" title="statement not covered" > rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;</span>
4408
- <span class="cstat-no" title="statement not covered" > code += `obj.${leftItem.name} = ${rightItem.toUI(shiftState(state, code, { inline: true }))}`;</span>
4409
- <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
4410
- });
4411
- <span class="cstat-no" title="statement not covered" > code += 'return obj;\n';</span>
4412
- } else {
4413
- <span class="cstat-no" title="statement not covered" > code += `const obj = {};\n`;</span>
4414
- <span class="cstat-no" title="statement not covered" > this.properties.forEach(<span class="fstat-no" title="function not covered" >(p</span>roperty) =&gt; {</span>
4415
- <span class="cstat-no" title="statement not covered" > code += `obj.${property.name} = null;\n`;</span>
4295
+ let code = <span class="cstat-no" title="statement not covered" >'{ ';</span>
4296
+ <span class="cstat-no" title="statement not covered" > if (this.typeAnnotation) {</span>
4297
+ const leftAssignmentMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
4298
+ <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
4299
+ const rightItem = <span class="cstat-no" title="statement not covered" >this.findMember(rightIndex);</span>
4300
+ const leftItem = <span class="cstat-no" title="statement not covered" >this.findMember(leftIndex, 'left');</span>
4301
+ <span class="cstat-no" title="statement not covered" > if (!leftAssignmentMap.has(leftItem)) {</span>
4302
+ <span class="cstat-no" title="statement not covered" > leftAssignmentMap.set(leftItem, rightItem);</span>
4303
+ }
4416
4304
  });
4417
- <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }, index) =&gt; {</span>
4418
- const leftSecondIndex = <span class="cstat-no" title="statement not covered" >leftIndex[1];</span>
4419
- const [rightFirst, rightSecond] = <span class="cstat-no" title="statement not covered" >[rightIndex[0], rightIndex[1]];</span>
4420
- const leftItem = <span class="cstat-no" title="statement not covered" >this.properties[leftSecondIndex];</span>
4421
- const rightItem =
4422
- <span class="cstat-no" title="statement not covered" > rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;</span>
4423
- <span class="cstat-no" title="statement not covered" > code += `obj.${leftItem.name} = ${rightItem.toUI(shiftState(state, code, { inline: true }))}`;</span>
4424
- <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
4305
+ <span class="cstat-no" title="statement not covered" > this.properties.forEach(<span class="fstat-no" title="function not covered" >(l</span>eftItem, index) =&gt; {</span>
4306
+ <span class="cstat-no" title="statement not covered" > if (index) {</span>
4307
+ <span class="cstat-no" title="statement not covered" > code += ', ';</span>
4308
+ }
4309
+ const rightItem = <span class="cstat-no" title="statement not covered" >leftAssignmentMap.get(leftItem);</span>
4310
+ const value = <span class="cstat-no" title="statement not covered" >rightItem ? rightItem.toUI(shiftState(state, code)) : 'undefined';</span>
4311
+ <span class="cstat-no" title="statement not covered" > code += `${leftItem.name}: ${value}`;</span>
4425
4312
  });
4426
- <span class="cstat-no" title="statement not covered" > code += 'return obj;\n';</span>
4427
4313
  }
4428
- <span class="cstat-no" title="statement not covered" > code += '})()';</span>
4314
+ <span class="cstat-no" title="statement not covered" > code += ` }`;</span>
4429
4315
  <span class="cstat-no" title="statement not covered" > return code;</span>
4430
4316
  }
4431
4317
  &nbsp;
@@ -4435,7 +4321,11 @@ export class NewComposite extends LogicItem {
4435
4321
  const leftTopIndex = this.assignmentLines.findIndex(({ leftIndex }) =&gt; leftIndex[1] === undefined);
4436
4322
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.typeAnnotation) <span class="cstat-no" title="statement not covered" >return null;</span>
4437
4323
  &nbsp;
4438
- code += 'await (async () =&gt; { \n';
4324
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.getAncestor?.('DefaultValue')) {
4325
+ <span class="cstat-no" title="statement not covered" > code += '(() =&gt; { \n';</span>
4326
+ } else {
4327
+ code += 'await (async () =&gt; { \n';
4328
+ }
4439
4329
  <span class="missing-if-branch" title="if path not taken" >I</span>if (leftTopIndex !== -1) {
4440
4330
  const { rightIndex } = <span class="cstat-no" title="statement not covered" >this.assignmentLines[leftTopIndex];</span>
4441
4331
  const obj =
@@ -4444,9 +4334,8 @@ export class NewComposite extends LogicItem {
4444
4334
  : this.rights[rightIndex[0]].expression;
4445
4335
  <span class="cstat-no" title="statement not covered" > code += `return ${obj.toJS(shiftState(state, code, { inline: true }))};\n`;</span>
4446
4336
  } else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeAnnotation.typeKind !== 'anonymousStructure') {
4447
- code += `const obj = this.$genInitFromSchema('${
4448
- typeAnnotation.sortedTypeKey
4449
- }', this.$utils['New'](${typeAnnotation.toJS(shiftState(state, code, { inline: true }))}));\n`;
4337
+ code += `const obj = this.$genInitFromSchema('${typeAnnotation.sortedTypeKey
4338
+ }', this.$utils['New'](${typeAnnotation.toJS(shiftState(state, code, { inline: true }))}));\n`;
4450
4339
  const rightMap = new Map();
4451
4340
  this.assignmentLines.forEach(({ leftIndex, rightIndex }) =&gt; {
4452
4341
  const rightIndexJson = JSON.stringify(rightIndex);
@@ -4501,30 +4390,29 @@ export class NewComposite extends LogicItem {
4501
4390
  return code;
4502
4391
  }
4503
4392
  &nbsp;
4504
- @withSourceMapGenerator
4505
- *toEmbeddedTS(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: TranslatorGenerator {
4506
- const self = this;
4393
+ @withSourceMap()
4394
+ toEmbeddedTS(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
4507
4395
  const indent0 = indent(state?.tabSize || 0);
4508
4396
  const indent1 = indent((state?.tabSize || 0) + 1);
4509
4397
  const indent2 = indent((state?.tabSize || 0) + 2);
4510
4398
  const indent3 = indent((state?.tabSize || 0) + 3);
4511
4399
  let code = '';
4512
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!self.typeAnnotation) {
4400
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.typeAnnotation) {
4513
4401
  <span class="cstat-no" title="statement not covered" > code += '__IDENTIFIER__';</span>
4514
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (self.typeAnnotation.typeKind !== 'anonymousStructure') {
4402
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>if (this.typeAnnotation.typeKind !== 'anonymousStructure') {
4515
4403
  const rightMap = new Map();
4516
4404
  code += `${indent0}(() =&gt; { \n`;
4517
4405
  // 提供sourcemap,获取类型标注和上下文可选变量
4518
- yield* wrapForEach(self.rights, function* warpForEachGenerator(right) {
4406
+ this.rights.forEach((right) =&gt; {
4519
4407
  code += indent1;
4520
- rightMap.set(right.expression, yield* right.expression.toEmbeddedTS(shiftState(state, code, { inline: true })));
4408
+ rightMap.set(right.expression, right.expression.toEmbeddedTS(shiftState(state, code, { inline: true })));
4521
4409
  code += rightMap.get(right.expression);
4522
4410
  code += ';\n';
4523
4411
  <span class="missing-if-branch" title="if path not taken" >I</span>if (right.members?.length) {
4524
4412
  <span class="cstat-no" title="statement not covered" > code += indent2;</span>
4525
4413
  }
4526
- yield* wrapForEach(right.members, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>member) {
4527
- <span class="cstat-no" title="statement not covered" > rightMap.set(member, yield* member.toEmbeddedTS(shiftState(state, code, { inline: true })));</span>
4414
+ right.members.forEach(<span class="fstat-no" title="function not covered" >(m</span>ember) =&gt; {
4415
+ <span class="cstat-no" title="statement not covered" > rightMap.set(member, member.toEmbeddedTS(shiftState(state, code, { inline: true })));</span>
4528
4416
  <span class="cstat-no" title="statement not covered" > code += rightMap.get(member);</span>
4529
4417
  <span class="cstat-no" title="statement not covered" > code += '; ';</span>
4530
4418
  });
@@ -4532,92 +4420,93 @@ export class NewComposite extends LogicItem {
4532
4420
  });
4533
4421
  // 方便ts报错检查
4534
4422
  code += `${indent1}function __newComposite() {\n`;
4535
- const { typeAnnotation } = self;
4423
+ const { typeAnnotation } = this;
4536
4424
  <span class="missing-if-branch" title="if path not taken" >I</span>if (
4537
4425
  ['nasl.ui', 'nasl.interface', 'nasl.http'].includes(typeAnnotation.typeNamespace) &amp;&amp;
4538
4426
  <span class="branch-1 cbranch-no" title="branch not covered" > typeAnnotation.typeKind === 'generic'</span>
4539
4427
  ) {
4540
4428
  <span class="cstat-no" title="statement not covered" > code += `${indent2}let __obj = new ${typeAnnotation.typeNamespace}.${typeAnnotation.typeName}`;</span>
4541
4429
  <span class="cstat-no" title="statement not covered" > code += '({';</span>
4542
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.assignmentLines, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>{ leftIndex, rightIndex }) {</span>
4430
+ <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
4543
4431
  const leftSecondIndex = <span class="cstat-no" title="statement not covered" >leftIndex[1];</span>
4544
4432
  const [rightFirst, rightSecond] = <span class="cstat-no" title="statement not covered" >[rightIndex[0], rightIndex[1]];</span>
4545
- const leftItem = <span class="cstat-no" title="statement not covered" >self.properties[leftSecondIndex];</span>
4433
+ const leftItem = <span class="cstat-no" title="statement not covered" >this.properties[leftSecondIndex];</span>
4546
4434
  const rightItem =
4547
4435
  <span class="cstat-no" title="statement not covered" > rightSecond !== undefined</span>
4548
- ? self.rights[rightFirst].members[rightSecond]
4549
- : self.rights[rightFirst].expression;
4436
+ ? this.rights[rightFirst].members[rightSecond]
4437
+ : this.rights[rightFirst].expression;
4550
4438
  const rightTs = <span class="cstat-no" title="statement not covered" >rightMap.get(rightItem);</span>
4551
- <span class="cstat-no" title="statement not covered" > code += `${yield* leftItem.toEmbeddedTS(shiftState(state, code, { inline: true }))}:`;</span>
4439
+ <span class="cstat-no" title="statement not covered" > code += `${leftItem.toEmbeddedTS(shiftState(state, code, { inline: true }))}:`;</span>
4552
4440
  <span class="cstat-no" title="statement not covered" > code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)},\n `;</span>
4553
4441
  });
4554
4442
  <span class="cstat-no" title="statement not covered" > code += '})\n';</span>
4555
4443
  } else {
4556
4444
  code += `${indent2}let __obj = nasl.util.New&lt;`;
4557
- code += yield* self.typeAnnotation.toEmbeddedTS(shiftState(state, code, { inline: true }));
4445
+ code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code, { inline: true }));
4558
4446
  code += `&gt;();\n`;
4559
4447
  }
4560
4448
  // 是否是左边的顶层连线
4561
- const leftTopIndex = self.assignmentLines.findIndex(({ leftIndex }) =&gt; leftIndex[1] === undefined);
4449
+ const leftTopIndex = this.assignmentLines.findIndex(({ leftIndex }) =&gt; leftIndex[1] === undefined);
4562
4450
  <span class="missing-if-branch" title="if path not taken" >I</span>if (leftTopIndex !== -1) {
4563
- const { rightIndex } = <span class="cstat-no" title="statement not covered" >self.assignmentLines[leftTopIndex];</span>
4451
+ const { rightIndex } = <span class="cstat-no" title="statement not covered" >this.assignmentLines[leftTopIndex];</span>
4564
4452
  const rightExpression =
4565
4453
  <span class="cstat-no" title="statement not covered" > rightIndex[1] !== undefined</span>
4566
- ? self.rights[rightIndex[0]].members[rightIndex[1]]
4567
- : self.rights[rightIndex[0]].expression;
4568
- <span class="cstat-no" title="statement not covered" > code += `__obj = ${yield* rightExpression.toEmbeddedTS(shiftState(state, code, { inline: true }))};`;</span>
4454
+ ? this.rights[rightIndex[0]].members[rightIndex[1]]
4455
+ : this.rights[rightIndex[0]].expression;
4456
+ <span class="cstat-no" title="statement not covered" > code += `__obj = ${rightExpression.toEmbeddedTS(shiftState(state, code, { inline: true }))};`;</span>
4569
4457
  <span class="cstat-no" title="statement not covered" > code += '\n';</span>
4570
4458
  } else {
4571
4459
  // 左侧properties的identifier的类型标注
4572
4460
  code += `${indent2}const { `;
4573
- yield* wrapForEach(self.properties, function* warpForEachGenerator(item, index) {
4574
- code += yield* item.toEmbeddedTS(shiftState(state, code, { inline: true }));
4575
- if (index &lt; self.properties.length - 1) code += ', ';
4461
+ this.properties.forEach((item, index) =&gt; {
4462
+ code += item.toEmbeddedTS(shiftState(state, code, { inline: true }));
4463
+ if (index &lt; this.properties.length - 1) code += ', ';
4576
4464
  });
4577
4465
  code += ' } = __obj;\n';
4578
- yield* wrapForEach(self.assignmentLines, function* warpForEachGenerator({ leftIndex, rightIndex }) {
4466
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) =&gt; {
4579
4467
  const leftSecondIndex = leftIndex[1];
4580
4468
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
4581
- const leftItem = self.properties[leftSecondIndex];
4469
+ const leftItem = this.properties[leftSecondIndex];
4582
4470
  const rightItem =
4583
4471
  rightSecond !== undefined
4584
- ? <span class="branch-0 cbranch-no" title="branch not covered" >self.rights[rightFirst].members[rightSecond]</span>
4585
- : self.rights[rightFirst].expression;
4472
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >this.rights[rightFirst].members[rightSecond]</span>
4473
+ : this.rights[rightFirst].expression;
4586
4474
  const rightTs = rightMap.get(rightItem);
4587
4475
  code += `${indent2}nasl.core.compareNew(`;
4588
4476
  code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? <span class="branch-0 cbranch-no" title="branch not covered" >'null' </span>: rightMap.get(rightItem)}, `;
4589
- code += `${yield* leftItem.toEmbeddedTS(shiftState(state, code, { inline: true }), { isNewcomposite: true })});\n`;
4477
+ code += `${leftItem.toEmbeddedTS(shiftState(state, code, { inline: true }))});\n`;
4590
4478
  });
4591
4479
  }
4592
4480
  code += `${indent2}return __obj;\n`;
4593
4481
  code += `${indent1}};\n`;
4482
+ &nbsp;
4594
4483
  code += `${indent1}return __newComposite();\n`;
4595
4484
  code += `${indent0}})()`;
4596
4485
  } else {
4597
4486
  const nameMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
4598
4487
  const rightMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
4599
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.assignmentLines, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>{ leftIndex, rightIndex }) {</span>
4488
+ <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
4600
4489
  const leftSecondIndex = <span class="cstat-no" title="statement not covered" >leftIndex[1];</span>
4601
4490
  const [rightFirst, rightSecond] = <span class="cstat-no" title="statement not covered" >[rightIndex[0], rightIndex[1]];</span>
4602
- const leftItem = <span class="cstat-no" title="statement not covered" >self.properties[leftSecondIndex];</span>
4491
+ const leftItem = <span class="cstat-no" title="statement not covered" >this.properties[leftSecondIndex];</span>
4603
4492
  const rightItem =
4604
- <span class="cstat-no" title="statement not covered" > rightSecond !== undefined ? self.rights[rightFirst].members[rightSecond] : self.rights[rightFirst].expression;</span>
4493
+ <span class="cstat-no" title="statement not covered" > rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;</span>
4605
4494
  <span class="cstat-no" title="statement not covered" > nameMap.set(leftItem.name, rightItem);</span>
4606
4495
  <span class="cstat-no" title="statement not covered" > rightMap.set(rightItem, null);</span>
4607
4496
  });
4608
4497
  <span class="cstat-no" title="statement not covered" > code += `${indent0}(() =&gt; { \n`;</span>
4609
4498
  // 提供sourcemap,获取类型标注和上下文可选变量
4610
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.rights, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>right) {</span>
4499
+ <span class="cstat-no" title="statement not covered" > this.rights.forEach(<span class="fstat-no" title="function not covered" >(r</span>ight) =&gt; {</span>
4611
4500
  <span class="cstat-no" title="statement not covered" > code += indent1;</span>
4612
- let ts = <span class="cstat-no" title="statement not covered" >yield* right.expression.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4501
+ let ts = <span class="cstat-no" title="statement not covered" >right.expression.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4613
4502
  <span class="cstat-no" title="statement not covered" > if (rightMap.has(right.expression)) <span class="cstat-no" title="statement not covered" >rightMap.set(right.expression, ts);</span></span>
4614
4503
  <span class="cstat-no" title="statement not covered" > code += ts;</span>
4615
4504
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
4616
4505
  <span class="cstat-no" title="statement not covered" > if (right.members?.length) {</span>
4617
4506
  <span class="cstat-no" title="statement not covered" > code += indent2;</span>
4618
4507
  }
4619
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(right.members, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>member) {</span>
4620
- <span class="cstat-no" title="statement not covered" > ts = yield* member.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4508
+ <span class="cstat-no" title="statement not covered" > right.members.forEach(<span class="fstat-no" title="function not covered" >(m</span>ember) =&gt; {</span>
4509
+ <span class="cstat-no" title="statement not covered" > ts = member.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4621
4510
  <span class="cstat-no" title="statement not covered" > if (rightMap.has(member)) <span class="cstat-no" title="statement not covered" >rightMap.set(member, ts);</span></span>
4622
4511
  <span class="cstat-no" title="statement not covered" > code += ts;</span>
4623
4512
  <span class="cstat-no" title="statement not covered" > code += '; ';</span>
@@ -4626,9 +4515,9 @@ export class NewComposite extends LogicItem {
4626
4515
  });
4627
4516
  // 方便ts报错检查
4628
4517
  <span class="cstat-no" title="statement not covered" > code += `${indent1}function __newComposite() {\n`;</span>
4629
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.properties, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>property, index) {</span>
4518
+ <span class="cstat-no" title="statement not covered" > this.properties.forEach(<span class="fstat-no" title="function not covered" >(p</span>roperty, index) =&gt; {</span>
4630
4519
  const temp = <span class="cstat-no" title="statement not covered" >`temp${index}`;</span>
4631
- const propertyType = <span class="cstat-no" title="statement not covered" >self.typeAnnotation.properties[index]?.typeAnnotation;</span>
4520
+ const propertyType = <span class="cstat-no" title="statement not covered" >this.typeAnnotation.properties[index]?.typeAnnotation;</span>
4632
4521
  const { name } = <span class="cstat-no" title="statement not covered" >property;</span>
4633
4522
  const rightItem = <span class="cstat-no" title="statement not covered" >nameMap.get(name);</span>
4634
4523
  const ts = <span class="cstat-no" title="statement not covered" >rightMap.get(rightItem);</span>
@@ -4638,37 +4527,33 @@ export class NewComposite extends LogicItem {
4638
4527
  } else {
4639
4528
  <span class="cstat-no" title="statement not covered" > code += `${indent2}let ${temp}${ts === 'null' ? ':void' : ''} = ${ts}; `;</span>
4640
4529
  }
4641
- <span class="cstat-no" title="statement not covered" > code += `let `;</span>
4642
- <span class="cstat-no" title="statement not covered" > code += `${yield* property.toEmbeddedTS(shiftState(state, code, { inline: true }))}: `;</span>
4643
- <span class="cstat-no" title="statement not covered" > if (propertyType) {</span>
4644
- const typeTs = <span class="cstat-no" title="statement not covered" >yield* propertyType.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4645
- <span class="cstat-no" title="statement not covered" > code += typeTs;</span>
4646
- <span class="cstat-no" title="statement not covered" > code += ` = ${temp};\n`;</span>
4647
- // 如果是字段是union类型,且赋值的是当前union允许的类型,会导致property.name类型推断成temp的类型
4648
- <span class="cstat-no" title="statement not covered" > code += `${indent2}${property.name} = ${property.name} as ${typeTs};\n`;</span>
4649
- } else {
4650
- <span class="cstat-no" title="statement not covered" > code += `nasl.core.Incompatible&lt;typeof ${temp}, void&gt;`;</span>
4651
- <span class="cstat-no" title="statement not covered" > code += ` = ${temp};\n`;</span>
4652
- }
4530
+ <span class="cstat-no" title="statement not covered" > code += `const `;</span>
4531
+ <span class="cstat-no" title="statement not covered" > code += `${property.toEmbeddedTS(shiftState(state, code, { inline: true }))}: `;</span>
4532
+ <span class="cstat-no" title="statement not covered" > code += propertyType</span>
4533
+ ? propertyType.toEmbeddedTS(shiftState(state, code, { inline: true }))
4534
+ : `nasl.core.Incompatible&lt;typeof ${temp}, void&gt;`;
4535
+ <span class="cstat-no" title="statement not covered" > code += ` = ${temp};\n`;</span>
4653
4536
  } else <span class="cstat-no" title="statement not covered" >if (propertyType) {</span>
4654
4537
  <span class="cstat-no" title="statement not covered" > code += `${indent2}let ${property.name}: `;</span>
4655
- <span class="cstat-no" title="statement not covered" > code += `${yield* propertyType.toEmbeddedTS(shiftState(state, code, { inline: true }))}; `;</span>
4538
+ <span class="cstat-no" title="statement not covered" > code += `${propertyType.toEmbeddedTS(shiftState(state, code, { inline: true }))}; `;</span>
4656
4539
  <span class="cstat-no" title="statement not covered" > code += `&lt;`;</span>
4657
- <span class="cstat-no" title="statement not covered" > code += `${yield* property.toEmbeddedTS(shiftState(state, code, { inline: true }))}`;</span>
4540
+ <span class="cstat-no" title="statement not covered" > code += `${property.toEmbeddedTS(shiftState(state, code, { inline: true }))}`;</span>
4658
4541
  <span class="cstat-no" title="statement not covered" > code += `&gt;${property.name};\n`;</span>
4659
4542
  } else {
4660
4543
  <span class="cstat-no" title="statement not covered" > code += `${indent2}const `;</span>
4661
- <span class="cstat-no" title="statement not covered" > code += yield* property.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4544
+ <span class="cstat-no" title="statement not covered" > code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4662
4545
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
4663
4546
  }
4664
4547
  });
4665
4548
  <span class="cstat-no" title="statement not covered" > code += `${indent2}return {\n`;</span>
4666
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.properties, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>property) {</span>
4549
+ <span class="cstat-no" title="statement not covered" > this.properties.forEach(<span class="fstat-no" title="function not covered" >(p</span>roperty) =&gt; {</span>
4667
4550
  <span class="cstat-no" title="statement not covered" > code += `${indent3}${property.name},\n`;</span>
4668
4551
  });
4669
4552
  <span class="cstat-no" title="statement not covered" > code += `${indent3}__name: "AStructure_${genHash(JSON.stringify(this))}" as const,\n`;</span>
4670
4553
  <span class="cstat-no" title="statement not covered" > code += `${indent2}}\n`;</span>
4554
+ &nbsp;
4671
4555
  <span class="cstat-no" title="statement not covered" > code += `${indent1}};\n`;</span>
4556
+ &nbsp;
4672
4557
  <span class="cstat-no" title="statement not covered" > code += `${indent1}return __newComposite();\n`;</span>
4673
4558
  <span class="cstat-no" title="statement not covered" > code += `${indent0}})()`;</span>
4674
4559
  }
@@ -4678,10 +4563,7 @@ export class NewComposite extends LogicItem {
4678
4563
  @withSourceMap()
4679
4564
  <span class="fstat-no" title="function not covered" > toNaturalTS(</span>): string {
4680
4565
  let code = <span class="cstat-no" title="statement not covered" >'nasl.util.';</span>
4681
- <span class="cstat-no" title="statement not covered" > code +=</span>
4682
- this?.typeAnnotation?.typeKind === 'anonymousStructure'
4683
- ? 'NewAnonymityStructure'
4684
- : `NewEntity&lt;${this?.typeAnnotation?.typeName || '__IDENTIFIER__'}&gt;`;
4566
+ <span class="cstat-no" title="statement not covered" > code += this?.typeAnnotation?.typeKind === 'anonymousStructure' ? 'NewAnonymityStructure' : `NewEntity&lt;${this?.typeAnnotation?.typeName || '__IDENTIFIER__'}&gt;`;</span>
4685
4567
  let params = <span class="cstat-no" title="statement not covered" >'';</span>
4686
4568
  <span class="cstat-no" title="statement not covered" > this?.properties?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) =&gt; {</span>
4687
4569
  <span class="cstat-no" title="statement not covered" > if (item) {</span>
@@ -4695,8 +4577,7 @@ export class NewComposite extends LogicItem {
4695
4577
  <span class="cstat-no" title="statement not covered" > return code;</span>
4696
4578
  }
4697
4579
  &nbsp;
4698
- <span class="fstat-no" title="function not covered" > *g</span>etInitCode(state?: TranslatorState) {
4699
- const self = <span class="cstat-no" title="statement not covered" >this;</span>
4580
+ <span class="fstat-no" title="function not covered" > getInitCode(</span>state?: TranslatorState): string {
4700
4581
  const indent1 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 1);</span>
4701
4582
  const indent2 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 2);</span>
4702
4583
  const indent3 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 3);</span>
@@ -4704,7 +4585,7 @@ export class NewComposite extends LogicItem {
4704
4585
  let code = <span class="cstat-no" title="statement not covered" >'';</span>
4705
4586
  const nameMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
4706
4587
  const rightMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
4707
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.assignmentLines, <span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
4588
+ <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
4708
4589
  const leftSecondIndex = <span class="cstat-no" title="statement not covered" >leftIndex[1];</span>
4709
4590
  const [rightFirst, rightSecond] = <span class="cstat-no" title="statement not covered" >[rightIndex[0], rightIndex[1]];</span>
4710
4591
  const leftItem = <span class="cstat-no" title="statement not covered" >this.properties[leftSecondIndex];</span>
@@ -4715,26 +4596,24 @@ export class NewComposite extends LogicItem {
4715
4596
  });
4716
4597
  <span class="cstat-no" title="statement not covered" > code += '(() =&gt; { ';</span>
4717
4598
  // 提供sourcemap,获取类型标注和上下文可选变量
4718
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(this.rights, function* <span class="fstat-no" title="function not covered" >wrapForEach(</span>right) {</span>
4719
- let ts = <span class="cstat-no" title="statement not covered" >yield* right.expression.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4599
+ <span class="cstat-no" title="statement not covered" > this.rights.forEach(<span class="fstat-no" title="function not covered" >(r</span>ight) =&gt; {</span>
4600
+ let ts = <span class="cstat-no" title="statement not covered" >right.expression.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4720
4601
  <span class="cstat-no" title="statement not covered" > if (rightMap.has(right.expression)) <span class="cstat-no" title="statement not covered" >rightMap.set(right.expression, ts);</span></span>
4721
- <span class="cstat-no" title="statement not covered" > for (const member of right.members) {</span>
4722
- <span class="cstat-no" title="statement not covered" > ts = yield* member.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4723
- <span class="cstat-no" title="statement not covered" > if (rightMap.has(member)) {</span>
4724
- <span class="cstat-no" title="statement not covered" > rightMap.set(member, ts);</span>
4725
- }
4726
- }
4602
+ <span class="cstat-no" title="statement not covered" > right.members.forEach(<span class="fstat-no" title="function not covered" >(m</span>ember) =&gt; {</span>
4603
+ <span class="cstat-no" title="statement not covered" > ts = member.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
4604
+ <span class="cstat-no" title="statement not covered" > if (rightMap.has(member)) <span class="cstat-no" title="statement not covered" >rightMap.set(member, ts);</span></span>
4605
+ });
4727
4606
  });
4728
4607
  // 方便ts报错检查
4729
4608
  <span class="cstat-no" title="statement not covered" > code += 'function __newComposite() { ';</span>
4730
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(this.properties, function* <span class="fstat-no" title="function not covered" >wrapForEach(</span>property, index) {</span>
4609
+ <span class="cstat-no" title="statement not covered" > this.properties.forEach(<span class="fstat-no" title="function not covered" >(p</span>roperty, index) =&gt; {</span>
4731
4610
  const { name } = <span class="cstat-no" title="statement not covered" >property;</span>
4732
- const propertyType = <span class="cstat-no" title="statement not covered" >self.typeAnnotation.properties[index]?.typeAnnotation;</span>
4611
+ const propertyType = <span class="cstat-no" title="statement not covered" >this.typeAnnotation.properties[index]?.typeAnnotation;</span>
4733
4612
  const rightItem = <span class="cstat-no" title="statement not covered" >nameMap.get(name);</span>
4734
4613
  let ts = <span class="cstat-no" title="statement not covered" >rightMap.get(rightItem);</span>
4735
- <span class="cstat-no" title="statement not covered" > ts = yield* self.getForeachCode(ts);</span>
4614
+ <span class="cstat-no" title="statement not covered" > ts = this.getForeachCode(ts);</span>
4736
4615
  <span class="cstat-no" title="statement not covered" > if (propertyType) {</span>
4737
- <span class="cstat-no" title="statement not covered" > code += `const ${name}: ${yield* propertyType.toEmbeddedTS(shiftState(state, code, { inline: true }))}; `;</span>
4616
+ <span class="cstat-no" title="statement not covered" > code += `const ${name}: ${propertyType.toEmbeddedTS(shiftState(state, code, { inline: true }))}; `;</span>
4738
4617
  } else <span class="cstat-no" title="statement not covered" >if (ts !== undefined) {</span>
4739
4618
  <span class="cstat-no" title="statement not covered" > code += `const ${name} = ${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts}; `;</span>
4740
4619
  } else {
@@ -4755,7 +4634,7 @@ export class NewComposite extends LogicItem {
4755
4634
  <span class="cstat-no" title="statement not covered" > return code;</span>
4756
4635
  }
4757
4636
  &nbsp;
4758
- <span class="fstat-no" title="function not covered" > *g</span>etNewCompositeCode(state?: TranslatorState) {
4637
+ <span class="fstat-no" title="function not covered" > getNewCompositeCode(</span>state?: TranslatorState): string {
4759
4638
  const indent0 = <span class="cstat-no" title="statement not covered" >indent(state?.tabSize || 0);</span>
4760
4639
  const indent1 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 1);</span>
4761
4640
  const indent2 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 2);</span>
@@ -4764,38 +4643,42 @@ export class NewComposite extends LogicItem {
4764
4643
  const rightMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
4765
4644
  <span class="cstat-no" title="statement not covered" > code += `${indent0}(() =&gt; { \n`;</span>
4766
4645
  // 提供sourcemap,获取类型标注和上下文可选变量
4767
- <span class="cstat-no" title="statement not covered" > for (const right of this.rights) {</span>
4646
+ <span class="cstat-no" title="statement not covered" > this.rights.forEach(<span class="fstat-no" title="function not covered" >(r</span>ight) =&gt; {</span>
4768
4647
  <span class="cstat-no" title="statement not covered" > code += indent1;</span>
4769
- <span class="cstat-no" title="statement not covered" > rightMap.set(right.expression, yield* right.expression.toEmbeddedTS(shiftState(state, code, { inline: true })));</span>
4648
+ <span class="cstat-no" title="statement not covered" > rightMap.set(right.expression, right.expression.toEmbeddedTS(shiftState(state, code, { inline: true })));</span>
4770
4649
  // code += rightMap.get(right.expression);
4771
4650
  // code += ';\n';
4772
4651
  <span class="cstat-no" title="statement not covered" > if (right.members?.length) {</span>
4773
4652
  <span class="cstat-no" title="statement not covered" > code += indent2;</span>
4774
4653
  }
4775
- <span class="cstat-no" title="statement not covered" > for (const member of right.members) {</span>
4776
- <span class="cstat-no" title="statement not covered" > rightMap.set(member, yield* member.toEmbeddedTS(shiftState(state, code, { inline: true })));</span>
4777
- }
4778
- }
4654
+ <span class="cstat-no" title="statement not covered" > right.members.forEach(<span class="fstat-no" title="function not covered" >(m</span>ember) =&gt; {</span>
4655
+ <span class="cstat-no" title="statement not covered" > rightMap.set(member, member.toEmbeddedTS(shiftState(state, code, { inline: true })));</span>
4656
+ // code += rightMap.get(member);
4657
+ // code += '; ';
4658
+ });
4659
+ // code += right.members.length ? '\n' : '';
4660
+ });
4779
4661
  // 方便ts报错检查
4780
4662
  <span class="cstat-no" title="statement not covered" > code += `${indent1}function __newComposite() {\n`;</span>
4781
4663
  const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >this;</span>
4782
4664
  <span class="cstat-no" title="statement not covered" > if (['nasl.ui', 'nasl.interface', 'nasl.http'].includes(typeAnnotation.typeNamespace)) {</span>
4783
4665
  <span class="cstat-no" title="statement not covered" > code += `${indent2}let __obj = new ${typeAnnotation.typeNamespace}.${typeAnnotation.typeName}`;</span>
4784
4666
  <span class="cstat-no" title="statement not covered" > code += '({';</span>
4785
- <span class="cstat-no" title="statement not covered" > for (const { leftIndex, rightIndex } of this.assignmentLines) {</span>
4667
+ <span class="cstat-no" title="statement not covered" > this.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
4786
4668
  const leftSecondIndex = <span class="cstat-no" title="statement not covered" >leftIndex[1];</span>
4787
4669
  const [rightFirst, rightSecond] = <span class="cstat-no" title="statement not covered" >[rightIndex[0], rightIndex[1]];</span>
4788
4670
  const leftItem = <span class="cstat-no" title="statement not covered" >this.properties[leftSecondIndex];</span>
4789
4671
  const rightItem =
4790
4672
  <span class="cstat-no" title="statement not covered" > rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;</span>
4791
4673
  const rightTs = <span class="cstat-no" title="statement not covered" >rightMap.get(rightItem);</span>
4792
- <span class="cstat-no" title="statement not covered" > code += `${yield* leftItem.toEmbeddedTS(shiftState(state, code, { inline: true }))}:`;</span>
4674
+ <span class="cstat-no" title="statement not covered" > code += `${leftItem.toEmbeddedTS(shiftState(state, code, { inline: true }))}:`;</span>
4793
4675
  <span class="cstat-no" title="statement not covered" > code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)},\n `;</span>
4794
- }
4676
+ });
4795
4677
  <span class="cstat-no" title="statement not covered" > code += '})\n';</span>
4796
4678
  }
4797
4679
  <span class="cstat-no" title="statement not covered" > code += `${indent2}return __obj;\n`;</span>
4798
4680
  <span class="cstat-no" title="statement not covered" > code += `${indent1}};\n`;</span>
4681
+ &nbsp;
4799
4682
  <span class="cstat-no" title="statement not covered" > code += `${indent1}return __newComposite();\n`;</span>
4800
4683
  <span class="cstat-no" title="statement not covered" > code += `${indent0}})()`;</span>
4801
4684
  <span class="cstat-no" title="statement not covered" > return code;</span>
@@ -4840,12 +4723,12 @@ export class NewComposite extends LogicItem {
4840
4723
  <span class="cstat-no" title="statement not covered" > this.app.emit('collect:end');</span>
4841
4724
  }
4842
4725
  &nbsp;
4843
- <span class="fstat-no" title="function not covered" > *g</span>etForeachCode(code: string) {
4726
+ <span class="fstat-no" title="function not covered" > getForeachCode(</span>code: string): string {
4844
4727
  // ForEachStatement 内部变量需要替换处理,如 item、index
4845
4728
  const forEachStatement = <span class="cstat-no" title="statement not covered" >this.getAncestor('ForEachStatement') as ForEachStatement;</span>
4846
4729
  <span class="cstat-no" title="statement not covered" > if (forEachStatement &amp;&amp; code) {</span>
4847
4730
  <span class="cstat-no" title="statement not covered" > code = code.replaceAll('\n', ' ');</span>
4848
- <span class="cstat-no" title="statement not covered" > code = yield* new Logic().handleForEachCode(code, forEachStatement);</span>
4731
+ <span class="cstat-no" title="statement not covered" > code = new Logic().handleForEachCode(code, forEachStatement);</span>
4849
4732
  }
4850
4733
  <span class="cstat-no" title="statement not covered" > return code;</span>
4851
4734
  }
@@ -4867,7 +4750,7 @@ export default NewComposite;
4867
4750
  <div class='footer quiet pad2 space-top1 center small'>
4868
4751
  Code coverage generated by
4869
4752
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
4870
- at 2023-11-18T16:22:11.588Z
4753
+ at 2023-10-27T11:50:55.546Z
4871
4754
  </div>
4872
4755
  <script src="../../prettify.js"></script>
4873
4756
  <script>