@lcap/nasl 3.6.0-alpha.4 → 3.6.0-alpha.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 (424) hide show
  1. package/.nyc_output/50a74696-517e-4e22-8a16-9eeecc5ae7c2.json +1 -0
  2. package/.nyc_output/processinfo/50a74696-517e-4e22-8a16-9eeecc5ae7c2.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/cobertura-coverage.xml +6417 -0
  5. package/coverage/index.html +127 -127
  6. package/coverage/src/automate/engine/index.html +1 -1
  7. package/coverage/src/automate/engine/utils.js.html +28 -28
  8. package/coverage/src/bak/index.html +19 -19
  9. package/coverage/src/bak/translator.js.html +59 -293
  10. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
  11. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
  12. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +8 -44
  13. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +10 -61
  14. package/coverage/src/breakpoint/generator/index.html +26 -26
  15. package/coverage/src/breakpoint/generator/index.ts.html +1 -1
  16. package/coverage/src/breakpoint/index.html +1 -1
  17. package/coverage/src/breakpoint/index.ts.html +1 -1
  18. package/coverage/src/breakpoint/shared/constants.ts.html +2 -8
  19. package/coverage/src/breakpoint/shared/index.html +12 -12
  20. package/coverage/src/breakpoint/shared/index.ts.html +1 -1
  21. package/coverage/src/breakpoint/shared/operations.ts.html +4 -4
  22. package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
  23. package/coverage/src/breakpoint/shared/utils.ts.html +80 -29
  24. package/coverage/src/breakpoint/store/core.ts.html +12 -12
  25. package/coverage/src/breakpoint/store/dock.ts.html +1 -1
  26. package/coverage/src/breakpoint/store/index.html +1 -1
  27. package/coverage/src/breakpoint/store/index.ts.html +1 -1
  28. package/coverage/src/common/BaseNode.ts.html +235 -259
  29. package/coverage/src/common/Command.ts.html +6 -9
  30. package/coverage/src/common/EventEmitter.ts.html +34 -19
  31. package/coverage/src/common/Messager.ts.html +1 -1
  32. package/coverage/src/common/asyncFuncMap.ts.html +1 -1
  33. package/coverage/src/common/index.html +28 -28
  34. package/coverage/src/common/index.ts.html +1 -1
  35. package/coverage/src/common/utils.ts.html +1 -1
  36. package/coverage/src/concepts/Abort__.ts.html +2 -2
  37. package/coverage/src/concepts/AbstractInterface__.ts.html +6 -6
  38. package/coverage/src/concepts/Anchor__.ts.html +3 -3
  39. package/coverage/src/concepts/AnonymousFunction__.ts.html +69 -123
  40. package/coverage/src/concepts/App__.ts.html +194 -623
  41. package/coverage/src/concepts/Argument__.ts.html +30 -30
  42. package/coverage/src/concepts/Assignee__.ts.html +3 -3
  43. package/coverage/src/concepts/AssignmentLine__.ts.html +8 -8
  44. package/coverage/src/concepts/Assignment__.ts.html +9 -9
  45. package/coverage/src/concepts/Attribute__.ts.html +2 -2
  46. package/coverage/src/concepts/AuthInterface__.ts.html +2 -2
  47. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +3 -3
  48. package/coverage/src/concepts/AuthLogic__.ts.html +2 -2
  49. package/coverage/src/concepts/BackendVariable__.ts.html +11 -35
  50. package/coverage/src/concepts/Backend__.ts.html +7 -7
  51. package/coverage/src/concepts/BatchAssignment__.ts.html +3 -3
  52. package/coverage/src/concepts/BinaryExpression__.ts.html +26 -38
  53. package/coverage/src/concepts/BindAttribute__.ts.html +15 -60
  54. package/coverage/src/concepts/BindDirective__.ts.html +20 -65
  55. package/coverage/src/concepts/BindEvent__.ts.html +31 -115
  56. package/coverage/src/concepts/BindStyle__.ts.html +3 -3
  57. package/coverage/src/concepts/Block__.ts.html +3 -3
  58. package/coverage/src/concepts/BooleanLiteral__.ts.html +8 -8
  59. package/coverage/src/concepts/CallAuthInterface__.ts.html +3 -3
  60. package/coverage/src/concepts/CallConnector__.ts.html +2 -2
  61. package/coverage/src/concepts/CallFunction__.ts.html +88 -97
  62. package/coverage/src/concepts/CallInterface__.ts.html +60 -75
  63. package/coverage/src/concepts/CallLogic__.ts.html +111 -87
  64. package/coverage/src/concepts/CallQueryComponent__.ts.html +303 -57
  65. package/coverage/src/concepts/Comment__.ts.html +2 -2
  66. package/coverage/src/concepts/CompletionProperty__.ts.html +2 -2
  67. package/coverage/src/concepts/ConfigGroup__.ts.html +8 -8
  68. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +2 -2
  69. package/coverage/src/concepts/ConfigProperty__.ts.html +3 -3
  70. package/coverage/src/concepts/Configuration__.ts.html +9 -9
  71. package/coverage/src/concepts/Connection__.ts.html +3 -3
  72. package/coverage/src/concepts/ConnectorTrigger__.ts.html +2 -2
  73. package/coverage/src/concepts/Connector__.ts.html +3 -3
  74. package/coverage/src/concepts/Constant__.ts.html +18 -12
  75. package/coverage/src/concepts/CountersignPolicy__.ts.html +2 -2
  76. package/coverage/src/concepts/DataSource__.ts.html +3 -3
  77. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +2 -2
  78. package/coverage/src/concepts/DefaultValue__.ts.html +3 -3
  79. package/coverage/src/concepts/Destination__.ts.html +12 -18
  80. package/coverage/src/concepts/End__.ts.html +10 -13
  81. package/coverage/src/concepts/EntityIndex__.ts.html +2 -2
  82. package/coverage/src/concepts/EntityProperty__.ts.html +3 -3
  83. package/coverage/src/concepts/Entity__.ts.html +4 -10
  84. package/coverage/src/concepts/EnumItem__.ts.html +2 -2
  85. package/coverage/src/concepts/Enum__.ts.html +3 -3
  86. package/coverage/src/concepts/Event__.ts.html +12 -222
  87. package/coverage/src/concepts/ExternalDestination__.ts.html +3 -3
  88. package/coverage/src/concepts/ForEachStatement__.ts.html +3 -3
  89. package/coverage/src/concepts/FrontendLibrary__.ts.html +3 -3
  90. package/coverage/src/concepts/FrontendVariable__.ts.html +2 -2
  91. package/coverage/src/concepts/Frontend__.ts.html +770 -26
  92. package/coverage/src/concepts/Function__.ts.html +10 -10
  93. package/coverage/src/concepts/I18nInfo__.ts.html +2 -2
  94. package/coverage/src/concepts/Identifier__.ts.html +54 -102
  95. package/coverage/src/concepts/IfStatement__.ts.html +3 -3
  96. package/coverage/src/concepts/ImportedInterface__.ts.html +6 -6
  97. package/coverage/src/concepts/Integration__.ts.html +3 -3
  98. package/coverage/src/concepts/InterfaceParam__.ts.html +7 -7
  99. package/coverage/src/concepts/Interface__.ts.html +31 -73
  100. package/coverage/src/concepts/JSBlock__.ts.html +2 -2
  101. package/coverage/src/concepts/JavaLogic__.ts.html +2 -2
  102. package/coverage/src/concepts/LogicItem__.ts.html +11 -17
  103. package/coverage/src/concepts/Logic__.ts.html +150 -267
  104. package/coverage/src/concepts/MatchCase__.ts.html +3 -3
  105. package/coverage/src/concepts/Match__.ts.html +3 -3
  106. package/coverage/src/concepts/MemberExpression__.ts.html +22 -22
  107. package/coverage/src/concepts/MetadataType__.ts.html +3 -3
  108. package/coverage/src/concepts/MicroApp__.ts.html +2 -2
  109. package/coverage/src/concepts/Module__.ts.html +20 -20
  110. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +3 -3
  111. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +3 -3
  112. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +2 -2
  113. package/coverage/src/concepts/Namespace__.ts.html +20 -20
  114. package/coverage/src/concepts/NewComposite__.ts.html +232 -226
  115. package/coverage/src/concepts/NewList__.ts.html +103 -115
  116. package/coverage/src/concepts/NewMap__.ts.html +158 -167
  117. package/coverage/src/concepts/New__.ts.html +2 -2
  118. package/coverage/src/concepts/NullLiteral__.ts.html +2 -2
  119. package/coverage/src/concepts/NumericLiteral__.ts.html +14 -14
  120. package/coverage/src/concepts/OqlQueryComponent__.ts.html +2 -2
  121. package/coverage/src/concepts/OverriddenLogic__.ts.html +3 -3
  122. package/coverage/src/concepts/Param__.ts.html +32 -56
  123. package/coverage/src/concepts/Point__.ts.html +2 -2
  124. package/coverage/src/concepts/ProcessComponent__.ts.html +3 -3
  125. package/coverage/src/concepts/ProcessElement__.ts.html +8 -29
  126. package/coverage/src/concepts/ProcessOutcome__.ts.html +2 -2
  127. package/coverage/src/concepts/ProcessOutcomes__.ts.html +2 -2
  128. package/coverage/src/concepts/Process__.ts.html +3 -3
  129. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +2 -2
  130. package/coverage/src/concepts/QueryFieldExpression__.ts.html +2 -2
  131. package/coverage/src/concepts/QueryFromExpression__.ts.html +3 -3
  132. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +2 -2
  133. package/coverage/src/concepts/QueryJoinExpression__.ts.html +3 -3
  134. package/coverage/src/concepts/QueryLimitExpression__.ts.html +6 -6
  135. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +2 -2
  136. package/coverage/src/concepts/QuerySelectExpression__.ts.html +3 -3
  137. package/coverage/src/concepts/Rect__.ts.html +2 -2
  138. package/coverage/src/concepts/Return__.ts.html +36 -45
  139. package/coverage/src/concepts/Role__.ts.html +2 -2
  140. package/coverage/src/concepts/SelectMembers__.ts.html +9 -9
  141. package/coverage/src/concepts/SequentialPolicy__.ts.html +2 -2
  142. package/coverage/src/concepts/Slot__.ts.html +2 -2
  143. package/coverage/src/concepts/SqlQueryComponent__.ts.html +2 -2
  144. package/coverage/src/concepts/Start__.ts.html +7 -7
  145. package/coverage/src/concepts/StaticString__.ts.html +2 -2
  146. package/coverage/src/concepts/StringInterpolation__.ts.html +3 -3
  147. package/coverage/src/concepts/StringLiteral__.ts.html +18 -18
  148. package/coverage/src/concepts/StructureProperty__.ts.html +9 -9
  149. package/coverage/src/concepts/Structure__.ts.html +9 -9
  150. package/coverage/src/concepts/SwitchCase__.ts.html +3 -3
  151. package/coverage/src/concepts/SwitchStatement__.ts.html +3 -3
  152. package/coverage/src/concepts/Theme__.ts.html +9 -9
  153. package/coverage/src/concepts/Transactional__.ts.html +2 -2
  154. package/coverage/src/concepts/TriggerEvent__.ts.html +2 -2
  155. package/coverage/src/concepts/TriggerLauncher__.ts.html +2 -2
  156. package/coverage/src/concepts/TypeAnnotation__.ts.html +37 -37
  157. package/coverage/src/concepts/TypeParam__.ts.html +2 -2
  158. package/coverage/src/concepts/UnaryExpression__.ts.html +2 -2
  159. package/coverage/src/concepts/Unparsed__.ts.html +2 -2
  160. package/coverage/src/concepts/UseComponent__.ts.html +2 -2
  161. package/coverage/src/concepts/ValidationRule__.ts.html +6 -21
  162. package/coverage/src/concepts/Variable__.ts.html +29 -53
  163. package/coverage/src/concepts/ViewBlock__.ts.html +2 -2
  164. package/coverage/src/concepts/ViewComponent__.ts.html +3 -3
  165. package/coverage/src/concepts/ViewElement__.ts.html +61 -535
  166. package/coverage/src/concepts/View__.ts.html +60 -69
  167. package/coverage/src/concepts/WhileStatement__.ts.html +3 -3
  168. package/coverage/src/concepts/basics/constants.ts.html +1 -1
  169. package/coverage/src/concepts/basics/index.html +1 -1
  170. package/coverage/src/concepts/basics/stdlib/index.html +1 -1
  171. package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
  172. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
  173. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
  174. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
  175. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
  176. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
  177. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
  178. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
  179. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
  180. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
  181. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
  182. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
  183. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
  184. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +32 -32
  185. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
  186. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +2 -2
  187. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
  188. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
  189. package/coverage/src/concepts/basics/types/index.html +1 -1
  190. package/coverage/src/concepts/basics/types/index.ts.html +1 -1
  191. package/coverage/src/concepts/index.html +239 -329
  192. package/coverage/src/concepts/index.ts.html +2 -2
  193. package/coverage/src/concepts/index__.ts.html +4 -22
  194. package/coverage/src/concepts/utils/asserts.ts.html +26 -1334
  195. package/coverage/src/concepts/utils/index.html +18 -33
  196. package/coverage/src/concepts/utils/types.ts.html +2 -101
  197. package/coverage/src/config.ts.html +2 -2
  198. package/coverage/src/decorators/index.html +18 -18
  199. package/coverage/src/decorators/index.ts.html +57 -42
  200. package/coverage/src/decorators/promise.ts.html +1 -1
  201. package/coverage/src/eventBus.ts.html +1 -1
  202. package/coverage/src/generator/compileComponent.ts.html +1 -1
  203. package/coverage/src/generator/genBundleFiles.ts.html +45 -180
  204. package/coverage/src/generator/genHash.ts.html +2 -2
  205. package/coverage/src/generator/genMetaData.ts.html +11 -14
  206. package/coverage/src/generator/genReleaseBody.ts.html +13 -46
  207. package/coverage/src/generator/icestark.ts.html +1 -1
  208. package/coverage/src/generator/index.html +36 -36
  209. package/coverage/src/generator/index.ts.html +1 -1
  210. package/coverage/src/generator/microApp.ts.html +1 -1
  211. package/coverage/src/generator/permission.ts.html +10 -16
  212. package/coverage/src/generator/qiankun.ts.html +1 -1
  213. package/coverage/src/generator/styleReplacer.ts.html +1 -1
  214. package/coverage/src/index.html +1 -1
  215. package/coverage/src/index.ts.html +2 -2
  216. package/coverage/src/manager/diagnostic.ts.html +1 -1
  217. package/coverage/src/manager/index.html +1 -1
  218. package/coverage/src/manager/stepRecorder.ts.html +1 -1
  219. package/coverage/src/natural/genNaturalTS.ts.html +1 -1
  220. package/coverage/src/natural/index.html +1 -1
  221. package/coverage/src/natural/index.ts.html +1 -1
  222. package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
  223. package/coverage/src/natural/transformTSCode.ts.html +3 -3
  224. package/coverage/src/sentry/index.html +1 -1
  225. package/coverage/src/sentry/index.ts.html +25 -25
  226. package/coverage/src/server/createUiTs.ts.html +1 -1
  227. package/coverage/src/server/entity2LogicNamespace.ts.html +1 -1
  228. package/coverage/src/server/event.js.html +1 -1
  229. package/coverage/src/server/extendBaseNode.ts.html +30 -99
  230. package/coverage/src/server/formatTsUtils.ts.html +18 -27
  231. package/coverage/src/server/getConnector.ts.html +1 -1
  232. package/coverage/src/server/getExtensionModules.ts.html +1 -1
  233. package/coverage/src/server/getFunctions.ts.html +1 -1
  234. package/coverage/src/server/getInterfaces.ts.html +1 -1
  235. package/coverage/src/server/getLogging.ts.html +1 -1
  236. package/coverage/src/server/getLogics.ts.html +66 -180
  237. package/coverage/src/server/getMemberIdentifier.ts.html +9 -27
  238. package/coverage/src/server/getProcessComponents.ts.html +1 -1
  239. package/coverage/src/server/getProcesses.ts.html +6 -6
  240. package/coverage/src/server/getValidates.ts.html +1 -1
  241. package/coverage/src/server/index.html +58 -58
  242. package/coverage/src/server/index.ts.html +1 -1
  243. package/coverage/src/server/naslServer.ts.html +127 -163
  244. package/coverage/src/server/naslStdlibMap.ts.html +1 -1
  245. package/coverage/src/server/process2LogicNamespace.ts.html +1 -1
  246. package/coverage/src/server/translator.ts.html +16 -67
  247. package/coverage/src/service/creator/add.configs.js.html +1 -1
  248. package/coverage/src/service/creator/errHandles.js.html +1 -1
  249. package/coverage/src/service/creator/index.html +1 -1
  250. package/coverage/src/service/creator/index.js.html +2 -2
  251. package/coverage/src/service/datasource/api.js.html +1 -1
  252. package/coverage/src/service/datasource/index.html +1 -1
  253. package/coverage/src/service/datasource/index.js.html +1 -1
  254. package/coverage/src/service/logic/api.js.html +1 -1
  255. package/coverage/src/service/logic/index.html +1 -1
  256. package/coverage/src/service/logic/index.js.html +1 -1
  257. package/coverage/src/service/storage/api.js.html +1 -1
  258. package/coverage/src/service/storage/index.html +17 -17
  259. package/coverage/src/service/storage/index.ts.html +2 -2
  260. package/coverage/src/service/storage/init.ts.html +13 -100
  261. package/coverage/src/service/storage/jsoner.ts.html +1 -1
  262. package/coverage/src/service/storage/map.ts.html +4 -4
  263. package/coverage/src/service/storage/service.ts.html +1 -1
  264. package/coverage/src/service/storage/storagePoint.ts.html +1 -1
  265. package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
  266. package/coverage/src/templator/genCreateBlock.ts.html +8 -8
  267. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +18 -18
  268. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +126 -2298
  269. package/coverage/src/templator/genEditTableBlock.ts.html +2 -2
  270. package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
  271. package/coverage/src/templator/genGetBlock.ts.html +13 -16
  272. package/coverage/src/templator/genGridViewBlock.ts.html +14 -14
  273. package/coverage/src/templator/genListViewBlock.ts.html +6 -6
  274. package/coverage/src/templator/genQueryComponent.ts.html +55 -40
  275. package/coverage/src/templator/genSelectBlock.ts.html +5 -5
  276. package/coverage/src/templator/genTableBlock.ts.html +22 -397
  277. package/coverage/src/templator/genUpdateBlock.ts.html +17 -20
  278. package/coverage/src/templator/index.html +55 -55
  279. package/coverage/src/templator/index.ts.html +2 -2
  280. package/coverage/src/templator/utils.ts.html +62 -35
  281. package/coverage/src/translator/constant.ts.html +1 -1
  282. package/coverage/src/translator/index.html +19 -19
  283. package/coverage/src/translator/index.ts.html +2 -2
  284. package/coverage/src/translator/types.ts.html +1 -1
  285. package/coverage/src/translator/utils.ts.html +56 -89
  286. package/coverage/src/utils/cookie.ts.html +1 -1
  287. package/coverage/src/utils/env.ts.html +2 -2
  288. package/coverage/src/utils/i18nInfo.ts.html +4 -19
  289. package/coverage/src/utils/index.html +19 -19
  290. package/coverage/src/utils/index.ts.html +17 -647
  291. package/coverage/src/utils/logger.ts.html +1 -1
  292. package/coverage/src/utils/sortTsString.ts.html +1 -1
  293. package/coverage/src/utils/string.ts.html +1 -1
  294. package/coverage/src/utils/time-slicing/constant.ts.html +1 -1
  295. package/coverage/src/utils/time-slicing/controller.ts.html +1 -1
  296. package/coverage/src/utils/time-slicing/index.html +1 -1
  297. package/coverage/src/utils/time-slicing/index.ts.html +2 -2
  298. package/coverage/src/utils/time-slicing/page-state.ts.html +1 -1
  299. package/coverage/src/utils/time-slicing/performance.ts.html +1 -1
  300. package/coverage/src/utils/time-slicing/runner.ts.html +6 -6
  301. package/coverage/src/utils/time-slicing/tool.ts.html +1 -1
  302. package/coverage/src/utils/time-slicing/utils.ts.html +3 -3
  303. package/coverage/src/utils/time-slicing/wrapper.ts.html +9 -9
  304. package/coverage/src/{concepts/ParamWithGroup__.ts.html → utils/time-slicing.ts.html} +142 -112
  305. package/coverage/src/utils/traverse.ts.html +1 -1
  306. package/coverage/src/utils/types.ts.html +1 -1
  307. package/coverage/src/utils/window.ts.html +1 -1
  308. package/out/automate/engine/utils.d.ts +1 -1
  309. package/out/automate/engine/utils.js +1 -5
  310. package/out/automate/engine/utils.js.map +1 -1
  311. package/out/common/BaseNode.js +23 -2
  312. package/out/common/BaseNode.js.map +1 -1
  313. package/out/common/EventEmitter.d.ts +1 -0
  314. package/out/common/EventEmitter.js.map +1 -1
  315. package/out/concepts/App__.d.ts +8 -0
  316. package/out/concepts/App__.js +60 -4
  317. package/out/concepts/App__.js.map +1 -1
  318. package/out/concepts/BinaryExpression__.js +24 -1
  319. package/out/concepts/BinaryExpression__.js.map +1 -1
  320. package/out/concepts/CallLogic__.js +1 -1
  321. package/out/concepts/CallLogic__.js.map +1 -1
  322. package/out/concepts/FrontendType__.js +1 -0
  323. package/out/concepts/FrontendType__.js.map +1 -1
  324. package/out/concepts/Interface__.js +2 -0
  325. package/out/concepts/Interface__.js.map +1 -1
  326. package/out/concepts/Logic__.js +3 -0
  327. package/out/concepts/Logic__.js.map +1 -1
  328. package/out/concepts/Paginate__.d.ts +3 -0
  329. package/out/concepts/Paginate__.js +23 -2
  330. package/out/concepts/Paginate__.js.map +1 -1
  331. package/out/concepts/Structure__.js +2 -0
  332. package/out/concepts/Structure__.js.map +1 -1
  333. package/out/concepts/ViewElement__.js +4 -2
  334. package/out/concepts/ViewElement__.js.map +1 -1
  335. package/out/concepts/View__.d.ts +4 -0
  336. package/out/concepts/View__.js +12 -0
  337. package/out/concepts/View__.js.map +1 -1
  338. package/out/concepts/basics/stdlib/nasl.auth.js +68 -33
  339. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  340. package/out/enums/KEYWORDS.js +2 -0
  341. package/out/enums/KEYWORDS.js.map +1 -1
  342. package/out/generator/genBundleFiles.d.ts +2 -0
  343. package/out/generator/genBundleFiles.js +18 -4
  344. package/out/generator/genBundleFiles.js.map +1 -1
  345. package/out/generator/permission.d.ts +5 -1
  346. package/out/generator/permission.js +2 -1
  347. package/out/generator/permission.js.map +1 -1
  348. package/out/natural/genNaturalTS.js +2 -5
  349. package/out/natural/genNaturalTS.js.map +1 -1
  350. package/out/natural/index.d.ts +2 -0
  351. package/out/natural/index.js +2 -0
  352. package/out/natural/index.js.map +1 -1
  353. package/out/natural/naslStdlibMap.d.ts +1 -2
  354. package/out/natural/naslStdlibMap.js +32 -23
  355. package/out/natural/naslStdlibMap.js.map +1 -1
  356. package/out/natural/prompt/analyzeClaims.d.ts +1 -0
  357. package/out/natural/prompt/analyzeClaims.js +21 -0
  358. package/out/natural/prompt/analyzeClaims.js.map +1 -0
  359. package/out/natural/prompt/executeClaims.d.ts +1 -0
  360. package/out/natural/prompt/executeClaims.js +73 -0
  361. package/out/natural/prompt/executeClaims.js.map +1 -0
  362. package/out/natural/transformTSCode.js +13 -2
  363. package/out/natural/transformTSCode.js.map +1 -1
  364. package/out/server/extendBaseNode.js +35 -8
  365. package/out/server/extendBaseNode.js.map +1 -1
  366. package/out/server/getLogics.js +3 -3
  367. package/out/server/getLogics.js.map +1 -1
  368. package/out/server/getMemberIdentifier.js +16 -16
  369. package/out/server/getMemberIdentifier.js.map +1 -1
  370. package/out/server/naslServer.d.ts +1 -0
  371. package/out/server/naslServer.js +7 -2
  372. package/out/server/naslServer.js.map +1 -1
  373. package/out/server/translator.js +8 -0
  374. package/out/server/translator.js.map +1 -1
  375. package/out/service/storage/init.d.ts +1 -0
  376. package/out/service/storage/init.js +6 -2
  377. package/out/service/storage/init.js.map +1 -1
  378. package/out/translator/types.d.ts +1 -0
  379. package/package.json +1 -1
  380. package/sandbox/stdlib/nasl.auth.ts +4 -0
  381. package/sandbox/stdlib/nasl.core.ts +12 -0
  382. package/sandbox-natural/stdlib/nasl.core.ts +3 -0
  383. package/sandbox-natural/stdlib/nasl.oql.ts +4 -3
  384. package/src/automate/engine/utils.js +1 -5
  385. package/src/common/BaseNode.ts +31 -3
  386. package/src/common/EventEmitter.ts +1 -0
  387. package/src/concepts/App__.ts +61 -4
  388. package/src/concepts/BinaryExpression__.ts +23 -1
  389. package/src/concepts/CallLogic__.ts +1 -1
  390. package/src/concepts/FrontendType__.ts +1 -0
  391. package/src/concepts/Interface__.ts +2 -0
  392. package/src/concepts/Logic__.ts +2 -0
  393. package/src/concepts/Paginate__.ts +24 -3
  394. package/src/concepts/Structure__.ts +2 -0
  395. package/src/concepts/ViewElement__.ts +4 -2
  396. package/src/concepts/View__.ts +13 -0
  397. package/src/concepts/basics/stdlib/nasl.auth.ts +97 -34
  398. package/src/enums/KEYWORDS.ts +2 -0
  399. package/src/generator/genBundleFiles.ts +19 -4
  400. package/src/generator/permission.ts +1 -1
  401. package/src/natural/genNaturalTS.ts +2 -2
  402. package/src/natural/index.ts +3 -0
  403. package/src/natural/naslStdlibMap.ts +25 -19
  404. package/src/natural/prompt/analyzeClaims.ts +16 -0
  405. package/src/natural/prompt/executeClaims.ts +69 -0
  406. package/src/natural/transformTSCode.ts +12 -2
  407. package/src/server/extendBaseNode.ts +45 -14
  408. package/src/server/getLogics.ts +3 -3
  409. package/src/server/getMemberIdentifier.ts +18 -18
  410. package/src/server/naslServer.ts +7 -2
  411. package/src/server/translator.ts +7 -0
  412. package/src/service/storage/init.ts +7 -2
  413. package/src/translator/types.ts +3 -0
  414. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +199 -0
  415. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +121 -0
  416. package/test/concepts/view-element/fixtures/table-data-source-calllogic-with-server-validation.json +2074 -0
  417. package/.nyc_output/477a0953-2b01-4d2a-affe-d4aaf3b0191c.json +0 -1
  418. package/.nyc_output/processinfo/477a0953-2b01-4d2a-affe-d4aaf3b0191c.json +0 -1
  419. package/coverage/src/concepts/BusinessComponent__.ts.html +0 -8164
  420. package/coverage/src/concepts/BusinessLogic__.ts.html +0 -1213
  421. package/coverage/src/concepts/CallEvent__.ts.html +0 -1138
  422. package/coverage/src/concepts/FrontendType__.ts.html +0 -2842
  423. package/coverage/src/concepts/Paginate__.ts.html +0 -1033
  424. package/coverage/src/concepts/utils/quick-info.ts.html +0 -277
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">7.25% </span>
26
+ <span class="strong">7.53% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>94/1295</span>
28
+ <span class='fraction'>93/1235</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">1.02% </span>
33
+ <span class="strong">1.08% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/684</span>
35
+ <span class='fraction'>7/648</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">1.26% </span>
40
+ <span class="strong">1.34% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/315</span>
42
+ <span class='fraction'>4/297</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">5.16% </span>
47
+ <span class="strong">5.34% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>61/1180</span>
49
+ <span class='fraction'>60/1122</span>
50
50
  </div>
