@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">12.87% </span>
26
+ <span class="strong">14.65% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>115/893</span>
28
+ <span class='fraction'>135/921</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">7.42% </span>
33
+ <span class="strong">10.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>47/633</span>
35
+ <span class='fraction'>69/644</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">7.53% </span>
40
+ <span class="strong">9.39% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/146</span>
42
+ <span class='fraction'>14/149</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">12.6% </span>
47
+ <span class="strong">14.4% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>106/841</span>
49
+ <span class='fraction'>126/875</span>
50
50
  </div>
51
51
 
52
52
 
@@ -2532,14 +2532,87 @@
2532
2532
  <a name='L2467'></a><a href='#L2467'>2467</a>
2533
2533
  <a name='L2468'></a><a href='#L2468'>2468</a>
2534
2534
  <a name='L2469'></a><a href='#L2469'>2469</a>
2535
- <a name='L2470'></a><a href='#L2470'>2470</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
2536
- <span class="cline-any cline-neutral">&nbsp;</span>
2537
- <span class="cline-any cline-neutral">&nbsp;</span>
2538
- <span class="cline-any cline-neutral">&nbsp;</span>
2539
- <span class="cline-any cline-neutral">&nbsp;</span>
2540
- <span class="cline-any cline-neutral">&nbsp;</span>
2541
- <span class="cline-any cline-yes">1x</span>
2542
- <span class="cline-any cline-neutral">&nbsp;</span>
2535
+ <a name='L2470'></a><a href='#L2470'>2470</a>
2536
+ <a name='L2471'></a><a href='#L2471'>2471</a>
2537
+ <a name='L2472'></a><a href='#L2472'>2472</a>
2538
+ <a name='L2473'></a><a href='#L2473'>2473</a>
2539
+ <a name='L2474'></a><a href='#L2474'>2474</a>
2540
+ <a name='L2475'></a><a href='#L2475'>2475</a>
2541
+ <a name='L2476'></a><a href='#L2476'>2476</a>
2542
+ <a name='L2477'></a><a href='#L2477'>2477</a>
2543
+ <a name='L2478'></a><a href='#L2478'>2478</a>
2544
+ <a name='L2479'></a><a href='#L2479'>2479</a>
2545
+ <a name='L2480'></a><a href='#L2480'>2480</a>
2546
+ <a name='L2481'></a><a href='#L2481'>2481</a>
2547
+ <a name='L2482'></a><a href='#L2482'>2482</a>
2548
+ <a name='L2483'></a><a href='#L2483'>2483</a>
2549
+ <a name='L2484'></a><a href='#L2484'>2484</a>
2550
+ <a name='L2485'></a><a href='#L2485'>2485</a>
2551
+ <a name='L2486'></a><a href='#L2486'>2486</a>
2552
+ <a name='L2487'></a><a href='#L2487'>2487</a>
2553
+ <a name='L2488'></a><a href='#L2488'>2488</a>
2554
+ <a name='L2489'></a><a href='#L2489'>2489</a>
2555
+ <a name='L2490'></a><a href='#L2490'>2490</a>
2556
+ <a name='L2491'></a><a href='#L2491'>2491</a>
2557
+ <a name='L2492'></a><a href='#L2492'>2492</a>
2558
+ <a name='L2493'></a><a href='#L2493'>2493</a>
2559
+ <a name='L2494'></a><a href='#L2494'>2494</a>
2560
+ <a name='L2495'></a><a href='#L2495'>2495</a>
2561
+ <a name='L2496'></a><a href='#L2496'>2496</a>
2562
+ <a name='L2497'></a><a href='#L2497'>2497</a>
2563
+ <a name='L2498'></a><a href='#L2498'>2498</a>
2564
+ <a name='L2499'></a><a href='#L2499'>2499</a>
2565
+ <a name='L2500'></a><a href='#L2500'>2500</a>
2566
+ <a name='L2501'></a><a href='#L2501'>2501</a>
2567
+ <a name='L2502'></a><a href='#L2502'>2502</a>
2568
+ <a name='L2503'></a><a href='#L2503'>2503</a>
2569
+ <a name='L2504'></a><a href='#L2504'>2504</a>
2570
+ <a name='L2505'></a><a href='#L2505'>2505</a>
2571
+ <a name='L2506'></a><a href='#L2506'>2506</a>
2572
+ <a name='L2507'></a><a href='#L2507'>2507</a>
2573
+ <a name='L2508'></a><a href='#L2508'>2508</a>
2574
+ <a name='L2509'></a><a href='#L2509'>2509</a>
2575
+ <a name='L2510'></a><a href='#L2510'>2510</a>
2576
+ <a name='L2511'></a><a href='#L2511'>2511</a>
2577
+ <a name='L2512'></a><a href='#L2512'>2512</a>
2578
+ <a name='L2513'></a><a href='#L2513'>2513</a>
2579
+ <a name='L2514'></a><a href='#L2514'>2514</a>
2580
+ <a name='L2515'></a><a href='#L2515'>2515</a>
2581
+ <a name='L2516'></a><a href='#L2516'>2516</a>
2582
+ <a name='L2517'></a><a href='#L2517'>2517</a>
2583
+ <a name='L2518'></a><a href='#L2518'>2518</a>
2584
+ <a name='L2519'></a><a href='#L2519'>2519</a>
2585
+ <a name='L2520'></a><a href='#L2520'>2520</a>
2586
+ <a name='L2521'></a><a href='#L2521'>2521</a>
2587
+ <a name='L2522'></a><a href='#L2522'>2522</a>
2588
+ <a name='L2523'></a><a href='#L2523'>2523</a>
2589
+ <a name='L2524'></a><a href='#L2524'>2524</a>
2590
+ <a name='L2525'></a><a href='#L2525'>2525</a>
2591
+ <a name='L2526'></a><a href='#L2526'>2526</a>
2592
+ <a name='L2527'></a><a href='#L2527'>2527</a>
2593
+ <a name='L2528'></a><a href='#L2528'>2528</a>
2594
+ <a name='L2529'></a><a href='#L2529'>2529</a>
2595
+ <a name='L2530'></a><a href='#L2530'>2530</a>
2596
+ <a name='L2531'></a><a href='#L2531'>2531</a>
2597
+ <a name='L2532'></a><a href='#L2532'>2532</a>
2598
+ <a name='L2533'></a><a href='#L2533'>2533</a>
2599
+ <a name='L2534'></a><a href='#L2534'>2534</a>
2600
+ <a name='L2535'></a><a href='#L2535'>2535</a>
2601
+ <a name='L2536'></a><a href='#L2536'>2536</a>
2602
+ <a name='L2537'></a><a href='#L2537'>2537</a>
2603
+ <a name='L2538'></a><a href='#L2538'>2538</a>
2604
+ <a name='L2539'></a><a href='#L2539'>2539</a>
2605
+ <a name='L2540'></a><a href='#L2540'>2540</a>
2606
+ <a name='L2541'></a><a href='#L2541'>2541</a>
2607
+ <a name='L2542'></a><a href='#L2542'>2542</a>
2608
+ <a name='L2543'></a><a href='#L2543'>2543</a>
2609
+ <a name='L2544'></a><a href='#L2544'>2544</a>
2610
+ <a name='L2545'></a><a href='#L2545'>2545</a>
2611
+ <a name='L2546'></a><a href='#L2546'>2546</a>
2612
+ <a name='L2547'></a><a href='#L2547'>2547</a>
2613
+ <a name='L2548'></a><a href='#L2548'>2548</a>
2614
+ <a name='L2549'></a><a href='#L2549'>2549</a>
2615
+ <a name='L2550'></a><a href='#L2550'>2550</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
2543
2616
  <span class="cline-any cline-yes">1x</span>
2544
2617
  <span class="cline-any cline-yes">1x</span>
2545
2618
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2549,9 +2622,6 @@
2549
2622
  <span class="cline-any cline-neutral">&nbsp;</span>
2550
2623
  <span class="cline-any cline-neutral">&nbsp;</span>
2551
2624
  <span class="cline-any cline-neutral">&nbsp;</span>
2552
- <span class="cline-any cline-neutral">&nbsp;</span>
2553
- <span class="cline-any cline-neutral">&nbsp;</span>
2554
- <span class="cline-any cline-neutral">&nbsp;</span>
2555
2625
  <span class="cline-any cline-yes">1x</span>
2556
2626
  <span class="cline-any cline-yes">1x</span>
2557
2627
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2559,7 +2629,7 @@
2559
2629
  <span class="cline-any cline-yes">1x</span>
2560
2630
  <span class="cline-any cline-yes">1x</span>
2561
2631
  <span class="cline-any cline-yes">1x</span>
2562
- <span class="cline-any cline-neutral">&nbsp;</span>
2632
+ <span class="cline-any cline-yes">1x</span>
2563
2633
  <span class="cline-any cline-neutral">&nbsp;</span>
2564
2634
  <span class="cline-any cline-neutral">&nbsp;</span>
2565
2635
  <span class="cline-any cline-yes">1x</span>
@@ -2571,11 +2641,9 @@
2571
2641
  <span class="cline-any cline-neutral">&nbsp;</span>
2572
2642
  <span class="cline-any cline-neutral">&nbsp;</span>
2573
2643
  <span class="cline-any cline-neutral">&nbsp;</span>
2574
- <span class="cline-any cline-neutral">&nbsp;</span>
2575
2644
  <span class="cline-any cline-yes">1x</span>
2576
2645
  <span class="cline-any cline-neutral">&nbsp;</span>
2577
2646
  <span class="cline-any cline-yes">1x</span>
2578
- <span class="cline-any cline-neutral">&nbsp;</span>
2579
2647
  <span class="cline-any cline-yes">1x</span>
2580
2648
  <span class="cline-any cline-yes">1x</span>
2581
2649
  <span class="cline-any cline-yes">1x</span>
@@ -2655,42 +2723,68 @@
2655
2723
  <span class="cline-any cline-neutral">&nbsp;</span>
2656
2724
  <span class="cline-any cline-neutral">&nbsp;</span>
2657
2725
  <span class="cline-any cline-neutral">&nbsp;</span>
2726
+ <span class="cline-any cline-neutral">&nbsp;</span>
2727
+ <span class="cline-any cline-neutral">&nbsp;</span>
2658
2728
  <span class="cline-any cline-yes">1x</span>
2659
2729
  <span class="cline-any cline-neutral">&nbsp;</span>
2660
2730
  <span class="cline-any cline-neutral">&nbsp;</span>
2661
2731
  <span class="cline-any cline-neutral">&nbsp;</span>
2662
2732
  <span class="cline-any cline-neutral">&nbsp;</span>
2663
2733
  <span class="cline-any cline-neutral">&nbsp;</span>
2734
+ <span class="cline-any cline-neutral">&nbsp;</span>
2735
+ <span class="cline-any cline-neutral">&nbsp;</span>
2736
+ <span class="cline-any cline-neutral">&nbsp;</span>
2737
+ <span class="cline-any cline-neutral">&nbsp;</span>
2664
2738
  <span class="cline-any cline-yes">260x</span>
2665
2739
  <span class="cline-any cline-neutral">&nbsp;</span>
2666
2740
  <span class="cline-any cline-neutral">&nbsp;</span>
2667
2741
  <span class="cline-any cline-neutral">&nbsp;</span>
2668
2742
  <span class="cline-any cline-neutral">&nbsp;</span>
2669
2743
  <span class="cline-any cline-neutral">&nbsp;</span>
2744
+ <span class="cline-any cline-neutral">&nbsp;</span>
2745
+ <span class="cline-any cline-neutral">&nbsp;</span>
2746
+ <span class="cline-any cline-neutral">&nbsp;</span>
2747
+ <span class="cline-any cline-neutral">&nbsp;</span>
2670
2748
  <span class="cline-any cline-yes">260x</span>
2671
2749
  <span class="cline-any cline-neutral">&nbsp;</span>
2672
2750
  <span class="cline-any cline-neutral">&nbsp;</span>
2673
2751
  <span class="cline-any cline-neutral">&nbsp;</span>
2674
2752
  <span class="cline-any cline-neutral">&nbsp;</span>
2675
2753
  <span class="cline-any cline-neutral">&nbsp;</span>
2754
+ <span class="cline-any cline-neutral">&nbsp;</span>
2755
+ <span class="cline-any cline-neutral">&nbsp;</span>
2756
+ <span class="cline-any cline-neutral">&nbsp;</span>
2757
+ <span class="cline-any cline-neutral">&nbsp;</span>
2676
2758
  <span class="cline-any cline-yes">260x</span>
2677
2759
  <span class="cline-any cline-neutral">&nbsp;</span>
2678
2760
  <span class="cline-any cline-neutral">&nbsp;</span>
2679
2761
  <span class="cline-any cline-neutral">&nbsp;</span>
2680
2762
  <span class="cline-any cline-neutral">&nbsp;</span>
2681
2763
  <span class="cline-any cline-neutral">&nbsp;</span>
2764
+ <span class="cline-any cline-neutral">&nbsp;</span>
2765
+ <span class="cline-any cline-neutral">&nbsp;</span>
2766
+ <span class="cline-any cline-neutral">&nbsp;</span>
2767
+ <span class="cline-any cline-neutral">&nbsp;</span>
2682
2768
  <span class="cline-any cline-yes">260x</span>
