@lcap/nasl 3.3.3-beta.3 → 3.3.3-beta.5

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 (332) hide show
  1. package/.nyc_output/f2d14ce8-876a-4dc0-9aaf-e51d08d081ca.json +1 -0
  2. package/.nyc_output/processinfo/f2d14ce8-876a-4dc0-9aaf-e51d08d081ca.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +446 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +619 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1243 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +430 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1225 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +961 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +583 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +3868 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +370 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +328 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +604 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +1951 -0
  44. package/coverage/src/concepts/App__.ts.html +13252 -0
  45. package/coverage/src/concepts/Argument__.ts.html +910 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2236 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +409 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1078 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +733 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +367 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1984 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +781 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1483 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1165 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3250 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1336 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3679 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +1921 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3232 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1612 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +403 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1615 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +868 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +1966 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2614 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4420 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5308 -0
  68. package/coverage/src/concepts/Comment__.ts.html +376 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +925 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1105 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +424 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1348 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1027 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1360 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +595 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4255 -0
  77. package/coverage/src/concepts/Constant__.ts.html +913 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1771 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +331 -0
  80. package/coverage/src/concepts/Destination__.ts.html +2563 -0
  81. package/coverage/src/concepts/End__.ts.html +433 -0
  82. package/coverage/src/concepts/EntityIndex__.ts.html +787 -0
  83. package/coverage/src/concepts/EntityProperty__.ts.html +2620 -0
  84. package/coverage/src/concepts/Entity__.ts.html +2872 -0
  85. package/coverage/src/concepts/EnumItem__.ts.html +535 -0
  86. package/coverage/src/concepts/Enum__.ts.html +1192 -0
  87. package/coverage/src/concepts/Event__.ts.html +1084 -0
  88. package/coverage/src/concepts/ExternalDestination__.ts.html +1033 -0
  89. package/coverage/src/concepts/ForEachStatement__.ts.html +1819 -0
  90. package/coverage/src/concepts/FrontendLibrary__.ts.html +1711 -0
  91. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  92. package/coverage/src/concepts/Frontend__.ts.html +3961 -0
  93. package/coverage/src/concepts/Function__.ts.html +3514 -0
  94. package/coverage/src/concepts/Identifier__.ts.html +1057 -0
  95. package/coverage/src/concepts/IfStatement__.ts.html +1486 -0
  96. package/coverage/src/concepts/Integration__.ts.html +1228 -0
  97. package/coverage/src/concepts/InterfaceParam__.ts.html +1087 -0
  98. package/coverage/src/concepts/Interface__.ts.html +3394 -0
  99. package/coverage/src/concepts/JSBlock__.ts.html +406 -0
  100. package/coverage/src/concepts/JavaLogic__.ts.html +460 -0
  101. package/coverage/src/concepts/LogicItem__.ts.html +1144 -0
  102. package/coverage/src/concepts/Logic__.ts.html +7078 -0
  103. package/coverage/src/concepts/MatchCase__.ts.html +2641 -0
  104. package/coverage/src/concepts/Match__.ts.html +2323 -0
  105. package/coverage/src/concepts/MemberExpression__.ts.html +1666 -0
  106. package/coverage/src/concepts/MicroApp__.ts.html +436 -0
  107. package/coverage/src/concepts/Module__.ts.html +9220 -0
  108. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1045 -0
  109. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1018 -0
  110. package/coverage/src/concepts/Namespace__.ts.html +7942 -0
  111. package/coverage/src/concepts/NewComposite__.ts.html +4684 -0
  112. package/coverage/src/concepts/NewList__.ts.html +1567 -0
  113. package/coverage/src/concepts/NewMap__.ts.html +2275 -0
  114. package/coverage/src/concepts/New__.ts.html +289 -0
  115. package/coverage/src/concepts/NullLiteral__.ts.html +349 -0
  116. package/coverage/src/concepts/NumericLiteral__.ts.html +661 -0
  117. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1123 -0
  118. package/coverage/src/concepts/OverriddenLogic__.ts.html +6817 -0
  119. package/coverage/src/concepts/Param__.ts.html +1609 -0
  120. package/coverage/src/concepts/Point__.ts.html +331 -0
  121. package/coverage/src/concepts/ProcessComponent__.ts.html +1666 -0
  122. package/coverage/src/concepts/ProcessElement__.ts.html +5884 -0
  123. package/coverage/src/concepts/ProcessOutcome__.ts.html +352 -0
  124. package/coverage/src/concepts/ProcessOutcomes__.ts.html +343 -0
  125. package/coverage/src/concepts/Process__.ts.html +4768 -0
  126. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +568 -0
  127. package/coverage/src/concepts/QueryFieldExpression__.ts.html +583 -0
  128. package/coverage/src/concepts/QueryFromExpression__.ts.html +910 -0
  129. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +559 -0
  130. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1567 -0
  131. package/coverage/src/concepts/QueryLimitExpression__.ts.html +637 -0
  132. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +679 -0
  133. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1714 -0
  134. package/coverage/src/concepts/Rect__.ts.html +373 -0
  135. package/coverage/src/concepts/Return__.ts.html +1258 -0
  136. package/coverage/src/concepts/Role__.ts.html +601 -0
  137. package/coverage/src/concepts/SelectMembers__.ts.html +1246 -0
  138. package/coverage/src/concepts/Slot__.ts.html +628 -0
  139. package/coverage/src/concepts/SqlQueryComponent__.ts.html +964 -0
  140. package/coverage/src/concepts/Start__.ts.html +304 -0
  141. package/coverage/src/concepts/StringInterpolation__.ts.html +1078 -0
  142. package/coverage/src/concepts/StringLiteral__.ts.html +490 -0
  143. package/coverage/src/concepts/StructureProperty__.ts.html +1102 -0
  144. package/coverage/src/concepts/Structure__.ts.html +2053 -0
  145. package/coverage/src/concepts/SwitchCase__.ts.html +1063 -0
  146. package/coverage/src/concepts/SwitchStatement__.ts.html +826 -0
  147. package/coverage/src/concepts/Theme__.ts.html +358 -0
  148. package/coverage/src/concepts/Transactional__.ts.html +628 -0
  149. package/coverage/src/concepts/TriggerEvent__.ts.html +1012 -0
  150. package/coverage/src/concepts/TriggerLauncher__.ts.html +775 -0
  151. package/coverage/src/concepts/TypeAnnotation__.ts.html +3583 -0
  152. package/coverage/src/concepts/TypeParam__.ts.html +301 -0
  153. package/coverage/src/concepts/UnaryExpression__.ts.html +640 -0
  154. package/coverage/src/concepts/Unparsed__.ts.html +382 -0
  155. package/coverage/src/concepts/UseComponent__.ts.html +331 -0
  156. package/coverage/src/concepts/ValidationRule__.ts.html +1840 -0
  157. package/coverage/src/concepts/Variable__.ts.html +1435 -0
  158. package/coverage/src/concepts/ViewBlock__.ts.html +352 -0
  159. package/coverage/src/concepts/ViewComponent__.ts.html +4180 -0
  160. package/coverage/src/concepts/ViewElement__.ts.html +8557 -0
  161. package/coverage/src/concepts/View__.ts.html +8278 -0
  162. package/coverage/src/concepts/WhileStatement__.ts.html +991 -0
  163. package/coverage/src/concepts/basics/stdlib/index.html +341 -0
  164. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  165. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6787 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  179. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  180. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  181. package/coverage/src/concepts/basics/types/index.html +131 -0
  182. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  183. package/coverage/src/concepts/index.html +1961 -0
  184. package/coverage/src/concepts/index.ts.html +103 -0
  185. package/coverage/src/concepts/index__.ts.html +451 -0
  186. package/coverage/src/config.ts.html +325 -0
  187. package/coverage/src/decorators/index.html +131 -0
  188. package/coverage/src/decorators/index.ts.html +574 -0
  189. package/coverage/src/decorators/promise.ts.html +169 -0
  190. package/coverage/src/eventBus.ts.html +100 -0
  191. package/coverage/src/generator/compileComponent.ts.html +142 -0
  192. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  193. package/coverage/src/generator/genHash.ts.html +124 -0
  194. package/coverage/src/generator/genMetaData.ts.html +1042 -0
  195. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  196. package/coverage/src/generator/icestark.ts.html +220 -0
  197. package/coverage/src/generator/index.html +266 -0
  198. package/coverage/src/generator/index.ts.html +106 -0
  199. package/coverage/src/generator/microApp.ts.html +172 -0
  200. package/coverage/src/generator/permission.ts.html +1036 -0
  201. package/coverage/src/generator/qiankun.ts.html +232 -0
  202. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  203. package/coverage/src/index.html +146 -0
  204. package/coverage/src/index.ts.html +121 -0
  205. package/coverage/src/manager/diagnostic.ts.html +442 -0
  206. package/coverage/src/manager/index.html +131 -0
  207. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  208. package/coverage/src/sentry/index.html +116 -0
  209. package/coverage/src/sentry/index.ts.html +676 -0
  210. package/coverage/src/server/createUiTs.ts.html +919 -0
  211. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  212. package/coverage/src/server/event.js.html +526 -0
  213. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  214. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  215. package/coverage/src/server/getConnector.ts.html +316 -0
  216. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  217. package/coverage/src/server/getFunctions.ts.html +133 -0
  218. package/coverage/src/server/getInterfaces.ts.html +229 -0
  219. package/coverage/src/server/getLogging.ts.html +100 -0
  220. package/coverage/src/server/getLogics.ts.html +1363 -0
  221. package/coverage/src/server/getMemberIdentifier.ts.html +1606 -0
  222. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  223. package/coverage/src/server/getProcesses.ts.html +2023 -0
  224. package/coverage/src/server/getValidates.ts.html +115 -0
  225. package/coverage/src/server/index.html +401 -0
  226. package/coverage/src/server/index.ts.html +229 -0
  227. package/coverage/src/server/naslServer.ts.html +14290 -0
  228. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  229. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  230. package/coverage/src/server/translator.ts.html +2566 -0
  231. package/coverage/src/service/creator/add.configs.js.html +379 -0
  232. package/coverage/src/service/creator/errHandles.js.html +322 -0
  233. package/coverage/src/service/creator/index.html +146 -0
  234. package/coverage/src/service/creator/index.js.html +352 -0
  235. package/coverage/src/service/datasource/api.js.html +118 -0
  236. package/coverage/src/service/datasource/index.html +131 -0
  237. package/coverage/src/service/datasource/index.js.html +103 -0
  238. package/coverage/src/service/logic/api.js.html +109 -0
  239. package/coverage/src/service/logic/index.html +131 -0
  240. package/coverage/src/service/logic/index.js.html +103 -0
  241. package/coverage/src/service/storage/api.js.html +202 -0
  242. package/coverage/src/service/storage/index.html +206 -0
  243. package/coverage/src/service/storage/index.ts.html +103 -0
  244. package/coverage/src/service/storage/init.ts.html +2710 -0
  245. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  246. package/coverage/src/service/storage/map.ts.html +256 -0
  247. package/coverage/src/service/storage/service.ts.html +331 -0
  248. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  249. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  250. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  251. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  252. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  253. package/coverage/src/templator/genEditTableBlock.ts.html +955 -0
  254. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  255. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  256. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  257. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  258. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  259. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  260. package/coverage/src/templator/genTableBlock.ts.html +910 -0
  261. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  262. package/coverage/src/templator/index.html +326 -0
  263. package/coverage/src/templator/index.ts.html +154 -0
  264. package/coverage/src/templator/utils.ts.html +1861 -0
  265. package/coverage/src/translator/constant.ts.html +106 -0
  266. package/coverage/src/translator/index.html +146 -0
  267. package/coverage/src/translator/index.ts.html +94 -0
  268. package/coverage/src/translator/utils.ts.html +397 -0
  269. package/coverage/src/utils/cookie.ts.html +265 -0
  270. package/coverage/src/utils/env.ts.html +91 -0
  271. package/coverage/src/utils/index.html +236 -0
  272. package/coverage/src/utils/index.ts.html +655 -0
  273. package/coverage/src/utils/logger.ts.html +145 -0
  274. package/coverage/src/utils/sortTsString.ts.html +187 -0
  275. package/coverage/src/utils/string.ts.html +400 -0
  276. package/coverage/src/utils/time-slicing.ts.html +412 -0
  277. package/coverage/src/utils/traverse.ts.html +568 -0
  278. package/coverage/src/utils/window.ts.html +112 -0
  279. package/out/common/BaseNode.d.ts +22 -11
  280. package/out/common/BaseNode.js +20 -0
  281. package/out/common/BaseNode.js.map +1 -1
  282. package/out/concepts/BinaryExpression__.js +1 -1
  283. package/out/concepts/BinaryExpression__.js.map +1 -1
  284. package/out/concepts/CallLogic__.js +1 -1
  285. package/out/concepts/CallLogic__.js.map +1 -1
  286. package/out/concepts/CallQueryComponent__.js +4 -13
  287. package/out/concepts/CallQueryComponent__.js.map +1 -1
  288. package/out/concepts/ViewElement__.js +21 -0
  289. package/out/concepts/ViewElement__.js.map +1 -1
  290. package/out/concepts/View__.js +7 -2
  291. package/out/concepts/View__.js.map +1 -1
  292. package/out/concepts/types__.d.ts +2 -3
  293. package/out/decorators/index.d.ts +3 -3
  294. package/out/enums/KEYWORDS.js +2 -0
  295. package/out/enums/KEYWORDS.js.map +1 -1
  296. package/out/generator/genMetaData.js +4 -4
  297. package/out/generator/genMetaData.js.map +1 -1
  298. package/out/generator/genReleaseBody.js +2 -2
  299. package/out/generator/genReleaseBody.js.map +1 -1
  300. package/out/generator/permission.js +1 -1
  301. package/out/generator/permission.js.map +1 -1
  302. package/out/natural/transformTSCode.d.ts +2 -2
  303. package/out/server/formatTsUtils.d.ts +3 -3
  304. package/out/server/getMemberIdentifier.d.ts +4 -4
  305. package/out/server/getMemberIdentifier.js +2 -2
  306. package/out/server/getMemberIdentifier.js.map +1 -1
  307. package/out/server/naslServer.js +2 -2
  308. package/out/server/naslServer.js.map +1 -1
  309. package/out/templator/genCurdMultipleKeyBlock.js +2 -1
  310. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  311. package/out/translator/utils.js +2 -2
  312. package/out/translator/utils.js.map +1 -1
  313. package/package.json +1 -1
  314. package/sandbox/stdlib/nasl.util.ts +142 -142
  315. package/src/common/BaseNode.ts +45 -23
  316. package/src/concepts/BinaryExpression__.ts +1 -1
  317. package/src/concepts/CallLogic__.ts +1 -1
  318. package/src/concepts/CallQueryComponent__.ts +4 -12
  319. package/src/concepts/ViewElement__.ts +19 -0
  320. package/src/concepts/View__.ts +7 -2
  321. package/src/concepts/types__.ts +2 -4
  322. package/src/decorators/index.ts +4 -4
  323. package/src/enums/KEYWORDS.ts +2 -0
  324. package/src/generator/genMetaData.ts +4 -4
  325. package/src/generator/genReleaseBody.ts +2 -2
  326. package/src/generator/permission.ts +4 -4
  327. package/src/server/formatTsUtils.ts +8 -8
  328. package/src/server/getMemberIdentifier.ts +6 -6
  329. package/src/server/naslServer.ts +4 -4
  330. package/src/service/storage/init.ts +2 -2
  331. package/src/templator/genCurdMultipleKeyBlock.ts +2 -1
  332. package/src/translator/utils.ts +5 -6
