@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">28.32% </span>
26
+ <span class="strong">26.72% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>315/1112</span>
28
+ <span class='fraction'>287/1074</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">24.6% </span>
33
+ <span class="strong">23.82% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>200/813</span>
35
+ <span class='fraction'>182/764</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">22.47% </span>
40
+ <span class="strong">20.38% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>49/218</span>
42
+ <span class='fraction'>42/206</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">27.95% </span>
47
+ <span class="strong">26.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>293/1048</span>
49
+ <span class='fraction'>266/1011</span>
50
50
  </div>
51
51
 
52
52
 
@@ -3032,92 +3032,7 @@
3032
3032
  <a name='L2967'></a><a href='#L2967'>2967</a>
3033
3033
  <a name='L2968'></a><a href='#L2968'>2968</a>
3034
3034
  <a name='L2969'></a><a href='#L2969'>2969</a>
3035
- <a name='L2970'></a><a href='#L2970'>2970</a>
3036
- <a name='L2971'></a><a href='#L2971'>2971</a>
3037
- <a name='L2972'></a><a href='#L2972'>2972</a>
3038
- <a name='L2973'></a><a href='#L2973'>2973</a>
3039
- <a name='L2974'></a><a href='#L2974'>2974</a>
3040
- <a name='L2975'></a><a href='#L2975'>2975</a>
3041
- <a name='L2976'></a><a href='#L2976'>2976</a>
3042
- <a name='L2977'></a><a href='#L2977'>2977</a>
3043
- <a name='L2978'></a><a href='#L2978'>2978</a>
3044
- <a name='L2979'></a><a href='#L2979'>2979</a>
3045
- <a name='L2980'></a><a href='#L2980'>2980</a>
3046
- <a name='L2981'></a><a href='#L2981'>2981</a>
3047
- <a name='L2982'></a><a href='#L2982'>2982</a>
3048
- <a name='L2983'></a><a href='#L2983'>2983</a>
3049
- <a name='L2984'></a><a href='#L2984'>2984</a>
3050
- <a name='L2985'></a><a href='#L2985'>2985</a>
3051
- <a name='L2986'></a><a href='#L2986'>2986</a>
3052
- <a name='L2987'></a><a href='#L2987'>2987</a>
3053
- <a name='L2988'></a><a href='#L2988'>2988</a>
3054
- <a name='L2989'></a><a href='#L2989'>2989</a>
3055
- <a name='L2990'></a><a href='#L2990'>2990</a>
3056
- <a name='L2991'></a><a href='#L2991'>2991</a>
3057
- <a name='L2992'></a><a href='#L2992'>2992</a>
3058
- <a name='L2993'></a><a href='#L2993'>2993</a>
3059
- <a name='L2994'></a><a href='#L2994'>2994</a>
3060
- <a name='L2995'></a><a href='#L2995'>2995</a>
3061
- <a name='L2996'></a><a href='#L2996'>2996</a>
3062
- <a name='L2997'></a><a href='#L2997'>2997</a>
3063
- <a name='L2998'></a><a href='#L2998'>2998</a>
3064
- <a name='L2999'></a><a href='#L2999'>2999</a>
3065
- <a name='L3000'></a><a href='#L3000'>3000</a>
3066
- <a name='L3001'></a><a href='#L3001'>3001</a>
3067
- <a name='L3002'></a><a href='#L3002'>3002</a>
3068
- <a name='L3003'></a><a href='#L3003'>3003</a>
3069
- <a name='L3004'></a><a href='#L3004'>3004</a>
3070
- <a name='L3005'></a><a href='#L3005'>3005</a>
3071
- <a name='L3006'></a><a href='#L3006'>3006</a>
3072
- <a name='L3007'></a><a href='#L3007'>3007</a>
3073
- <a name='L3008'></a><a href='#L3008'>3008</a>
3074
- <a name='L3009'></a><a href='#L3009'>3009</a>
3075
- <a name='L3010'></a><a href='#L3010'>3010</a>
3076
- <a name='L3011'></a><a href='#L3011'>3011</a>
3077
- <a name='L3012'></a><a href='#L3012'>3012</a>
3078
- <a name='L3013'></a><a href='#L3013'>3013</a>
3079
- <a name='L3014'></a><a href='#L3014'>3014</a>
3080
- <a name='L3015'></a><a href='#L3015'>3015</a>
3081
- <a name='L3016'></a><a href='#L3016'>3016</a>
3082
- <a name='L3017'></a><a href='#L3017'>3017</a>
3083
- <a name='L3018'></a><a href='#L3018'>3018</a>
3084
- <a name='L3019'></a><a href='#L3019'>3019</a>
3085
- <a name='L3020'></a><a href='#L3020'>3020</a>
3086
- <a name='L3021'></a><a href='#L3021'>3021</a>
3087
- <a name='L3022'></a><a href='#L3022'>3022</a>
3088
- <a name='L3023'></a><a href='#L3023'>3023</a>
3089
- <a name='L3024'></a><a href='#L3024'>3024</a>
3090
- <a name='L3025'></a><a href='#L3025'>3025</a>
3091
- <a name='L3026'></a><a href='#L3026'>3026</a>
3092
- <a name='L3027'></a><a href='#L3027'>3027</a>
3093
- <a name='L3028'></a><a href='#L3028'>3028</a>
3094
- <a name='L3029'></a><a href='#L3029'>3029</a>
3095
- <a name='L3030'></a><a href='#L3030'>3030</a>
3096
- <a name='L3031'></a><a href='#L3031'>3031</a>
3097
- <a name='L3032'></a><a href='#L3032'>3032</a>
3098
- <a name='L3033'></a><a href='#L3033'>3033</a>
3099
- <a name='L3034'></a><a href='#L3034'>3034</a>
3100
- <a name='L3035'></a><a href='#L3035'>3035</a>
3101
- <a name='L3036'></a><a href='#L3036'>3036</a>
3102
- <a name='L3037'></a><a href='#L3037'>3037</a>
3103
- <a name='L3038'></a><a href='#L3038'>3038</a>
3104
- <a name='L3039'></a><a href='#L3039'>3039</a>
3105
- <a name='L3040'></a><a href='#L3040'>3040</a>
3106
- <a name='L3041'></a><a href='#L3041'>3041</a>
3107
- <a name='L3042'></a><a href='#L3042'>3042</a>
3108
- <a name='L3043'></a><a href='#L3043'>3043</a>
3109
- <a name='L3044'></a><a href='#L3044'>3044</a>
3110
- <a name='L3045'></a><a href='#L3045'>3045</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
3111
- <span class="cline-any cline-yes">1x</span>
3112
- <span class="cline-any cline-neutral">&nbsp;</span>
3113
- <span class="cline-any cline-neutral">&nbsp;</span>
3114
- <span class="cline-any cline-neutral">&nbsp;</span>
3115
- <span class="cline-any cline-neutral">&nbsp;</span>
3116
- <span class="cline-any cline-neutral">&nbsp;</span>
3117
- <span class="cline-any cline-neutral">&nbsp;</span>
3118
- <span class="cline-any cline-neutral">&nbsp;</span>
3119
- <span class="cline-any cline-neutral">&nbsp;</span>
3120
- <span class="cline-any cline-neutral">&nbsp;</span>
3035
+ <a name='L2970'></a><a href='#L2970'>2970</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
3121
3036
  <span class="cline-any cline-yes">1x</span>
3122
3037
  <span class="cline-any cline-neutral">&nbsp;</span>
3123
3038
  <span class="cline-any cline-yes">1x</span>
@@ -3261,25 +3176,6 @@
3261
3176
  <span class="cline-any cline-neutral">&nbsp;</span>
3262
3177
  <span class="cline-any cline-neutral">&nbsp;</span>
3263
3178
  <span class="cline-any cline-no">&nbsp;</span>
3264
- <span class="cline-any cline-no">&nbsp;</span>
3265
- <span class="cline-any cline-no">&nbsp;</span>
3266
- <span class="cline-any cline-neutral">&nbsp;</span>
3267
- <span class="cline-any cline-neutral">&nbsp;</span>
3268
- <span class="cline-any cline-neutral">&nbsp;</span>
3269
- <span class="cline-any cline-neutral">&nbsp;</span>
3270
- <span class="cline-any cline-no">&nbsp;</span>
3271
- <span class="cline-any cline-neutral">&nbsp;</span>
3272
- <span class="cline-any cline-no">&nbsp;</span>
3273
- <span class="cline-any cline-neutral">&nbsp;</span>
3274
- <span class="cline-any cline-neutral">&nbsp;</span>
3275
- <span class="cline-any cline-no">&nbsp;</span>
3276
- <span class="cline-any cline-no">&nbsp;</span>
3277
- <span class="cline-any cline-neutral">&nbsp;</span>
3278
- <span class="cline-any cline-neutral">&nbsp;</span>
3279
- <span class="cline-any cline-neutral">&nbsp;</span>
3280
- <span class="cline-any cline-neutral">&nbsp;</span>
3281
- <span class="cline-any cline-neutral">&nbsp;</span>
3282
- <span class="cline-any cline-no">&nbsp;</span>
3283
3179
  <span class="cline-any cline-neutral">&nbsp;</span>
3284
3180
  <span class="cline-any cline-no">&nbsp;</span>
3285
3181
  <span class="cline-any cline-no">&nbsp;</span>
@@ -3465,36 +3361,59 @@
3465
3361
  <span class="cline-any cline-neutral">&nbsp;</span>
3466
3362
  <span class="cline-any cline-neutral">&nbsp;</span>
3467
3363
  <span class="cline-any cline-neutral">&nbsp;</span>
3364
+ <span class="cline-any cline-neutral">&nbsp;</span>
3365
+ <span class="cline-any cline-neutral">&nbsp;</span>
3366
+ <span class="cline-any cline-neutral">&nbsp;</span>
3367
+ <span class="cline-any cline-neutral">&nbsp;</span>
3468
3368
  <span class="cline-any cline-yes">186x</span>
3469
3369
  <span class="cline-any cline-neutral">&nbsp;</span>
3470
3370
  <span class="cline-any cline-neutral">&nbsp;</span>
3471
3371
  <span class="cline-any cline-neutral">&nbsp;</span>
3472
3372
  <span class="cline-any cline-neutral">&nbsp;</span>
3473
3373
  <span class="cline-any cline-neutral">&nbsp;</span>
3374
+ <span class="cline-any cline-neutral">&nbsp;</span>
3375
+ <span class="cline-any cline-neutral">&nbsp;</span>
3376
+ <span class="cline-any cline-neutral">&nbsp;</span>
3377
+ <span class="cline-any cline-neutral">&nbsp;</span>
3474
3378
  <span class="cline-any cline-yes">186x</span>
3475
3379
  <span class="cline-any cline-neutral">&nbsp;</span>
3476
3380
  <span class="cline-any cline-neutral">&nbsp;</span>
3477
3381
  <span class="cline-any cline-neutral">&nbsp;</span>
3478
3382
  <span class="cline-any cline-neutral">&nbsp;</span>
3479
3383
  <span class="cline-any cline-neutral">&nbsp;</span>
3384
+ <span class="cline-any cline-neutral">&nbsp;</span>
3385
+ <span class="cline-any cline-neutral">&nbsp;</span>
3386
+ <span class="cline-any cline-neutral">&nbsp;</span>
3387
+ <span class="cline-any cline-neutral">&nbsp;</span>
3480
3388
  <span class="cline-any cline-yes">186x</span>