2683
2769
  <span class="cline-any cline-neutral">&nbsp;</span>
2684
2770
  <span class="cline-any cline-neutral">&nbsp;</span>
2685
2771
  <span class="cline-any cline-neutral">&nbsp;</span>
2686
2772
  <span class="cline-any cline-neutral">&nbsp;</span>
2687
2773
  <span class="cline-any cline-neutral">&nbsp;</span>
2774
+ <span class="cline-any cline-neutral">&nbsp;</span>
2775
+ <span class="cline-any cline-neutral">&nbsp;</span>
2776
+ <span class="cline-any cline-neutral">&nbsp;</span>
2777
+ <span class="cline-any cline-neutral">&nbsp;</span>
2688
2778
  <span class="cline-any cline-yes">260x</span>
2689
2779
  <span class="cline-any cline-neutral">&nbsp;</span>
2690
2780
  <span class="cline-any cline-neutral">&nbsp;</span>
2691
2781
  <span class="cline-any cline-neutral">&nbsp;</span>
2692
2782
  <span class="cline-any cline-neutral">&nbsp;</span>
2693
2783
  <span class="cline-any cline-neutral">&nbsp;</span>
2784
+ <span class="cline-any cline-neutral">&nbsp;</span>
2785
+ <span class="cline-any cline-neutral">&nbsp;</span>
2786
+ <span class="cline-any cline-neutral">&nbsp;</span>
2787
+ <span class="cline-any cline-neutral">&nbsp;</span>
2694
2788
  <span class="cline-any cline-yes">260x</span>
2695
2789
  <span class="cline-any cline-neutral">&nbsp;</span>
2696
2790
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2703,36 +2797,42 @@
2703
2797
  <span class="cline-any cline-neutral">&nbsp;</span>
2704
2798
  <span class="cline-any cline-neutral">&nbsp;</span>
2705
2799
  <span class="cline-any cline-neutral">&nbsp;</span>
2800
+ <span class="cline-any cline-neutral">&nbsp;</span>
2706
2801
  <span class="cline-any cline-no">&nbsp;</span>
2707
2802
  <span class="cline-any cline-neutral">&nbsp;</span>
2708
2803
  <span class="cline-any cline-neutral">&nbsp;</span>
2709
2804
  <span class="cline-any cline-neutral">&nbsp;</span>
2710
2805
  <span class="cline-any cline-neutral">&nbsp;</span>
2711
2806
  <span class="cline-any cline-neutral">&nbsp;</span>
2807
+ <span class="cline-any cline-neutral">&nbsp;</span>
2712
2808
  <span class="cline-any cline-no">&nbsp;</span>
2713
2809
  <span class="cline-any cline-neutral">&nbsp;</span>
2714
2810
  <span class="cline-any cline-neutral">&nbsp;</span>
2715
2811
  <span class="cline-any cline-neutral">&nbsp;</span>
2716
2812
  <span class="cline-any cline-neutral">&nbsp;</span>
2717
2813
  <span class="cline-any cline-neutral">&nbsp;</span>
2814
+ <span class="cline-any cline-neutral">&nbsp;</span>
2718
2815
  <span class="cline-any cline-yes">14x</span>
2719
2816
  <span class="cline-any cline-neutral">&nbsp;</span>
2720
2817
  <span class="cline-any cline-neutral">&nbsp;</span>
2721
2818
  <span class="cline-any cline-neutral">&nbsp;</span>
2722
2819
  <span class="cline-any cline-neutral">&nbsp;</span>
2723
2820
  <span class="cline-any cline-neutral">&nbsp;</span>
2821
+ <span class="cline-any cline-neutral">&nbsp;</span>
2724
2822
  <span class="cline-any cline-no">&nbsp;</span>
2725
2823
  <span class="cline-any cline-neutral">&nbsp;</span>
2726
2824
  <span class="cline-any cline-neutral">&nbsp;</span>
2727
2825
  <span class="cline-any cline-neutral">&nbsp;</span>
2728
2826
  <span class="cline-any cline-neutral">&nbsp;</span>
2729
2827
  <span class="cline-any cline-neutral">&nbsp;</span>
2828
+ <span class="cline-any cline-neutral">&nbsp;</span>
2730
2829
  <span class="cline-any cline-no">&nbsp;</span>
2731
2830
  <span class="cline-any cline-neutral">&nbsp;</span>
2732
2831
  <span class="cline-any cline-neutral">&nbsp;</span>
2733
2832
  <span class="cline-any cline-neutral">&nbsp;</span>
2734
2833
  <span class="cline-any cline-neutral">&nbsp;</span>
2735
2834
  <span class="cline-any cline-neutral">&nbsp;</span>
2835
+ <span class="cline-any cline-neutral">&nbsp;</span>
2736
2836
  <span class="cline-any cline-no">&nbsp;</span>
2737
2837
  <span class="cline-any cline-neutral">&nbsp;</span>
2738
2838
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2764,6 +2864,7 @@
2764
2864
  <span class="cline-any cline-neutral">&nbsp;</span>
2765
2865
  <span class="cline-any cline-neutral">&nbsp;</span>
2766
2866
  <span class="cline-any cline-neutral">&nbsp;</span>
2867
+ <span class="cline-any cline-neutral">&nbsp;</span>
2767
2868
  <span class="cline-any cline-no">&nbsp;</span>
2768
2869
  <span class="cline-any cline-neutral">&nbsp;</span>
2769
2870
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2853,6 +2954,7 @@
2853
2954
  <span class="cline-any cline-no">&nbsp;</span>
2854
2955
  <span class="cline-any cline-neutral">&nbsp;</span>
2855
2956
  <span class="cline-any cline-neutral">&nbsp;</span>
2957
+ <span class="cline-any cline-neutral">&nbsp;</span>
2856
2958
  <span class="cline-any cline-no">&nbsp;</span>
2857
2959
  <span class="cline-any cline-neutral">&nbsp;</span>
2858
2960
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3689,16 +3791,12 @@
3689
3791
  <span class="cline-any cline-neutral">&nbsp;</span>
3690
3792
  <span class="cline-any cline-no">&nbsp;</span>
3691
3793
  <span class="cline-any cline-no">&nbsp;</span>
3692
- <span class="cline-any cline-neutral">&nbsp;</span>
3693
3794
  <span class="cline-any cline-no">&nbsp;</span>
3694
3795
  <span class="cline-any cline-no">&nbsp;</span>
3695
3796
  <span class="cline-any cline-no">&nbsp;</span>
3696
- <span class="cline-any cline-neutral">&nbsp;</span>
3697
3797
  <span class="cline-any cline-no">&nbsp;</span>
3698
3798
  <span class="cline-any cline-no">&nbsp;</span>
3699
3799
  <span class="cline-any cline-no">&nbsp;</span>
3700
- <span class="cline-any cline-no">&nbsp;</span>
3701
- <span class="cline-any cline-neutral">&nbsp;</span>
3702
3800
  <span class="cline-any cline-neutral">&nbsp;</span>
3703
3801
  <span class="cline-any cline-neutral">&nbsp;</span>
3704
3802
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3745,18 +3843,14 @@
3745
3843
  <span class="cline-any cline-neutral">&nbsp;</span>
3746
3844
  <span class="cline-any cline-no">&nbsp;</span>
3747
3845
  <span class="cline-any cline-no">&nbsp;</span>
3748
- <span class="cline-any cline-neutral">&nbsp;</span>
3749
- <span class="cline-any cline-no">&nbsp;</span>
3750
3846
  <span class="cline-any cline-no">&nbsp;</span>
3751
3847
  <span class="cline-any cline-no">&nbsp;</span>
3752
- <span class="cline-any cline-neutral">&nbsp;</span>
3753
3848
  <span class="cline-any cline-no">&nbsp;</span>
3754
3849
  <span class="cline-any cline-no">&nbsp;</span>
3755
3850
  <span class="cline-any cline-no">&nbsp;</span>
3756
3851
  <span class="cline-any cline-no">&nbsp;</span>
3757
3852
  <span class="cline-any cline-neutral">&nbsp;</span>
3758
3853
  <span class="cline-any cline-neutral">&nbsp;</span>
3759
- <span class="cline-any cline-neutral">&nbsp;</span>
3760
3854
  <span class="cline-any cline-no">&nbsp;</span>
3761
3855
  <span class="cline-any cline-neutral">&nbsp;</span>
3762
3856
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3801,18 +3895,14 @@
3801
3895
  <span class="cline-any cline-neutral">&nbsp;</span>
3802
3896
  <span class="cline-any cline-no">&nbsp;</span>
3803
3897
  <span class="cline-any cline-no">&nbsp;</span>
3804
- <span class="cline-any cline-neutral">&nbsp;</span>
3805
- <span class="cline-any cline-no">&nbsp;</span>
3806
3898
  <span class="cline-any cline-no">&nbsp;</span>
3807
3899
  <span class="cline-any cline-no">&nbsp;</span>
3808
- <span class="cline-any cline-neutral">&nbsp;</span>
3809
3900
  <span class="cline-any cline-no">&nbsp;</span>
3810
3901
  <span class="cline-any cline-no">&nbsp;</span>
3811
3902
  <span class="cline-any cline-no">&nbsp;</span>
3812
3903
  <span class="cline-any cline-no">&nbsp;</span>
3813
3904
  <span class="cline-any cline-neutral">&nbsp;</span>
3814
3905
  <span class="cline-any cline-neutral">&nbsp;</span>
3815
- <span class="cline-any cline-neutral">&nbsp;</span>
3816
3906
  <span class="cline-any cline-no">&nbsp;</span>
3817
3907
  <span class="cline-any cline-neutral">&nbsp;</span>
3818
3908
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3857,18 +3947,14 @@
3857
3947
  <span class="cline-any cline-neutral">&nbsp;</span>
3858
3948
  <span class="cline-any cline-no">&nbsp;</span>
3859
3949
  <span class="cline-any cline-no">&nbsp;</span>
3860
- <span class="cline-any cline-neutral">&nbsp;</span>
3861
- <span class="cline-any cline-no">&nbsp;</span>
3862
3950
  <span class="cline-any cline-no">&nbsp;</span>
3863
3951
  <span class="cline-any cline-no">&nbsp;</span>
3864
- <span class="cline-any cline-neutral">&nbsp;</span>
3865
3952
  <span class="cline-any cline-no">&nbsp;</span>
3866
3953
  <span class="cline-any cline-no">&nbsp;</span>
3867
3954
  <span class="cline-any cline-no">&nbsp;</span>
3868
3955
  <span class="cline-any cline-no">&nbsp;</span>
3869
3956
  <span class="cline-any cline-neutral">&nbsp;</span>
3870
3957
  <span class="cline-any cline-neutral">&nbsp;</span>
3871
- <span class="cline-any cline-neutral">&nbsp;</span>
3872
3958
  <span class="cline-any cline-no">&nbsp;</span>
3873
3959
  <span class="cline-any cline-neutral">&nbsp;</span>
3874
3960
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3913,18 +3999,14 @@
3913
3999
  <span class="cline-any cline-neutral">&nbsp;</span>
3914
4000
  <span class="cline-any cline-no">&nbsp;</span>
3915
4001
  <span class="cline-any cline-no">&nbsp;</span>
3916
- <span class="cline-any cline-neutral">&nbsp;</span>
3917
- <span class="cline-any cline-no">&nbsp;</span>
3918
4002
  <span class="cline-any cline-no">&nbsp;</span>
3919
4003
  <span class="cline-any cline-no">&nbsp;</span>
3920
- <span class="cline-any cline-neutral">&nbsp;</span>
3921
4004
  <span class="cline-any cline-no">&nbsp;</span>
3922
4005
  <span class="cline-any cline-no">&nbsp;</span>
3923
4006
  <span class="cline-any cline-no">&nbsp;</span>
3924
4007
  <span class="cline-any cline-no">&nbsp;</span>
3925
4008
  <span class="cline-any cline-neutral">&nbsp;</span>
3926
4009
  <span class="cline-any cline-neutral">&nbsp;</span>
3927
- <span class="cline-any cline-neutral">&nbsp;</span>
3928
4010
  <span class="cline-any cline-no">&nbsp;</span>
3929
4011
  <span class="cline-any cline-neutral">&nbsp;</span>
3930
4012
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3966,18 +4048,14 @@
3966
4048
  <span class="cline-any cline-neutral">&nbsp;</span>
3967
4049
  <span class="cline-any cline-no">&nbsp;</span>
3968
4050
  <span class="cline-any cline-no">&nbsp;</span>
3969
- <span class="cline-any cline-neutral">&nbsp;</span>
3970
4051
  <span class="cline-any cline-no">&nbsp;</span>
3971
4052
  <span class="cline-any cline-no">&nbsp;</span>
3972
4053
  <span class="cline-any cline-no">&nbsp;</span>
3973
- <span class="cline-any cline-neutral">&nbsp;</span>
3974
- <span class="cline-any cline-no">&nbsp;</span>
3975
4054
  <span class="cline-any cline-no">&nbsp;</span>
3976
4055
  <span class="cline-any cline-no">&nbsp;</span>
3977
4056
  <span class="cline-any cline-no">&nbsp;</span>
3978
4057
  <span class="cline-any cline-neutral">&nbsp;</span>
