@lcap/nasl 3.3.2-beta.1 → 3.3.2-beta.3

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 (334) hide show
  1. package/.nyc_output/{ce2372a3-88ed-485c-a936-9b880eb0f082.json → d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json} +1 -1
  2. package/.nyc_output/processinfo/{ce2372a3-88ed-485c-a936-9b880eb0f082.json → d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json} +1 -1
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/index.html +73 -73
  5. package/coverage/src/automate/engine/index.html +1 -1
  6. package/coverage/src/automate/engine/utils.js.html +11 -11
  7. package/coverage/src/bak/index.html +1 -1
  8. package/coverage/src/bak/translator.js.html +1 -1
  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 +181 -181
  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 +5 -5
  18. package/coverage/src/breakpoint/shared/index.html +26 -26
  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 +278 -278
  22. package/coverage/src/breakpoint/shared/utils.ts.html +200 -200
  23. package/coverage/src/breakpoint/store/core.ts.html +7 -7
  24. package/coverage/src/breakpoint/store/dock.ts.html +147 -147
  25. package/coverage/src/breakpoint/store/index.html +21 -21
  26. package/coverage/src/breakpoint/store/index.ts.html +1 -1
  27. package/coverage/src/common/BaseNode.ts.html +83 -83
  28. package/coverage/src/common/Command.ts.html +1 -1
  29. package/coverage/src/common/EventEmitter.ts.html +6 -6
  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 +1 -1
  33. package/coverage/src/common/index.ts.html +1 -1
  34. package/coverage/src/concepts/Abort__.ts.html +1 -1
  35. package/coverage/src/concepts/Anchor__.ts.html +1 -1
  36. package/coverage/src/concepts/AnonymousFunction__.ts.html +1 -1
  37. package/coverage/src/concepts/App__.ts.html +1 -1
  38. package/coverage/src/concepts/Argument__.ts.html +5 -5
  39. package/coverage/src/concepts/Assignee__.ts.html +1 -1
  40. package/coverage/src/concepts/AssignmentLine__.ts.html +1 -1
  41. package/coverage/src/concepts/Assignment__.ts.html +1 -1
  42. package/coverage/src/concepts/Attribute__.ts.html +1 -1
  43. package/coverage/src/concepts/AuthInterface__.ts.html +1 -1
  44. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +27 -27
  45. package/coverage/src/concepts/AuthLogic__.ts.html +1 -1
  46. package/coverage/src/concepts/BackendVariable__.ts.html +1 -1
  47. package/coverage/src/concepts/Backend__.ts.html +1 -1
  48. package/coverage/src/concepts/BatchAssignment__.ts.html +1 -1
  49. package/coverage/src/concepts/BinaryExpression__.ts.html +7 -7
  50. package/coverage/src/concepts/BindAttribute__.ts.html +1 -1
  51. package/coverage/src/concepts/BindDirective__.ts.html +1 -1
  52. package/coverage/src/concepts/BindEvent__.ts.html +1 -1
  53. package/coverage/src/concepts/BindStyle__.ts.html +1 -1
  54. package/coverage/src/concepts/BooleanLiteral__.ts.html +1 -1
  55. package/coverage/src/concepts/CallAuthInterface__.ts.html +1 -1
  56. package/coverage/src/concepts/CallConnector__.ts.html +147 -147
  57. package/coverage/src/concepts/CallFunction__.ts.html +355 -355
  58. package/coverage/src/concepts/CallInterface__.ts.html +1 -1
  59. package/coverage/src/concepts/CallLogic__.ts.html +135 -111
  60. package/coverage/src/concepts/CallQueryComponent__.ts.html +1 -1
  61. package/coverage/src/concepts/Comment__.ts.html +1 -1
  62. package/coverage/src/concepts/CompletionProperty__.ts.html +1 -1
  63. package/coverage/src/concepts/ConfigGroup__.ts.html +1 -1
  64. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +1 -1
  65. package/coverage/src/concepts/ConfigProperty__.ts.html +1 -1
  66. package/coverage/src/concepts/Configuration__.ts.html +1 -1
  67. package/coverage/src/concepts/Connection__.ts.html +2 -2
  68. package/coverage/src/concepts/ConnectorTrigger__.ts.html +1 -1
  69. package/coverage/src/concepts/Connector__.ts.html +1 -1
  70. package/coverage/src/concepts/Constant__.ts.html +1 -1
  71. package/coverage/src/concepts/DataSource__.ts.html +1 -1
  72. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +1 -1
  73. package/coverage/src/concepts/Destination__.ts.html +1 -1
  74. package/coverage/src/concepts/End__.ts.html +1 -1
  75. package/coverage/src/concepts/EntityIndex__.ts.html +1 -1
  76. package/coverage/src/concepts/EntityProperty__.ts.html +1 -1
  77. package/coverage/src/concepts/Entity__.ts.html +1 -1
  78. package/coverage/src/concepts/EnumItem__.ts.html +1 -1
  79. package/coverage/src/concepts/Enum__.ts.html +1 -1
  80. package/coverage/src/concepts/Event__.ts.html +1 -1
  81. package/coverage/src/concepts/ExternalDestination__.ts.html +1 -1
  82. package/coverage/src/concepts/ForEachStatement__.ts.html +21 -21
  83. package/coverage/src/concepts/FrontendLibrary__.ts.html +1 -1
  84. package/coverage/src/concepts/FrontendVariable__.ts.html +1 -1
  85. package/coverage/src/concepts/Frontend__.ts.html +1 -1
  86. package/coverage/src/concepts/Function__.ts.html +1 -1
  87. package/coverage/src/concepts/Identifier__.ts.html +21 -21
  88. package/coverage/src/concepts/IfStatement__.ts.html +47 -47
  89. package/coverage/src/concepts/Integration__.ts.html +1 -1
  90. package/coverage/src/concepts/InterfaceParam__.ts.html +1 -1
  91. package/coverage/src/concepts/Interface__.ts.html +1 -1
  92. package/coverage/src/concepts/JSBlock__.ts.html +1 -1
  93. package/coverage/src/concepts/JavaLogic__.ts.html +1 -1
  94. package/coverage/src/concepts/LogicItem__.ts.html +6 -6
  95. package/coverage/src/concepts/Logic__.ts.html +359 -359
  96. package/coverage/src/concepts/MatchCase__.ts.html +402 -402
  97. package/coverage/src/concepts/Match__.ts.html +4 -4
  98. package/coverage/src/concepts/MemberExpression__.ts.html +1 -1
  99. package/coverage/src/concepts/MicroApp__.ts.html +1 -1
  100. package/coverage/src/concepts/Module__.ts.html +1 -1
  101. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1 -1
  102. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1 -1
  103. package/coverage/src/concepts/Namespace__.ts.html +1 -1
  104. package/coverage/src/concepts/NewComposite__.ts.html +388 -388
  105. package/coverage/src/concepts/NewList__.ts.html +54 -54
  106. package/coverage/src/concepts/NewMap__.ts.html +61 -61
  107. package/coverage/src/concepts/New__.ts.html +21 -21
  108. package/coverage/src/concepts/NullLiteral__.ts.html +1 -1
  109. package/coverage/src/concepts/NumericLiteral__.ts.html +1 -1
  110. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1 -1
  111. package/coverage/src/concepts/OverriddenLogic__.ts.html +1 -1
  112. package/coverage/src/concepts/Param__.ts.html +1 -1
  113. package/coverage/src/concepts/Point__.ts.html +1 -1
  114. package/coverage/src/concepts/ProcessComponent__.ts.html +1 -1
  115. package/coverage/src/concepts/ProcessElement__.ts.html +1 -1
  116. package/coverage/src/concepts/ProcessOutcome__.ts.html +1 -1
  117. package/coverage/src/concepts/ProcessOutcomes__.ts.html +1 -1
  118. package/coverage/src/concepts/Process__.ts.html +1 -1
  119. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +1 -1
  120. package/coverage/src/concepts/QueryFieldExpression__.ts.html +1 -1
  121. package/coverage/src/concepts/QueryFromExpression__.ts.html +1 -1
  122. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +1 -1
  123. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1 -1
  124. package/coverage/src/concepts/QueryLimitExpression__.ts.html +1 -1
  125. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +1 -1
  126. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1 -1
  127. package/coverage/src/concepts/Rect__.ts.html +1 -1
  128. package/coverage/src/concepts/Return__.ts.html +7 -7
  129. package/coverage/src/concepts/Role__.ts.html +1 -1
  130. package/coverage/src/concepts/SelectMembers__.ts.html +1 -1
  131. package/coverage/src/concepts/Slot__.ts.html +1 -1
  132. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1 -1
  133. package/coverage/src/concepts/Start__.ts.html +1 -1
  134. package/coverage/src/concepts/StringInterpolation__.ts.html +5 -5
  135. package/coverage/src/concepts/StringLiteral__.ts.html +1 -1
  136. package/coverage/src/concepts/StructureProperty__.ts.html +1 -1
  137. package/coverage/src/concepts/Structure__.ts.html +1 -1
  138. package/coverage/src/concepts/SwitchCase__.ts.html +31 -31
  139. package/coverage/src/concepts/SwitchStatement__.ts.html +1 -1
  140. package/coverage/src/concepts/Theme__.ts.html +1 -1
  141. package/coverage/src/concepts/Transactional__.ts.html +1 -1
  142. package/coverage/src/concepts/TriggerEvent__.ts.html +1 -1
  143. package/coverage/src/concepts/TriggerLauncher__.ts.html +1 -1
  144. package/coverage/src/concepts/TypeAnnotation__.ts.html +23 -23
  145. package/coverage/src/concepts/TypeParam__.ts.html +1 -1
  146. package/coverage/src/concepts/UnaryExpression__.ts.html +1 -1
  147. package/coverage/src/concepts/Unparsed__.ts.html +1 -1
  148. package/coverage/src/concepts/UseComponent__.ts.html +1 -1
  149. package/coverage/src/concepts/ValidationRule__.ts.html +1 -1
  150. package/coverage/src/concepts/Variable__.ts.html +1 -1
  151. package/coverage/src/concepts/ViewBlock__.ts.html +1 -1
  152. package/coverage/src/concepts/ViewComponent__.ts.html +1 -1
  153. package/coverage/src/concepts/ViewElement__.ts.html +1 -1
  154. package/coverage/src/concepts/View__.ts.html +1 -1
  155. package/coverage/src/concepts/WhileStatement__.ts.html +40 -40
  156. package/coverage/src/concepts/basics/stdlib/index.html +28 -13
  157. package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
  158. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
  159. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
  160. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
  161. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
  162. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
  163. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
  164. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
  165. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
  166. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
  167. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
  168. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
  169. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
  170. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +10 -10
  171. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
  172. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +1 -1
  173. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  174. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
  175. package/coverage/src/concepts/basics/types/index.html +1 -1
  176. package/coverage/src/concepts/basics/types/index.ts.html +1 -1
  177. package/coverage/src/concepts/index.html +118 -118
  178. package/coverage/src/concepts/index.ts.html +1 -1
  179. package/coverage/src/concepts/index__.ts.html +1 -1
  180. package/coverage/src/config.ts.html +1 -1
  181. package/coverage/src/decorators/index.html +1 -1
  182. package/coverage/src/decorators/index.ts.html +17 -17
  183. package/coverage/src/decorators/promise.ts.html +1 -1
  184. package/coverage/src/eventBus.ts.html +1 -1
  185. package/coverage/src/generator/compileComponent.ts.html +1 -1
  186. package/coverage/src/generator/genBundleFiles.ts.html +207 -207
  187. package/coverage/src/generator/genHash.ts.html +1 -1
  188. package/coverage/src/generator/genMetaData.ts.html +1 -1
  189. package/coverage/src/generator/genReleaseBody.ts.html +1 -1
  190. package/coverage/src/generator/icestark.ts.html +1 -1
  191. package/coverage/src/generator/index.html +11 -11
  192. package/coverage/src/generator/index.ts.html +1 -1
  193. package/coverage/src/generator/microApp.ts.html +1 -1
  194. package/coverage/src/generator/permission.ts.html +1 -1
  195. package/coverage/src/generator/qiankun.ts.html +1 -1
  196. package/coverage/src/generator/styleReplacer.ts.html +1 -1
  197. package/coverage/src/index.html +1 -1
  198. package/coverage/src/index.ts.html +1 -1
  199. package/coverage/src/manager/diagnostic.ts.html +1 -1
  200. package/coverage/src/manager/index.html +1 -1
  201. package/coverage/src/manager/stepRecorder.ts.html +1 -1
  202. package/coverage/src/natural/genNaturalTS.ts.html +4 -4
  203. package/coverage/src/natural/index.html +15 -15
  204. package/coverage/src/natural/index.ts.html +1 -1
  205. package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
  206. package/coverage/src/natural/transformTSCode.ts.html +351 -351
  207. package/coverage/src/sentry/index.html +1 -1
  208. package/coverage/src/sentry/index.ts.html +14 -14
  209. package/coverage/src/server/createUiTs.ts.html +1 -1
  210. package/coverage/src/server/entity2LogicNamespace.ts.html +1 -1
  211. package/coverage/src/server/event.js.html +1 -1
  212. package/coverage/src/server/extendBaseNode.ts.html +1 -1
  213. package/coverage/src/server/formatTsUtils.ts.html +1 -1
  214. package/coverage/src/server/getConnector.ts.html +1 -1
  215. package/coverage/src/server/getExtensionModules.ts.html +1 -1
  216. package/coverage/src/server/getFunctions.ts.html +1 -1
  217. package/coverage/src/server/getInterfaces.ts.html +1 -1
  218. package/coverage/src/server/getLogging.ts.html +1 -1
  219. package/coverage/src/server/getLogics.ts.html +70 -70
  220. package/coverage/src/server/getMemberIdentifier.ts.html +1 -1
  221. package/coverage/src/server/getProcessComponents.ts.html +1 -1
  222. package/coverage/src/server/getProcesses.ts.html +1 -1
  223. package/coverage/src/server/getValidates.ts.html +1 -1
  224. package/coverage/src/server/index.html +15 -15
  225. package/coverage/src/server/index.ts.html +1 -1
  226. package/coverage/src/server/naslServer.ts.html +1481 -1481
  227. package/coverage/src/server/naslStdlibMap.ts.html +1 -1
  228. package/coverage/src/server/process2LogicNamespace.ts.html +1 -1
  229. package/coverage/src/server/translator.ts.html +1 -1
  230. package/coverage/src/service/creator/add.configs.js.html +1 -1
  231. package/coverage/src/service/creator/errHandles.js.html +1 -1
  232. package/coverage/src/service/creator/index.html +1 -1
  233. package/coverage/src/service/creator/index.js.html +1 -1
  234. package/coverage/src/service/datasource/api.js.html +1 -1
  235. package/coverage/src/service/datasource/index.html +1 -1
  236. package/coverage/src/service/datasource/index.js.html +1 -1
  237. package/coverage/src/service/logic/api.js.html +1 -1
  238. package/coverage/src/service/logic/index.html +1 -1
  239. package/coverage/src/service/logic/index.js.html +1 -1
  240. package/coverage/src/service/storage/api.js.html +1 -1
  241. package/coverage/src/service/storage/index.html +1 -1
  242. package/coverage/src/service/storage/index.ts.html +1 -1
  243. package/coverage/src/service/storage/init.ts.html +1 -1
  244. package/coverage/src/service/storage/jsoner.ts.html +1 -1
  245. package/coverage/src/service/storage/map.ts.html +3 -3
  246. package/coverage/src/service/storage/service.ts.html +1 -1
  247. package/coverage/src/service/storage/storagePoint.ts.html +1 -1
  248. package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
  249. package/coverage/src/templator/genCreateBlock.ts.html +1 -1
  250. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1 -1
  251. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +1 -1
  252. package/coverage/src/templator/genEditTableBlock.ts.html +1 -1
  253. package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
  254. package/coverage/src/templator/genGetBlock.ts.html +1 -1
  255. package/coverage/src/templator/genGridViewBlock.ts.html +1 -1
  256. package/coverage/src/templator/genListViewBlock.ts.html +1 -1
  257. package/coverage/src/templator/genQueryComponent.ts.html +1 -1
  258. package/coverage/src/templator/genSelectBlock.ts.html +1 -1
  259. package/coverage/src/templator/genTableBlock.ts.html +1 -1
  260. package/coverage/src/templator/genUpdateBlock.ts.html +1 -1
  261. package/coverage/src/templator/index.html +1 -1
  262. package/coverage/src/templator/index.ts.html +1 -1
  263. package/coverage/src/templator/utils.ts.html +1 -1
  264. package/coverage/src/translator/constant.ts.html +1 -1
  265. package/coverage/src/translator/index.html +15 -15
  266. package/coverage/src/translator/index.ts.html +1 -1
  267. package/coverage/src/translator/utils.ts.html +36 -36
  268. package/coverage/src/utils/cookie.ts.html +1 -1
  269. package/coverage/src/utils/env.ts.html +1 -1
  270. package/coverage/src/utils/index.html +1 -1
  271. package/coverage/src/utils/index.ts.html +13 -13
  272. package/coverage/src/utils/logger.ts.html +1 -1
  273. package/coverage/src/utils/sortTsString.ts.html +1 -1
  274. package/coverage/src/utils/string.ts.html +1 -1
  275. package/coverage/src/utils/time-slicing.ts.html +1 -1
  276. package/coverage/src/utils/traverse.ts.html +1 -1
  277. package/coverage/src/utils/window.ts.html +1 -1
  278. package/out/bak/translator.js +16 -18
  279. package/out/bak/translator.js.map +1 -1
  280. package/out/concepts/BindAttribute__.js +2 -2
  281. package/out/concepts/BindAttribute__.js.map +1 -1
  282. package/out/concepts/CallFunction__.js +4 -1
  283. package/out/concepts/CallFunction__.js.map +1 -1
  284. package/out/concepts/CallLogic__.js.map +1 -1
  285. package/out/concepts/IfStatement__.js +14 -14
  286. package/out/concepts/IfStatement__.js.map +1 -1
  287. package/out/concepts/MemberExpression__.js +11 -14
  288. package/out/concepts/MemberExpression__.js.map +1 -1
  289. package/out/concepts/TypeAnnotation__.js +14 -14
  290. package/out/concepts/TypeAnnotation__.js.map +1 -1
  291. package/out/concepts/ViewElement__.d.ts +4 -2
  292. package/out/concepts/ViewElement__.js +7 -21
  293. package/out/concepts/ViewElement__.js.map +1 -1
  294. package/out/natural/transformTSCode.js +5 -3
  295. package/out/natural/transformTSCode.js.map +1 -1
  296. package/out/server/createUiTs.js +3 -0
  297. package/out/server/createUiTs.js.map +1 -1
  298. package/out/server/getMemberIdentifier.js +15 -0
  299. package/out/server/getMemberIdentifier.js.map +1 -1
  300. package/out/server/naslServer.js +21 -41
  301. package/out/server/naslServer.js.map +1 -1
  302. package/out/service/creator/errHandles.js +10 -19
  303. package/out/service/creator/errHandles.js.map +1 -1
  304. package/out/service/storage/init.js +7 -2
  305. package/out/service/storage/init.js.map +1 -1
  306. package/out/service/storage/jsoner.js +1 -3
  307. package/out/service/storage/jsoner.js.map +1 -1
  308. package/out/templator/genEditTableBlock.js +24 -2
  309. package/out/templator/genEditTableBlock.js.map +1 -1
  310. package/out/templator/genTableBlock.js +22 -1
  311. package/out/templator/genTableBlock.js.map +1 -1
  312. package/package.json +1 -1
  313. package/sandbox/stdlib/nasl.ui.definition.ts +2220 -2218
  314. package/sandbox-natural/stdlib/nasl.core.ts +0 -2
  315. package/sandbox-natural/stdlib/nasl.util.ts +1 -0
  316. package/src/bak/translator.js +16 -17
  317. package/src/concepts/BindAttribute__.ts +3 -3
  318. package/src/concepts/CallFunction__.ts +4 -1
  319. package/src/concepts/CallLogic__.ts +0 -1
  320. package/src/concepts/IfStatement__.ts +14 -14
  321. package/src/concepts/MemberExpression__.ts +11 -14
  322. package/src/concepts/TypeAnnotation__.ts +14 -14
  323. package/src/concepts/ViewElement__.ts +8 -22
  324. package/src/natural/transformTSCode.ts +5 -4
  325. package/src/server/createUiTs.ts +3 -0
  326. package/src/server/getMemberIdentifier.ts +15 -0
  327. package/src/server/naslServer.ts +26 -25
  328. package/src/service/creator/errHandles.js +10 -16
  329. package/src/service/storage/init.ts +8 -3
  330. package/src/service/storage/jsoner.ts +2 -2
  331. package/src/templator/genEditTableBlock.ts +24 -2
  332. package/src/templator/genTableBlock.ts +22 -1
  333. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
  334. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +4 -4
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">11.03% </span>
26
+ <span class="strong">11.14% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>97/879</span>
28
+ <span class='fraction'>97/870</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">5.74% </span>
33
+ <span class="strong">5.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>34/592</span>
35
+ <span class='fraction'>34/582</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">6.2% </span>
40
+ <span class="strong">6.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/145</span>
42
+ <span class='fraction'>9/142</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">10.65% </span>
47
+ <span class="strong">10.77% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>89/835</span>
49
+ <span class='fraction'>89/826</span>
50
50
  </div>