3481
3389
  <span class="cline-any cline-neutral">&nbsp;</span>
3482
3390
  <span class="cline-any cline-neutral">&nbsp;</span>
3483
3391
  <span class="cline-any cline-neutral">&nbsp;</span>
3484
3392
  <span class="cline-any cline-neutral">&nbsp;</span>
3485
3393
  <span class="cline-any cline-neutral">&nbsp;</span>
3394
+ <span class="cline-any cline-neutral">&nbsp;</span>
3395
+ <span class="cline-any cline-neutral">&nbsp;</span>
3396
+ <span class="cline-any cline-neutral">&nbsp;</span>
3486
3397
  <span class="cline-any cline-yes">186x</span>
3487
3398
  <span class="cline-any cline-neutral">&nbsp;</span>
3488
3399
  <span class="cline-any cline-neutral">&nbsp;</span>
3489
3400
  <span class="cline-any cline-neutral">&nbsp;</span>
3490
3401
  <span class="cline-any cline-neutral">&nbsp;</span>
3491
3402
  <span class="cline-any cline-neutral">&nbsp;</span>
3403
+ <span class="cline-any cline-neutral">&nbsp;</span>
3404
+ <span class="cline-any cline-neutral">&nbsp;</span>
3405
+ <span class="cline-any cline-neutral">&nbsp;</span>
3406
+ <span class="cline-any cline-neutral">&nbsp;</span>
3492
3407
  <span class="cline-any cline-yes">186x</span>
3493
3408
  <span class="cline-any cline-neutral">&nbsp;</span>
3494
3409
  <span class="cline-any cline-neutral">&nbsp;</span>
3495
3410
  <span class="cline-any cline-neutral">&nbsp;</span>
3496
3411
  <span class="cline-any cline-neutral">&nbsp;</span>
3497
3412
  <span class="cline-any cline-neutral">&nbsp;</span>
3413
+ <span class="cline-any cline-neutral">&nbsp;</span>
3414
+ <span class="cline-any cline-neutral">&nbsp;</span>
3415
+ <span class="cline-any cline-neutral">&nbsp;</span>
3416
+ <span class="cline-any cline-neutral">&nbsp;</span>
3498
3417
  <span class="cline-any cline-yes">186x</span>
3499
3418
  <span class="cline-any cline-neutral">&nbsp;</span>
3500
3419
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4634,10 +4553,6 @@
4634
4553
  <span class="cline-any cline-no">&nbsp;</span>
4635
4554
  <span class="cline-any cline-neutral">&nbsp;</span>
4636
4555
  <span class="cline-any cline-neutral">&nbsp;</span>
4637
- <span class="cline-any cline-neutral">&nbsp;</span>
4638
- <span class="cline-any cline-no">&nbsp;</span>
4639
- <span class="cline-any cline-neutral">&nbsp;</span>
4640
- <span class="cline-any cline-neutral">&nbsp;</span>
4641
4556
  <span class="cline-any cline-yes">1x</span>
4642
4557
  <span class="cline-any cline-neutral">&nbsp;</span>
4643
4558
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4677,8 +4592,6 @@
4677
4592
  <span class="cline-any cline-neutral">&nbsp;</span>
4678
4593
  <span class="cline-any cline-neutral">&nbsp;</span>
4679
4594
  <span class="cline-any cline-neutral">&nbsp;</span>
4680
- <span class="cline-any cline-yes">1x</span>
4681
- <span class="cline-any cline-no">&nbsp;</span>
4682
4595
  <span class="cline-any cline-no">&nbsp;</span>
4683
4596
  <span class="cline-any cline-no">&nbsp;</span>
4684
4597
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4706,12 +4619,6 @@
4706
4619
  <span class="cline-any cline-neutral">&nbsp;</span>
4707
4620
  <span class="cline-any cline-neutral">&nbsp;</span>
4708
4621
  <span class="cline-any cline-neutral">&nbsp;</span>
4709
- <span class="cline-any cline-yes">1x</span>
4710
- <span class="cline-any cline-neutral">&nbsp;</span>
4711
- <span class="cline-any cline-neutral">&nbsp;</span>
4712
- <span class="cline-any cline-neutral">&nbsp;</span>
4713
- <span class="cline-any cline-neutral">&nbsp;</span>
4714
- <span class="cline-any cline-no">&nbsp;</span>
4715
4622
  <span class="cline-any cline-no">&nbsp;</span>
4716
4623
  <span class="cline-any cline-no">&nbsp;</span>
4717
4624
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4758,8 +4665,6 @@
4758
4665
  <span class="cline-any cline-neutral">&nbsp;</span>
4759
4666
  <span class="cline-any cline-neutral">&nbsp;</span>
4760
4667
  <span class="cline-any cline-neutral">&nbsp;</span>
4761
- <span class="cline-any cline-yes">1x</span>
4762
- <span class="cline-any cline-no">&nbsp;</span>
4763
4668
  <span class="cline-any cline-no">&nbsp;</span>
4764
4669
  <span class="cline-any cline-no">&nbsp;</span>
4765
4670
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4822,7 +4727,6 @@
4822
4727
  <span class="cline-any cline-no">&nbsp;</span>
4823
4728
  <span class="cline-any cline-neutral">&nbsp;</span>
4824
4729
  <span class="cline-any cline-neutral">&nbsp;</span>
4825
- <span class="cline-any cline-neutral">&nbsp;</span>
4826
4730
  <span class="cline-any cline-no">&nbsp;</span>
4827
4731
  <span class="cline-any cline-no">&nbsp;</span>
4828
4732
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4914,7 +4818,7 @@
4914
4818
  <span class="cline-any cline-neutral">&nbsp;</span>
4915
4819
  <span class="cline-any cline-yes">1x</span>
4916
4820
  <span class="cline-any cline-yes">73x</span>
4917
- <span class="cline-any cline-yes">73x</span>
4821
+ <span class="cline-any cline-neutral">&nbsp;</span>
4918
4822
  <span class="cline-any cline-yes">73x</span>
4919
4823
  <span class="cline-any cline-yes">2x</span>
4920
4824
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4925,10 +4829,13 @@
4925
4829
  <span class="cline-any cline-yes">2x</span>
4926
4830
  <span class="cline-any cline-neutral">&nbsp;</span>
4927
4831
  <span class="cline-any cline-neutral">&nbsp;</span>
4832
+ <span class="cline-any cline-neutral">&nbsp;</span>
4928
4833
  <span class="cline-any cline-yes">73x</span>
4929
4834
  <span class="cline-any cline-neutral">&nbsp;</span>
4930
4835
  <span class="cline-any cline-neutral">&nbsp;</span>
4931
4836
  <span class="cline-any cline-neutral">&nbsp;</span>
4837
+ <span class="cline-any cline-neutral">&nbsp;</span>
4838
+ <span class="cline-any cline-neutral">&nbsp;</span>
4932
4839
  <span class="cline-any cline-no">&nbsp;</span>
4933
4840
  <span class="cline-any cline-neutral">&nbsp;</span>
4934
4841
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4945,6 +4852,7 @@
4945
4852
  <span class="cline-any cline-yes">1x</span>
4946
4853
  <span class="cline-any cline-neutral">&nbsp;</span>
4947
4854
  <span class="cline-any cline-neutral">&nbsp;</span>
4855
+ <span class="cline-any cline-neutral">&nbsp;</span>
4948
4856
  <span class="cline-any cline-yes">1x</span>
4949
4857
  <span class="cline-any cline-yes">1x</span>
4950
4858
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4989,6 +4897,7 @@
4989
4897
  <span class="cline-any cline-yes">10x</span>
4990
4898
  <span class="cline-any cline-neutral">&nbsp;</span>
4991
4899
  <span class="cline-any cline-neutral">&nbsp;</span>
4900
+ <span class="cline-any cline-neutral">&nbsp;</span>
4992
4901
  <span class="cline-any cline-yes">57x</span>
4993
4902
  <span class="cline-any cline-neutral">&nbsp;</span>
4994
4903
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5007,6 +4916,7 @@
5007
4916
  <span class="cline-any cline-yes">1x</span>
5008
4917
  <span class="cline-any cline-neutral">&nbsp;</span>
5009
4918
  <span class="cline-any cline-neutral">&nbsp;</span>
4919
+ <span class="cline-any cline-neutral">&nbsp;</span>
5010
4920
  <span class="cline-any cline-yes">57x</span>
5011
4921
  <span class="cline-any cline-yes">57x</span>
5012
4922
  <span class="cline-any cline-yes">6x</span>
@@ -5018,13 +4928,13 @@
5018
4928
  <span class="cline-any cline-neutral">&nbsp;</span>
5019
4929
  <span class="cline-any cline-neutral">&nbsp;</span>
5020
4930
  <span class="cline-any cline-neutral">&nbsp;</span>
4931
+ <span class="cline-any cline-neutral">&nbsp;</span>
5021
4932
  <span class="cline-any cline-yes">57x</span>
5022
4933
  <span class="cline-any cline-yes">57x</span>
5023
- <span class="cline-any cline-yes">57x</span>
4934
+ <span class="cline-any cline-neutral">&nbsp;</span>
5024
4935
  <span class="cline-any cline-yes">57x</span>
5025
4936
  <span class="cline-any cline-yes">57x</span>
5026
4937
  <span class="cline-any cline-yes">77x</span>
5027
- <span class="cline-any cline-neutral">&nbsp;</span>
5028
4938
  <span class="cline-any cline-yes">57x</span>
5029
4939
  <span class="cline-any cline-yes">5x</span>
5030
4940
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5034,6 +4944,7 @@
5034
4944
  <span class="cline-any cline-yes">57x</span>
5035
4945
  <span class="cline-any cline-neutral">&nbsp;</span>
5036
4946
  <span class="cline-any cline-neutral">&nbsp;</span>
4947
+ <span class="cline-any cline-neutral">&nbsp;</span>
5037
4948
  <span class="cline-any cline-yes">57x</span>
5038
4949
  <span class="cline-any cline-yes">8x</span>
5039
4950
  <span class="cline-any cline-yes">8x</span>
@@ -5090,13 +5001,16 @@
5090
5001
  <span class="cline-any cline-yes">49x</span>
5091
5002
  <span class="cline-any cline-neutral">&nbsp;</span>
5092
5003
  <span class="cline-any cline-neutral">&nbsp;</span>
5004
+ <span class="cline-any cline-neutral">&nbsp;</span>
5093
5005
  <span class="cline-any cline-yes">57x</span>
5094
5006
  <span class="cline-any cline-neutral">&nbsp;</span>
5007
+ <span class="cline-any cline-neutral">&nbsp;</span>
5095
5008
  <span class="cline-any cline-yes">57x</span>
5096
5009
  <span class="cline-any cline-yes">4x</span>
5097
5010
  <span class="cline-any cline-neutral">&nbsp;</span>
5098
5011
  <span class="cline-any cline-yes">53x</span>
5099
5012
  <span class="cline-any cline-neutral">&nbsp;</span>
5013
+ <span class="cline-any cline-neutral">&nbsp;</span>
5100
5014
  <span class="cline-any cline-yes">57x</span>
5101
5015
  <span class="cline-any cline-neutral">&nbsp;</span>