51
51
 
52
52
 
@@ -4918,157 +4918,13 @@
4918
4918
  <a name='L4853'></a><a href='#L4853'>4853</a>
4919
4919
  <a name='L4854'></a><a href='#L4854'>4854</a>
4920
4920
  <a name='L4855'></a><a href='#L4855'>4855</a>
4921
- <a name='L4856'></a><a href='#L4856'>4856</a>
4922
- <a name='L4857'></a><a href='#L4857'>4857</a>
4923
- <a name='L4858'></a><a href='#L4858'>4858</a>
4924
- <a name='L4859'></a><a href='#L4859'>4859</a>
4925
- <a name='L4860'></a><a href='#L4860'>4860</a>
4926
- <a name='L4861'></a><a href='#L4861'>4861</a>
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>
5027
- <a name='L4962'></a><a href='#L4962'>4962</a>
5028
- <a name='L4963'></a><a href='#L4963'>4963</a>
5029
- <a name='L4964'></a><a href='#L4964'>4964</a>
5030
- <a name='L4965'></a><a href='#L4965'>4965</a>
5031
- <a name='L4966'></a><a href='#L4966'>4966</a>
5032
- <a name='L4967'></a><a href='#L4967'>4967</a>
5033
- <a name='L4968'></a><a href='#L4968'>4968</a>
5034
- <a name='L4969'></a><a href='#L4969'>4969</a>
5035
- <a name='L4970'></a><a href='#L4970'>4970</a>
5036
- <a name='L4971'></a><a href='#L4971'>4971</a>
5037
- <a name='L4972'></a><a href='#L4972'>4972</a>
5038
- <a name='L4973'></a><a href='#L4973'>4973</a>
5039
- <a name='L4974'></a><a href='#L4974'>4974</a>
5040
- <a name='L4975'></a><a href='#L4975'>4975</a>
5041
- <a name='L4976'></a><a href='#L4976'>4976</a>
5042
- <a name='L4977'></a><a href='#L4977'>4977</a>
5043
- <a name='L4978'></a><a href='#L4978'>4978</a>
5044
- <a name='L4979'></a><a href='#L4979'>4979</a>
5045
- <a name='L4980'></a><a href='#L4980'>4980</a>
5046
- <a name='L4981'></a><a href='#L4981'>4981</a>
5047
- <a name='L4982'></a><a href='#L4982'>4982</a>
5048
- <a name='L4983'></a><a href='#L4983'>4983</a>
5049
- <a name='L4984'></a><a href='#L4984'>4984</a>
5050
- <a name='L4985'></a><a href='#L4985'>4985</a>
5051
- <a name='L4986'></a><a href='#L4986'>4986</a>
5052
- <a name='L4987'></a><a href='#L4987'>4987</a>
5053
- <a name='L4988'></a><a href='#L4988'>4988</a>
5054
- <a name='L4989'></a><a href='#L4989'>4989</a>
5055
- <a name='L4990'></a><a href='#L4990'>4990</a>
5056
- <a name='L4991'></a><a href='#L4991'>4991</a>
5057
- <a name='L4992'></a><a href='#L4992'>4992</a>
5058
- <a name='L4993'></a><a href='#L4993'>4993</a>
5059
- <a name='L4994'></a><a href='#L4994'>4994</a>
5060
- <a name='L4995'></a><a href='#L4995'>4995</a>
5061
- <a name='L4996'></a><a href='#L4996'>4996</a>
5062
- <a name='L4997'></a><a href='#L4997'>4997</a>
5063
- <a name='L4998'></a><a href='#L4998'>4998</a>
5064
- <a name='L4999'></a><a href='#L4999'>4999</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1980x</span>
4921
+ <a name='L4856'></a><a href='#L4856'>4856</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1874x</span>
5065
4922
  <span class="cline-any cline-yes">1x</span>