51
51
 
52
52
 
@@ -2622,37 +2622,37 @@
2622
2622
  <span class="cline-any cline-neutral">&nbsp;</span>
2623
2623
  <span class="cline-any cline-neutral">&nbsp;</span>
2624
2624
  <span class="cline-any cline-neutral">&nbsp;</span>
2625
- <span class="cline-any cline-yes">247x</span>
2625
+ <span class="cline-any cline-yes">249x</span>
2626
2626
  <span class="cline-any cline-neutral">&nbsp;</span>
2627
2627
  <span class="cline-any cline-neutral">&nbsp;</span>
2628
2628
  <span class="cline-any cline-neutral">&nbsp;</span>
2629
2629
  <span class="cline-any cline-neutral">&nbsp;</span>
2630
2630
  <span class="cline-any cline-neutral">&nbsp;</span>
2631
- <span class="cline-any cline-yes">247x</span>
2631
+ <span class="cline-any cline-yes">249x</span>
2632
2632
  <span class="cline-any cline-neutral">&nbsp;</span>
2633
2633
  <span class="cline-any cline-neutral">&nbsp;</span>
2634
2634
  <span class="cline-any cline-neutral">&nbsp;</span>
2635
2635
  <span class="cline-any cline-neutral">&nbsp;</span>
2636
2636
  <span class="cline-any cline-neutral">&nbsp;</span>
2637
- <span class="cline-any cline-yes">247x</span>
2637
+ <span class="cline-any cline-yes">249x</span>
2638
2638
  <span class="cline-any cline-neutral">&nbsp;</span>
2639
2639
  <span class="cline-any cline-neutral">&nbsp;</span>