5102
5016
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5587,11 +5501,6 @@
5587
5501
  <span class="cline-any cline-no">&nbsp;</span>
5588
5502
  <span class="cline-any cline-neutral">&nbsp;</span>
5589
5503
  <span class="cline-any cline-neutral">&nbsp;</span>
5590
- <span class="cline-any cline-no">&nbsp;</span>
5591
- <span class="cline-any cline-neutral">&nbsp;</span>
5592
- <span class="cline-any cline-no">&nbsp;</span>
5593
- <span class="cline-any cline-neutral">&nbsp;</span>
5594
- <span class="cline-any cline-neutral">&nbsp;</span>
5595
5504
  <span class="cline-any cline-neutral">&nbsp;</span>
5596
5505
  <span class="cline-any cline-no">&nbsp;</span>
5597
5506
  <span class="cline-any cline-no">&nbsp;</span>
@@ -5729,13 +5638,6 @@
5729
5638
  <span class="cline-any cline-neutral">&nbsp;</span>
5730
5639
  <span class="cline-any cline-neutral">&nbsp;</span>
5731
5640
  <span class="cline-any cline-neutral">&nbsp;</span>
5732
- <span class="cline-any cline-yes">73x</span>
5733
- <span class="cline-any cline-yes">80x</span>
5734
- <span class="cline-any cline-neutral">&nbsp;</span>
5735
- <span class="cline-any cline-neutral">&nbsp;</span>
5736
- <span class="cline-any cline-neutral">&nbsp;</span>
5737
- <span class="cline-any cline-neutral">&nbsp;</span>
5738
- <span class="cline-any cline-neutral">&nbsp;</span>
5739
5641
  <span class="cline-any cline-neutral">&nbsp;</span>
5740
5642
  <span class="cline-any cline-neutral">&nbsp;</span>
5741
5643
  <span class="cline-any cline-yes">73x</span>
@@ -5825,82 +5727,14 @@
5825
5727
  <span class="cline-any cline-neutral">&nbsp;</span>
5826
5728
  <span class="cline-any cline-yes">87x</span>
5827
5729
  <span class="cline-any cline-neutral">&nbsp;</span>
5828
- <span class="cline-any cline-yes">73x</span>
5829
- <span class="cline-any cline-yes">73x</span>
5830
- <span class="cline-any cline-yes">73x</span>
5831
- <span class="cline-any cline-yes">7x</span>
5832
5730
  <span class="cline-any cline-neutral">&nbsp;</span>
5833
5731
  <span class="cline-any cline-yes">73x</span>
5834
5732
  <span class="cline-any cline-yes">73x</span>
5835
- <span class="cline-any cline-no">&nbsp;</span>
5836
- <span class="cline-any cline-no">&nbsp;</span>
5837
- <span class="cline-any cline-no">&nbsp;</span>
5838
- <span class="cline-any cline-no">&nbsp;</span>
5839
- <span class="cline-any cline-neutral">&nbsp;</span>
5840
- <span class="cline-any cline-neutral">&nbsp;</span>
5841
5733
  <span class="cline-any cline-neutral">&nbsp;</span>
5842
5734
  <span class="cline-any cline-yes">73x</span>
5843
5735
  <span class="cline-any cline-yes">73x</span>
5844
5736
  <span class="cline-any cline-neutral">&nbsp;</span>
5845
5737
  <span class="cline-any cline-yes">73x</span>
5846
- <span class="cline-any cline-yes">73x</span>
5847
- <span class="cline-any cline-neutral">&nbsp;</span>
5848
- <span class="cline-any cline-yes">73x</span>
5849
- <span class="cline-any cline-yes">73x</span>
5850
- <span class="cline-any cline-neutral">&nbsp;</span>
5851
- <span class="cline-any cline-neutral">&nbsp;</span>
5852
- <span class="cline-any cline-neutral">&nbsp;</span>
5853
- <span class="cline-any cline-neutral">&nbsp;</span>
5854
- <span class="cline-any cline-neutral">&nbsp;</span>
5855
- <span class="cline-any cline-yes">2x</span>
5856
- <span class="cline-any cline-yes">24x</span>
5857
- <span class="cline-any cline-yes">6x</span>
5858
- <span class="cline-any cline-neutral">&nbsp;</span>
5859
- <span class="cline-any cline-yes">2x</span>
5860
- <span class="cline-any cline-yes">8x</span>
5861
- <span class="cline-any cline-yes">2x</span>
5862
- <span class="cline-any cline-yes">2x</span>
5863
- <span class="cline-any cline-yes">2x</span>
5864
- <span class="cline-any cline-neutral">&nbsp;</span>
5865
- <span class="cline-any cline-yes">2x</span>
5866
- <span class="cline-any cline-yes">2x</span>
5867
- <span class="cline-any cline-no">&nbsp;</span>
5868
- <span class="cline-any cline-neutral">&nbsp;</span>
5869
- <span class="cline-any cline-neutral">&nbsp;</span>
5870
- <span class="cline-any cline-neutral">&nbsp;</span>
5871
- <span class="cline-any cline-neutral">&nbsp;</span>
5872
- <span class="cline-any cline-no">&nbsp;</span>
5873
- <span class="cline-any cline-no">&nbsp;</span>
5874
- <span class="cline-any cline-neutral">&nbsp;</span>
5875
- <span class="cline-any cline-neutral">&nbsp;</span>
5876
- <span class="cline-any cline-no">&nbsp;</span>
5877
- <span class="cline-any cline-neutral">&nbsp;</span>
5878
- <span class="cline-any cline-neutral">&nbsp;</span>
5879
- <span class="cline-any cline-neutral">&nbsp;</span>
5880
- <span class="cline-any cline-neutral">&nbsp;</span>
5881
- <span class="cline-any cline-yes">2x</span>
5882
- <span class="cline-any cline-neutral">&nbsp;</span>
5883
- <span class="cline-any cline-neutral">&nbsp;</span>
5884
- <span class="cline-any cline-neutral">&nbsp;</span>
5885
- <span class="cline-any cline-neutral">&nbsp;</span>
5886
- <span class="cline-any cline-neutral">&nbsp;</span>
5887
- <span class="cline-any cline-neutral">&nbsp;</span>
5888
- <span class="cline-any cline-neutral">&nbsp;</span>
5889
- <span class="cline-any cline-neutral">&nbsp;</span>
5890
- <span class="cline-any cline-neutral">&nbsp;</span>
5891
- <span class="cline-any cline-neutral">&nbsp;</span>
5892
- <span class="cline-any cline-neutral">&nbsp;</span>
5893
- <span class="cline-any cline-neutral">&nbsp;</span>
5894
- <span class="cline-any cline-neutral">&nbsp;</span>
5895
- <span class="cline-any cline-neutral">&nbsp;</span>
5896
- <span class="cline-any cline-neutral">&nbsp;</span>
5897
- <span class="cline-any cline-neutral">&nbsp;</span>
5898
- <span class="cline-any cline-neutral">&nbsp;</span>
5899
- <span class="cline-any cline-neutral">&nbsp;</span>
5900
- <span class="cline-any cline-neutral">&nbsp;</span>
5901
- <span class="cline-any cline-neutral">&nbsp;</span>
5902
- <span class="cline-any cline-neutral">&nbsp;</span>
5903
- <span class="cline-any cline-yes">2x</span>
5904
5738
  <span class="cline-any cline-neutral">&nbsp;</span>
5905
5739
  <span class="cline-any cline-yes">73x</span>
5906
5740
  <span class="cline-any cline-yes">1x</span>
@@ -5920,12 +5754,12 @@
5920
5754
  <span class="cline-any cline-yes">73x</span>
5921
5755
  <span class="cline-any cline-yes">73x</span>
5922
5756
  <span class="cline-any cline-yes">73x</span>
5923
- <span class="cline-any cline-yes">195x</span>
5757
+ <span class="cline-any cline-yes">193x</span>
5924
5758
  <span class="cline-any cline-yes">5x</span>
5925
5759
  <span class="cline-any cline-yes">5x</span>
5926
5760
  <span class="cline-any cline-neutral">&nbsp;</span>
5927
- <span class="cline-any cline-yes">195x</span>
5928
- <span class="cline-any cline-yes">195x</span>
5761
+ <span class="cline-any cline-yes">193x</span>
5762
+ <span class="cline-any cline-yes">193x</span>
5929
5763
  <span class="cline-any cline-neutral">&nbsp;</span>
5930
5764
  <span class="cline-any cline-neutral">&nbsp;</span>
5931
5765
  <span class="cline-any cline-yes">73x</span>
@@ -6015,8 +5849,6 @@
6015
5849
  <span class="cline-any cline-neutral">&nbsp;</span>
6016
5850
  <span class="cline-any cline-neutral">&nbsp;</span>
6017
5851
  <span class="cline-any cline-neutral">&nbsp;</span>
6018
- <span class="cline-any cline-neutral">&nbsp;</span>
6019
- <span class="cline-any cline-neutral">&nbsp;</span>
6020
5852
  <span class="cline-any cline-no">&nbsp;</span>
6021
5853
  <span class="cline-any cline-no">&nbsp;</span>
6022
5854
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -6037,6 +5869,10 @@
6037
5869
  <span class="cline-any cline-no">&nbsp;</span>
6038
5870
  <span class="cline-any cline-no">&nbsp;</span>
6039
5871
  <span class="cline-any cline-no">&nbsp;</span>
5872
+ <span class="cline-any cline-neutral">&nbsp;</span>
5873
+ <span class="cline-any cline-no">&nbsp;</span>
5874
+ <span class="cline-any cline-no">&nbsp;</span>
5875
+ <span class="cline-any cline-neutral">&nbsp;</span>
6040
5876
  <span class="cline-any cline-no">&nbsp;</span>
6041
5877
  <span class="cline-any cline-no">&nbsp;</span>
6042
5878
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -6062,6 +5898,8 @@
6062
5898
  <span class="cline-any cline-no">&nbsp;</span>
6063
5899
  <span class="cline-any cline-no">&nbsp;</span>
6064
5900
  <span class="cline-any cline-no">&nbsp;</span>
5901
+ <span class="cline-any cline-no">&nbsp;</span>
5902
+ <span class="cline-any cline-no">&nbsp;</span>
6065
5903
  <span class="cline-any cline-neutral">&nbsp;</span>
6066
5904
  <span class="cline-any cline-neutral">&nbsp;</span>
6067
5905
  <span class="cline-any cline-no">&nbsp;</span>
@@ -6083,6 +5921,8 @@
6083
5921
  <span class="cline-any cline-no">&nbsp;</span>
6084
5922
  <span class="cline-any cline-no">&nbsp;</span>
6085
5923
  <span class="cline-any cline-no">&nbsp;</span>
5924
+ <span class="cline-any cline-no">&nbsp;</span>
5925
+ <span class="cline-any cline-no">&nbsp;</span>
6086
5926
  <span class="cline-any cline-neutral">&nbsp;</span>
6087
5927
  <span class="cline-any cline-no">&nbsp;</span>
6088
5928
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -6094,6 +5934,16 @@
6094
5934
  <span class="cline-any cline-neutral">&nbsp;</span>
6095
5935
  <span class="cline-any cline-neutral">&nbsp;</span>
6096
5936
  <span class="cline-any cline-neutral">&nbsp;</span>