3979
4058
  <span class="cline-any cline-neutral">&nbsp;</span>
3980
- <span class="cline-any cline-neutral">&nbsp;</span>
3981
4059
  <span class="cline-any cline-no">&nbsp;</span>
3982
4060
  <span class="cline-any cline-neutral">&nbsp;</span>
3983
4061
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4227,23 +4305,13 @@
4227
4305
  <span class="cline-any cline-neutral">&nbsp;</span>
4228
4306
  <span class="cline-any cline-neutral">&nbsp;</span>
4229
4307
  <span class="cline-any cline-yes">1x</span>
4230
- <span class="cline-any cline-neutral">&nbsp;</span>
4231
- <span class="cline-any cline-neutral">&nbsp;</span>
4232
- <span class="cline-any cline-neutral">&nbsp;</span>
4233
- <span class="cline-any cline-neutral">&nbsp;</span>
4234
- <span class="cline-any cline-neutral">&nbsp;</span>
4235
4308
  <span class="cline-any cline-no">&nbsp;</span>
4236
4309
  <span class="cline-any cline-no">&nbsp;</span>
4237
4310
  <span class="cline-any cline-no">&nbsp;</span>
4238
4311
  <span class="cline-any cline-no">&nbsp;</span>
4239
4312
  <span class="cline-any cline-no">&nbsp;</span>
4240
- <span class="cline-any cline-neutral">&nbsp;</span>
4241
- <span class="cline-any cline-neutral">&nbsp;</span>
4242
- <span class="cline-any cline-neutral">&nbsp;</span>
4243
- <span class="cline-any cline-no">&nbsp;</span>
4244
4313
  <span class="cline-any cline-no">&nbsp;</span>
4245
4314
  <span class="cline-any cline-neutral">&nbsp;</span>
4246
- <span class="cline-any cline-neutral">&nbsp;</span>
4247
4315
  <span class="cline-any cline-no">&nbsp;</span>
4248
4316
  <span class="cline-any cline-no">&nbsp;</span>
4249
4317
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4252,11 +4320,13 @@
4252
4320
  <span class="cline-any cline-no">&nbsp;</span>
4253
4321
  <span class="cline-any cline-no">&nbsp;</span>
4254
4322
  <span class="cline-any cline-neutral">&nbsp;</span>
4323
+ <span class="cline-any cline-neutral">&nbsp;</span>
4255
4324
  <span class="cline-any cline-no">&nbsp;</span>
4256
4325
  <span class="cline-any cline-no">&nbsp;</span>
4257
4326
  <span class="cline-any cline-no">&nbsp;</span>
4258
4327
  <span class="cline-any cline-no">&nbsp;</span>
4259
4328
  <span class="cline-any cline-neutral">&nbsp;</span>
4329
+ <span class="cline-any cline-neutral">&nbsp;</span>
4260
4330
  <span class="cline-any cline-no">&nbsp;</span>
4261
4331
  <span class="cline-any cline-no">&nbsp;</span>
4262
4332
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4279,10 +4349,12 @@
4279
4349
  <span class="cline-any cline-neutral">&nbsp;</span>
4280
4350
  <span class="cline-any cline-neutral">&nbsp;</span>
4281
4351
  <span class="cline-any cline-neutral">&nbsp;</span>
4352
+ <span class="cline-any cline-neutral">&nbsp;</span>
4282
4353
  <span class="cline-any cline-no">&nbsp;</span>
4283
4354
  <span class="cline-any cline-no">&nbsp;</span>
4284
4355
  <span class="cline-any cline-no">&nbsp;</span>
4285
4356
  <span class="cline-any cline-neutral">&nbsp;</span>
4357
+ <span class="cline-any cline-neutral">&nbsp;</span>
4286
4358
  <span class="cline-any cline-no">&nbsp;</span>
4287
4359
  <span class="cline-any cline-no">&nbsp;</span>
4288
4360
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4294,11 +4366,11 @@
4294
4366
  <span class="cline-any cline-neutral">&nbsp;</span>
4295
4367
  <span class="cline-any cline-neutral">&nbsp;</span>
4296
4368
  <span class="cline-any cline-yes">1x</span>
4297
- <span class="cline-any cline-yes">18x</span>
4298
4369
  <span class="cline-any cline-neutral">&nbsp;</span>
4299
4370
  <span class="cline-any cline-yes">18x</span>
4300
4371
  <span class="cline-any cline-neutral">&nbsp;</span>
4301
4372
  <span class="cline-any cline-yes">18x</span>
4373
+ <span class="cline-any cline-neutral">&nbsp;</span>
4302
4374
  <span class="cline-any cline-yes">18x</span>
4303
4375
  <span class="cline-any cline-no">&nbsp;</span>
4304
4376
  <span class="cline-any cline-yes">18x</span>
@@ -4327,10 +4399,11 @@
4327
4399
  <span class="cline-any cline-yes">7x</span>
4328
4400
  <span class="cline-any cline-neutral">&nbsp;</span>
4329
4401
  <span class="cline-any cline-neutral">&nbsp;</span>
4330
- <span class="cline-any cline-yes">18x</span>
4331
4402
  <span class="cline-any cline-neutral">&nbsp;</span>
4332
4403
  <span class="cline-any cline-yes">18x</span>
4333
- <span class="cline-any cline-yes">172x</span>
4404
+ <span class="cline-any cline-yes">18x</span>
4405
+ <span class="cline-any cline-yes">18x</span>
4406
+ <span class="cline-any cline-yes">651x</span>
4334
4407
  <span class="cline-any cline-yes">6x</span>
4335
4408
  <span class="cline-any cline-yes">6x</span>
4336
4409
  <span class="cline-any cline-yes">2x</span>
@@ -4362,6 +4435,28 @@
4362
4435
  <span class="cline-any cline-neutral">&nbsp;</span>
4363
4436
  <span class="cline-any cline-neutral">&nbsp;</span>
4364
4437
  <span class="cline-any cline-neutral">&nbsp;</span>
4438
+ <span class="cline-any cline-yes">651x</span>
4439
+ <span class="cline-any cline-no">&nbsp;</span>
4440
+ <span class="cline-any cline-no">&nbsp;</span>
4441
+ <span class="cline-any cline-neutral">&nbsp;</span>
4442
+ <span class="cline-any cline-neutral">&nbsp;</span>
4443
+ <span class="cline-any cline-neutral">&nbsp;</span>
4444
+ <span class="cline-any cline-neutral">&nbsp;</span>
4445
+ <span class="cline-any cline-yes">18x</span>
4446
+ <span class="cline-any cline-no">&nbsp;</span>
4447
+ <span class="cline-any cline-neutral">&nbsp;</span>
4448
+ <span class="cline-any cline-no">&nbsp;</span>
4449
+ <span class="cline-any cline-neutral">&nbsp;</span>
4450
+ <span class="cline-any cline-neutral">&nbsp;</span>
4451
+ <span class="cline-any cline-neutral">&nbsp;</span>
4452
+ <span class="cline-any cline-neutral">&nbsp;</span>
4453
+ <span class="cline-any cline-neutral">&nbsp;</span>
4454
+ <span class="cline-any cline-neutral">&nbsp;</span>
4455
+ <span class="cline-any cline-neutral">&nbsp;</span>
4456
+ <span class="cline-any cline-neutral">&nbsp;</span>
4457
+ <span class="cline-any cline-neutral">&nbsp;</span>
4458
+ <span class="cline-any cline-neutral">&nbsp;</span>
4459
+ <span class="cline-any cline-neutral">&nbsp;</span>
4365
4460
  <span class="cline-any cline-neutral">&nbsp;</span>
4366
4461
  <span class="cline-any cline-yes">18x</span>
4367
4462
  <span class="cline-any cline-yes">8x</span>
@@ -4369,8 +4464,10 @@
4369
4464
  <span class="cline-any cline-neutral">&nbsp;</span>
4370
4465
  <span class="cline-any cline-yes">18x</span>
4371
4466
  <span class="cline-any cline-neutral">&nbsp;</span>
4467
+ <span class="cline-any cline-neutral">&nbsp;</span>
4372
4468
  <span class="cline-any cline-yes">18x</span>
4373
- <span class="cline-any cline-yes">18x</span>
4469
+ <span class="cline-any cline-neutral">&nbsp;</span>
4470
+ <span class="cline-any cline-neutral">&nbsp;</span>
4374
4471
  <span class="cline-any cline-no">&nbsp;</span>
4375
4472
  <span class="cline-any cline-no">&nbsp;</span>
4376
4473
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4379,18 +4476,34 @@
4379
4476
  <span class="cline-any cline-yes">18x</span>
4380
4477
  <span class="cline-any cline-yes">3x</span>
4381
4478
  <span class="cline-any cline-yes">3x</span>
4479
+ <span class="cline-any cline-no">&nbsp;</span>
4480
+ <span class="cline-any cline-neutral">&nbsp;</span>
4481
+ <span class="cline-any cline-yes">3x</span>
4482
+ <span class="cline-any cline-yes">3x</span>
4382
4483
  <span class="cline-any cline-yes">3x</span>
4383
4484
  <span class="cline-any cline-yes">3x</span>
4384
4485
  <span class="cline-any cline-neutral">&nbsp;</span>
4385
4486
  <span class="cline-any cline-neutral">&nbsp;</span>
4487
+ <span class="cline-any cline-neutral">&nbsp;</span>
4386
4488
  <span class="cline-any cline-yes">18x</span>
4387
4489
  <span class="cline-any cline-yes">8x</span>
4388
4490
  <span class="cline-any cline-yes">8x</span>
4491
+ <span class="cline-any cline-no">&nbsp;</span>
4492
+ <span class="cline-any cline-neutral">&nbsp;</span>
4493
+ <span class="cline-any cline-yes">8x</span>
4494
+ <span class="cline-any cline-yes">8x</span>
4389
4495
  <span class="cline-any cline-yes">8x</span>
4390
4496
  <span class="cline-any cline-yes">8x</span>
4391
4497
  <span class="cline-any cline-neutral">&nbsp;</span>
4392
4498
  <span class="cline-any cline-neutral">&nbsp;</span>
4499
+ <span class="cline-any cline-neutral">&nbsp;</span>
4393
4500
  <span class="cline-any cline-yes">18x</span>
4501
+ <span class="cline-any cline-neutral">&nbsp;</span>
4502
+ <span class="cline-any cline-no">&nbsp;</span>
4503
+ <span class="cline-any cline-no">&nbsp;</span>
4504
+ <span class="cline-any cline-no">&nbsp;</span>
4505
+ <span class="cline-any cline-no">&nbsp;</span>
4506
+ <span class="cline-any cline-neutral">&nbsp;</span>
4394
4507
  <span class="cline-any cline-no">&nbsp;</span>
4395
4508
  <span class="cline-any cline-no">&nbsp;</span>
4396
4509
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4472,6 +4585,16 @@
4472
4585
  <span class="cline-any cline-neutral">&nbsp;</span>
4473
4586
  <span class="cline-any cline-no">&nbsp;</span>
4474
4587
  <span class="cline-any cline-neutral">&nbsp;</span>
4588
+ <span class="cline-any cline-neutral">&nbsp;</span>
4589
+ <span class="cline-any cline-neutral">&nbsp;</span>
4590
+ <span class="cline-any cline-yes">18x</span>
4591
+ <span class="cline-any cline-yes">18x</span>
4592
+ <span class="cline-any cline-no">&nbsp;</span>
4593
+ <span class="cline-any cline-no">&nbsp;</span>
4594
+ <span class="cline-any cline-neutral">&nbsp;</span>
4595
+ <span class="cline-any cline-yes">18x</span>
4596
+ <span class="cline-any cline-neutral">&nbsp;</span>
4597
+ <span class="cline-any cline-neutral">&nbsp;</span>
4475
4598
  <span class="cline-any cline-yes">18x</span>
4476
4599
  <span class="cline-any cline-yes">8x</span>
4477
4600
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4490,10 +4613,50 @@
4490
4613
  <span class="cline-any cline-neutral">&nbsp;</span>
4491
4614
  <span class="cline-any cline-neutral">&nbsp;</span>
4492
4615
  <span class="cline-any cline-neutral">&nbsp;</span>