5066
4923
  <span class="cline-any cline-neutral">&nbsp;</span>
5067
4924
  <span class="cline-any cline-neutral">&nbsp;</span>
5068
4925
  <span class="cline-any cline-neutral">&nbsp;</span>
5069
4926
  <span class="cline-any cline-neutral">&nbsp;</span>
5070
4927
  <span class="cline-any cline-neutral">&nbsp;</span>
5071
- <span class="cline-any cline-neutral">&nbsp;</span>
5072
4928
  <span class="cline-any cline-yes">1x</span>
5073
4929
  <span class="cline-any cline-neutral">&nbsp;</span>
5074
4930
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5103,11 +4959,6 @@
5103
4959
  <span class="cline-any cline-neutral">&nbsp;</span>
5104
4960
  <span class="cline-any cline-neutral">&nbsp;</span>
5105
4961
  <span class="cline-any cline-neutral">&nbsp;</span>
5106
- <span class="cline-any cline-neutral">&nbsp;</span>
5107
- <span class="cline-any cline-neutral">&nbsp;</span>
5108
- <span class="cline-any cline-neutral">&nbsp;</span>
5109
- <span class="cline-any cline-neutral">&nbsp;</span>
5110
- <span class="cline-any cline-neutral">&nbsp;</span>
5111
4962
  <span class="cline-any cline-yes">1x</span>
5112
4963
  <span class="cline-any cline-neutral">&nbsp;</span>
5113
4964
  <span class="cline-any cline-yes">1x</span>
@@ -5215,7 +5066,7 @@
5215
5066
  <span class="cline-any cline-neutral">&nbsp;</span>
5216
5067
  <span class="cline-any cline-neutral">&nbsp;</span>
5217
5068
  <span class="cline-any cline-neutral">&nbsp;</span>
5218
- <span class="cline-any cline-yes">110x</span>
5069
+ <span class="cline-any cline-yes">97x</span>
5219
5070
  <span class="cline-any cline-neutral">&nbsp;</span>
5220
5071
  <span class="cline-any cline-neutral">&nbsp;</span>
5221
5072
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5225,7 +5076,7 @@
5225
5076
  <span class="cline-any cline-neutral">&nbsp;</span>
5226
5077
  <span class="cline-any cline-neutral">&nbsp;</span>
5227
5078
  <span class="cline-any cline-neutral">&nbsp;</span>
5228
- <span class="cline-any cline-yes">110x</span>
5079
+ <span class="cline-any cline-yes">97x</span>
5229
5080
  <span class="cline-any cline-neutral">&nbsp;</span>
5230
5081
  <span class="cline-any cline-neutral">&nbsp;</span>
5231
5082
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5235,7 +5086,7 @@
5235
5086
  <span class="cline-any cline-neutral">&nbsp;</span>
5236
5087
  <span class="cline-any cline-neutral">&nbsp;</span>
5237
5088
  <span class="cline-any cline-neutral">&nbsp;</span>
5238
- <span class="cline-any cline-yes">110x</span>
5089
+ <span class="cline-any cline-yes">97x</span>
5239
5090
  <span class="cline-any cline-neutral">&nbsp;</span>
5240
5091
  <span class="cline-any cline-neutral">&nbsp;</span>
5241
5092
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5245,7 +5096,7 @@
5245
5096
  <span class="cline-any cline-neutral">&nbsp;</span>
5246
5097
  <span class="cline-any cline-neutral">&nbsp;</span>
5247
5098
  <span class="cline-any cline-neutral">&nbsp;</span>
5248
- <span class="cline-any cline-yes">110x</span>
5099
+ <span class="cline-any cline-yes">97x</span>
5249
5100
  <span class="cline-any cline-neutral">&nbsp;</span>
5250
5101
  <span class="cline-any cline-neutral">&nbsp;</span>
5251
5102
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5255,7 +5106,7 @@
5255
5106
  <span class="cline-any cline-neutral">&nbsp;</span>
5256
5107
  <span class="cline-any cline-neutral">&nbsp;</span>
5257
5108
  <span class="cline-any cline-neutral">&nbsp;</span>
5258
- <span class="cline-any cline-yes">110x</span>
5109
+ <span class="cline-any cline-yes">97x</span>
5259
5110
  <span class="cline-any cline-neutral">&nbsp;</span>
5260
5111
  <span class="cline-any cline-neutral">&nbsp;</span>
5261
5112
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5265,7 +5116,7 @@
5265
5116
  <span class="cline-any cline-neutral">&nbsp;</span>
5266
5117
  <span class="cline-any cline-neutral">&nbsp;</span>
5267
5118
  <span class="cline-any cline-neutral">&nbsp;</span>
5268
- <span class="cline-any cline-yes">110x</span>
5119
+ <span class="cline-any cline-yes">97x</span>
5269
5120
  <span class="cline-any cline-neutral">&nbsp;</span>
5270
5121
  <span class="cline-any cline-neutral">&nbsp;</span>
5271
5122
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5275,7 +5126,7 @@
5275
5126
  <span class="cline-any cline-neutral">&nbsp;</span>
5276
5127
  <span class="cline-any cline-neutral">&nbsp;</span>
5277
5128
  <span class="cline-any cline-neutral">&nbsp;</span>
5278
- <span class="cline-any cline-yes">110x</span>
5129
+ <span class="cline-any cline-yes">97x</span>
5279
5130
  <span class="cline-any cline-neutral">&nbsp;</span>
5280
5131
  <span class="cline-any cline-neutral">&nbsp;</span>
