@lcap/nasl 3.3.7-beta.4 → 3.3.7-beta.6

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 (336) hide show
  1. package/.nyc_output/1319679b-f102-43d6-a642-6d9e055d1730.json +1 -0
  2. package/.nyc_output/processinfo/1319679b-f102-43d6-a642-6d9e055d1730.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/index.html +121 -121
  5. package/coverage/src/automate/engine/index.html +1 -1
  6. package/coverage/src/automate/engine/utils.js.html +1 -1
  7. package/coverage/src/bak/index.html +19 -19
  8. package/coverage/src/bak/translator.js.html +293 -59
  9. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
  10. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
  11. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1 -1
  12. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +1 -1
  13. package/coverage/src/breakpoint/generator/index.html +1 -1
  14. package/coverage/src/breakpoint/generator/index.ts.html +1 -1
  15. package/coverage/src/breakpoint/index.html +1 -1
  16. package/coverage/src/breakpoint/index.ts.html +1 -1
  17. package/coverage/src/breakpoint/shared/constants.ts.html +5 -2
  18. package/coverage/src/breakpoint/shared/index.html +12 -12
  19. package/coverage/src/breakpoint/shared/index.ts.html +1 -1
  20. package/coverage/src/breakpoint/shared/operations.ts.html +3 -3
  21. package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
  22. package/coverage/src/breakpoint/shared/utils.ts.html +29 -80
  23. package/coverage/src/breakpoint/store/core.ts.html +4 -4
  24. package/coverage/src/breakpoint/store/dock.ts.html +1 -1
  25. package/coverage/src/breakpoint/store/index.html +1 -1
  26. package/coverage/src/breakpoint/store/index.ts.html +1 -1
  27. package/coverage/src/common/BaseNode.ts.html +155 -191
  28. package/coverage/src/common/Command.ts.html +9 -6
  29. package/coverage/src/common/EventEmitter.ts.html +14 -29
  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 +32 -32
  33. package/coverage/src/common/index.ts.html +1 -1
  34. package/coverage/src/common/utils.ts.html +1 -1
  35. package/coverage/src/concepts/Abort__.ts.html +2 -2
  36. package/coverage/src/concepts/AbstractInterface__.ts.html +2 -2
  37. package/coverage/src/concepts/Anchor__.ts.html +3 -3
  38. package/coverage/src/concepts/AnonymousFunction__.ts.html +82 -28
  39. package/coverage/src/concepts/App__.ts.html +481 -184
  40. package/coverage/src/concepts/Argument__.ts.html +3 -3
  41. package/coverage/src/concepts/Assignee__.ts.html +3 -3
  42. package/coverage/src/concepts/AssignmentLine__.ts.html +2 -2
  43. package/coverage/src/concepts/Assignment__.ts.html +3 -3
  44. package/coverage/src/concepts/Attribute__.ts.html +2 -2
  45. package/coverage/src/concepts/AuthInterface__.ts.html +2 -2
  46. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +3 -3
  47. package/coverage/src/concepts/AuthLogic__.ts.html +2 -2
  48. package/coverage/src/concepts/BackendVariable__.ts.html +35 -11
  49. package/coverage/src/concepts/Backend__.ts.html +3 -3
  50. package/coverage/src/concepts/BatchAssignment__.ts.html +3 -3
  51. package/coverage/src/concepts/BinaryExpression__.ts.html +2 -2
  52. package/coverage/src/concepts/BindAttribute__.ts.html +34 -16
  53. package/coverage/src/concepts/BindDirective__.ts.html +65 -20
  54. package/coverage/src/concepts/BindEvent__.ts.html +108 -24
  55. package/coverage/src/concepts/BindStyle__.ts.html +3 -3
  56. package/coverage/src/concepts/Block__.ts.html +3 -3
  57. package/coverage/src/concepts/BooleanLiteral__.ts.html +2 -2
  58. package/coverage/src/concepts/BusinessComponent__.ts.html +8164 -0
  59. package/coverage/src/concepts/BusinessLogic__.ts.html +1213 -0
  60. package/coverage/src/concepts/CallAuthInterface__.ts.html +3 -3
  61. package/coverage/src/concepts/CallConnector__.ts.html +2 -2
  62. package/coverage/src/concepts/CallEvent__.ts.html +1138 -0
  63. package/coverage/src/concepts/CallFunction__.ts.html +35 -41
  64. package/coverage/src/concepts/CallInterface__.ts.html +3 -3
  65. package/coverage/src/concepts/CallLogic__.ts.html +68 -26
  66. package/coverage/src/concepts/CallQueryComponent__.ts.html +3 -3
  67. package/coverage/src/concepts/Comment__.ts.html +2 -2
  68. package/coverage/src/concepts/CompletionProperty__.ts.html +2 -2
  69. package/coverage/src/concepts/ConfigGroup__.ts.html +3 -3
  70. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +2 -2
  71. package/coverage/src/concepts/ConfigProperty__.ts.html +3 -3
  72. package/coverage/src/concepts/Configuration__.ts.html +3 -3
  73. package/coverage/src/concepts/Connection__.ts.html +3 -3
  74. package/coverage/src/concepts/ConnectorTrigger__.ts.html +2 -2
  75. package/coverage/src/concepts/Connector__.ts.html +3 -3
  76. package/coverage/src/concepts/Constant__.ts.html +3 -3
  77. package/coverage/src/concepts/CountersignPolicy__.ts.html +2 -2
  78. package/coverage/src/concepts/DataSource__.ts.html +3 -3
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +2 -2
  80. package/coverage/src/concepts/DefaultValue__.ts.html +3 -3
  81. package/coverage/src/concepts/Destination__.ts.html +18 -12
  82. package/coverage/src/concepts/End__.ts.html +8 -5
  83. package/coverage/src/concepts/EntityIndex__.ts.html +2 -2
  84. package/coverage/src/concepts/EntityProperty__.ts.html +3 -3
  85. package/coverage/src/concepts/Entity__.ts.html +10 -4
  86. package/coverage/src/concepts/EnumItem__.ts.html +2 -2
  87. package/coverage/src/concepts/Enum__.ts.html +3 -3
  88. package/coverage/src/concepts/Event__.ts.html +222 -12
  89. package/coverage/src/concepts/ExternalDestination__.ts.html +3 -3
  90. package/coverage/src/concepts/ForEachStatement__.ts.html +3 -3
  91. package/coverage/src/concepts/FrontendLibrary__.ts.html +3 -3
  92. package/coverage/src/concepts/FrontendType__.ts.html +2842 -0
  93. package/coverage/src/concepts/FrontendVariable__.ts.html +2 -2
  94. package/coverage/src/concepts/Frontend__.ts.html +16 -760
  95. package/coverage/src/concepts/Function__.ts.html +3 -3
  96. package/coverage/src/concepts/I18nInfo__.ts.html +2 -2
  97. package/coverage/src/concepts/Identifier__.ts.html +72 -24
  98. package/coverage/src/concepts/IfStatement__.ts.html +3 -3
  99. package/coverage/src/concepts/ImportedInterface__.ts.html +2 -2
  100. package/coverage/src/concepts/Integration__.ts.html +3 -3
  101. package/coverage/src/concepts/InterfaceParam__.ts.html +3 -3
  102. package/coverage/src/concepts/Interface__.ts.html +3 -3
  103. package/coverage/src/concepts/JSBlock__.ts.html +2 -2
  104. package/coverage/src/concepts/JavaLogic__.ts.html +2 -2
  105. package/coverage/src/concepts/LogicItem__.ts.html +6 -3
  106. package/coverage/src/concepts/Logic__.ts.html +70 -31
  107. package/coverage/src/concepts/MatchCase__.ts.html +3 -3
  108. package/coverage/src/concepts/Match__.ts.html +3 -3
  109. package/coverage/src/concepts/MemberExpression__.ts.html +3 -3
  110. package/coverage/src/concepts/MetadataType__.ts.html +3 -3
  111. package/coverage/src/concepts/MicroApp__.ts.html +2 -2
  112. package/coverage/src/concepts/Module__.ts.html +20 -20
  113. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +3 -3
  114. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +3 -3
  115. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +2 -2
  116. package/coverage/src/concepts/Namespace__.ts.html +3 -3
  117. package/coverage/src/concepts/NewComposite__.ts.html +7 -13
  118. package/coverage/src/concepts/NewList__.ts.html +3 -3
  119. package/coverage/src/concepts/NewMap__.ts.html +3 -3
  120. package/coverage/src/concepts/New__.ts.html +2 -2
  121. package/coverage/src/concepts/NullLiteral__.ts.html +2 -2
  122. package/coverage/src/concepts/NumericLiteral__.ts.html +2 -2
  123. package/coverage/src/concepts/OqlQueryComponent__.ts.html +2 -2
  124. package/coverage/src/concepts/OverriddenLogic__.ts.html +3 -3
  125. package/coverage/src/concepts/ParamWithGroup__.ts.html +388 -0
  126. package/coverage/src/concepts/Param__.ts.html +36 -12
  127. package/coverage/src/concepts/Point__.ts.html +2 -2
  128. package/coverage/src/concepts/ProcessComponent__.ts.html +3 -3
  129. package/coverage/src/concepts/ProcessElement__.ts.html +29 -8
  130. package/coverage/src/concepts/ProcessOutcome__.ts.html +2 -2
  131. package/coverage/src/concepts/ProcessOutcomes__.ts.html +2 -2
  132. package/coverage/src/concepts/Process__.ts.html +3 -3
  133. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +2 -2
  134. package/coverage/src/concepts/QueryFieldExpression__.ts.html +2 -2
  135. package/coverage/src/concepts/QueryFromExpression__.ts.html +3 -3
  136. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +2 -2
  137. package/coverage/src/concepts/QueryJoinExpression__.ts.html +3 -3
  138. package/coverage/src/concepts/QueryLimitExpression__.ts.html +2 -2
  139. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +2 -2
  140. package/coverage/src/concepts/QuerySelectExpression__.ts.html +3 -3
  141. package/coverage/src/concepts/Rect__.ts.html +2 -2
  142. package/coverage/src/concepts/Return__.ts.html +35 -11
  143. package/coverage/src/concepts/Role__.ts.html +2 -2
  144. package/coverage/src/concepts/SelectMembers__.ts.html +3 -3
  145. package/coverage/src/concepts/SequentialPolicy__.ts.html +2 -2
  146. package/coverage/src/concepts/Slot__.ts.html +2 -2
  147. package/coverage/src/concepts/SqlQueryComponent__.ts.html +2 -2
  148. package/coverage/src/concepts/Start__.ts.html +2 -2
  149. package/coverage/src/concepts/StaticString__.ts.html +2 -2
  150. package/coverage/src/concepts/StringInterpolation__.ts.html +3 -3
  151. package/coverage/src/concepts/StringLiteral__.ts.html +2 -2
  152. package/coverage/src/concepts/StructureProperty__.ts.html +2 -2
  153. package/coverage/src/concepts/Structure__.ts.html +3 -3
  154. package/coverage/src/concepts/SwitchCase__.ts.html +3 -3
  155. package/coverage/src/concepts/SwitchStatement__.ts.html +3 -3
  156. package/coverage/src/concepts/Theme__.ts.html +2 -2
  157. package/coverage/src/concepts/Transactional__.ts.html +2 -2
  158. package/coverage/src/concepts/TriggerEvent__.ts.html +2 -2
  159. package/coverage/src/concepts/TriggerLauncher__.ts.html +2 -2
  160. package/coverage/src/concepts/TypeAnnotation__.ts.html +14 -14
  161. package/coverage/src/concepts/TypeParam__.ts.html +2 -2
  162. package/coverage/src/concepts/UnaryExpression__.ts.html +2 -2
  163. package/coverage/src/concepts/Unparsed__.ts.html +2 -2
  164. package/coverage/src/concepts/UseComponent__.ts.html +2 -2
  165. package/coverage/src/concepts/ValidationRule__.ts.html +21 -6
  166. package/coverage/src/concepts/Variable__.ts.html +42 -12
  167. package/coverage/src/concepts/ViewBlock__.ts.html +2 -2
  168. package/coverage/src/concepts/ViewComponent__.ts.html +3 -3
  169. package/coverage/src/concepts/ViewElement__.ts.html +522 -48
  170. package/coverage/src/concepts/View__.ts.html +54 -45
  171. package/coverage/src/concepts/WhileStatement__.ts.html +3 -3
  172. package/coverage/src/concepts/basics/constants.ts.html +1 -1
  173. package/coverage/src/concepts/basics/index.html +1 -1
  174. package/coverage/src/concepts/basics/stdlib/index.html +1 -1
  175. package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
  176. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
  177. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
  178. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
  179. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
  180. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
  181. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
  182. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
  183. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
  184. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
  185. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
  186. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
  187. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
  188. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +1 -1
  189. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
  190. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +2 -2
  191. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
  192. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
  193. package/coverage/src/concepts/basics/types/index.html +1 -1
  194. package/coverage/src/concepts/basics/types/index.ts.html +1 -1
  195. package/coverage/src/concepts/index.html +247 -172
  196. package/coverage/src/concepts/index.ts.html +2 -2
  197. package/coverage/src/concepts/index__.ts.html +19 -4
  198. package/coverage/src/concepts/utils/asserts.ts.html +1111 -22
  199. package/coverage/src/concepts/utils/index.html +18 -18
  200. package/coverage/src/concepts/utils/quick-info.ts.html +1 -1
  201. package/coverage/src/concepts/utils/types.ts.html +86 -2
  202. package/coverage/src/config.ts.html +2 -2
  203. package/coverage/src/decorators/index.html +18 -18
  204. package/coverage/src/decorators/index.ts.html +42 -57
  205. package/coverage/src/decorators/promise.ts.html +1 -1
  206. package/coverage/src/eventBus.ts.html +1 -1
  207. package/coverage/src/generator/compileComponent.ts.html +1 -1
  208. package/coverage/src/generator/genBundleFiles.ts.html +89 -35
  209. package/coverage/src/generator/genHash.ts.html +2 -2
  210. package/coverage/src/generator/genMetaData.ts.html +2 -2
  211. package/coverage/src/generator/genReleaseBody.ts.html +46 -13
  212. package/coverage/src/generator/icestark.ts.html +1 -1
  213. package/coverage/src/generator/index.html +30 -30
  214. package/coverage/src/generator/index.ts.html +1 -1
  215. package/coverage/src/generator/microApp.ts.html +1 -1
  216. package/coverage/src/generator/permission.ts.html +16 -10
  217. package/coverage/src/generator/qiankun.ts.html +1 -1
  218. package/coverage/src/generator/styleReplacer.ts.html +1 -1
  219. package/coverage/src/index.html +1 -1
  220. package/coverage/src/index.ts.html +2 -2
  221. package/coverage/src/manager/diagnostic.ts.html +1 -1
  222. package/coverage/src/manager/index.html +1 -1
  223. package/coverage/src/manager/stepRecorder.ts.html +1 -1
  224. package/coverage/src/natural/genNaturalTS.ts.html +1 -1
  225. package/coverage/src/natural/index.html +1 -1
  226. package/coverage/src/natural/index.ts.html +1 -1
  227. package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
  228. package/coverage/src/natural/transformTSCode.ts.html +3 -3
  229. package/coverage/src/sentry/index.html +1 -1
  230. package/coverage/src/sentry/index.ts.html +25 -25
  231. package/coverage/src/server/createUiTs.ts.html +1 -1
  232. package/coverage/src/server/entity2LogicNamespace.ts.html +1 -1
  233. package/coverage/src/server/event.js.html +1 -1
  234. package/coverage/src/server/extendBaseNode.ts.html +99 -30
  235. package/coverage/src/server/formatTsUtils.ts.html +1 -1
  236. package/coverage/src/server/getConnector.ts.html +1 -1
  237. package/coverage/src/server/getExtensionModules.ts.html +1 -1
  238. package/coverage/src/server/getFunctions.ts.html +1 -1
  239. package/coverage/src/server/getInterfaces.ts.html +1 -1
  240. package/coverage/src/server/getLogging.ts.html +1 -1
  241. package/coverage/src/server/getLogics.ts.html +180 -66
  242. package/coverage/src/server/getMemberIdentifier.ts.html +27 -9
  243. package/coverage/src/server/getProcessComponents.ts.html +1 -1
  244. package/coverage/src/server/getProcesses.ts.html +6 -6
  245. package/coverage/src/server/getValidates.ts.html +1 -1
  246. package/coverage/src/server/index.html +44 -44
  247. package/coverage/src/server/index.ts.html +1 -1
  248. package/coverage/src/server/naslServer.ts.html +99 -30
  249. package/coverage/src/server/naslStdlibMap.ts.html +1 -1
  250. package/coverage/src/server/process2LogicNamespace.ts.html +1 -1
  251. package/coverage/src/server/translator.ts.html +23 -5
  252. package/coverage/src/service/creator/add.configs.js.html +1 -1
  253. package/coverage/src/service/creator/errHandles.js.html +1 -1
  254. package/coverage/src/service/creator/index.html +1 -1
  255. package/coverage/src/service/creator/index.js.html +2 -2
  256. package/coverage/src/service/datasource/api.js.html +1 -1
  257. package/coverage/src/service/datasource/index.html +1 -1
  258. package/coverage/src/service/datasource/index.js.html +1 -1
  259. package/coverage/src/service/logic/api.js.html +1 -1
  260. package/coverage/src/service/logic/index.html +1 -1
  261. package/coverage/src/service/logic/index.js.html +1 -1
  262. package/coverage/src/service/storage/api.js.html +1 -1
  263. package/coverage/src/service/storage/index.html +17 -17
  264. package/coverage/src/service/storage/index.ts.html +2 -2
  265. package/coverage/src/service/storage/init.ts.html +100 -13
  266. package/coverage/src/service/storage/jsoner.ts.html +1 -1
  267. package/coverage/src/service/storage/map.ts.html +4 -4
  268. package/coverage/src/service/storage/service.ts.html +1 -1
  269. package/coverage/src/service/storage/storagePoint.ts.html +1 -1
  270. package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
  271. package/coverage/src/templator/genCreateBlock.ts.html +8 -8
  272. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +18 -18
  273. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2477 -305
  274. package/coverage/src/templator/genEditTableBlock.ts.html +2 -2
  275. package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
  276. package/coverage/src/templator/genGetBlock.ts.html +16 -13
  277. package/coverage/src/templator/genGridViewBlock.ts.html +14 -14
  278. package/coverage/src/templator/genListViewBlock.ts.html +6 -6
  279. package/coverage/src/templator/genQueryComponent.ts.html +2 -2
  280. package/coverage/src/templator/genSelectBlock.ts.html +5 -5
  281. package/coverage/src/templator/genTableBlock.ts.html +397 -22
  282. package/coverage/src/templator/genUpdateBlock.ts.html +20 -17
  283. package/coverage/src/templator/index.html +43 -43
  284. package/coverage/src/templator/index.ts.html +2 -2
  285. package/coverage/src/templator/utils.ts.html +3 -3
  286. package/coverage/src/translator/constant.ts.html +1 -1
  287. package/coverage/src/translator/index.html +19 -19
  288. package/coverage/src/translator/index.ts.html +2 -2
  289. package/coverage/src/translator/types.ts.html +1 -1
  290. package/coverage/src/translator/utils.ts.html +110 -17
  291. package/coverage/src/utils/cookie.ts.html +1 -1
  292. package/coverage/src/utils/env.ts.html +2 -2
  293. package/coverage/src/utils/i18nInfo.ts.html +1 -1
  294. package/coverage/src/utils/index.html +19 -19
  295. package/coverage/src/utils/index.ts.html +641 -11
  296. package/coverage/src/utils/logger.ts.html +1 -1
  297. package/coverage/src/utils/sortTsString.ts.html +1 -1
  298. package/coverage/src/utils/string.ts.html +1 -1
  299. package/coverage/src/utils/time-slicing/constant.ts.html +1 -1
  300. package/coverage/src/utils/time-slicing/controller.ts.html +1 -1
  301. package/coverage/src/utils/time-slicing/index.html +1 -1
  302. package/coverage/src/utils/time-slicing/index.ts.html +1 -1
  303. package/coverage/src/utils/time-slicing/page-state.ts.html +1 -1
  304. package/coverage/src/utils/time-slicing/performance.ts.html +1 -1
  305. package/coverage/src/utils/time-slicing/runner.ts.html +1 -1
  306. package/coverage/src/utils/time-slicing/tool.ts.html +1 -1
  307. package/coverage/src/utils/time-slicing/utils.ts.html +1 -1
  308. package/coverage/src/utils/time-slicing/wrapper.ts.html +1 -1
  309. package/coverage/src/utils/traverse.ts.html +1 -1
  310. package/coverage/src/utils/types.ts.html +1 -1
  311. package/coverage/src/utils/window.ts.html +1 -1
  312. package/out/concepts/Destination__.d.ts +1 -1
  313. package/out/concepts/Destination__.js +2 -2
  314. package/out/concepts/Destination__.js.map +1 -1
  315. package/out/concepts/ProcessElement__.js +9 -1
  316. package/out/concepts/ProcessElement__.js.map +1 -1
  317. package/out/concepts/ViewElement__.js +1 -1
  318. package/out/concepts/ViewElement__.js.map +1 -1
  319. package/out/generator/genReleaseBody.d.ts +1 -0
  320. package/out/generator/genReleaseBody.js +6 -5
  321. package/out/generator/genReleaseBody.js.map +1 -1
  322. package/out/server/getProcesses.js +3 -3
  323. package/out/server/getProcesses.js.map +1 -1
  324. package/out/server/naslServer.d.ts +1 -1
  325. package/out/server/naslServer.js +8 -8
  326. package/out/server/naslServer.js.map +1 -1
  327. package/out/service/storage/init.js +3 -0
  328. package/out/service/storage/init.js.map +1 -1
  329. package/package.json +1 -1
  330. package/src/concepts/Destination__.ts +2 -2
  331. package/src/concepts/ProcessElement__.ts +8 -1
  332. package/src/concepts/ViewElement__.ts +1 -1
  333. package/src/generator/genReleaseBody.ts +8 -5
  334. package/src/server/getProcesses.ts +3 -3
  335. package/src/server/naslServer.ts +9 -8
  336. package/src/service/storage/init.ts +4 -0
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">7.53% </span>
26
+ <span class="strong">7.37% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>93/1234</span>
28
+ <span class='fraction'>94/1275</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">1.06% </span>
33
+ <span class="strong">1.04% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/656</span>
35
+ <span class='fraction'>7/672</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">1.34% </span>
40
+ <span class="strong">1.28% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/297</span>
42
+ <span class='fraction'>4/311</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">5.35% </span>
47
+ <span class="strong">5.25% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>60/1121</span>
49
+ <span class='fraction'>61/1161</span>
50
50
  </div>