5937
+ <span class="cline-any cline-neutral">&nbsp;</span>
5938
+ <span class="cline-any cline-neutral">&nbsp;</span>
5939
+ <span class="cline-any cline-no">&nbsp;</span>
5940
+ <span class="cline-any cline-no">&nbsp;</span>
5941
+ <span class="cline-any cline-no">&nbsp;</span>
5942
+ <span class="cline-any cline-neutral">&nbsp;</span>
5943
+ <span class="cline-any cline-no">&nbsp;</span>
5944
+ <span class="cline-any cline-no">&nbsp;</span>
5945
+ <span class="cline-any cline-neutral">&nbsp;</span>
5946
+ <span class="cline-any cline-neutral">&nbsp;</span>
6097
5947
  <span class="cline-any cline-no">&nbsp;</span>
6098
5948
  <span class="cline-any cline-no">&nbsp;</span>
6099
5949
  <span class="cline-any cline-no">&nbsp;</span>
@@ -6151,17 +6001,7 @@
6151
6001
  <span class="cline-any cline-neutral">&nbsp;</span>
6152
6002
  <span class="cline-any cline-neutral">&nbsp;</span>
6153
6003
  <span class="cline-any cline-neutral">&nbsp;</span>
6154
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
6155
- import {
6156
- TranslatorState,
6157
- shiftState,
6158
- withSourceMap,
6159
- indent,
6160
- createCompilerState,
6161
- withSourceMapGenerator,
6162
- withGenerator,
6163
- TranslatorGenerator,
6164
- } from '../translator';
6004
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
6165
6005
  import { stdlibNamespace, CallLogic } from '../concepts';
6166
6006
  &nbsp;
6167
6007
  import * as babelParser from '@babel/parser';
@@ -6304,25 +6144,6 @@ function <span class="fstat-no" title="function not covered" >transAstNodeToNasl
6304
6144
  label: '原子项',
6305
6145
  code: astNode.value,
6306
6146
  };