2640
2640
  <span class="cline-any cline-neutral">&nbsp;</span>
2641
2641
  <span class="cline-any cline-neutral">&nbsp;</span>
2642
2642
  <span class="cline-any cline-neutral">&nbsp;</span>
2643
- <span class="cline-any cline-yes">247x</span>
2643
+ <span class="cline-any cline-yes">249x</span>
2644
2644
  <span class="cline-any cline-neutral">&nbsp;</span>
2645
2645
  <span class="cline-any cline-neutral">&nbsp;</span>
2646
2646
  <span class="cline-any cline-neutral">&nbsp;</span>
2647
2647
  <span class="cline-any cline-neutral">&nbsp;</span>
2648
2648
  <span class="cline-any cline-neutral">&nbsp;</span>
2649
- <span class="cline-any cline-yes">247x</span>
2649
+ <span class="cline-any cline-yes">249x</span>
2650
2650
  <span class="cline-any cline-neutral">&nbsp;</span>
2651
2651
  <span class="cline-any cline-neutral">&nbsp;</span>
2652
2652
  <span class="cline-any cline-neutral">&nbsp;</span>
2653
2653
  <span class="cline-any cline-neutral">&nbsp;</span>
2654
2654
  <span class="cline-any cline-neutral">&nbsp;</span>
2655
- <span class="cline-any cline-yes">247x</span>
2655
+ <span class="cline-any cline-yes">249x</span>
2656
2656
  <span class="cline-any cline-neutral">&nbsp;</span>
2657
2657
  <span class="cline-any cline-neutral">&nbsp;</span>
2658
2658
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2707,9 +2707,9 @@
2707
2707
  <span class="cline-any cline-neutral">&nbsp;</span>
2708
2708
  <span class="cline-any cline-neutral">&nbsp;</span>
2709
2709
  <span class="cline-any cline-neutral">&nbsp;</span>
2710
- <span class="cline-any cline-yes">247x</span>
2711
- <span class="cline-any cline-yes">247x</span>
2712
- <span class="cline-any cline-yes">247x</span>
2710
+ <span class="cline-any cline-yes">249x</span>
2711
+ <span class="cline-any cline-yes">249x</span>
2712
+ <span class="cline-any cline-yes">249x</span>
2713
2713
  <span class="cline-any cline-neutral">&nbsp;</span>
2714
2714
  <span class="cline-any cline-neutral">&nbsp;</span>
2715
2715
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4495,30 +4495,18 @@
4495
4495
  <span class="cline-any cline-no">&nbsp;</span>
4496
4496
  <span class="cline-any cline-no">&nbsp;</span>
4497
4497
  <span class="cline-any cline-no">&nbsp;</span>
4498
- <span class="cline-any cline-no">&nbsp;</span>
4499
- <span class="cline-any cline-no">&nbsp;</span>
4500
- <span class="cline-any cline-no">&nbsp;</span>
4501
- <span class="cline-any cline-no">&nbsp;</span>
4502
- <span class="cline-any cline-no">&nbsp;</span>
4498
+ <span class="cline-any cline-neutral">&nbsp;</span>
4503
4499
  <span class="cline-any cline-neutral">&nbsp;</span>
4504
4500
  <span class="cline-any cline-no">&nbsp;</span>
4505
4501
  <span class="cline-any cline-no">&nbsp;</span>
4506
- <span class="cline-any cline-no">&nbsp;</span>
4507
- <span class="cline-any cline-no">&nbsp;</span>
4508
- <span class="cline-any cline-neutral">&nbsp;</span>
4509
- <span class="cline-any cline-neutral">&nbsp;</span>
4510
- <span class="cline-any cline-neutral">&nbsp;</span>
4511
- <span class="cline-any cline-neutral">&nbsp;</span>
4512
4502
  <span class="cline-any cline-neutral">&nbsp;</span>
4513
4503
  <span class="cline-any cline-no">&nbsp;</span>
4514
4504
  <span class="cline-any cline-no">&nbsp;</span>
4515
4505
  <span class="cline-any cline-no">&nbsp;</span>
4516
- <span class="cline-any cline-neutral">&nbsp;</span>
4517
- <span class="cline-any cline-neutral">&nbsp;</span>
4518
4506
  <span class="cline-any cline-no">&nbsp;</span>
4519
4507
  <span class="cline-any cline-no">&nbsp;</span>
4520
4508
  <span class="cline-any cline-neutral">&nbsp;</span>
4521
- <span class="cline-any cline-no">&nbsp;</span>
4509
+ <span class="cline-any cline-neutral">&nbsp;</span>
4522
4510
  <span class="cline-any cline-no">&nbsp;</span>
4523
4511
  <span class="cline-any cline-no">&nbsp;</span>
4524
4512
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4530,8 +4518,6 @@
4530
4518
  <span class="cline-any cline-no">&nbsp;</span>
4531
4519
  <span class="cline-any cline-no">&nbsp;</span>
4532
4520
  <span class="cline-any cline-neutral">&nbsp;</span>
4533
- <span class="cline-any cline-neutral">&nbsp;</span>
4534
- <span class="cline-any cline-no">&nbsp;</span>
4535
4521
  <span class="cline-any cline-no">&nbsp;</span>
4536
4522
  <span class="cline-any cline-no">&nbsp;</span>
4537
4523
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4774,7 +4760,7 @@
4774
4760
  <span class="cline-any cline-neutral">&nbsp;</span>
4775
4761
  <span class="cline-any cline-neutral">&nbsp;</span>
4776
4762
  <span class="cline-any cline-neutral">&nbsp;</span>
4777
- <span class="cline-any cline-yes">247x</span>
4763
+ <span class="cline-any cline-yes">249x</span>
4778
4764
  <span class="cline-any cline-neutral">&nbsp;</span>
4779
4765
  <span class="cline-any cline-neutral">&nbsp;</span>
4780
4766
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4853,10 +4839,10 @@
4853
4839
  <span class="cline-any cline-neutral">&nbsp;</span>
4854
4840
  <span class="cline-any cline-neutral">&nbsp;</span>
4855
4841
  <span class="cline-any cline-neutral">&nbsp;</span>
4856
- <span class="cline-any cline-yes">247x</span>
4842
+ <span class="cline-any cline-yes">249x</span>
4857
4843
  <span class="cline-any cline-neutral">&nbsp;</span>
4858
4844
  <span class="cline-any cline-neutral">&nbsp;</span>
4859
- <span class="cline-any cline-yes">247x</span>
4845
+ <span class="cline-any cline-yes">249x</span>
4860
4846
  <span class="cline-any cline-neutral">&nbsp;</span>
4861
4847
  <span class="cline-any cline-neutral">&nbsp;</span>
4862
4848
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4920,7 +4906,7 @@
4920
4906
  <span class="cline-any cline-neutral">&nbsp;</span>
4921
4907
  <span class="cline-any cline-neutral">&nbsp;</span>
4922
4908
  <span class="cline-any cline-neutral">&nbsp;</span>
4923
- <span class="cline-any cline-yes">247x</span>
4909
+ <span class="cline-any cline-yes">249x</span>
4924
4910
  <span class="cline-any cline-neutral">&nbsp;</span>
4925
4911
  <span class="cline-any cline-neutral">&nbsp;</span>
4926
4912
  <span class="cline-any cline-no">&nbsp;</span>
@@ -4945,7 +4931,21 @@
4945
4931
  <span class="cline-any cline-neutral">&nbsp;</span>
4946
4932
  <span class="cline-any cline-neutral">&nbsp;</span>
4947
4933
  <span class="cline-any cline-neutral">&nbsp;</span>
4948
- <span class="cline-any cline-no">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { v4 as uuidv4 } from 'uuid';
4934
+ <span class="cline-any cline-no">&nbsp;</span>
4935
+ <span class="cline-any cline-neutral">&nbsp;</span>
4936
+ <span class="cline-any cline-neutral">&nbsp;</span>
4937
+ <span class="cline-any cline-neutral">&nbsp;</span>
4938
+ <span class="cline-any cline-neutral">&nbsp;</span>
4939
+ <span class="cline-any cline-neutral">&nbsp;</span>
4940
+ <span class="cline-any cline-neutral">&nbsp;</span>
4941
+ <span class="cline-any cline-neutral">&nbsp;</span>
4942
+ <span class="cline-any cline-neutral">&nbsp;</span>
4943
+ <span class="cline-any cline-yes">1x</span>
4944
+ <span class="cline-any cline-neutral">&nbsp;</span>
4945
+ <span class="cline-any cline-neutral">&nbsp;</span>
4946
+ <span class="cline-any cline-neutral">&nbsp;</span>
4947
+ <span class="cline-any cline-neutral">&nbsp;</span>
4948
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { v4 as uuidv4 } from 'uuid';
4949
4949
  import { FrontendLibrary } from './FrontendLibrary__';
4950
4950
  import {
4951
4951
  TranslatorState,
@@ -6933,277 +6933,277 @@ ${indent(state.tabSize)} */\n`;
6933
6933
  <span class="cstat-no" title="statement not covered" > code += ')';</span>
6934
6934
  &nbsp;
6935
6935
  // 兼容 return 没有类型情况
6936
- if (this.returns.length &amp;&amp; this.returns[0].typeAnnotation) {<span class="cstat-no" title="statement not covered" ></span>
6937
- <span class="cstat-no" title="statement not covered" > code += ': ';<span class="fstat-no" title="function not covered" ></span></span>
6936
+ <span class="cstat-no" title="statement not covered" > if (this.returns.length &amp;&amp; this.returns[0].typeAnnotation) {</span>
6937
+ <span class="cstat-no" title="statement not covered" > code += ': ';</span>
6938
6938
  <span class="cstat-no" title="statement not covered" > code += this.returns[0].typeAnnotation?.toNaturalTS(shiftState(state, code, { inline: true }));</span>
6939
- }<span class="cstat-no" title="statement not covered" ></span>
6940
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
6941
- if (cu<span class="cstat-no" title="statement not covered" >rrentNode !== this) {</span>
6942
- co<span class="cstat-no" title="statement not covered" >de += ';';</span>
6943
- } else<span class="cstat-no" title="statement not covered" > {</span>
6944
- code += ' {\n';
6945
- this.variables.forEa<span class="cstat-no" title="statement not covered" >ch((variable) =&gt; {<span class="fstat-no" title="function not covered" ></span></span>
6946
- co<span class="cstat-no" title="statement not covered" >de += `${indent(state.tabSize + 1)}let `;</span>
6939
+ }
6940
+ &nbsp;
6941
+ <span class="cstat-no" title="statement not covered" > if (currentNode !== this) {</span>
6942
+ <span class="cstat-no" title="statement not covered" > code += ';';</span>
6943
+ } else {
6944
+ <span class="cstat-no" title="statement not covered" > code += ' {\n';</span>
6945
+ <span class="cstat-no" title="statement not covered" > this.variables.forEach(<span class="fstat-no" title="function not covered" >(v</span>ariable) =&gt; {</span>
6946
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}let `;</span>
6947
6947
  <span class="cstat-no" title="statement not covered" > code += variable.toNaturalTS(shiftState(state, code, { inline: true }));</span>
6948
- co<span class="cstat-no" title="statement not covered" >de += ';\n';</span>
6948
+ <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6949
6949
  });
6950
6950
 