51
51
 
52
52
 
@@ -4924,13 +4924,113 @@
4924
4924
  <a name='L4859'></a><a href='#L4859'>4859</a>
4925
4925
  <a name='L4860'></a><a href='#L4860'>4860</a>
4926
4926
  <a name='L4861'></a><a href='#L4861'>4861</a>
4927
- <a name='L4862'></a><a href='#L4862'>4862</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1926x</span>
4927
+ <a name='L4862'></a><a href='#L4862'>4862</a>
4928
+ <a name='L4863'></a><a href='#L4863'>4863</a>
4929
+ <a name='L4864'></a><a href='#L4864'>4864</a>
4930
+ <a name='L4865'></a><a href='#L4865'>4865</a>
4931
+ <a name='L4866'></a><a href='#L4866'>4866</a>
4932
+ <a name='L4867'></a><a href='#L4867'>4867</a>
4933
+ <a name='L4868'></a><a href='#L4868'>4868</a>
4934
+ <a name='L4869'></a><a href='#L4869'>4869</a>
4935
+ <a name='L4870'></a><a href='#L4870'>4870</a>
4936
+ <a name='L4871'></a><a href='#L4871'>4871</a>
4937
+ <a name='L4872'></a><a href='#L4872'>4872</a>
4938
+ <a name='L4873'></a><a href='#L4873'>4873</a>
4939
+ <a name='L4874'></a><a href='#L4874'>4874</a>
4940
+ <a name='L4875'></a><a href='#L4875'>4875</a>
4941
+ <a name='L4876'></a><a href='#L4876'>4876</a>
4942
+ <a name='L4877'></a><a href='#L4877'>4877</a>
4943
+ <a name='L4878'></a><a href='#L4878'>4878</a>
4944
+ <a name='L4879'></a><a href='#L4879'>4879</a>
4945
+ <a name='L4880'></a><a href='#L4880'>4880</a>
4946
+ <a name='L4881'></a><a href='#L4881'>4881</a>
4947
+ <a name='L4882'></a><a href='#L4882'>4882</a>
4948
+ <a name='L4883'></a><a href='#L4883'>4883</a>
4949
+ <a name='L4884'></a><a href='#L4884'>4884</a>
4950
+ <a name='L4885'></a><a href='#L4885'>4885</a>
4951
+ <a name='L4886'></a><a href='#L4886'>4886</a>
4952
+ <a name='L4887'></a><a href='#L4887'>4887</a>
4953
+ <a name='L4888'></a><a href='#L4888'>4888</a>
4954
+ <a name='L4889'></a><a href='#L4889'>4889</a>
4955
+ <a name='L4890'></a><a href='#L4890'>4890</a>
4956
+ <a name='L4891'></a><a href='#L4891'>4891</a>
4957
+ <a name='L4892'></a><a href='#L4892'>4892</a>
4958
+ <a name='L4893'></a><a href='#L4893'>4893</a>
4959
+ <a name='L4894'></a><a href='#L4894'>4894</a>
4960
+ <a name='L4895'></a><a href='#L4895'>4895</a>
4961
+ <a name='L4896'></a><a href='#L4896'>4896</a>
4962
+ <a name='L4897'></a><a href='#L4897'>4897</a>
4963
+ <a name='L4898'></a><a href='#L4898'>4898</a>
4964
+ <a name='L4899'></a><a href='#L4899'>4899</a>
4965
+ <a name='L4900'></a><a href='#L4900'>4900</a>
4966
+ <a name='L4901'></a><a href='#L4901'>4901</a>
4967
+ <a name='L4902'></a><a href='#L4902'>4902</a>
4968
+ <a name='L4903'></a><a href='#L4903'>4903</a>
4969
+ <a name='L4904'></a><a href='#L4904'>4904</a>
4970
+ <a name='L4905'></a><a href='#L4905'>4905</a>
4971
+ <a name='L4906'></a><a href='#L4906'>4906</a>
4972
+ <a name='L4907'></a><a href='#L4907'>4907</a>
4973
+ <a name='L4908'></a><a href='#L4908'>4908</a>
4974
+ <a name='L4909'></a><a href='#L4909'>4909</a>
4975
+ <a name='L4910'></a><a href='#L4910'>4910</a>
4976
+ <a name='L4911'></a><a href='#L4911'>4911</a>
4977
+ <a name='L4912'></a><a href='#L4912'>4912</a>
4978
+ <a name='L4913'></a><a href='#L4913'>4913</a>
4979
+ <a name='L4914'></a><a href='#L4914'>4914</a>
4980
+ <a name='L4915'></a><a href='#L4915'>4915</a>
4981
+ <a name='L4916'></a><a href='#L4916'>4916</a>
4982
+ <a name='L4917'></a><a href='#L4917'>4917</a>
4983
+ <a name='L4918'></a><a href='#L4918'>4918</a>
4984
+ <a name='L4919'></a><a href='#L4919'>4919</a>
4985
+ <a name='L4920'></a><a href='#L4920'>4920</a>
4986
+ <a name='L4921'></a><a href='#L4921'>4921</a>
4987
+ <a name='L4922'></a><a href='#L4922'>4922</a>
4988
+ <a name='L4923'></a><a href='#L4923'>4923</a>
4989
+ <a name='L4924'></a><a href='#L4924'>4924</a>
4990
+ <a name='L4925'></a><a href='#L4925'>4925</a>
4991
+ <a name='L4926'></a><a href='#L4926'>4926</a>
4992
+ <a name='L4927'></a><a href='#L4927'>4927</a>
4993
+ <a name='L4928'></a><a href='#L4928'>4928</a>
4994
+ <a name='L4929'></a><a href='#L4929'>4929</a>
4995
+ <a name='L4930'></a><a href='#L4930'>4930</a>
4996
+ <a name='L4931'></a><a href='#L4931'>4931</a>
4997
+ <a name='L4932'></a><a href='#L4932'>4932</a>
4998
+ <a name='L4933'></a><a href='#L4933'>4933</a>
4999
+ <a name='L4934'></a><a href='#L4934'>4934</a>
5000
+ <a name='L4935'></a><a href='#L4935'>4935</a>
5001
+ <a name='L4936'></a><a href='#L4936'>4936</a>
5002
+ <a name='L4937'></a><a href='#L4937'>4937</a>
5003
+ <a name='L4938'></a><a href='#L4938'>4938</a>
5004
+ <a name='L4939'></a><a href='#L4939'>4939</a>
5005
+ <a name='L4940'></a><a href='#L4940'>4940</a>
5006
+ <a name='L4941'></a><a href='#L4941'>4941</a>
5007
+ <a name='L4942'></a><a href='#L4942'>4942</a>
5008
+ <a name='L4943'></a><a href='#L4943'>4943</a>
5009
+ <a name='L4944'></a><a href='#L4944'>4944</a>
5010
+ <a name='L4945'></a><a href='#L4945'>4945</a>
5011
+ <a name='L4946'></a><a href='#L4946'>4946</a>
5012
+ <a name='L4947'></a><a href='#L4947'>4947</a>
5013
+ <a name='L4948'></a><a href='#L4948'>4948</a>
5014
+ <a name='L4949'></a><a href='#L4949'>4949</a>
5015
+ <a name='L4950'></a><a href='#L4950'>4950</a>
5016
+ <a name='L4951'></a><a href='#L4951'>4951</a>
5017
+ <a name='L4952'></a><a href='#L4952'>4952</a>
5018
+ <a name='L4953'></a><a href='#L4953'>4953</a>
5019
+ <a name='L4954'></a><a href='#L4954'>4954</a>
5020
+ <a name='L4955'></a><a href='#L4955'>4955</a>
5021
+ <a name='L4956'></a><a href='#L4956'>4956</a>
5022
+ <a name='L4957'></a><a href='#L4957'>4957</a>
5023
+ <a name='L4958'></a><a href='#L4958'>4958</a>
5024
+ <a name='L4959'></a><a href='#L4959'>4959</a>
5025
+ <a name='L4960'></a><a href='#L4960'>4960</a>
5026
+ <a name='L4961'></a><a href='#L4961'>4961</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1972x</span>
4928
5027
  <span class="cline-any cline-yes">1x</span>