5281
5132
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5283,7 +5134,7 @@
5283
5134
  <span class="cline-any cline-neutral">&nbsp;</span>
5284
5135
  <span class="cline-any cline-neutral">&nbsp;</span>
5285
5136
  <span class="cline-any cline-neutral">&nbsp;</span>
5286
- <span class="cline-any cline-yes">110x</span>
5137
+ <span class="cline-any cline-yes">97x</span>
5287
5138
  <span class="cline-any cline-neutral">&nbsp;</span>
5288
5139
  <span class="cline-any cline-neutral">&nbsp;</span>
5289
5140
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5293,7 +5144,7 @@
5293
5144
  <span class="cline-any cline-neutral">&nbsp;</span>
5294
5145
  <span class="cline-any cline-neutral">&nbsp;</span>
5295
5146
  <span class="cline-any cline-neutral">&nbsp;</span>
5296
- <span class="cline-any cline-yes">110x</span>
5147
+ <span class="cline-any cline-yes">97x</span>
5297
5148
  <span class="cline-any cline-neutral">&nbsp;</span>
5298
5149
  <span class="cline-any cline-neutral">&nbsp;</span>
5299
5150
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5303,7 +5154,7 @@
5303
5154
  <span class="cline-any cline-neutral">&nbsp;</span>
5304
5155
  <span class="cline-any cline-neutral">&nbsp;</span>
5305
5156
  <span class="cline-any cline-neutral">&nbsp;</span>
5306
- <span class="cline-any cline-yes">110x</span>
5157
+ <span class="cline-any cline-yes">97x</span>
5307
5158
  <span class="cline-any cline-neutral">&nbsp;</span>
5308
5159
  <span class="cline-any cline-neutral">&nbsp;</span>
5309
5160
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5311,7 +5162,7 @@
5311
5162
  <span class="cline-any cline-neutral">&nbsp;</span>
5312
5163
  <span class="cline-any cline-neutral">&nbsp;</span>
5313
5164
  <span class="cline-any cline-neutral">&nbsp;</span>
5314
- <span class="cline-any cline-yes">110x</span>
5165
+ <span class="cline-any cline-yes">97x</span>
5315
5166
  <span class="cline-any cline-neutral">&nbsp;</span>
5316
5167
  <span class="cline-any cline-neutral">&nbsp;</span>
5317
5168
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5321,7 +5172,7 @@
5321
5172
  <span class="cline-any cline-neutral">&nbsp;</span>
5322
5173
  <span class="cline-any cline-neutral">&nbsp;</span>
5323
5174
  <span class="cline-any cline-neutral">&nbsp;</span>
5324
- <span class="cline-any cline-yes">110x</span>
5175
+ <span class="cline-any cline-yes">97x</span>
5325
5176
  <span class="cline-any cline-neutral">&nbsp;</span>
5326
5177
  <span class="cline-any cline-neutral">&nbsp;</span>
5327
5178
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5331,7 +5182,7 @@
5331
5182
  <span class="cline-any cline-neutral">&nbsp;</span>
5332
5183
  <span class="cline-any cline-neutral">&nbsp;</span>
5333
5184
  <span class="cline-any cline-neutral">&nbsp;</span>
5334
- <span class="cline-any cline-yes">110x</span>
5185
+ <span class="cline-any cline-yes">97x</span>
5335
5186
  <span class="cline-any cline-neutral">&nbsp;</span>
5336
5187
  <span class="cline-any cline-neutral">&nbsp;</span>
5337
5188
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5349,7 +5200,7 @@
5349
5200
  <span class="cline-any cline-neutral">&nbsp;</span>
5350
5201
  <span class="cline-any cline-neutral">&nbsp;</span>
5351
5202
  <span class="cline-any cline-neutral">&nbsp;</span>
5352
- <span class="cline-any cline-yes">110x</span>
5203
+ <span class="cline-any cline-yes">97x</span>
5353
5204
  <span class="cline-any cline-neutral">&nbsp;</span>
5354
5205
  <span class="cline-any cline-neutral">&nbsp;</span>
5355
5206
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5359,7 +5210,7 @@
5359
5210
  <span class="cline-any cline-neutral">&nbsp;</span>
5360
5211
  <span class="cline-any cline-neutral">&nbsp;</span>
5361
5212
  <span class="cline-any cline-neutral">&nbsp;</span>
5362
- <span class="cline-any cline-yes">110x</span>
5213
+ <span class="cline-any cline-yes">97x</span>
5363
5214
  <span class="cline-any cline-neutral">&nbsp;</span>
5364
5215
  <span class="cline-any cline-neutral">&nbsp;</span>
5365
5216
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5369,7 +5220,7 @@
5369
5220
  <span class="cline-any cline-neutral">&nbsp;</span>
5370
5221
  <span class="cline-any cline-neutral">&nbsp;</span>
5371
5222
  <span class="cline-any cline-neutral">&nbsp;</span>
5372
- <span class="cline-any cline-yes">110x</span>
5223
+ <span class="cline-any cline-yes">97x</span>
5373
5224
  <span class="cline-any cline-neutral">&nbsp;</span>
5374
5225
  <span class="cline-any cline-neutral">&nbsp;</span>
5375
5226
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5379,7 +5230,7 @@
5379
5230
  <span class="cline-any cline-neutral">&nbsp;</span>
5380
5231
  <span class="cline-any cline-neutral">&nbsp;</span>
5381
5232
  <span class="cline-any cline-neutral">&nbsp;</span>
5382
- <span class="cline-any cline-yes">110x</span>
5233
+ <span class="cline-any cline-yes">97x</span>
5383
5234
  <span class="cline-any cline-neutral">&nbsp;</span>
5384
5235
  <span class="cline-any cline-neutral">&nbsp;</span>
5385
5236
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -5389,15 +5240,15 @@
5389
5240
  <span class="cline-any cline-neutral">&nbsp;</span>
5390
5241
  <span class="cline-any cline-neutral">&nbsp;</span>
5391
5242
  <span class="cline-any cline-neutral">&nbsp;</span>
5392
- <span class="cline-any cline-yes">110x</span>
5243
+ <span class="cline-any cline-yes">97x</span>
5393
5244
  <span class="cline-any cline-neutral">&nbsp;</span>
5394
5245
  <span class="cline-any cline-neutral">&nbsp;</span>
5395
5246
  <span class="cline-any cline-neutral">&nbsp;</span>
5396
5247
  <span class="cline-any cline-neutral">&nbsp;</span>
5397
5248
  <span class="cline-any cline-neutral">&nbsp;</span>
5398
- <span class="cline-any cline-yes">110x</span>
5399
- <span class="cline-any cline-yes">110x</span>
5400
- <span class="cline-any cline-yes">110x</span>
5249
+ <span class="cline-any cline-yes">97x</span>
5250
+ <span class="cline-any cline-yes">97x</span>
5251
+ <span class="cline-any cline-yes">97x</span>
5401
5252
  <span class="cline-any cline-neutral">&nbsp;</span>
5402
5253
  <span class="cline-any cline-neutral">&nbsp;</span>
5403
5254
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -6536,8 +6387,6 @@
6536
6387
  <span class="cline-any cline-neutral">&nbsp;</span>
6537
6388
  <span class="cline-any cline-no">&nbsp;</span>
6538
6389
  <span class="cline-any cline-no">&nbsp;</span>
6539
- <span class="cline-any cline-no">&nbsp;</span>
6540
- <span class="cline-any cline-no">&nbsp;</span>
6541
6390
  <span class="cline-any cline-neutral">&nbsp;</span>
6542
6391
  <span class="cline-any cline-neutral">&nbsp;</span>
6543
6392
  <span class="cline-any cline-no">&nbsp;</span>
@@ -8940,209 +8789,61 @@
8940
8789
  <span class="cline-any cline-neutral">&nbsp;</span>
8941
8790
  <span class="cline-any cline-neutral">&nbsp;</span>
8942
8791
  <span class="cline-any cline-neutral">&nbsp;</span>
8943
- <span class="cline-any cline-yes">110x</span>
8944
- <span class="cline-any cline-neutral">&nbsp;</span>
8945
- <span class="cline-any cline-neutral">&nbsp;</span>
8946
- <span class="cline-any cline-neutral">&nbsp;</span>
8947
- <span class="cline-any cline-neutral">&nbsp;</span>
8948
- <span class="cline-any cline-neutral">&nbsp;</span>
8949
- <span class="cline-any cline-yes">110x</span>
8950
- <span class="cline-any cline-neutral">&nbsp;</span>
8951
- <span class="cline-any cline-neutral">&nbsp;</span>
8952
- <span class="cline-any cline-neutral">&nbsp;</span>
8953
- <span class="cline-any cline-neutral">&nbsp;</span>
8954
- <span class="cline-any cline-neutral">&nbsp;</span>
8955
- <span class="cline-any cline-yes">110x</span>
8956
- <span class="cline-any cline-neutral">&nbsp;</span>
8957
- <span class="cline-any cline-neutral">&nbsp;</span>
8958
- <span class="cline-any cline-neutral">&nbsp;</span>
8959
- <span class="cline-any cline-neutral">&nbsp;</span>
8960
- <span class="cline-any cline-neutral">&nbsp;</span>
8961
- <span class="cline-any cline-yes">110x</span>
8962
- <span class="cline-any cline-neutral">&nbsp;</span>
8963
- <span class="cline-any cline-neutral">&nbsp;</span>
8964
- <span class="cline-any cline-neutral">&nbsp;</span>
8965
- <span class="cline-any cline-neutral">&nbsp;</span>
8966
- <span class="cline-any cline-neutral">&nbsp;</span>
8967
- <span class="cline-any cline-yes">110x</span>
8968
- <span class="cline-any cline-neutral">&nbsp;</span>
8969
- <span class="cline-any cline-neutral">&nbsp;</span>
8970
- <span class="cline-any cline-neutral">&nbsp;</span>
8971
- <span class="cline-any cline-neutral">&nbsp;</span>
8972
- <span class="cline-any cline-neutral">&nbsp;</span>
8973
- <span class="cline-any cline-yes">110x</span>
8974
- <span class="cline-any cline-neutral">&nbsp;</span>
8975
- <span class="cline-any cline-neutral">&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>
8979
- <span class="cline-any cline-yes">110x</span>
8980
- <span class="cline-any cline-neutral">&nbsp;</span>
8981
- <span class="cline-any cline-neutral">&nbsp;</span>
8982
- <span class="cline-any cline-neutral">&nbsp;</span>
8983
- <span class="cline-any cline-neutral">&nbsp;</span>
8984
- <span class="cline-any cline-neutral">&nbsp;</span>
8985
- <span class="cline-any cline-yes">110x</span>
8986
- <span class="cline-any cline-neutral">&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-yes">110x</span>
8992
- <span class="cline-any cline-neutral">&nbsp;</span>
8993
- <span class="cline-any cline-neutral">&nbsp;</span>
8994
- <span class="cline-any cline-neutral">&nbsp;</span>
8995
- <span class="cline-any cline-neutral">&nbsp;</span>
8996
- <span class="cline-any cline-neutral">&nbsp;</span>
8997
- <span class="cline-any cline-yes">110x</span>
8998
- <span class="cline-any cline-neutral">&nbsp;</span>
8999
- <span class="cline-any cline-neutral">&nbsp;</span>
9000
- <span class="cline-any cline-neutral">&nbsp;</span>
9001
- <span class="cline-any cline-neutral">&nbsp;</span>
9002
- <span class="cline-any cline-yes">110x</span>
9003
- <span class="cline-any cline-neutral">&nbsp;</span>
9004
- <span class="cline-any cline-neutral">&nbsp;</span>
9005
- <span class="cline-any cline-neutral">&nbsp;</span>
9006
- <span class="cline-any cline-neutral">&nbsp;</span>
9007
- <span class="cline-any cline-neutral">&nbsp;</span>
9008
- <span class="cline-any cline-no">&nbsp;</span>
9009
- <span class="cline-any cline-no">&nbsp;</span>
9010
- <span class="cline-any cline-no">&nbsp;</span>
9011
- <span class="cline-any cline-no">&nbsp;</span>
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-no">&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-no">&nbsp;</span>
9019
- <span class="cline-any cline-neutral">&nbsp;</span>
9020
- <span class="cline-any cline-neutral">&nbsp;</span>
9021
- <span class="cline-any cline-neutral">&nbsp;</span>
9022
- <span class="cline-any cline-neutral">&nbsp;</span>
9023
- <span class="cline-any cline-neutral">&nbsp;</span>
9024
- <span class="cline-any cline-no">&nbsp;</span>
9025
- <span class="cline-any cline-no">&nbsp;</span>
9026
- <span class="cline-any cline-no">&nbsp;</span>
9027
- <span class="cline-any cline-neutral">&nbsp;</span>
9028
- <span class="cline-any cline-no">&nbsp;</span>
8792
+ <span class="cline-any cline-yes">97x</span>
9029
8793
  <span class="cline-any cline-neutral">&nbsp;</span>