6951
- this.returns.forEach((ret) =&gt; {
6952
- code += `${indent(state.tabSize + 1)}let `;
6953
- code += ret.toNaturalTS(shiftState(state, code, { inline: true }));
6951
+ <span class="cstat-no" title="statement not covered" > this.returns.forEach(<span class="fstat-no" title="function not covered" >(r</span>et) =&gt; {</span>
6952
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}let `;</span>
6953
+ <span class="cstat-no" title="statement not covered" > code += ret.toNaturalTS(shiftState(state, code, { inline: true }));</span>
6954
6954
  <span class="cstat-no" title="statement not covered" > code += ';\n';</span>
6955
- <span class="cstat-no" title="statement not covered" > });</span>
6956
- <span class="cstat-no" title="statement not covered" ></span>
6957
- if (!this.body.length &amp;&amp; this.returns.length) {
6958
- if (!state.focusedNodePath || `${this.nodePath}.body[0]` === state.focusedNodePath)
6955
+ });
6956
+
6957
+ <span class="cstat-no" title="statement not covered" > if (!this.body.length &amp;&amp; this.returns.length) {</span>
6958
+ <span class="cstat-no" title="statement not covered" > if (!state.focusedNodePath || `${this.nodePath}.body[0]` === state.focusedNodePath)</span>
6959
6959
  <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
6960
- <span class="cstat-no" title="statement not covered" > code += `${</span>indent(state.tabSize + 1)}return ${this.returns[0].name};\n`;
6960
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}return ${this.returns[0].name};\n`;</span>
6961
6961
  } else {
6962
- <span class="cstat-no" title="statement not covered" > this.body.forE</span>ach((item) =&gt; {
6963
- <span class="cstat-no" title="statement not covered" > let partialCode = '<span class="fstat-no" title="function not covered" >';</span></span>
6964
- <span class="cstat-no" title="statement not covered" ></span>
6962
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
6963
+ let partialCode = <span class="cstat-no" title="statement not covered" >'';</span>
6964
+ &nbsp;
6965
6965
  <span class="cstat-no" title="statement not covered" > if (!state.focusedNodePath &amp;&amp; item.concept === 'End')</span>
6966
- <span class="cstat-no" title="statement not covered" > code += `${</span>indent(state.tabSize + 1)}// 当前位置\n`;
6967
- if (item.toNaturalTS) {
6968
- partialCode = item.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
6969
- <span class="cstat-no" title="statement not covered" > } else if (item.t<span class="fstat-no" title="function not covered" >oE</span>mbeddedTS) {</span>
6970
- <span class="cstat-no" title="statement not covered" > partialCode = item.toEmbeddedTS(shiftSta</span>te(state, code, { tabSize: state.tabSize + 1 }));
6971
- <span class="cstat-no" title="statement not covered" > }</span>
6972
- <span class="cstat-no" title="statement not covered" > if (partialCo</span>de.trim()) {
6973
- code += partialCode;
6974
- code += '\n';
6975
- <span class="cstat-no" title="statement not covered" > }</span>
6976
- <span class="cstat-no" title="statement not covered" > });</span>
6977
- }<span class="cstat-no" title="statement not covered" ></span>
6966
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
6967
+ <span class="cstat-no" title="statement not covered" > if (item.toNaturalTS) {</span>
6968
+ <span class="cstat-no" title="statement not covered" > partialCode = item.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));</span>
6969
+ } else <span class="cstat-no" title="statement not covered" >if (item.toEmbeddedTS) {</span>
6970
+ <span class="cstat-no" title="statement not covered" > partialCode = item.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));</span>
6971
+ }
6972
+ <span class="cstat-no" title="statement not covered" > if (partialCode.trim()) {</span>
6973
+ <span class="cstat-no" title="statement not covered" > code += partialCode;</span>
6974
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
6975
+ }
6976
+ });
6977
+ }
6978
6978
 