4929
5028
  <span class="cline-any cline-neutral">&nbsp;</span>
4930
5029
  <span class="cline-any cline-neutral">&nbsp;</span>
4931
5030
  <span class="cline-any cline-neutral">&nbsp;</span>
4932
5031
  <span class="cline-any cline-neutral">&nbsp;</span>
4933
5032
  <span class="cline-any cline-neutral">&nbsp;</span>
5033
+ <span class="cline-any cline-neutral">&nbsp;</span>
4934
5034
  <span class="cline-any cline-yes">1x</span>
4935
5035
  <span class="cline-any cline-neutral">&nbsp;</span>
4936
5036
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -4965,6 +5065,11 @@
4965
5065
  <span class="cline-any cline-neutral">&nbsp;</span>
4966
5066
  <span class="cline-any cline-neutral">&nbsp;</span>
4967
5067
  <span class="cline-any cline-neutral">&nbsp;</span>
5068
+ <span class="cline-any cline-neutral">&nbsp;</span>
5069
+ <span class="cline-any cline-neutral">&nbsp;</span>
5070
+ <span class="cline-any cline-neutral">&nbsp;</span>
5071
+ <span class="cline-any cline-neutral">&nbsp;</span>
5072
+ <span class="cline-any cline-neutral">&nbsp;</span>
4968
5073
  <span class="cline-any cline-yes">1x</span>
4969
5074
  <span class="cline-any cline-neutral">&nbsp;</span>
4970
5075
  <span class="cline-any cline-yes">1x</span>
@@ -6393,6 +6498,8 @@
6393
6498
  <span class="cline-any cline-neutral">&nbsp;</span>
6394
6499
  <span class="cline-any cline-no">&nbsp;</span>
6395
6500
  <span class="cline-any cline-no">&nbsp;</span>
6501
+ <span class="cline-any cline-no">&nbsp;</span>
6502
+ <span class="cline-any cline-no">&nbsp;</span>
6396
6503
  <span class="cline-any cline-neutral">&nbsp;</span>
6397
6504
  <span class="cline-any cline-neutral">&nbsp;</span>
6398
6505
  <span class="cline-any cline-no">&nbsp;</span>
@@ -8854,54 +8961,108 @@
8854
8961
  <span class="cline-any cline-neutral">&nbsp;</span>
8855
8962
  <span class="cline-any cline-neutral">&nbsp;</span>
8856
8963
  <span class="cline-any cline-neutral">&nbsp;</span>
8964
+ <span class="cline-any cline-yes">110x</span>
8965
+ <span class="cline-any cline-neutral">&nbsp;</span>
8857
8966
  <span class="cline-any cline-neutral">&nbsp;</span>
8858
- <span class="cline-any cline-yes">255x</span>
8859
8967
  <span class="cline-any cline-neutral">&nbsp;</span>
8860
8968
  <span class="cline-any cline-neutral">&nbsp;</span>
8861
8969
  <span class="cline-any cline-neutral">&nbsp;</span>
8970
+ <span class="cline-any cline-neutral">&nbsp;</span>
8971
+ <span class="cline-any cline-no">&nbsp;</span>
8972
+ <span class="cline-any cline-no">&nbsp;</span>
8862
8973
  <span class="cline-any cline-no">&nbsp;</span>
8863
8974
  <span class="cline-any cline-neutral">&nbsp;</span>
8975
+ <span class="cline-any cline-no">&nbsp;</span>
8976
+ <span class="cline-any cline-neutral">&nbsp;</span>
8977
+ <span class="cline-any cline-neutral">&nbsp;</span>
8978
+ <span class="cline-any cline-neutral">&nbsp;</span>
8864
8979
  <span class="cline-any cline-neutral">&nbsp;</span>
8865
8980
  <span class="cline-any cline-neutral">&nbsp;</span>
8981
+ <span class="cline-any cline-neutral">&nbsp;</span>
8982
+ <span class="cline-any cline-no">&nbsp;</span>
8983
+ <span class="cline-any cline-no">&nbsp;</span>
8866
8984
  <span class="cline-any cline-no">&nbsp;</span>
8867
8985
  <span class="cline-any cline-neutral">&nbsp;</span>
8986
+ <span class="cline-any cline-no">&nbsp;</span>
8987
+ <span class="cline-any cline-neutral">&nbsp;</span>
8988
+ <span class="cline-any cline-neutral">&nbsp;</span>
8989
+ <span class="cline-any cline-neutral">&nbsp;</span>
8990
+ <span class="cline-any cline-neutral">&nbsp;</span>
8991
+ <span class="cline-any cline-neutral">&nbsp;</span>
8868
8992
  <span class="cline-any cline-neutral">&nbsp;</span>