9030
8794
  <span class="cline-any cline-neutral">&nbsp;</span>
9031
8795
  <span class="cline-any cline-neutral">&nbsp;</span>
9032
8796
  <span class="cline-any cline-neutral">&nbsp;</span>
9033
8797
  <span class="cline-any cline-neutral">&nbsp;</span>
9034
- <span class="cline-any cline-neutral">&nbsp;</span>
9035
- <span class="cline-any cline-no">&nbsp;</span>
9036
- <span class="cline-any cline-no">&nbsp;</span>
9037
- <span class="cline-any cline-no">&nbsp;</span>
9038
- <span class="cline-any cline-neutral">&nbsp;</span>
9039
- <span class="cline-any cline-no">&nbsp;</span>
8798
+ <span class="cline-any cline-yes">97x</span>
9040
8799
  <span class="cline-any cline-neutral">&nbsp;</span>
9041
8800
  <span class="cline-any cline-neutral">&nbsp;</span>
9042
8801
  <span class="cline-any cline-neutral">&nbsp;</span>
9043
8802
  <span class="cline-any cline-neutral">&nbsp;</span>
9044
8803
  <span class="cline-any cline-neutral">&nbsp;</span>
8804
+ <span class="cline-any cline-yes">97x</span>
9045
8805
  <span class="cline-any cline-neutral">&nbsp;</span>
9046
- <span class="cline-any cline-no">&nbsp;</span>
9047
- <span class="cline-any cline-no">&nbsp;</span>
9048
- <span class="cline-any cline-no">&nbsp;</span>
9049
- <span class="cline-any cline-no">&nbsp;</span>
9050
- <span class="cline-any cline-no">&nbsp;</span>
9051
- <span class="cline-any cline-no">&nbsp;</span>
9052
- <span class="cline-any cline-neutral">&nbsp;</span>
9053
- <span class="cline-any cline-no">&nbsp;</span>
9054
8806
  <span class="cline-any cline-neutral">&nbsp;</span>
9055
8807
  <span class="cline-any cline-neutral">&nbsp;</span>
9056
- <span class="cline-any cline-no">&nbsp;</span>
9057
- <span class="cline-any cline-no">&nbsp;</span>
9058
8808
  <span class="cline-any cline-neutral">&nbsp;</span>
9059
- <span class="cline-any cline-no">&nbsp;</span>
9060
8809
  <span class="cline-any cline-neutral">&nbsp;</span>
8810
+ <span class="cline-any cline-yes">97x</span>
9061
8811
  <span class="cline-any cline-neutral">&nbsp;</span>
9062
- <span class="cline-any cline-no">&nbsp;</span>
9063
- <span class="cline-any cline-no">&nbsp;</span>
9064
8812
  <span class="cline-any cline-neutral">&nbsp;</span>
9065
- <span class="cline-any cline-no">&nbsp;</span>
9066
8813
  <span class="cline-any cline-neutral">&nbsp;</span>
9067
8814
  <span class="cline-any cline-neutral">&nbsp;</span>
9068
8815
  <span class="cline-any cline-neutral">&nbsp;</span>
8816
+ <span class="cline-any cline-yes">97x</span>
9069
8817
  <span class="cline-any cline-neutral">&nbsp;</span>
9070
8818
  <span class="cline-any cline-neutral">&nbsp;</span>
9071
8819
  <span class="cline-any cline-neutral">&nbsp;</span>
9072
8820
  <span class="cline-any cline-neutral">&nbsp;</span>
9073
8821
  <span class="cline-any cline-neutral">&nbsp;</span>
9074
- <span class="cline-any cline-no">&nbsp;</span>
9075
- <span class="cline-any cline-no">&nbsp;</span>
8822
+ <span class="cline-any cline-yes">97x</span>
9076
8823
  <span class="cline-any cline-neutral">&nbsp;</span>
9077
- <span class="cline-any cline-no">&nbsp;</span>
9078
- <span class="cline-any cline-no">&nbsp;</span>
9079
- <span class="cline-any cline-no">&nbsp;</span>
9080
- <span class="cline-any cline-no">&nbsp;</span>
9081
- <span class="cline-any cline-no">&nbsp;</span>
9082
8824
  <span class="cline-any cline-neutral">&nbsp;</span>
9083
8825
  <span class="cline-any cline-neutral">&nbsp;</span>
9084
- <span class="cline-any cline-no">&nbsp;</span>
9085
- <span class="cline-any cline-no">&nbsp;</span>
9086
8826
  <span class="cline-any cline-neutral">&nbsp;</span>
9087
- <span class="cline-any cline-no">&nbsp;</span>
9088
8827
  <span class="cline-any cline-neutral">&nbsp;</span>
8828
+ <span class="cline-any cline-yes">97x</span>
9089
8829
  <span class="cline-any cline-neutral">&nbsp;</span>
9090
8830
  <span class="cline-any cline-neutral">&nbsp;</span>
9091
- <span class="cline-any cline-no">&nbsp;</span>
9092
8831
  <span class="cline-any cline-neutral">&nbsp;</span>
9093
8832
  <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-no">&nbsp;</span>
9097
8833
  <span class="cline-any cline-neutral">&nbsp;</span>
9098
- <span class="cline-any cline-no">&nbsp;</span>
8834
+ <span class="cline-any cline-yes">97x</span>
9099
8835
  <span class="cline-any cline-neutral">&nbsp;</span>
9100
8836
  <span class="cline-any cline-neutral">&nbsp;</span>
9101
- <span class="cline-any cline-no">&nbsp;</span>
9102
8837
  <span class="cline-any cline-neutral">&nbsp;</span>
9103
8838
  <span class="cline-any cline-neutral">&nbsp;</span>
9104
8839
  <span class="cline-any cline-neutral">&nbsp;</span>
8840
+ <span class="cline-any cline-yes">97x</span>
9105
8841
  <span class="cline-any cline-neutral">&nbsp;</span>
9106
8842
  <span class="cline-any cline-neutral">&nbsp;</span>
9107
8843
  <span class="cline-any cline-neutral">&nbsp;</span>
9108
- <span class="cline-any cline-no">&nbsp;</span>
9109
- <span class="cline-any cline-no">&nbsp;</span>
9110
8844
  <span class="cline-any cline-neutral">&nbsp;</span>
9111
- <span class="cline-any cline-no">&nbsp;</span>
9112
- <span class="cline-any cline-no">&nbsp;</span>
9113
- <span class="cline-any cline-no">&nbsp;</span>
9114
- <span class="cline-any cline-no">&nbsp;</span>
9115
- <span class="cline-any cline-no">&nbsp;</span>
9116
- <span class="cline-any cline-neutral">&nbsp;</span>
9117
- <span class="cline-any cline-neutral">&nbsp;</span>
9118
- <span class="cline-any cline-no">&nbsp;</span>
9119
- <span class="cline-any cline-no">&nbsp;</span>
9120
- <span class="cline-any cline-neutral">&nbsp;</span>
9121
- <span class="cline-any cline-neutral">&nbsp;</span>
9122
- <span class="cline-any cline-neutral">&nbsp;</span>
9123
- <span class="cline-any cline-no">&nbsp;</span>
9124
- <span class="cline-any cline-no">&nbsp;</span>
9125
- <span class="cline-any cline-no">&nbsp;</span>
9126
- <span class="cline-any cline-no">&nbsp;</span>
9127
- <span class="cline-any cline-neutral">&nbsp;</span>
9128
- <span class="cline-any cline-neutral">&nbsp;</span>
9129
- <span class="cline-any cline-neutral">&nbsp;</span>
9130
- <span class="cline-any cline-no">&nbsp;</span>
9131
- <span class="cline-any cline-neutral">&nbsp;</span>
9132
- <span class="cline-any cline-neutral">&nbsp;</span>
9133
- <span class="cline-any cline-neutral">&nbsp;</span>
9134
- <span class="cline-any cline-no">&nbsp;</span>
9135
- <span class="cline-any cline-neutral">&nbsp;</span>
9136
- <span class="cline-any cline-neutral">&nbsp;</span>
9137
- <span class="cline-any cline-no">&nbsp;</span>
9138
- <span class="cline-any cline-no">&nbsp;</span>
9139
- <span class="cline-any cline-no">&nbsp;</span>
9140
- <span class="cline-any cline-neutral">&nbsp;</span>
9141
- <span class="cline-any cline-no">&nbsp;</span>
9142
- <span class="cline-any cline-neutral">&nbsp;</span>
9143
- <span class="cline-any cline-neutral">&nbsp;</span>
9144
- <span class="cline-any cline-no">&nbsp;</span>
9145
8845
  <span class="cline-any cline-neutral">&nbsp;</span>
8846
+ <span class="cline-any cline-yes">97x</span>
9146
8847
  <span class="cline-any cline-neutral">&nbsp;</span>
9147
8848
  <span class="cline-any cline-neutral">&nbsp;</span>
9148
8849
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9236,7 +8937,7 @@
9236
8937
  <span class="cline-any cline-no">&nbsp;</span>
9237
8938
  <span class="cline-any cline-neutral">&nbsp;</span>
9238
8939
  <span class="cline-any cline-neutral">&nbsp;</span>
9239
- <span class="cline-any cline-yes">110x</span>
8940
+ <span class="cline-any cline-yes">97x</span>
9240
8941
  <span class="cline-any cline-neutral">&nbsp;</span>
9241
8942
  <span class="cline-any cline-neutral">&nbsp;</span>
9242
8943
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9392,8 +9093,6 @@
9392
9093
  <span class="cline-any cline-neutral">&nbsp;</span>
9393
9094
  <span class="cline-any cline-neutral">&nbsp;</span>
9394
9095
  <span class="cline-any cline-neutral">&nbsp;</span>
9395
- <span class="cline-any cline-neutral">&nbsp;</span>
9396
- <span class="cline-any cline-neutral">&nbsp;</span>
9397
9096
  <span class="cline-any cline-no">&nbsp;</span>
9398
9097
  <span class="cline-any cline-neutral">&nbsp;</span>
9399
9098
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9403,8 +9102,6 @@
9403
9102
  <span class="cline-any cline-neutral">&nbsp;</span>
9404
9103
  <span class="cline-any cline-neutral">&nbsp;</span>
9405
9104
  <span class="cline-any cline-neutral">&nbsp;</span>
9406
- <span class="cline-any cline-neutral">&nbsp;</span>
9407
- <span class="cline-any cline-neutral">&nbsp;</span>
9408
9105
  <span class="cline-any cline-no">&nbsp;</span>
9409
9106
  <span class="cline-any cline-no">&nbsp;</span>
9410
9107
  <span class="cline-any cline-no">&nbsp;</span>
@@ -9572,16 +9269,32 @@
9572
9269
  <span class="cline-any cline-no">&nbsp;</span>
9573
9270
  <span class="cline-any cline-no">&nbsp;</span>
9574
9271
  <span class="cline-any cline-no">&nbsp;</span>
9272
+ <span class="cline-any cline-no">&nbsp;</span>
9575
9273
  <span class="cline-any cline-neutral">&nbsp;</span>
9576
9274
  <span class="cline-any cline-neutral">&nbsp;</span>
9275
+ <span class="cline-any cline-no">&nbsp;</span>
9276
+ <span class="cline-any cline-no">&nbsp;</span>
9577
9277
  <span class="cline-any cline-neutral">&nbsp;</span>
9578
- <span class="cline-any cline-neutral">&nbsp;</span>
9579
9278
  <span class="cline-any cline-no">&nbsp;</span>
9580
9279
  <span class="cline-any cline-no">&nbsp;</span>
9581
9280
  <span class="cline-any cline-no">&nbsp;</span>
9281
+ <span class="cline-any cline-neutral">&nbsp;</span>
9282
+ <span class="cline-any cline-neutral">&nbsp;</span>
9283
+ <span class="cline-any cline-neutral">&nbsp;</span>
9284
+ <span class="cline-any cline-neutral">&nbsp;</span>
9285
+ <span class="cline-any cline-no">&nbsp;</span>
9286
+ <span class="cline-any cline-neutral">&nbsp;</span>
9287
+ <span class="cline-any cline-neutral">&nbsp;</span>
9288
+ <span class="cline-any cline-neutral">&nbsp;</span>
9289
+ <span class="cline-any cline-no">&nbsp;</span>
9582
9290
  <span class="cline-any cline-no">&nbsp;</span>