4616
+ <span class="cline-any cline-neutral">&nbsp;</span>
4617
+ <span class="cline-any cline-yes">18x</span>
4618
+ <span class="cline-any cline-no">&nbsp;</span>
4619
+ <span class="cline-any cline-no">&nbsp;</span>
4620
+ <span class="cline-any cline-neutral">&nbsp;</span>
4621
+ <span class="cline-any cline-neutral">&nbsp;</span>
4622
+ <span class="cline-any cline-yes">18x</span>
4623
+ <span class="cline-any cline-yes">18x</span>
4624
+ <span class="cline-any cline-yes">3x</span>
4625
+ <span class="cline-any cline-neutral">&nbsp;</span>
4626
+ <span class="cline-any cline-yes">18x</span>
4627
+ <span class="cline-any cline-yes">3x</span>
4628
+ <span class="cline-any cline-no">&nbsp;</span>
4629
+ <span class="cline-any cline-no">&nbsp;</span>
4630
+ <span class="cline-any cline-no">&nbsp;</span>
4631
+ <span class="cline-any cline-neutral">&nbsp;</span>
4632
+ <span class="cline-any cline-neutral">&nbsp;</span>
4633
+ <span class="cline-any cline-neutral">&nbsp;</span>
4634
+ <span class="cline-any cline-neutral">&nbsp;</span>
4635
+ <span class="cline-any cline-yes">18x</span>
4636
+ <span class="cline-any cline-yes">8x</span>
4637
+ <span class="cline-any cline-neutral">&nbsp;</span>
4638
+ <span class="cline-any cline-yes">18x</span>
4639
+ <span class="cline-any cline-yes">8x</span>
4640
+ <span class="cline-any cline-no">&nbsp;</span>
4641
+ <span class="cline-any cline-no">&nbsp;</span>
4642
+ <span class="cline-any cline-no">&nbsp;</span>
4643
+ <span class="cline-any cline-neutral">&nbsp;</span>
4644
+ <span class="cline-any cline-neutral">&nbsp;</span>
4645
+ <span class="cline-any cline-neutral">&nbsp;</span>
4646
+ <span class="cline-any cline-neutral">&nbsp;</span>
4493
4647
  <span class="cline-any cline-yes">18x</span>
4648
+ <span class="cline-any cline-yes">11x</span>
4649
+ <span class="cline-any cline-neutral">&nbsp;</span>
4650
+ <span class="cline-any cline-yes">18x</span>
4651
+ <span class="cline-any cline-yes">15x</span>
4652
+ <span class="cline-any cline-no">&nbsp;</span>
4494
4653
  <span class="cline-any cline-no">&nbsp;</span>
4495
4654
  <span class="cline-any cline-no">&nbsp;</span>
4496
4655
  <span class="cline-any cline-neutral">&nbsp;</span>
4656
+ <span class="cline-any cline-neutral">&nbsp;</span>
4657
+ <span class="cline-any cline-neutral">&nbsp;</span>
4658
+ <span class="cline-any cline-neutral">&nbsp;</span>
4659
+ <span class="cline-any cline-neutral">&nbsp;</span>
4497
4660
  <span class="cline-any cline-yes">18x</span>
4498
4661
  <span class="cline-any cline-yes">18x</span>
4499
4662
  <span class="cline-any cline-yes">11x</span>
@@ -4561,7 +4724,6 @@
4561
4724
  <span class="cline-any cline-no">&nbsp;</span>
4562
4725
  <span class="cline-any cline-no">&nbsp;</span>
4563
4726
  <span class="cline-any cline-neutral">&nbsp;</span>
4564
- <span class="cline-any cline-neutral">&nbsp;</span>
4565
4727
  <span class="cline-any cline-no">&nbsp;</span>
4566
4728
  <span class="cline-any cline-no">&nbsp;</span>
4567
4729
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4581,6 +4743,7 @@
4581
4743
  <span class="cline-any cline-no">&nbsp;</span>
4582
4744
  <span class="cline-any cline-no">&nbsp;</span>
4583
4745
  <span class="cline-any cline-no">&nbsp;</span>
4746
+ <span class="cline-any cline-no">&nbsp;</span>
4584
4747
  <span class="cline-any cline-neutral">&nbsp;</span>
4585
4748
  <span class="cline-any cline-no">&nbsp;</span>
4586
4749
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4588,7 +4751,6 @@
4588
4751
  <span class="cline-any cline-neutral">&nbsp;</span>
4589
4752
  <span class="cline-any cline-neutral">&nbsp;</span>
4590
4753
  <span class="cline-any cline-neutral">&nbsp;</span>
4591
- <span class="cline-any cline-neutral">&nbsp;</span>
4592
4754
  <span class="cline-any cline-no">&nbsp;</span>
4593
4755
  <span class="cline-any cline-neutral">&nbsp;</span>
4594
4756
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4657,8 +4819,6 @@
4657
4819
  <span class="cline-any cline-neutral">&nbsp;</span>
4658
4820
  <span class="cline-any cline-neutral">&nbsp;</span>
4659
4821
  <span class="cline-any cline-no">&nbsp;</span>
4660
- <span class="cline-any cline-no">&nbsp;</span>
4661
- <span class="cline-any cline-neutral">&nbsp;</span>
4662
4822
  <span class="cline-any cline-neutral">&nbsp;</span>
4663
4823
  <span class="cline-any cline-no">&nbsp;</span>
4664
4824
  <span class="cline-any cline-no">&nbsp;</span>
@@ -5001,14 +5161,7 @@
5001
5161
  <span class="cline-any cline-neutral">&nbsp;</span>
5002
5162
  <span class="cline-any cline-neutral">&nbsp;</span>
5003
5163
  <span class="cline-any cline-neutral">&nbsp;</span>
5004
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
5005
- wrapForEachToGenerator as wrapForEach,
5006
- wrapIteratorToGenerator as wrapIterator,
5007
- runGeneratorSync as runSync,
5008
- returnOrigin,
5009
- } from '../utils/time-slicing';
5010
- import { waitOqlQueryComponentChildrenFinish } from '../common';
5011
- import type { EmbeddedTSFileGenerator } from '../utils';
5164
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { v4 as uuidv4 } from 'uuid';
5012
5165
  import { FrontendLibrary } from './FrontendLibrary__';
5013
5166
  import {
5014
5167
  TranslatorState,
@@ -5017,9 +5170,6 @@ import {
5017
5170
  indent,
5018
5171
  createCompilerState,
5019
5172
  embeddedTSEmitter,
5020
- withSourceMapGenerator,
5021
- withGenerator,
5022
- TranslatorGenerator,
5023
5173
  } from '../translator';
5024
5174
  import Namespace from './Namespace__';
5025
5175
  import CallQueryComponent from './CallQueryComponent__';
@@ -5034,7 +5184,6 @@ import MatchCase from './MatchCase__';
5034
5184
  import TypeAnnotation from './TypeAnnotation__';
5035
5185
  import CallInterface from './CallInterface__';
5036
5186
  import CallLogic from './CallLogic__';
5037
- import ViewElement from './ViewElement__';
5038
5187
  &nbsp;
5039
5188
  //================================================================================
5040
5189
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -5044,7 +5193,6 @@ import { EventPayload, Params } from '../common/EventEmitter';
5044
5193
  import { concept, excludedInJSON, property, className } from '../decorators';
5045
5194
  &nbsp;
5046
5195
  import * as utils from '../utils';
5047
- import { v4 as uuidv4 } from 'uuid';
5048
5196
  import BaseNode from '../common/BaseNode';
5049
5197
  import Transactional from './Transactional__';
5050
5198
  import TypeParam from './TypeParam__';
@@ -5122,44 +5270,70 @@ export class Logic extends BaseNode {
5122
5270
  /**
5123
5271
  * 事务
5124
5272
  */
5125
- @property('Transactional')
5273
+ @property({
5274
+ objectRef: 'Transactional',
5275
+ })
5126
5276
  // @ts-ignore
5127
5277
  transactional!: Transactional;
5128
5278
  &nbsp;
5129
5279
  /**
5130
5280
  * 类型参数列表
5131
5281
  */
5132
- @property('TypeParam')
5282
+ @property({
5283
+ objectRef: 'TypeParam',
5284
+ isArray: true,
5285
+ defaultValue: null,
5286
+ })
5133
5287
  typeParams: Array&lt;TypeParam&gt; = null;
5134
5288
  &nbsp;
5135
5289
  /**
5136
5290
  * 输入参数列表
5137
5291
  */
5138
- @property('Param')
5292
+ @property({
5293
+ objectRef: 'Param',
5294
+ isArray: true,
5295
+ defaultValue: [],
5296
+ })
5139
5297
  params: Array&lt;Param&gt; = [];
5140
5298
  &nbsp;
5141
5299
  /**
5142
5300
  * 输出参数列表
5143
5301
  */
5144
- @property('Return')
5302
+ @property({
5303
+ objectRef: 'Return',
5304
+ isArray: true,
5305
+ defaultValue: [],
5306
+ })
5145
5307
  returns: Array&lt;Return&gt; = [];
5146
5308
  &nbsp;
5147
5309
  /**
5148
5310
  * 变量列表
5149
5311
  */
5150
- @property('Variable')
5312
+ @property({
5313
+ objectRef: 'Variable',
5314
+ isArray: true,
5315
+ defaultValue: [],
5316
+ })
5151
5317
  variables: Array&lt;Variable&gt; = [];
5152
5318
  &nbsp;
5153
5319
  /**
5154
5320
  * 逻辑项列表
5155
5321
  */
5156
- @property('LogicItem')
5322
+ @property({
5323
+ objectRef: 'LogicItem',
5324
+ isArray: true,
5325
+ defaultValue: [],
5326
+ })
5157
5327
  body: Array&lt;LogicItem&gt; = [];
5158
5328
  &nbsp;
5159
5329
  /**
5160
5330
  * 逻辑项列表
5161
5331
  */
5162
- @property('LogicItem')
5332
+ @property({
5333
+ objectRef: 'LogicItem',
5334
+ isArray: true,
5335
+ defaultValue: [],
5336
+ })
5163
5337
  playground: Array&lt;LogicItem&gt; = [];
5164
5338
  &nbsp;
5165
5339
  /**
@@ -5168,36 +5342,42 @@ export class Logic extends BaseNode {
5168
5342
  <span class="fstat-no" title="function not covered" > get m</span>odule() {
5169
5343
  <span class="cstat-no" title="statement not covered" > return this.getAncestor('Module') as Module;</span>
5170
5344
  }
5345
+ &nbsp;
5171
5346
  /**
5172
5347
  * 祖先 App
5173
5348
  */
5174
5349
  <span class="fstat-no" title="function not covered" > get a</span>pp() {
5175
5350
  <span class="cstat-no" title="statement not covered" > return this.getAncestor('App') as App;</span>
5176
5351
  }
5352
+ &nbsp;
5177
5353
  /**
5178
5354
  * 祖先 Connector
5179
5355
  */
5180
5356
  <span class="fstat-no" title="function not covered" > get c</span>onnector() {
5181
5357
  <span class="cstat-no" title="statement not covered" > return this.getAncestor('Connector') as Connector;</span>
5182
5358
  }
5359
+ &nbsp;
5183
5360
  /**
5184
5361
  * 祖先 View
5185
5362
  */
5186
5363
  get view() {
5187
5364
  return this.getAncestor('View') as View;
5188
5365
  }
5366
+ &nbsp;
5189
5367
  /**
5190
5368
  * 祖先 Frontend
5191
5369
  */
5192
5370
  <span class="fstat-no" title="function not covered" > get f</span>rontend() {
5193
5371
  <span class="cstat-no" title="statement not covered" > return this.getAncestor('Frontend') as Frontend;</span>
5194
5372
  }
5373
+ &nbsp;
5195
5374
  /**
5196
5375
  * 祖先 ProcessElement
5197
5376
  */
5198
5377
  <span class="fstat-no" title="function not covered" > get p</span>rocessElement() {
5199
5378
  <span class="cstat-no" title="statement not covered" > return this.getAncestor('ProcessElement') as ProcessElement;</span>
5200
5379
  }
5380
+ &nbsp;
5201
5381
  /**
5202
5382
  * 祖先 Process
5203
5383
  */
@@ -5209,7 +5389,7 @@ export class Logic extends BaseNode {
5209
5389
  * @param source 需要合并的部分参数
5210
5390
  */
5211
5391
  constructor(source?: Partial&lt;Logic&gt;) {
5212
- source = Object.assign({}, Logic.getDefaultOptions(), source);
5392
+ source = { ...Logic.getDefaultOptions(), ...source };
5213
5393
  super(source);
5214
5394
  super.subConstructor(source);
5215
5395
  }
@@ -5229,6 +5409,7 @@ export class Logic extends BaseNode {
5229
5409
  }
5230
5410
  <span class="cstat-no" title="statement not covered" > return params;</span>
5231
5411
  }
5412
+ &nbsp;
5232
5413
  /**
5233
5414
  * 设置逻辑名称
5234
5415
  */
@@ -5319,8 +5500,9 @@ export class Logic extends BaseNode {
5319
5500
  &nbsp;
5320
5501
  <span class="fstat-no" title="function not covered" > getTypeParamExistingNames(</span>excludedList: Array&lt;TypeParam&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
5321
5502
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
5322
- <span class="cstat-no" title="statement not covered" > return ((this.typeParams as TypeParam[]) || []).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>
5503
+ <span class="cstat-no" title="statement not covered" > return ((this.typeParams as TypeParam[]) || []).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>
5323
5504
  }
5505
+ &nbsp;
5324
5506
  <span class="fstat-no" title="function not covered" > getTypeParamUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'typeParam1')</span> {
5325
5507
  <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getTypeParamExistingNames(), undefined, false);</span>
5326
5508
  }
@@ -6134,7 +6316,7 @@ export class Logic extends BaseNode {
6134
6316
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
6135
6317
  <span class="cstat-no" title="statement not covered" > transactional = this.transactional;</span>
6136
6318
  <span class="cstat-no" title="statement not covered" > if (!transactional) {</span>
6137
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到事务 ' + options);</span>
6319
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到事务 ${options}`);</span>
6138
6320
  }
6139
6321
  } else {
6140
6322
  <span class="cstat-no" title="statement not covered" > transactional = options;</span>
@@ -6143,7 +6325,7 @@ export class Logic extends BaseNode {
6143
6325
  }
6144
6326
  &nbsp;
6145
6327
  <span class="fstat-no" title="function not covered" > __removeTransactional(</span>transactional: Transactional) {
6146
- const parentKey = <span class="cstat-no" title="statement not covered" >transactional.parentKey;</span>
6328
+ const { parentKey } = <span class="cstat-no" title="statement not covered" >transactional;</span>
6147
6329
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
6148
6330
  parentNode: this,
6149
6331
  parentKey,
@@ -6158,16 +6340,12 @@ export class Logic extends BaseNode {
6158
6340
  // @ts-ignore
6159
6341
  const n = <span class="cstat-no" title="statement not covered" >transactional.__v_raw || transactional;</span>
6160
6342
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
6161
- // @ts-ignore
6162
- 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>
6343
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
6163
6344
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
6164
6345
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
6165
- } else {
6166
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
6167
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
6168
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6169
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6170
- }
6346
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
6347
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6348
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6171
6349
  }
6172
6350
  }
6173
6351
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -6190,7 +6368,7 @@ export class Logic extends BaseNode {
6190
6368
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
6191
6369
  <span class="cstat-no" title="statement not covered" > typeParam = (this.typeParams as TypeParam[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
6192
6370
  <span class="cstat-no" title="statement not covered" > if (!typeParam) {</span>
6193
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到类型参数 ' + options);</span>
6371
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到类型参数 ${options}`);</span>
6194
6372
  }
6195
6373
  } else {
6196
6374
  <span class="cstat-no" title="statement not covered" > typeParam = options;</span>
@@ -6199,7 +6377,7 @@ export class Logic extends BaseNode {
6199
6377
  }
6200
6378
  &nbsp;
6201
6379
  <span class="fstat-no" title="function not covered" > __removeTypeParam(</span>typeParam: TypeParam) {
6202
- const parentKey = <span class="cstat-no" title="statement not covered" >typeParam.parentKey;</span>
6380
+ const { parentKey } = <span class="cstat-no" title="statement not covered" >typeParam;</span>
6203
6381
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
6204
6382
  parentNode: this,
6205
6383
  parentKey,
@@ -6214,16 +6392,12 @@ export class Logic extends BaseNode {
6214
6392
  // @ts-ignore
6215
6393
  const n = <span class="cstat-no" title="statement not covered" >typeParam.__v_raw || typeParam;</span>
6216
6394
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
6217
- // @ts-ignore
6218
- 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>
6395
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
6219
6396
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
6220
6397
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
6221
- } else {
6222
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
6223
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
6224
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6225
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6226
- }
6398
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
6399
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6400
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6227
6401
  }
6228
6402
  }