8993
+ <span class="cline-any cline-no">&nbsp;</span>
8994
+ <span class="cline-any cline-no">&nbsp;</span>
8995
+ <span class="cline-any cline-no">&nbsp;</span>
8996
+ <span class="cline-any cline-no">&nbsp;</span>
8997
+ <span class="cline-any cline-no">&nbsp;</span>
8998
+ <span class="cline-any cline-no">&nbsp;</span>
8869
8999
  <span class="cline-any cline-neutral">&nbsp;</span>
8870
9000
  <span class="cline-any cline-no">&nbsp;</span>
8871
9001
  <span class="cline-any cline-neutral">&nbsp;</span>
9002
+ <span class="cline-any cline-neutral">&nbsp;</span>
8872
9003
  <span class="cline-any cline-no">&nbsp;</span>
8873
9004
  <span class="cline-any cline-no">&nbsp;</span>
8874
9005
  <span class="cline-any cline-neutral">&nbsp;</span>
8875
9006
  <span class="cline-any cline-no">&nbsp;</span>
8876
9007
  <span class="cline-any cline-neutral">&nbsp;</span>
9008
+ <span class="cline-any cline-neutral">&nbsp;</span>
8877
9009
  <span class="cline-any cline-no">&nbsp;</span>
8878
9010
  <span class="cline-any cline-no">&nbsp;</span>
8879
9011
  <span class="cline-any cline-neutral">&nbsp;</span>
8880
9012
  <span class="cline-any cline-no">&nbsp;</span>
9013
+ <span class="cline-any cline-neutral">&nbsp;</span>
9014
+ <span class="cline-any cline-neutral">&nbsp;</span>
9015
+ <span class="cline-any cline-neutral">&nbsp;</span>
9016
+ <span class="cline-any cline-neutral">&nbsp;</span>
9017
+ <span class="cline-any cline-neutral">&nbsp;</span>
9018
+ <span class="cline-any cline-neutral">&nbsp;</span>
9019
+ <span class="cline-any cline-neutral">&nbsp;</span>
9020
+ <span class="cline-any cline-neutral">&nbsp;</span>
8881
9021
  <span class="cline-any cline-no">&nbsp;</span>
8882
9022
  <span class="cline-any cline-no">&nbsp;</span>
8883
9023
  <span class="cline-any cline-neutral">&nbsp;</span>
8884
9024
  <span class="cline-any cline-no">&nbsp;</span>
8885
9025
  <span class="cline-any cline-no">&nbsp;</span>
8886
9026
  <span class="cline-any cline-no">&nbsp;</span>
9027
+ <span class="cline-any cline-no">&nbsp;</span>
9028
+ <span class="cline-any cline-no">&nbsp;</span>
8887
9029
  <span class="cline-any cline-neutral">&nbsp;</span>
8888
9030
  <span class="cline-any cline-neutral">&nbsp;</span>
9031
+ <span class="cline-any cline-no">&nbsp;</span>
9032
+ <span class="cline-any cline-no">&nbsp;</span>
9033
+ <span class="cline-any cline-neutral">&nbsp;</span>
9034
+ <span class="cline-any cline-no">&nbsp;</span>
8889
9035
  <span class="cline-any cline-neutral">&nbsp;</span>
8890
9036
  <span class="cline-any cline-neutral">&nbsp;</span>
8891
9037
  <span class="cline-any cline-neutral">&nbsp;</span>
8892
9038
  <span class="cline-any cline-no">&nbsp;</span>
9039
+ <span class="cline-any cline-neutral">&nbsp;</span>
9040
+ <span class="cline-any cline-neutral">&nbsp;</span>
8893
9041
  <span class="cline-any cline-no">&nbsp;</span>
8894
9042
  <span class="cline-any cline-no">&nbsp;</span>
8895
9043
  <span class="cline-any cline-no">&nbsp;</span>
9044
+ <span class="cline-any cline-neutral">&nbsp;</span>
8896
9045
  <span class="cline-any cline-no">&nbsp;</span>
8897
9046
  <span class="cline-any cline-neutral">&nbsp;</span>
9047
+ <span class="cline-any cline-neutral">&nbsp;</span>
8898
9048
  <span class="cline-any cline-no">&nbsp;</span>
8899
9049
  <span class="cline-any cline-neutral">&nbsp;</span>
8900
9050
  <span class="cline-any cline-neutral">&nbsp;</span>
9051
+ <span class="cline-any cline-neutral">&nbsp;</span>
9052
+ <span class="cline-any cline-neutral">&nbsp;</span>
9053
+ <span class="cline-any cline-neutral">&nbsp;</span>
9054
+ <span class="cline-any cline-neutral">&nbsp;</span>
9055
+ <span class="cline-any cline-no">&nbsp;</span>
9056
+ <span class="cline-any cline-no">&nbsp;</span>
9057
+ <span class="cline-any cline-no">&nbsp;</span>
9058
+ <span class="cline-any cline-no">&nbsp;</span>
8901
9059
  <span class="cline-any cline-no">&nbsp;</span>
8902
9060
  <span class="cline-any cline-no">&nbsp;</span>
8903
9061
  <span class="cline-any cline-no">&nbsp;</span>
8904
9062
  <span class="cline-any cline-neutral">&nbsp;</span>
9063
+ <span class="cline-any cline-neutral">&nbsp;</span>
9064
+ <span class="cline-any cline-neutral">&nbsp;</span>
9065
+ <span class="cline-any cline-neutral">&nbsp;</span>
8905
9066
  <span class="cline-any cline-no">&nbsp;</span>
8906
9067
  <span class="cline-any cline-neutral">&nbsp;</span>
8907
9068
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -8909,22 +9070,57 @@
8909
9070
  <span class="cline-any cline-neutral">&nbsp;</span>
8910
9071
  <span class="cline-any cline-neutral">&nbsp;</span>
8911
9072
  <span class="cline-any cline-neutral">&nbsp;</span>
9073
+ <span class="cline-any cline-neutral">&nbsp;</span>
9074
+ <span class="cline-any cline-neutral">&nbsp;</span>
9075
+ <span class="cline-any cline-yes">255x</span>
9076
+ <span class="cline-any cline-neutral">&nbsp;</span>
9077
+ <span class="cline-any cline-neutral">&nbsp;</span>
9078
+ <span class="cline-any cline-neutral">&nbsp;</span>
8912
9079
  <span class="cline-any cline-no">&nbsp;</span>
9080
+ <span class="cline-any cline-neutral">&nbsp;</span>
9081
+ <span class="cline-any cline-neutral">&nbsp;</span>
9082
+ <span class="cline-any cline-neutral">&nbsp;</span>
8913
9083
  <span class="cline-any cline-no">&nbsp;</span>
8914
9084
  <span class="cline-any cline-neutral">&nbsp;</span>
9085
+ <span class="cline-any cline-neutral">&nbsp;</span>
9086
+ <span class="cline-any cline-neutral">&nbsp;</span>
8915
9087
  <span class="cline-any cline-no">&nbsp;</span>
8916
9088
  <span class="cline-any cline-neutral">&nbsp;</span>
9089
+ <span class="cline-any cline-no">&nbsp;</span>
9090
+ <span class="cline-any cline-no">&nbsp;</span>
8917
9091
  <span class="cline-any cline-neutral">&nbsp;</span>
8918
9092
  <span class="cline-any cline-no">&nbsp;</span>
8919
9093
  <span class="cline-any cline-neutral">&nbsp;</span>
9094
+ <span class="cline-any cline-no">&nbsp;</span>
9095
+ <span class="cline-any cline-no">&nbsp;</span>
9096
+ <span class="cline-any cline-neutral">&nbsp;</span>
9097
+ <span class="cline-any cline-no">&nbsp;</span>
9098
+ <span class="cline-any cline-no">&nbsp;</span>
9099
+ <span class="cline-any cline-no">&nbsp;</span>
9100
+ <span class="cline-any cline-neutral">&nbsp;</span>
9101
+ <span class="cline-any cline-no">&nbsp;</span>
9102
+ <span class="cline-any cline-no">&nbsp;</span>
9103
+ <span class="cline-any cline-no">&nbsp;</span>
9104
+ <span class="cline-any cline-neutral">&nbsp;</span>
8920
9105
  <span class="cline-any cline-neutral">&nbsp;</span>
8921
9106
  <span class="cline-any cline-neutral">&nbsp;</span>
9107
+ <span class="cline-any cline-neutral">&nbsp;</span>
9108
+ <span class="cline-any cline-neutral">&nbsp;</span>
9109
+ <span class="cline-any cline-no">&nbsp;</span>
9110
+ <span class="cline-any cline-no">&nbsp;</span>
9111
+ <span class="cline-any cline-no">&nbsp;</span>
9112
+ <span class="cline-any cline-no">&nbsp;</span>
8922
9113
  <span class="cline-any cline-no">&nbsp;</span>
8923
9114
  <span class="cline-any cline-neutral">&nbsp;</span>
9115
+ <span class="cline-any cline-no">&nbsp;</span>
8924
9116
  <span class="cline-any cline-neutral">&nbsp;</span>
8925
9117
  <span class="cline-any cline-neutral">&nbsp;</span>
8926
9118
  <span class="cline-any cline-no">&nbsp;</span>
8927
9119
  <span class="cline-any cline-no">&nbsp;</span>
9120
+ <span class="cline-any cline-no">&nbsp;</span>
9121
+ <span class="cline-any cline-neutral">&nbsp;</span>
9122
+ <span class="cline-any cline-no">&nbsp;</span>
9123
+ <span class="cline-any cline-neutral">&nbsp;</span>
8928
9124
  <span class="cline-any cline-neutral">&nbsp;</span>
8929
9125
  <span class="cline-any cline-neutral">&nbsp;</span>
8930
9126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -8934,6 +9130,8 @@
8934
9130
  <span class="cline-any cline-no">&nbsp;</span>
8935
9131
  <span class="cline-any cline-neutral">&nbsp;</span>
8936
9132
  <span class="cline-any cline-no">&nbsp;</span>
9133
+ <span class="cline-any cline-neutral">&nbsp;</span>
9134
+ <span class="cline-any cline-neutral">&nbsp;</span>
8937
9135
  <span class="cline-any cline-no">&nbsp;</span>
8938
9136
  <span class="cline-any cline-neutral">&nbsp;</span>
8939
9137
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -8941,8 +9139,11 @@
8941
9139
  <span class="cline-any cline-no">&nbsp;</span>
8942
9140
  <span class="cline-any cline-neutral">&nbsp;</span>
8943
9141
  <span class="cline-any cline-neutral">&nbsp;</span>
8944
- <span class="cline-any cline-yes">110x</span>
8945
9142
  <span class="cline-any cline-neutral">&nbsp;</span>
9143
+ <span class="cline-any cline-no">&nbsp;</span>
9144
+ <span class="cline-any cline-no">&nbsp;</span>
9145
+ <span class="cline-any cline-neutral">&nbsp;</span>
9146
+ <span class="cline-any cline-no">&nbsp;</span>
8946
9147
  <span class="cline-any cline-neutral">&nbsp;</span>
8947
9148
  <span class="cline-any cline-neutral">&nbsp;</span>
8948
9149
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -8950,12 +9151,16 @@
8950
9151
  <span class="cline-any cline-neutral">&nbsp;</span>
8951
9152
  <span class="cline-any cline-no">&nbsp;</span>
8952
9153
  <span class="cline-any cline-no">&nbsp;</span>
9154
+ <span class="cline-any cline-neutral">&nbsp;</span>
8953
9155
  <span class="cline-any cline-no">&nbsp;</span>
8954
9156
  <span class="cline-any cline-no">&nbsp;</span>