6307
- } else <span class="cstat-no" title="statement not covered" >if (astNode.type === 'TemplateLiteral') { // 模板字符串翻译成字符串插值</span>
6308
- const { expressions, quasis } = <span class="cstat-no" title="statement not covered" >astNode;</span>
6309
- <span class="cstat-no" title="statement not covered" > node = {</span>
6310
- concept: 'StringInterpolation',
6311
- kind: 'Expression',
6312
- name: '',
6313
- expressions: [...(quasis || []), ...(expressions || [])].sort(<span class="fstat-no" title="function not covered" >(n</span>ode1, node2) =&gt; {
6314
- <span class="cstat-no" title="statement not covered" > return node1.start - node2.start;</span>
6315
- }).map(<span class="fstat-no" title="function not covered" >(n</span>ode) =&gt; {
6316
- <span class="cstat-no" title="statement not covered" > return transAstNodeToNaslNode(node);</span>
6317
- }),
6318
- };
6319
- } else <span class="cstat-no" title="statement not covered" >if (astNode.type === 'TemplateElement') {</span>
6320
- <span class="cstat-no" title="statement not covered" > node = {</span>
6321
- concept: 'StringLiteral',
6322
- kind: 'Expression',
6323
- name: '',
6324
- value: astNode.value?.raw,
6325
- };
6326
6147
  } else <span class="cstat-no" title="statement not covered" >if (astNode.type === 'StringLiteral') {</span>
6327
6148
  // 单独特殊处理枚举因为他不是MemberExpression,而是Identifier_
6328
6149
  <span class="cstat-no" title="statement not covered" > if (astNode?.value?.startsWith('__enumTypeAnnotation_')) {</span>
@@ -6508,37 +6329,60 @@ export class ViewElement extends BaseNode {
6508
6329
  /**
6509
6330
  * 元素绑定属性列表
6510
6331
  */
6511
- @property('BindAttribute')
6332
+ @property({
6333
+ objectRef: 'BindAttribute',
6334
+ isArray: true,
6335
+ defaultValue: [],
6336
+ })
6512
6337
  bindAttrs: Array&lt;BindAttribute&gt; = [];
6513
6338
  &nbsp;
6514
6339
  /**
6515
6340
  * 元素绑定事件列表
6516
6341
  */
6517
- @property('BindEvent')
6342
+ @property({
6343
+ objectRef: 'BindEvent',
6344
+ isArray: true,
6345
+ defaultValue: [],
6346
+ })
6518
6347
  bindEvents: Array&lt;BindEvent&gt; = [];
6519
6348
  &nbsp;
6520
6349
  /**
6521
6350
  * 元素指令列表
6522
6351
  */
6523
- @property('BindDirective')
6352
+ @property({
6353
+ objectRef: 'BindDirective',
6354
+ isArray: true,
6355
+ defaultValue: [],
6356
+ })
6524
6357
  bindDirectives: Array&lt;BindDirective&gt; = [];
6525
6358
  &nbsp;
6526
6359
  /**
6527
6360
  * 绑定的角色
6528
6361
  */
6529
- @property()
6362
+ @property({
6363
+ isArray: true,
6364
+ defaultValue: [],
6365
+ })
6530
6366
  bindRoles: Array&lt;string&gt; = [];
6531
6367
  &nbsp;
6532
6368
  /**
6533
6369
  * 元素绑定样式列表
6534
6370
  */
6535
- @property('BindStyle')
6371
+ @property({
6372
+ objectRef: 'BindStyle',
6373
+ isArray: true,
6374
+ defaultValue: [],
6375
+ })
6536
6376
  bindStyles: Array&lt;BindStyle&gt; = [];
6537
6377
  &nbsp;
6538
6378
  /**
6539
6379
  * 子元素列表
6540
6380
  */
6541
- @property('ViewElement')
6381
+ @property({
6382
+ objectRef: 'ViewElement',
6383
+ isArray: true,
6384
+ defaultValue: [],
6385
+ })
6542
6386
  children: Array&lt;ViewElement&gt; = [];
6543
6387
  &nbsp;
6544
6388
  /**
@@ -7677,10 +7521,6 @@ export class ViewElement extends BaseNode {
7677
7521
  <span class="fstat-no" title="function not covered" > getViewElementUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'viewElement1')</span> {
7678
7522
  <span class="cstat-no" title="statement not covered" > return this.view?.getViewElementUniqueName(name);</span>
7679
7523
  }
7680
- &nbsp;
7681
- <span class="fstat-no" title="function not covered" > getViewElementUniqueNameOld(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'viewElement1')</span> {
7682
- <span class="cstat-no" title="statement not covered" > return this.view?.getViewElementUniqueNameOld(name);</span>
7683
- }
7684
7524
  &nbsp;
7685
7525
  public static readonly TAG_NAME_PREFIX_REG?: RegExp = /^([lieu]|van)[-_]/;
7686
7526
  &nbsp;
@@ -7720,68 +7560,60 @@ export class ViewElement extends BaseNode {
7720
7560
  return Boolean(this.slotScope);
7721
7561
  }
7722
7562
  &nbsp;
7723
- @withGenerator
7724
- <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTSDefinition(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: TranslatorGenerator {
7725
- const self = <span class="cstat-no" title="statement not covered" >this;</span>
7563
+ <span class="fstat-no" title="function not covered" > toEmbeddedTSDefinition(</span>state?: TranslatorState): string {
7726
7564
  let code = <span class="cstat-no" title="statement not covered" >'';</span>
7727
7565
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 1);</span>
7728
7566
  // 登录组件不翻译
7729
- <span class="cstat-no" title="statement not covered" > if (self.toHump(self.tag) === 'lcapLogin' || self.staticClass === 'login-form') {</span>
7730
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: nasl.ui.div&lt;any&gt;;\n`;</span>
7731
- } else <span class="cstat-no" title="statement not covered" >if (self.tag === 'u-table-view-column-dynamic') {</span>
7732
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: nasl.ui.${self.toHump(self.tag)}&lt;any, any&gt;;\n`;</span>
7733
- } else <span class="cstat-no" title="statement not covered" >if (Object.keys(PAGE_COMPONENT_INCLUDE_TAG_MAP).includes(self.tag)) {</span>
7734
- <span class="cstat-no" title="statement not covered" > if (self.bindAttrs?.findIndex(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >attr.name === 'data-source')</span> &gt; -1) {</span>
7735
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: nasl.ui.${self.toHump(self.tag)}&lt;__elements_completionProperty['${</span>
7736
- self.name
7567
+ <span class="cstat-no" title="statement not covered" > if (this.toHump(this.tag) === 'lcapLogin' || this.staticClass === 'login-form') {</span>
7568
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: nasl.ui.div&lt;any&gt;;\n`;</span>
7569
+ } else <span class="cstat-no" title="statement not covered" >if (this.tag === 'u-table-view-column-dynamic') {</span>
7570
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: nasl.ui.${this.toHump(this.tag)}&lt;any, any&gt;;\n`;</span>
7571
+ } else <span class="cstat-no" title="statement not covered" >if (Object.keys(PAGE_COMPONENT_INCLUDE_TAG_MAP).includes(this.tag)) {</span>
7572
+ <span class="cstat-no" title="statement not covered" > if (this.bindAttrs?.findIndex(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >attr.name === 'data-source')</span> &gt; -1) {</span>
7573
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: nasl.ui.${this.toHump(this.tag)}&lt;__elements_completionProperty['${</span>
7574
+ this.name
7737
7575
  }']['dataSource']&gt;;\n`;
7738
7576
  } else {
7739
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: nasl.ui.${self.toHump(self.tag)}&lt;any&gt;;\n`;</span>
7577
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: nasl.ui.${this.toHump(this.tag)}&lt;any&gt;;\n`;</span>
7740
7578
  }
7741
7579
  } else {
7742
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: nasl.ui.${self.toHump(self.tag)}&lt;any&gt;;\n`;</span>
7580
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: nasl.ui.${this.toHump(this.tag)}&lt;any&gt;;\n`;</span>
7743
7581
  }
7744
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.children)) {</span>
7745
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.children, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>element) {</span>
7746
- <span class="cstat-no" title="statement not covered" > code += yield* element.toEmbeddedTSDefinition(shiftState(state, code));</span>
7582
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.children)) {</span>
7583
+ <span class="cstat-no" title="statement not covered" > this.children.forEach(<span class="fstat-no" title="function not covered" >(e</span>lement) =&gt; {</span>
7584
+ <span class="cstat-no" title="statement not covered" > code += element.toEmbeddedTSDefinition(shiftState(state, code));</span>
7747
7585
  });
7748
7586
  }
7749
7587
  <span class="cstat-no" title="statement not covered" > return code;</span>
7750
7588
  }
7751
7589
  &nbsp;
7752
- @withGenerator
7753
- <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTSVariableDefinition(
7754
- state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span>
7755
- variableList?: string[],
7756
- nameLevel?: string,
7757
- ): TranslatorGenerator {
7758
- const self = <span class="cstat-no" title="statement not covered" >this;</span>
7590
+ <span class="fstat-no" title="function not covered" > toEmbeddedTSVariableDefinition(</span>state?: TranslatorState, variableList?: string[], nameLevel?: string): string {
7759
7591
  let code = <span class="cstat-no" title="statement not covered" >'';</span>
7760
7592
  let currentLevel = <span class="cstat-no" title="statement not covered" >nameLevel ? `${nameLevel}?.` : '';</span>
7761
- <span class="cstat-no" title="statement not covered" > currentLevel += `${self.name}?.()`;</span>
7762
- <span class="cstat-no" title="statement not covered" > if (PAGE_COMPONENT_INCLUDE_TAG_MAP?.[self.tag]) {</span>
7593
+ <span class="cstat-no" title="statement not covered" > currentLevel += `${this.name}?.()`;</span>
7594
+ <span class="cstat-no" title="statement not covered" > if (PAGE_COMPONENT_INCLUDE_TAG_MAP?.[this.tag]) {</span>
7763
7595
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 2);</span>
7764
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: {\n`;</span>
7765
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.bindAttrs)) {</span>
7766
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(</span>
7767
- self.bindAttrs.filter(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >PAGE_COMPONENT_INCLUDE_TAG_MAP[self.tag]?.[attr.name])</span>,
7768
- function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>attr) {
7769
- <span class="cstat-no" title="statement not covered" > code += yield* attr.toEmbeddedTSVariableDefinition(</span>
7596
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: {\n`;</span>
7597
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.bindAttrs)) {</span>
7598
+ <span class="cstat-no" title="statement not covered" > this.bindAttrs</span>
7599
+ .filter(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >PAGE_COMPONENT_INCLUDE_TAG_MAP[this.tag]?.[attr.name])</span>
7600
+ .forEach(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; {
7601
+ <span class="cstat-no" title="statement not covered" > code += attr.toEmbeddedTSVariableDefinition(</span>
7770
7602
  shiftState(state, code, { inline: true }),
7771
7603
  variableList,
7772
- self.name,
7604
+ this.name,
7773
7605
  currentLevel,
7774
7606
  );
7775
- },
7776
- );
7777
- <span class="cstat-no" title="statement not covered" > if (['u-select', 'van-pickerson'].includes(self.tag)) {</span>
7607
+ });
7608
+ &nbsp;
7609
+ <span class="cstat-no" title="statement not covered" > if (['u-select', 'van-pickerson'].includes(this.tag)) {</span>
7778
7610
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
7779
7611
  <span class="cstat-no" title="statement not covered" > code += `pageNumber: nasl.core.Long\n`;</span>
7780
7612
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
7781
7613
  <span class="cstat-no" title="statement not covered" > code += `filterText: nasl.core.String\n`;</span>
7782
7614
  } else <span class="cstat-no" title="statement not covered" >if (</span>
7783
- ['u-list-view', 'u-grid-view', 'u-table-view', 'van-list-view', 'van-grid-view'].includes(self.tag) &amp;&amp;
7784
- self.bindAttrs?.findIndex(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >attr.name === 'sorting')</span> === -1
7615
+ ['u-list-view', 'u-grid-view', 'u-table-view', 'van-list-view', 'van-grid-view'].includes(this.tag) &amp;&amp;
7616
+ this.bindAttrs?.findIndex(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >attr.name === 'sorting')</span> === -1
7785
7617
  ) {
7786
7618
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
7787
7619
  <span class="cstat-no" title="statement not covered" > code += `sorting: {</span>
@@ -7793,24 +7625,22 @@ export class ViewElement extends BaseNode {
7793
7625
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 2);</span>
7794
7626
  <span class="cstat-no" title="statement not covered" > code += `};\n`;</span>
7795
7627
  }
7796
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.children)) {</span>
7797
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.children, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>element) {</span>
7798
- <span class="cstat-no" title="statement not covered" > code += yield* element.toEmbeddedTSVariableDefinition(shiftState(state, code), variableList, currentLevel);</span>
7628
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.children)) {</span>
7629
+ <span class="cstat-no" title="statement not covered" > this.children.forEach(<span class="fstat-no" title="function not covered" >(e</span>lement) =&gt; {</span>
7630
+ <span class="cstat-no" title="statement not covered" > code += element.toEmbeddedTSVariableDefinition(shiftState(state, code), variableList, currentLevel);</span>
7799
7631
  });
7800
7632
  }
7801
7633
  <span class="cstat-no" title="statement not covered" > return code;</span>
7802
7634
  }
7803
7635
  &nbsp;
7804
- @withGenerator
7805
- <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTSVariableFunctionDefinition(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> parentLevel?: number): TranslatorGenerator {
7806
- const self = <span class="cstat-no" title="statement not covered" >this;</span>
7636
+ <span class="fstat-no" title="function not covered" > toEmbeddedTSVariableFunctionDefinition(</span>state?: TranslatorState, parentLevel?: number): string {
7807
7637
  let code = <span class="cstat-no" title="statement not covered" >'';</span>
7808
7638
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 2);</span>
7809
7639
  let levelIndex = <span class="cstat-no" title="statement not covered" >parentLevel || 0;</span>
7810
- <span class="cstat-no" title="statement not covered" > code += `${self.name}: () =&gt; {\n`;</span>
7811
- <span class="cstat-no" title="statement not covered" > if (self.tag === 'template' &amp;&amp; self.haveScope() &amp;&amp; self.parentNode instanceof ViewElement) {</span>
7812
- const currentType = <span class="cstat-no" title="statement not covered" >self.parentNode.tag === 'u-table-view-column-dynamic' ? 'CurrentDynamic' : 'Current';</span>
7813
- const _this = <span class="cstat-no" title="statement not covered" >self.parentNode;</span>
7640
+ <span class="cstat-no" title="statement not covered" > code += `${this.name}: () =&gt; {\n`;</span>
7641
+ <span class="cstat-no" title="statement not covered" > if (this.tag === 'template' &amp;&amp; this.haveScope() &amp;&amp; this.parentNode instanceof ViewElement) {</span>
7642
+ const currentType = <span class="cstat-no" title="statement not covered" >this.parentNode.tag === 'u-table-view-column-dynamic' ? 'CurrentDynamic' : 'Current';</span>
7643
+ const _this = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
7814
7644
  let genericity = <span class="cstat-no" title="statement not covered" >'';</span>
7815
7645
  <span class="cstat-no" title="statement not covered" > if (_this.tag === 'u-table-view-column-dynamic') {</span>
7816
7646
  <span class="cstat-no" title="statement not covered" > genericity += `&lt;${(_this.parentNode as any).__tsVariableDataSourceTypeName}, ${</span>
@@ -7827,10 +7657,10 @@ export class ViewElement extends BaseNode {
7827
7657
  <span class="cstat-no" title="statement not covered" > code += `let current${levelIndex === 0 ? '' : levelIndex}: nasl.ui.${currentType}${genericity}\n`;</span>
7828
7658
  <span class="cstat-no" title="statement not covered" > levelIndex++;</span>
7829
7659
  }
7830
- const attr = <span class="cstat-no" title="statement not covered" >self.bindAttrs?.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === 'data-source')</span>;</span>
7660
+ const attr = <span class="cstat-no" title="statement not covered" >this.bindAttrs?.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === 'data-source')</span>;</span>
7831
7661
  <span class="cstat-no" title="statement not covered" > if (attr &amp;&amp; attr.expression) {</span>
7832
- const datasourceName = <span class="cstat-no" title="statement not covered" >`datasourceName${self.name}`;</span>
7833
- (<span class="cstat-no" title="statement not covered" >self as any).__tsVariableDataSourceTypeName = datasourceName;</span>
7662
+ const datasourceName = <span class="cstat-no" title="statement not covered" >`datasourceName${this.name}`;</span>
7663
+ (<span class="cstat-no" title="statement not covered" >this as any).__tsVariableDataSourceTypeName = datasourceName;</span>
7834
7664
  <span class="cstat-no" title="statement not covered" > if (</span>
7835
7665
  attr.expression instanceof MemberExpression ||
7836
7666
  attr.expression instanceof Identifier ||
@@ -7841,7 +7671,7 @@ export class ViewElement extends BaseNode {
7841
7671
  inline: true,
7842
7672
  noNeedParams: true,
7843
7673
  };
7844
- let value = <span class="cstat-no" title="statement not covered" >yield* attr.expression.toEmbeddedTS(</span>
7674
+ let value = <span class="cstat-no" title="statement not covered" >attr.expression.toEmbeddedTS(</span>
7845
7675
  shiftState(state, code, attr.expression.concept === 'CallLogic' ? extraParams : {}),
7846
7676
  );
7847
7677
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
@@ -7850,7 +7680,7 @@ export class ViewElement extends BaseNode {
7850
7680
  } else {
7851
7681
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
7852
7682
  <span class="cstat-no" title="statement not covered" > code += `const __funcName = () =&gt; { return `;</span>
7853
- <span class="cstat-no" title="statement not covered" > code += yield* attr.expression.toEmbeddedTS(shiftState(state, code));</span>
7683
+ <span class="cstat-no" title="statement not covered" > code += attr.expression.toEmbeddedTS(shiftState(state, code));</span>
7854
7684
  <span class="cstat-no" title="statement not covered" > code += '};\n';</span>
7855
7685
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
7856
7686
  <span class="cstat-no" title="statement not covered" > code += `type ${datasourceName} = nasl.ui.GetItemTypeFromDataSource&lt;ReturnType&lt;typeof __funcName&gt;&gt;;\n`;</span>
@@ -7859,17 +7689,16 @@ export class ViewElement extends BaseNode {
7859
7689
  }
7860
7690
  <span class="cstat-no" title="statement not covered" > code += indent((state?.tabSize || 0) + 3);</span>
7861
7691
  <span class="cstat-no" title="statement not covered" > code += `return {\n`;</span>
7862
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.bindAttrs)) {</span>
7863
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(</span>
7864
- self.bindAttrs.filter(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >PAGE_COMPONENT_INCLUDE_TAG_MAP[self.tag]?.[attr.name])</span>,
7865
- function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>attr) {
7866
- <span class="cstat-no" title="statement not covered" > code += yield* attr.toEmbeddedTSVariableFunctionDefinition(shiftState(state, code, { inline: true }));</span>
7867
- },
7868
- );
7692
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.bindAttrs)) {</span>
7693
+ <span class="cstat-no" title="statement not covered" > this.bindAttrs</span>
7694
+ .filter(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; <span class="cstat-no" title="statement not covered" >PAGE_COMPONENT_INCLUDE_TAG_MAP[this.tag]?.[attr.name])</span>
7695
+ .forEach(<span class="fstat-no" title="function not covered" >(a</span>ttr) =&gt; {
7696
+ <span class="cstat-no" title="statement not covered" > code += attr.toEmbeddedTSVariableFunctionDefinition(shiftState(state, code, { inline: true }));</span>
7697
+ });
7869
7698
  }
7870
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.children)) {</span>
7871
- <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.children, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>element) {</span>
7872
- <span class="cstat-no" title="statement not covered" > code += yield* element.toEmbeddedTSVariableFunctionDefinition(</span>
7699
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.children)) {</span>
7700
+ <span class="cstat-no" title="statement not covered" > this.children.forEach(<span class="fstat-no" title="function not covered" >(e</span>lement) =&gt; {</span>
7701
+ <span class="cstat-no" title="statement not covered" > code += element.toEmbeddedTSVariableFunctionDefinition(</span>
7873
7702
  shiftState({ ...state, tabSize: state.tabSize + 2 }, code),
7874
7703
  levelIndex,
7875
7704
  );
@@ -7917,9 +7746,9 @@ export class ViewElement extends BaseNode {
7917
7746
  }
7918
7747
  return code;
7919
7748
  }
7920
- *getDatasourceTypeCodeStr(state?: TranslatorState, eleArr?: Array&lt;ViewElement&gt;) {
7749
+ getDatasourceTypeCodeStr(state?: TranslatorState, eleArr?: Array&lt;ViewElement&gt;): string {
7921
7750
  let code = '';
7922
- yield* wrapForEach(eleArr ?? <span class="branch-1 cbranch-no" title="branch not covered" >[],</span> function* wrapForEach(element, index) {
7751
+ (eleArr || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.forEach((element, index) =&gt; {
7923
7752
  const bindAttrs = element.bindAttrs;
7924
7753
  if (bindAttrs &amp;&amp; bindAttrs.length) {
7925
7754
  const attr = bindAttrs.find((item) =&gt; item.name === 'data-source');
@@ -7936,14 +7765,14 @@ export class ViewElement extends BaseNode {
7936
7765
  inline: true,
7937
7766
  noNeedParams: true,
7938
7767
  };
7939
- let value = yield* attr.expression.toEmbeddedTS(
7768
+ let value = attr.expression.toEmbeddedTS(
7940
7769
  shiftState(state, code, attr.expression.concept === 'CallLogic' ? extraParams : <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>,
7941
7770
  );
7942
7771
  code += `type ${datasourceName} = `;
7943
7772
  code += `nasl.ui.GetItemTypeFromDataSource&lt;typeof ${value}&gt;;\n`;
7944
7773
  } else {
7945
7774
  <span class="cstat-no" title="statement not covered" > code += `const __funcName${index} = () =&gt; { return`;</span>
7946
- <span class="cstat-no" title="statement not covered" > code += yield* attr.expression.toEmbeddedTS(shiftState(state, code));</span>
7775
+ <span class="cstat-no" title="statement not covered" > code += attr.expression.toEmbeddedTS(shiftState(state, code));</span>
7947
7776
  <span class="cstat-no" title="statement not covered" > code += '};\n';</span>
7948
7777
  <span class="cstat-no" title="statement not covered" > code += `type ${datasourceName} = `;</span>
7949
7778
  <span class="cstat-no" title="statement not covered" > code += `nasl.ui.GetItemTypeFromDataSource&lt;ReturnType&lt;typeof __funcName${index}&gt;&gt;;\n`;</span>
@@ -7955,10 +7784,10 @@ export class ViewElement extends BaseNode {
7955
7784
  code += indent((state?.tabSize || 0) + 2);
7956
7785
  return code;
7957
7786
  }
7958
- @withSourceMapGenerator
7959
- *toEmbeddedTS(state = createCompilerState(), parentLevel?: number): TranslatorGenerator {
7960
- const self = this;
7961
- const { parentNode, app, tag, staticClass, name, bindDirectives, bindRoles, bindEvents, children } = self;
7787
+ @withSourceMap()
7788
+ toEmbeddedTS(state?: TranslatorState, parentLevel?: number): string {
7789
+ const { parentNode, app, tag, staticClass, name, bindDirectives, bindRoles, bindEvents, children } = this;
7790
+ &nbsp;
7962
7791
  const chineseTsName = (name: string) =&gt; {
7963
7792
  let tsName = name;
7964
7793
  // 匹配所有特殊字符都转为_
@@ -7968,20 +7797,23 @@ export class ViewElement extends BaseNode {
7968
7797
  }
7969
7798
  return tsName;
7970
7799
  };
7800
+ &nbsp;
7971
7801
  // 过滤模板的登录中的一些翻译,这里只过滤h5表格中的两个列
7972
7802
  <span class="missing-if-branch" title="if path not taken" >I</span>if (
7973
- (parentNode.concept === 'ViewElement' &amp;&amp; parentNode.tag &amp;&amp; self.toHump(parentNode.tag) === 'lcapLogin') ||
7803
+ (parentNode.concept === 'ViewElement' &amp;&amp;
7804
+ (parentNode as any).tag &amp;&amp;
7805
+ this.toHump((parentNode as any).tag) === 'lcapLogin') ||
7974
7806
  staticClass === 'login-cell'
7975
7807
  ) {
7976
7808
  <span class="cstat-no" title="statement not covered" > return '';</span>
7977
7809
  }
7978
7810
  // pc事件翻译
7979
- if (self.toHump(tag) === 'lcapLogin') {
7980
- let code = `new nasl.ui.div({name: __elements.${self.name},\n`;
7811
+ if (this.toHump(tag) === 'lcapLogin') {
7812
+ let code = `new nasl.ui.div({name: __elements.${this.name},\n`;
7981
7813
  // 事件
7982
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.bindEvents)) {
7983
- yield* wrapForEach(self.bindEvents, function* warpForEachGenerator(event) {
7984
- code += yield* event.toEmbeddedTS(
7814
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.bindEvents)) {
7815
+ this.bindEvents.forEach((event) =&gt; {
7816
+ code += event.toEmbeddedTS(
7985
7817
  shiftState(state, code, {
7986
7818
  tabSize: (state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 2,
7987
7819
  }),
@@ -7989,19 +7821,20 @@ export class ViewElement extends BaseNode {
7989
7821
  code += '\n';
7990
7822
  });
7991
7823
  }
7824
+ &nbsp;
7992
7825
  code += `}),\n`;
7993
7826
  return code;
7994
7827
  }
7995
7828
  let levelIndex = parentLevel || 0;
7996
- if (tag === 'template' &amp;&amp; self.haveScope()) {
7997
- const slotTarget = !self.slotTarget ? <span class="branch-0 cbranch-no" title="branch not covered" >'slotDefault' </span>: 'slot' + self.toFirstUpper(self.toHump(self.slotTarget));
7829
+ if (tag === 'template' &amp;&amp; this.haveScope()) {
7830
+ const slotTarget = !this.slotTarget ? <span class="branch-0 cbranch-no" title="branch not covered" >'slotDefault' </span>: 'slot' + this.toFirstUpper(this.toHump(this.slotTarget));
7998
7831
  let code = '';
7999
7832
  code += `${slotTarget}: (current${levelIndex === 0 ? '' : <span class="branch-1 cbranch-no" title="branch not covered" >levelIndex}</span>)=&gt; {\n`;
8000
- code += yield* self.getDatasourceTypeCodeStr(state, self.children);
7833
+ code += this.getDatasourceTypeCodeStr(state, this.children);
8001
7834
  levelIndex++;
8002
7835
  code += 'return [';
8003
- yield* wrapForEach(self.children, function* warpForEachGenerator(element) {
8004
- code += yield* element.toEmbeddedTS(
7836
+ this.children.forEach((element) =&gt; {
7837
+ code += element.toEmbeddedTS(
8005
7838
  shiftState(state, code, {
8006
7839
  tabSize: state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0,</span>
8007
7840
  }),
@@ -8013,13 +7846,13 @@ export class ViewElement extends BaseNode {
8013
7846
  code += '},\n';
8014
7847
  return code;
8015
7848
  } else if (tag === 'template') {
8016
- const slotTarget = !self.slotTarget ? <span class="branch-0 cbranch-no" title="branch not covered" >'slotDefault' </span>: 'slot' + self.toFirstUpper(self.toHump(self.slotTarget));
7849
+ const slotTarget = !this.slotTarget ? <span class="branch-0 cbranch-no" title="branch not covered" >'slotDefault' </span>: 'slot' + this.toFirstUpper(this.toHump(this.slotTarget));
8017
7850
  let code = '';
8018
7851
  code += `${slotTarget}: ()=&gt; {\n`;
8019
- code += yield* self.getDatasourceTypeCodeStr(state, self.children);
7852
+ code += this.getDatasourceTypeCodeStr(state, this.children);
8020
7853
  code += 'return [';
8021
- yield* wrapForEach(self.children, function* warpForEachGenerator(element) {
8022
- code += yield* element.toEmbeddedTS(
7854
+ this.children.forEach((element) =&gt; {
7855
+ code += element.toEmbeddedTS(
8023
7856
  shiftState(state, code, {
8024
7857
  tabSize: state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0,</span>
8025
7858
  }),
@@ -8032,8 +7865,9 @@ export class ViewElement extends BaseNode {
8032
7865
  code += '},\n';
8033
7866
  return code;
8034
7867
  }
7868
+ &nbsp;
8035
7869
  // 后面那个name是为了查找引用的时候用的
8036
- let code = `new nasl.ui.${self.toHump(tag)}${self.getTypeArgmentsStr(state)}({name: __elements.${name},\n`;
7870
+ let code = `new nasl.ui.${this.toHump(tag)}${this.getTypeArgmentsStr(state)}({name: __elements.${name},\n`;
8037
7871
  // 是否开启权限
8038
7872
  // const hasAuth = Array.isArray(bindDirectives)
8039
7873
  // ? !!bindDirectives.filter((directive) =&gt; directive.name === 'auth').length
@@ -8042,7 +7876,7 @@ export class ViewElement extends BaseNode {
8042
7876
  if (Array.isArray(bindRoles) &amp;&amp; bindRoles.length) {
8043
7877
  code += indent((state?.tabSize || 0) + 2);
8044
7878
  code += 'roles: [\n';
8045
- yield* wrapForEach(bindRoles, function* warpForEachGenerator(role) {
7879
+ bindRoles.forEach((role) =&gt; {
8046
7880
  code += indent((state?.tabSize || 0) + 3);
8047
7881
  code += `${app.getNamespace()}.roles.${chineseTsName(role)}.${chineseTsName(role)},`;
8048
7882
  code += '\n';
@@ -8050,10 +7884,11 @@ export class ViewElement extends BaseNode {
8050
7884
  code += indent((state?.tabSize || 0) + 2);
8051
7885
  code += '],\n';
8052
7886
  }
7887
+ &nbsp;
8053
7888
  // 事件
8054
7889
  <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(bindEvents)) {
8055
- yield* wrapForEach(bindEvents, function* warpForEachGenerator(event) {
8056
- code += yield* event.toEmbeddedTS(
7890
+ bindEvents.forEach((event) =&gt; {
7891
+ code += event.toEmbeddedTS(
8057
7892
  shiftState(state, code, {
8058
7893
  tabSize: (state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 2,
8059
7894
  }),
@@ -8061,30 +7896,31 @@ export class ViewElement extends BaseNode {
8061
7896
  code += '\n';
8062
7897
  });
8063
7898
  }
7899
+ &nbsp;
8064
7900
  // 子元素
8065
7901
  <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(children)) {
8066
7902
  code += indent((state?.tabSize || 0) + 1);
8067
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.bindAttrs)) {
7903
+ &nbsp;
7904
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.bindAttrs)) {
8068
7905
  code += `bindAttr: () =&gt; [\n`;
8069
- yield* wrapForEach(self.bindAttrs, function* warpForEachGenerator(attr) {
8070
- code += (yield* attr.toEmbeddedTS(shiftState(state, code, { tabSize: 1 }))) + ',\n';
8071
- });
8072
- yield* wrapForEach(self.bindDirectives, function* warpForEachGenerator(directive) {
8073
- code += (yield* directive.toEmbeddedTS(shiftState(state, code, { tabSize: 1 }))) + ',\n';
8074
- });
8075
- yield* wrapForEach(self.bindStyles, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>bindStyle) {
8076
- <span class="cstat-no" title="statement not covered" > code += (yield* bindStyle.toEmbeddedTS(shiftState(state, code, { tabSize: 1 }))) + ',\n';</span>
8077
- });
7906
+ this.bindAttrs.forEach((attr) =&gt; (code += attr.toEmbeddedTS(shiftState(state, code, { tabSize: 1 })) + ',\n'));
7907
+ this.bindDirectives.forEach(
7908
+ (directive) =&gt; (code += directive.toEmbeddedTS(shiftState(state, code, { tabSize: 1 })) + ',\n'),
7909
+ );
7910
+ this.bindStyles.forEach(
7911
+ <span class="fstat-no" title="function not covered" > (b</span>indStyle) =&gt; (<span class="cstat-no" title="statement not covered" >code += bindStyle.toEmbeddedTS(shiftState(state, code, { tabSize: 1 })) + ',\n')</span>,
7912
+ );
8078
7913
  code += indent((state?.tabSize || 0) + 2) + '],\n';
8079
7914
  }
7915
+ &nbsp;
8080
7916
  // 如果子集中有插槽的就
8081
7917
  if (children.find((item) =&gt; item.tag === 'template' &amp;&amp; item.slotTarget)) {
8082
7918
  code += indent((state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 2);
8083
7919
  const defaultArr: ViewElement[] = [];
8084
7920
  // 先把插槽翻译了
8085
- yield* wrapForEach(children, function* warpForEachGenerator(element) {
7921
+ children.forEach((element) =&gt; {
8086
7922
  if (element.tag === 'template') {
8087
- code += yield* element.toEmbeddedTS(
7923
+ code += element.toEmbeddedTS(
8088
7924
  shiftState(state, code, {
8089
7925
  tabSize: state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0,</span>
8090
7926
  }),
@@ -8098,10 +7934,10 @@ export class ViewElement extends BaseNode {
8098
7934
  if (defaultArr.length) {
8099
7935
  code += indent((state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 2);
8100
7936
  code += `slotDefault: ()=&gt; {\n`;
8101
- code += yield* self.getDatasourceTypeCodeStr(state, defaultArr);
7937
+ code += this.getDatasourceTypeCodeStr(state, defaultArr);
8102
7938
  code += 'return [';
8103
- yield* wrapForEach(defaultArr, function* warpForEachGenerator(element) {
8104
- code += yield* element.toEmbeddedTS(
7939
+ defaultArr.forEach((element) =&gt; {
7940
+ code += element.toEmbeddedTS(
8105
7941
  shiftState(state, code, {
8106
7942
  tabSize: (state?.tabSize || <span class="branch-1 cbranch-no" title="branch not covered" >0)</span> + 2,
8107
7943
  }),
@@ -8117,10 +7953,10 @@ export class ViewElement extends BaseNode {
8117
7953
  } else {
8118
7954
  code += indent((state?.tabSize || 0) + 2);
8119
7955
  code += `slotDefault: ()=&gt; {\n`;
8120
- code += yield* self.getDatasourceTypeCodeStr(state, children);
7956
+ code += this.getDatasourceTypeCodeStr(state, children);
8121
7957
  code += 'return [';
8122
- yield* wrapForEach(children, function* warpForEachGenerator(element) {
8123
- code += yield* element.toEmbeddedTS(
7958
+ children.forEach((element) =&gt; {
7959
+ code += element.toEmbeddedTS(
8124
7960
  shiftState(state, code, {
8125
7961
  tabSize: (state?.tabSize || 0) + 2,
8126
7962
  }),
@@ -8134,13 +7970,16 @@ export class ViewElement extends BaseNode {
8134
7970
  code += '}\n';
8135
7971
  }
8136
7972
  }
7973
+ &nbsp;
8137
7974
  code += indent(state?.tabSize || 0) + '})';
7975
+ &nbsp;
8138
7976
  // 顶层元素是单独的表达式
8139
7977
  if (parentNode.concept === 'View') {
8140
7978
  code += ';\n';
8141
7979
  } else {
8142
7980
  code += ',\n';
8143
7981
  }
7982
+ &nbsp;
8144
7983
  return code;
8145
7984
  }
8146
7985
  &nbsp;
@@ -8307,7 +8146,7 @@ export class ViewElement extends BaseNode {
8307
8146
  expression: transAstNodeToNaslNode(Object.assign({}, argument)),
8308
8147
  }));
8309
8148
  }
8310
- } catch (error) { }
8149
+ } catch (error) {}
8311
8150
  &nbsp;
8312
8151
  <span class="cstat-no" title="statement not covered" > return {</span>
8313
8152
  concept: 'ValidationRule',
@@ -8628,11 +8467,6 @@ export class ViewElement extends BaseNode {
8628
8467
  <span class="cstat-no" title="statement not covered" > return `${attr.name}="${designerValue}"`;</span>
8629
8468
  }
8630
8469
  }
8631
- <span class="cstat-no" title="statement not covered" > if (attr.name === 'text' &amp;&amp; (attr as BindAttribute)?.expression instanceof MemberExpression &amp;&amp;</span>
8632
- ((attr?.expression as MemberExpression)?.object as Identifier)?.namespace?.startsWith('elements.') &amp;&amp;
8633
- ((attr?.expression as MemberExpression)?.object as Identifier)?.namespace?.endsWith('.property')) {
8634
- <span class="cstat-no" title="statement not covered" > return `${attr.name}="{{ ${attr.expression.toUI()} }}"`;</span>
8635
- };
8636
8470
  <span class="cstat-no" title="statement not covered" > if (</span>
8637
8471
  (attr as BindAttribute).type === 'dynamic' &amp;&amp;
8638
8472
  !(element.tag === 'u-cascade-select' &amp;&amp; attr.name === 'categories')
@@ -8665,7 +8499,7 @@ export class ViewElement extends BaseNode {
8665
8499
  getExtraParts: <span class="fstat-no" title="function not covered" >(e</span>l: ViewElement) =&gt; {
8666
8500
  const parts = <span class="cstat-no" title="statement not covered" >[];</span>
8667
8501
  &nbsp;
8668
- const api = <span class="cstat-no" title="statement not covered" >config?.allNodesAPI?.[el?.tag];</span>
8502
+ const api = <span class="cstat-no" title="statement not covered" >config.allNodesAPI[el.tag];</span>
8669
8503
  const emptySlot =
8670
8504
  <span class="cstat-no" title="statement not covered" > api &amp;&amp; api.slots &amp;&amp; api.slots.find(<span class="fstat-no" title="function not covered" >(s</span>lot) =&gt; <span class="cstat-no" title="statement not covered" >slot.name === 'default' &amp;&amp; slot['empty-background'])</span>;</span>
8671
8505
  const hasSupport = <span class="cstat-no" title="statement not covered" >api &amp;&amp; api.slots &amp;&amp; api.slots.some(<span class="fstat-no" title="function not covered" >(s</span>lot) =&gt; <span class="cstat-no" title="statement not covered" >slot.support)</span>;</span>
@@ -8770,13 +8604,6 @@ export class ViewElement extends BaseNode {
8770
8604
  &nbsp;
8771
8605
  return null;
8772
8606
  }
8773
- &nbsp;
8774
- // 获取双向绑定的属性
8775
- getSyncBindAttrs() {
8776
- return (this.bindAttrs || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.filter((bindAttr) =&gt; {
8777
- return !bindAttr?.shouldExcluded &amp;&amp; bindAttr?.sync &amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >bindAttr?.expression;</span>
8778
- });
8779
- }
8780
8607
  &nbsp;
8781
8608
  /**
8782
8609
  * 转换成 Vue 的模板格式
@@ -8820,12 +8647,12 @@ export class ViewElement extends BaseNode {
8820
8647
  const content: string = !this.children
8821
8648
  ? <span class="branch-0 cbranch-no" title="branch not covered" >''</span>
8822
8649
  : this.children
8823
- .map((element) =&gt; {
8824
- const childOptions = Object.assign({}, newOptions);
8825
- childOptions.indentLevel++;
8826
- return (shouldIndent ? '\n' + insideTabString : <span class="branch-1 cbranch-no" title="branch not covered" >'')</span> + element?.toVue(childOptions);
8827
- })
8828
- .join('');
8650
+ .map((element) =&gt; {
8651
+ const childOptions = Object.assign({}, newOptions);
8652
+ childOptions.indentLevel++;
8653
+ return (shouldIndent ? '\n' + insideTabString : <span class="branch-1 cbranch-no" title="branch not covered" >'')</span> + element?.toVue(childOptions);
8654
+ })
8655
+ .join('');
8829
8656
  if (!content.length) {
8830
8657
  shouldIndent = false;
8831
8658
  }
@@ -8844,9 +8671,9 @@ export class ViewElement extends BaseNode {
8844
8671
  this.slotTarget &amp;&amp;
8845
8672
  parts.push(
8846
8673
  `#${this.slotTarget}` +
8847
- (this.slotScope
8848
- ? `="${currentList.length &gt; 1 ? <span class="branch-0 cbranch-no" title="branch not covered" >this.slotScope + (currentList.length - 1) </span>: this.slotScope}"`
8849
- : ''),
8674
+ (this.slotScope
8675
+ ? `="${currentList.length &gt; 1 ? <span class="branch-0 cbranch-no" title="branch not covered" >this.slotScope + (currentList.length - 1) </span>: this.slotScope}"`
8676
+ : ''),
8850
8677
  );
8851
8678
  this.refName &amp;&amp; parts.push(`:ref="\`${this.refName}\`"`);
8852
8679
  this.keyName &amp;&amp; parts.push(`:key="\`${this.keyName}\`"`);
@@ -8867,22 +8694,9 @@ export class ViewElement extends BaseNode {
8867
8694
  return;
8868
8695
  }
8869
8696
  &nbsp;
8870
- result &amp;&amp; result !== 'undefined' &amp;&amp; parts.push(result);
8871
- });
8872
- <span class="missing-if-branch" title="else path not taken" >E</span>if (options?.finalCode !== false) {
8873
- const eventNames: string[] = [];
8874
- (this.bindEvents || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.forEach((bindEvent) =&gt; {
8875
- eventNames.push(bindEvent?.name);
8876
- });
8877
- const syncBindAttrs = this.getSyncBindAttrs();
8878
- (syncBindAttrs || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.forEach(<span class="fstat-no" title="function not covered" >(b</span>indAttr) =&gt; {
8879
- const syncEventName = <span class="cstat-no" title="statement not covered" >bindAttr.syncEventName;</span>
8880
- <span class="cstat-no" title="statement not covered" > if (!eventNames.includes(syncEventName)) {</span>
8881
- const argsList = <span class="cstat-no" title="statement not covered" >['$event', ...(bindAttr.getArgsList() || [])];</span>
8882
- <span class="cstat-no" title="statement not covered" > parts.push(`@${syncEventName}="${bindAttr.syncMethodName}(${argsList.join(', ')})"`);</span>
8883
- }
8697
+ result &amp;&amp; parts.push(result);
8884
8698
  });
8885
- }
8699
+ &nbsp;
8886
8700
  <span class="missing-if-branch" title="if path not taken" >I</span>if (vIfs.length === 2) <span class="cstat-no" title="statement not covered" >parts.push(`v-if="(${vIfs[0]}) &amp;&amp; (${vIfs[1]})"`);</span>
8887
8701
  else if (vIfs.length === 1) parts.push(`v-if="${vIfs[0]}"`);
8888
8702
  &nbsp;
@@ -8890,62 +8704,7 @@ export class ViewElement extends BaseNode {
8890
8704
  <span class="missing-if-branch" title="if path not taken" >I</span>if (bindStyles) <span class="cstat-no" title="statement not covered" >parts.push(bindStyles);</span>
8891
8705
  &nbsp;
8892
8706
  newOptions.getExtraParts(this).forEach(<span class="fstat-no" title="function not covered" >(p</span>art) =&gt; <span class="cstat-no" title="statement not covered" >parts.push(part))</span>;
8893
- if (["u-number-input", 'van-stepper-new'].includes(this.tag)) {
8894
- // cloudUI
8895
- // :step="${step}" :decimalLength="${decimalLength}"
8896
- // :decimal-places="{ places:${decimalLength}, omit:false }" //这个属性单独存在 需要测试
8897
- // vant
8898
- // step="${step}" :decimal-length="${decimalLength}"
8899
- const checkAttr = (attrName: string) =&gt; {
8900
- let value = this.bindAttrs?.find(attr =&gt; attr?.name === attrName)?.value
8901
- return value &amp;&amp; (<span class="branch-1 cbranch-no" title="branch not covered" >value !== 'undefined')</span>
8902
- }
8903
- let hasdecimalLength = (checkAttr("decimal-length") || checkAttr("decimalLength"))
8904
- let valueAttr = this.bindAttrs?.find(attr =&gt; attr?.name === "value")
8905
- const getNumberType = (attr: any) =&gt; {
8906
- let { typeName, typeNamespace } = attr?.expression?.__nodeType || {}
8907
- return typeName;
8908
- }
8909
- let numberType = getNumberType(valueAttr)
8910
- const pushDecimalLeng = <span class="fstat-no" title="function not covered" >(l</span>en: number, variableName?: string) =&gt; {
8911
- <span class="cstat-no" title="statement not covered" > if (!(checkAttr("decimal-length") || checkAttr("decimalLength"))) {</span>
8912
- // 值分 动态 非动态
8913
- // 1 有默认值 没有设置组件精度 : 取默认值的length
8914
- // 2 无默认值无精度 取2
8915
- // 3 无默认值 有精度 取精度
8916
- <span class="cstat-no" title="statement not covered" > if (variableName &amp;&amp; variableName.length &gt; 0) {</span>
8917
- <span class="cstat-no" title="statement not covered" > parts.push(`:decimal-length="${len}"`)</span>
8918
- // parts.push(`:decimal-length="${variableName}.length"`)
8919
- } else {
8920
- <span class="cstat-no" title="statement not covered" > parts.push(`:decimal-length="${len}"`)</span>
8921
- }
8922
- }
8923
- };
8924
- // 许彤需求 不需要 number-input 的精度属性 要跟之前反着写 有就删除 不允许翻译
8925
- <span class="missing-if-branch" title="if path not taken" >I</span>if (hasdecimalLength) {
8926
- // parts.delete(`:decimal-length="${len}"`)
8927
- }
8928
8707
  &nbsp;
8929
- // if (!hasdecimalLength) {
8930
- &nbsp;
8931
- // if (valueAttr?.type === "dynamic" &amp;&amp; numberType) {
8932
- // if (numberType == 'Decimal') {
8933
- // let variableName = ''
8934
- // if (valueAttr?.expression) {
8935
- // variableName = valueAttr?.expression?.name
8936
- // }
8937
- // pushDecimalLeng(2, variableName)
8938
- // !checkAttr("step") &amp;&amp; parts.push(`:step="0.01"`);
8939
- // } else {
8940
- // pushDecimalLeng(0)
8941
- // }
8942
- // } else {
8943
- // pushDecimalLeng(0)
8944
- &nbsp;
8945
- // }
8946
- // }
8947
- !checkAttr("highPrecision") &amp;&amp; parts.push(`:highPrecision="true"`);
8948
- }
8949
8708
  if (['u-modal', 'u-drawer'].includes(this.tag)) {
8950
8709
  this.children.forEach((citem) =&gt; {
8951
8710
  <span class="missing-if-branch" title="if path not taken" >I</span>if (citem.tag === 'template' &amp;&amp; !citem.children.length) {
@@ -9041,9 +8800,7 @@ export class ViewElement extends BaseNode {
9041
8800
  /**
9042
8801
  * 计算约束样式
9043
8802
  * @param positionData 位置数据
9044
- * @param ops 配置项
9045
- * @param ops.beforeSetStyleCb 设置样式前的回调
9046
- * @param ops.setStaticSize 是否设置静态尺寸,开启此项会将节点的宽高设置为像素值,通常在修改约束规则时候开启
8803
+ * @param doNotRecordLastWidthHeight 是否不记录上一次的宽高
9047
8804
  */
9048
8805
  <span class="fstat-no" title="function not covered" > computeConstraintStyle(</span>
9049
8806
  positionData: {
@@ -9057,8 +8814,8 @@ export class ViewElement extends BaseNode {
9057
8814
  };
9058
8815
  },
9059
8816
  ops: {
8817
+ doNotRecordLastWidthHeight?: boolean;
9060
8818
  beforeSetStyleCb?: (newStyleObj: Record&lt;string, any&gt;) =&gt; void;
9061
- setStaticSize?: boolean;
9062
8819
  } = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
9063
8820
  ) {
9064
8821
  <span class="cstat-no" title="statement not covered" > if (!positionData) {</span>
@@ -9081,8 +8838,12 @@ export class ViewElement extends BaseNode {
9081
8838
  let top = <span class="cstat-no" title="statement not covered" >'';</span>
9082
8839
  let bottom = <span class="cstat-no" title="statement not covered" >'';</span>
9083
8840
  let transform = <span class="cstat-no" title="statement not covered" >'';</span>
9084
- let width = <span class="cstat-no" title="statement not covered" >ops.setStaticSize ? `${staticWidth}px` : rawWidth;</span>
9085
- let height = <span class="cstat-no" title="statement not covered" >ops.setStaticSize ? `${staticHeight}px` : rawHeight;</span>
8841
+ // 如果宽高被约束规则改成 auto 了,就还原为上次的宽高,防止用户设置的宽高信息在切换约束时候丢失
8842
+ let width = <span class="cstat-no" title="statement not covered" >Number(styleObj['--constraint-width-auto']) ? styleObj['--last-width'] : rawWidth;</span>
8843
+ let height = <span class="cstat-no" title="statement not covered" >Number(styleObj['--constraint-height-auto']) ? styleObj['--last-height'] : rawHeight;</span>
8844
+ // 用于记录宽高是否被约束规则改成 auto 了
8845
+ let constraintWidthAuto = <span class="cstat-no" title="statement not covered" >0;</span>
8846
+ let constraintHeightAuto = <span class="cstat-no" title="statement not covered" >0;</span>
9086
8847
  &nbsp;
9087
8848
  const parentWidth = <span class="cstat-no" title="statement not covered" >staticLeft + staticWidth + staticRight;</span>
9088
8849
  const parentHeight = <span class="cstat-no" title="statement not covered" >staticTop + staticHeight + staticBottom;</span>
@@ -9102,10 +8863,12 @@ export class ViewElement extends BaseNode {
9102
8863
  <span class="cstat-no" title="statement not covered" > left = (staticLeft * 100) / parentWidth + '%';</span>
9103
8864
  <span class="cstat-no" title="statement not covered" > right = '';</span>
9104
8865
  <span class="cstat-no" title="statement not covered" > width = (staticWidth * 100) / parentWidth + '%';</span>
8866
+ <span class="cstat-no" title="statement not covered" > constraintWidthAuto = 1;</span>
9105
8867
  } else <span class="cstat-no" title="statement not covered" >if (constraintX === 'left-right') {</span>
9106
8868
  <span class="cstat-no" title="statement not covered" > left = staticLeft + 'px';</span>
9107
8869
  <span class="cstat-no" title="statement not covered" > right = staticRight + 'px';</span>
9108
8870
  <span class="cstat-no" title="statement not covered" > width = 'auto';</span>
8871
+ <span class="cstat-no" title="statement not covered" > constraintWidthAuto = 1;</span>
9109
8872
  }
9110
8873
  &nbsp;
9111
8874
  <span class="cstat-no" title="statement not covered" > if (constraintY === 'top') {</span>
@@ -9123,10 +8886,12 @@ export class ViewElement extends BaseNode {
9123
8886
  <span class="cstat-no" title="statement not covered" > top = (staticTop * 100) / parentHeight + '%';</span>
9124
8887
  <span class="cstat-no" title="statement not covered" > bottom = '';</span>
9125
8888
  <span class="cstat-no" title="statement not covered" > height = (staticHeight * 100) / parentHeight + '%';</span>
8889
+ <span class="cstat-no" title="statement not covered" > constraintHeightAuto = 1;</span>
9126
8890
  } else <span class="cstat-no" title="statement not covered" >if (constraintY === 'top-bottom') {</span>
9127
8891
  <span class="cstat-no" title="statement not covered" > top = staticTop + 'px';</span>
9128
8892
  <span class="cstat-no" title="statement not covered" > bottom = staticBottom + 'px';</span>
9129
8893
  <span class="cstat-no" title="statement not covered" > height = 'auto';</span>
8894
+ <span class="cstat-no" title="statement not covered" > constraintHeightAuto = 1;</span>
9130
8895
  }
9131
8896
  const newStyleObj: Record&lt;string, any&gt; = <span class="cstat-no" title="statement not covered" >{</span>
9132
8897
  ...styleObj,
@@ -9137,7 +8902,17 @@ export class ViewElement extends BaseNode {
9137
8902
  transform,
9138
8903
  width,
9139
8904
  height,
8905
+ '--constraint-width-auto': constraintWidthAuto,
8906
+ '--constraint-height-auto': constraintHeightAuto,
9140
8907
  };
8908
+ <span class="cstat-no" title="statement not covered" > if (!ops.doNotRecordLastWidthHeight) {</span>
8909
+ <span class="cstat-no" title="statement not covered" > if (rawWidth !== 'auto') {</span>
8910
+ <span class="cstat-no" title="statement not covered" > newStyleObj['--last-width'] = rawWidth;</span>
8911
+ }
8912
+ <span class="cstat-no" title="statement not covered" > if (rawHeight !== 'auto') {</span>
8913
+ <span class="cstat-no" title="statement not covered" > newStyleObj['--last-height'] = rawHeight;</span>
8914
+ }
8915
+ }
9141
8916
  <span class="cstat-no" title="statement not covered" > ops.beforeSetStyleCb?.(newStyleObj);</span>
9142
8917
  const newStaticStyle = <span class="cstat-no" title="statement not covered" >this.stringifyStyleAttr(newStyleObj);</span>
9143
8918
  <span class="cstat-no" title="statement not covered" > this.setStaticStyle(newStaticStyle);</span>
@@ -9202,7 +8977,7 @@ export default ViewElement;
9202
8977
  <div class='footer quiet pad2 space-top1 center small'>
9203
8978
  Code coverage generated by
9204
8979
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
9205
- at 2023-11-18T16:22:11.588Z
8980
+ at 2023-10-27T11:50:55.546Z
9206
8981
  </div>
9207
8982
  <script src="../../prettify.js"></script>
9208
8983
  <script>