6229
6403
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -6246,7 +6420,7 @@ export class Logic extends BaseNode {
6246
6420
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
6247
6421
  <span class="cstat-no" title="statement not covered" > param = (this.params as Param[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
6248
6422
  <span class="cstat-no" title="statement not covered" > if (!param) {</span>
6249
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到输入参数 ' + options);</span>
6423
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到输入参数 ${options}`);</span>
6250
6424
  }
6251
6425
  } else {
6252
6426
  <span class="cstat-no" title="statement not covered" > param = options;</span>
@@ -6255,7 +6429,7 @@ export class Logic extends BaseNode {
6255
6429
  }
6256
6430
  &nbsp;
6257
6431
  <span class="fstat-no" title="function not covered" > __removeParam(</span>param: Param) {
6258
- const parentKey = <span class="cstat-no" title="statement not covered" >param.parentKey;</span>
6432
+ const { parentKey } = <span class="cstat-no" title="statement not covered" >param;</span>
6259
6433
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
6260
6434
  parentNode: this,
6261
6435
  parentKey,
@@ -6270,16 +6444,12 @@ export class Logic extends BaseNode {
6270
6444
  // @ts-ignore
6271
6445
  const n = <span class="cstat-no" title="statement not covered" >param.__v_raw || param;</span>
6272
6446
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
6273
- // @ts-ignore
6274
- 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>
6447
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
6275
6448
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
6276
6449
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
6277
- } else {
6278
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
6279
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
6280
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6281
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6282
- }
6450
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
6451
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6452
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6283
6453
  }
6284
6454
  }
6285
6455
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -6302,7 +6472,7 @@ export class Logic extends BaseNode {
6302
6472
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
6303
6473
  <span class="cstat-no" title="statement not covered" > ret = (this.returns as Return[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
6304
6474
  <span class="cstat-no" title="statement not covered" > if (!ret) {</span>
6305
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到输出参数 ' + options);</span>
6475
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到输出参数 ${options}`);</span>
6306
6476
  }
6307
6477
  } else {
6308
6478
  <span class="cstat-no" title="statement not covered" > ret = options;</span>
@@ -6311,7 +6481,7 @@ export class Logic extends BaseNode {
6311
6481
  }
6312
6482
  &nbsp;
6313
6483
  <span class="fstat-no" title="function not covered" > __removeReturn(</span>ret: Return) {
6314
- const parentKey = <span class="cstat-no" title="statement not covered" >ret.parentKey;</span>
6484
+ const { parentKey } = <span class="cstat-no" title="statement not covered" >ret;</span>
6315
6485
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
6316
6486
  parentNode: this,
6317
6487
  parentKey,
@@ -6326,16 +6496,12 @@ export class Logic extends BaseNode {
6326
6496
  // @ts-ignore
6327
6497
  const n = <span class="cstat-no" title="statement not covered" >ret.__v_raw || ret;</span>
6328
6498
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
6329
- // @ts-ignore
6330
- 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>
6499
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
6331
6500
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
6332
6501
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
6333
- } else {
6334
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
6335
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
6336
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6337
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6338
- }
6502
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
6503
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6504
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6339
6505
  }
6340
6506
  }
6341
6507
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -6358,7 +6524,7 @@ export class Logic extends BaseNode {
6358
6524
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
6359
6525
  <span class="cstat-no" title="statement not covered" > variable = (this.variables as Variable[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
6360
6526
  <span class="cstat-no" title="statement not covered" > if (!variable) {</span>
6361
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到变量 ' + options);</span>
6527
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到变量 ${options}`);</span>
6362
6528
  }
6363
6529
  } else {
6364
6530
  <span class="cstat-no" title="statement not covered" > variable = options;</span>
@@ -6367,7 +6533,7 @@ export class Logic extends BaseNode {
6367
6533
  }
6368
6534
  &nbsp;
6369
6535
  <span class="fstat-no" title="function not covered" > __removeVariable(</span>variable: Variable) {
6370
- const parentKey = <span class="cstat-no" title="statement not covered" >variable.parentKey;</span>
6536
+ const { parentKey } = <span class="cstat-no" title="statement not covered" >variable;</span>
6371
6537
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
6372
6538
  parentNode: this,
6373
6539
  parentKey,
@@ -6382,16 +6548,12 @@ export class Logic extends BaseNode {
6382
6548
  // @ts-ignore
6383
6549
  const n = <span class="cstat-no" title="statement not covered" >variable.__v_raw || variable;</span>
6384
6550
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
6385
- // @ts-ignore
6386
- 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>
6551
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
6387
6552
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
6388
6553
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
6389
- } else {
6390
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
6391
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
6392
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6393
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6394
- }
6554
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
6555
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6556
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6395
6557
  }
6396
6558
  }
6397
6559
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -6404,7 +6566,7 @@ export class Logic extends BaseNode {
6404
6566
  removeItemInBody(logicItem: LogicItem): void;
6405
6567
  &nbsp;
6406
6568
  <span class="fstat-no" title="function not covered" > removeItemInBody(</span>options: LogicItem) {
6407
- let logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
6569
+ const logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
6408
6570
  <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
6409
6571
  }
6410
6572
  &nbsp;
@@ -6415,12 +6577,12 @@ export class Logic extends BaseNode {
6415
6577
  removeItemInPlayground(logicItem: LogicItem): void;
6416
6578
  &nbsp;
6417
6579
  <span class="fstat-no" title="function not covered" > removeItemInPlayground(</span>options: LogicItem) {
6418
- let logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
6580
+ const logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
6419
6581
  <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
6420
6582
  }
6421
6583
  &nbsp;
6422
6584
  <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
6423
- const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
6585
+ const { parentKey } = <span class="cstat-no" title="statement not covered" >logicItem;</span>
6424
6586
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
6425
6587
  parentNode: this,
6426
6588
  parentKey,
@@ -6435,16 +6597,12 @@ export class Logic extends BaseNode {
6435
6597
  // @ts-ignore
6436
6598
  const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
6437
6599
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
6438
- // @ts-ignore
6439
- 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>
6600
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
6440
6601
  <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
6441
6602
  <span class="cstat-no" title="statement not covered" > params.index = index;</span>
6442
- } else {
6443
- const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
6444
- <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
6445
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6446
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6447
- }
6603
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
6604
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
6605
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
6448
6606
  }
6449
6607
  }
6450
6608
  <span class="cstat-no" title="statement not covered" > return params;</span>
@@ -6694,181 +6852,216 @@ export class Logic extends BaseNode {
6694
6852
  };
6695
6853
  }
6696
6854
  &nbsp;
6697
- @withSourceMapGenerator
6698
- <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTSInProcess(
6699
- state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span>
6700
- prependCode?: string,
6701
- noName?: boolean,
6702
- prefix?: boolean,
6703
- ): TranslatorGenerator {
6704
- const self = <span class="cstat-no" title="statement not covered" >this;</span>
6855
+ @withSourceMap()
6856
+ <span class="fstat-no" title="function not covered" > toEmbeddedTSInProcess(</span>state?: TranslatorState, prependCode?: string, noName?: boolean, prefix?: boolean): string {
6705
6857
  let code = <span class="cstat-no" title="statement not covered" >'';</span>
6706
- <span class="cstat-no" title="statement not covered" > if (!prefix) <span class="cstat-no" title="statement not covered" >code += `${noName ? '' : `${self.name}:`} function(`;</span></span>
6707
- else <span class="cstat-no" title="statement not covered" >code += `function ${self.name}(`; </span>// 加空格会导致无法查询到引用
6708
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(</span>
6709
- // 加空格会导致无法查询到引用
6710
- self.params,
6711
- function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>param, index) {
6712
- <span class="cstat-no" title="statement not covered" > code += yield* param.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6713
- <span class="cstat-no" title="statement not covered" > if (index !== self.params.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
6714
- },
6715
- );
6858
+ <span class="cstat-no" title="statement not covered" > if (!prefix) <span class="cstat-no" title="statement not covered" >code += `${noName ? '' : `${this.name}:`} function(`;</span></span>
6859
+ else <span class="cstat-no" title="statement not covered" >code += `function ${this.name}(`; </span>// 加空格会导致无法查询到引用
6860
+ <span class="cstat-no" title="statement not covered" > this.params.forEach(<span class="fstat-no" title="function not covered" >(p</span>aram, index) =&gt; {</span>
6861
+ <span class="cstat-no" title="statement not covered" > code += param.toEmbeddedTS(shiftState(state, code, { inline: true }), null, true);</span>
6862
+ <span class="cstat-no" title="statement not covered" > if (index !== this.params.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
6863
+ });
6716
6864
  <span class="cstat-no" title="statement not covered" > code += `) {\n`;</span>
6717
6865
  <span class="cstat-no" title="statement not covered" > code += prependCode || '';</span>
6718
6866
  <span class="cstat-no" title="statement not covered" > code += '\n';</span>
6719
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.variables, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>variable) {</span>
6867
+ <span class="cstat-no" title="statement not covered" > this.variables.forEach(<span class="fstat-no" title="function not covered" >(v</span>ariable) =&gt; {</span>
6720
6868
  <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}let `;</span>
6721
- <span class="cstat-no" title="statement not covered" > code += yield* variable.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6869
+ <span class="cstat-no" title="statement not covered" > code += variable.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6722
6870
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6723
6871
  });
6724
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.returns, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>ret) {</span>
6872
+ &nbsp;
6873
+ <span class="cstat-no" title="statement not covered" > this.returns.forEach(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; {</span>
6725
6874
  <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}let `;</span>
6726
- <span class="cstat-no" title="statement not covered" > code += yield* ret.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6875
+ <span class="cstat-no" title="statement not covered" > code += ret.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6727
6876
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6728
6877
  });
6729
- <span class="cstat-no" title="statement not covered" > if (!self.body.length &amp;&amp; self.returns.length) {</span>
6730
- <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}return ${self.returns[0].name};\n`;</span>
6878
+ &nbsp;
6879
+ <span class="cstat-no" title="statement not covered" > if (!this.body.length &amp;&amp; this.returns.length) {</span>
6880
+ <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}return ${this.returns[0].name};\n`;</span>
6731
6881
  } else {
6732
- <span class="cstat-no" title="statement not covered" > if ((self.parentNode as any).type === 'ExclusiveGateway') {</span>
6733
- <span class="cstat-no" title="statement not covered" > if (self.body.length &lt;= 1) {</span>
6882
+ <span class="cstat-no" title="statement not covered" > if ((this.parentNode as any).type === 'ExclusiveGateway') {</span>
6883
+ <span class="cstat-no" title="statement not covered" > if (this.body.length &lt;= 1) {</span>
6734
6884
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 1);</span>
6735
6885
  <span class="cstat-no" title="statement not covered" > code += 'const __LogicEmpty: any = null;';</span>
6736
6886
  }
6737
6887
  } else <span class="cstat-no" title="statement not covered" >if (</span>
6738
- self.body.length &lt;= 2 &amp;&amp;
6739
- !(self.parentNode instanceof Namespace) &amp;&amp;
6740
- !(self.parentNode instanceof Process)
6888
+ this.body.length &lt;= 2 &amp;&amp;
6889
+ !(this.parentNode instanceof Namespace) &amp;&amp;
6890
+ !(this.parentNode instanceof Process)
6741
6891
  ) {
6742
6892
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 1);</span>
6743
6893
  <span class="cstat-no" title="statement not covered" > code += `${indent(state?.tabSize || 0 + 4)}const __LogicEmpty: any = null;`;</span>
6744
6894
  }
6745
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.body, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>item) {</span>
6746
- <span class="cstat-no" title="statement not covered" > code += yield* item.toEmbeddedTS?.(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 })) ?? returnOrigin('');</span>
6895
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
6896
+ <span class="cstat-no" title="statement not covered" > code += item.toEmbeddedTS &amp;&amp; item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
6747
6897
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6748
6898
  });
6749
6899
  }
6900
+ &nbsp;
6750
6901
  // 在body渲染完成之后把其余的节点放到下面
6751
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.playground, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>item) {</span>
6752
- <span class="cstat-no" title="statement not covered" > code += yield* item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
6902
+ <span class="cstat-no" title="statement not covered" > this.playground.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
6903
+ <span class="cstat-no" title="statement not covered" > code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
6753
6904
  <span class="cstat-no" title="statement not covered" > code += '\n';</span>
6754
6905
  });
6906
+ &nbsp;
6755
6907
  <span class="cstat-no" title="statement not covered" > code += `${indent(state?.tabSize || 0 + 4)}}`;</span>
6756
6908
  <span class="cstat-no" title="statement not covered" > code += '\n';</span>
6757
6909
  <span class="cstat-no" title="statement not covered" > return code;</span>
6758
6910
  }
6759
6911
  &nbsp;
6760
6912
  <span class="fstat-no" title="function not covered" > toEmbeddedTSNoExport(</span>state?: TranslatorState): string {
6761
- <span class="cstat-no" title="statement not covered" > return runSync(this.toEmbeddedTS(state, 'noExport'));</span>
6913
+ <span class="cstat-no" title="statement not covered" > return this.toEmbeddedTS(state, 'noExport');</span>
6762
6914
  }
6763
6915
  &nbsp;
6764
- @withSourceMapGenerator
6765
- *toEmbeddedTS(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> prefix?: string): TranslatorGenerator {
6766
- const self = this;
6767
- // 等待 oql 查询返回内容
6768
- yield waitOqlQueryComponentChildrenFinish(self);
6916
+ @withSourceMap()
6917
+ toEmbeddedTS(state?: TranslatorState, prefix?: string, hideDefaultValue?: boolean): string {
6769
6918
  // 如果传了不要前缀那就为空, 要不用传进来的,要是都没有就默认导出
6770
6919
  let code = '';
6920
+ // 用来储存默认值翻译结构是__IDENTIFIER__或者__IDENTIFIER__()的节点
6921
+ const IDENTIFIERMAP = new Set();
6922
+ &nbsp;
6771
6923
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!prefix) {
6772
- <span class="cstat-no" title="statement not covered" > code += `export function ${self.name}`;</span>
6924
+ <span class="cstat-no" title="statement not covered" > code += `export function ${this.name}`;</span>
6773
6925
  } else if (prefix === 'noExport') {
6774
- code += `function ${self.name}`;
6926
+ code += `function ${this.name}`;
6775
6927
  } else <span class="missing-if-branch" title="else path not taken" >E</span>if (prefix === 'inObject') {
6776
- code += `${self.name}`;
6928
+ code += `${this.name}`;
6777
6929
  }
6778
- <span class="missing-if-branch" title="if path not taken" >I</span>if (self.typeParams?.length) {
6930
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.typeParams?.length) {
6779
6931
  <span class="cstat-no" title="statement not covered" > code += '&lt;';</span>
6780
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.typeParams, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>typeParam, typeParamIndex) {</span>
6781
- <span class="cstat-no" title="statement not covered" > code += yield* typeParam.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6782
- <span class="cstat-no" title="statement not covered" > if (typeParamIndex !== self.typeParams.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
6932
+ <span class="cstat-no" title="statement not covered" > this.typeParams.forEach(<span class="fstat-no" title="function not covered" >(t</span>ypeParam, typeParamIndex) =&gt; {</span>
6933
+ <span class="cstat-no" title="statement not covered" > code += typeParam.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6934
+ <span class="cstat-no" title="statement not covered" > if (typeParamIndex !== this.typeParams.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
6783
6935
  });
6784
6936
  <span class="cstat-no" title="statement not covered" > code += '&gt;';</span>
6785
6937
  }
6786
6938
  // 有参数长度
6787
- if (self.params.length) {
6939
+ if (this.params.length) {
6788
6940
  code += '(';
6789
- yield* wrapForEach(self.params, function* warpForEachGenerator(param, index) {
6790
- code += yield* param.toEmbeddedTS(shiftState(state, code));
6791
- if (index !== self.params.length - 1) code += ', ';
6941
+ this.params.forEach((param, index) =&gt; {
6942
+ code += param.toEmbeddedTS(shiftState(state, code));
6943
+ if (index !== this.params.length - 1) code += ', ';
6792
6944
  });
6793
6945
  code += ')';
6794
6946
  } else {
6795
6947
  // 没有参数的
6796
6948
  code += '()';
6797
6949
  }
6950
+ &nbsp;
6798
6951
  // 需要类型推导的局部变量/返回值需要调整申明顺序
6799
6952
  const advanceMap: Map&lt;Return | Variable, Assignment | BatchAssignment&gt; = new Map();
6800
- // const needGetSourceMapOqlList: Promise&lt;any&gt;[] = [];
6801
- yield* self.traverseChildrenGenerator(function* traverseChildrenGenerator(el) {
6953
+ const needGetSourceMapOqlList: Promise&lt;any&gt;[] = [];
6954
+ this.traverseChildren((el) =&gt; {
6802
6955
  if (el &amp;&amp; (el instanceof BatchAssignment || (el instanceof Assignment &amp;&amp; el.left?.name))) {
6803
6956
  <span class="missing-if-branch" title="else path not taken" >E</span>if (el instanceof Assignment) {
6804
- const advanceVar = self.variables?.find(
6957
+ const advanceVar = this.variables?.find(
6805
6958
  (variable) =&gt; !variable.typeAnnotation &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >el.left?.name === variable.name,</span>
6806
6959
  );
6807
6960
  <span class="missing-if-branch" title="if path not taken" >I</span>if (advanceVar &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!advanceMap.get(advanceVar))</span> {
6808
6961
  <span class="cstat-no" title="statement not covered" > advanceMap.set(advanceVar, el);</span>
6809
6962
  }
6810
- const advanceRn = self.returns?.find(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; <span class="cstat-no" title="statement not covered" >!ret.typeAnnotation &amp;&amp; el.left?.name === ret.name)</span>;
6963
+ const advanceRn = this.returns?.find(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; <span class="cstat-no" title="statement not covered" >!ret.typeAnnotation &amp;&amp; el.left?.name === ret.name)</span>;
6811
6964
  <span class="missing-if-branch" title="if path not taken" >I</span>if (advanceRn &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!advanceMap.get(advanceRn))</span> {
6812
6965
  <span class="cstat-no" title="statement not covered" > advanceMap.set(advanceRn, el);</span>
6813
6966
  }
6814
6967
  } else <span class="cstat-no" title="statement not covered" >if (el instanceof BatchAssignment) {</span>
6815
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(el.assignmentLines, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>{ leftIndex }) {</span>
6968
+ <span class="cstat-no" title="statement not covered" > el.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex }) =&gt; {</span>
6816
6969
  const leftCode =
6817
6970
  <span class="cstat-no" title="statement not covered" > leftIndex.length === 1</span>
6818
- ? yield* el.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
6819
- : yield* el.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true })) ?? returnOrigin('');
6820
- const advanceVar = <span class="cstat-no" title="statement not covered" >self.variables?.find(</span>
6971
+ ? el.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
6972
+ : el.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
6973
+ const advanceVar = <span class="cstat-no" title="statement not covered" >this.variables?.find(</span>
6821
6974
  <span class="fstat-no" title="function not covered" > (v</span>ariable) =&gt; <span class="cstat-no" title="statement not covered" >!variable.typeAnnotation &amp;&amp; leftCode === variable.name,</span>
6822
6975
  );
6823
6976
  <span class="cstat-no" title="statement not covered" > if (advanceVar &amp;&amp; !advanceMap.get(advanceVar)) {</span>
6824
6977
  <span class="cstat-no" title="statement not covered" > advanceMap.set(advanceVar, el);</span>
6825
6978
  }
6826
- const advanceRn = <span class="cstat-no" title="statement not covered" >self.returns?.find(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; <span class="cstat-no" title="statement not covered" >!ret.typeAnnotation &amp;&amp; leftCode === ret.name)</span>;</span>
6979
+ const advanceRn = <span class="cstat-no" title="statement not covered" >this.returns?.find(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; <span class="cstat-no" title="statement not covered" >!ret.typeAnnotation &amp;&amp; leftCode === ret.name)</span>;</span>
6827
6980
  <span class="cstat-no" title="statement not covered" > if (advanceRn &amp;&amp; !advanceMap.get(advanceRn)) {</span>
6828
6981
  <span class="cstat-no" title="statement not covered" > advanceMap.set(advanceRn, el);</span>
6829
6982
  }
6830
6983
  });
6831
6984
  }
6832
6985
  }
6986
+ // 如果有sql查询组件就需要把他们存起来
6987
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (el instanceof OqlQueryComponent) {
6988
+ <span class="cstat-no" title="statement not covered" > if (!el.codeSourceMap) {</span>
6989
+ <span class="cstat-no" title="statement not covered" > needGetSourceMapOqlList.push(el.requestEmbeddedTS());</span>
6990
+ }
6991
+ }
6833
6992
  });
6993
+ &nbsp;
6994
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (needGetSourceMapOqlList.length) {
6995
+ <span class="cstat-no" title="statement not covered" > Promise.all(needGetSourceMapOqlList).then(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
6996
+ // 触发一下更新重新生成代码
6997
+ (<span class="cstat-no" title="statement not covered" >this.app as any)?.naslServer?.embeddedTSEmitter.emit('change', {</span>
6998
+ value: [
6999
+ {
7000
+ originEvent: {
7001
+ action: 'update',
7002
+ target: this,
7003
+ },
7004
+ },
7005
+ ],
7006
+ });
7007
+ });
7008
+ }
6834
7009
  // 兼容 return 没有类型情况
6835
- if (self.returns.length &amp;&amp; self.returns[0].typeAnnotation) {
7010
+ if (this.returns.length &amp;&amp; this.returns[0].typeAnnotation) {
6836
7011
  code += ': ';
6837
- code += yield* self.returns[0].typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) ?? <span class="branch-1 cbranch-no" title="branch not covered" >returnOrigin('');</span>
7012
+ code += this.returns[0].typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true }));
6838
7013
  }
6839
7014
  code += '{\n';
7015
+ &nbsp;
6840
7016
  // 用于虚拟节点的查找引用
6841
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.virtualParams)) {
6842
- for (const param of self.virtualParams) {
7017
+ this.virtualParams &amp;&amp;
7018
+ Array.isArray(this.virtualParams) &amp;&amp;
7019
+ this.virtualParams.forEach(<span class="fstat-no" title="function not covered" >(p</span>aram) =&gt; {
6843
7020
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 1);</span>
6844
- <span class="cstat-no" title="statement not covered" > code += yield* param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));</span>
7021
+ <span class="cstat-no" title="statement not covered" > code += param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));</span>
6845
7022
  <span class="cstat-no" title="statement not covered" > code += '\n';</span>
7023
+ });
7024
+ &nbsp;
7025
+ this.variables.forEach((variable) =&gt; {
7026
+ const ts = variable.defaultValue?.expression?.toEmbeddedTS();
7027
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts)) {
7028
+ <span class="cstat-no" title="statement not covered" > IDENTIFIERMAP.add(variable);</span>
6846
7029
  }
6847
- }
6848
- yield* wrapForEach(self.variables, function* warpForEachGenerator(variable) {
6849
7030
  <span class="missing-if-branch" title="else path not taken" >E</span>if (!advanceMap.get(variable)) {
6850
7031
  code += `${indent((state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 1)}let `;
6851
- code += yield* variable.toEmbeddedTS(shiftState(state, code, { inline: true }));
7032
+ code += variable.toEmbeddedTS(shiftState(state, code, { inline: true }));
6852
7033
  code += ';\n';
6853
7034
  }
6854
7035
  });
6855
- yield* wrapForEach(self.returns, function* warpForEachGenerator(ret) {
7036
+ &nbsp;
7037
+ this.returns.forEach((ret) =&gt; {
7038
+ const ts = ret.defaultValue?.expression?.toEmbeddedTS();
7039
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts)) {
7040
+ <span class="cstat-no" title="statement not covered" > IDENTIFIERMAP.add(ret);</span>
7041
+ }
6856
7042
  <span class="missing-if-branch" title="else path not taken" >E</span>if (!advanceMap.get(ret)) {
6857
7043
  code += `${indent((state?.tabSize || 0) + 1)}let `;
6858
- code += yield* ret.toEmbeddedTS(shiftState(state, code, { inline: true }));
7044
+ code += ret.toEmbeddedTS(shiftState(state, code, { inline: true }));
6859
7045
  code += ';\n';
6860
7046
  }
6861
7047
  });
6862
- yield* wrapIterator(advanceMap.entries(), function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>[node, assignment]) {
7048
+ &nbsp;
7049
+ advanceMap.forEach(<span class="fstat-no" title="function not covered" >(a</span>ssignment, node) =&gt; {
7050
+ // 有默认值的用默认值来推导类型, 但是如果是__IDENTIFIER__或者__IDENTIFIER__(),就不需要默认值来推导了
7051
+ <span class="cstat-no" title="statement not covered" > if (node.defaultValue?.expression &amp;&amp; !IDENTIFIERMAP.has(node)) {</span>
7052
+ <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}let `;</span>
7053
+ <span class="cstat-no" title="statement not covered" > code += node.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
7054
+ <span class="cstat-no" title="statement not covered" > return;</span>
7055
+ }
6863
7056
  <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}// @ts-ignore\n`;</span>
6864
7057
  <span class="cstat-no" title="statement not covered" > code += `${indent((state?.tabSize || 0) + 1)}let `;</span>
6865
- <span class="cstat-no" title="statement not covered" > code += yield* node.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
7058
+ <span class="cstat-no" title="statement not covered" > code += node.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
6866
7059
  <span class="cstat-no" title="statement not covered" > if (assignment instanceof BatchAssignment) {</span>
6867
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(assignment.assignmentLines, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>{ leftIndex, rightIndex }) {</span>
7060
+ <span class="cstat-no" title="statement not covered" > assignment.assignmentLines.forEach(<span class="fstat-no" title="function not covered" >({</span> leftIndex, rightIndex }) =&gt; {</span>
6868
7061
  const leftCode =
6869
7062
  <span class="cstat-no" title="statement not covered" > leftIndex.length === 1</span>
6870
- ? yield* assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
6871
- : yield* assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true })) ?? returnOrigin('');
7063
+ ? assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true }))
7064
+ : assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
6872
7065
  <span class="cstat-no" title="statement not covered" > if (leftCode === node.name) {</span>
6873
7066
  const rightNode: any =
6874
7067
  <span class="cstat-no" title="statement not covered" > rightIndex.length === 1</span>
@@ -6878,18 +7071,18 @@ export class Logic extends BaseNode {
6878
7071
  <span class="cstat-no" title="statement not covered" > if (rightNode?.typeAnnotation &amp;&amp; !(rightNode instanceof CallQueryComponent &amp;&amp; !rightNode.isAutoInfer())) {</span>
6879
7072
  <span class="cstat-no" title="statement not covered" > if (rightNode.concept === 'NewComposite' &amp;&amp; rightNode.typeAnnotation?.typeKind === 'anonymousStructure') {</span>
6880
7073
  <span class="cstat-no" title="statement not covered" > code += '= ';</span>
6881
- <span class="cstat-no" title="statement not covered" > code += (yield* rightNode.getInitCode(shiftState(state, code, { inline: true }))) || 'null';</span>
7074
+ <span class="cstat-no" title="statement not covered" > code += rightNode.getInitCode(shiftState(state, code, { inline: true })) || 'null';</span>
6882
7075
  } else <span class="cstat-no" title="statement not covered" >if (rightNode.concept === 'NewComposite' &amp;&amp; rightNode.typeAnnotation?.typeKind === 'generic') {</span>
6883
7076
  <span class="cstat-no" title="statement not covered" > code += '= ';</span>
6884
- <span class="cstat-no" title="statement not covered" > code += (yield* rightNode.getNewCompositeCode(shiftState(state, code, { inline: true }))) || 'null';</span>
7077
+ <span class="cstat-no" title="statement not covered" > code += rightNode.getNewCompositeCode(shiftState(state, code, { inline: true })) || 'null';</span>
6885
7078
  } else {
6886
7079
  <span class="cstat-no" title="statement not covered" > code += ': ';</span>
6887
- <span class="cstat-no" title="statement not covered" > code += yield* rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) ?? returnOrigin('null');</span>
7080
+ <span class="cstat-no" title="statement not covered" > code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';</span>
6888
7081
  }
6889
7082
  } else {
6890
7083
  <span class="cstat-no" title="statement not covered" > code += ' = ';</span>
6891
- const rightCode = <span class="cstat-no" title="statement not covered" >yield* rightNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ?? returnOrigin('');</span>
6892
- <span class="cstat-no" title="statement not covered" > code += yield* self.getRightCode(rightCode, assignment, rightNode);</span>
7084
+ const rightCode = <span class="cstat-no" title="statement not covered" >rightNode?.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
7085
+ <span class="cstat-no" title="statement not covered" > code += this.getRightCode(rightCode, assignment, rightNode);</span>
6893
7086
  }
6894
7087
  }
6895
7088
  });
@@ -6899,27 +7092,27 @@ export class Logic extends BaseNode {
6899
7092
  ) {
6900
7093
  const rightNode: any = <span class="cstat-no" title="statement not covered" >assignment.right;</span>
6901
7094
  <span class="cstat-no" title="statement not covered" > code += ' = ';</span>
6902
- <span class="cstat-no" title="statement not covered" > code += yield* rightNode.getInitCode(shiftState(state, code, { inline: true }));</span>
7095
+ <span class="cstat-no" title="statement not covered" > code += rightNode.getInitCode(shiftState(state, code, { inline: true }));</span>
6903
7096
  } else <span class="cstat-no" title="statement not covered" >if (</span>
6904
7097
  assignment.right?.concept === 'NewComposite' &amp;&amp;
6905
7098
  (assignment.right as any)?.typeAnnotation?.typeKind === 'anonymousStructure'
6906
7099
  ) {
6907
7100
  const rightNode: any = <span class="cstat-no" title="statement not covered" >assignment.right;</span>
6908
7101
  <span class="cstat-no" title="statement not covered" > code += ' = ';</span>
6909
- <span class="cstat-no" title="statement not covered" > code += yield* rightNode.getInitCode(shiftState(state, code, { inline: true }));</span>
7102
+ <span class="cstat-no" title="statement not covered" > code += rightNode.getInitCode(shiftState(state, code, { inline: true }));</span>
6910
7103
  } else <span class="cstat-no" title="statement not covered" >if (</span>
6911
7104
  assignment.right?.concept === 'NewComposite' &amp;&amp;
6912
7105
  (assignment.right as any)?.typeAnnotation?.typeKind === 'generic'
6913
7106
  ) {
6914
7107
  const rightNode: any = <span class="cstat-no" title="statement not covered" >assignment.right;</span>
6915
7108
  <span class="cstat-no" title="statement not covered" > code += ' = ';</span>
6916
- <span class="cstat-no" title="statement not covered" > code += (yield* rightNode.getNewCompositeCode(shiftState(state, code, { inline: true })));</span>
7109
+ <span class="cstat-no" title="statement not covered" > code += rightNode.getNewCompositeCode(shiftState(state, code, { inline: true }));</span>
6917
7110
  } else {
6918
7111
  const rightNode: any = <span class="cstat-no" title="statement not covered" >assignment.right;</span>
6919
7112
  // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
6920
7113
  <span class="cstat-no" title="statement not covered" > if (rightNode?.typeAnnotation &amp;&amp; !(rightNode instanceof CallQueryComponent &amp;&amp; !rightNode.isAutoInfer())) {</span>
6921
7114
  <span class="cstat-no" title="statement not covered" > code += ': ';</span>
6922
- <span class="cstat-no" title="statement not covered" > code += yield* rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) ?? returnOrigin('null');</span>
7115
+ <span class="cstat-no" title="statement not covered" > code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';</span>
6923
7116
  } else {
6924
7117
  <span class="cstat-no" title="statement not covered" > code += ' = ';</span>
6925
7118
  let rightCode = <span class="cstat-no" title="statement not covered" >'';</span>
@@ -6934,35 +7127,85 @@ export class Logic extends BaseNode {
6934
7127
  }
6935
7128
  <span class="cstat-no" title="statement not covered" > rightCode +=</span>
6936
7129
  rightNode &amp;&amp; rightNode.toEmbeddedTS
6937
- ? yield* rightNode.toEmbeddedTS(shiftState(state, code, { inline: true }))
7130
+ ? rightNode.toEmbeddedTS(shiftState(state, code, { inline: true }))
6938
7131
  : '__RIGHT__';
6939
- <span class="cstat-no" title="statement not covered" > code += yield* self.getRightCode(rightCode, assignment, rightNode);</span>
7132
+ <span class="cstat-no" title="statement not covered" > code += this.getRightCode(rightCode, assignment, rightNode);</span>
6940
7133
  }
6941
7134
  }
6942
7135
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6943
7136
  });