8955
9157
  <span class="cline-any cline-neutral">&nbsp;</span>
8956
9158
  <span class="cline-any cline-neutral">&nbsp;</span>
8957
9159
  <span class="cline-any cline-neutral">&nbsp;</span>
9160
+ <span class="cline-any cline-no">&nbsp;</span>
9161
+ <span class="cline-any cline-neutral">&nbsp;</span>
8958
9162
  <span class="cline-any cline-neutral">&nbsp;</span>
9163
+ <span class="cline-any cline-yes">110x</span>
8959
9164
  <span class="cline-any cline-neutral">&nbsp;</span>
8960
9165
  <span class="cline-any cline-neutral">&nbsp;</span>
8961
9166
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -8963,10 +9168,12 @@
8963
9168
  <span class="cline-any cline-neutral">&nbsp;</span>
8964
9169
  <span class="cline-any cline-neutral">&nbsp;</span>
8965
9170
  <span class="cline-any cline-no">&nbsp;</span>
9171
+ <span class="cline-any cline-no">&nbsp;</span>
9172
+ <span class="cline-any cline-no">&nbsp;</span>
9173
+ <span class="cline-any cline-no">&nbsp;</span>
8966
9174
  <span class="cline-any cline-neutral">&nbsp;</span>
8967
9175
  <span class="cline-any cline-neutral">&nbsp;</span>
8968
9176
  <span class="cline-any cline-neutral">&nbsp;</span>
8969
- <span class="cline-any cline-no">&nbsp;</span>
8970
9177
  <span class="cline-any cline-neutral">&nbsp;</span>
8971
9178
  <span class="cline-any cline-neutral">&nbsp;</span>
8972
9179
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -8974,8 +9181,12 @@
8974
9181
  <span class="cline-any cline-neutral">&nbsp;</span>
8975
9182
  <span class="cline-any cline-neutral">&nbsp;</span>
8976
9183
  <span class="cline-any cline-neutral">&nbsp;</span>
9184
+ <span class="cline-any cline-no">&nbsp;</span>
9185
+ <span class="cline-any cline-neutral">&nbsp;</span>
8977
9186
  <span class="cline-any cline-neutral">&nbsp;</span>
8978
9187
  <span class="cline-any cline-neutral">&nbsp;</span>
9188
+ <span class="cline-any cline-no">&nbsp;</span>
9189
+ <span class="cline-any cline-neutral">&nbsp;</span>
8979
9190
  <span class="cline-any cline-neutral">&nbsp;</span>
8980
9191
  <span class="cline-any cline-neutral">&nbsp;</span>
8981
9192
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9105,6 +9316,8 @@
9105
9316
  <span class="cline-any cline-neutral">&nbsp;</span>
9106
9317
  <span class="cline-any cline-neutral">&nbsp;</span>
9107
9318
  <span class="cline-any cline-neutral">&nbsp;</span>
9319
+ <span class="cline-any cline-neutral">&nbsp;</span>
9320
+ <span class="cline-any cline-neutral">&nbsp;</span>
9108
9321
  <span class="cline-any cline-no">&nbsp;</span>
9109
9322
  <span class="cline-any cline-neutral">&nbsp;</span>
9110
9323
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9114,6 +9327,8 @@
9114
9327
  <span class="cline-any cline-neutral">&nbsp;</span>
9115
9328
  <span class="cline-any cline-neutral">&nbsp;</span>
9116
9329
  <span class="cline-any cline-neutral">&nbsp;</span>
9330
+ <span class="cline-any cline-neutral">&nbsp;</span>
9331
+ <span class="cline-any cline-neutral">&nbsp;</span>
9117
9332
  <span class="cline-any cline-no">&nbsp;</span>
9118
9333
  <span class="cline-any cline-no">&nbsp;</span>
9119
9334
  <span class="cline-any cline-no">&nbsp;</span>
@@ -9281,32 +9496,16 @@
9281
9496
  <span class="cline-any cline-no">&nbsp;</span>
9282
9497
  <span class="cline-any cline-no">&nbsp;</span>
9283
9498
  <span class="cline-any cline-no">&nbsp;</span>
9284
- <span class="cline-any cline-no">&nbsp;</span>
9285
- <span class="cline-any cline-neutral">&nbsp;</span>
9286
- <span class="cline-any cline-neutral">&nbsp;</span>
9287
- <span class="cline-any cline-no">&nbsp;</span>
9288
- <span class="cline-any cline-no">&nbsp;</span>
9289
- <span class="cline-any cline-neutral">&nbsp;</span>
9290
- <span class="cline-any cline-no">&nbsp;</span>
9291
- <span class="cline-any cline-no">&nbsp;</span>
9292
- <span class="cline-any cline-no">&nbsp;</span>
9293
9499
  <span class="cline-any cline-neutral">&nbsp;</span>
9294
9500
  <span class="cline-any cline-neutral">&nbsp;</span>
9295
9501
  <span class="cline-any cline-neutral">&nbsp;</span>
9296
9502
  <span class="cline-any cline-neutral">&nbsp;</span>
9297
9503
  <span class="cline-any cline-no">&nbsp;</span>
9298
- <span class="cline-any cline-neutral">&nbsp;</span>
9299
- <span class="cline-any cline-neutral">&nbsp;</span>
9300
- <span class="cline-any cline-neutral">&nbsp;</span>
9301
- <span class="cline-any cline-no">&nbsp;</span>
9302
- <span class="cline-any cline-no">&nbsp;</span>
9303
- <span class="cline-any cline-neutral">&nbsp;</span>
9304
- <span class="cline-any cline-neutral">&nbsp;</span>
9305
- <span class="cline-any cline-neutral">&nbsp;</span>
9306
9504
  <span class="cline-any cline-no">&nbsp;</span>
9307
9505
  <span class="cline-any cline-no">&nbsp;</span>
9308
9506
  <span class="cline-any cline-no">&nbsp;</span>
9309
9507
  <span class="cline-any cline-neutral">&nbsp;</span>
9508
+ <span class="cline-any cline-neutral">&nbsp;</span>
9310
9509
  <span class="cline-any cline-no">&nbsp;</span>
9311
9510
  <span class="cline-any cline-neutral">&nbsp;</span>
9312
9511
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9319,7 +9518,6 @@
9319
9518
  <span class="cline-any cline-neutral">&nbsp;</span>
9320
9519
  <span class="cline-any cline-neutral">&nbsp;</span>
9321
9520
  <span class="cline-any cline-neutral">&nbsp;</span>
9322
- <span class="cline-any cline-no">&nbsp;</span>
9323
9521
  <span class="cline-any cline-neutral">&nbsp;</span>
9324
9522
  <span class="cline-any cline-neutral">&nbsp;</span>
9325
9523
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9787,15 +9985,14 @@
9787
9985
  <span class="cline-any cline-neutral">&nbsp;</span>
9788
9986
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { queryNodeByPath } from '../service/storage/jsoner';
9789
9987
  import { getNaslNodeByNodeCallee, getNodeByNodeCallee } from '../automate/engine/utils';
9790
- import ConfigProperty from './ConfigProperty__';
9791
- import TypeAnnotation from './TypeAnnotation__';
9792
- import View from './View__';
9793
- import AuthInterface from './AuthInterface__';
9794
- import Interface from './Interface__';
9988
+ import type ConfigProperty from './ConfigProperty__';
9989
+ import type TypeAnnotation from './TypeAnnotation__';
9990
+ import type View from './View__';
9991
+ import type AuthInterface from './AuthInterface__';
9992
+ import type Interface from './Interface__';
9993
+ import type Frontend from './Frontend__';
9795
9994
  import { CUSTOM_CONNECTOR_EDITABLE_SUFFIX } from './basics/constants';
9796
9995
  &nbsp;