9583
9291
  <span class="cline-any cline-neutral">&nbsp;</span>
9584
9292
  <span class="cline-any cline-neutral">&nbsp;</span>
9293
+ <span class="cline-any cline-neutral">&nbsp;</span>
9294
+ <span class="cline-any cline-no">&nbsp;</span>
9295
+ <span class="cline-any cline-no">&nbsp;</span>
9296
+ <span class="cline-any cline-no">&nbsp;</span>
9297
+ <span class="cline-any cline-neutral">&nbsp;</span>
9585
9298
  <span class="cline-any cline-no">&nbsp;</span>
9586
9299
  <span class="cline-any cline-neutral">&nbsp;</span>
9587
9300
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9594,6 +9307,7 @@
9594
9307
  <span class="cline-any cline-neutral">&nbsp;</span>
9595
9308
  <span class="cline-any cline-neutral">&nbsp;</span>
9596
9309
  <span class="cline-any cline-neutral">&nbsp;</span>
9310
+ <span class="cline-any cline-no">&nbsp;</span>
9597
9311
  <span class="cline-any cline-neutral">&nbsp;</span>
9598
9312
  <span class="cline-any cline-neutral">&nbsp;</span>
9599
9313
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9618,7 +9332,7 @@
9618
9332
  <span class="cline-any cline-neutral">&nbsp;</span>
9619
9333
  <span class="cline-any cline-neutral">&nbsp;</span>
9620
9334
  <span class="cline-any cline-neutral">&nbsp;</span>
9621
- <span class="cline-any cline-yes">110x</span>
9335
+ <span class="cline-any cline-yes">97x</span>
9622
9336
  <span class="cline-any cline-neutral">&nbsp;</span>
9623
9337
  <span class="cline-any cline-neutral">&nbsp;</span>
9624
9338
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -9633,7 +9347,7 @@
9633
9347
  <span class="cline-any cline-yes">2x</span>
9634
9348
  <span class="cline-any cline-neutral">&nbsp;</span>
9635
9349
  <span class="cline-any cline-neutral">&nbsp;</span>
9636
- <span class="cline-any cline-yes">110x</span>
9350
+ <span class="cline-any cline-yes">97x</span>
9637
9351
  <span class="cline-any cline-neutral">&nbsp;</span>
9638
9352
  <span class="cline-any cline-neutral">&nbsp;</span>
9639
9353
  <span class="cline-any cline-no">&nbsp;</span>
@@ -10061,14 +9775,15 @@
10061
9775
  <span class="cline-any cline-neutral">&nbsp;</span>
10062
9776
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { queryNodeByPath } from '../service/storage/jsoner';
10063
9777
  import { getNaslNodeByNodeCallee, getNodeByNodeCallee } from '../automate/engine/utils';
10064
- import type ConfigProperty from './ConfigProperty__';
10065
- import type TypeAnnotation from './TypeAnnotation__';
10066
- import type View from './View__';
10067
- import type AuthInterface from './AuthInterface__';
10068
- import type Interface from './Interface__';
10069
- import type Frontend from './Frontend__';
9778
+ import ConfigProperty from './ConfigProperty__';
9779
+ import TypeAnnotation from './TypeAnnotation__';
9780
+ import View from './View__';
9781
+ import AuthInterface from './AuthInterface__';
9782
+ import Interface from './Interface__';
10070
9783
  import { CUSTOM_CONNECTOR_EDITABLE_SUFFIX } from './basics/constants';
10071
9784
  &nbsp;