6944
- if (!self.body.length &amp;&amp; self.returns.length) {
6945
- code += `${indent((state?.tabSize || 0) + 1)}return ${self.returns[0].name};\n`;
7137
+ &nbsp;
7138
+ // 参数的默认值是__IDENTIFIER__或者__IDENTIFIER__()时不赋默认值,但是需要ts翻译出来进行报错校验
7139
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!hideDefaultValue) {
7140
+ IDENTIFIERMAP.forEach(<span class="fstat-no" title="function not covered" >(n</span>ode: Variable | Return) =&gt; {
7141
+ <span class="cstat-no" title="statement not covered" > code += node.defaultValue.expression.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
7142
+ <span class="cstat-no" title="statement not covered" > code += '; ';</span>
7143
+ });
7144
+ code += '\n';
7145
+ }
7146
+ &nbsp;
7147
+ if (!this.body.length &amp;&amp; this.returns.length) {
7148
+ code += `${indent((state?.tabSize || 0) + 1)}return ${this.returns[0].name};\n`;
6946
7149
  } else {
6947
7150
  // 如果长度小于2 并且不是虚拟节点就 加 报错,
6948
- <span class="missing-if-branch" title="if path not taken" >I</span>if (self.body.length &lt;= 2 &amp;&amp; !(self.parentNode instanceof Namespace)) {
6949
- <span class="cstat-no" title="statement not covered" > if (self.body.length &amp;&amp; self.body[0].concept === 'JavaLogic') {</span>
7151
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.body.length &lt;= 2 &amp;&amp; !(this.parentNode instanceof Namespace)) {
7152
+ <span class="cstat-no" title="statement not covered" > if (this.body.length &amp;&amp; this.body[0].concept === 'JavaLogic') {</span>
6950
7153
  <span class="cstat-no" title="statement not covered" > code += '';</span>
6951
7154
  } else {
6952
7155
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 1);</span>
6953
7156
  <span class="cstat-no" title="statement not covered" > code += 'const __LogicEmpty: any = null;';</span>
6954
7157
  }
6955
7158
  }
6956
- yield* wrapForEach(self.body, function* warpForEachGenerator(item) {
6957
- code += yield* item.toEmbeddedTS?.(shiftState(state, code, { tabSize: (state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 1 })) ?? <span class="branch-1 cbranch-no" title="branch not covered" >returnOrigin('');</span>
7159
+ this.body.forEach((item) =&gt; {
7160
+ code += item.toEmbeddedTS &amp;&amp; item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 1 }));
6958
7161
  code += ';\n';
6959
7162
  });
6960
7163
  }