9797
- // import CallLogic from './CallLogic__';
9798
- &nbsp;
9799
9996
  export interface AssetsInfo {
9800
9997
  js: Array&lt;string&gt;;
9801
9998
  css: Array&lt;string&gt;;
@@ -9821,12 +10018,19 @@ interface compilerInfoMapProps {
9821
10018
  js?: { prefix: string };
9822
10019
  }
9823
10020
  &nbsp;
10021
+ type composeCacheType = {
10022
+ [key: string]: composeCacheType,
10023
+ } &amp; {
10024
+ nodes?: any[];
10025
+ };
10026
+ &nbsp;
10027
+ &nbsp;
9824
10028
  //================================================================================
9825
10029
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
9826
10030
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
9827
10031
  //================================================================================
9828
10032
  import { EventPayload, Params } from '../common/EventEmitter';
9829
- import { concept, excludedInJSON, property, getConceptConstructor, getBaseNode } from '../decorators';
10033
+ import { concept, excludedInJSON, property, getConceptConstructor } from '../decorators';
9830
10034
  &nbsp;
9831
10035
  import * as utils from '../utils';
9832
10036
  import * as types from './utils/types';
@@ -9839,7 +10043,7 @@ import type Enum from './Enum__';
9839
10043
  import type Logic from './Logic__';
9840
10044
  import type OverriddenLogic from './OverriddenLogic__';
9841
10045
  import type AbstractInterface from './AbstractInterface__';
9842
- import type Frontend from './Frontend__';
10046
+ import type FrontendType from './FrontendType__';
9843
10047
  import Backend from './Backend__';
9844
10048
  import type Process from './Process__';
9845
10049
  import type Role from './Role__';
@@ -9986,14 +10190,14 @@ export class App extends BaseNode {
9986
10190
  interfaces: Array&lt;AbstractInterface&gt; = [];
9987
10191
  &nbsp;
9988
10192
  /**
9989
- * 前端列表
10193
+ * 端类型列表
9990
10194
  */
9991
10195
  @property({
9992
- objectRef: 'Frontend',
10196
+ objectRef: 'FrontendType',
9993
10197
  isArray: true,
9994
10198
  defaultValue: [],
9995
10199
  })
9996
- frontends: Array&lt;Frontend&gt; = [];
10200
+ frontendTypes: Array&lt;FrontendType&gt; = [];
9997
10201
  &nbsp;
9998
10202
  /**
9999
10203
  * 后端
@@ -11251,156 +11455,158 @@ export class App extends BaseNode {
11251
11455
  <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getAbstractInterfaceExistingNames(), undefined, true);</span>
11252
11456
  }
11253
11457
  &nbsp;
11254
- <span class="fstat-no" title="function not covered" > getFrontendExistingNames(e</span>xcludedList: Array&lt;Frontend&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[]) {</span>
11458
+ <span class="fstat-no" title="function not covered" > getFrontendTypeExistingNames(e</span>xcludedList: Array&lt;FrontendType&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[]) {</span>
11255
11459
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
11256
- <span class="cstat-no" title="statement not covered" > return ((this.frontends as Frontend[]) || []).filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >!</span>excludedSet.has(item))</span>.map((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem?.name)</span>;</span>
11460
+ <span class="cstat-no" title="statement not covered" > return ((this.frontendTypes as FrontendType[]) || [])</span>
11461
+ .filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >!</span>excludedSet.has(item))</span>
11462
+ .map((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem?.name)</span>;
11257
11463
  }
11258
- <span class="fstat-no" title="function not covered" > getFrontendUniqueName(n</span>ame = <span class="branch-0 cbranch-no" title="branch not covered" >'frontend1') {</span>
11259
- <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getFrontendExistingNames(), undefined, true);</span>
11464
+ <span class="fstat-no" title="function not covered" > getFrontendTypeUniqueName(n</span>ame = <span class="branch-0 cbranch-no" title="branch not covered" >'frontendType1') {</span>
11465
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getFrontendTypeExistingNames(), undefined, true);</span>
11260
11466
  }
11261
11467
  &nbsp;
11262
11468
  /**
11263
- * 插入前端
11469
+ * 插入端类型
11264
11470
  * @internal
11265
- * @param name 前端名称,如果不填会自动生成一个唯一名称
11471
+ * @param name 端类型名称,如果不填会自动生成一个唯一名称
11266
11472
  */
11267
- _insertFrontendAt(name: string, index: number): Frontend;
11473
+ _insertFrontendTypeAt(name: string, index: number): FrontendType;
11268
11474
  &nbsp;
11269
11475
  /**
11270
- * 插入前端
11476
+ * 插入端类型
11271
11477
  * @internal
11272
- * @param frontendOptions 前端参数
11478
+ * @param frontendTypeOptions 端类型参数
11273
11479
  */
11274
- _insertFrontendAt(frontendOptions: Partial&lt;Frontend&gt;, index: number): Frontend;
11480
+ _insertFrontendTypeAt(frontendTypeOptions: Partial&lt;FrontendType&gt;, index: number): FrontendType;
11275
11481
  &nbsp;
11276
11482
  /**
11277
- * 插入前端
11483
+ * 插入端类型
11278
11484
  * @internal
11279
- * @param frontend 已有的前端实例
11485
+ * @param frontendType 已有的端类型实例
11280
11486
  */
11281
- _insertFrontendAt(frontend: Frontend, index: number): Frontend;
11487
+ _insertFrontendTypeAt(frontendType: FrontendType, index: number): FrontendType;
11282
11488
  &nbsp;
11283
- <span class="fstat-no" title="function not covered" > _insertFrontendAt(o</span>ptions: string | Partial&lt;Frontend&gt; | Frontend, index: number) {
11284
- const frontendOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
11285
- const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'frontends' };</span>
11286
- const <span class="cstat-no" title="statement not covered" >Frontend = getConceptConstructor('Frontend');</span>
11287
- let frontend: Frontend;
11489
+ <span class="fstat-no" title="function not covered" > _insertFrontendTypeAt(o</span>ptions: string | Partial&lt;FrontendType&gt; | FrontendType, index: number) {
11490
+ const frontendTypeOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
11491
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'frontendTypes' };</span>
11492
+ const <span class="cstat-no" title="statement not covered" >FrontendType = getConceptConstructor('FrontendType');</span>
11493
+ let frontendType: FrontendType;
11288
11494
  <span class="cstat-no" title="statement not covered" > if (!options) {</span>
11289
- <span class="cstat-no" title="statement not covered" > frontend = Frontend.from(</span>
11495
+ <span class="cstat-no" title="statement not covered" > frontendType = FrontendType.from(</span>
11290
11496
  {
11291
- ...frontendOptions,
11292
- name: this.getFrontendUniqueName(),
11497
+ ...frontendTypeOptions,
11498
+ name: this.getFrontendTypeUniqueName(),
11293
11499
  },
11294
11500
  this,
11295
- 'frontends',
11501
+ 'frontendTypes',
11296
11502
  );
11297
11503
  <span class="cstat-no" title="statement not covered" > } else if (typeof options === 'string') {</span>
11298
- <span class="cstat-no" title="statement not covered" > frontend = Frontend.from(</span>
11504
+ <span class="cstat-no" title="statement not covered" > frontendType = FrontendType.from(</span>
11299
11505
  {
11300
- ...frontendOptions,
11506
+ ...frontendTypeOptions,
11301
11507
  name: options,
11302
11508
  },
11303
11509
  this,
11304
- 'frontends',
11510
+ 'frontendTypes',
11305
11511
  );
11306
- <span class="cstat-no" title="statement not covered" > } else if (asserts.isFrontend(options)) {</span>
11512
+ <span class="cstat-no" title="statement not covered" > } else if (asserts.isFrontendType(options)) {</span>
11307
11513
  <span class="cstat-no" title="statement not covered" > options.ensureDelete(); // 同一实例不支持多处存在</span>
11308
- <span class="cstat-no" title="statement not covered" > frontend = options;</span>
11309
- <span class="cstat-no" title="statement not covered" > Object.assign(frontend, relationOptions);</span>
11514
+ <span class="cstat-no" title="statement not covered" > frontendType = options;</span>
11515
+ <span class="cstat-no" title="statement not covered" > Object.assign(frontendType, relationOptions);</span>
11310
11516
  } else {
11311
- <span class="cstat-no" title="statement not covered" > frontend = Frontend.from(</span>
11517
+ <span class="cstat-no" title="statement not covered" > frontendType = FrontendType.from(</span>
11312
11518
  {
11313
- ...frontendOptions,
11519
+ ...frontendTypeOptions,
11314
11520
  ...options,
11315
11521
  },
11316
11522
  this,
11317
- 'frontends',
11523
+ 'frontendTypes',
11318
11524
  );
11319
11525
  }
11320
- <span class="cstat-no" title="statement not covered" > this.frontends.splice(index, 0, frontend);</span>
11321
- <span class="cstat-no" title="statement not covered" > return frontend;</span>
11526
+ <span class="cstat-no" title="statement not covered" > this.frontendTypes.splice(index, 0, frontendType);</span>
11527
+ <span class="cstat-no" title="statement not covered" > return frontendType;</span>
11322
11528
  }
11323
11529
  &nbsp;
11324
11530
  /**
11325
- * 插入前端
11326
- * @param name 前端名称,如果不填会自动生成一个唯一名称
11531
+ * 插入端类型
11532
+ * @param name 端类型名称,如果不填会自动生成一个唯一名称
11327
11533
  */
11328
- insertFrontendAt(name: string, index: number): Frontend;
11534
+ insertFrontendTypeAt(name: string, index: number): FrontendType;
11329
11535
  &nbsp;
11330
11536
  /**
11331
- * 插入前端
11332
- * @param frontendOptions 前端参数
11537
+ * 插入端类型
11538
+ * @param frontendTypeOptions 端类型参数
11333
11539
  */
11334
- insertFrontendAt(frontendOptions: Partial&lt;Frontend&gt;, index: number): Frontend;
11540
+ insertFrontendTypeAt(frontendTypeOptions: Partial&lt;FrontendType&gt;, index: number): FrontendType;
11335
11541
  &nbsp;
11336
11542
  /**
11337
- * 插入前端
11338
- * @param frontend 已有的前端实例
11543
+ * 插入端类型
11544
+ * @param frontendType 已有的端类型实例
11339
11545
  */
11340
- insertFrontendAt(frontend: Frontend, index: number): Frontend;
11546
+ insertFrontendTypeAt(frontendType: FrontendType, index: number): FrontendType;
11341
11547
  &nbsp;
11342
- <span class="fstat-no" title="function not covered" > insertFrontendAt(o</span>ptions: string | Partial&lt;Frontend&gt; | Frontend, index: number) {
11343
- const node = <span class="cstat-no" title="statement not covered" >this._insertFrontendAt(options as any, index);</span>
11548
+ <span class="fstat-no" title="function not covered" > insertFrontendTypeAt(o</span>ptions: string | Partial&lt;FrontendType&gt; | FrontendType, index: number) {
11549
+ const node = <span class="cstat-no" title="statement not covered" >this._insertFrontendTypeAt(options as any, index);</span>
11344
11550
  <span class="cstat-no" title="statement not covered" > node.create({</span>
11345
11551
  index,
11346
11552
  parentNode: this,
11347
- parentKey: 'frontends',
11553
+ parentKey: 'frontendTypes',
11348
11554
  });
11349
11555
  <span class="cstat-no" title="statement not covered" > return node;</span>
11350
11556
  }
11351
11557
  &nbsp;
11352
11558
  /**
11353
- * 添加前端
11559
+ * 添加端类型
11354
11560
  * @internal
11355
- * @param name 前端名称,如果不填会自动生成一个唯一名称
11561
+ * @param name 端类型名称,如果不填会自动生成一个唯一名称
11356
11562
  */
11357
- _addFrontend(name?: string): Frontend;
11563
+ _addFrontendType(name?: string): FrontendType;
11358
11564
  &nbsp;
11359
11565
  /**
11360
- * 添加前端
11566
+ * 添加端类型
11361
11567
  * @internal
11362
- * @param frontendOptions 前端参数
11568
+ * @param frontendTypeOptions 端类型参数
11363
11569
  */
11364
- _addFrontend(frontendOptions: Partial&lt;Frontend&gt;): Frontend;
11570
+ _addFrontendType(frontendTypeOptions: Partial&lt;FrontendType&gt;): FrontendType;
11365
11571
  &nbsp;
11366
11572
  /**
11367
- * 添加前端
11573
+ * 添加端类型
11368
11574
  * @internal
11369
- * @param frontend 已有的前端实例
11575
+ * @param frontendType 已有的端类型实例
11370
11576
  */
11371
- _addFrontend(frontend: Frontend): Frontend;
11577
+ _addFrontendType(frontendType: FrontendType): FrontendType;
11372
11578
  &nbsp;
11373
- <span class="fstat-no" title="function not covered" > _addFrontend(o</span>ptions?: string | Partial&lt;Frontend&gt; | Frontend) {
11374
- const index = <span class="cstat-no" title="statement not covered" >this.frontends.length;</span>
11375
- <span class="cstat-no" title="statement not covered" > return this._insertFrontendAt(options as any, index);</span>
11579
+ <span class="fstat-no" title="function not covered" > _addFrontendType(o</span>ptions?: string | Partial&lt;FrontendType&gt; | FrontendType) {
11580
+ const index = <span class="cstat-no" title="statement not covered" >this.frontendTypes.length;</span>
11581
+ <span class="cstat-no" title="statement not covered" > return this._insertFrontendTypeAt(options as any, index);</span>
11376
11582
  }
11377
11583
  &nbsp;
11378
11584
  /**
11379
- * 添加前端
11585
+ * 添加端类型
11380
11586
  * @internal
11381
- * @param name 前端名称,如果不填会自动生成一个唯一名称
11587
+ * @param name 端类型名称,如果不填会自动生成一个唯一名称
11382
11588
  */
11383
- addFrontend(name?: string): Frontend;
11589
+ addFrontendType(name?: string): FrontendType;
11384
11590
  &nbsp;
11385
11591
  /**
11386
- * 添加前端
11387
- * @param frontendOptions 前端参数
11592
+ * 添加端类型
11593
+ * @param frontendTypeOptions 端类型参数
11388
11594
  */
11389
- addFrontend(frontendOptions: Partial&lt;Frontend&gt;): Frontend;
11595
+ addFrontendType(frontendTypeOptions: Partial&lt;FrontendType&gt;): FrontendType;
11390
11596
  &nbsp;
11391
11597
  /**
11392
- * 添加前端
11393
- * @param frontend 已有的前端实例
11598
+ * 添加端类型
11599
+ * @param frontendType 已有的端类型实例
11394
11600
  */
11395
- addFrontend(frontend: Frontend): Frontend;
11601
+ addFrontendType(frontendType: FrontendType): FrontendType;
11396
11602
  &nbsp;
11397
- <span class="fstat-no" title="function not covered" > addFrontend(o</span>ptions?: string | Partial&lt;Frontend&gt; | Frontend) {
11398
- const node = <span class="cstat-no" title="statement not covered" >this._addFrontend(options as any);</span>
11399
- const index = <span class="cstat-no" title="statement not covered" >this.frontends.indexOf(node);</span>
11603
+ <span class="fstat-no" title="function not covered" > addFrontendType(o</span>ptions?: string | Partial&lt;FrontendType&gt; | FrontendType) {
11604
+ const node = <span class="cstat-no" title="statement not covered" >this._addFrontendType(options as any);</span>
11605
+ const index = <span class="cstat-no" title="statement not covered" >this.frontendTypes.indexOf(node);</span>
11400
11606
  <span class="cstat-no" title="statement not covered" > node.create({</span>
11401
11607
  index,
11402
11608
  parentNode: this,
11403
- parentKey: 'frontends',
11609
+ parentKey: 'frontendTypes',
11404
11610
  });
11405
11611
  <span class="cstat-no" title="statement not covered" > return node;</span>
11406
11612
  }
@@ -13018,45 +13224,45 @@ export class App extends BaseNode {
13018
13224
  }
13019
13225
  &nbsp;
13020
13226
  /**
13021
- * 删除前端
13022
- * @param name 前端名称
13227
+ * 删除端类型
13228
+ * @param name 端类型名称
13023
13229
  */
13024
- removeFrontend(name: string): void;
13230
+ removeFrontendType(name: string): void;
13025
13231
  &nbsp;
13026
13232
  /**
13027
- * 删除前端
13028
- * @param frontend 已有的前端实例
13233
+ * 删除端类型
13234
+ * @param frontendType 已有的端类型实例
13029
13235
  */
13030
- removeFrontend(frontend: Frontend): void;
13236
+ removeFrontendType(frontendType: FrontendType): void;
13031
13237
  &nbsp;
13032
- <span class="fstat-no" title="function not covered" > removeFrontend(o</span>ptions: string | Frontend) {
13033
- let frontend: Frontend;
13238
+ <span class="fstat-no" title="function not covered" > removeFrontendType(o</span>ptions: string | FrontendType) {
13239
+ let frontendType: FrontendType;
13034
13240
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
13035
- <span class="cstat-no" title="statement not covered" > frontend = (this.frontends as Frontend[]).find((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === options)</span>;</span>
13036
- <span class="cstat-no" title="statement not covered" > if (!frontend) {</span>
13037
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到前端 ' + options);</span>
13241
+ <span class="cstat-no" title="statement not covered" > frontendType = (this.frontendTypes as FrontendType[]).find((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === options)</span>;</span>
13242
+ <span class="cstat-no" title="statement not covered" > if (!frontendType) {</span>
13243
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到端类型 ' + options);</span>
13038
13244
  }
13039
13245
  } else {
13040
- <span class="cstat-no" title="statement not covered" > frontend = options;</span>
13246
+ <span class="cstat-no" title="statement not covered" > frontendType = options;</span>
13041
13247
  }
13042
- <span class="cstat-no" title="statement not covered" > return frontend.delete();</span>
13248
+ <span class="cstat-no" title="statement not covered" > return frontendType.delete();</span>
13043
13249
  }
13044
13250
  &nbsp;
13045
- <span class="fstat-no" title="function not covered" > __removeFrontend(f</span>rontend: Frontend) {
13046
- const parentKey = <span class="cstat-no" title="statement not covered" >frontend.parentKey;</span>
13251
+ <span class="fstat-no" title="function not covered" > __removeFrontendType(f</span>rontendType: FrontendType) {
13252
+ const parentKey = <span class="cstat-no" title="statement not covered" >frontendType.parentKey;</span>
13047
13253
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
13048
13254
  parentNode: this,
13049
13255
  parentKey,
13050
13256
  index: -1,
13051
13257
  object: null,
13052
- oldObject: frontend,
13258
+ oldObject: frontendType,
13053
13259
  };
13054
13260
  <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
13055
13261
  <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
13056
13262
  // @ts-ignore
13057
13263
  const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
13058
13264
  // @ts-ignore
13059
- const n = <span class="cstat-no" title="statement not covered" >frontend.__v_raw || frontend;</span>
13265
+ const n = <span class="cstat-no" title="statement not covered" >frontendType.__v_raw || frontendType;</span>
13060
13266
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
13061
13267
  // @ts-ignore
13062
13268
  const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex((<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >el) =&gt; (e</span>l.__v_raw || el) === n)</span>;</span>
@@ -13711,6 +13917,116 @@ export class App extends BaseNode {
13711
13917
  */
13712
13918
  @property()
13713
13919
  preferenceMap: Record&lt;string, string&gt; = {};
13920
+ &nbsp;
13921
+ /**
13922
+ * 组合节点缓存
13923
+ */
13924
+ composeCache: composeCacheType = {};
13925
+ &nbsp;
13926
+ &nbsp;
13927
+ /**
13928
+ * 获取组合节点
13929
+ */
13930
+ <span class="fstat-no" title="function not covered" > getCompose(p</span>ath: string[]) {
13931
+ let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
13932
+ <span class="cstat-no" title="statement not covered" > path.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
13933
+ <span class="cstat-no" title="statement not covered" > compose = compose?.[key];</span>
13934
+ });
13935
+ <span class="cstat-no" title="statement not covered" > return compose || null;</span>
13936
+ }
13937
+ &nbsp;
13938
+ /**
13939
+ * 获取组合节点
13940
+ */
13941
+ <span class="fstat-no" title="function not covered" > getComposeNodes(p</span>ath: string[]) {
13942
+ let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
13943
+ <span class="cstat-no" title="statement not covered" > path.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
13944
+ <span class="cstat-no" title="statement not covered" > compose = compose?.[key];</span>
13945
+ });
13946
+ <span class="cstat-no" title="statement not covered" > return compose?.nodes || [];</span>
13947
+ }
13948
+ &nbsp;
13949
+ /**
13950
+ * 往组合内添加节点
13951
+ */
13952
+ <span class="fstat-no" title="function not covered" > addComposeNodes(p</span>ath: string[], node: BaseNode | BaseNode[]) {
13953
+ let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
13954
+ <span class="cstat-no" title="statement not covered" > path.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) =&gt; {</span>
13955
+ <span class="cstat-no" title="statement not covered" > if (index === path.length - 1) {</span>
13956
+ <span class="cstat-no" title="statement not covered" > if (compose?.[key]?.nodes) {</span>
13957
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(node)) {</span>
13958
+ <span class="cstat-no" title="statement not covered" > compose[key].nodes.push(...node);</span>
13959
+ } else {
13960
+ <span class="cstat-no" title="statement not covered" > compose[key].nodes.push(node);</span>
13961
+ }
13962
+ } else {
13963
+ <span class="cstat-no" title="statement not covered" > if (!compose?.[key]) {</span>
13964
+ <span class="cstat-no" title="statement not covered" > compose[key] = {};</span>
13965
+ }
13966
+ <span class="cstat-no" title="statement not covered" > compose[key].nodes = Array.isArray(node) ? node : [node];</span>
13967
+ }
13968
+ } else {
13969
+ <span class="cstat-no" title="statement not covered" > if (!compose?.[key]) {</span>
13970
+ <span class="cstat-no" title="statement not covered" > compose[key] = {};</span>
13971
+ }
13972
+ <span class="cstat-no" title="statement not covered" > compose = compose[key];</span>
13973
+ }
13974
+ });
13975
+ }
13976
+ &nbsp;
13977
+ /**
13978
+ * 删除分组, 包括子集
13979
+ */
13980
+ <span class="fstat-no" title="function not covered" > deleteCompose(p</span>ath: string[]) {
13981
+ <span class="cstat-no" title="statement not covered" > if (!Array.isArray(path)) <span class="cstat-no" title="statement not covered" >return;</span></span>
13982
+ let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
13983
+ &nbsp;
13984
+ const delNodes = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >_</span>compose: composeCacheType) =&gt; {</span>
13985
+ <span class="cstat-no" title="statement not covered" > if (_compose?.nodes) {</span>
13986
+ <span class="cstat-no" title="statement not covered" > for(let key in _compose) {</span>
13987
+ <span class="cstat-no" title="statement not covered" > if (key !== 'nodes') {</span>
13988
+ <span class="cstat-no" title="statement not covered" > delNodes(_compose[key]);</span>
13989
+ }
13990
+ }
13991
+ <span class="cstat-no" title="statement not covered" > _compose.nodes.forEach((<span class="fstat-no" title="function not covered" >node) =&gt; {</span></span>
13992
+ <span class="cstat-no" title="statement not covered" > node.delete();</span>
13993
+ })
13994
+ <span class="cstat-no" title="statement not covered" > _compose.nodes = [];</span>
13995
+ }
13996
+ }
13997
+ &nbsp;
13998
+ <span class="cstat-no" title="statement not covered" > this.emit('collect:start', {</span>
13999
+ actionMsg: '删除同一分组节点',
14000
+ });
14001
+ <span class="cstat-no" title="statement not covered" > path.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) =&gt; {</span>
14002
+ <span class="cstat-no" title="statement not covered" > if (index === path.length - 1) {</span>
14003
+ <span class="cstat-no" title="statement not covered" > delNodes(compose?.[key]);</span>
14004
+ } else {
14005
+ <span class="cstat-no" title="statement not covered" > compose = compose[key];</span>
14006
+ }
14007
+ });
14008
+ <span class="cstat-no" title="statement not covered" > this.emit('collect:end');</span>
14009
+ }
14010
+ &nbsp;
14011
+ /**
14012
+ * 释放分组内所有节点
14013
+ */
14014
+ <span class="fstat-no" title="function not covered" > releaseComposeNode(p</span>ath: string[]) {
14015
+ <span class="cstat-no" title="statement not covered" > if (!Array.isArray(path)) <span class="cstat-no" title="statement not covered" >return;</span></span>
14016
+ let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
14017
+ <span class="cstat-no" title="statement not covered" > path.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) =&gt; {</span>
14018
+ <span class="cstat-no" title="statement not covered" > if (index === path.length - 1) {</span>
14019
+ const nodes = <span class="cstat-no" title="statement not covered" >compose?.[key]?.nodes || [];</span>
14020
+ <span class="cstat-no" title="statement not covered" > nodes.forEach((<span class="fstat-no" title="function not covered" >node) =&gt; {</span></span>
14021
+ <span class="cstat-no" title="statement not covered" > node.update({</span>
14022
+ composedBy: [],
14023
+ });
14024
+ })
14025
+ } else {
14026
+ <span class="cstat-no" title="statement not covered" > compose = compose[key];</span>
14027
+ }
14028
+ });
14029
+ }
13714
14030
  &nbsp;