6979
- co<span class="cstat-no" title="statement not covered" >de += `${indent(st<span class="fstat-no" title="function not covered" >at</span>e.tabSize)}}`;</span>
6980
- }<span class="cstat-no" title="statement not covered" ></span>
6981
- if (pr<span class="cstat-no" title="statement not covered" >efix === 'inObject') {</span>
6982
- code +<span class="cstat-no" title="statement not covered" >= `,`;</span>
6983
- }<span class="cstat-no" title="statement not covered" ></span>
6984
- code += <span class="cstat-no" title="statement not covered" >'\n';</span>
6985
- return code;
6986
- }<span class="cstat-no" title="statement not covered" ></span>
6987
- <span class="cstat-no" title="statement not covered" ></span>
6988
- getRightCo<span class="cstat-no" title="statement not covered" >de(code: strin</span>g, assignment: Assignment | BatchAssignment, rightNode: any): string {
6989
- code = code.replaceAll('\n', ' ');
6990
- if (assignment instanceof Assignment &amp;&amp; !assignment.right) return code;
6979
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)}}`;</span>
6980
+ }
6981
+ <span class="cstat-no" title="statement not covered" > if (prefix === 'inObject') {</span>
6982
+ <span class="cstat-no" title="statement not covered" > code += `,`;</span>
6983
+ }
6984
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
6985
+ <span class="cstat-no" title="statement not covered" > return code;</span>
6986
+ }
6987
+ &nbsp;
6988
+ <span class="fstat-no" title="function not covered" > getRightCode(</span>code: string, assignment: Assignment | BatchAssignment, rightNode: any): string {
6989
+ <span class="cstat-no" title="statement not covered" > code = code.replaceAll('\n', ' ');</span>
6990
+ <span class="cstat-no" title="statement not covered" > if (assignment instanceof Assignment &amp;&amp; !assignment.right) <span class="cstat-no" title="statement not covered" >return code;</span></span>
6991
6991
  &nbsp;
6992
6992
  // 调用接口,参数替换成 null
6993
- if<span class="cstat-no" title="statement not covered" > (rightNode instanceof CallInterface)</span> {
6994
- const { _interface } = rightNode.getModuleInterface();
6995
- <span class="cstat-no" title="statement not covered" > return _interface ? `${rightNode.tsCalleeKey}(${_interface.params.map(() =&gt; 'null').join(',')})` : null;</span>
6996
- }<span class="cstat-no" title="statement not covered" ></span>
6997
- &nbsp;
6998
- <span class="cstat-no" title="statement not covered" > // 调用服务端逻辑,参数替</span>换成 null
6999
- <span class="cstat-no" title="statement not covered" > if (rightNode</span> instanceof CallLogic &amp;&amp; rightNode.calleeNamespace === 'app.logics') {
7000
- const calleeName = rightNode?.calleeName;
7001
- const calleeLogic = this.app.logics.find((l) =&gt; l.name === calleeName);
7002
- <span class="fstat-no" title="function not covered" > return ca</span>lleeLogic ? `app.logics.${calleeName}(${calleeLogic.params.map(() =&gt; 'null').join(',')})` : null;
7003
- <span class="cstat-no" title="statement not covered" > }</span>
7004
- <span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ></span></span>
6993
+ <span class="cstat-no" title="statement not covered" > if (rightNode instanceof CallInterface) {</span>
6994
+ const { _interface } = <span class="cstat-no" title="statement not covered" >rightNode.getModuleInterface();</span>
6995
+ <span class="cstat-no" title="statement not covered" > return _interface ? `${rightNode.tsCalleeKey}(${_interface.params.map(<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >'null')</span>.join(',')})` : null;</span>
6996
+ }
6997
+ &nbsp;
6998
+ // 调用服务端逻辑,参数替换成 null
6999
+ <span class="cstat-no" title="statement not covered" > if (rightNode instanceof CallLogic &amp;&amp; rightNode.calleeNamespace === 'app.logics') {</span>
7000
+ const calleeName = <span class="cstat-no" title="statement not covered" >rightNode?.calleeName;</span>
7001
+ const calleeLogic = <span class="cstat-no" title="statement not covered" >this.app.logics.find(<span class="fstat-no" title="function not covered" >(l</span>) =&gt; <span class="cstat-no" title="statement not covered" >l.name === calleeName)</span>;</span>
7002
+ <span class="cstat-no" title="statement not covered" > return calleeLogic ? `app.logics.${calleeName}(${calleeLogic.params.map(<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >'null')</span>.join(',')})` : null;</span>
7003
+ }
7004
+ &nbsp;
7005
7005
  // ForEachStatement 内部变量需要替换处理,如 item、index
7006
- const forEachStatement = assignment.getAncestor('ForEachStatement') as ForEachStatement;
7006
+ const forEachStatement = <span class="cstat-no" title="statement not covered" >assignment.getAncestor('ForEachStatement') as ForEachStatement;</span>
7007
7007
  <span class="cstat-no" title="statement not covered" > if (forEachStatement) {</span>
7008
- code = this.handleForEa<span class="cstat-no" title="statement not covered" >chCode(code, forEachStatement);</span>
7009
- }<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
7008
+ <span class="cstat-no" title="statement not covered" > code = this.handleForEachCode(code, forEachStatement);</span>
7009
+ }
7010
7010
  // Match 需要针对分支缩小类型范围
7011
- const matchCase = assignment.getAncestor('MatchCase') as MatchCase;
7012
- if (matchCase) {
7011
+ const matchCase = <span class="cstat-no" title="statement not covered" >assignment.getAncestor('MatchCase') as MatchCase;</span>
7012
+ <span class="cstat-no" title="statement not covered" > if (matchCase) {</span>
7013
7013
  <span class="cstat-no" title="statement not covered" > code = this.handleMatchCaseCode(code, matchCase);</span>
7014
- }<span class="cstat-no" title="statement not covered" ></span>
7015
- return code;<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
7016
- }<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
7017
- &nbsp;
7018
- handleReplaceCode(code: string, variable: string, replaceCode: string) {
7019
- return code.replace(/\S+/g, ($1) =&gt; {
7020
- if ($1 === `${variable}<span class="cstat-no" title="statement not covered" >,`) return `${replaceCode},`;</span>
7021
- <span class="cstat-no" title="statement not covered" > if ($1 === variable) return replaceCode;</span>
7022
- <span class="cstat-no" title="statement not covered" ></span>
7023
- let fnCode = $1;
7024
- if ($1.startsWith(`${variable}.`)) fnCode = $1.replaceAll(`${variable}.`, `${replaceCode}.`);
7025
- if ($1.startsWit<span class="cstat-no" title="statement not covered" >h(`${variable},`)) fnCode = $1.replaceAll(`${vari</span>able},`, `${replaceCode},`);
7026
- <span class="cstat-no" title="statement not covered" > if ($1.includes(`(${variable},`)) fnCode = $1.replaceAll(`(${variable},`, `(${replaceCode},`);</span>
7027
- <span class="cstat-no" title="statement not covered" > if ($1.includes(`(${variable}.`)) fnCode = $1.repl</span>aceAll(`(${variable}.`, `(${replaceCode}.`);
7028
- if ($1.includes(`(${variable})`)) fnCode = $1.replaceAll(`(${variable})`, `(${replaceCode})`);
7029
- <span class="cstat-no" title="statement not covered" > if ($1.incl</span>udes(`,${variable},`)) fnCode = $1.replaceAll(`,${variable},`, `,${replaceCode},`);
7030
- if ($1.includes(`,${variable}.`)) fnCode = $1.replaceAll(`,${variable}.`, `,${replaceCode}.`);
7031
- if ($1.includes(`,${variable})`)) fnCode = $1.replaceAll(`,${variable})`, `,${replaceCode})`);
7032
- <span class="fstat-no" title="function not covered" > return fnCode;</span>
7033
- <span class="cstat-no" title="statement not covered" > });<span class="fstat-no" title="function not covered" ></span></span>
7034
- }<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ></span></span>
7035
- <span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ></span></span>
7036
- handleForEachCode(code: string, forEachStatement: ForEachStatement): string {
7037
- const { item, i<span class="cstat-no" title="statement not covered" >nde</span>x, each } = forEachStatement;
7038
- if<span class="cstat-no" title="statement not covered" > (code.includes(item.name)) {<span class="cstat-no" title="statement not covered" ></span></span>
7039
- <span class="cstat-no" title="statement not covered" > const eachTSCode = each ? each.toEm<span class="cstat-no" title="statement not covered" >beddedTS() : '__IDENTIFIER__'</span></span>
7040
- <span class="cstat-no" title="statement not covered" > code = this.handleReplaceCode(<span class="cstat-no" title="statement not covered" ></span></span>
7041
- <span class="cstat-no" title="statement not covered" > code,<span class="cstat-no" title="statement not covered" ></span></span>
7042
- <span class="cstat-no" title="statement not covered" > item.name,<span class="cstat-no" title="statement not covered" ></span></span>
7043
- <span class="cstat-no" title="statement not covered" > eachTSCode === '__IDENTIFIER__' <span class="cstat-no" title="statement not covered" >? eachTSCode : `${eachTSCode}.__get(0)`,</span></span>
7044
- <span class="cstat-no" title="statement not covered" > );<span class="cstat-no" title="statement not covered" ></span></span>
7045
- }<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ></span></span>
7046
- if<span class="cstat-no" title="statement not covered" > (code.includes</span>(index.name)) code = this.handleReplaceCode(code, index.name, 'new nasl.core.Long(0)');
7047
- &nbsp;
7048
- const parentForEachStatement = forEachStatement.getAncestor('ForEachStatement') as ForEachStatement;
7049
- if (parentForEachStatement) {
7050
- <span class="fstat-no" title="function not covered" > this.handleFor</span>EachCode(code, parentForEachStatement);
7051
- }<span class="cstat-no" title="statement not covered" ></span>
7014
+ }
7015
+ <span class="cstat-no" title="statement not covered" > return code;</span>
7016
+ }
7017
+ &nbsp;
7018
+ <span class="fstat-no" title="function not covered" > handleReplaceCode(</span>code: string, variable: string, replaceCode: string) {
7019
+ <span class="cstat-no" title="statement not covered" > return code.replace(/\S+/g, <span class="fstat-no" title="function not covered" >($</span>1) =&gt; {</span>
7020
+ <span class="cstat-no" title="statement not covered" > if ($1 === `${variable},`) <span class="cstat-no" title="statement not covered" >return `${replaceCode},`;</span></span>
7021
+ <span class="cstat-no" title="statement not covered" > if ($1 === variable) <span class="cstat-no" title="statement not covered" >return replaceCode;</span></span>
7022
+ &nbsp;
7023
+ let fnCode = <span class="cstat-no" title="statement not covered" >$1;</span>
7024
+ <span class="cstat-no" title="statement not covered" > if ($1.startsWith(`${variable}.`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`${variable}.`, `${replaceCode}.`);</span></span>
7025
+ <span class="cstat-no" title="statement not covered" > if ($1.startsWith(`${variable},`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`${variable},`, `${replaceCode},`);</span></span>
7026
+ <span class="cstat-no" title="statement not covered" > if ($1.includes(`(${variable},`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`(${variable},`, `(${replaceCode},`);</span></span>
7027
+ <span class="cstat-no" title="statement not covered" > if ($1.includes(`(${variable}.`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`(${variable}.`, `(${replaceCode}.`);</span></span>
7028
+ <span class="cstat-no" title="statement not covered" > if ($1.includes(`(${variable})`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`(${variable})`, `(${replaceCode})`);</span></span>
7029
+ <span class="cstat-no" title="statement not covered" > if ($1.includes(`,${variable},`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`,${variable},`, `,${replaceCode},`);</span></span>
7030
+ <span class="cstat-no" title="statement not covered" > if ($1.includes(`,${variable}.`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`,${variable}.`, `,${replaceCode}.`);</span></span>
7031
+ <span class="cstat-no" title="statement not covered" > if ($1.includes(`,${variable})`)) <span class="cstat-no" title="statement not covered" >fnCode = $1.replaceAll(`,${variable})`, `,${replaceCode})`);</span></span>
7032
+ <span class="cstat-no" title="statement not covered" > return fnCode;</span>
7033
+ });
7034
+ }
7035
+ &nbsp;
7036
+ <span class="fstat-no" title="function not covered" > handleForEachCode(</span>code: string, forEachStatement: ForEachStatement): string {
7037
+ const { item, index, each } = <span class="cstat-no" title="statement not covered" >forEachStatement;</span>
7038
+ <span class="cstat-no" title="statement not covered" > if (code.includes(item.name)) {</span>
7039
+ const eachTSCode = <span class="cstat-no" title="statement not covered" >each ? each.toEmbeddedTS() : '__IDENTIFIER__'</span>
7040
+ <span class="cstat-no" title="statement not covered" > code = this.handleReplaceCode(</span>
7041
+ code,
7042
+ item.name,
7043
+ eachTSCode === '__IDENTIFIER__' ? eachTSCode : `${eachTSCode}.__get(0)`,
7044
+ );
7045
+ }
7046
+ <span class="cstat-no" title="statement not covered" > if (code.includes(index.name)) <span class="cstat-no" title="statement not covered" >code = this.handleReplaceCode(code, index.name, 'new nasl.core.Long(0)');</span></span>
7047
+ &nbsp;
7048
+ const parentForEachStatement = <span class="cstat-no" title="statement not covered" >forEachStatement.getAncestor('ForEachStatement') as ForEachStatement;</span>
7049
+ <span class="cstat-no" title="statement not covered" > if (parentForEachStatement) {</span>
7050
+ <span class="cstat-no" title="statement not covered" > this.handleForEachCode(code, parentForEachStatement);</span>
7051
+ }
7052
7052
  <span class="cstat-no" title="statement not covered" > return code;</span>
7053
- }<span class="cstat-no" title="statement not covered" ></span>
7054
- <span class="cstat-no" title="statement not covered" ></span>
7055
- handleMatchCaseCode(code: string, matchCase: MatchCase): string {
7056
- const match = matchCase.getAncestor('Match') as Match;
7057
- const expressionTsCode = match.expression.toEmbeddedTS();
7058
- if (code.includes(expressionTsCode)) {
7059
- let typeCode = '';
7060
- <span class="cstat-no" title="statement not covered" > matchCase.patterns.forEach((p<span class="cstat-no" title="statement not covered" >attern, index) =&gt; {</span></span>
7061
- if (pattern instanceof TypeAnnotation) {
7062
- if (index === 0) {<span class="cstat-no" title="statement not covered" ></span>
7053
+ }
7054
+ &nbsp;
7055
+ <span class="fstat-no" title="function not covered" > handleMatchCaseCode(</span>code: string, matchCase: MatchCase): string {
7056
+ const match = <span class="cstat-no" title="statement not covered" >matchCase.getAncestor('Match') as Match;</span>
7057
+ const expressionTsCode = <span class="cstat-no" title="statement not covered" >match.expression.toEmbeddedTS();</span>
7058
+ <span class="cstat-no" title="statement not covered" > if (code.includes(expressionTsCode)) {</span>
7059
+ let typeCode = <span class="cstat-no" title="statement not covered" >'';</span>
7060
+ <span class="cstat-no" title="statement not covered" > matchCase.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
7061
+ <span class="cstat-no" title="statement not covered" > if (pattern instanceof TypeAnnotation) {</span>
7062
+ <span class="cstat-no" title="statement not covered" > if (index === 0) {</span>
7063
+ <span class="cstat-no" title="statement not covered" > typeCode += pattern.toEmbeddedTS();</span>
7064
+ } else {
7065
+ <span class="cstat-no" title="statement not covered" > typeCode += '|';</span>
7063
7066
  <span class="cstat-no" title="statement not covered" > typeCode += pattern.toEmbeddedTS();</span>
7064
- <span class="cstat-no" title="statement not covered" > } else {</span>
7065
- typeCode += '|';
7066
- <span class="cstat-no" title="statement not covered" > typeC</span>ode += pattern.toEmbeddedTS();
7067
7067
  }
7068
7068
  }
7069
- <span class="fstat-no" title="function not covered" > });</span>
7070
- if (typeCode<span class="cstat-no" title="statement not covered" >) {</span>
7071
- code = this.handleRep<span class="cstat-no" title="statement not covered" >laceCode(code, expressionTsCode,</span> `(${expressionTsCode} as ${typeCode})`);
7072
- <span class="cstat-no" title="statement not covered" > }</span>
7073
- }<span class="cstat-no" title="statement not covered" ></span>
7074
- co<span class="cstat-no" title="statement not covered" >nst parentMatchCase = match<span class="fstat-no" title="function not covered" >.g</span>etAncestor('MatchCase') as MatchCase;</span>
7075
- if (<span class="cstat-no" title="statement not covered" >parentMatchCase) {</span>
7076
- code<span class="cstat-no" title="statement not covered" > = this.handleMatchCaseCode(code, parentMatchCase);</span>
7077
- }<span class="cstat-no" title="statement not covered" ></span>
7078
- return code;
7079
- }<span class="cstat-no" title="statement not covered" ></span>
7080
- <span class="cstat-no" title="statement not covered" ></span>
7081
- getNamespace(): string {
7082
- if (this.parentNode) {
7083
- const parentNamespace = (this.parentNode as any)?.getNamespace();
7084
- <span class="cstat-no" title="statement not covered" > // 针对Connector, 其对应的引入入口只有连接器。且唯一标识由</span>
7085
- //<span class="cstat-no" title="statement not covered" > calleeName、calleeNamespace 两个字段组合确认,</span>
7069
+ });
7070
+ <span class="cstat-no" title="statement not covered" > if (typeCode) {</span>
7071
+ <span class="cstat-no" title="statement not covered" > code = this.handleReplaceCode(code, expressionTsCode, `(${expressionTsCode} as ${typeCode})`);</span>
7072
+ }
7073
+ }
7074
+ const parentMatchCase = <span class="cstat-no" title="statement not covered" >match.getAncestor('MatchCase') as MatchCase;</span>
7075
+ <span class="cstat-no" title="statement not covered" > if (parentMatchCase) {</span>
7076
+ <span class="cstat-no" title="statement not covered" > code = this.handleMatchCaseCode(code, parentMatchCase);</span>
7077
+ }
7078
+ <span class="cstat-no" title="statement not covered" > return code;</span>
7079
+ }
7080
+ &nbsp;
7081
+ <span class="fstat-no" title="function not covered" > getNamespace(</span>): string {
7082
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode) {</span>
7083
+ const parentNamespace = (<span class="cstat-no" title="statement not covered" >this.parentNode as any)?.getNamespace();</span>
7084
+ // 针对Connector, 其对应的引入入口只有连接器。且唯一标识由
7085
+ // calleeName、calleeNamespace 两个字段组合确认,
7086
7086
  // 故这里只返回 Connector 对应的nameSpace 且 俩字段组合默认会含带logic 字段
7087
7087
  // 因此最后 CallConnector 的 calleewholeKey 为 : `${calleeNamespace}.logics.${calleeName}`
7088
- if (this.parentNode.co<span class="cstat-no" title="statement not covered" >ncept === 'Connector') {</span>
7088
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode.concept === 'Connector') {</span>
7089
7089
  <span class="cstat-no" title="statement not covered" > return parentNamespace;</span>
7090
- <span class="cstat-no" title="statement not covered" > }</span>
7091
- const parentName = this.parentNode.name;
7092
- <span class="cstat-no" title="statement not covered" > // 自定义连接器,增</span>加了分组概念,故需要额外扩展一层namespace
7093
- const connector = this.getAncestor('Connector') as Connector;
7094
- if (connector &amp;&amp; connector.connectorKind === 'app') {
7095
- <span class="fstat-no" title="function not covered" > return </span>`${parentNamespace}.${parentName}`;
7096
- <span class="cstat-no" title="statement not covered" > }</span>
7097
- const arr = [parentNamesp<span class="cstat-no" title="statement not covered" >ace];</span>
7098
- if (this.parentNode.concept !== 'App' &amp;&amp; parentName) {
7099
- arr.push(parentName);
7100
7090
  }
7101
- let namespace = arr.join('.');
7091
+ const parentName = <span class="cstat-no" title="statement not covered" >this.parentNode.name;</span>
7092
+ // 自定义连接器,增加了分组概念,故需要额外扩展一层namespace
7093
+ const connector = <span class="cstat-no" title="statement not covered" >this.getAncestor('Connector') as Connector;</span>
7094
+ <span class="cstat-no" title="statement not covered" > if (connector &amp;&amp; connector.connectorKind === 'app') {</span>
7095
+ <span class="cstat-no" title="statement not covered" > return `${parentNamespace}.${parentName}`;</span>
7096
+ }
7097
+ const arr = <span class="cstat-no" title="statement not covered" >[parentNamespace];</span>
7098
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode.concept !== 'App' &amp;&amp; parentName) {</span>
7099
+ <span class="cstat-no" title="statement not covered" > arr.push(parentName);</span>
7100
+ }
7101
+ let namespace = <span class="cstat-no" title="statement not covered" >arr.join('.');</span>
7102
7102
  <span class="cstat-no" title="statement not covered" > if (</span>
7103
- <span class="cstat-no" title="statement not covered" > ![</span>
7103
+ ![
7104
7104
  'nasl.ui',
7105
- 'nasl.utils',<span class="cstat-no" title="statement not covered" ></span>
7105
+ 'nasl.utils',
7106
7106
  'nasl.util',
7107
- 'nasl.browser'<span class="cstat-no" title="statement not covered" >,</span>
7108
- <span class="cstat-no" title="statement not covered" > 'nasl.auth',</span>
7109
- <span class="cstat-no" title="statement not covered" > 'nasl.configuration',</span>
7107
+ 'nasl.browser',
7108
+ 'nasl.auth',
7109
+ 'nasl.configuration',
7110
7110
  'nasl.process',
7111
- 'nasl.lo<span class="cstat-no" title="statement not covered" >gging',</span>
7112
- <span class="cstat-no" title="statement not covered" > 'nasl.io',</span>
7113
- <span class="cstat-no" title="statement not covered" > 'nasl.event',</span>
7111
+ 'nasl.logging',
7112
+ 'nasl.io',
7113
+ 'nasl.event',
7114
7114
  ].includes(namespace) &amp;&amp;
7115
- !namespace.inc<span class="cstat-no" title="statement not covered" >ludes('.logics</span>')
7116
- <span class="cstat-no" title="statement not covered" > ) {</span>
7117
- namespace = `${namespace}.logics`;
7115
+ !namespace.includes('.logics')
7116
+ ) {
7117
+ <span class="cstat-no" title="statement not covered" > namespace = `${namespace}.logics`;</span>
7118
7118
  }
7119
- return namespace;
7119
+ <span class="cstat-no" title="statement not covered" > return namespace;</span>
7120
7120
  }
7121
- throw new Error('无法获取命名空间,请设置 parentNode!');
7121
+ <span class="cstat-no" title="statement not covered" > throw new Error('无法获取命名空间,请设置 parentNode!');</span>
7122
7122
  }
7123
7123
  &nbsp;
7124
- getTsNamespace(): string {
7125
- if (this.parentNode) {
7126
- const parentNamespace = (this.parentNode as any)?.getTsNamespace();
7124
+ <span class="fstat-no" title="function not covered" > getTsNamespace(</span>): string {
7125
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode) {</span>
7126
+ const parentNamespace = (<span class="cstat-no" title="statement not covered" >this.parentNode as any)?.getTsNamespace();</span>
7127
7127
  // 对于parent类型为Namespace的情况,getTsNamespace 已经返回了具体的 name,
7128
7128
  // 为什么下文还要重新获取???
7129
- const parentName = this.parentNode.tsName || this.parentNode.name;
7130
- const arr = [parentNamespace];
7131
- if<span class="cstat-no" title="statement not covered" > (this.parentNode.concept !== 'App'</span> &amp;&amp; parentName) {
7132
- arr.push(parentName);
7133
- <span class="cstat-no" title="statement not covered" > }</span>
7134
- let namespace = arr.join('.');
7129
+ const parentName = <span class="cstat-no" title="statement not covered" >this.parentNode.tsName || this.parentNode.name;</span>
7130
+ const arr = <span class="cstat-no" title="statement not covered" >[parentNamespace];</span>
7131
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode.concept !== 'App' &amp;&amp; parentName) {</span>
7132
+ <span class="cstat-no" title="statement not covered" > arr.push(parentName);</span>
7133
+ }
7134
+ let namespace = <span class="cstat-no" title="statement not covered" >arr.join('.');</span>
7135
7135
  <span class="cstat-no" title="statement not covered" > if (</span>
7136
7136
  ![
7137
7137
  'nasl.ui',
7138
- <span class="fstat-no" title="function not covered" > 'nasl.u</span>tils',
7139
- <span class="cstat-no" title="statement not covered" > 'nasl.util',</span>
7140
- 'nasl.browser',<span class="cstat-no" title="statement not covered" ></span>
7138
+ 'nasl.utils',
7139
+ 'nasl.util',
7140
+ 'nasl.browser',
7141
7141
  'nasl.auth',
7142
7142
  'nasl.configuration',
7143
- 'nasl.process',<span class="cstat-no" title="statement not covered" ></span>
7144
- 'nasl.lo<span class="cstat-no" title="statement not covered" >gging',</span>
7145
- <span class="cstat-no" title="statement not covered" > 'nasl.io',</span>
7146
- <span class="cstat-no" title="statement not covered" > ].includes(namespace) </span>&amp;&amp;
7143
+ 'nasl.process',
7144
+ 'nasl.logging',
7145
+ 'nasl.io',
7146
+ ].includes(namespace) &amp;&amp;
7147
7147
  !namespace.includes('.logics')
7148
- ) {<span class="cstat-no" title="statement not covered" ></span>
7148
+ ) {
7149
7149
  <span class="cstat-no" title="statement not covered" > namespace = `${namespace}.logics`;</span>
7150
7150
  }
7151
- return namespace;
7151
+ <span class="cstat-no" title="statement not covered" > return namespace;</span>
7152
7152
  }
7153
- throw new Error('无法获取命名空间,请设置 parentNode!');
7153
+ <span class="cstat-no" title="statement not covered" > throw new Error('无法获取命名空间,请设置 parentNode!');</span>
7154
7154
  }
7155
7155
  &nbsp;
7156
7156
  /**
7157
7157
  * 生成宿主语言的文件路径
7158
7158
  * @param name 一般不用传,用于 rename
7159
7159
  */
7160
- getEmbeddedFilePath(name = this.name) {
7161
- let _path = '';
7162
- if (this.module) {
7163
- _p<span class="cstat-no" title="statement not covered" >ath = `/${this.module.parentKey}/${</span>this.module.name}`;
7164
- } else if (this.connector) {
7165
- <span class="cstat-no" title="statement not covered" > // 自定义连接器有分组的概念因此,</span>需要做文件夹处理
7166
- if (this.connector.connectorKind === 'app') {
7167
- <span class="cstat-no" title="statement not covered" > _path = `/${this.connector.parentKey}/${t</span>his.connector.name}/${this.parentNode.name}`;
7160
+ <span class="fstat-no" title="function not covered" > getEmbeddedFilePath(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >this.name)</span> {
7161
+ let _path = <span class="cstat-no" title="statement not covered" >'';</span>
7162
+ <span class="cstat-no" title="statement not covered" > if (this.module) {</span>
7163
+ <span class="cstat-no" title="statement not covered" > _path = `/${this.module.parentKey}/${this.module.name}`;</span>
7164
+ } else <span class="cstat-no" title="statement not covered" >if (this.connector) {</span>
7165
+ // 自定义连接器有分组的概念因此,需要做文件夹处理
7166
+ <span class="cstat-no" title="statement not covered" > if (this.connector.connectorKind === 'app') {</span>
7167
+ <span class="cstat-no" title="statement not covered" > _path = `/${this.connector.parentKey}/${this.connector.name}/${this.parentNode.name}`;</span>
7168
7168
  } else {
7169
- _path = `/${this.connector.parentKey}/${this.connector.name}`;
7169
+ <span class="cstat-no" title="statement not covered" > _path = `/${this.connector.parentKey}/${this.connector.name}`;</span>
7170
7170
  }
7171
7171
  }
7172
- if (this.parentNode instanceof FrontendLibrary) {
7173
- _path += `/frontends/${this.parentNode.type}`;
7174
- <span class="fstat-no" title="function not covered" > } else if (this.pa</span>rentNod<span class="branch-0 cbranch-no" title="branch not covered" >e.concept </span>=== 'BindEvent' &amp;&amp; this.parentNode?.parentNode.concept === 'Frontend') {
7175
- _path += `<span class="cstat-no" title="statement not covered" >/fr</span>ontends/${this.parentNode.parentNode.name}/bindEvents/${name}.ts`;
7176
- <span class="cstat-no" title="statement not covered" > }</span>
7177
- re<span class="cstat-no" title="statement not covered" >turn `/embedded/${this.app.name}${_path}/logics/${name}.t</span>s`;
7178
- }<span class="cstat-no" title="statement not covered" ></span>
7179
- &nbsp;
7180
- toEm<span class="cstat-no" title="statement not covered" >beddedTSFile() {</span>
7181
- let <span class="cstat-no" title="statement not covered" >code = `namespace ${this.getTsNamespace()} {\n`;</span>
7182
- &nbsp;
7183
- cons<span class="cstat-no" title="statement not covered" >t state = createCompilerState(code, { tabSize: 1 });</span>
7184
- try {
7185
- code += this.toEmbeddedTS(state);
7186
- <span class="cstat-no" title="statement not covered" > } catch (err) {</span>
7187
- <span class="cstat-no" title="statement not covered" > console.log(err, `有问题翻译失败:${this.getTsNamespace</span>()}.${this.name}`);
7188
- code <span class="cstat-no" title="statement not covered" >+= '';</span>
7172
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode instanceof FrontendLibrary) {</span>
7173
+ <span class="cstat-no" title="statement not covered" > _path += `/frontends/${this.parentNode.type}`;</span>
7174
+ } else <span class="cstat-no" title="statement not covered" >if (this.parentNode.concept === 'BindEvent' &amp;&amp; this.parentNode?.parentNode.concept === 'Frontend') {</span>
7175
+ <span class="cstat-no" title="statement not covered" > _path += `/frontends/${this.parentNode.parentNode.name}/bindEvents/${name}.ts`;</span>
7176
+ }
7177
+ <span class="cstat-no" title="statement not covered" > return `/embedded/${this.app.name}${_path}/logics/${name}.ts`;</span>
7178
+ }
7179
+ &nbsp;
7180
+ <span class="fstat-no" title="function not covered" > toEmbeddedTSFile(</span>) {
7181
+ let code = <span class="cstat-no" title="statement not covered" >`namespace ${this.getTsNamespace()} {\n`;</span>
7182
+ &nbsp;
7183
+ const state = <span class="cstat-no" title="statement not covered" >createCompilerState(code, { tabSize: 1 });</span>
7184
+ <span class="cstat-no" title="statement not covered" > try {</span>
7185
+ <span class="cstat-no" title="statement not covered" > code += this.toEmbeddedTS(state);</span>
7186
+ } catch (err) {
7187
+ <span class="cstat-no" title="statement not covered" > console.log(err, `有问题翻译失败:${this.getTsNamespace()}.${this.name}`);</span>
7188
+ <span class="cstat-no" title="statement not covered" > code += '';</span>
7189
7189
  <span class="cstat-no" title="statement not covered" > console.log(err);</span>
7190
7190
  }
7191
7191
  <span class="cstat-no" title="statement not covered" > code += '}\n';</span>
7192
- return {
7192
+ <span class="cstat-no" title="statement not covered" > return {</span>
7193
7193
  code,
7194
- <span class="fstat-no" title="function not covered" > filePath: thi</span>s.getEmbeddedFilePath(),
7195
- sourceMap<span class="cstat-no" title="statement not covered" >: state.sourceMap,</span>
7194
+ filePath: this.getEmbeddedFilePath(),
7195
+ sourceMap: state.sourceMap,
7196
7196
  };
7197
- }<span class="cstat-no" title="statement not covered" ></span>
7198
- <span class="cstat-no" title="statement not covered" ></span>
7199
- publ<span class="cstat-no" title="statement not covered" >ic static getDefaultOptions(): Par</span>tial&lt;{
7197
+ }
7198
+ &nbsp;
7199
+ public static getDefaultOptions(): Partial&lt;{
7200
7200
  body: Array&lt;any&gt;;
7201
- pa<span class="cstat-no" title="statement not covered" >rams: Array&lt;any&gt;;</span>
7202
- re<span class="cstat-no" title="statement not covered" >turns: Array</span>&lt;any&gt;;
7203
- }&gt; {<span class="cstat-no" title="statement not covered" ></span>
7201
+ params: Array&lt;any&gt;;
7202
+ returns: Array&lt;any&gt;;
7203
+ }&gt; {
7204
7204
  return {
7205
- <span class="cstat-no" title="statement not covered" > body: [</span>
7206
- <span class="cstat-no" title="statement not covered" > {</span>
7205
+ body: [
7206
+ {
7207
7207
  concept: 'Start',
7208
7208
  label: '开始',
7209
7209
  kind: 'Statement',
@@ -7219,13 +7219,13 @@ ${indent(state.tabSize)} */\n`;
7219
7219
  };
7220
7220
  }
7221
7221
  &nbsp;
7222
- async saveStructureOfCallQueryComponents(root?: BaseNode | Logic) {
7223
- if (!root) root = this;
7224
- const set = new Set();
7225
- utils.traverse(
7226
- ({ node }) =&gt; {
7227
- if (node instanceof CallQueryComponent) {
7228
- set.add(node);
7222
+ <span class="fstat-no" title="function not covered" > async </span>saveStructureOfCallQueryComponents(root?: BaseNode | Logic) {
7223
+ <span class="cstat-no" title="statement not covered" > if (!root) <span class="cstat-no" title="statement not covered" >root = this;</span></span>
7224
+ const set = <span class="cstat-no" title="statement not covered" >new Set();</span>
7225
+ <span class="cstat-no" title="statement not covered" > utils.traverse(</span>
7226
+ <span class="fstat-no" title="function not covered" > ({</span> node }) =&gt; {
7227
+ <span class="cstat-no" title="statement not covered" > if (node instanceof CallQueryComponent) {</span>
7228
+ <span class="cstat-no" title="statement not covered" > set.add(node);</span>
7229
7229
  }
7230
7230
  },
7231
7231
  { node: root },
@@ -7233,167 +7233,167 @@ ${indent(state.tabSize)} */\n`;
7233
7233
  mode: 'anyObject',
7234
7234
  excludedKeySet: new Set(['parentNode', '__assignment__']),
7235
7235
  },
7236
- <span class="fstat-no" title="function not covered" > );</span>
7237
- <span class="cstat-no" title="statement not covered" > for (const <span class="cstat-no" title="statement not covered" >node of set) </span></span>{
7238
- (&lt;CallQuer<span class="cstat-no" title="statement not covered" >yComponent</span>&gt;node).saveStructure();
7239
- <span class="cstat-no" title="statement not covered" > }</span>
7240
- }<span class="fstat-no" title="function not covered" ></span>
7241
- <span class="cstat-no" title="statement not covered" ></span>
7242
- // 通过开关设<span class="cstat-no" title="statement not covered" >置数据库事务</span>
7243
- setTransactionEnabled(flag: boolean) {
7244
- this.setTransactional(
7236
+ );
7237
+ <span class="cstat-no" title="statement not covered" > for (const node of set) {</span>
7238
+ (&lt;CallQueryComponent&gt;<span class="cstat-no" title="statement not covered" >node).saveStructure();</span>
7239
+ }
7240
+ }
7241
+ &nbsp;
7242
+ // 通过开关设置数据库事务
7243
+ <span class="fstat-no" title="function not covered" > setTransactionEnabled(</span>flag: boolean) {
7244
+ <span class="cstat-no" title="statement not covered" > this.setTransactional(</span>
7245
7245
  new Transactional({
7246
7246
  enabled: flag,
7247
7247
  }),
7248
7248
  );
7249
7249
  }
7250
7250
  &nbsp;
7251
- fa<span class="cstat-no" title="statement not covered" >ke: boolean;</span>
7252
- <span class="cstat-no" title="statement not covered" ></span>
7251
+ fake: boolean;
7252
+ &nbsp;
7253
7253
  getPath: () =&gt; string;
7254
7254
  &nbsp;
7255
- delete() {
7256
- let actionMsg = '删除逻辑项';
7257
- <span class="fstat-no" title="function not covered" > if (this.name) actio</span>nMsg += `“${this.name}”`;
7255
+ <span class="fstat-no" title="function not covered" > delete(</span>) {
7256
+ let actionMsg = <span class="cstat-no" title="statement not covered" >'删除逻辑项';</span>
7257
+ <span class="cstat-no" title="statement not covered" > if (this.name) <span class="cstat-no" title="statement not covered" >actionMsg += `“${this.name}”`;</span></span>
7258
7258
  <span class="cstat-no" title="statement not covered" > this.app?.emit('logicDeleted', { actionMsg: this.nodePath})</span>
7259
- this.app?.emit('collect:start', {
7259
+ <span class="cstat-no" title="statement not covered" > this.app?.emit('collect:start', {</span>
7260
7260
  actionMsg,
7261
7261
  });
7262
- super.delete();
7263
- this.traverseChildren(async (el) =&gt; {
7264
- if (el?.concept === 'CallQueryComponent') (el as CallQueryComponent).removeStructure();
7262
+ <span class="cstat-no" title="statement not covered" > super.delete();</span>
7263
+ <span class="cstat-no" title="statement not covered" > this.traverseChildren(<span class="fstat-no" title="function not covered" >async </span>(el) =&gt; {</span>
7264
+ <span class="cstat-no" title="statement not covered" > if (el?.concept === 'CallQueryComponent') (<span class="cstat-no" title="statement not covered" >el as CallQueryComponent).removeStructure();</span></span>
7265
7265
  // 仅仅针对 自定义连接器下的 Loigc,其他需要界定边界
7266
- const connector: Connector | null = el?.getAncestor?.('Connector') as Connector;
7267
- if (['CallAuthInterface', 'CallInterface'].includes(el?.concept) &amp;&amp; connector) {
7268
- const { calleeName } = el as CallInterface;
7269
- <span class="fstat-no" title="function not covered" > c</span>onst targetInterface = connector.interfaces.find(i =&gt; i.name === calleeName);
7270
- if (targetIn<span class="cstat-no" title="statement not covered" >terface)</span> {
7271
- <span class="cstat-no" title="statement not covered" > const ref<span class="cstat-no" title="statement not covered" >s = await (this.app as any)?.na</span></span>slServer?._isHaveRef(targetInterface);
7272
- <span class="cstat-no" title="statement not covered" > // 如果只有两个引用,则必然为自身以及当前logic引用,需要删除此接口</span>
7266
+ const connector: Connector | null = <span class="cstat-no" title="statement not covered" >el?.getAncestor?.('Connector') as Connector;</span>
7267
+ <span class="cstat-no" title="statement not covered" > if (['CallAuthInterface', 'CallInterface'].includes(el?.concept) &amp;&amp; connector) {</span>
7268
+ const { calleeName } = <span class="cstat-no" title="statement not covered" >el as CallInterface;</span>
7269
+ const targetInterface = <span class="cstat-no" title="statement not covered" >connector.interfaces.find(<span class="fstat-no" title="function not covered" >i </span>=&gt; <span class="cstat-no" title="statement not covered" >i.name === calleeName)</span>;</span>
7270
+ <span class="cstat-no" title="statement not covered" > if (targetInterface) {</span>
7271
+ const refs = <span class="cstat-no" title="statement not covered" >await (this.app as any)?.naslServer?._isHaveRef(targetInterface);</span>
7272
+ // 如果只有两个引用,则必然为自身以及当前logic引用,需要删除此接口
7273
7273
  <span class="cstat-no" title="statement not covered" > if (refs?.length &lt;= 2) {</span>
7274
- targetInterface.deleteInterface();
7274
+ <span class="cstat-no" title="statement not covered" > targetInterface.deleteInterface();</span>
7275
7275
  }
7276
- <span class="cstat-no" title="statement not covered" > }</span>
7277
- <span class="cstat-no" title="statement not covered" > }<span class="fstat-no" title="function not covered" ></span></span>
7278
- })<span class="cstat-no" title="statement not covered" >;<span class="cstat-no" title="statement not covered" ></span></span>
7279
- this.app?.emit('collect:end');
7280
- }<span class="cstat-no" title="statement not covered" ></span>
7281
- <span class="cstat-no" title="statement not covered" ></span>
7282
- // 是不是内部有错误<span class="cstat-no" title="statement not covered" ></span>
7283
- haveError: boolean = false;<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
7284
- <span class="cstat-no" title="statement not covered" ></span>
7285
- // 是否body为空<span class="cstat-no" title="statement not covered" ></span>
7276
+ }
7277
+ }
7278
+ });
7279
+ <span class="cstat-no" title="statement not covered" > this.app?.emit('collect:end');</span>
7280
+ }
7281
+ &nbsp;
7282
+ // 是不是内部有错误
7283
+ haveError: boolean = false;
7284
+ &nbsp;
7285
+ // 是否body为空
7286
7286
  isSmpty: boolean = false;
7287
- <span class="cstat-no" title="statement not covered" ></span>
7288
- get export<span class="cstat-no" title="statement not covered" >Interface() {</span>
7289
- return (this.rootNode as App)?.interfaces?.find((item) =&gt; item.originLogicName === this.name);
7287
+ &nbsp;
7288
+ <span class="fstat-no" title="function not covered" > get e</span>xportInterface() {
7289
+ <span class="cstat-no" title="statement not covered" > return (this.rootNode as App)?.interfaces?.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.originLogicName === this.name)</span>;</span>
7290
7290
  }
7291
7291
  &nbsp;
7292
- get pathName(): string {
7292
+ <span class="fstat-no" title="function not covered" > get p</span>athName(): string {
7293
7293
  <span class="cstat-no" title="statement not covered" > if (this.view) {</span>
7294
- return this.getEventLogicName('chinese');
7294
+ <span class="cstat-no" title="statement not covered" > return this.getEventLogicName('chinese');</span>
7295
7295
  }
7296
7296
  &nbsp;
7297
- let { parentNode } = this;
7297
+ let { parentNode } = <span class="cstat-no" title="statement not covered" >this;</span>
7298
7298
  &nbsp;
7299
- if (parentNode.concept === 'BindEvent' &amp;&amp; parentNode.parentNode.concept === 'Frontend') {
7300
- const frontEndEventNameMap = {
7299
+ <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'BindEvent' &amp;&amp; parentNode.parentNode.concept === 'Frontend') {</span>
7300
+ const frontEndEventNameMap = <span class="cstat-no" title="statement not covered" >{</span>
7301
7301
  rendered: '应用进入后',
7302
- <span class="fstat-no" title="function not covered" ></span> preRequest: '调用服务端逻辑前',
7303
- <span class="cstat-no" title="statement not covered" > postRequest: '调用服务端逻辑后',<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
7302
+ preRequest: '调用服务端逻辑前',
7303
+ postRequest: '调用服务端逻辑后',
7304
7304
  beforeRouter: '页面切换前',
7305
7305
  afterRouter: '页面切换后',
7306
- <span class="fstat-no" title="function not covered" > }</span>;
7307
- <span class="cstat-no" title="statement not covered" > const pathName = [this.name];</span>
7308
- <span class="cstat-no" title="statement not covered" > while (parentNode &amp;&amp; parentNode.concept !=</span>= 'Frontend') {
7309
- const name = (frontEndEventNameMap as any)[parentNode.name] || parentNode.name;
7310
- pathName.unshift(name);
7311
- parentNode = pare<span class="cstat-no" title="statement not covered" >ntNod</span>e.parentNode;
7306
+ };
7307
+ const pathName = <span class="cstat-no" title="statement not covered" >[this.name];</span>
7308
+ <span class="cstat-no" title="statement not covered" > while (parentNode &amp;&amp; parentNode.concept !== 'Frontend') {</span>
7309
+ const name = (<span class="cstat-no" title="statement not covered" >frontEndEventNameMap as any)[parentNode.name] || parentNode.name;</span>
7310
+ <span class="cstat-no" title="statement not covered" > pathName.unshift(name);</span>
7311
+ <span class="cstat-no" title="statement not covered" > parentNode = parentNode.parentNode;</span>
7312
7312
  }
7313
7313
  <span class="cstat-no" title="statement not covered" > return pathName.join('-');</span>
7314
- }<span class="cstat-no" title="statement not covered" ></span>
7314
+ }
7315
7315
  &nbsp;
7316
- const nameMap = {
7316
+ const nameMap = <span class="cstat-no" title="statement not covered" >{</span>
7317
7317
  OnProcessStart: '流程开始时',
7318
7318
  OnTasksCreate: '任务创建时',
7319
7319
  OnTasksOpen: '任务打开时',
7320
7320
  OnTasksClose: '任务关闭时',
7321
- OnCreate: '用户任务创建<span class="cstat-no" title="statement not covered" >时',</span>
7322
- <span class="cstat-no" title="statement not covered" > OnOpen: '用户任务打开时',</span>
7323
- OnClose: '用户任务关闭<span class="cstat-no" title="statement not covered" >时',</span>
7324
- };<span class="cstat-no" title="statement not covered" ></span>
7325
- cons<span class="cstat-no" title="statement not covered" >t pathName = [this.name];</span>
7321
+ OnCreate: '用户任务创建时',
7322
+ OnOpen: '用户任务打开时',
7323
+ OnClose: '用户任务关闭时',
7324
+ };
7325
+ const pathName = <span class="cstat-no" title="statement not covered" >[this.name];</span>
7326
7326
  &nbsp;
7327
- pa<span class="cstat-no" title="statement not covered" >rentNode = this.parentNode;</span>
7327
+ <span class="cstat-no" title="statement not covered" > parentNode = this.parentNode;</span>
7328
7328
  &nbsp;
7329
- while (parentNode &amp;&amp; parentNode.concept !== 'Process') {
7329
+ <span class="cstat-no" title="statement not covered" > while (parentNode &amp;&amp; parentNode.concept !== 'Process') {</span>
7330
7330
  const name = (<span class="cstat-no" title="statement not covered" >nameMap as any)[parentNode.name] || parentNode.name;</span>
7331
- pathName.unshift(name);
7332
- parentNode = parentNode.parentNode;
7331
+ <span class="cstat-no" title="statement not covered" > pathName.unshift(name);</span>
7332
+ <span class="cstat-no" title="statement not covered" > parentNode = parentNode.parentNode;</span>
7333
7333
  }
7334
- return pathName.join('-');
7334
+ <span class="cstat-no" title="statement not covered" > return pathName.join('-');</span>
7335
7335
  }
7336
7336
  &nbsp;
7337
7337
  // 获取bindEvent下的logic的名称
7338
- getEventLogicName(type?: string) {
7339
- if (this.parentNo<span class="cstat-no" title="statement not covered" >de instanceo</span>f BindEvent) {
7340
- if (type === 'chinese') {
7341
- <span class="cstat-no" title="statement not covered" > const bindEvent = this.par</span>entNode;
7342
- const bindChineseName = bindEvent.getPageViewEventChineseName();
7338
+ <span class="fstat-no" title="function not covered" > getEventLogicName(</span>type?: string) {
7339
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode instanceof BindEvent) {</span>
7340
+ <span class="cstat-no" title="statement not covered" > if (type === 'chinese') {</span>
7341
+ const bindEvent = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
7342
+ const bindChineseName = <span class="cstat-no" title="statement not covered" >bindEvent.getPageViewEventChineseName();</span>
7343
7343
  <span class="cstat-no" title="statement not covered" > return `${bindChineseName} -${this.name} `;</span>
7344
- }<span class="cstat-no" title="statement not covered" ></span>
7345
- }<span class="cstat-no" title="statement not covered" ></span>
7346
- re<span class="cstat-no" title="statement not covered" >turn this.name;</span>
7344
+ }
7345
+ }
7346
+ <span class="cstat-no" title="statement not covered" > return this.name;</span>
7347
7347
  }
7348
- <span class="cstat-no" title="statement not covered" ></span>
7348
+ &nbsp;
7349
7349
  // 虚拟输入参数列表
7350
7350
  virtualParams: Array&lt;Param&gt; = [];
7351
7351
  &nbsp;
7352
- <span class="fstat-no" title="function not covered" > get getLogicBelong</span>To() {
7353
- <span class="cstat-no" title="statement not covered" > const [, belongTo] = this.calleewholeKey.split('.');</span>
7354
- re<span class="cstat-no" title="statement not covered" >turn belongTo;</span>
7355
- }<span class="cstat-no" title="statement not covered" ></span>
7356
- <span class="cstat-no" title="statement not covered" ></span>
7357
- // 校验l<span class="cstat-no" title="statement not covered" >ogic的返回值是不是有error类型</span>
7358
- static checkLogicReturnTypeHasError(logic: Logic) {
7359
- let findHasError = false;
7352
+ <span class="fstat-no" title="function not covered" > get g</span>etLogicBelongTo() {
7353
+ const [, belongTo] = <span class="cstat-no" title="statement not covered" >this.calleewholeKey.split('.');</span>
7354
+ <span class="cstat-no" title="statement not covered" > return belongTo;</span>
7355
+ }
7356
+ &nbsp;
7357
+ // 校验logic的返回值是不是有error类型
7358
+ <span class="fstat-no" title="function not covered" > static </span>checkLogicReturnTypeHasError(logic: Logic) {
7359
+ let findHasError = <span class="cstat-no" title="statement not covered" >false;</span>
7360
7360
  <span class="cstat-no" title="statement not covered" > if (!logic) {</span>
7361
- return findHasError;
7361
+ <span class="cstat-no" title="statement not covered" > return findHasError;</span>
7362
7362
  }
7363
- if (logic.returns?.length &amp;&amp; logic.returns[0]?.typeAnnotation) {
7363
+ <span class="cstat-no" title="statement not covered" > if (logic.returns?.length &amp;&amp; logic.returns[0]?.typeAnnotation) {</span>
7364
7364
  // 如果新导入的logic还有Error类型
7365
- const logicType = logic.returns[0].typeAnnotation;
7366
- <span class="fstat-no" title="function not covered" > i</span>f (logicType.typeNamespace === 'nasl.ui' &amp;&amp; logicType.typeName === 'Error') {
7367
- findHasError = tr<span class="cstat-no" title="statement not covered" >ue;</span>
7368
- <span class="cstat-no" title="statement not covered" > } else if (logi</span>cType.typeNamespace === 'nasl.core' &amp;&amp; logicType.typeKind === 'union') {
7365
+ const logicType = <span class="cstat-no" title="statement not covered" >logic.returns[0].typeAnnotation;</span>
7366
+ <span class="cstat-no" title="statement not covered" > if (logicType.typeNamespace === 'nasl.ui' &amp;&amp; logicType.typeName === 'Error') {</span>
7367
+ <span class="cstat-no" title="statement not covered" > findHasError = true;</span>
7368
+ } else <span class="cstat-no" title="statement not covered" >if (logicType.typeNamespace === 'nasl.core' &amp;&amp; logicType.typeKind === 'union') {</span>
7369
7369
  // 如果 logic 有 returns 而且,也有typeArguments的长度
7370
- findHasError = Boolean(
7371
- logicType.typeArguments?.find((item) =&gt; item?.typeNamespace === 'nasl.ui' &amp;&amp; item?.typeName === 'Error'),
7372
- <span class="fstat-no" title="function not covered" > )</span>;
7373
- }<span class="cstat-no" title="statement not covered" ></span>
7374
- <span class="cstat-no" title="statement not covered" > }</span>
7375
- re<span class="cstat-no" title="statement not covered" >turn findHasError;</span>
7370
+ <span class="cstat-no" title="statement not covered" > findHasError = Boolean(</span>
7371
+ logicType.typeArguments?.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.typeNamespace === 'nasl.ui' &amp;&amp; item?.typeName === 'Error')</span>,
7372
+ );
7373
+ }
7374
+ }
7375
+ <span class="cstat-no" title="statement not covered" > return findHasError;</span>
7376
7376
  }
7377
- <span class="cstat-no" title="statement not covered" ></span>
7377
+ &nbsp;
7378
7378
  //================================================================================
7379
- // 从这里开始到结尾注释之间的代码由 NA<span class="cstat-no" title="statement not covered" >SL Workbench 自动生成,请不手动修改!</span>
7380
- // ↓<span class="cstat-no" title="statement not covered" > ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓</span>
7381
- //====<span class="cstat-no" title="statement not covered" >=====================</span>=======================================================
7382
- }<span class="cstat-no" title="statement not covered" ></span>
7379
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
7380
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
7381
+ //================================================================================
7382
+ }
7383
7383
  &nbsp;
7384
- export d<span class="cstat-no" title="statement not covered" >efault Logic;</span>
7385
- //======================================<span class="fstat-no" title="function not covered" >==</span>========<span class="cstat-no" title="statement not covered" >================================</span>
7384
+ export default Logic;
7385
+ //================================================================================
7386
7386
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
7387
7387
  // 自动生成的代码已结束。下面可以手动编写。
7388
7388
  //================================================================================
7389
- <span class="cstat-no" title="statement not covered" ></span></pre></td></tr></table></pre>
7389
+ &nbsp;</pre></td></tr></table></pre>
7390
7390
 
7391
7391
  <div class='push'></div><!-- for sticky footer -->
7392
7392
  </div><!-- /wrapper -->
7393
7393
  <div class='footer quiet pad2 space-top1 center small'>
7394
7394
  Code coverage generated by
7395
7395
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
7396
- at 2023-10-18T11:24:07.411Z
7396
+ at 2023-10-18T11:36:07.885Z
7397
7397
  </div>
7398
7398
  <script src="../../prettify.js"></script>
7399
7399
  <script>