7164
+ &nbsp;
6961
7165
  // 在body渲染完成之后把其余的节点放到下面
6962
- yield* wrapForEach(self.playground, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>item) {
6963
- <span class="cstat-no" title="statement not covered" > code += yield* item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
7166
+ this.playground.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {
7167
+ <span class="cstat-no" title="statement not covered" > code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
6964
7168
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6965
7169
  });
7170
+ &nbsp;
7171
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!hideDefaultValue) {
7172
+ if (this.variables.length) {
7173
+ code += `${indent((state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 1)}/* -----以下是variable的默认值草稿------ */\n`;
7174
+ }
7175
+ this.variables.forEach((variable) =&gt; {
7176
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (variable.defaultValue) {
7177
+ <span class="cstat-no" title="statement not covered" > variable.defaultValue.playground?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
7178
+ <span class="cstat-no" title="statement not covered" > code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
7179
+ <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
7180
+ });
7181
+ }
7182
+ });
7183
+ &nbsp;
7184
+ if (this.returns.length) {
7185
+ code += `${indent((state?.tabSize || 0) + 1)}/* -----以下是returns的默认值草稿------ */\n`;
7186
+ }
7187
+ this.returns.forEach((return_) =&gt; {
7188
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (return_.defaultValue) {
7189
+ <span class="cstat-no" title="statement not covered" > return_.defaultValue.playground?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
7190
+ <span class="cstat-no" title="statement not covered" > code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
7191
+ <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
7192
+ });
7193
+ }
7194
+ });
7195
+ &nbsp;
7196
+ if (this.params.length) {
7197
+ code += `${indent((state?.tabSize || 0) + 1)}/* -----以下是params的默认值草稿------ */\n`;
7198
+ }
7199
+ this.params.forEach((param) =&gt; {
7200
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (param.defaultValue) {
7201
+ <span class="cstat-no" title="statement not covered" > param.defaultValue.playground?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
7202
+ <span class="cstat-no" title="statement not covered" > code += item.toEmbeddedTS(shiftState(state, code, { tabSize: (state?.tabSize || 0) + 1 }));</span>
7203
+ <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
7204
+ });
7205
+ }
7206
+ });
7207
+ }
7208
+ &nbsp;
6966
7209
  code += `${indent(state?.tabSize || 0)}}`;