13715
14031
  /**
13716
14032
  * 获取命名空间
@@ -13757,7 +14073,7 @@ export class App extends BaseNode {
13757
14073
  <span class="cstat-no" title="statement not covered" > node = modules.find((<span class="fstat-no" title="function not covered" >moduleItem) =&gt; <span class="cstat-no" title="statement not covered" >m</span>oduleItem.name === moduleName &amp;&amp; moduleItem?.parentNode?.concept === 'Integration')</span>;</span>
13758
14074
  } else {
13759
14075
  <span class="cstat-no" title="statement not covered" > node = modules.find((<span class="fstat-no" title="function not covered" >moduleItem) =&gt; <span class="cstat-no" title="statement not covered" >m</span>oduleItem.name === moduleName)</span>;</span>
13760
- }
14076
+ }
13761
14077
  }
13762
14078
  <span class="cstat-no" title="statement not covered" > for (let index = <span class="cstat-no" title="statement not covered" >0; i</span>ndex &lt; nameArr.length; index++) {</span>
13763
14079
  <span class="cstat-no" title="statement not covered" > if (!node) {</span>
@@ -13784,21 +14100,23 @@ export class App extends BaseNode {
13784
14100
  }
13785
14101
  &nbsp;
13786
14102
  <span class="fstat-no" title="function not covered" > loadPackageInfo(s</span>cope: string) {
13787
- const dependencyMap = (<span class="cstat-no" title="statement not covered" >window as any).globalData.ideVersionDetail.dependencies;</span>
14103
+ const materialConfig = (<span class="cstat-no" title="statement not covered" >window as any).globalData.materialConfig || {};</span>
14104
+ const { framework, ui } = <span class="cstat-no" title="statement not covered" >materialConfig;</span>
14105
+ &nbsp;
13788
14106
  const packageInfo = <span class="cstat-no" title="statement not covered" >{</span>
13789
14107
  template: { name: '', version: '', scope },
13790
14108
  ui: { name: '', version: '', scope },
13791
14109
  scope,
13792
14110
  };
13793
14111
  &nbsp;
13794
- <span class="cstat-no" title="statement not covered" > packageInfo.template.name = scope === 'h5' ? '@lcap/mobile-template' : 'lcap-pc-template';</span>
13795
- <span class="cstat-no" title="statement not covered" > packageInfo.template.version =</span>
13796
- scope === 'h5' ? dependencyMap.FrontendArchH5.version : dependencyMap.FrontendArchPC.version;
13797
- <span class="cstat-no" title="statement not covered" > packageInfo.ui.name = scope === 'h5' ? '@lcap/mobile-ui' : 'cloud-ui.vusion';</span>
13798
- <span class="cstat-no" title="statement not covered" > packageInfo.ui.version =</span>
13799
- scope === 'h5'
13800
- ? dependencyMap.FrontendComponentLibraryH5.version
13801
- : dependencyMap.FrontendComponentLibraryPC.version;
14112
+ <span class="cstat-no" title="statement not covered" > packageInfo.template.name = scope === 'h5' ? framework.h5 : framework.pc;</span>
14113
+ <span class="cstat-no" title="statement not covered" > packageInfo.template.version = framework.version;</span>
14114
+ &nbsp;
14115
+ <span class="cstat-no" title="statement not covered" > packageInfo.ui.name = scope === 'h5' ? ui.h5.name : ui.pc.name;</span>
14116
+ <span class="cstat-no" title="statement not covered" > packageInfo.ui.version = scope === 'h5'</span>
14117
+ ? ui.h5.version
14118
+ : ui.pc.version;
14119
+ &nbsp;
13802
14120
  <span class="cstat-no" title="statement not covered" > return packageInfo;</span>
13803
14121
  }
13804
14122
  &nbsp;
@@ -13833,21 +14151,13 @@ export class App extends BaseNode {
13833
14151
  `${prefix}/packages/vue@2/dist/vue.min.js`,
13834
14152
  // `${prefix}/packages/vue-router@3/dist/vue-router.min.js`,
13835
14153
  &nbsp;
13836
- scope === 'h5'
13837
- ? `${prefix}/packages/@lcap/mobile-ui@${packageInfo.ui.version}/dist-theme/index.js`
13838
- : `${prefix}/packages/cloud-ui.vusion@${packageInfo.ui.version}/dist-theme/index.js`,
14154
+ `${prefix}/packages/${packageInfo.ui.name}@${packageInfo.ui.version}/dist-theme/index.js`,
13839
14155
  &nbsp;
13840
- scope === 'h5'
13841
- ? `${prefix}/packages/@lcap/mobile-template@${packageInfo.template.version}/cloudAdminDesigner.umd.min.js`
13842
- : `${prefix}/packages/lcap-pc-template@${packageInfo.template.version}/cloudAdminDesigner.umd.min.js`,
14156
+ `${prefix}/packages/${packageInfo.template.name}@${packageInfo.template.version}/cloudAdminDesigner.umd.min.js`,
13843
14157
  ],
13844
14158
  css: [
13845
- scope === 'h5'
13846
- ? `${prefix}/packages/@lcap/mobile-ui@${packageInfo.ui.version}/dist-theme/index.css`
13847
- : `${prefix}/packages/cloud-ui.vusion@${packageInfo.ui.version}/dist-theme/index.css`,
13848
- scope === 'h5'
13849
- ? `${prefix}/packages/@lcap/mobile-template@${packageInfo.template.version}/cloudAdminDesigner.css`
13850
- : `${prefix}/packages/lcap-pc-template@${packageInfo.template.version}/cloudAdminDesigner.css`,
14159
+ `${prefix}/packages/${packageInfo.ui.name}@${packageInfo.ui.version}/dist-theme/index.css`,
14160
+ `${prefix}/packages/${packageInfo.template.name}@${packageInfo.template.version}/cloudAdminDesigner.css`,
13851
14161
  ],
13852
14162
  },
13853
14163
  custom: {
@@ -13856,10 +14166,10 @@ export class App extends BaseNode {
13856
14166
  names: [],
13857
14167
  },
13858
14168
  };
13859
- const frontends = <span class="cstat-no" title="statement not covered" >this.frontends.filter((<span class="fstat-no" title="function not covered" >frontend) =&gt; <span class="cstat-no" title="statement not covered" >f</span>rontend.type === scope)</span>;</span>
14169
+ const frontendTypes = <span class="cstat-no" title="statement not covered" >this.frontendTypes.filter((<span class="fstat-no" title="function not covered" >frontendType) =&gt; <span class="cstat-no" title="statement not covered" >f</span>rontendType.kind === scope)</span>;</span>
13860
14170
  const existingSet = <span class="cstat-no" title="statement not covered" >new Set();</span>
13861
- <span class="cstat-no" title="statement not covered" > frontends.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
13862
- <span class="cstat-no" title="statement not covered" > frontend.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
14171
+ <span class="cstat-no" title="statement not covered" > frontendTypes.forEach((<span class="fstat-no" title="function not covered" >frontendType) =&gt; {</span></span>
14172
+ <span class="cstat-no" title="statement not covered" > frontendType.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
13863
14173
  const { name, version } = <span class="cstat-no" title="statement not covered" >dep;</span>
13864
14174
  const jsName = <span class="cstat-no" title="statement not covered" >`${prefix}/packages/${name}@${version}/dist-theme/index.js`;</span>
13865
14175
  <span class="cstat-no" title="statement not covered" > if (!existingSet.has(jsName)) {</span>
@@ -13966,7 +14276,11 @@ export class App extends BaseNode {
13966
14276
  structureCount: this.structures.length,
13967
14277
  enumCount: this.enums.length,
13968
14278
  logicCount: this.logics.length,
13969
- viewCount: sum(this.frontends.map((<span class="fstat-no" title="function not covered" >frontend) =&gt; <span class="cstat-no" title="statement not covered" >c</span>ountView(frontend.views))</span>),
14279
+ viewCount: sum(
14280
+ this.frontendTypes.map((<span class="fstat-no" title="function not covered" >frontendType) =&gt;</span>
14281
+ <span class="cstat-no" title="statement not covered" > sum(frontendType.frontends.map((<span class="fstat-no" title="function not covered" >frontend) =&gt; <span class="cstat-no" title="statement not covered" >c</span>ountView(frontend.views))</span>),</span>
14282
+ ),
14283
+ ),
13970
14284
  processCount: this.processes.length,
13971
14285
  };
13972
14286
  }
@@ -14138,35 +14452,19 @@ export class App extends BaseNode {
14138
14452
  <span class="cstat-no" title="statement not covered" > return errorList;</span>
14139
14453
  }
14140
14454
  &nbsp;
14141
- <span class="fstat-no" title="function not covered" > addFrontendForType(o</span>ptions?: string | Partial&lt;Frontend&gt; | Frontend) {
14142
- let insertIndex = <span class="cstat-no" title="statement not covered" >-1;</span>
14143
- <span class="cstat-no" title="statement not covered" > this.frontends.forEach(<span class="fstat-no" title="function not covered" >(f</span>rontend, index) =&gt; {</span>
14144
- <span class="cstat-no" title="statement not covered" > if (frontend.type === (options as any).type) {</span>
14145
- <span class="cstat-no" title="statement not covered" > insertIndex = index;</span>
14146
- }
14147
- });
14148
- <span class="cstat-no" title="statement not covered" > if ((options as any).type === 'h5' &amp;&amp; insertIndex === -1) {</span>
14149
- <span class="cstat-no" title="statement not covered" > insertIndex = this.frontends.length;</span>
14150
- }
14151
- const node = <span class="cstat-no" title="statement not covered" >this._insertFrontendAt(options as any, insertIndex + 1);</span>
14152
- const index = <span class="cstat-no" title="statement not covered" >this.frontends.indexOf(node);</span>
14153
- <span class="cstat-no" title="statement not covered" > node.create({</span>
14154
- index,
14155
- parentNode: this,
14156
- parentKey: 'frontends',
14157
- });
14158
- <span class="cstat-no" title="statement not covered" > return node;</span>
14159
- }
14160
- &nbsp;
14161
14455
  <span class="fstat-no" title="function not covered" > getFrontendExistingTitles(e</span>xcludedList: Array&lt;Frontend&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[]) {</span>
14162
14456
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
14163
- <span class="cstat-no" title="statement not covered" > return ((this.frontends as Frontend[]) || []).filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >!</span>excludedSet.has(item))</span>.map((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.title)</span>;</span>
14457
+ <span class="cstat-no" title="statement not covered" > return (this.frontendTypes || [])</span>
14458
+ .map((<span class="fstat-no" title="function not covered" >frontendType) =&gt; <span class="cstat-no" title="statement not covered" >f</span>rontendType.frontends?.filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >!</span>excludedSet.has(item))</span>.map((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.title)</span>)</span>
14459
+ .flat(2);
14164
14460
  }
14165
14461
  &nbsp;
14166
14462
  <span class="fstat-no" title="function not covered" > getExtensionsCallbackLogics() {</span>
14167
14463
  let resultLogics: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
14168
- <span class="cstat-no" title="statement not covered" > this.frontends.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
14169
- <span class="cstat-no" title="statement not covered" > resultLogics = [...resultLogics, ...frontend.getExtensionsCallbackLogics()];</span>
14464
+ <span class="cstat-no" title="statement not covered" > this.frontendTypes.forEach((<span class="fstat-no" title="function not covered" >frontendType) =&gt; {</span></span>
14465
+ <span class="cstat-no" title="statement not covered" > frontendType?.frontends?.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
14466
+ <span class="cstat-no" title="statement not covered" > resultLogics = [...resultLogics, ...frontend.getExtensionsCallbackLogics()];</span>
14467
+ });
14170
14468
  });
14171
14469
  <span class="cstat-no" title="statement not covered" > return Array.from(new Set(resultLogics));</span>
14172
14470
  }
@@ -14180,7 +14478,6 @@ export class App extends BaseNode {
14180
14478
  }
14181
14479
  &nbsp;
14182
14480
  <span class="fstat-no" title="function not covered" > genAllCustomComponents() {</span>
14183
- const { frontends } = <span class="cstat-no" title="statement not covered" >this;</span>
14184
14481
  const compMap: {
14185
14482
  pc: Array&lt;any&gt;;
14186
14483
  h5: Array&lt;any&gt;;
@@ -14189,12 +14486,12 @@ export class App extends BaseNode {
14189
14486
  h5: [],
14190
14487
  };
14191
14488
  const existingSet = <span class="cstat-no" title="statement not covered" >new Set();</span>
14192
- <span class="cstat-no" title="statement not covered" > frontends.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
14193
- <span class="cstat-no" title="statement not covered" > if (frontend.componentDependencies) {</span>
14194
- <span class="cstat-no" title="statement not covered" > frontend.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
14489
+ <span class="cstat-no" title="statement not covered" > this.frontendTypes.forEach((<span class="fstat-no" title="function not covered" >frontendType) =&gt; {</span></span>
14490
+ <span class="cstat-no" title="statement not covered" > if (frontendType.componentDependencies) {</span>
14491
+ <span class="cstat-no" title="statement not covered" > frontendType.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
14195
14492
  const { name } = <span class="cstat-no" title="statement not covered" >dep;</span>
14196
14493
  <span class="cstat-no" title="statement not covered" > if (!existingSet.has(name)) {</span>
14197
- <span class="cstat-no" title="statement not covered" > compMap[frontend.type].push(dep);</span>
14494
+ <span class="cstat-no" title="statement not covered" > compMap[frontendType.kind].push(dep);</span>
14198
14495
  }
14199
14496
  });
14200
14497
  }
@@ -14653,7 +14950,7 @@ export default App;
14653
14950
  <div class='footer quiet pad2 space-top1 center small'>
14654
14951
  Code coverage generated by
14655
14952
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
14656
- at 2023-12-13T06:31:12.835Z
14953
+ at 2023-12-20T14:01:00.156Z
14657
14954
  </div>
14658
14955
  <script src="../../prettify.js"></script>
14659
14956
  <script>