9785
+ // import CallLogic from './CallLogic__';
9786
+ &nbsp;
10072
9787
  export interface AssetsInfo {
10073
9788
  js: Array&lt;string&gt;;
10074
9789
  css: Array&lt;string&gt;;
@@ -10094,19 +9809,12 @@ interface compilerInfoMapProps {
10094
9809
  js?: { prefix: string };
10095
9810
  }
10096
9811
  &nbsp;
10097
- type composeCacheType = {
10098
- [key: string]: composeCacheType,
10099
- } &amp; {
10100
- nodes?: any[];
10101
- };
10102
- &nbsp;
10103
- &nbsp;
10104
9812
  //================================================================================
10105
9813
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
10106
9814
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
10107
9815
  //================================================================================
10108
9816
  import { EventPayload, Params } from '../common/EventEmitter';
10109
- import { concept, excludedInJSON, property, getConceptConstructor } from '../decorators';
9817
+ import { concept, excludedInJSON, property, getConceptConstructor, getBaseNode } from '../decorators';
10110
9818
  &nbsp;
10111
9819
  import * as utils from '../utils';
10112
9820
  import * as types from './utils/types';
@@ -10119,7 +9827,7 @@ import type Enum from './Enum__';
10119
9827
  import type Logic from './Logic__';
10120
9828
  import type OverriddenLogic from './OverriddenLogic__';
10121
9829
  import type AbstractInterface from './AbstractInterface__';
10122
- import type FrontendType from './FrontendType__';
9830
+ import type Frontend from './Frontend__';
10123
9831
  import Backend from './Backend__';
10124
9832
  import type Process from './Process__';
10125
9833
  import type Role from './Role__';
@@ -10266,14 +9974,14 @@ export class App extends BaseNode {
10266
9974
  interfaces: Array&lt;AbstractInterface&gt; = [];
10267
9975
  &nbsp;
10268
9976
  /**
10269
- * 端类型列表
9977
+ * 前端列表
10270
9978
  */
10271
9979
  @property({
10272
- objectRef: 'FrontendType',
9980
+ objectRef: 'Frontend',
10273
9981
  isArray: true,
10274
9982
  defaultValue: [],
10275
9983
  })
10276
- frontendTypes: Array&lt;FrontendType&gt; = [];
9984
+ frontends: Array&lt;Frontend&gt; = [];
10277
9985
  &nbsp;
10278
9986
  /**
10279
9987
  * 后端
@@ -11531,158 +11239,156 @@ export class App extends BaseNode {
11531
11239
  <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getAbstractInterfaceExistingNames(), undefined, true);</span>
11532
11240
  }
11533
11241
  &nbsp;
11534
- <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>
11242
+ <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>
11535
11243
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
11536
- <span class="cstat-no" title="statement not covered" > return ((this.frontendTypes as FrontendType[]) || [])</span>
11537
- .filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >!</span>excludedSet.has(item))</span>
11538
- .map((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem?.name)</span>;
11244
+ <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>
11539
11245
  }
11540
- <span class="fstat-no" title="function not covered" > getFrontendTypeUniqueName(n</span>ame = <span class="branch-0 cbranch-no" title="branch not covered" >'frontendType1') {</span>
11541
- <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getFrontendTypeExistingNames(), undefined, true);</span>
11246
+ <span class="fstat-no" title="function not covered" > getFrontendUniqueName(n</span>ame = <span class="branch-0 cbranch-no" title="branch not covered" >'frontend1') {</span>
11247
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getFrontendExistingNames(), undefined, true);</span>
11542
11248
  }
11543
11249
  &nbsp;
11544
11250
  /**
11545
- * 插入端类型
11251
+ * 插入前端
11546
11252
  * @internal
11547
- * @param name 端类型名称,如果不填会自动生成一个唯一名称
11253
+ * @param name 前端名称,如果不填会自动生成一个唯一名称
11548
11254
  */
11549
- _insertFrontendTypeAt(name: string, index: number): FrontendType;
11255
+ _insertFrontendAt(name: string, index: number): Frontend;
11550
11256
  &nbsp;
11551
11257
  /**
11552
- * 插入端类型
11258
+ * 插入前端
11553
11259
  * @internal
11554
- * @param frontendTypeOptions 端类型参数
11260
+ * @param frontendOptions 前端参数
11555
11261
  */
11556
- _insertFrontendTypeAt(frontendTypeOptions: Partial&lt;FrontendType&gt;, index: number): FrontendType;
11262
+ _insertFrontendAt(frontendOptions: Partial&lt;Frontend&gt;, index: number): Frontend;
11557
11263
  &nbsp;
11558
11264
  /**
11559
- * 插入端类型
11265
+ * 插入前端
11560
11266
  * @internal
11561
- * @param frontendType 已有的端类型实例
11267
+ * @param frontend 已有的前端实例
11562
11268
  */
11563
- _insertFrontendTypeAt(frontendType: FrontendType, index: number): FrontendType;
11269
+ _insertFrontendAt(frontend: Frontend, index: number): Frontend;
11564
11270
  &nbsp;
11565
- <span class="fstat-no" title="function not covered" > _insertFrontendTypeAt(o</span>ptions: string | Partial&lt;FrontendType&gt; | FrontendType, index: number) {
11566
- const frontendTypeOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
11567
- const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'frontendTypes' };</span>
11568
- const <span class="cstat-no" title="statement not covered" >FrontendType = getConceptConstructor('FrontendType');</span>
11569
- let frontendType: FrontendType;
11271
+ <span class="fstat-no" title="function not covered" > _insertFrontendAt(o</span>ptions: string | Partial&lt;Frontend&gt; | Frontend, index: number) {
11272
+ const frontendOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
11273
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'frontends' };</span>
11274
+ const <span class="cstat-no" title="statement not covered" >Frontend = getConceptConstructor('Frontend');</span>
11275
+ let frontend: Frontend;
11570
11276
  <span class="cstat-no" title="statement not covered" > if (!options) {</span>
11571
- <span class="cstat-no" title="statement not covered" > frontendType = FrontendType.from(</span>
11277
+ <span class="cstat-no" title="statement not covered" > frontend = Frontend.from(</span>
11572
11278
  {
11573
- ...frontendTypeOptions,
11574
- name: this.getFrontendTypeUniqueName(),
11279
+ ...frontendOptions,
11280
+ name: this.getFrontendUniqueName(),
11575
11281
  },
11576
11282
  this,
11577
- 'frontendTypes',
11283
+ 'frontends',
11578
11284
  );
11579
11285
  <span class="cstat-no" title="statement not covered" > } else if (typeof options === 'string') {</span>
11580
- <span class="cstat-no" title="statement not covered" > frontendType = FrontendType.from(</span>
11286
+ <span class="cstat-no" title="statement not covered" > frontend = Frontend.from(</span>
11581
11287
  {
11582
- ...frontendTypeOptions,
11288
+ ...frontendOptions,
11583
11289
  name: options,
11584
11290
  },
11585
11291
  this,
11586
- 'frontendTypes',
11292
+ 'frontends',
11587
11293
  );
11588
- <span class="cstat-no" title="statement not covered" > } else if (asserts.isFrontendType(options)) {</span>
11294
+ <span class="cstat-no" title="statement not covered" > } else if (asserts.isFrontend(options)) {</span>
11589
11295
  <span class="cstat-no" title="statement not covered" > options.ensureDelete(); // 同一实例不支持多处存在</span>
11590
- <span class="cstat-no" title="statement not covered" > frontendType = options;</span>
11591
- <span class="cstat-no" title="statement not covered" > Object.assign(frontendType, relationOptions);</span>
11296
+ <span class="cstat-no" title="statement not covered" > frontend = options;</span>
11297
+ <span class="cstat-no" title="statement not covered" > Object.assign(frontend, relationOptions);</span>
11592
11298
  } else {
11593
- <span class="cstat-no" title="statement not covered" > frontendType = FrontendType.from(</span>
11299
+ <span class="cstat-no" title="statement not covered" > frontend = Frontend.from(</span>
11594
11300
  {
11595
- ...frontendTypeOptions,
11301
+ ...frontendOptions,
11596
11302
  ...options,
11597
11303
  },
11598
11304
  this,
11599
- 'frontendTypes',
11305
+ 'frontends',
11600
11306
  );
11601
11307
  }
11602
- <span class="cstat-no" title="statement not covered" > this.frontendTypes.splice(index, 0, frontendType);</span>
11603
- <span class="cstat-no" title="statement not covered" > return frontendType;</span>
11308
+ <span class="cstat-no" title="statement not covered" > this.frontends.splice(index, 0, frontend);</span>
11309
+ <span class="cstat-no" title="statement not covered" > return frontend;</span>
11604
11310
  }
11605
11311
  &nbsp;
11606
11312
  /**
11607
- * 插入端类型
11608
- * @param name 端类型名称,如果不填会自动生成一个唯一名称
11313
+ * 插入前端
11314
+ * @param name 前端名称,如果不填会自动生成一个唯一名称
11609
11315
  */
11610
- insertFrontendTypeAt(name: string, index: number): FrontendType;
11316
+ insertFrontendAt(name: string, index: number): Frontend;
11611
11317
  &nbsp;
11612
11318
  /**
11613
- * 插入端类型
11614
- * @param frontendTypeOptions 端类型参数
11319
+ * 插入前端
11320
+ * @param frontendOptions 前端参数
11615
11321
  */
11616
- insertFrontendTypeAt(frontendTypeOptions: Partial&lt;FrontendType&gt;, index: number): FrontendType;
11322
+ insertFrontendAt(frontendOptions: Partial&lt;Frontend&gt;, index: number): Frontend;
11617
11323
  &nbsp;
11618
11324
  /**
11619
- * 插入端类型
11620
- * @param frontendType 已有的端类型实例
11325
+ * 插入前端
11326
+ * @param frontend 已有的前端实例
11621
11327
  */
11622
- insertFrontendTypeAt(frontendType: FrontendType, index: number): FrontendType;
11328
+ insertFrontendAt(frontend: Frontend, index: number): Frontend;
11623
11329
  &nbsp;
11624
- <span class="fstat-no" title="function not covered" > insertFrontendTypeAt(o</span>ptions: string | Partial&lt;FrontendType&gt; | FrontendType, index: number) {
11625
- const node = <span class="cstat-no" title="statement not covered" >this._insertFrontendTypeAt(options as any, index);</span>
11330
+ <span class="fstat-no" title="function not covered" > insertFrontendAt(o</span>ptions: string | Partial&lt;Frontend&gt; | Frontend, index: number) {
11331
+ const node = <span class="cstat-no" title="statement not covered" >this._insertFrontendAt(options as any, index);</span>
11626
11332
  <span class="cstat-no" title="statement not covered" > node.create({</span>
11627
11333
  index,
11628
11334
  parentNode: this,
11629
- parentKey: 'frontendTypes',
11335
+ parentKey: 'frontends',
11630
11336
  });
11631
11337
  <span class="cstat-no" title="statement not covered" > return node;</span>
11632
11338
  }
11633
11339
  &nbsp;
11634
11340
  /**
11635
- * 添加端类型
11341
+ * 添加前端
11636
11342
  * @internal
11637
- * @param name 端类型名称,如果不填会自动生成一个唯一名称
11343
+ * @param name 前端名称,如果不填会自动生成一个唯一名称
11638
11344
  */
11639
- _addFrontendType(name?: string): FrontendType;
11345
+ _addFrontend(name?: string): Frontend;
11640
11346
  &nbsp;
11641
11347
  /**
11642
- * 添加端类型
11348
+ * 添加前端
11643
11349
  * @internal
11644
- * @param frontendTypeOptions 端类型参数
11350
+ * @param frontendOptions 前端参数
11645
11351
  */
11646
- _addFrontendType(frontendTypeOptions: Partial&lt;FrontendType&gt;): FrontendType;
11352
+ _addFrontend(frontendOptions: Partial&lt;Frontend&gt;): Frontend;
11647
11353
  &nbsp;
11648
11354
  /**
11649
- * 添加端类型
11355
+ * 添加前端
11650
11356
  * @internal
11651
- * @param frontendType 已有的端类型实例
11357
+ * @param frontend 已有的前端实例
11652
11358
  */
11653
- _addFrontendType(frontendType: FrontendType): FrontendType;
11359
+ _addFrontend(frontend: Frontend): Frontend;
11654
11360
  &nbsp;
11655
- <span class="fstat-no" title="function not covered" > _addFrontendType(o</span>ptions?: string | Partial&lt;FrontendType&gt; | FrontendType) {
11656
- const index = <span class="cstat-no" title="statement not covered" >this.frontendTypes.length;</span>
11657
- <span class="cstat-no" title="statement not covered" > return this._insertFrontendTypeAt(options as any, index);</span>
11361
+ <span class="fstat-no" title="function not covered" > _addFrontend(o</span>ptions?: string | Partial&lt;Frontend&gt; | Frontend) {
11362
+ const index = <span class="cstat-no" title="statement not covered" >this.frontends.length;</span>
11363
+ <span class="cstat-no" title="statement not covered" > return this._insertFrontendAt(options as any, index);</span>
11658
11364
  }
11659
11365
  &nbsp;
11660
11366
  /**
11661
- * 添加端类型
11367
+ * 添加前端
11662
11368
  * @internal
11663
- * @param name 端类型名称,如果不填会自动生成一个唯一名称
11369
+ * @param name 前端名称,如果不填会自动生成一个唯一名称
11664
11370
  */
11665
- addFrontendType(name?: string): FrontendType;
11371
+ addFrontend(name?: string): Frontend;
11666
11372
  &nbsp;
11667
11373
  /**
11668
- * 添加端类型
11669
- * @param frontendTypeOptions 端类型参数
11374
+ * 添加前端
11375
+ * @param frontendOptions 前端参数
11670
11376
  */
11671
- addFrontendType(frontendTypeOptions: Partial&lt;FrontendType&gt;): FrontendType;
11377
+ addFrontend(frontendOptions: Partial&lt;Frontend&gt;): Frontend;
11672
11378
  &nbsp;
11673
11379
  /**
11674
- * 添加端类型
11675
- * @param frontendType 已有的端类型实例
11380
+ * 添加前端
11381
+ * @param frontend 已有的前端实例
11676
11382
  */
11677
- addFrontendType(frontendType: FrontendType): FrontendType;
11383
+ addFrontend(frontend: Frontend): Frontend;
11678
11384
  &nbsp;
11679
- <span class="fstat-no" title="function not covered" > addFrontendType(o</span>ptions?: string | Partial&lt;FrontendType&gt; | FrontendType) {
11680
- const node = <span class="cstat-no" title="statement not covered" >this._addFrontendType(options as any);</span>
11681
- const index = <span class="cstat-no" title="statement not covered" >this.frontendTypes.indexOf(node);</span>
11385
+ <span class="fstat-no" title="function not covered" > addFrontend(o</span>ptions?: string | Partial&lt;Frontend&gt; | Frontend) {
11386
+ const node = <span class="cstat-no" title="statement not covered" >this._addFrontend(options as any);</span>
11387
+ const index = <span class="cstat-no" title="statement not covered" >this.frontends.indexOf(node);</span>
11682
11388
  <span class="cstat-no" title="statement not covered" > node.create({</span>
11683
11389
  index,
11684
11390
  parentNode: this,
11685
- parentKey: 'frontendTypes',
11391
+ parentKey: 'frontends',
11686
11392
  });
11687
11393
  <span class="cstat-no" title="statement not covered" > return node;</span>
11688
11394
  }
@@ -13300,45 +13006,45 @@ export class App extends BaseNode {
13300
13006
  }
13301
13007
  &nbsp;
13302
13008
  /**
13303
- * 删除端类型
13304
- * @param name 端类型名称
13009
+ * 删除前端
13010
+ * @param name 前端名称
13305
13011
  */
13306
- removeFrontendType(name: string): void;
13012
+ removeFrontend(name: string): void;
13307
13013
  &nbsp;
13308
13014
  /**
13309
- * 删除端类型
13310
- * @param frontendType 已有的端类型实例
13015
+ * 删除前端
13016
+ * @param frontend 已有的前端实例
13311
13017
  */
13312
- removeFrontendType(frontendType: FrontendType): void;
13018
+ removeFrontend(frontend: Frontend): void;
13313
13019
  &nbsp;
13314
- <span class="fstat-no" title="function not covered" > removeFrontendType(o</span>ptions: string | FrontendType) {
13315
- let frontendType: FrontendType;
13020
+ <span class="fstat-no" title="function not covered" > removeFrontend(o</span>ptions: string | Frontend) {
13021
+ let frontend: Frontend;
13316
13022
  <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
13317
- <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>
13318
- <span class="cstat-no" title="statement not covered" > if (!frontendType) {</span>
13319
- <span class="cstat-no" title="statement not covered" > throw new Error('找不到端类型 ' + options);</span>
13023
+ <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>
13024
+ <span class="cstat-no" title="statement not covered" > if (!frontend) {</span>
13025
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到前端 ' + options);</span>
13320
13026
  }
13321
13027
  } else {
13322
- <span class="cstat-no" title="statement not covered" > frontendType = options;</span>
13028
+ <span class="cstat-no" title="statement not covered" > frontend = options;</span>
13323
13029
  }
13324
- <span class="cstat-no" title="statement not covered" > return frontendType.delete();</span>
13030
+ <span class="cstat-no" title="statement not covered" > return frontend.delete();</span>
13325
13031
  }
13326
13032
  &nbsp;
13327
- <span class="fstat-no" title="function not covered" > __removeFrontendType(f</span>rontendType: FrontendType) {
13328
- const parentKey = <span class="cstat-no" title="statement not covered" >frontendType.parentKey;</span>
13033
+ <span class="fstat-no" title="function not covered" > __removeFrontend(f</span>rontend: Frontend) {
13034
+ const parentKey = <span class="cstat-no" title="statement not covered" >frontend.parentKey;</span>
13329
13035
  const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
13330
13036
  parentNode: this,
13331
13037
  parentKey,
13332
13038
  index: -1,
13333
13039
  object: null,
13334
- oldObject: frontendType,
13040
+ oldObject: frontend,
13335
13041
  };
13336
13042
  <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
13337
13043
  <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
13338
13044
  // @ts-ignore
13339
13045
  const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
13340
13046
  // @ts-ignore
13341
- const n = <span class="cstat-no" title="statement not covered" >frontendType.__v_raw || frontendType;</span>
13047
+ const n = <span class="cstat-no" title="statement not covered" >frontend.__v_raw || frontend;</span>
13342
13048
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
13343
13049
  // @ts-ignore
13344
13050
  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>
@@ -13993,154 +13699,6 @@ export class App extends BaseNode {
13993
13699
  */
13994
13700
  @property()
13995
13701
  preferenceMap: Record&lt;string, string&gt; = {};
13996
- &nbsp;
13997
- /**
13998
- * 组合节点缓存
13999
- */
14000
- composeCache: composeCacheType = {};
14001
- &nbsp;
14002
- /**
14003
- * 判断缓存是否为空
14004
- */
14005
- <span class="fstat-no" title="function not covered" > isComposeCacheEmpty() {</span>
14006
- const isEmpty = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >c</span>omposeCache: composeCacheType):boolean =&gt; {</span>
14007
- let result = <span class="cstat-no" title="statement not covered" >true;</span>
14008
- <span class="cstat-no" title="statement not covered" > for (let key in composeCache) {</span>
14009
- <span class="cstat-no" title="statement not covered" > if (key !== 'nodes') {</span>
14010
- <span class="cstat-no" title="statement not covered" > result = result &amp;&amp; isEmpty(composeCache[key]);</span>
14011
- }
14012
- }
14013
- <span class="cstat-no" title="statement not covered" > return result &amp;&amp; !composeCache?.nodes?.length;</span>
14014
- };
14015
- &nbsp;
14016
- <span class="cstat-no" title="statement not covered" > return isEmpty(this.composeCache);</span>
14017
- }
14018
- /**
14019
- * 获取组合节点
14020
- */
14021
- <span class="fstat-no" title="function not covered" > getCompose(p</span>ath: string[]) {
14022
- let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
14023
- <span class="cstat-no" title="statement not covered" > path.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
14024
- <span class="cstat-no" title="statement not covered" > compose = compose?.[key];</span>
14025
- });
14026
- <span class="cstat-no" title="statement not covered" > return compose || null;</span>
14027
- }
14028
- &nbsp;
14029
- /**
14030
- * 获取组合节点
14031
- */
14032
- <span class="fstat-no" title="function not covered" > getComposeNodes(p</span>ath: string[]) {
14033
- let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
14034
- <span class="cstat-no" title="statement not covered" > path.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
14035
- <span class="cstat-no" title="statement not covered" > compose = compose?.[key];</span>
14036
- });
14037
- <span class="cstat-no" title="statement not covered" > return compose?.nodes || [];</span>
14038
- }
14039
- &nbsp;
14040
- /**
14041
- * 往组合内添加节点
14042
- */
14043
- <span class="fstat-no" title="function not covered" > addComposeNodes(p</span>ath: string[], node: BaseNode | BaseNode[]) {
14044
- let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
14045
- <span class="cstat-no" title="statement not covered" > path.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) =&gt; {</span>
14046
- <span class="cstat-no" title="statement not covered" > if (index === path.length - 1) {</span>
14047
- <span class="cstat-no" title="statement not covered" > if (compose?.[key]?.nodes) {</span>
14048
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(node)) {</span>
14049
- <span class="cstat-no" title="statement not covered" > compose[key].nodes.push(...node);</span>
14050
- } else {
14051
- <span class="cstat-no" title="statement not covered" > compose[key].nodes.push(node);</span>
14052
- }
14053
- } else {
14054
- <span class="cstat-no" title="statement not covered" > if (!compose?.[key]) {</span>
14055
- <span class="cstat-no" title="statement not covered" > compose[key] = {};</span>
14056
- }
14057
- <span class="cstat-no" title="statement not covered" > compose[key].nodes = Array.isArray(node) ? node : [node];</span>
14058
- }
14059
- } else {
14060
- <span class="cstat-no" title="statement not covered" > if (!compose?.[key]) {</span>
14061
- <span class="cstat-no" title="statement not covered" > compose[key] = {};</span>
14062
- }
14063
- <span class="cstat-no" title="statement not covered" > compose = compose[key];</span>
14064
- }
14065
- });
14066
- }
14067
- &nbsp;
14068
- /**
14069
- * 删除分组, 包括子集
14070
- */
14071
- <span class="fstat-no" title="function not covered" > deleteCompose(p</span>ath: string[]) {
14072
- <span class="cstat-no" title="statement not covered" > if (!Array.isArray(path)) <span class="cstat-no" title="statement not covered" >return;</span></span>
14073
- let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
14074
- &nbsp;
14075
- const delNodes = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >_</span>compose: composeCacheType) =&gt; {</span>
14076
- <span class="cstat-no" title="statement not covered" > if (_compose?.nodes) {</span>
14077
- <span class="cstat-no" title="statement not covered" > for(let key in _compose) {</span>
14078
- <span class="cstat-no" title="statement not covered" > if (key !== 'nodes') {</span>
14079
- <span class="cstat-no" title="statement not covered" > delNodes(_compose[key]);</span>
14080
- }
14081
- }
14082
- <span class="cstat-no" title="statement not covered" > _compose.nodes.forEach((<span class="fstat-no" title="function not covered" >node) =&gt; {</span></span>
14083
- <span class="cstat-no" title="statement not covered" > node.delete();</span>
14084
- })
14085
- <span class="cstat-no" title="statement not covered" > _compose.nodes = [];</span>
14086
- }
14087
- }
14088
- &nbsp;
14089
- <span class="cstat-no" title="statement not covered" > this.emit('collect:start', {</span>
14090
- actionMsg: '删除同一分组节点',
14091
- });
14092
- <span class="cstat-no" title="statement not covered" > path.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) =&gt; {</span>
14093
- <span class="cstat-no" title="statement not covered" > if (index === path.length - 1) {</span>
14094
- <span class="cstat-no" title="statement not covered" > delNodes(compose?.[key]);</span>
14095
- } else {
14096
- <span class="cstat-no" title="statement not covered" > compose = compose[key];</span>
14097
- }
14098
- });
14099
- <span class="cstat-no" title="statement not covered" > this.emit('collect:end');</span>
14100
- }
14101
- &nbsp;
14102
- /**
14103
- * 释放分组内所有节点, 包括子分组
14104
- */
14105
- <span class="fstat-no" title="function not covered" > releaseComposeNode(p</span>ath: string[]) {
14106
- <span class="cstat-no" title="statement not covered" > if (!Array.isArray(path)) <span class="cstat-no" title="statement not covered" >return;</span></span>
14107
- let compose = <span class="cstat-no" title="statement not covered" >this.composeCache;</span>
14108
- &nbsp;
14109
- const releaseNodes = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >_</span>compose: composeCacheType) =&gt; {</span>
14110
- <span class="cstat-no" title="statement not covered" > if (_compose?.nodes) {</span>
14111
- <span class="cstat-no" title="statement not covered" > for(let key in _compose) {</span>
14112
- <span class="cstat-no" title="statement not covered" > if (key !== 'nodes') {</span>
14113
- <span class="cstat-no" title="statement not covered" > releaseNodes(_compose[key]);</span>
14114
- }
14115
- }
14116
- <span class="cstat-no" title="statement not covered" > _compose.nodes.forEach((<span class="fstat-no" title="function not covered" >node) =&gt; {</span></span>
14117
- <span class="cstat-no" title="statement not covered" > node.update({</span>
14118
- composedBy:undefined
14119
- })
14120
- // 临时兼容性代码,后续抽离成插件化
14121
- <span class="cstat-no" title="statement not covered" > if (node.tag === 'u-linear-layout') {</span>
14122
- const attr = <span class="cstat-no" title="statement not covered" >node.bindAttrs.find((<span class="fstat-no" title="function not covered" >it:any) =&gt; <span class="cstat-no" title="statement not covered" >i</span>t.name === 'TableDesignerLocked')</span>;</span>
14123
- <span class="cstat-no" title="statement not covered" > if (attr) {</span>
14124
- <span class="cstat-no" title="statement not covered" > attr.delete();</span>
14125
- }
14126
- }
14127
- })
14128
- <span class="cstat-no" title="statement not covered" > _compose.nodes = [];</span>
14129
- }
14130
- }
14131
- &nbsp;
14132
- <span class="cstat-no" title="statement not covered" > this.emit('collect:start', {</span>
14133
- actionMsg: '释放节点',
14134
- });
14135
- <span class="cstat-no" title="statement not covered" > path.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) =&gt; {</span>
14136
- <span class="cstat-no" title="statement not covered" > if (index === path.length - 1) {</span>
14137
- <span class="cstat-no" title="statement not covered" > releaseNodes(compose?.[key]);</span>
14138
- } else {
14139
- <span class="cstat-no" title="statement not covered" > compose = compose[key];</span>
14140
- }
14141
- });
14142
- <span class="cstat-no" title="statement not covered" > this.emit('collect:end');</span>
14143
- }
14144
13702
  &nbsp;