6967
7210
  if (prefix === 'inObject') {
6968
7211
  code += `,`;
@@ -6985,7 +7228,7 @@ ${indent(state.tabSize)} */\n`;
6985
7228
  <span class="cstat-no" title="statement not covered" > if (parentNode?.concept === 'View') {</span>
6986
7229
  <span class="cstat-no" title="statement not covered" > logicName = `viewLogic_${name}`;</span>
6987
7230
  } else <span class="cstat-no" title="statement not covered" >if (parentNode?.concept === 'BindEvent') {</span>
6988
- <span class="cstat-no" title="statement not covered" > logicName = `on_${parentNode?.parentNode?.name}_${name}`;</span>
7231
+ <span class="cstat-no" title="statement not covered" > logicName = `on_${(parentNode?.parentNode)?.name}_${name}`;</span>
6989
7232
  } else {
6990
7233
  <span class="cstat-no" title="statement not covered" > logicName = this.name;</span>
6991
7234
  }
@@ -7030,7 +7273,6 @@ ${indent(state.tabSize)} */\n`;
7030
7273
  <span class="cstat-no" title="statement not covered" > code += variable.toNaturalTS(shiftState(state, code, { inline: true }));</span>
7031
7274
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
7032
7275
  });
7033
- &nbsp;
7034
7276
  <span class="cstat-no" title="statement not covered" > this.returns.forEach(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; {</span>
7035
7277
  <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}let `;</span>
7036
7278
  <span class="cstat-no" title="statement not covered" > code += ret.toNaturalTS(shiftState(state, code, { inline: true }));</span>
@@ -7045,11 +7287,12 @@ ${indent(state.tabSize)} */\n`;
7045
7287
  <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
7046
7288
  let partialCode = <span class="cstat-no" title="statement not covered" >'';</span>
7047
7289
  &nbsp;
7048
- <span class="cstat-no" title="statement not covered" > if (!state.focusedNodePath &amp;&amp; item.concept === 'End') <span class="cstat-no" title="statement not covered" >code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span></span>
7290
+ <span class="cstat-no" title="statement not covered" > if (!state.focusedNodePath &amp;&amp; item.concept === 'End')</span>
7291
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
7049
7292
  <span class="cstat-no" title="statement not covered" > if (item.toNaturalTS) {</span>
7050
7293
  <span class="cstat-no" title="statement not covered" > partialCode = item.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));</span>
7051
7294
  } else <span class="cstat-no" title="statement not covered" >if (item.toEmbeddedTS) {</span>
7052
- <span class="cstat-no" title="statement not covered" > partialCode = runSync(item.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 })));</span>
7295
+ <span class="cstat-no" title="statement not covered" > partialCode = item.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));</span>
7053
7296
  }
7054
7297
  <span class="cstat-no" title="statement not covered" > if (partialCode.trim()) {</span>
7055
7298
  <span class="cstat-no" title="statement not covered" > code += partialCode;</span>
@@ -7057,7 +7300,6 @@ ${indent(state.tabSize)} */\n`;
7057
7300
  }
7058
7301
  });
7059
7302
  }
7060
- &nbsp;
7061
7303
  <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)}}`;</span>
7062
7304
  }
7063
7305
  <span class="cstat-no" title="statement not covered" > if (prefix === 'inObject') {</span>
@@ -7067,7 +7309,7 @@ ${indent(state.tabSize)} */\n`;
7067
7309
  <span class="cstat-no" title="statement not covered" > return code;</span>
7068
7310
  }
7069
7311
  &nbsp;
7070
- <span class="fstat-no" title="function not covered" > *g</span>etRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any) {
7312
+ <span class="fstat-no" title="function not covered" > getRightCode(</span>code: string, assignment: Assignment | BatchAssignment, rightNode: any): string {
7071
7313
  <span class="cstat-no" title="statement not covered" > code = code.replaceAll('\n', ' ');</span>
7072
7314
  <span class="cstat-no" title="statement not covered" > if (assignment instanceof Assignment &amp;&amp; !assignment.right) <span class="cstat-no" title="statement not covered" >return code;</span></span>
7073
7315
  &nbsp;
@@ -7087,12 +7329,12 @@ ${indent(state.tabSize)} */\n`;
7087
7329
  // ForEachStatement 内部变量需要替换处理,如 item、index
7088
7330
  const forEachStatement = <span class="cstat-no" title="statement not covered" >assignment.getAncestor('ForEachStatement') as ForEachStatement;</span>
7089
7331
  <span class="cstat-no" title="statement not covered" > if (forEachStatement) {</span>
7090
- <span class="cstat-no" title="statement not covered" > code = yield* this.handleForEachCode(code, forEachStatement);</span>
7332
+ <span class="cstat-no" title="statement not covered" > code = this.handleForEachCode(code, forEachStatement);</span>
7091
7333
  }
7092
7334
  // Match 需要针对分支缩小类型范围
7093
7335
  const matchCase = <span class="cstat-no" title="statement not covered" >assignment.getAncestor('MatchCase') as MatchCase;</span>
7094
7336
  <span class="cstat-no" title="statement not covered" > if (matchCase) {</span>
7095
- <span class="cstat-no" title="statement not covered" > code = yield* this.handleMatchCaseCode(code, matchCase);</span>
7337
+ <span class="cstat-no" title="statement not covered" > code = this.handleMatchCaseCode(code, matchCase);</span>
7096
7338
  }
7097
7339
  <span class="cstat-no" title="statement not covered" > return code;</span>
7098
7340
  }
@@ -7115,39 +7357,37 @@ ${indent(state.tabSize)} */\n`;
7115
7357
  });
7116
7358
  }
7117
7359
  &nbsp;
7118
- <span class="fstat-no" title="function not covered" > *h</span>andleForEachCode(code: string, forEachStatement: ForEachStatement): Generator&lt;any, string, any&gt; {
7360
+ <span class="fstat-no" title="function not covered" > handleForEachCode(</span>code: string, forEachStatement: ForEachStatement): string {
7119
7361
  const { item, index, each } = <span class="cstat-no" title="statement not covered" >forEachStatement;</span>
7120
7362
  <span class="cstat-no" title="statement not covered" > if (code.includes(item.name)) {</span>
7121
- const eachTSCode = <span class="cstat-no" title="statement not covered" >each ? yield* each.toEmbeddedTS() : '__IDENTIFIER__';</span>
7363
+ const eachTSCode = <span class="cstat-no" title="statement not covered" >each ? each.toEmbeddedTS() : '__IDENTIFIER__';</span>
7122
7364
  <span class="cstat-no" title="statement not covered" > code = this.handleReplaceCode(</span>
7123
7365
  code,
7124
7366
  item.name,
7125
7367
  eachTSCode === '__IDENTIFIER__' ? eachTSCode : `${eachTSCode}.__get(0)`,
7126
7368
  );
7127
7369
  }
7128
- <span class="cstat-no" title="statement not covered" > if (code.includes(index.name)) {</span>
7129
- <span class="cstat-no" title="statement not covered" > code = this.handleReplaceCode(code, index.name, 'new nasl.core.Long(0)');</span>
7130
- }
7370
+ <span class="cstat-no" title="statement not covered" > if (code.includes(index.name)) <span class="cstat-no" title="statement not covered" >code = this.handleReplaceCode(code, index.name, 'new nasl.core.Long(0)');</span></span>
7131
7371
  &nbsp;
7132
7372
  const parentForEachStatement = <span class="cstat-no" title="statement not covered" >forEachStatement.getAncestor('ForEachStatement') as ForEachStatement;</span>
7133
7373
  <span class="cstat-no" title="statement not covered" > if (parentForEachStatement) {</span>
7134
- <span class="cstat-no" title="statement not covered" > code = yield* this.handleForEachCode(code, parentForEachStatement);</span>
7374
+ <span class="cstat-no" title="statement not covered" > this.handleForEachCode(code, parentForEachStatement);</span>
7135
7375
  }
7136
7376
  <span class="cstat-no" title="statement not covered" > return code;</span>
7137
7377
  }
7138
7378
  &nbsp;
7139
- <span class="fstat-no" title="function not covered" > *h</span>andleMatchCaseCode(code: string, matchCase: MatchCase): Generator&lt;any, string, any&gt; {
7379
+ <span class="fstat-no" title="function not covered" > handleMatchCaseCode(</span>code: string, matchCase: MatchCase): string {
7140
7380
  const match = <span class="cstat-no" title="statement not covered" >matchCase.getAncestor('Match') as Match;</span>
7141
- const expressionTsCode = <span class="cstat-no" title="statement not covered" >yield* match.expression.toEmbeddedTS();</span>
7381
+ const expressionTsCode = <span class="cstat-no" title="statement not covered" >match.expression.toEmbeddedTS();</span>
7142
7382
  <span class="cstat-no" title="statement not covered" > if (code.includes(expressionTsCode)) {</span>
7143
7383
  let typeCode = <span class="cstat-no" title="statement not covered" >'';</span>
7144
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(matchCase.patterns, function* <span class="fstat-no" title="function not covered" >wrapForEach(</span>pattern, index) {</span>
7384
+ <span class="cstat-no" title="statement not covered" > matchCase.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
7145
7385
  <span class="cstat-no" title="statement not covered" > if (pattern instanceof TypeAnnotation) {</span>
7146
7386
  <span class="cstat-no" title="statement not covered" > if (index === 0) {</span>
7147
- <span class="cstat-no" title="statement not covered" > typeCode += yield* pattern.toEmbeddedTS();</span>
7387
+ <span class="cstat-no" title="statement not covered" > typeCode += pattern.toEmbeddedTS();</span>
7148
7388
  } else {
7149
7389
  <span class="cstat-no" title="statement not covered" > typeCode += '|';</span>
7150
- <span class="cstat-no" title="statement not covered" > typeCode += yield* pattern.toEmbeddedTS();</span>
7390
+ <span class="cstat-no" title="statement not covered" > typeCode += pattern.toEmbeddedTS();</span>
7151
7391
  }
7152
7392
  }
7153
7393
  });
@@ -7157,7 +7397,7 @@ ${indent(state.tabSize)} */\n`;
7157
7397
  }
7158
7398
  const parentMatchCase = <span class="cstat-no" title="statement not covered" >match.getAncestor('MatchCase') as MatchCase;</span>
7159
7399
  <span class="cstat-no" title="statement not covered" > if (parentMatchCase) {</span>
7160
- <span class="cstat-no" title="statement not covered" > code = yield* this.handleMatchCaseCode(code, parentMatchCase);</span>
7400
+ <span class="cstat-no" title="statement not covered" > code = this.handleMatchCaseCode(code, parentMatchCase);</span>
7161
7401
  }
7162
7402
  <span class="cstat-no" title="statement not covered" > return code;</span>
7163
7403
  }
@@ -7261,12 +7501,12 @@ ${indent(state.tabSize)} */\n`;
7261
7501
  <span class="cstat-no" title="statement not covered" > return `/embedded/${this.app.name}${_path}/logics/${name}.ts`;</span>
7262
7502
  }
7263
7503
  &nbsp;
7264
- <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTSFile(): EmbeddedTSFileGenerator {
7504
+ <span class="fstat-no" title="function not covered" > toEmbeddedTSFile(</span>) {
7265
7505
  let code = <span class="cstat-no" title="statement not covered" >`namespace ${this.getTsNamespace()} {\n`;</span>
7266
7506
  &nbsp;
7267
7507
  const state = <span class="cstat-no" title="statement not covered" >createCompilerState(code, { tabSize: 1 });</span>
7268
7508
  <span class="cstat-no" title="statement not covered" > try {</span>
7269
- <span class="cstat-no" title="statement not covered" > code += yield* this.toEmbeddedTS(state);</span>
7509
+ <span class="cstat-no" title="statement not covered" > code += this.toEmbeddedTS(state);</span>
7270
7510
  } catch (err) {
7271
7511
  <span class="cstat-no" title="statement not covered" > console.log(err, `有问题翻译失败:${this.getTsNamespace()}.${this.name}`);</span>
7272
7512
  <span class="cstat-no" title="statement not covered" > code += '';</span>
@@ -7477,7 +7717,7 @@ export default Logic;
7477
7717
  <div class='footer quiet pad2 space-top1 center small'>
7478
7718
  Code coverage generated by
7479
7719
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
7480
- at 2023-11-18T16:22:11.588Z
7720
+ at 2023-10-27T11:50:55.546Z
7481
7721
  </div>
7482
7722
  <script src="../../prettify.js"></script>
7483
7723
  <script>