@@ -0,0 +1,991 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/WhileStatement__.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/concepts</a> WhileStatement__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">42.3% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>33/78</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">26.66% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>8/30</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">33.33% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>5/15</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">40% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>30/75</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-yes">1x</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-yes">1x</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-yes">1x</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-yes">1x</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-yes">1x</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-yes">2x</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-yes">2x</span>
415
+ <span class="cline-any cline-yes">2x</span>
416
+ <span class="cline-any cline-yes">2x</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-yes">2x</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-no">&nbsp;</span>
428
+ <span class="cline-any cline-no">&nbsp;</span>
429
+ <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-no">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-no">&nbsp;</span>
454
+ <span class="cline-any cline-no">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-no">&nbsp;</span>
457
+ <span class="cline-any cline-no">&nbsp;</span>
458
+ <span class="cline-any cline-no">&nbsp;</span>
459
+ <span class="cline-any cline-no">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-no">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-no">&nbsp;</span>
471
+ <span class="cline-any cline-no">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-no">&nbsp;</span>
488
+ <span class="cline-any cline-no">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-no">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-no">&nbsp;</span>
512
+ <span class="cline-any cline-no">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-no">&nbsp;</span>
529
+ <span class="cline-any cline-no">&nbsp;</span>
530
+ <span class="cline-any cline-no">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-no">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-no">&nbsp;</span>
553
+ <span class="cline-any cline-no">&nbsp;</span>
554
+ <span class="cline-any cline-no">&nbsp;</span>
555
+ <span class="cline-any cline-no">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-no">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-no">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-no">&nbsp;</span>
571
+ <span class="cline-any cline-no">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-no">&nbsp;</span>
576
+ <span class="cline-any cline-no">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-no">&nbsp;</span>
584
+ <span class="cline-any cline-no">&nbsp;</span>
585
+ <span class="cline-any cline-no">&nbsp;</span>
586
+ <span class="cline-any cline-no">&nbsp;</span>
587
+ <span class="cline-any cline-no">&nbsp;</span>
588
+ <span class="cline-any cline-no">&nbsp;</span>
589
+ <span class="cline-any cline-no">&nbsp;</span>
590
+ <span class="cline-any cline-no">&nbsp;</span>
591
+ <span class="cline-any cline-no">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-no">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-yes">2x</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-yes">1x</span>
609
+ <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-yes">1x</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-yes">1x</span>
620
+ <span class="cline-any cline-yes">1x</span>
621
+ <span class="cline-any cline-no">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-yes">1x</span>
630
+ <span class="cline-any cline-yes">1x</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-yes">1x</span>
635
+ <span class="cline-any cline-yes">1x</span>
636
+ <span class="cline-any cline-yes">1x</span>
637
+ <span class="cline-any cline-yes">1x</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-yes">1x</span>
647
+ <span class="cline-any cline-yes">1x</span>
648
+ <span class="cline-any cline-no">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-yes">1x</span>
657
+ <span class="cline-any cline-yes">1x</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-yes">1x</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
671
+ //================================================================================
672
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
673
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
674
+ //================================================================================
675
+ import { EventPayload, Params } from '../common/EventEmitter';
676
+ import { concept, excludedInJSON, property, className } from '../decorators';
677
+ &nbsp;
678
+ import * as utils from '../utils';
679
+ import { v4 as uuidv4 } from 'uuid';
680
+ import BaseNode from '../common/BaseNode';
681
+ import LogicItem from './LogicItem__';
682
+ &nbsp;
683
+ /**
684
+ * While 循环分支
685
+ */
686
+ @className
687
+ @concept('While 循环分支')
688
+ // @ts-ignore
689
+ export class WhileStatement extends LogicItem {
690
+ /** 类名 */
691
+ static readonly ConceptName = 'WhileStatement';
692
+ &nbsp;
693
+ /**
694
+ * 产品概念
695
+ */
696
+ // @ts-ignore
697
+ readonly concept!: 'WhileStatement';
698
+ &nbsp;
699
+ /**
700
+ * 条件表达式
701
+ */
702
+ @property('LogicItem')
703
+ // @ts-ignore
704
+ test!: LogicItem;
705
+ &nbsp;
706
+ /**
707
+ * 循环体
708
+ */
709
+ @property('LogicItem')
710
+ body: Array&lt;LogicItem&gt; = [];
711
+ &nbsp;
712
+ /**
713
+ * @param source 需要合并的部分参数
714
+ */
715
+ constructor(source?: Partial&lt;WhileStatement&gt;) {
716
+ source = Object.assign({}, WhileStatement.getDefaultOptions(), source);
717
+ super(source);
718
+ super.subConstructor(source);
719
+ }
720
+ &nbsp;
721
+ static from(source: any, parentNode?: any, parentKey?: string): WhileStatement {
722
+ return super.from(source, parentNode, parentKey) as WhileStatement;
723
+ }
724
+ &nbsp;
725
+ /**
726
+ * 设置条件表达式
727
+ */
728
+ <span class="fstat-no" title="function not covered" > setTest(</span>test: LogicItem) {
729
+ <span class="cstat-no" title="statement not covered" > test._delete();</span>
730
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'test' };</span>
731
+ <span class="cstat-no" title="statement not covered" > Object.assign(test, relationOptions);</span>
732
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
733
+ test,
734
+ };
735
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
736
+ ...object,
737
+ });
738
+ }
739
+ &nbsp;
740
+ /**
741
+ * 插入逻辑项
742
+ * @internal
743
+ * @param logicItemOptions 逻辑项参数
744
+ */
745
+ _insertItemAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
746
+ &nbsp;
747
+ /**
748
+ * 插入逻辑项
749
+ * @internal
750
+ * @param logicItem 已有的逻辑项实例
751
+ */
752
+ _insertItemAt(logicItem: LogicItem, index: number): LogicItem;
753
+ &nbsp;
754
+ <span class="fstat-no" title="function not covered" > _insertItemAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
755
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
756
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'body' };</span>
757
+ let logicItem: LogicItem;
758
+ <span class="cstat-no" title="statement not covered" > if (options instanceof LogicItem) {</span>
759
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
760
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
761
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
762
+ } else {
763
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
764
+ {
765
+ ...logicItemOptions,
766
+ ...options,
767
+ },
768
+ this,
769
+ 'body',
770
+ );
771
+ }
772
+ <span class="cstat-no" title="statement not covered" > this.body.splice(index, 0, logicItem);</span>
773
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
774
+ }
775
+ &nbsp;
776
+ /**
777
+ * 插入逻辑项
778
+ * @param logicItemOptions 逻辑项参数
779
+ */
780
+ insertItemAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
781
+ &nbsp;
782
+ /**
783
+ * 插入逻辑项
784
+ * @param logicItem 已有的逻辑项实例
785
+ */
786
+ insertItemAt(logicItem: LogicItem, index: number): LogicItem;
787
+ &nbsp;
788
+ <span class="fstat-no" title="function not covered" > insertItemAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
789
+ const node = <span class="cstat-no" title="statement not covered" >this._insertItemAt(options as any, index);</span>
790
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
791
+ index,
792
+ parentNode: this,
793
+ parentKey: 'body',
794
+ });
795
+ <span class="cstat-no" title="statement not covered" > return node;</span>
796
+ }
797
+ &nbsp;
798
+ /**
799
+ * 添加逻辑项
800
+ * @internal
801
+ * @param logicItemOptions 逻辑项参数
802
+ */
803
+ _addItem(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
804
+ &nbsp;
805
+ /**
806
+ * 添加逻辑项
807
+ * @internal
808
+ * @param logicItem 已有的逻辑项实例
809
+ */
810
+ _addItem(logicItem: LogicItem): LogicItem;
811
+ &nbsp;
812
+ <span class="fstat-no" title="function not covered" > _addItem(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
813
+ const index = <span class="cstat-no" title="statement not covered" >this.body.length;</span>
814
+ <span class="cstat-no" title="statement not covered" > return this._insertItemAt(options as any, index);</span>
815
+ }
816
+ &nbsp;
817
+ /**
818
+ * 添加逻辑项
819
+ * @param logicItemOptions 逻辑项参数
820
+ */
821
+ addItem(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
822
+ &nbsp;
823
+ /**
824
+ * 添加逻辑项
825
+ * @param logicItem 已有的逻辑项实例
826
+ */
827
+ addItem(logicItem: LogicItem): LogicItem;
828
+ &nbsp;
829
+ <span class="fstat-no" title="function not covered" > addItem(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
830
+ const node = <span class="cstat-no" title="statement not covered" >this._addItem(options as any);</span>
831
+ const index = <span class="cstat-no" title="statement not covered" >this.body.indexOf(node);</span>
832
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
833
+ index,
834
+ parentNode: this,
835
+ parentKey: 'body',
836
+ });
837
+ <span class="cstat-no" title="statement not covered" > return node;</span>
838
+ }
839
+ &nbsp;
840
+ /**
841
+ * 删除逻辑项
842
+ * @param name 逻辑项名称
843
+ */
844
+ removeTest(name: string): void;
845
+ &nbsp;
846
+ /**
847
+ * 删除逻辑项
848
+ * @param test 已有的逻辑项实例
849
+ */
850
+ removeTest(test: LogicItem): void;
851
+ &nbsp;
852
+ <span class="fstat-no" title="function not covered" > removeTest(</span>options: string | LogicItem) {
853
+ let test: LogicItem;
854
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
855
+ <span class="cstat-no" title="statement not covered" > test = this.test;</span>
856
+ <span class="cstat-no" title="statement not covered" > if (!test) {</span>
857
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
858
+ }
859
+ } else {
860
+ <span class="cstat-no" title="statement not covered" > test = options;</span>
861
+ }
862
+ <span class="cstat-no" title="statement not covered" > return test.delete();</span>
863
+ }
864
+ &nbsp;
865
+ /**
866
+ * 删除逻辑项
867
+ * @param logicItem 已有的逻辑项实例
868
+ */
869
+ removeItemInBody(logicItem: LogicItem): void;
870
+ &nbsp;
871
+ <span class="fstat-no" title="function not covered" > removeItemInBody(</span>options: LogicItem) {
872
+ let logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
873
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
874
+ }
875
+ &nbsp;
876
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
877
+ const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
878
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
879
+ parentNode: this,
880
+ parentKey,
881
+ index: -1,
882
+ object: null,
883
+ oldObject: logicItem,
884
+ };
885
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
886
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
887
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
888
+ const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(logicItem);</span>
889
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
890
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
891
+ } else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === logicItem) {</span>
892
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
893
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
894
+ }
895
+ }
896
+ <span class="cstat-no" title="statement not covered" > return params;</span>
897
+ }
898
+ &nbsp;
899
+ //================================================================================
900
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
901
+ // 自动生成的代码已结束。下面可以手动编写。
902
+ //================================================================================
903
+ public static getDefaultOptions() {
904
+ return {
905
+ label: 'While 循环分支',
906
+ };
907
+ }
908
+ &nbsp;
909
+ toJS(state?: TranslatorState): string {
910
+ let code = '';
911
+ code += 'while (';
912
+ code += this.test
913
+ ? this.test.toJS(
914
+ shiftState(state, code, {
915
+ tabSize: 0,
916
+ }),
917
+ )
918
+ : <span class="branch-1 cbranch-no" title="branch not covered" >'';</span>
919
+ code += ') {\n';
920
+ &nbsp;
921
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.body)) {
922
+ this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem) =&gt; {
923
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toJS(</span>
924
+ shiftState(state, code, {
925
+ tabSize: (state?.tabSize || 0) + 1,
926
+ }),
927
+ )}\n`;
928
+ });
929
+ }
930
+ &nbsp;
931
+ code += `${indent(state?.tabSize || 0)}}\n`;
932
+ return code;
933
+ }
934
+ &nbsp;
935
+ @withSourceMap()
936
+ toEmbeddedTS(state?: TranslatorState): string {
937
+ let code = '';
938
+ code += 'while (nasl.core.ensureBoolean(';
939
+ code += this.test
940
+ ? this.test.toEmbeddedTS(
941
+ shiftState(state, code, {
942
+ tabSize: 0,
943
+ }),
944
+ )
945
+ : <span class="branch-1 cbranch-no" title="branch not covered" >'__IDENTIFIER__';</span>
946
+ code += ')) {\n';
947
+ &nbsp;
948
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.body)) {
949
+ this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem) =&gt; {
950
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toEmbeddedTS(</span>
951
+ shiftState(state, code, {
952
+ tabSize: (state?.tabSize || 0) + 1,
953
+ }),
954
+ )};\n`;
955
+ });
956
+ }
957
+ &nbsp;
958
+ code += `${indent(state?.tabSize || 0)}}\n`;
959
+ return code;
960
+ }
961
+ //================================================================================
962
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
963
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
964
+ //================================================================================
965
+ }
966
+ &nbsp;
967
+ export default WhileStatement;
968
+ //================================================================================
969
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
970
+ // 自动生成的代码已结束。下面可以手动编写。
971
+ //================================================================================
972
+ &nbsp;</pre></td></tr></table></pre>
973
+
974
+ <div class='push'></div><!-- for sticky footer -->
975
+ </div><!-- /wrapper -->
976
+ <div class='footer quiet pad2 space-top1 center small'>
977
+ Code coverage generated by
978
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
979
+ at 2023-10-19T09:18:56.902Z
980
+ </div>
981
+ <script src="../../prettify.js"></script>
982
+ <script>
983
+ window.onload = function () {
984
+ prettyPrint();
985
+ };
986
+ </script>
987
+ <script src="../../sorter.js"></script>
988
+ <script src="../../block-navigation.js"></script>
989
+ </body>
990
+ </html>
991
+