14145
13703
  /**
14146
13704
  * 获取命名空间
@@ -14187,7 +13745,7 @@ export class App extends BaseNode {
14187
13745
  <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>
14188
13746
  } else {
14189
13747
  <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>
14190
- }
13748
+ }
14191
13749
  }
14192
13750
  <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>
14193
13751
  <span class="cstat-no" title="statement not covered" > if (!node) {</span>
@@ -14280,10 +13838,10 @@ export class App extends BaseNode {
14280
13838
  names: [],
14281
13839
  },
14282
13840
  };
14283
- 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>
13841
+ 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>
14284
13842
  const existingSet = <span class="cstat-no" title="statement not covered" >new Set();</span>
14285
- <span class="cstat-no" title="statement not covered" > frontendTypes.forEach((<span class="fstat-no" title="function not covered" >frontendType) =&gt; {</span></span>
14286
- <span class="cstat-no" title="statement not covered" > frontendType.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
13843
+ <span class="cstat-no" title="statement not covered" > frontends.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
13844
+ <span class="cstat-no" title="statement not covered" > frontend.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
14287
13845
  const { name, version } = <span class="cstat-no" title="statement not covered" >dep;</span>
14288
13846
  const jsName = <span class="cstat-no" title="statement not covered" >`${prefix}/packages/${name}@${version}/dist-theme/index.js`;</span>
14289
13847
  <span class="cstat-no" title="statement not covered" > if (!existingSet.has(jsName)) {</span>
@@ -14390,11 +13948,7 @@ export class App extends BaseNode {
14390
13948
  structureCount: this.structures.length,
14391
13949
  enumCount: this.enums.length,
14392
13950
  logicCount: this.logics.length,
14393
- viewCount: sum(
14394
- this.frontendTypes.map((<span class="fstat-no" title="function not covered" >frontendType) =&gt;</span>
14395
- <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>
14396
- ),
14397
- ),
13951
+ 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>),
14398
13952
  processCount: this.processes.length,
14399
13953
  };
14400
13954
  }
@@ -14566,19 +14120,35 @@ export class App extends BaseNode {
14566
14120
  <span class="cstat-no" title="statement not covered" > return errorList;</span>
14567
14121
  }
14568
14122
  &nbsp;
14123
+ <span class="fstat-no" title="function not covered" > addFrontendForType(o</span>ptions?: string | Partial&lt;Frontend&gt; | Frontend) {
14124
+ let insertIndex = <span class="cstat-no" title="statement not covered" >-1;</span>
14125
+ <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>
14126
+ <span class="cstat-no" title="statement not covered" > if (frontend.type === (options as any).type) {</span>
14127
+ <span class="cstat-no" title="statement not covered" > insertIndex = index;</span>
14128
+ }
14129
+ });
14130
+ <span class="cstat-no" title="statement not covered" > if ((options as any).type === 'h5' &amp;&amp; insertIndex === -1) {</span>
14131
+ <span class="cstat-no" title="statement not covered" > insertIndex = this.frontends.length;</span>
14132
+ }
14133
+ const node = <span class="cstat-no" title="statement not covered" >this._insertFrontendAt(options as any, insertIndex + 1);</span>
14134
+ const index = <span class="cstat-no" title="statement not covered" >this.frontends.indexOf(node);</span>
14135
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
14136
+ index,
14137
+ parentNode: this,
14138
+ parentKey: 'frontends',
14139
+ });
14140
+ <span class="cstat-no" title="statement not covered" > return node;</span>
14141
+ }
14142
+ &nbsp;
14569
14143
  <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>
14570
14144
  const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
14571
- <span class="cstat-no" title="statement not covered" > return (this.frontendTypes || [])</span>
14572
- .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>
14573
- .flat(2);
14145
+ <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>
14574
14146
  }
14575
14147
  &nbsp;
14576
14148
  <span class="fstat-no" title="function not covered" > getExtensionsCallbackLogics() {</span>
14577
14149
  let resultLogics: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
14578
- <span class="cstat-no" title="statement not covered" > this.frontendTypes.forEach((<span class="fstat-no" title="function not covered" >frontendType) =&gt; {</span></span>
14579
- <span class="cstat-no" title="statement not covered" > frontendType?.frontends?.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
14580
- <span class="cstat-no" title="statement not covered" > resultLogics = [...resultLogics, ...frontend.getExtensionsCallbackLogics()];</span>
14581
- });
14150
+ <span class="cstat-no" title="statement not covered" > this.frontends.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
14151
+ <span class="cstat-no" title="statement not covered" > resultLogics = [...resultLogics, ...frontend.getExtensionsCallbackLogics()];</span>
14582
14152
  });
14583
14153
  <span class="cstat-no" title="statement not covered" > return Array.from(new Set(resultLogics));</span>
14584
14154
  }
@@ -14592,6 +14162,7 @@ export class App extends BaseNode {
14592
14162
  }
14593
14163
  &nbsp;
14594
14164
  <span class="fstat-no" title="function not covered" > genAllCustomComponents() {</span>
14165
+ const { frontends } = <span class="cstat-no" title="statement not covered" >this;</span>
14595
14166
  const compMap: {
14596
14167
  pc: Array&lt;any&gt;;
14597
14168
  h5: Array&lt;any&gt;;
@@ -14600,12 +14171,12 @@ export class App extends BaseNode {
14600
14171
  h5: [],
14601
14172
  };
14602
14173
  const existingSet = <span class="cstat-no" title="statement not covered" >new Set();</span>
14603
- <span class="cstat-no" title="statement not covered" > this.frontendTypes.forEach((<span class="fstat-no" title="function not covered" >frontendType) =&gt; {</span></span>
14604
- <span class="cstat-no" title="statement not covered" > if (frontendType.componentDependencies) {</span>
14605
- <span class="cstat-no" title="statement not covered" > frontendType.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
14174
+ <span class="cstat-no" title="statement not covered" > frontends.forEach((<span class="fstat-no" title="function not covered" >frontend) =&gt; {</span></span>
14175
+ <span class="cstat-no" title="statement not covered" > if (frontend.componentDependencies) {</span>
14176
+ <span class="cstat-no" title="statement not covered" > frontend.componentDependencies.forEach((<span class="fstat-no" title="function not covered" >dep) =&gt; {</span></span>
14606
14177
  const { name } = <span class="cstat-no" title="statement not covered" >dep;</span>
14607
14178
  <span class="cstat-no" title="statement not covered" > if (!existingSet.has(name)) {</span>
14608
- <span class="cstat-no" title="statement not covered" > compMap[frontendType.kind].push(dep);</span>
14179
+ <span class="cstat-no" title="statement not covered" > compMap[frontend.type].push(dep);</span>
14609
14180
  }
14610
14181
  });
14611
14182
  }
@@ -15064,7 +14635,7 @@ export default App;
15064
14635
  <div class='footer quiet pad2 space-top1 center small'>
15065
14636
  Code coverage generated by
15066
14637
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
15067
- at 2023-12-20T16:21:15.863Z
14638
+ at 2023-12-07T14:08:08.581Z
15068
14639
  </div>
15069
14640
  <script src="../../prettify.js"></script>
15070
14641
  <script>