@lcap/nasl 3.8.3-beta.1 → 3.8.3-beta.2
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.
- package/.nyc_output/943352aa-23df-44e0-863b-3dcd3e8bf57a.json +1 -0
- package/.nyc_output/processinfo/943352aa-23df-44e0-863b-3dcd3e8bf57a.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/coverage/cobertura-coverage.xml +66121 -10220
- package/coverage/index.html +50 -395
- package/coverage/src/automate/engine/index.html +19 -19
- package/coverage/src/automate/engine/utils.js.html +101 -101
- package/coverage/src/bak/index.html +19 -19
- package/coverage/src/bak/translator.js.html +96 -141
- package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +13 -13
- package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +13 -13
- package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +29 -29
- package/coverage/src/breakpoint/generator/CallbackNode.ts.html +10 -10
- package/coverage/src/breakpoint/generator/index.html +47 -47
- package/coverage/src/breakpoint/generator/index.ts.html +20 -20
- package/coverage/src/breakpoint/index.html +7 -7
- package/coverage/src/breakpoint/index.ts.html +6 -6
- package/coverage/src/breakpoint/shared/constants.ts.html +7 -7
- package/coverage/src/breakpoint/shared/index.html +45 -45
- package/coverage/src/breakpoint/shared/index.ts.html +5 -5
- package/coverage/src/breakpoint/shared/operations.ts.html +15 -15
- package/coverage/src/breakpoint/shared/socket.ts.html +85 -85
- package/coverage/src/breakpoint/shared/utils.ts.html +49 -49
- package/coverage/src/breakpoint/store/core.ts.html +100 -100
- package/coverage/src/breakpoint/store/dock.ts.html +46 -46
- package/coverage/src/breakpoint/store/index.html +33 -33
- package/coverage/src/breakpoint/store/index.ts.html +7 -7
- package/coverage/src/common/BaseNode.ts.html +350 -1187
- package/coverage/src/common/Command.ts.html +20 -20
- package/coverage/src/common/EventEmitter.ts.html +31 -49
- package/coverage/src/common/Messager.ts.html +28 -28
- package/coverage/src/common/asyncFuncMap.ts.html +7 -7
- package/coverage/src/common/index.html +55 -70
- package/coverage/src/common/index.ts.html +8 -11
- package/coverage/src/concepts/Abort__.ts.html +20 -56
- package/coverage/src/concepts/Anchor__.ts.html +51 -117
- package/coverage/src/concepts/AnonymousFunction__.ts.html +232 -343
- package/coverage/src/concepts/App__.ts.html +1283 -2681
- package/coverage/src/concepts/Argument__.ts.html +135 -135
- package/coverage/src/concepts/Assignee__.ts.html +91 -250
- package/coverage/src/concepts/AssignmentLine__.ts.html +28 -88
- package/coverage/src/concepts/Assignment__.ts.html +110 -206
- package/coverage/src/concepts/Attribute__.ts.html +50 -239
- package/coverage/src/concepts/AuthInterface__.ts.html +32 -26
- package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +188 -203
- package/coverage/src/concepts/AuthLogic__.ts.html +28 -43
- package/coverage/src/concepts/BackendVariable__.ts.html +132 -438
- package/coverage/src/concepts/Backend__.ts.html +57 -156
- package/coverage/src/concepts/BatchAssignment__.ts.html +270 -420
- package/coverage/src/concepts/BinaryExpression__.ts.html +158 -266
- package/coverage/src/concepts/BindAttribute__.ts.html +204 -399
- package/coverage/src/concepts/BindDirective__.ts.html +73 -217
- package/coverage/src/concepts/BindEvent__.ts.html +161 -293
- package/coverage/src/concepts/BindStyle__.ts.html +58 -139
- package/coverage/src/concepts/BooleanLiteral__.ts.html +33 -63
- package/coverage/src/concepts/CallAuthInterface__.ts.html +95 -236
- package/coverage/src/concepts/CallConnector__.ts.html +69 -108
- package/coverage/src/concepts/CallFunction__.ts.html +234 -399
- package/coverage/src/concepts/CallInterface__.ts.html +145 -241
- package/coverage/src/concepts/CallLogic__.ts.html +525 -633
- package/coverage/src/concepts/CallQueryComponent__.ts.html +232 -385
- package/coverage/src/concepts/Comment__.ts.html +27 -63
- package/coverage/src/concepts/CompletionProperty__.ts.html +51 -72
- package/coverage/src/concepts/ConfigGroup__.ts.html +51 -99
- package/coverage/src/concepts/ConfigPropertyValue__.ts.html +34 -40
- package/coverage/src/concepts/ConfigProperty__.ts.html +78 -150
- package/coverage/src/concepts/Configuration__.ts.html +48 -99
- package/coverage/src/concepts/Connection__.ts.html +64 -154
- package/coverage/src/concepts/ConnectorTrigger__.ts.html +32 -35
- package/coverage/src/concepts/Connector__.ts.html +228 -3117
- package/coverage/src/concepts/Constant__.ts.html +74 -374
- package/coverage/src/concepts/DataSource__.ts.html +104 -173
- package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +21 -27
- package/coverage/src/concepts/Destination__.ts.html +121 -190
- package/coverage/src/concepts/End__.ts.html +40 -76
- package/coverage/src/concepts/EntityIndex__.ts.html +44 -80
- package/coverage/src/concepts/EntityProperty__.ts.html +158 -440
- package/coverage/src/concepts/Entity__.ts.html +161 -326
- package/coverage/src/concepts/EnumItem__.ts.html +33 -66
- package/coverage/src/concepts/Enum__.ts.html +64 -139
- package/coverage/src/concepts/Event__.ts.html +51 -87
- package/coverage/src/concepts/ExternalDestination__.ts.html +60 -126
- package/coverage/src/concepts/ForEachStatement__.ts.html +152 -239
- package/coverage/src/concepts/FrontendLibrary__.ts.html +69 -153
- package/coverage/src/concepts/FrontendVariable__.ts.html +19 -76
- package/coverage/src/concepts/Frontend__.ts.html +161 -884
- package/coverage/src/concepts/Function__.ts.html +171 -396
- package/coverage/src/concepts/Identifier__.ts.html +100 -130
- package/coverage/src/concepts/IfStatement__.ts.html +110 -209
- package/coverage/src/concepts/Integration__.ts.html +57 -132
- package/coverage/src/concepts/InterfaceParam__.ts.html +76 -310
- package/coverage/src/concepts/Interface__.ts.html +183 -324
- package/coverage/src/concepts/JSBlock__.ts.html +26 -59
- package/coverage/src/concepts/JavaLogic__.ts.html +28 -58
- package/coverage/src/concepts/LogicItem__.ts.html +73 -151
- package/coverage/src/concepts/Logic__.ts.html +509 -965
- package/coverage/src/concepts/MatchCase__.ts.html +158 -281
- package/coverage/src/concepts/Match__.ts.html +121 -280
- package/coverage/src/concepts/MemberExpression__.ts.html +172 -256
- package/coverage/src/concepts/MicroApp__.ts.html +34 -25
- package/coverage/src/concepts/Module__.ts.html +1270 -1375
- package/coverage/src/concepts/MsgTriggerEvent__.ts.html +46 -94
- package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +48 -93
- package/coverage/src/concepts/Namespace__.ts.html +630 -1251
- package/coverage/src/concepts/NewComposite__.ts.html +341 -557
- package/coverage/src/concepts/NewList__.ts.html +111 -291
- package/coverage/src/concepts/NewMap__.ts.html +128 -332
- package/coverage/src/concepts/New__.ts.html +21 -57
- package/coverage/src/concepts/NullLiteral__.ts.html +23 -56
- package/coverage/src/concepts/NumericLiteral__.ts.html +51 -114
- package/coverage/src/concepts/OqlQueryComponent__.ts.html +76 -211
- package/coverage/src/concepts/OverriddenLogic__.ts.html +394 -643
- package/coverage/src/concepts/Param__.ts.html +174 -315
- package/coverage/src/concepts/Point__.ts.html +21 -27
- package/coverage/src/concepts/ProcessComponent__.ts.html +67 -145
- package/coverage/src/concepts/ProcessElement__.ts.html +281 -854
- package/coverage/src/concepts/ProcessOutcome__.ts.html +25 -100
- package/coverage/src/concepts/ProcessOutcomes__.ts.html +26 -113
- package/coverage/src/concepts/Process__.ts.html +201 -552
- package/coverage/src/concepts/QueryAggregateExpression__.ts.html +35 -89
- package/coverage/src/concepts/QueryFieldExpression__.ts.html +35 -62
- package/coverage/src/concepts/QueryFromExpression__.ts.html +47 -119
- package/coverage/src/concepts/QueryGroupByExpression__.ts.html +37 -97
- package/coverage/src/concepts/QueryJoinExpression__.ts.html +69 -153
- package/coverage/src/concepts/QueryLimitExpression__.ts.html +36 -105
- package/coverage/src/concepts/QueryOrderByExpression__.ts.html +36 -108
- package/coverage/src/concepts/QuerySelectExpression__.ts.html +50 -101
- package/coverage/src/concepts/Rect__.ts.html +25 -25
- package/coverage/src/concepts/Return__.ts.html +131 -368
- package/coverage/src/concepts/Role__.ts.html +37 -67
- package/coverage/src/concepts/SelectMembers__.ts.html +57 -141
- package/coverage/src/concepts/Slot__.ts.html +40 -64
- package/coverage/src/concepts/SqlQueryComponent__.ts.html +62 -122
- package/coverage/src/concepts/Start__.ts.html +25 -58
- package/coverage/src/concepts/StringInterpolation__.ts.html +77 -185
- package/coverage/src/concepts/StringLiteral__.ts.html +47 -158
- package/coverage/src/concepts/StructureProperty__.ts.html +78 -306
- package/coverage/src/concepts/Structure__.ts.html +90 -285
- package/coverage/src/concepts/SwitchCase__.ts.html +66 -141
- package/coverage/src/concepts/SwitchStatement__.ts.html +58 -136
- package/coverage/src/concepts/Theme__.ts.html +24 -36
- package/coverage/src/concepts/Transactional__.ts.html +33 -36
- package/coverage/src/concepts/TriggerEvent__.ts.html +480 -63
- package/coverage/src/concepts/TriggerLauncher__.ts.html +43 -73
- package/coverage/src/concepts/TypeAnnotation__.ts.html +231 -564
- package/coverage/src/concepts/TypeParam__.ts.html +23 -59
- package/coverage/src/concepts/UnaryExpression__.ts.html +47 -131
- package/coverage/src/concepts/Unparsed__.ts.html +29 -59
- package/coverage/src/concepts/UseComponent__.ts.html +21 -27
- package/coverage/src/concepts/ValidationRule__.ts.html +96 -234
- package/coverage/src/concepts/Variable__.ts.html +132 -456
- package/coverage/src/concepts/ViewBlock__.ts.html +23 -26
- package/coverage/src/concepts/ViewComponent__.ts.html +157 -394
- package/coverage/src/concepts/ViewElement__.ts.html +514 -910
- package/coverage/src/concepts/View__.ts.html +425 -1271
- package/coverage/src/concepts/WhileStatement__.ts.html +79 -175
- package/coverage/src/concepts/basics/stdlib/index.html +85 -85
- package/coverage/src/concepts/basics/stdlib/index.ts.html +29 -167
- package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +152 -206
- package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +139 -172
- package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +47 -92
- package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +31 -130
- package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +43 -61
- package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +23 -53
- package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +167 -203
- package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +45 -78
- package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +51 -81
- package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +66 -69
- package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +606 -654
- package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +993 -1050
- package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +2131 -2236
- package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +563 -596
- package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +40 -28
- package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +9 -9
- package/coverage/src/concepts/basics/types/coreTypeList.ts.html +7 -7
- package/coverage/src/concepts/basics/types/index.html +16 -16
- package/coverage/src/concepts/basics/types/index.ts.html +18 -18
- package/coverage/src/concepts/index.html +1215 -1365
- package/coverage/src/concepts/index.ts.html +7 -31
- package/coverage/src/concepts/index__.ts.html +8 -38
- package/coverage/src/config.ts.html +20 -2
- package/coverage/src/decorators/index.html +32 -32
- package/coverage/src/decorators/index.ts.html +93 -108
- package/coverage/src/decorators/promise.ts.html +26 -26
- package/coverage/src/eventBus.ts.html +7 -7
- package/coverage/src/generator/compileComponent.ts.html +10 -10
- package/coverage/src/generator/genBundleFiles.ts.html +45 -273
- package/coverage/src/generator/genHash.ts.html +8 -8
- package/coverage/src/generator/genMetaData.ts.html +49 -280
- package/coverage/src/generator/genReleaseBody.ts.html +98 -113
- package/coverage/src/generator/icestark.ts.html +8 -14
- package/coverage/src/generator/index.html +87 -87
- package/coverage/src/generator/index.ts.html +6 -6
- package/coverage/src/generator/microApp.ts.html +10 -10
- package/coverage/src/generator/permission.ts.html +80 -152
- package/coverage/src/generator/qiankun.ts.html +7 -13
- package/coverage/src/generator/styleReplacer.ts.html +17 -17
- package/coverage/src/index.html +10 -40
- package/coverage/src/index.ts.html +12 -15
- package/coverage/src/manager/diagnostic.ts.html +31 -28
- package/coverage/src/manager/index.html +27 -27
- package/coverage/src/manager/stepRecorder.ts.html +17 -17
- package/coverage/src/natural/genNaturalTS.ts.html +30 -30
- package/coverage/src/natural/index.html +41 -41
- package/coverage/src/natural/index.ts.html +6 -6
- package/coverage/src/natural/naslStdlibMap.ts.html +10 -10
- package/coverage/src/natural/transformTSCode.ts.html +137 -197
- package/coverage/src/sentry/index.html +19 -19
- package/coverage/src/sentry/index.ts.html +43 -49
- package/coverage/src/server/createUiTs.ts.html +37 -46
- package/coverage/src/server/entity2LogicNamespace.ts.html +21 -21
- package/coverage/src/server/event.js.html +7 -7
- package/coverage/src/server/extendBaseNode.ts.html +90 -132
- package/coverage/src/server/formatTsUtils.ts.html +105 -108
- package/coverage/src/server/getConnector.ts.html +24 -96
- package/coverage/src/server/getExtensionModules.ts.html +14 -14
- package/coverage/src/server/getFunctions.ts.html +15 -15
- package/coverage/src/server/getInterfaces.ts.html +18 -18
- package/coverage/src/server/getLogging.ts.html +11 -11
- package/coverage/src/server/getLogics.ts.html +74 -122
- package/coverage/src/server/getMemberIdentifier.ts.html +163 -358
- package/coverage/src/server/getProcessComponents.ts.html +13 -13
- package/coverage/src/server/getProcesses.ts.html +86 -236
- package/coverage/src/server/getValidates.ts.html +14 -17
- package/coverage/src/server/index.html +181 -181
- package/coverage/src/server/index.ts.html +8 -11
- package/coverage/src/server/naslServer.ts.html +1270 -1933
- package/coverage/src/server/naslStdlibMap.ts.html +10 -10
- package/coverage/src/server/process2LogicNamespace.ts.html +20 -20
- package/coverage/src/server/translator.ts.html +89 -134
- package/coverage/src/service/creator/add.configs.js.html +17 -35
- package/coverage/src/service/creator/errHandles.js.html +45 -36
- package/coverage/src/service/creator/index.html +35 -35
- package/coverage/src/service/creator/index.js.html +14 -14
- package/coverage/src/service/datasource/api.js.html +7 -7
- package/coverage/src/service/datasource/index.html +12 -12
- package/coverage/src/service/datasource/index.js.html +5 -5
- package/coverage/src/service/logic/api.js.html +7 -7
- package/coverage/src/service/logic/index.html +12 -12
- package/coverage/src/service/logic/index.js.html +5 -5
- package/coverage/src/service/storage/api.js.html +7 -7
- package/coverage/src/service/storage/index.html +56 -56
- package/coverage/src/service/storage/index.ts.html +5 -5
- package/coverage/src/service/storage/init.ts.html +624 -1758
- package/coverage/src/service/storage/jsoner.ts.html +23 -86
- package/coverage/src/service/storage/map.ts.html +21 -21
- package/coverage/src/service/storage/service.ts.html +14 -14
- package/coverage/src/service/storage/storagePoint.ts.html +9 -9
- package/coverage/src/templator/genCallComponentLogic.ts.html +12 -12
- package/coverage/src/templator/genCreateBlock.ts.html +94 -154
- package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +90 -90
- package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +150 -132
- package/coverage/src/templator/genEditTableBlock.ts.html +41 -104
- package/coverage/src/templator/genEnumSelectBlock.ts.html +12 -93
- package/coverage/src/templator/genGetBlock.ts.html +18 -18
- package/coverage/src/templator/genGridViewBlock.ts.html +35 -35
- package/coverage/src/templator/genListViewBlock.ts.html +15 -15
- package/coverage/src/templator/genQueryComponent.ts.html +35 -35
- package/coverage/src/templator/genSelectBlock.ts.html +20 -101
- package/coverage/src/templator/genTableBlock.ts.html +33 -96
- package/coverage/src/templator/genUpdateBlock.ts.html +78 -162
- package/coverage/src/templator/index.html +147 -147
- package/coverage/src/templator/index.ts.html +12 -12
- package/coverage/src/templator/utils.ts.html +32 -95
- package/coverage/src/translator/constant.ts.html +7 -7
- package/coverage/src/translator/index.html +28 -43
- package/coverage/src/translator/index.ts.html +6 -6
- package/coverage/src/translator/utils.ts.html +71 -452
- package/coverage/src/utils/cookie.ts.html +19 -19
- package/coverage/src/utils/env.ts.html +2 -2
- package/coverage/src/utils/index.html +37 -82
- package/coverage/src/utils/index.ts.html +798 -66
- package/coverage/src/utils/logger.ts.html +1 -1
- package/coverage/src/utils/sortTsString.ts.html +18 -33
- package/coverage/src/utils/string.ts.html +50 -8
- package/coverage/src/utils/time-slicing/controller.ts.html +8 -8
- package/coverage/src/utils/time-slicing/index.html +64 -79
- package/coverage/src/utils/time-slicing/index.ts.html +8 -8
- package/coverage/src/utils/time-slicing/page-state.ts.html +1 -1
- package/coverage/src/utils/time-slicing/performance.ts.html +4 -4
- package/coverage/src/utils/time-slicing/runner.ts.html +51 -51
- package/coverage/src/utils/time-slicing/tool.ts.html +29 -29
- package/coverage/src/utils/time-slicing/utils.ts.html +16 -16
- package/coverage/src/utils/time-slicing/wrapper.ts.html +50 -50
- package/coverage/src/utils/time-slicing.ts.html +1 -1
- package/coverage/src/utils/traverse.ts.html +27 -27
- package/coverage/src/utils/types.ts.html +1 -1
- package/coverage/src/utils/window.ts.html +1 -1
- package/out/common/BaseNode.d.ts +9 -4
- package/out/common/BaseNode.js +43 -10
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +2 -50
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BusinessComponent__.js +2 -42
- package/out/concepts/BusinessComponent__.js.map +1 -1
- package/out/concepts/BusinessLogic__.js +2 -50
- package/out/concepts/BusinessLogic__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +1 -1
- package/out/concepts/CallFunction__.js +1 -1
- package/out/concepts/Identifier__.d.ts +2 -0
- package/out/concepts/Identifier__.js +51 -5
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/Logic__.js +6 -101
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +1 -1
- package/out/concepts/MemberExpression__.js +15 -3
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.js +2 -50
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/ProcessElementV2__.js +4 -0
- package/out/concepts/ProcessElementV2__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +4 -0
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessV2__.js +4 -0
- package/out/concepts/ProcessV2__.js.map +1 -1
- package/out/concepts/Process__.js +4 -0
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/SubLogic__.js +5 -50
- package/out/concepts/SubLogic__.js.map +1 -1
- package/out/concepts/View__.js +10 -49
- package/out/concepts/View__.js.map +1 -1
- package/out/natural/transformTS2UI.js +3 -3
- package/out/natural/transformTS2UI.js.map +1 -1
- package/out/natural/transforms/transform2LogicItem.js +3 -3
- package/out/natural/transforms/transform2LogicItem.js.map +1 -1
- package/out/server/naslServer.js +17 -2
- package/out/server/naslServer.js.map +1 -1
- package/out/server/semanticData.d.ts +32 -0
- package/out/server/semanticData.js +371 -0
- package/out/server/semanticData.js.map +1 -0
- package/out/templator/block2nasl/viewMergeBlock.js +2 -1
- package/out/templator/block2nasl/viewMergeBlock.js.map +1 -1
- package/package.json +1 -1
- package/src/common/BaseNode.ts +50 -8
- package/src/concepts/AuthLogicForCallInterface__.ts +3 -56
- package/src/concepts/BusinessComponent__.ts +6 -51
- package/src/concepts/BusinessLogic__.ts +4 -56
- package/src/concepts/CallFunction__.ts +1 -1
- package/src/concepts/Identifier__.ts +57 -6
- package/src/concepts/Logic__.ts +9 -111
- package/src/concepts/MemberExpression__.ts +21 -7
- package/src/concepts/OverriddenLogic__.ts +4 -56
- package/src/concepts/ProcessElementV2__.ts +4 -0
- package/src/concepts/ProcessElement__.ts +4 -0
- package/src/concepts/ProcessV2__.ts +5 -0
- package/src/concepts/Process__.ts +4 -0
- package/src/concepts/SubLogic__.ts +6 -56
- package/src/concepts/View__.ts +14 -54
- package/src/natural/transformTS2UI.ts +7 -7
- package/src/natural/transforms/transform2LogicItem.ts +3 -3
- package/src/server/naslServer.ts +22 -2
- package/src/server/semanticData.ts +447 -0
- package/src/templator/block2nasl/viewMergeBlock.ts +2 -1
- package/src/translator/utils.ts +1 -1
- package/test/concepts/logic/__snapshots__/toEmbeddedTS.spec.ts.snap +182 -0
- package/test/concepts/logic/constant.ts +5 -0
- package/test/concepts/logic/fixtures/variable-host-call-logic-member-expression.json +267 -0
- package/test/concepts/logic/fixtures/variable-host-call-logic-nested-member-expression copy.json +457 -0
- package/test/concepts/logic/fixtures/variable-host-call-logic-with-handle-error-member-expression.json +267 -0
- package/test/concepts/logic/toEmbeddedTS.spec.ts +15 -0
- package/.nyc_output/fe4ca6db-1eb6-4898-8aa5-ba8f8d4128f2.json +0 -1
- package/.nyc_output/processinfo/fe4ca6db-1eb6-4898-8aa5-ba8f8d4128f2.json +0 -1
- package/coverage/src/common/utils.ts.html +0 -136
- package/coverage/src/concepts/AbstractInterface__.ts.html +0 -277
- package/coverage/src/concepts/Block__.ts.html +0 -907
- package/coverage/src/concepts/CountersignPolicy__.ts.html +0 -319
- package/coverage/src/concepts/DefaultValue__.ts.html +0 -1024
- package/coverage/src/concepts/I18nInfo__.ts.html +0 -424
- package/coverage/src/concepts/ImportedInterface__.ts.html +0 -262
- package/coverage/src/concepts/MetadataType__.ts.html +0 -2035
- package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +0 -301
- package/coverage/src/concepts/SequentialPolicy__.ts.html +0 -265
- package/coverage/src/concepts/StaticString__.ts.html +0 -397
- package/coverage/src/concepts/basics/constants.ts.html +0 -88
- package/coverage/src/concepts/basics/index.html +0 -116
- package/coverage/src/concepts/utils/asserts.ts.html +0 -28675
- package/coverage/src/concepts/utils/index.html +0 -131
- package/coverage/src/concepts/utils/types.ts.html +0 -2092
- package/coverage/src/translator/types.ts.html +0 -256
- package/coverage/src/utils/i18nInfo.ts.html +0 -166
- package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
- package/dist/README.md +0 -97
- package/dist/index.d.ts +0 -26
- package/dist/index.js +0 -397
- package/dist/index.js.map +0 -1
- package/dist/package.json +0 -91
- package/dist/src/automate/engine/index.d.ts +0 -4
- package/dist/src/automate/engine/operators.d.ts +0 -26
- package/dist/src/automate/engine/uniqueName.d.ts +0 -12
- package/dist/src/automate/engine/utils.d.ts +0 -25
- package/dist/src/automate/engine/viewCache.d.ts +0 -19
- package/dist/src/automate/template/myProcess.d.ts +0 -10
- package/dist/src/automate/upgrader/2.12.d.ts +0 -7
- package/dist/src/automate/upgrader/2.14-components.d.ts +0 -1115
- package/dist/src/automate/upgrader/2.14.d.ts +0 -10
- package/dist/src/automate/upgrader/2.14.old.d.ts +0 -1
- package/dist/src/automate/upgrader/2.16.d.ts +0 -10
- package/dist/src/automate/upgrader/2.17.d.ts +0 -21
- package/dist/src/automate/upgrader/2.18.d.ts +0 -10
- package/dist/src/automate/upgrader/2.20.d.ts +0 -17
- package/dist/src/bak/translator.d.ts +0 -1
- package/dist/src/breakpoint/generator/AfterStartNode.d.ts +0 -7
- package/dist/src/breakpoint/generator/BeforeEndNode.d.ts +0 -7
- package/dist/src/breakpoint/generator/BreakpointNode.d.ts +0 -20
- package/dist/src/breakpoint/generator/CallbackNode.d.ts +0 -4
- package/dist/src/breakpoint/generator/FragmentNode.d.ts +0 -4
- package/dist/src/breakpoint/generator/index.d.ts +0 -4
- package/dist/src/breakpoint/index.d.ts +0 -3
- package/dist/src/breakpoint/shared/constants.d.ts +0 -37
- package/dist/src/breakpoint/shared/index.d.ts +0 -3
- package/dist/src/breakpoint/shared/operations.d.ts +0 -10
- package/dist/src/breakpoint/shared/socket.d.ts +0 -48
- package/dist/src/breakpoint/shared/utils.d.ts +0 -27
- package/dist/src/breakpoint/store/core.d.ts +0 -80
- package/dist/src/breakpoint/store/dock.d.ts +0 -1
- package/dist/src/breakpoint/store/index.d.ts +0 -2
- package/dist/src/common/BaseNode.d.ts +0 -384
- package/dist/src/common/Command.d.ts +0 -21
- package/dist/src/common/ComponentAPI.d.ts +0 -112
- package/dist/src/common/EventEmitter.d.ts +0 -61
- package/dist/src/common/Messager.d.ts +0 -91
- package/dist/src/common/asyncFuncMap.d.ts +0 -2
- package/dist/src/common/index.d.ts +0 -4
- package/dist/src/common/utils.d.ts +0 -2
- package/dist/src/concepts/Abort__.d.ts +0 -31
- package/dist/src/concepts/AbstractInterface__.d.ts +0 -25
- package/dist/src/concepts/Anchor__.d.ts +0 -42
- package/dist/src/concepts/AnonymousFunction__.d.ts +0 -144
- package/dist/src/concepts/App__.d.ts +0 -1711
- package/dist/src/concepts/Argument__.d.ts +0 -64
- package/dist/src/concepts/Assignee__.d.ts +0 -294
- package/dist/src/concepts/AssignmentLine__.d.ts +0 -43
- package/dist/src/concepts/Assignment__.d.ts +0 -57
- package/dist/src/concepts/Attribute__.d.ts +0 -75
- package/dist/src/concepts/AuthInterface__.d.ts +0 -38
- package/dist/src/concepts/AuthLogicForCallInterface__.d.ts +0 -145
- package/dist/src/concepts/AuthLogic__.d.ts +0 -69
- package/dist/src/concepts/BackendVariable__.d.ts +0 -118
- package/dist/src/concepts/Backend__.d.ts +0 -127
- package/dist/src/concepts/BaseSetter__.d.ts +0 -25
- package/dist/src/concepts/BatchAssignment__.d.ts +0 -244
- package/dist/src/concepts/BinaryExpression__.d.ts +0 -61
- package/dist/src/concepts/BindAttribute__.d.ts +0 -284
- package/dist/src/concepts/BindDirective__.d.ts +0 -156
- package/dist/src/concepts/BindEvent__.d.ts +0 -246
- package/dist/src/concepts/BindStyle__.d.ts +0 -127
- package/dist/src/concepts/Block__.d.ts +0 -88
- package/dist/src/concepts/BooleanLiteral__.d.ts +0 -44
- package/dist/src/concepts/BusinessComponent__.d.ts +0 -640
- package/dist/src/concepts/BusinessLogic__.d.ts +0 -44
- package/dist/src/concepts/CallAuthInterface__.d.ts +0 -132
- package/dist/src/concepts/CallConnector__.d.ts +0 -55
- package/dist/src/concepts/CallEvent__.d.ts +0 -100
- package/dist/src/concepts/CallFunction__.d.ts +0 -171
- package/dist/src/concepts/CallInterface__.d.ts +0 -143
- package/dist/src/concepts/CallLogic__.d.ts +0 -224
- package/dist/src/concepts/CallQueryComponent__.d.ts +0 -383
- package/dist/src/concepts/CapsulesSetter__.d.ts +0 -109
- package/dist/src/concepts/Comment__.d.ts +0 -41
- package/dist/src/concepts/CompletionProperty__.d.ts +0 -87
- package/dist/src/concepts/ConfigGroup__.d.ts +0 -121
- package/dist/src/concepts/ConfigPropertyValue__.d.ts +0 -42
- package/dist/src/concepts/ConfigProperty__.d.ts +0 -147
- package/dist/src/concepts/Configuration__.d.ts +0 -120
- package/dist/src/concepts/Connection__.d.ts +0 -159
- package/dist/src/concepts/ConnectorLogic__.d.ts +0 -33
- package/dist/src/concepts/ConnectorTriggerLauncher__.d.ts +0 -44
- package/dist/src/concepts/ConnectorTrigger__.d.ts +0 -76
- package/dist/src/concepts/Connector__.d.ts +0 -532
- package/dist/src/concepts/Constant__.d.ts +0 -94
- package/dist/src/concepts/CountersignPolicy__.d.ts +0 -29
- package/dist/src/concepts/DataSource__.d.ts +0 -163
- package/dist/src/concepts/DatabaseTypeAnnotation__.d.ts +0 -35
- package/dist/src/concepts/DefaultValue__.d.ts +0 -94
- package/dist/src/concepts/Destination__.d.ts +0 -150
- package/dist/src/concepts/End__.d.ts +0 -30
- package/dist/src/concepts/EntityIndex__.d.ts +0 -93
- package/dist/src/concepts/EntityProperty__.d.ts +0 -255
- package/dist/src/concepts/Entity__.d.ts +0 -332
- package/dist/src/concepts/EnumItem__.d.ts +0 -83
- package/dist/src/concepts/EnumSelectSetter__.d.ts +0 -109
- package/dist/src/concepts/Enum__.d.ts +0 -133
- package/dist/src/concepts/EventDeclaration__.d.ts +0 -41
- package/dist/src/concepts/Event__.d.ts +0 -149
- package/dist/src/concepts/ExternalDestination__.d.ts +0 -63
- package/dist/src/concepts/ForEachStatement__.d.ts +0 -126
- package/dist/src/concepts/FrontendLibrary__.d.ts +0 -208
- package/dist/src/concepts/FrontendType__.d.ts +0 -304
- package/dist/src/concepts/FrontendVariable__.d.ts +0 -41
- package/dist/src/concepts/Frontend__.d.ts +0 -389
- package/dist/src/concepts/Function__.d.ts +0 -399
- package/dist/src/concepts/I18nInfo__.d.ts +0 -47
- package/dist/src/concepts/IconSetter__.d.ts +0 -29
- package/dist/src/concepts/Identifier__.d.ts +0 -66
- package/dist/src/concepts/IfStatement__.d.ts +0 -155
- package/dist/src/concepts/ImageSetter__.d.ts +0 -25
- package/dist/src/concepts/ImportedInterface__.d.ts +0 -29
- package/dist/src/concepts/InputSetter__.d.ts +0 -29
- package/dist/src/concepts/Integration__.d.ts +0 -127
- package/dist/src/concepts/InterfaceParam__.d.ts +0 -119
- package/dist/src/concepts/InterfaceTriggerEvent__.d.ts +0 -34
- package/dist/src/concepts/Interface__.d.ts +0 -323
- package/dist/src/concepts/JSBlock__.d.ts +0 -38
- package/dist/src/concepts/JavaLogic__.d.ts +0 -50
- package/dist/src/concepts/LogicDeclaration__.d.ts +0 -289
- package/dist/src/concepts/LogicItem__.d.ts +0 -171
- package/dist/src/concepts/Logic__.d.ts +0 -632
- package/dist/src/concepts/MatchCase__.d.ts +0 -264
- package/dist/src/concepts/Match__.d.ts +0 -122
- package/dist/src/concepts/MemberExpression__.d.ts +0 -64
- package/dist/src/concepts/MetadataType__.d.ts +0 -220
- package/dist/src/concepts/MicroApp__.d.ts +0 -53
- package/dist/src/concepts/Module__.d.ts +0 -1142
- package/dist/src/concepts/MsgTriggerEvent__.d.ts +0 -138
- package/dist/src/concepts/MsgTriggerLauncher__.d.ts +0 -119
- package/dist/src/concepts/MultiApprovalPolicy__.d.ts +0 -25
- package/dist/src/concepts/Namespace__.d.ts +0 -1060
- package/dist/src/concepts/NewComposite__.d.ts +0 -346
- package/dist/src/concepts/NewList__.d.ts +0 -135
- package/dist/src/concepts/NewMap__.d.ts +0 -226
- package/dist/src/concepts/New__.d.ts +0 -30
- package/dist/src/concepts/NullLiteral__.d.ts +0 -36
- package/dist/src/concepts/NumberInputSetter__.d.ts +0 -45
- package/dist/src/concepts/NumericLiteral__.d.ts +0 -53
- package/dist/src/concepts/OqlQueryComponent__.d.ts +0 -67
- package/dist/src/concepts/OverriddenLogic__.d.ts +0 -615
- package/dist/src/concepts/Paginate__.d.ts +0 -59
- package/dist/src/concepts/ParamWithGroup__.d.ts +0 -44
- package/dist/src/concepts/Param__.d.ts +0 -140
- package/dist/src/concepts/Point__.d.ts +0 -33
- package/dist/src/concepts/ProcessComponent__.d.ts +0 -214
- package/dist/src/concepts/ProcessElement__.d.ts +0 -620
- package/dist/src/concepts/ProcessOutcome__.d.ts +0 -35
- package/dist/src/concepts/ProcessOutcomes__.d.ts +0 -35
- package/dist/src/concepts/Process__.d.ts +0 -605
- package/dist/src/concepts/PropDeclaration__.d.ts +0 -99
- package/dist/src/concepts/PropertySelectSetter__.d.ts +0 -25
- package/dist/src/concepts/QueryAggregateExpression__.d.ts +0 -50
- package/dist/src/concepts/QueryFieldExpression__.d.ts +0 -66
- package/dist/src/concepts/QueryFromExpression__.d.ts +0 -107
- package/dist/src/concepts/QueryGroupByExpression__.d.ts +0 -46
- package/dist/src/concepts/QueryJoinExpression__.d.ts +0 -194
- package/dist/src/concepts/QueryLimitExpression__.d.ts +0 -46
- package/dist/src/concepts/QueryOrderByExpression__.d.ts +0 -57
- package/dist/src/concepts/QuerySelectExpression__.d.ts +0 -213
- package/dist/src/concepts/Rect__.d.ts +0 -41
- package/dist/src/concepts/Return__.d.ts +0 -120
- package/dist/src/concepts/Role__.d.ts +0 -58
- package/dist/src/concepts/SelectMembers__.d.ts +0 -134
- package/dist/src/concepts/SequentialPolicy__.d.ts +0 -25
- package/dist/src/concepts/SetterOption__.d.ts +0 -49
- package/dist/src/concepts/SlotDeclaration__.d.ts +0 -213
- package/dist/src/concepts/Slot__.d.ts +0 -53
- package/dist/src/concepts/SqlQueryComponent__.d.ts +0 -63
- package/dist/src/concepts/Start__.d.ts +0 -30
- package/dist/src/concepts/StaticString__.d.ts +0 -49
- package/dist/src/concepts/StringInterpolation__.d.ts +0 -122
- package/dist/src/concepts/StringLiteral__.d.ts +0 -51
- package/dist/src/concepts/StructureProperty__.d.ts +0 -119
- package/dist/src/concepts/Structure__.d.ts +0 -243
- package/dist/src/concepts/SwitchCase__.d.ts +0 -91
- package/dist/src/concepts/SwitchSetter__.d.ts +0 -25
- package/dist/src/concepts/SwitchStatement__.d.ts +0 -90
- package/dist/src/concepts/ThemeVariable__.d.ts +0 -29
- package/dist/src/concepts/Theme__.d.ts +0 -39
- package/dist/src/concepts/Transactional__.d.ts +0 -85
- package/dist/src/concepts/TriggerEvent__.d.ts +0 -42
- package/dist/src/concepts/TriggerLauncher__.d.ts +0 -76
- package/dist/src/concepts/TypeAnnotation__.d.ts +0 -303
- package/dist/src/concepts/TypeParam__.d.ts +0 -34
- package/dist/src/concepts/UnaryExpression__.d.ts +0 -45
- package/dist/src/concepts/Unparsed__.d.ts +0 -41
- package/dist/src/concepts/UseComponent__.d.ts +0 -33
- package/dist/src/concepts/ValidationRule__.d.ts +0 -133
- package/dist/src/concepts/Variable__.d.ts +0 -137
- package/dist/src/concepts/ViewBlockWithImage__.d.ts +0 -33
- package/dist/src/concepts/ViewBlock__.d.ts +0 -37
- package/dist/src/concepts/ViewComponentDeclaration__.d.ts +0 -721
- package/dist/src/concepts/ViewElement__.d.ts +0 -652
- package/dist/src/concepts/View__.d.ts +0 -728
- package/dist/src/concepts/WhileStatement__.d.ts +0 -94
- package/dist/src/concepts/basics/constants.d.ts +0 -1
- package/dist/src/concepts/basics/stdlib/index.d.ts +0 -16
- package/dist/src/concepts/basics/stdlib/nasl.auth.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.browser.d.ts +0 -5
- package/dist/src/concepts/basics/stdlib/nasl.collection.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.configuration.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.core.d.ts +0 -7
- package/dist/src/concepts/basics/stdlib/nasl.event.d.ts +0 -5
- package/dist/src/concepts/basics/stdlib/nasl.http.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.interface.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.io.d.ts +0 -5
- package/dist/src/concepts/basics/stdlib/nasl.logging.d.ts +0 -5
- package/dist/src/concepts/basics/stdlib/nasl.process.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.ui.d.ts +0 -9
- package/dist/src/concepts/basics/stdlib/nasl.util.d.ts +0 -6
- package/dist/src/concepts/basics/stdlib/nasl.validation.d.ts +0 -5
- package/dist/src/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +0 -4
- package/dist/src/concepts/basics/stdlib/timeZone.d.ts +0 -5
- package/dist/src/concepts/basics/types/coreTypeList.d.ts +0 -2
- package/dist/src/concepts/basics/types/index.d.ts +0 -17
- package/dist/src/concepts/index.d.ts +0 -7
- package/dist/src/concepts/index__.d.ts +0 -156
- package/dist/src/concepts/utils/asserts.d.ts +0 -7825
- package/dist/src/concepts/utils/quick-info.d.ts +0 -13
- package/dist/src/concepts/utils/types.d.ts +0 -510
- package/dist/src/config.d.ts +0 -52
- package/dist/src/decorators/index.d.ts +0 -67
- package/dist/src/decorators/promise.d.ts +0 -7
- package/dist/src/enums/KEYWORDS.d.ts +0 -6
- package/dist/src/enums/LEVEL_NAME_MAP.d.ts +0 -26
- package/dist/src/eventBus.d.ts +0 -3
- package/dist/src/generator/compileComponent.d.ts +0 -11
- package/dist/src/generator/genBundleFiles.d.ts +0 -37
- package/dist/src/generator/genHash.d.ts +0 -7
- package/dist/src/generator/genMetaData.d.ts +0 -31
- package/dist/src/generator/icestark.d.ts +0 -2
- package/dist/src/generator/index.d.ts +0 -7
- package/dist/src/generator/microApp.d.ts +0 -2
- package/dist/src/generator/permission.d.ts +0 -14
- package/dist/src/generator/qiankun.d.ts +0 -2
- package/dist/src/generator/release-body/body.d.ts +0 -42
- package/dist/src/generator/release-body/data.d.ts +0 -45
- package/dist/src/generator/release-body/index.d.ts +0 -2
- package/dist/src/generator/release-body/internal.d.ts +0 -622
- package/dist/src/generator/release-body/types.d.ts +0 -57
- package/dist/src/generator/release-body/utils.d.ts +0 -418
- package/dist/src/generator/release-body/validation.d.ts +0 -3
- package/dist/src/generator/styleReplacer.d.ts +0 -3
- package/dist/src/index.d.ts +0 -14
- package/dist/src/manager/diagnostic.d.ts +0 -39
- package/dist/src/manager/stepRecorder.d.ts +0 -20
- package/dist/src/natural/componentData.d.ts +0 -31
- package/dist/src/natural/genNaturalTS.d.ts +0 -241
- package/dist/src/natural/index.d.ts +0 -6
- package/dist/src/natural/naslStdlibMap.d.ts +0 -1
- package/dist/src/natural/prompt/analyzeClaims.d.ts +0 -1
- package/dist/src/natural/prompt/analyzeFormatOutput.d.ts +0 -1
- package/dist/src/natural/prompt/analyzeTasks.d.ts +0 -1
- package/dist/src/natural/prompt/executeClaims.d.ts +0 -1
- package/dist/src/natural/transformTSCode.d.ts +0 -7
- package/dist/src/sentry/index.d.ts +0 -34
- package/dist/src/server/createUiTs.d.ts +0 -17
- package/dist/src/server/entity2LogicNamespace.d.ts +0 -10
- package/dist/src/server/event.d.ts +0 -30
- package/dist/src/server/extendBaseNode.d.ts +0 -1
- package/dist/src/server/formatTsUtils.d.ts +0 -36
- package/dist/src/server/getConnector.d.ts +0 -15
- package/dist/src/server/getExtensionModules.d.ts +0 -3
- package/dist/src/server/getFunctions.d.ts +0 -3
- package/dist/src/server/getInterfaces.d.ts +0 -2
- package/dist/src/server/getLogging.d.ts +0 -1
- package/dist/src/server/getLogics.d.ts +0 -5
- package/dist/src/server/getMemberIdentifier.d.ts +0 -17
- package/dist/src/server/getProcessComponents.d.ts +0 -2
- package/dist/src/server/getProcesses.d.ts +0 -33
- package/dist/src/server/getScope.d.ts +0 -13
- package/dist/src/server/getValidates.d.ts +0 -3
- package/dist/src/server/index.d.ts +0 -5
- package/dist/src/server/naslServer.d.ts +0 -391
- package/dist/src/server/naslStdlibMap.d.ts +0 -2
- package/dist/src/server/process2LogicNamespace.d.ts +0 -26
- package/dist/src/server/translator.d.ts +0 -26
- package/dist/src/service/creator/add.configs.d.ts +0 -1
- package/dist/src/service/creator/errHandles.d.ts +0 -18
- package/dist/src/service/creator/index.d.ts +0 -1
- package/dist/src/service/datasource/api.d.ts +0 -12
- package/dist/src/service/datasource/index.d.ts +0 -2
- package/dist/src/service/logic/api.d.ts +0 -9
- package/dist/src/service/logic/checktypeSocket.d.ts +0 -5
- package/dist/src/service/logic/index.d.ts +0 -2
- package/dist/src/service/storage/api.d.ts +0 -54
- package/dist/src/service/storage/index.d.ts +0 -2
- package/dist/src/service/storage/init.d.ts +0 -105
- package/dist/src/service/storage/jsoner.d.ts +0 -36
- package/dist/src/service/storage/map.d.ts +0 -4
- package/dist/src/service/storage/service.d.ts +0 -25
- package/dist/src/service/storage/storagePoint.d.ts +0 -17
- package/dist/src/service/video/BaseService.d.ts +0 -7
- package/dist/src/service/video/MainCallbackService.d.ts +0 -12
- package/dist/src/service/video/VideoTranscribe.d.ts +0 -15
- package/dist/src/service/video/publishService.d.ts +0 -1
- package/dist/src/templator/genCallComponentLogic.d.ts +0 -17
- package/dist/src/templator/genCreateBlock.d.ts +0 -10
- package/dist/src/templator/genCurdEditMultipleKeyBlock.d.ts +0 -8
- package/dist/src/templator/genCurdMultipleKeyBlock.d.ts +0 -61
- package/dist/src/templator/genEditTableBlock.d.ts +0 -51
- package/dist/src/templator/genEnumSelectBlock.d.ts +0 -10
- package/dist/src/templator/genGetBlock.d.ts +0 -6
- package/dist/src/templator/genGridViewBlock.d.ts +0 -55
- package/dist/src/templator/genListViewBlock.d.ts +0 -19
- package/dist/src/templator/genQueryComponent.d.ts +0 -34
- package/dist/src/templator/genSelectBlock.d.ts +0 -45
- package/dist/src/templator/genTableBlock.d.ts +0 -55
- package/dist/src/templator/genUpdateBlock.d.ts +0 -6
- package/dist/src/templator/index.d.ts +0 -19
- package/dist/src/templator/utils.d.ts +0 -683
- package/dist/src/translator/constant.d.ts +0 -6
- package/dist/src/translator/index.d.ts +0 -3
- package/dist/src/translator/types.d.ts +0 -85
- package/dist/src/translator/utils.d.ts +0 -47
- package/dist/src/utils/cookie.d.ts +0 -9
- package/dist/src/utils/create.d.ts +0 -2
- package/dist/src/utils/env.d.ts +0 -2
- package/dist/src/utils/file.d.ts +0 -33
- package/dist/src/utils/i18nInfo.d.ts +0 -5
- package/dist/src/utils/index.d.ts +0 -72
- package/dist/src/utils/logger.d.ts +0 -8
- package/dist/src/utils/sortTsString.d.ts +0 -1
- package/dist/src/utils/string.d.ts +0 -64
- package/dist/src/utils/time-slicing/constant.d.ts +0 -35
- package/dist/src/utils/time-slicing/controller.d.ts +0 -53
- package/dist/src/utils/time-slicing/index.d.ts +0 -5
- package/dist/src/utils/time-slicing/page-state.d.ts +0 -2
- package/dist/src/utils/time-slicing/performance.d.ts +0 -11
- package/dist/src/utils/time-slicing/runner.d.ts +0 -12
- package/dist/src/utils/time-slicing/tool.d.ts +0 -24
- package/dist/src/utils/time-slicing/utils.d.ts +0 -62
- package/dist/src/utils/time-slicing/wrapper.d.ts +0 -18
- package/dist/src/utils/traverse.d.ts +0 -36
- package/dist/src/utils/types.d.ts +0 -13
- package/dist/src/utils/window.d.ts +0 -7
- package/dist/test/concepts/anonymous-function/constant.d.ts +0 -2
- package/dist/test/concepts/anonymous-function/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/anonymous-function/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/anonymous-function/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/assignment/constant.d.ts +0 -2
- package/dist/test/concepts/assignment/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/assignment/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/assignment/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/batch-assignment/constant.d.ts +0 -2
- package/dist/test/concepts/batch-assignment/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/batch-assignment/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/batch-assignment/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/binary-expression/constant.d.ts +0 -2
- package/dist/test/concepts/binary-expression/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/binary-expression/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/binary-expression/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/binary-expression/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/boolean-literal/constant.d.ts +0 -2
- package/dist/test/concepts/boolean-literal/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/boolean-literal/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/boolean-literal/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/call-function/constant.d.ts +0 -2
- package/dist/test/concepts/call-function/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/call-function/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/call-function/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/call-interface/constant.d.ts +0 -2
- package/dist/test/concepts/call-interface/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/call-interface/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/call-interface/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/call-logic/constant.d.ts +0 -2
- package/dist/test/concepts/call-logic/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/call-logic/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/call-logic/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/call-logic/toUI.spec.d.ts +0 -1
- package/dist/test/concepts/call-logic/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/call-logic/toVueDesigner.spec.d.ts +0 -1
- package/dist/test/concepts/data-source/constant.d.ts +0 -2
- package/dist/test/concepts/data-source/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/data-source/toEmbeddedTSFile.spec.d.ts +0 -1
- package/dist/test/concepts/entity/constant.d.ts +0 -2
- package/dist/test/concepts/entity/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/entity/toEmbeddedTSFile.spec.d.ts +0 -1
- package/dist/test/concepts/identifier/constant.d.ts +0 -2
- package/dist/test/concepts/identifier/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/identifier/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/identifier/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/match/constant.d.ts +0 -2
- package/dist/test/concepts/match/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/match/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/member-expression/constant.d.ts +0 -2
- package/dist/test/concepts/member-expression/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/member-expression/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/member-expression/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/new-composite/constant.d.ts +0 -2
- package/dist/test/concepts/new-composite/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/new-composite/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/new-composite/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/new-list/constant.d.ts +0 -2
- package/dist/test/concepts/new-list/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/new-list/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/new-list/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/new-map/constant.d.ts +0 -2
- package/dist/test/concepts/new-map/getQuickInfoOffset.spec.d.ts +0 -1
- package/dist/test/concepts/new-map/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/new-map/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/null-literal/constant.d.ts +0 -2
- package/dist/test/concepts/null-literal/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/null-literal/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/null-literal/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/numeric-literal/constant.d.ts +0 -2
- package/dist/test/concepts/numeric-literal/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/numeric-literal/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/numeric-literal/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/string-literal/constant.d.ts +0 -2
- package/dist/test/concepts/string-literal/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/string-literal/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/string-literal/toVue.spec.d.ts +0 -1
- package/dist/test/concepts/utils.d.ts +0 -13
- package/dist/test/concepts/validation-rule/constant.d.ts +0 -2
- package/dist/test/concepts/validation-rule/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/validation-rule/toJS.spec.d.ts +0 -1
- package/dist/test/concepts/validation-rule/validation-rule.spec.d.ts +0 -1
- package/dist/test/concepts/view-element/constant.d.ts +0 -2
- package/dist/test/concepts/view-element/toEmbeddedTS.spec.d.ts +0 -1
- package/dist/test/concepts/view-element/toVue.spec.d.ts +0 -1
- package/dist/test/setup.d.ts +0 -1
- package/dist/test/time-slicing/runner.spec.d.ts +0 -1
- package/dist/test/time-slicing/time-slicing-nodejs.spec.d.ts +0 -1
- package/dist/test/time-slicing/utils.d.ts +0 -1
- package/dist/test/time-slicing/wrapper.spec.d.ts +0 -1
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">6.
|
|
26
|
+
<span class="strong">6.39% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>30/469</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0.66% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>2/300</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">1.49% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>1/67</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">6.
|
|
47
|
+
<span class="strong">6.69% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>30/448</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -955,387 +955,7 @@
|
|
|
955
955
|
<a name='L890'></a><a href='#L890'>890</a>
|
|
956
956
|
<a name='L891'></a><a href='#L891'>891</a>
|
|
957
957
|
<a name='L892'></a><a href='#L892'>892</a>
|
|
958
|
-
<a name='L893'></a><a href='#L893'>893</a>
|
|
959
|
-
<a name='L894'></a><a href='#L894'>894</a>
|
|
960
|
-
<a name='L895'></a><a href='#L895'>895</a>
|
|
961
|
-
<a name='L896'></a><a href='#L896'>896</a>
|
|
962
|
-
<a name='L897'></a><a href='#L897'>897</a>
|
|
963
|
-
<a name='L898'></a><a href='#L898'>898</a>
|
|
964
|
-
<a name='L899'></a><a href='#L899'>899</a>
|
|
965
|
-
<a name='L900'></a><a href='#L900'>900</a>
|
|
966
|
-
<a name='L901'></a><a href='#L901'>901</a>
|
|
967
|
-
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
|
-
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
|
-
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
-
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
-
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
-
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
-
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
-
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
-
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
-
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
-
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
-
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
-
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
-
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
-
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
-
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
-
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
-
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
-
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
-
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
-
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
-
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
-
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
-
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
-
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
-
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
-
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
-
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
-
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
-
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
-
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
-
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
-
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
-
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
-
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
-
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
-
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
-
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
-
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
-
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
-
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
-
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
-
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
-
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
-
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
-
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
-
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
-
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
-
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
-
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
-
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
-
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
-
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
-
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
-
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
-
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
-
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
-
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
-
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
-
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
-
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
-
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
-
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
-
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
-
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
-
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
-
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
-
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
-
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
-
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
-
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
-
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
-
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
-
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
-
<a name='L976'></a><a href='#L976'>976</a>
|
|
1042
|
-
<a name='L977'></a><a href='#L977'>977</a>
|
|
1043
|
-
<a name='L978'></a><a href='#L978'>978</a>
|
|
1044
|
-
<a name='L979'></a><a href='#L979'>979</a>
|
|
1045
|
-
<a name='L980'></a><a href='#L980'>980</a>
|
|
1046
|
-
<a name='L981'></a><a href='#L981'>981</a>
|
|
1047
|
-
<a name='L982'></a><a href='#L982'>982</a>
|
|
1048
|
-
<a name='L983'></a><a href='#L983'>983</a>
|
|
1049
|
-
<a name='L984'></a><a href='#L984'>984</a>
|
|
1050
|
-
<a name='L985'></a><a href='#L985'>985</a>
|
|
1051
|
-
<a name='L986'></a><a href='#L986'>986</a>
|
|
1052
|
-
<a name='L987'></a><a href='#L987'>987</a>
|
|
1053
|
-
<a name='L988'></a><a href='#L988'>988</a>
|
|
1054
|
-
<a name='L989'></a><a href='#L989'>989</a>
|
|
1055
|
-
<a name='L990'></a><a href='#L990'>990</a>
|
|
1056
|
-
<a name='L991'></a><a href='#L991'>991</a>
|
|
1057
|
-
<a name='L992'></a><a href='#L992'>992</a>
|
|
1058
|
-
<a name='L993'></a><a href='#L993'>993</a>
|
|
1059
|
-
<a name='L994'></a><a href='#L994'>994</a>
|
|
1060
|
-
<a name='L995'></a><a href='#L995'>995</a>
|
|
1061
|
-
<a name='L996'></a><a href='#L996'>996</a>
|
|
1062
|
-
<a name='L997'></a><a href='#L997'>997</a>
|
|
1063
|
-
<a name='L998'></a><a href='#L998'>998</a>
|
|
1064
|
-
<a name='L999'></a><a href='#L999'>999</a>
|
|
1065
|
-
<a name='L1000'></a><a href='#L1000'>1000</a>
|
|
1066
|
-
<a name='L1001'></a><a href='#L1001'>1001</a>
|
|
1067
|
-
<a name='L1002'></a><a href='#L1002'>1002</a>
|
|
1068
|
-
<a name='L1003'></a><a href='#L1003'>1003</a>
|
|
1069
|
-
<a name='L1004'></a><a href='#L1004'>1004</a>
|
|
1070
|
-
<a name='L1005'></a><a href='#L1005'>1005</a>
|
|
1071
|
-
<a name='L1006'></a><a href='#L1006'>1006</a>
|
|
1072
|
-
<a name='L1007'></a><a href='#L1007'>1007</a>
|
|
1073
|
-
<a name='L1008'></a><a href='#L1008'>1008</a>
|
|
1074
|
-
<a name='L1009'></a><a href='#L1009'>1009</a>
|
|
1075
|
-
<a name='L1010'></a><a href='#L1010'>1010</a>
|
|
1076
|
-
<a name='L1011'></a><a href='#L1011'>1011</a>
|
|
1077
|
-
<a name='L1012'></a><a href='#L1012'>1012</a>
|
|
1078
|
-
<a name='L1013'></a><a href='#L1013'>1013</a>
|
|
1079
|
-
<a name='L1014'></a><a href='#L1014'>1014</a>
|
|
1080
|
-
<a name='L1015'></a><a href='#L1015'>1015</a>
|
|
1081
|
-
<a name='L1016'></a><a href='#L1016'>1016</a>
|
|
1082
|
-
<a name='L1017'></a><a href='#L1017'>1017</a>
|
|
1083
|
-
<a name='L1018'></a><a href='#L1018'>1018</a>
|
|
1084
|
-
<a name='L1019'></a><a href='#L1019'>1019</a>
|
|
1085
|
-
<a name='L1020'></a><a href='#L1020'>1020</a>
|
|
1086
|
-
<a name='L1021'></a><a href='#L1021'>1021</a>
|
|
1087
|
-
<a name='L1022'></a><a href='#L1022'>1022</a>
|
|
1088
|
-
<a name='L1023'></a><a href='#L1023'>1023</a>
|
|
1089
|
-
<a name='L1024'></a><a href='#L1024'>1024</a>
|
|
1090
|
-
<a name='L1025'></a><a href='#L1025'>1025</a>
|
|
1091
|
-
<a name='L1026'></a><a href='#L1026'>1026</a>
|
|
1092
|
-
<a name='L1027'></a><a href='#L1027'>1027</a>
|
|
1093
|
-
<a name='L1028'></a><a href='#L1028'>1028</a>
|
|
1094
|
-
<a name='L1029'></a><a href='#L1029'>1029</a>
|
|
1095
|
-
<a name='L1030'></a><a href='#L1030'>1030</a>
|
|
1096
|
-
<a name='L1031'></a><a href='#L1031'>1031</a>
|
|
1097
|
-
<a name='L1032'></a><a href='#L1032'>1032</a>
|
|
1098
|
-
<a name='L1033'></a><a href='#L1033'>1033</a>
|
|
1099
|
-
<a name='L1034'></a><a href='#L1034'>1034</a>
|
|
1100
|
-
<a name='L1035'></a><a href='#L1035'>1035</a>
|
|
1101
|
-
<a name='L1036'></a><a href='#L1036'>1036</a>
|
|
1102
|
-
<a name='L1037'></a><a href='#L1037'>1037</a>
|
|
1103
|
-
<a name='L1038'></a><a href='#L1038'>1038</a>
|
|
1104
|
-
<a name='L1039'></a><a href='#L1039'>1039</a>
|
|
1105
|
-
<a name='L1040'></a><a href='#L1040'>1040</a>
|
|
1106
|
-
<a name='L1041'></a><a href='#L1041'>1041</a>
|
|
1107
|
-
<a name='L1042'></a><a href='#L1042'>1042</a>
|
|
1108
|
-
<a name='L1043'></a><a href='#L1043'>1043</a>
|
|
1109
|
-
<a name='L1044'></a><a href='#L1044'>1044</a>
|
|
1110
|
-
<a name='L1045'></a><a href='#L1045'>1045</a>
|
|
1111
|
-
<a name='L1046'></a><a href='#L1046'>1046</a>
|
|
1112
|
-
<a name='L1047'></a><a href='#L1047'>1047</a>
|
|
1113
|
-
<a name='L1048'></a><a href='#L1048'>1048</a>
|
|
1114
|
-
<a name='L1049'></a><a href='#L1049'>1049</a>
|
|
1115
|
-
<a name='L1050'></a><a href='#L1050'>1050</a>
|
|
1116
|
-
<a name='L1051'></a><a href='#L1051'>1051</a>
|
|
1117
|
-
<a name='L1052'></a><a href='#L1052'>1052</a>
|
|
1118
|
-
<a name='L1053'></a><a href='#L1053'>1053</a>
|
|
1119
|
-
<a name='L1054'></a><a href='#L1054'>1054</a>
|
|
1120
|
-
<a name='L1055'></a><a href='#L1055'>1055</a>
|
|
1121
|
-
<a name='L1056'></a><a href='#L1056'>1056</a>
|
|
1122
|
-
<a name='L1057'></a><a href='#L1057'>1057</a>
|
|
1123
|
-
<a name='L1058'></a><a href='#L1058'>1058</a>
|
|
1124
|
-
<a name='L1059'></a><a href='#L1059'>1059</a>
|
|
1125
|
-
<a name='L1060'></a><a href='#L1060'>1060</a>
|
|
1126
|
-
<a name='L1061'></a><a href='#L1061'>1061</a>
|
|
1127
|
-
<a name='L1062'></a><a href='#L1062'>1062</a>
|
|
1128
|
-
<a name='L1063'></a><a href='#L1063'>1063</a>
|
|
1129
|
-
<a name='L1064'></a><a href='#L1064'>1064</a>
|
|
1130
|
-
<a name='L1065'></a><a href='#L1065'>1065</a>
|
|
1131
|
-
<a name='L1066'></a><a href='#L1066'>1066</a>
|
|
1132
|
-
<a name='L1067'></a><a href='#L1067'>1067</a>
|
|
1133
|
-
<a name='L1068'></a><a href='#L1068'>1068</a>
|
|
1134
|
-
<a name='L1069'></a><a href='#L1069'>1069</a>
|
|
1135
|
-
<a name='L1070'></a><a href='#L1070'>1070</a>
|
|
1136
|
-
<a name='L1071'></a><a href='#L1071'>1071</a>
|
|
1137
|
-
<a name='L1072'></a><a href='#L1072'>1072</a>
|
|
1138
|
-
<a name='L1073'></a><a href='#L1073'>1073</a>
|
|
1139
|
-
<a name='L1074'></a><a href='#L1074'>1074</a>
|
|
1140
|
-
<a name='L1075'></a><a href='#L1075'>1075</a>
|
|
1141
|
-
<a name='L1076'></a><a href='#L1076'>1076</a>
|
|
1142
|
-
<a name='L1077'></a><a href='#L1077'>1077</a>
|
|
1143
|
-
<a name='L1078'></a><a href='#L1078'>1078</a>
|
|
1144
|
-
<a name='L1079'></a><a href='#L1079'>1079</a>
|
|
1145
|
-
<a name='L1080'></a><a href='#L1080'>1080</a>
|
|
1146
|
-
<a name='L1081'></a><a href='#L1081'>1081</a>
|
|
1147
|
-
<a name='L1082'></a><a href='#L1082'>1082</a>
|
|
1148
|
-
<a name='L1083'></a><a href='#L1083'>1083</a>
|
|
1149
|
-
<a name='L1084'></a><a href='#L1084'>1084</a>
|
|
1150
|
-
<a name='L1085'></a><a href='#L1085'>1085</a>
|
|
1151
|
-
<a name='L1086'></a><a href='#L1086'>1086</a>
|
|
1152
|
-
<a name='L1087'></a><a href='#L1087'>1087</a>
|
|
1153
|
-
<a name='L1088'></a><a href='#L1088'>1088</a>
|
|
1154
|
-
<a name='L1089'></a><a href='#L1089'>1089</a>
|
|
1155
|
-
<a name='L1090'></a><a href='#L1090'>1090</a>
|
|
1156
|
-
<a name='L1091'></a><a href='#L1091'>1091</a>
|
|
1157
|
-
<a name='L1092'></a><a href='#L1092'>1092</a>
|
|
1158
|
-
<a name='L1093'></a><a href='#L1093'>1093</a>
|
|
1159
|
-
<a name='L1094'></a><a href='#L1094'>1094</a>
|
|
1160
|
-
<a name='L1095'></a><a href='#L1095'>1095</a>
|
|
1161
|
-
<a name='L1096'></a><a href='#L1096'>1096</a>
|
|
1162
|
-
<a name='L1097'></a><a href='#L1097'>1097</a>
|
|
1163
|
-
<a name='L1098'></a><a href='#L1098'>1098</a>
|
|
1164
|
-
<a name='L1099'></a><a href='#L1099'>1099</a>
|
|
1165
|
-
<a name='L1100'></a><a href='#L1100'>1100</a>
|
|
1166
|
-
<a name='L1101'></a><a href='#L1101'>1101</a>
|
|
1167
|
-
<a name='L1102'></a><a href='#L1102'>1102</a>
|
|
1168
|
-
<a name='L1103'></a><a href='#L1103'>1103</a>
|
|
1169
|
-
<a name='L1104'></a><a href='#L1104'>1104</a>
|
|
1170
|
-
<a name='L1105'></a><a href='#L1105'>1105</a>
|
|
1171
|
-
<a name='L1106'></a><a href='#L1106'>1106</a>
|
|
1172
|
-
<a name='L1107'></a><a href='#L1107'>1107</a>
|
|
1173
|
-
<a name='L1108'></a><a href='#L1108'>1108</a>
|
|
1174
|
-
<a name='L1109'></a><a href='#L1109'>1109</a>
|
|
1175
|
-
<a name='L1110'></a><a href='#L1110'>1110</a>
|
|
1176
|
-
<a name='L1111'></a><a href='#L1111'>1111</a>
|
|
1177
|
-
<a name='L1112'></a><a href='#L1112'>1112</a>
|
|
1178
|
-
<a name='L1113'></a><a href='#L1113'>1113</a>
|
|
1179
|
-
<a name='L1114'></a><a href='#L1114'>1114</a>
|
|
1180
|
-
<a name='L1115'></a><a href='#L1115'>1115</a>
|
|
1181
|
-
<a name='L1116'></a><a href='#L1116'>1116</a>
|
|
1182
|
-
<a name='L1117'></a><a href='#L1117'>1117</a>
|
|
1183
|
-
<a name='L1118'></a><a href='#L1118'>1118</a>
|
|
1184
|
-
<a name='L1119'></a><a href='#L1119'>1119</a>
|
|
1185
|
-
<a name='L1120'></a><a href='#L1120'>1120</a>
|
|
1186
|
-
<a name='L1121'></a><a href='#L1121'>1121</a>
|
|
1187
|
-
<a name='L1122'></a><a href='#L1122'>1122</a>
|
|
1188
|
-
<a name='L1123'></a><a href='#L1123'>1123</a>
|
|
1189
|
-
<a name='L1124'></a><a href='#L1124'>1124</a>
|
|
1190
|
-
<a name='L1125'></a><a href='#L1125'>1125</a>
|
|
1191
|
-
<a name='L1126'></a><a href='#L1126'>1126</a>
|
|
1192
|
-
<a name='L1127'></a><a href='#L1127'>1127</a>
|
|
1193
|
-
<a name='L1128'></a><a href='#L1128'>1128</a>
|
|
1194
|
-
<a name='L1129'></a><a href='#L1129'>1129</a>
|
|
1195
|
-
<a name='L1130'></a><a href='#L1130'>1130</a>
|
|
1196
|
-
<a name='L1131'></a><a href='#L1131'>1131</a>
|
|
1197
|
-
<a name='L1132'></a><a href='#L1132'>1132</a>
|
|
1198
|
-
<a name='L1133'></a><a href='#L1133'>1133</a>
|
|
1199
|
-
<a name='L1134'></a><a href='#L1134'>1134</a>
|
|
1200
|
-
<a name='L1135'></a><a href='#L1135'>1135</a>
|
|
1201
|
-
<a name='L1136'></a><a href='#L1136'>1136</a>
|
|
1202
|
-
<a name='L1137'></a><a href='#L1137'>1137</a>
|
|
1203
|
-
<a name='L1138'></a><a href='#L1138'>1138</a>
|
|
1204
|
-
<a name='L1139'></a><a href='#L1139'>1139</a>
|
|
1205
|
-
<a name='L1140'></a><a href='#L1140'>1140</a>
|
|
1206
|
-
<a name='L1141'></a><a href='#L1141'>1141</a>
|
|
1207
|
-
<a name='L1142'></a><a href='#L1142'>1142</a>
|
|
1208
|
-
<a name='L1143'></a><a href='#L1143'>1143</a>
|
|
1209
|
-
<a name='L1144'></a><a href='#L1144'>1144</a>
|
|
1210
|
-
<a name='L1145'></a><a href='#L1145'>1145</a>
|
|
1211
|
-
<a name='L1146'></a><a href='#L1146'>1146</a>
|
|
1212
|
-
<a name='L1147'></a><a href='#L1147'>1147</a>
|
|
1213
|
-
<a name='L1148'></a><a href='#L1148'>1148</a>
|
|
1214
|
-
<a name='L1149'></a><a href='#L1149'>1149</a>
|
|
1215
|
-
<a name='L1150'></a><a href='#L1150'>1150</a>
|
|
1216
|
-
<a name='L1151'></a><a href='#L1151'>1151</a>
|
|
1217
|
-
<a name='L1152'></a><a href='#L1152'>1152</a>
|
|
1218
|
-
<a name='L1153'></a><a href='#L1153'>1153</a>
|
|
1219
|
-
<a name='L1154'></a><a href='#L1154'>1154</a>
|
|
1220
|
-
<a name='L1155'></a><a href='#L1155'>1155</a>
|
|
1221
|
-
<a name='L1156'></a><a href='#L1156'>1156</a>
|
|
1222
|
-
<a name='L1157'></a><a href='#L1157'>1157</a>
|
|
1223
|
-
<a name='L1158'></a><a href='#L1158'>1158</a>
|
|
1224
|
-
<a name='L1159'></a><a href='#L1159'>1159</a>
|
|
1225
|
-
<a name='L1160'></a><a href='#L1160'>1160</a>
|
|
1226
|
-
<a name='L1161'></a><a href='#L1161'>1161</a>
|
|
1227
|
-
<a name='L1162'></a><a href='#L1162'>1162</a>
|
|
1228
|
-
<a name='L1163'></a><a href='#L1163'>1163</a>
|
|
1229
|
-
<a name='L1164'></a><a href='#L1164'>1164</a>
|
|
1230
|
-
<a name='L1165'></a><a href='#L1165'>1165</a>
|
|
1231
|
-
<a name='L1166'></a><a href='#L1166'>1166</a>
|
|
1232
|
-
<a name='L1167'></a><a href='#L1167'>1167</a>
|
|
1233
|
-
<a name='L1168'></a><a href='#L1168'>1168</a>
|
|
1234
|
-
<a name='L1169'></a><a href='#L1169'>1169</a>
|
|
1235
|
-
<a name='L1170'></a><a href='#L1170'>1170</a>
|
|
1236
|
-
<a name='L1171'></a><a href='#L1171'>1171</a>
|
|
1237
|
-
<a name='L1172'></a><a href='#L1172'>1172</a>
|
|
1238
|
-
<a name='L1173'></a><a href='#L1173'>1173</a>
|
|
1239
|
-
<a name='L1174'></a><a href='#L1174'>1174</a>
|
|
1240
|
-
<a name='L1175'></a><a href='#L1175'>1175</a>
|
|
1241
|
-
<a name='L1176'></a><a href='#L1176'>1176</a>
|
|
1242
|
-
<a name='L1177'></a><a href='#L1177'>1177</a>
|
|
1243
|
-
<a name='L1178'></a><a href='#L1178'>1178</a>
|
|
1244
|
-
<a name='L1179'></a><a href='#L1179'>1179</a>
|
|
1245
|
-
<a name='L1180'></a><a href='#L1180'>1180</a>
|
|
1246
|
-
<a name='L1181'></a><a href='#L1181'>1181</a>
|
|
1247
|
-
<a name='L1182'></a><a href='#L1182'>1182</a>
|
|
1248
|
-
<a name='L1183'></a><a href='#L1183'>1183</a>
|
|
1249
|
-
<a name='L1184'></a><a href='#L1184'>1184</a>
|
|
1250
|
-
<a name='L1185'></a><a href='#L1185'>1185</a>
|
|
1251
|
-
<a name='L1186'></a><a href='#L1186'>1186</a>
|
|
1252
|
-
<a name='L1187'></a><a href='#L1187'>1187</a>
|
|
1253
|
-
<a name='L1188'></a><a href='#L1188'>1188</a>
|
|
1254
|
-
<a name='L1189'></a><a href='#L1189'>1189</a>
|
|
1255
|
-
<a name='L1190'></a><a href='#L1190'>1190</a>
|
|
1256
|
-
<a name='L1191'></a><a href='#L1191'>1191</a>
|
|
1257
|
-
<a name='L1192'></a><a href='#L1192'>1192</a>
|
|
1258
|
-
<a name='L1193'></a><a href='#L1193'>1193</a>
|
|
1259
|
-
<a name='L1194'></a><a href='#L1194'>1194</a>
|
|
1260
|
-
<a name='L1195'></a><a href='#L1195'>1195</a>
|
|
1261
|
-
<a name='L1196'></a><a href='#L1196'>1196</a>
|
|
1262
|
-
<a name='L1197'></a><a href='#L1197'>1197</a>
|
|
1263
|
-
<a name='L1198'></a><a href='#L1198'>1198</a>
|
|
1264
|
-
<a name='L1199'></a><a href='#L1199'>1199</a>
|
|
1265
|
-
<a name='L1200'></a><a href='#L1200'>1200</a>
|
|
1266
|
-
<a name='L1201'></a><a href='#L1201'>1201</a>
|
|
1267
|
-
<a name='L1202'></a><a href='#L1202'>1202</a>
|
|
1268
|
-
<a name='L1203'></a><a href='#L1203'>1203</a>
|
|
1269
|
-
<a name='L1204'></a><a href='#L1204'>1204</a>
|
|
1270
|
-
<a name='L1205'></a><a href='#L1205'>1205</a>
|
|
1271
|
-
<a name='L1206'></a><a href='#L1206'>1206</a>
|
|
1272
|
-
<a name='L1207'></a><a href='#L1207'>1207</a>
|
|
1273
|
-
<a name='L1208'></a><a href='#L1208'>1208</a>
|
|
1274
|
-
<a name='L1209'></a><a href='#L1209'>1209</a>
|
|
1275
|
-
<a name='L1210'></a><a href='#L1210'>1210</a>
|
|
1276
|
-
<a name='L1211'></a><a href='#L1211'>1211</a>
|
|
1277
|
-
<a name='L1212'></a><a href='#L1212'>1212</a>
|
|
1278
|
-
<a name='L1213'></a><a href='#L1213'>1213</a>
|
|
1279
|
-
<a name='L1214'></a><a href='#L1214'>1214</a>
|
|
1280
|
-
<a name='L1215'></a><a href='#L1215'>1215</a>
|
|
1281
|
-
<a name='L1216'></a><a href='#L1216'>1216</a>
|
|
1282
|
-
<a name='L1217'></a><a href='#L1217'>1217</a>
|
|
1283
|
-
<a name='L1218'></a><a href='#L1218'>1218</a>
|
|
1284
|
-
<a name='L1219'></a><a href='#L1219'>1219</a>
|
|
1285
|
-
<a name='L1220'></a><a href='#L1220'>1220</a>
|
|
1286
|
-
<a name='L1221'></a><a href='#L1221'>1221</a>
|
|
1287
|
-
<a name='L1222'></a><a href='#L1222'>1222</a>
|
|
1288
|
-
<a name='L1223'></a><a href='#L1223'>1223</a>
|
|
1289
|
-
<a name='L1224'></a><a href='#L1224'>1224</a>
|
|
1290
|
-
<a name='L1225'></a><a href='#L1225'>1225</a>
|
|
1291
|
-
<a name='L1226'></a><a href='#L1226'>1226</a>
|
|
1292
|
-
<a name='L1227'></a><a href='#L1227'>1227</a>
|
|
1293
|
-
<a name='L1228'></a><a href='#L1228'>1228</a>
|
|
1294
|
-
<a name='L1229'></a><a href='#L1229'>1229</a>
|
|
1295
|
-
<a name='L1230'></a><a href='#L1230'>1230</a>
|
|
1296
|
-
<a name='L1231'></a><a href='#L1231'>1231</a>
|
|
1297
|
-
<a name='L1232'></a><a href='#L1232'>1232</a>
|
|
1298
|
-
<a name='L1233'></a><a href='#L1233'>1233</a>
|
|
1299
|
-
<a name='L1234'></a><a href='#L1234'>1234</a>
|
|
1300
|
-
<a name='L1235'></a><a href='#L1235'>1235</a>
|
|
1301
|
-
<a name='L1236'></a><a href='#L1236'>1236</a>
|
|
1302
|
-
<a name='L1237'></a><a href='#L1237'>1237</a>
|
|
1303
|
-
<a name='L1238'></a><a href='#L1238'>1238</a>
|
|
1304
|
-
<a name='L1239'></a><a href='#L1239'>1239</a>
|
|
1305
|
-
<a name='L1240'></a><a href='#L1240'>1240</a>
|
|
1306
|
-
<a name='L1241'></a><a href='#L1241'>1241</a>
|
|
1307
|
-
<a name='L1242'></a><a href='#L1242'>1242</a>
|
|
1308
|
-
<a name='L1243'></a><a href='#L1243'>1243</a>
|
|
1309
|
-
<a name='L1244'></a><a href='#L1244'>1244</a>
|
|
1310
|
-
<a name='L1245'></a><a href='#L1245'>1245</a>
|
|
1311
|
-
<a name='L1246'></a><a href='#L1246'>1246</a>
|
|
1312
|
-
<a name='L1247'></a><a href='#L1247'>1247</a>
|
|
1313
|
-
<a name='L1248'></a><a href='#L1248'>1248</a>
|
|
1314
|
-
<a name='L1249'></a><a href='#L1249'>1249</a>
|
|
1315
|
-
<a name='L1250'></a><a href='#L1250'>1250</a>
|
|
1316
|
-
<a name='L1251'></a><a href='#L1251'>1251</a>
|
|
1317
|
-
<a name='L1252'></a><a href='#L1252'>1252</a>
|
|
1318
|
-
<a name='L1253'></a><a href='#L1253'>1253</a>
|
|
1319
|
-
<a name='L1254'></a><a href='#L1254'>1254</a>
|
|
1320
|
-
<a name='L1255'></a><a href='#L1255'>1255</a>
|
|
1321
|
-
<a name='L1256'></a><a href='#L1256'>1256</a>
|
|
1322
|
-
<a name='L1257'></a><a href='#L1257'>1257</a>
|
|
1323
|
-
<a name='L1258'></a><a href='#L1258'>1258</a>
|
|
1324
|
-
<a name='L1259'></a><a href='#L1259'>1259</a>
|
|
1325
|
-
<a name='L1260'></a><a href='#L1260'>1260</a>
|
|
1326
|
-
<a name='L1261'></a><a href='#L1261'>1261</a>
|
|
1327
|
-
<a name='L1262'></a><a href='#L1262'>1262</a>
|
|
1328
|
-
<a name='L1263'></a><a href='#L1263'>1263</a>
|
|
1329
|
-
<a name='L1264'></a><a href='#L1264'>1264</a>
|
|
1330
|
-
<a name='L1265'></a><a href='#L1265'>1265</a>
|
|
1331
|
-
<a name='L1266'></a><a href='#L1266'>1266</a>
|
|
1332
|
-
<a name='L1267'></a><a href='#L1267'>1267</a>
|
|
1333
|
-
<a name='L1268'></a><a href='#L1268'>1268</a>
|
|
1334
|
-
<a name='L1269'></a><a href='#L1269'>1269</a>
|
|
1335
|
-
<a name='L1270'></a><a href='#L1270'>1270</a>
|
|
1336
|
-
<a name='L1271'></a><a href='#L1271'>1271</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">413x</span>
|
|
1337
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1338
|
-
<span class="cline-any cline-yes">1x</span>
|
|
958
|
+
<a name='L893'></a><a href='#L893'>893</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
1339
959
|
<span class="cline-any cline-yes">1x</span>
|
|
1340
960
|
<span class="cline-any cline-yes">1x</span>
|
|
1341
961
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1344,183 +964,33 @@
|
|
|
1344
964
|
<span class="cline-any cline-yes">1x</span>
|
|
1345
965
|
<span class="cline-any cline-neutral"> </span>
|
|
1346
966
|
<span class="cline-any cline-yes">1x</span>
|
|
1347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1352
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1353
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1354
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1355
967
|
<span class="cline-any cline-yes">1x</span>
|
|
1356
968
|
<span class="cline-any cline-neutral"> </span>
|
|
1357
969
|
<span class="cline-any cline-neutral"> </span>
|
|
1358
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1359
970
|
<span class="cline-any cline-neutral"> </span>
|
|
1360
971
|
<span class="cline-any cline-yes">1x</span>
|
|
1361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1363
972
|
<span class="cline-any cline-yes">1x</span>
|
|
1364
|
-
<span class="cline-any cline-no"> </span>
|
|
1365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1366
|
-
<span class="cline-any cline-no"> </span>
|
|
1367
|
-
<span class="cline-any cline-no"> </span>
|
|
1368
|
-
<span class="cline-any cline-no"> </span>
|
|
1369
|
-
<span class="cline-any cline-no"> </span>
|
|
1370
|
-
<span class="cline-any cline-no"> </span>
|
|
1371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1373
|
-
<span class="cline-any cline-no"> </span>
|
|
1374
|
-
<span class="cline-any cline-no"> </span>
|
|
1375
|
-
<span class="cline-any cline-no"> </span>
|
|
1376
|
-
<span class="cline-any cline-no"> </span>
|
|
1377
|
-
<span class="cline-any cline-no"> </span>
|
|
1378
|
-
<span class="cline-any cline-no"> </span>
|
|
1379
|
-
<span class="cline-any cline-no"> </span>
|
|
1380
|
-
<span class="cline-any cline-no"> </span>
|
|
1381
|
-
<span class="cline-any cline-no"> </span>
|
|
1382
|
-
<span class="cline-any cline-no"> </span>
|
|
1383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1384
|
-
<span class="cline-any cline-no"> </span>
|
|
1385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1386
|
-
<span class="cline-any cline-no"> </span>
|
|
1387
|
-
<span class="cline-any cline-no"> </span>
|
|
1388
|
-
<span class="cline-any cline-no"> </span>
|
|
1389
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1391
|
-
<span class="cline-any cline-no"> </span>
|
|
1392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1395
|
-
<span class="cline-any cline-no"> </span>
|
|
1396
|
-
<span class="cline-any cline-no"> </span>
|
|
1397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1401
973
|
<span class="cline-any cline-yes">1x</span>
|
|
1402
|
-
<span class="cline-any cline-no"> </span>
|
|
1403
|
-
<span class="cline-any cline-no"> </span>
|
|
1404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1405
|
-
<span class="cline-any cline-no"> </span>
|
|
1406
|
-
<span class="cline-any cline-no"> </span>
|
|
1407
|
-
<span class="cline-any cline-no"> </span>
|
|
1408
|
-
<span class="cline-any cline-no"> </span>
|
|
1409
|
-
<span class="cline-any cline-no"> </span>
|
|
1410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1412
|
-
<span class="cline-any cline-no"> </span>
|
|
1413
|
-
<span class="cline-any cline-no"> </span>
|
|
1414
|
-
<span class="cline-any cline-no"> </span>
|
|
1415
|
-
<span class="cline-any cline-no"> </span>
|
|
1416
|
-
<span class="cline-any cline-no"> </span>
|
|
1417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1418
|
-
<span class="cline-any cline-no"> </span>
|
|
1419
|
-
<span class="cline-any cline-no"> </span>
|
|
1420
|
-
<span class="cline-any cline-no"> </span>
|
|
1421
|
-
<span class="cline-any cline-no"> </span>
|
|
1422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1423
|
-
<span class="cline-any cline-no"> </span>
|
|
1424
|
-
<span class="cline-any cline-no"> </span>
|
|
1425
|
-
<span class="cline-any cline-no"> </span>
|
|
1426
|
-
<span class="cline-any cline-no"> </span>
|
|
1427
|
-
<span class="cline-any cline-no"> </span>
|
|
1428
|
-
<span class="cline-any cline-no"> </span>
|
|
1429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1430
|
-
<span class="cline-any cline-no"> </span>
|
|
1431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1434
|
-
<span class="cline-any cline-no"> </span>
|
|
1435
|
-
<span class="cline-any cline-no"> </span>
|
|
1436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1439
|
-
<span class="cline-any cline-no"> </span>
|
|
1440
|
-
<span class="cline-any cline-no"> </span>
|
|
1441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1446
974
|
<span class="cline-any cline-yes">1x</span>
|
|
1447
|
-
<span class="cline-any cline-no"> </span>
|
|
1448
|
-
<span class="cline-any cline-no"> </span>
|
|
1449
|
-
<span class="cline-any cline-no"> </span>
|
|
1450
|
-
<span class="cline-any cline-no"> </span>
|
|
1451
|
-
<span class="cline-any cline-no"> </span>
|
|
1452
|
-
<span class="cline-any cline-no"> </span>
|
|
1453
|
-
<span class="cline-any cline-no"> </span>
|
|
1454
|
-
<span class="cline-any cline-no"> </span>
|
|
1455
|
-
<span class="cline-any cline-no"> </span>
|
|
1456
|
-
<span class="cline-any cline-no"> </span>
|
|
1457
|
-
<span class="cline-any cline-no"> </span>
|
|
1458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1459
|
-
<span class="cline-any cline-no"> </span>
|
|
1460
|
-
<span class="cline-any cline-no"> </span>
|
|
1461
|
-
<span class="cline-any cline-no"> </span>
|
|
1462
|
-
<span class="cline-any cline-no"> </span>
|
|
1463
|
-
<span class="cline-any cline-no"> </span>
|
|
1464
|
-
<span class="cline-any cline-no"> </span>
|
|
1465
|
-
<span class="cline-any cline-no"> </span>
|
|
1466
|
-
<span class="cline-any cline-no"> </span>
|
|
1467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1468
|
-
<span class="cline-any cline-no"> </span>
|
|
1469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1470
|
-
<span class="cline-any cline-no"> </span>
|
|
1471
|
-
<span class="cline-any cline-no"> </span>
|
|
1472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1475
|
-
<span class="cline-any cline-no"> </span>
|
|
1476
|
-
<span class="cline-any cline-no"> </span>
|
|
1477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1480
|
-
<span class="cline-any cline-no"> </span>
|
|
1481
|
-
<span class="cline-any cline-no"> </span>
|
|
1482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1485
975
|
<span class="cline-any cline-neutral"> </span>
|
|
1486
976
|
<span class="cline-any cline-neutral"> </span>
|
|
1487
977
|
<span class="cline-any cline-yes">1x</span>
|
|
1488
|
-
<span class="cline-any cline-no"> </span>
|
|
1489
978
|
<span class="cline-any cline-neutral"> </span>
|
|
1490
|
-
<span class="cline-any cline-no"> </span>
|
|
1491
|
-
<span class="cline-any cline-no"> </span>
|
|
1492
|
-
<span class="cline-any cline-no"> </span>
|
|
1493
|
-
<span class="cline-any cline-no"> </span>
|
|
1494
979
|
<span class="cline-any cline-neutral"> </span>
|
|
1495
980
|
<span class="cline-any cline-no"> </span>
|
|
1496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1498
981
|
<span class="cline-any cline-no"> </span>
|
|
1499
982
|
<span class="cline-any cline-no"> </span>
|
|
1500
983
|
<span class="cline-any cline-no"> </span>
|
|
1501
984
|
<span class="cline-any cline-no"> </span>
|
|
1502
985
|
<span class="cline-any cline-no"> </span>
|
|
1503
986
|
<span class="cline-any cline-no"> </span>
|
|
1504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1505
987
|
<span class="cline-any cline-no"> </span>
|
|
1506
988
|
<span class="cline-any cline-neutral"> </span>
|
|
1507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1508
989
|
<span class="cline-any cline-no"> </span>
|
|
1509
990
|
<span class="cline-any cline-no"> </span>
|
|
1510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1516
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1517
|
-
<span class="cline-any cline-no"> </span>
|
|
1518
991
|
<span class="cline-any cline-no"> </span>
|
|
1519
992
|
<span class="cline-any cline-no"> </span>
|
|
1520
993
|
<span class="cline-any cline-no"> </span>
|
|
1521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1522
|
-
<span class="cline-any cline-no"> </span>
|
|
1523
|
-
<span class="cline-any cline-no"> </span>
|
|
1524
994
|
<span class="cline-any cline-no"> </span>
|
|
1525
995
|
<span class="cline-any cline-no"> </span>
|
|
1526
996
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1529,19 +999,9 @@
|
|
|
1529
999
|
<span class="cline-any cline-no"> </span>
|
|
1530
1000
|
<span class="cline-any cline-no"> </span>
|
|
1531
1001
|
<span class="cline-any cline-neutral"> </span>
|
|
1532
|
-
<span class="cline-any cline-no"> </span>
|
|
1533
1002
|
<span class="cline-any cline-neutral"> </span>
|
|
1534
|
-
<span class="cline-any cline-no"> </span>
|
|
1535
|
-
<span class="cline-any cline-no"> </span>
|
|
1536
|
-
<span class="cline-any cline-no"> </span>
|
|
1537
1003
|
<span class="cline-any cline-neutral"> </span>
|
|
1538
1004
|
<span class="cline-any cline-neutral"> </span>
|
|
1539
|
-
<span class="cline-any cline-no"> </span>
|
|
1540
|
-
<span class="cline-any cline-no"> </span>
|
|
1541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1542
|
-
<span class="cline-any cline-no"> </span>
|
|
1543
|
-
<span class="cline-any cline-no"> </span>
|
|
1544
|
-
<span class="cline-any cline-no"> </span>
|
|
1545
1005
|
<span class="cline-any cline-neutral"> </span>
|
|
1546
1006
|
<span class="cline-any cline-neutral"> </span>
|
|
1547
1007
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1549,94 +1009,32 @@
|
|
|
1549
1009
|
<span class="cline-any cline-neutral"> </span>
|
|
1550
1010
|
<span class="cline-any cline-no"> </span>
|
|
1551
1011
|
<span class="cline-any cline-no"> </span>
|
|
1552
|
-
<span class="cline-any cline-no"> </span>
|
|
1553
|
-
<span class="cline-any cline-no"> </span>
|
|
1554
|
-
<span class="cline-any cline-no"> </span>
|
|
1555
|
-
<span class="cline-any cline-no"> </span>
|
|
1556
1012
|
<span class="cline-any cline-neutral"> </span>
|
|
1557
1013
|
<span class="cline-any cline-no"> </span>
|
|
1558
1014
|
<span class="cline-any cline-no"> </span>
|
|
1559
|
-
<span class="cline-any cline-no"> </span>
|
|
1560
|
-
<span class="cline-any cline-no"> </span>
|
|
1561
|
-
<span class="cline-any cline-no"> </span>
|
|
1562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1563
|
-
<span class="cline-any cline-no"> </span>
|
|
1564
1015
|
<span class="cline-any cline-neutral"> </span>
|
|
1565
1016
|
<span class="cline-any cline-no"> </span>
|
|
1566
1017
|
<span class="cline-any cline-no"> </span>
|
|
1567
1018
|
<span class="cline-any cline-neutral"> </span>
|
|
1568
1019
|
<span class="cline-any cline-no"> </span>
|
|
1569
1020
|
<span class="cline-any cline-no"> </span>
|
|
1570
|
-
<span class="cline-any cline-no"> </span>
|
|
1571
|
-
<span class="cline-any cline-no"> </span>
|
|
1572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1573
1021
|
<span class="cline-any cline-neutral"> </span>
|
|
1574
1022
|
<span class="cline-any cline-no"> </span>
|
|
1575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1576
1023
|
<span class="cline-any cline-no"> </span>
|
|
1577
1024
|
<span class="cline-any cline-neutral"> </span>
|
|
1578
1025
|
<span class="cline-any cline-no"> </span>
|
|
1579
1026
|
<span class="cline-any cline-no"> </span>
|
|
1580
1027
|
<span class="cline-any cline-neutral"> </span>
|
|
1581
1028
|
<span class="cline-any cline-no"> </span>
|
|
1582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1583
1029
|
<span class="cline-any cline-no"> </span>
|
|
1584
1030
|
<span class="cline-any cline-neutral"> </span>
|
|
1585
1031
|
<span class="cline-any cline-no"> </span>
|
|
1586
1032
|
<span class="cline-any cline-no"> </span>
|
|
1587
|
-
<span class="cline-any cline-no"> </span>
|
|
1588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1590
|
-
<span class="cline-any cline-no"> </span>
|
|
1591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1593
1033
|
<span class="cline-any cline-neutral"> </span>
|
|
1594
1034
|
<span class="cline-any cline-no"> </span>
|
|
1595
1035
|
<span class="cline-any cline-no"> </span>
|
|
1596
1036
|
<span class="cline-any cline-no"> </span>
|
|
1597
1037
|
<span class="cline-any cline-neutral"> </span>
|
|
1598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1599
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1600
|
-
<span class="cline-any cline-no"> </span>
|
|
1601
|
-
<span class="cline-any cline-no"> </span>
|
|
1602
|
-
<span class="cline-any cline-no"> </span>
|
|
1603
|
-
<span class="cline-any cline-no"> </span>
|
|
1604
|
-
<span class="cline-any cline-no"> </span>
|
|
1605
|
-
<span class="cline-any cline-no"> </span>
|
|
1606
|
-
<span class="cline-any cline-no"> </span>
|
|
1607
|
-
<span class="cline-any cline-no"> </span>
|
|
1608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1609
|
-
<span class="cline-any cline-no"> </span>
|
|
1610
|
-
<span class="cline-any cline-no"> </span>
|
|
1611
|
-
<span class="cline-any cline-no"> </span>
|
|
1612
|
-
<span class="cline-any cline-no"> </span>
|
|
1613
|
-
<span class="cline-any cline-no"> </span>
|
|
1614
|
-
<span class="cline-any cline-no"> </span>
|
|
1615
|
-
<span class="cline-any cline-no"> </span>
|
|
1616
|
-
<span class="cline-any cline-no"> </span>
|
|
1617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1618
|
-
<span class="cline-any cline-no"> </span>
|
|
1619
|
-
<span class="cline-any cline-no"> </span>
|
|
1620
|
-
<span class="cline-any cline-no"> </span>
|
|
1621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1627
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1628
|
-
<span class="cline-any cline-no"> </span>
|
|
1629
|
-
<span class="cline-any cline-no"> </span>
|
|
1630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1631
|
-
<span class="cline-any cline-no"> </span>
|
|
1632
|
-
<span class="cline-any cline-no"> </span>
|
|
1633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1634
|
-
<span class="cline-any cline-no"> </span>
|
|
1635
|
-
<span class="cline-any cline-no"> </span>
|
|
1636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1637
|
-
<span class="cline-any cline-no"> </span>
|
|
1638
|
-
<span class="cline-any cline-no"> </span>
|
|
1639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1640
1038
|
<span class="cline-any cline-no"> </span>
|
|
1641
1039
|
<span class="cline-any cline-no"> </span>
|
|
1642
1040
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1654,7 +1052,6 @@
|
|
|
1654
1052
|
<span class="cline-any cline-neutral"> </span>
|
|
1655
1053
|
<span class="cline-any cline-no"> </span>
|
|
1656
1054
|
<span class="cline-any cline-no"> </span>
|
|
1657
|
-
<span class="cline-any cline-no"> </span>
|
|
1658
1055
|
<span class="cline-any cline-neutral"> </span>
|
|
1659
1056
|
<span class="cline-any cline-no"> </span>
|
|
1660
1057
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1663,32 +1060,14 @@
|
|
|
1663
1060
|
<span class="cline-any cline-no"> </span>
|
|
1664
1061
|
<span class="cline-any cline-neutral"> </span>
|
|
1665
1062
|
<span class="cline-any cline-no"> </span>
|
|
1666
|
-
<span class="cline-any cline-no"> </span>
|
|
1667
1063
|
<span class="cline-any cline-neutral"> </span>
|
|
1668
|
-
<span class="cline-any cline-no"> </span>
|
|
1669
|
-
<span class="cline-any cline-no"> </span>
|
|
1670
1064
|
<span class="cline-any cline-neutral"> </span>
|
|
1671
1065
|
<span class="cline-any cline-no"> </span>
|
|
1672
|
-
<span class="cline-any cline-no"> </span>
|
|
1673
1066
|
<span class="cline-any cline-neutral"> </span>
|
|
1674
|
-
<span class="cline-any cline-no"> </span>
|
|
1675
|
-
<span class="cline-any cline-no"> </span>
|
|
1676
1067
|
<span class="cline-any cline-neutral"> </span>
|
|
1677
|
-
<span class="cline-any cline-no"> </span>
|
|
1678
|
-
<span class="cline-any cline-no"> </span>
|
|
1679
1068
|
<span class="cline-any cline-neutral"> </span>
|
|
1680
|
-
<span class="cline-any cline-no"> </span>
|
|
1681
|
-
<span class="cline-any cline-no"> </span>
|
|
1682
1069
|
<span class="cline-any cline-neutral"> </span>
|
|
1683
1070
|
<span class="cline-any cline-no"> </span>
|
|
1684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1686
|
-
<span class="cline-any cline-no"> </span>
|
|
1687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1690
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1691
|
-
<span class="cline-any cline-no"> </span>
|
|
1692
1071
|
<span class="cline-any cline-no"> </span>
|
|
1693
1072
|
<span class="cline-any cline-neutral"> </span>
|
|
1694
1073
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1724,11 +1103,6 @@
|
|
|
1724
1103
|
<span class="cline-any cline-neutral"> </span>
|
|
1725
1104
|
<span class="cline-any cline-neutral"> </span>
|
|
1726
1105
|
<span class="cline-any cline-neutral"> </span>
|
|
1727
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1728
|
-
<span class="cline-any cline-no"> </span>
|
|
1729
|
-
<span class="cline-any cline-no"> </span>
|
|
1730
|
-
<span class="cline-any cline-no"> </span>
|
|
1731
|
-
<span class="cline-any cline-no"> </span>
|
|
1732
1106
|
<span class="cline-any cline-neutral"> </span>
|
|
1733
1107
|
<span class="cline-any cline-no"> </span>
|
|
1734
1108
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1739,7 +1113,6 @@
|
|
|
1739
1113
|
<span class="cline-any cline-no"> </span>
|
|
1740
1114
|
<span class="cline-any cline-no"> </span>
|
|
1741
1115
|
<span class="cline-any cline-no"> </span>
|
|
1742
|
-
<span class="cline-any cline-no"> </span>
|
|
1743
1116
|
<span class="cline-any cline-neutral"> </span>
|
|
1744
1117
|
<span class="cline-any cline-neutral"> </span>
|
|
1745
1118
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1843,8 +1216,6 @@
|
|
|
1843
1216
|
<span class="cline-any cline-no"> </span>
|
|
1844
1217
|
<span class="cline-any cline-no"> </span>
|
|
1845
1218
|
<span class="cline-any cline-neutral"> </span>
|
|
1846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1847
|
-
<span class="cline-any cline-no"> </span>
|
|
1848
1219
|
<span class="cline-any cline-no"> </span>
|
|
1849
1220
|
<span class="cline-any cline-no"> </span>
|
|
1850
1221
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1872,9 +1243,6 @@
|
|
|
1872
1243
|
<span class="cline-any cline-no"> </span>
|
|
1873
1244
|
<span class="cline-any cline-no"> </span>
|
|
1874
1245
|
<span class="cline-any cline-no"> </span>
|
|
1875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1876
|
-
<span class="cline-any cline-no"> </span>
|
|
1877
|
-
<span class="cline-any cline-no"> </span>
|
|
1878
1246
|
<span class="cline-any cline-no"> </span>
|
|
1879
1247
|
<span class="cline-any cline-neutral"> </span>
|
|
1880
1248
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1918,13 +1286,11 @@
|
|
|
1918
1286
|
<span class="cline-any cline-no"> </span>
|
|
1919
1287
|
<span class="cline-any cline-neutral"> </span>
|
|
1920
1288
|
<span class="cline-any cline-neutral"> </span>
|
|
1921
|
-
<span class="cline-any cline-no"> </span>
|
|
1922
|
-
<span class="cline-any cline-no"> </span>
|
|
1923
|
-
<span class="cline-any cline-no"> </span>
|
|
1924
1289
|
<span class="cline-any cline-neutral"> </span>
|
|
1925
1290
|
<span class="cline-any cline-no"> </span>
|
|
1926
1291
|
<span class="cline-any cline-no"> </span>
|
|
1927
1292
|
<span class="cline-any cline-no"> </span>
|
|
1293
|
+
<span class="cline-any cline-no"> </span>
|
|
1928
1294
|
<span class="cline-any cline-neutral"> </span>
|
|
1929
1295
|
<span class="cline-any cline-neutral"> </span>
|
|
1930
1296
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1960,32 +1326,11 @@
|
|
|
1960
1326
|
<span class="cline-any cline-neutral"> </span>
|
|
1961
1327
|
<span class="cline-any cline-neutral"> </span>
|
|
1962
1328
|
<span class="cline-any cline-no"> </span>
|
|
1963
|
-
<span class="cline-any cline-no"> </span>
|
|
1964
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1965
1329
|
<span class="cline-any cline-neutral"> </span>
|
|
1966
1330
|
<span class="cline-any cline-neutral"> </span>
|
|
1967
1331
|
<span class="cline-any cline-neutral"> </span>
|
|
1968
1332
|
<span class="cline-any cline-no"> </span>
|
|
1969
1333
|
<span class="cline-any cline-neutral"> </span>
|
|
1970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1971
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1974
|
-
<span class="cline-any cline-no"> </span>
|
|
1975
|
-
<span class="cline-any cline-no"> </span>
|
|
1976
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1982
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1986
|
-
<span class="cline-any cline-no"> </span>
|
|
1987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1988
|
-
<span class="cline-any cline-no"> </span>
|
|
1989
1334
|
<span class="cline-any cline-no"> </span>
|
|
1990
1335
|
<span class="cline-any cline-no"> </span>
|
|
1991
1336
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2020,10 +1365,7 @@
|
|
|
2020
1365
|
<span class="cline-any cline-neutral"> </span>
|
|
2021
1366
|
<span class="cline-any cline-neutral"> </span>
|
|
2022
1367
|
<span class="cline-any cline-neutral"> </span>
|
|
2023
|
-
<span class="cline-any cline-
|
|
2024
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2026
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1368
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2027
1369
|
<span class="cline-any cline-yes">1x</span>
|
|
2028
1370
|
<span class="cline-any cline-yes">1x</span>
|
|
2029
1371
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2034,7 +1376,7 @@
|
|
|
2034
1376
|
<span class="cline-any cline-neutral"> </span>
|
|
2035
1377
|
<span class="cline-any cline-neutral"> </span>
|
|
2036
1378
|
<span class="cline-any cline-neutral"> </span>
|
|
2037
|
-
<span class="cline-any cline-
|
|
1379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2038
1380
|
<span class="cline-any cline-yes">1x</span>
|
|
2039
1381
|
<span class="cline-any cline-yes">1x</span>
|
|
2040
1382
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -2069,119 +1411,47 @@
|
|
|
2069
1411
|
<span class="cline-any cline-no"> </span>
|
|
2070
1412
|
<span class="cline-any cline-no"> </span>
|
|
2071
1413
|
<span class="cline-any cline-no"> </span>
|
|
2072
|
-
<span class="cline-any cline-no"> </span>
|
|
2073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2074
|
-
<span class="cline-any cline-no"> </span>
|
|
2075
|
-
<span class="cline-any cline-no"> </span>
|
|
2076
|
-
<span class="cline-any cline-no"> </span>
|
|
2077
|
-
<span class="cline-any cline-no"> </span>
|
|
2078
|
-
<span class="cline-any cline-no"> </span>
|
|
2079
|
-
<span class="cline-any cline-no"> </span>
|
|
2080
|
-
<span class="cline-any cline-no"> </span>
|
|
2081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2082
1414
|
<span class="cline-any cline-neutral"> </span>
|
|
2083
1415
|
<span class="cline-any cline-no"> </span>
|
|
2084
1416
|
<span class="cline-any cline-no"> </span>
|
|
2085
1417
|
<span class="cline-any cline-no"> </span>
|
|
2086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2088
|
-
<span class="cline-any cline-no"> </span>
|
|
2089
1418
|
<span class="cline-any cline-no"> </span>
|
|
2090
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2091
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2094
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2095
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2096
1419
|
<span class="cline-any cline-no"> </span>
|
|
2097
1420
|
<span class="cline-any cline-no"> </span>
|
|
2098
1421
|
<span class="cline-any cline-neutral"> </span>
|
|
2099
1422
|
<span class="cline-any cline-neutral"> </span>
|
|
2100
1423
|
<span class="cline-any cline-no"> </span>
|
|
2101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2102
1424
|
<span class="cline-any cline-no"> </span>
|
|
2103
1425
|
<span class="cline-any cline-no"> </span>
|
|
2104
1426
|
<span class="cline-any cline-neutral"> </span>
|
|
2105
|
-
<span class="cline-any cline-no"> </span>
|
|
2106
1427
|
<span class="cline-any cline-neutral"> </span>
|
|
2107
1428
|
<span class="cline-any cline-no"> </span>
|
|
2108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2110
1429
|
<span class="cline-any cline-no"> </span>
|
|
2111
1430
|
<span class="cline-any cline-neutral"> </span>
|
|
2112
|
-
<span class="cline-any cline-no"> </span>
|
|
2113
1431
|
<span class="cline-any cline-neutral"> </span>
|
|
2114
1432
|
<span class="cline-any cline-neutral"> </span>
|
|
2115
1433
|
<span class="cline-any cline-neutral"> </span>
|
|
2116
|
-
<span class="cline-any cline-no"> </span>
|
|
2117
|
-
<span class="cline-any cline-no"> </span>
|
|
2118
1434
|
<span class="cline-any cline-neutral"> </span>
|
|
2119
1435
|
<span class="cline-any cline-no"> </span>
|
|
2120
1436
|
<span class="cline-any cline-no"> </span>
|
|
2121
1437
|
<span class="cline-any cline-no"> </span>
|
|
2122
|
-
<span class="cline-any cline-no"> </span>
|
|
2123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2125
1438
|
<span class="cline-any cline-neutral"> </span>
|
|
2126
1439
|
<span class="cline-any cline-no"> </span>
|
|
2127
1440
|
<span class="cline-any cline-neutral"> </span>
|
|
2128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2129
1441
|
<span class="cline-any cline-no"> </span>
|
|
2130
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2131
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2132
1442
|
<span class="cline-any cline-no"> </span>
|
|
2133
1443
|
<span class="cline-any cline-neutral"> </span>
|
|
2134
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2139
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2140
1444
|
<span class="cline-any cline-no"> </span>
|
|
2141
1445
|
<span class="cline-any cline-neutral"> </span>
|
|
2142
1446
|
<span class="cline-any cline-no"> </span>
|
|
2143
|
-
<span class="cline-any cline-no"> </span>
|
|
2144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2145
1447
|
<span class="cline-any cline-neutral"> </span>
|
|
2146
1448
|
<span class="cline-any cline-neutral"> </span>
|
|
2147
1449
|
<span class="cline-any cline-no"> </span>
|
|
2148
1450
|
<span class="cline-any cline-neutral"> </span>
|
|
2149
1451
|
<span class="cline-any cline-no"> </span>
|
|
2150
|
-
<span class="cline-any cline-no"> </span>
|
|
2151
|
-
<span class="cline-any cline-no"> </span>
|
|
2152
1452
|
<span class="cline-any cline-neutral"> </span>
|
|
2153
|
-
<span class="cline-any cline-no"> </span>
|
|
2154
|
-
<span class="cline-any cline-no"> </span>
|
|
2155
|
-
<span class="cline-any cline-no"> </span>
|
|
2156
1453
|
<span class="cline-any cline-neutral"> </span>
|
|
2157
1454
|
<span class="cline-any cline-neutral"> </span>
|
|
2158
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2160
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2161
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2162
|
-
<span class="cline-any cline-no"> </span>
|
|
2163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2165
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2167
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2168
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2169
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2170
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2182
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2183
|
-
<span class="cline-any cline-no"> </span>
|
|
2184
|
-
<span class="cline-any cline-no"> </span>
|
|
2185
1455
|
<span class="cline-any cline-no"> </span>
|
|
2186
1456
|
<span class="cline-any cline-no"> </span>
|
|
2187
1457
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2190,82 +1460,58 @@
|
|
|
2190
1460
|
<span class="cline-any cline-no"> </span>
|
|
2191
1461
|
<span class="cline-any cline-no"> </span>
|
|
2192
1462
|
<span class="cline-any cline-neutral"> </span>
|
|
2193
|
-
<span class="cline-any cline-no"> </span>
|
|
2194
|
-
<span class="cline-any cline-no"> </span>
|
|
2195
1463
|
<span class="cline-any cline-neutral"> </span>
|
|
2196
|
-
<span class="cline-any cline-no"> </span>
|
|
2197
|
-
<span class="cline-any cline-no"> </span>
|
|
2198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2199
|
-
<span class="cline-any cline-no"> </span>
|
|
2200
|
-
<span class="cline-any cline-no"> </span>
|
|
2201
1464
|
<span class="cline-any cline-neutral"> </span>
|
|
2202
1465
|
<span class="cline-any cline-no"> </span>
|
|
2203
1466
|
<span class="cline-any cline-neutral"> </span>
|
|
2204
1467
|
<span class="cline-any cline-neutral"> </span>
|
|
2205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2207
1468
|
<span class="cline-any cline-no"> </span>
|
|
2208
1469
|
<span class="cline-any cline-neutral"> </span>
|
|
2209
1470
|
<span class="cline-any cline-neutral"> </span>
|
|
2210
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2211
|
-
<span class="cline-any cline-no"> </span>
|
|
2212
|
-
<span class="cline-any cline-no"> </span>
|
|
2213
|
-
<span class="cline-any cline-no"> </span>
|
|
2214
|
-
<span class="cline-any cline-no"> </span>
|
|
2215
|
-
<span class="cline-any cline-no"> </span>
|
|
2216
|
-
<span class="cline-any cline-no"> </span>
|
|
2217
|
-
<span class="cline-any cline-no"> </span>
|
|
2218
|
-
<span class="cline-any cline-no"> </span>
|
|
2219
|
-
<span class="cline-any cline-no"> </span>
|
|
2220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2222
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2224
|
-
<span class="cline-any cline-no"> </span>
|
|
2225
|
-
<span class="cline-any cline-no"> </span>
|
|
2226
|
-
<span class="cline-any cline-no"> </span>
|
|
2227
|
-
<span class="cline-any cline-no"> </span>
|
|
2228
|
-
<span class="cline-any cline-no"> </span>
|
|
2229
1471
|
<span class="cline-any cline-no"> </span>
|
|
2230
1472
|
<span class="cline-any cline-neutral"> </span>
|
|
2231
1473
|
<span class="cline-any cline-neutral"> </span>
|
|
2232
1474
|
<span class="cline-any cline-neutral"> </span>
|
|
2233
1475
|
<span class="cline-any cline-neutral"> </span>
|
|
2234
1476
|
<span class="cline-any cline-neutral"> </span>
|
|
2235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2236
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2237
|
-
<span class="cline-any cline-no"> </span>
|
|
2238
|
-
<span class="cline-any cline-no"> </span>
|
|
2239
|
-
<span class="cline-any cline-no"> </span>
|
|
2240
|
-
<span class="cline-any cline-no"> </span>
|
|
2241
|
-
<span class="cline-any cline-no"> </span>
|
|
2242
|
-
<span class="cline-any cline-no"> </span>
|
|
2243
|
-
<span class="cline-any cline-no"> </span>
|
|
2244
|
-
<span class="cline-any cline-no"> </span>
|
|
2245
|
-
<span class="cline-any cline-no"> </span>
|
|
2246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2247
1479
|
<span class="cline-any cline-no"> </span>
|
|
2248
1480
|
<span class="cline-any cline-neutral"> </span>
|
|
2249
1481
|
<span class="cline-any cline-no"> </span>
|
|
1482
|
+
<span class="cline-any cline-no"> </span>
|
|
2250
1483
|
<span class="cline-any cline-neutral"> </span>
|
|
2251
1484
|
<span class="cline-any cline-neutral"> </span>
|
|
2252
1485
|
<span class="cline-any cline-neutral"> </span>
|
|
2253
1486
|
<span class="cline-any cline-no"> </span>
|
|
2254
1487
|
<span class="cline-any cline-neutral"> </span>
|
|
2255
1488
|
<span class="cline-any cline-no"> </span>
|
|
2256
|
-
<span class="cline-any cline-
|
|
1489
|
+
<span class="cline-any cline-no"> </span>
|
|
2257
1490
|
<span class="cline-any cline-no"> </span>
|
|
2258
1491
|
<span class="cline-any cline-neutral"> </span>
|
|
1492
|
+
<span class="cline-any cline-no"> </span>
|
|
1493
|
+
<span class="cline-any cline-no"> </span>
|
|
1494
|
+
<span class="cline-any cline-no"> </span>
|
|
2259
1495
|
<span class="cline-any cline-neutral"> </span>
|
|
2260
1496
|
<span class="cline-any cline-neutral"> </span>
|
|
2261
1497
|
<span class="cline-any cline-neutral"> </span>
|
|
2262
1498
|
<span class="cline-any cline-neutral"> </span>
|
|
1499
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2263
1500
|
<span class="cline-any cline-neutral"> </span>
|
|
1501
|
+
<span class="cline-any cline-no"> </span>
|
|
2264
1502
|
<span class="cline-any cline-neutral"> </span>
|
|
2265
1503
|
<span class="cline-any cline-neutral"> </span>
|
|
2266
1504
|
<span class="cline-any cline-neutral"> </span>
|
|
2267
1505
|
<span class="cline-any cline-no"> </span>
|
|
2268
1506
|
<span class="cline-any cline-no"> </span>
|
|
1507
|
+
<span class="cline-any cline-no"> </span>
|
|
1508
|
+
<span class="cline-any cline-no"> </span>
|
|
1509
|
+
<span class="cline-any cline-no"> </span>
|
|
1510
|
+
<span class="cline-any cline-no"> </span>
|
|
1511
|
+
<span class="cline-any cline-no"> </span>
|
|
1512
|
+
<span class="cline-any cline-no"> </span>
|
|
1513
|
+
<span class="cline-any cline-no"> </span>
|
|
1514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2269
1515
|
<span class="cline-any cline-neutral"> </span>
|
|
2270
1516
|
<span class="cline-any cline-no"> </span>
|
|
2271
1517
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2279,6 +1525,7 @@
|
|
|
2279
1525
|
<span class="cline-any cline-neutral"> </span>
|
|
2280
1526
|
<span class="cline-any cline-neutral"> </span>
|
|
2281
1527
|
<span class="cline-any cline-neutral"> </span>
|
|
1528
|
+
<span class="cline-any cline-no"> </span>
|
|
2282
1529
|
<span class="cline-any cline-neutral"> </span>
|
|
2283
1530
|
<span class="cline-any cline-no"> </span>
|
|
2284
1531
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2444,10 +1691,6 @@
|
|
|
2444
1691
|
<span class="cline-any cline-neutral"> </span>
|
|
2445
1692
|
<span class="cline-any cline-neutral"> </span>
|
|
2446
1693
|
<span class="cline-any cline-yes">1x</span>
|
|
2447
|
-
<span class="cline-any cline-no"> </span>
|
|
2448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2449
|
-
<span class="cline-any cline-no"> </span>
|
|
2450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2451
1694
|
<span class="cline-any cline-neutral"> </span>
|
|
2452
1695
|
<span class="cline-any cline-no"> </span>
|
|
2453
1696
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2498,11 +1741,10 @@
|
|
|
2498
1741
|
<span class="cline-any cline-no"> </span>
|
|
2499
1742
|
<span class="cline-any cline-no"> </span>
|
|
2500
1743
|
<span class="cline-any cline-no"> </span>
|
|
2501
|
-
<span class="cline-any cline-no"> </span>
|
|
2502
1744
|
<span class="cline-any cline-neutral"> </span>
|
|
2503
1745
|
<span class="cline-any cline-no"> </span>
|
|
2504
1746
|
<span class="cline-any cline-no"> </span>
|
|
2505
|
-
<span class="cline-any cline-
|
|
1747
|
+
<span class="cline-any cline-no"> </span>
|
|
2506
1748
|
<span class="cline-any cline-neutral"> </span>
|
|
2507
1749
|
<span class="cline-any cline-neutral"> </span>
|
|
2508
1750
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2603,17 +1845,18 @@
|
|
|
2603
1845
|
<span class="cline-any cline-no"> </span>
|
|
2604
1846
|
<span class="cline-any cline-no"> </span>
|
|
2605
1847
|
<span class="cline-any cline-neutral"> </span>
|
|
2606
|
-
<span class="cline-any cline-neutral"> </span
|
|
2607
|
-
|
|
1848
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1849
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1850
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { App, LogicItem, Logic, Module, View, ViewElement, Argument, SelectMembers, SynatxNode, BindDirective, CallLogic } from '../../concepts';
|
|
2608
1851
|
import { addBreakpointNodesFromApp } from '../../breakpoint';
|
|
2609
1852
|
import { getConceptConstructor } from '../../decorators';
|
|
2610
1853
|
import { config } from '../../config';
|
|
2611
1854
|
import storageService from './service';
|
|
2612
1855
|
import { v4 as uuidv4 } from 'uuid';
|
|
2613
1856
|
import stepRecorder from '../../manager/stepRecorder';
|
|
2614
|
-
import * as jsoner from './jsoner';
|
|
2615
1857
|
/// #if !process.env.NODE_ENV || process.env.BUILD_TARGET === 'node'
|
|
2616
1858
|
import * as fs from 'fs-extra';
|
|
1859
|
+
import * as jsoner from './jsoner';
|
|
2617
1860
|
import type { NaslServer } from 'src/server/naslServer';
|
|
2618
1861
|
/// #endif
|
|
2619
1862
|
|
|
@@ -2625,502 +1868,254 @@ export const batchInstruct = storageService.batchInstruct;
|
|
|
2625
1868
|
export const breakpoint = storageService.breakpoint;
|
|
2626
1869
|
|
|
2627
1870
|
let tabTimestamp: string;
|
|
2628
|
-
export
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
<span class="cstat-no" title="statement not covered"
|
|
2640
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
<span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) => {</span></span>
|
|
2644
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
2645
|
-
const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
|
|
2646
|
-
const transaction = <span class="cstat-no" title="statement not covered" >db.transaction('operationRecord', 'readwrite');</span>
|
|
2647
|
-
const objectStore = <span class="cstat-no" title="statement not covered" >transaction.objectStore('operationRecord');</span>
|
|
2648
|
-
<span class="cstat-no" title="statement not covered" > operation.appId = operationRecordInfoMap.get('appId');</span>
|
|
2649
|
-
<span class="cstat-no" title="statement not covered" > operation.branchId = operationRecordInfoMap.get('branchId');</span>
|
|
2650
|
-
<span class="cstat-no" title="statement not covered" > operation.accountId = operationRecordInfoMap.get('accountId');</span>
|
|
2651
|
-
<span class="cstat-no" title="statement not covered" > operation.userId = operationRecordInfoMap.get('userId');</span>
|
|
2652
|
-
<span class="cstat-no" title="statement not covered" > operation.phone = operationRecordInfoMap.get('phone');</span>
|
|
2653
|
-
// 将时间戳添加到记录中
|
|
2654
|
-
<span class="cstat-no" title="statement not covered" > operation.timestamp = Date.now();</span>
|
|
2655
|
-
// 这份数据不存在向上的引用,因此用cloneDeep没有关系
|
|
2656
|
-
<span class="cstat-no" title="statement not covered" > objectStore.put(cloneDeep(operation));</span>
|
|
2657
|
-
<span class="cstat-no" title="statement not covered" > transaction.oncomplete = <span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
2658
|
-
<span class="cstat-no" title="statement not covered" > db.close();</span>
|
|
2659
|
-
};
|
|
2660
|
-
} catch(err) {
|
|
2661
|
-
<span class="cstat-no" title="statement not covered" > console.log(err);</span>
|
|
2662
|
-
}
|
|
2663
|
-
};
|
|
2664
|
-
|
|
2665
|
-
<span class="cstat-no" title="statement not covered" > request.onerror = <span class="fstat-no" title="function not covered" >function(e</span>vent) {</span>
|
|
2666
|
-
<span class="cstat-no" title="statement not covered" > console.log('Failed to open database');</span>
|
|
2667
|
-
};
|
|
2668
|
-
}
|
|
2669
|
-
|
|
2670
|
-
// 删除失效数据
|
|
2671
|
-
async function <span class="fstat-no" title="function not covered" >deleteExpiredRecords() {</span>
|
|
2672
|
-
<span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve, reject) => {</span>
|
|
2673
|
-
const request = <span class="cstat-no" title="statement not covered" >indexedDB.open('naslData', 1);</span>
|
|
2674
|
-
|
|
2675
|
-
<span class="cstat-no" title="statement not covered" > request.onupgradeneeded = (<span class="fstat-no" title="function not covered" >event: any) => {</span></span>
|
|
2676
|
-
const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
|
|
2677
|
-
const objectStore = <span class="cstat-no" title="statement not covered" >db.createObjectStore('operationRecord', { autoIncrement: true });</span>
|
|
2678
|
-
<span class="cstat-no" title="statement not covered" > objectStore.createIndex('appId', 'appId');</span>
|
|
2679
|
-
<span class="cstat-no" title="statement not covered" > objectStore.createIndex('timestamp', 'timestamp');</span>
|
|
2680
|
-
};
|
|
2681
|
-
|
|
2682
|
-
<span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) => {</span></span>
|
|
2683
|
-
const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
|
|
2684
|
-
const transaction = <span class="cstat-no" title="statement not covered" >db.transaction('operationRecord', 'readwrite');</span>
|
|
2685
|
-
const objectStore = <span class="cstat-no" title="statement not covered" >transaction.objectStore('operationRecord');</span>
|
|
2686
|
-
const index = <span class="cstat-no" title="statement not covered" >objectStore.index('timestamp');</span>
|
|
2687
|
-
// 设置有效期,默认7天
|
|
2688
|
-
const localStorageExpiresAt = <span class="cstat-no" title="statement not covered" >window.localStorage.getItem('expiresAt');</span>
|
|
2689
|
-
const expiresAt = <span class="cstat-no" title="statement not covered" >Date.now() - (localStorageExpiresAt ? +localStorageExpiresAt : 7 * 24 * 60 * 60 * 1000);</span>
|
|
2690
|
-
const range = <span class="cstat-no" title="statement not covered" >IDBKeyRange.upperBound(expiresAt);</span>
|
|
2691
|
-
const expiredRecordsRequest = <span class="cstat-no" title="statement not covered" >index.openCursor(range);</span>
|
|
2692
|
-
|
|
2693
|
-
<span class="cstat-no" title="statement not covered" > expiredRecordsRequest.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) => {</span></span>
|
|
2694
|
-
const cursor = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
|
|
2695
|
-
<span class="cstat-no" title="statement not covered" > if (cursor) {</span>
|
|
2696
|
-
<span class="cstat-no" title="statement not covered" > console.log(cursor);</span>
|
|
2697
|
-
<span class="cstat-no" title="statement not covered" > objectStore.delete(cursor.primaryKey);</span>
|
|
2698
|
-
<span class="cstat-no" title="statement not covered" > cursor.continue();</span>
|
|
2699
|
-
} else {
|
|
2700
|
-
<span class="cstat-no" title="statement not covered" > resolve(void 0);</span>
|
|
2701
|
-
}
|
|
2702
|
-
};
|
|
2703
|
-
|
|
2704
|
-
<span class="cstat-no" title="statement not covered" > transaction.oncomplete = <span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
2705
|
-
<span class="cstat-no" title="statement not covered" > db.close();</span>
|
|
2706
|
-
};
|
|
2707
|
-
};
|
|
2708
|
-
|
|
2709
|
-
<span class="cstat-no" title="statement not covered" > request.onerror = (<span class="fstat-no" title="function not covered" >event) => {</span></span>
|
|
2710
|
-
<span class="cstat-no" title="statement not covered" > reject('Failed to open database');</span>
|
|
2711
|
-
};
|
|
2712
|
-
});
|
|
2713
|
-
}
|
|
2714
|
-
|
|
2715
|
-
// 操作栈查询
|
|
2716
|
-
export function <span class="fstat-no" title="function not covered" >operationRecordQuery(a</span>pp: any) {
|
|
2717
|
-
<span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve, reject) => {</span>
|
|
2718
|
-
const appId = <span class="cstat-no" title="statement not covered" >app?.id;</span>
|
|
2719
|
-
const branchId = <span class="cstat-no" title="statement not covered" >app?.__branchId;</span>
|
|
2720
|
-
const request = <span class="cstat-no" title="statement not covered" >indexedDB.open('naslData', 1);</span>
|
|
2721
|
-
<span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) => {</span></span>
|
|
2722
|
-
const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
|
|
2723
|
-
const transaction = <span class="cstat-no" title="statement not covered" >db.transaction('operationRecord', 'readonly');</span>
|
|
2724
|
-
const objectStore = <span class="cstat-no" title="statement not covered" >transaction.objectStore('operationRecord');</span>
|
|
2725
|
-
const index = <span class="cstat-no" title="statement not covered" >objectStore.index('appId'); // 查询 'appId' 索引</span>
|
|
2726
|
-
const range = <span class="cstat-no" title="statement not covered" >IDBKeyRange.only(appId);</span>
|
|
2727
|
-
const result: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
2728
|
-
|
|
2729
|
-
const request = <span class="cstat-no" title="statement not covered" >index.openCursor(range);</span>
|
|
2730
|
-
<span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) => {</span></span>
|
|
2731
|
-
const cursor = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
|
|
2732
|
-
<span class="cstat-no" title="statement not covered" > if (cursor) {</span>
|
|
2733
|
-
const record = <span class="cstat-no" title="statement not covered" >cursor.value;</span>
|
|
2734
|
-
const branchId = <span class="cstat-no" title="statement not covered" >operationRecordInfoMap.get('branchId');</span>
|
|
2735
|
-
<span class="cstat-no" title="statement not covered" > if (record.branchId === branchId) {</span>
|
|
2736
|
-
<span class="cstat-no" title="statement not covered" > result.push(record);</span>
|
|
2737
|
-
}
|
|
2738
|
-
<span class="cstat-no" title="statement not covered" > cursor.continue();</span>
|
|
2739
|
-
} else {
|
|
2740
|
-
<span class="cstat-no" title="statement not covered" > console.log('操作记录栈:', result);</span>
|
|
2741
|
-
<span class="cstat-no" title="statement not covered" > resolve(result);</span>
|
|
2742
|
-
}
|
|
2743
|
-
};
|
|
2744
|
-
|
|
2745
|
-
<span class="cstat-no" title="statement not covered" > transaction.oncomplete = <span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
2746
|
-
<span class="cstat-no" title="statement not covered" > db.close();</span>
|
|
2747
|
-
};
|
|
2748
|
-
};
|
|
2749
|
-
|
|
2750
|
-
<span class="cstat-no" title="statement not covered" > request.onerror = (<span class="fstat-no" title="function not covered" >event) => {</span></span>
|
|
2751
|
-
<span class="cstat-no" title="statement not covered" > reject('Failed to open database');</span>
|
|
2752
|
-
};
|
|
2753
|
-
});
|
|
2754
|
-
}
|
|
2755
|
-
|
|
2756
|
-
// 获取父对象
|
|
2757
|
-
function <span class="fstat-no" title="function not covered" >getParentInfo(a</span>ppJson: any, path: string) {
|
|
2758
|
-
const pathArr: string[] = <span class="cstat-no" title="statement not covered" >[<span class="cstat-no" title="statement not covered" >];</span></span>
|
|
2759
|
-
(path?.split('.') || []).forEach((<span class="fstat-no" title="function not covered" >pathItem: string) => {</span>
|
|
2760
|
-
const arrayPropertyKey = <span class="cstat-no" title="statement not covered" >pathItem.split('[')[0];</span>
|
|
2761
|
-
const matchArr = <span class="cstat-no" title="statement not covered" >pathItem.match(/\[(.+?)\]/);</span>
|
|
2762
|
-
<span class="cstat-no" title="statement not covered" > if (matchArr) {</span>
|
|
2763
|
-
<span class="cstat-no" title="statement not covered" > pathArr.push(arrayPropertyKey, matchArr[0]);</span>
|
|
2764
|
-
} else {
|
|
2765
|
-
<span class="cstat-no" title="statement not covered" > pathArr.push(pathItem);</span>
|
|
2766
|
-
}
|
|
2767
|
-
});
|
|
2768
|
-
<span class="cstat-no" title="statement not covered" > pathArr.pop();</span>
|
|
2769
|
-
let parentPath = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
2770
|
-
<span class="cstat-no" title="statement not covered" > pathArr.forEach(<span class="fstat-no" title="function not covered" >(p</span>athItem: string, index: number) => {</span>
|
|
2771
|
-
const matchArr = <span class="cstat-no" title="statement not covered" >pathItem.match(/\[(.+?)\]/);</span>
|
|
2772
|
-
<span class="cstat-no" title="statement not covered" > if (matchArr || index === 0) {</span>
|
|
2773
|
-
<span class="cstat-no" title="statement not covered" > parentPath += pathItem;</span>
|
|
2774
|
-
} else {
|
|
2775
|
-
<span class="cstat-no" title="statement not covered" > parentPath += `.${pathItem}`</span>
|
|
2776
|
-
}
|
|
2777
|
-
});
|
|
2778
|
-
const parentNode = <span class="cstat-no" title="statement not covered" >jsoner.queryNodeByPath(appJson, parentPath);</span>
|
|
2779
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2780
|
-
parentPath,
|
|
2781
|
-
parentNode,
|
|
2782
|
-
};
|
|
2783
|
-
}
|
|
2784
|
-
|
|
2785
|
-
// 操作记录回放
|
|
2786
|
-
export async function <span class="fstat-no" title="function not covered" >operationRecordPlayback(a</span>pp: any, operationRecordAction: 'undo' | 'redo') {
|
|
2787
|
-
const operationRecord: any = <span class="cstat-no" title="statement not covered" >await operationRecordQuery(app);</span>
|
|
2788
|
-
let operationRecordIndex = <span class="cstat-no" title="statement not covered" >operationRecordInfoMap.get('operationRecordIndex');</span>
|
|
2789
|
-
<span class="cstat-no" title="statement not covered" > if ([null, undefined].includes(operationRecordIndex)) {</span>
|
|
2790
|
-
<span class="cstat-no" title="statement not covered" > operationRecordIndex = operationRecord?.length;</span>
|
|
2791
|
-
}
|
|
2792
|
-
const appJson = <span class="cstat-no" title="statement not covered" >app.toJSON();</span>
|
|
2793
|
-
<span class="cstat-no" title="statement not covered" > if (operationRecordAction === 'undo') {</span>
|
|
2794
|
-
<span class="cstat-no" title="statement not covered" > if (operationRecordIndex > 0) {</span>
|
|
2795
|
-
const currentRecordItem = <span class="cstat-no" title="statement not covered" >operationRecord?.[operationRecordIndex];</span>
|
|
2796
|
-
const { type, action: recordItemAction } = <span class="cstat-no" title="statement not covered" >currentRecordItem || {};</span>
|
|
2797
|
-
// 多人协作
|
|
2798
|
-
<span class="cstat-no" title="statement not covered" > if (type === 'cooperation' && recordItemAction === 'confirmPull') {</span>
|
|
2799
|
-
<span class="cstat-no" title="statement not covered" > console.log(`当前所处栈位置:${operationRecordIndex},已经进行了多人协作“合并”操作,无法继续对操作栈进行回放!`);</span>
|
|
2800
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2801
|
-
}
|
|
2802
|
-
<span class="cstat-no" title="statement not covered" > operationRecordIndex--;</span>
|
|
2803
|
-
} else {
|
|
2804
|
-
<span class="cstat-no" title="statement not covered" > console.log(`当前所处栈位置:${operationRecordIndex},无法继续回放`);</span>
|
|
2805
|
-
<span class="cstat-no" title="statement not covered" > console.log('当前appJSON:', appJson);</span>
|
|
2806
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2807
|
-
}
|
|
2808
|
-
} else {
|
|
2809
|
-
<span class="cstat-no" title="statement not covered" > if (operationRecordIndex < operationRecord?.length) {</span>
|
|
2810
|
-
<span class="cstat-no" title="statement not covered" > operationRecordIndex++;</span>
|
|
2811
|
-
} else {
|
|
2812
|
-
<span class="cstat-no" title="statement not covered" > console.log(`当前所处栈位置:${operationRecordIndex},无法继续前进`);</span>
|
|
2813
|
-
<span class="cstat-no" title="statement not covered" > console.log('当前appJSON:', appJson);</span>
|
|
2814
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2815
|
-
}
|
|
2816
|
-
}
|
|
2817
|
-
<span class="cstat-no" title="statement not covered" > operationRecordInfoMap.set('operationRecordIndex', operationRecordIndex);</span>
|
|
2818
|
-
const currentIndex = <span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" >operationRecordIndex;</span></span>
|
|
2819
|
-
([...operationRecord].splice(currentIndex, operationRecord?.length) || []).reverse()?.forEach((<span class="fstat-no" title="function not covered" >recordItem: any) => {</span>
|
|
2820
|
-
const { actionItem } = <span class="cstat-no" title="statement not covered" >recordItem || {};</span>
|
|
2821
|
-
const { list } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
|
|
2822
|
-
<span class="cstat-no" title="statement not covered" > [...(list || [])].reverse().forEach((<span class="fstat-no" title="function not covered" >actionItem: any) => {</span></span>
|
|
2823
|
-
const { path, action, object, oldObject, parentKey, index: oldIndex } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
|
|
2824
|
-
const { parentNode } = <span class="cstat-no" title="statement not covered" >getParentInfo(appJson, path);</span>
|
|
2825
|
-
let newPath = <span class="cstat-no" title="statement not covered" >path;</span>
|
|
2826
|
-
// 如果涉及到改名操作,需要特殊处理
|
|
2827
|
-
<span class="cstat-no" title="statement not covered" > if (operationRecordAction === 'undo' && action === 'update' && object?.name) {</span>
|
|
2828
|
-
const pathArr = <span class="cstat-no" title="statement not covered" >path?.split('.') || [];</span>
|
|
2829
|
-
const lastPathItem = <span class="cstat-no" title="statement not covered" >pathArr?.pop();</span>
|
|
2830
|
-
<span class="cstat-no" title="statement not covered" > if (lastPathItem) {</span>
|
|
2831
|
-
<span class="cstat-no" title="statement not covered" > pathArr.push(lastPathItem.replace(/(name=)[^\]]+/, `$1${object?.name}`));</span>
|
|
2832
|
-
}
|
|
2833
|
-
<span class="cstat-no" title="statement not covered" > newPath = pathArr.join('.');</span>
|
|
2834
|
-
}
|
|
2835
|
-
const node = <span class="cstat-no" title="statement not covered" >jsoner.queryNodeByPath(appJson, newPath);</span>
|
|
2836
|
-
<span class="cstat-no" title="statement not covered" > switch (action) {</span>
|
|
2837
|
-
case 'create':
|
|
2838
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray(parentNode)) {</span>
|
|
2839
|
-
const index = <span class="cstat-no" title="statement not covered" >parentNode.indexOf(node);</span>
|
|
2840
|
-
<span class="cstat-no" title="statement not covered" > if (index !== -1) {</span>
|
|
2841
|
-
<span class="cstat-no" title="statement not covered" > parentNode.splice(index, 1);</span>
|
|
2842
|
-
}
|
|
2843
|
-
} else {
|
|
2844
|
-
<span class="cstat-no" title="statement not covered" > parentNode[parentKey] = null;</span>
|
|
2845
|
-
}
|
|
2846
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2847
|
-
case 'delete':
|
|
2848
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray(parentNode) && oldIndex !== -1) {</span>
|
|
2849
|
-
<span class="cstat-no" title="statement not covered" > parentNode.splice(oldIndex, 0, oldObject);</span>
|
|
2850
|
-
} else {
|
|
2851
|
-
<span class="cstat-no" title="statement not covered" > parentNode[parentKey] = oldObject;</span>
|
|
2852
|
-
}
|
|
2853
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2854
|
-
case 'update':
|
|
2855
|
-
<span class="cstat-no" title="statement not covered" > for (const key in oldObject) {</span>
|
|
2856
|
-
<span class="cstat-no" title="statement not covered" > if (node) {</span>
|
|
2857
|
-
(<span class="cstat-no" title="statement not covered" >node as any)[key] = oldObject[key] ?? null;</span>
|
|
2858
|
-
}
|
|
2859
|
-
}
|
|
2860
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2861
|
-
}
|
|
2862
|
-
});
|
|
2863
|
-
});
|
|
2864
|
-
<span class="cstat-no" title="statement not covered" > console.log('当前所处栈位置:', currentIndex);</span>
|
|
2865
|
-
<span class="cstat-no" title="statement not covered" > console.log('当前appJSON:', appJson);</span>
|
|
2866
|
-
<span class="cstat-no" title="statement not covered" > return appJson;</span>
|
|
2867
|
-
}
|
|
2868
|
-
|
|
2869
|
-
function <span class="fstat-no" title="function not covered" >getLogic(k</span>ey: string, app: any, diffLogicList: string[]) {
|
|
2870
|
-
<span class="cstat-no" title="statement not covered" > if (!diffLogicList.includes(key)) {</span>
|
|
2871
|
-
<span class="cstat-no" title="statement not covered" > diffLogicList.push(key);</span>
|
|
2872
|
-
<span class="cstat-no" title="statement not covered" > if (key.startsWith('app')) {</span>
|
|
2873
|
-
const index = <span class="cstat-no" title="statement not covered" >key.lastIndexOf('.');</span>
|
|
2874
|
-
const name = <span class="cstat-no" title="statement not covered" >key.slice(index + 1);</span>
|
|
2875
|
-
const logic = <span class="cstat-no" title="statement not covered" >app.logics.find((<span class="fstat-no" title="function not covered" >item: any) => <span class="cstat-no" title="statement not covered" >i</span>tem.name === name)</span>;</span>
|
|
2876
|
-
<span class="cstat-no" title="statement not covered" > if (logic && logic.body && logic.body.length > 2) {</span>
|
|
2877
|
-
<span class="cstat-no" title="statement not covered" > logic.body.map((<span class="fstat-no" title="function not covered" >item: any) => <span class="cstat-no" title="statement not covered" >g</span>etStatement(item, app, diffLogicList))</span>;</span>
|
|
2878
|
-
}
|
|
2879
|
-
<span class="cstat-no" title="statement not covered" > } else if (key.startsWith('extensions')) {</span>
|
|
2880
|
-
const _pathArr = <span class="cstat-no" title="statement not covered" >key.split('.');</span>
|
|
1871
|
+
export co<span class="fstat-no" title="function not covered" >nst datab</span>aseTypes = storageService.databaseTypes;
|
|
1872
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1873
|
+
func<span class="cstat-no" title="statement not covered" >tion getLogic(key: string</span>, app: any, diffLogicList: string[]) {
|
|
1874
|
+
if<span class="cstat-no" title="statement not covered" > (!diffLogicList.includes(key)) {</span>
|
|
1875
|
+
diffLogicList.pu<span class="cstat-no" title="statement not covered" >sh(key);</span>
|
|
1876
|
+
if (key.startsW<span class="cstat-no" title="statement not covered" >ith('app')) {</span>
|
|
1877
|
+
const index = <span class="cstat-no" title="statement not covered" >key.lastIndexOf(<span class="fstat-no" title="function not covered" >'.</span>');<span class="cstat-no" title="statement not covered" ></span></span>
|
|
1878
|
+
<span class="cstat-no" title="statement not covered" > const name = key.slice(index + 1);</span>
|
|
1879
|
+
co<span class="cstat-no" title="statement not covered" >nst logic = app<span class="fstat-no" title="function not covered" >.l</span>ogics.find((i<span class="cstat-no" title="statement not covered" >tem: any) => item.name === name);</span></span>
|
|
1880
|
+
if (logic && logic.body && logic.body.length > 2) {
|
|
1881
|
+
log<span class="cstat-no" title="statement not covered" >ic.body.map((item: any) => getStatement(item, app, diffLogicList));</span>
|
|
1882
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
1883
|
+
} else if (key.s<span class="cstat-no" title="statement not covered" >tartsWith('e</span>xtensions')) {
|
|
1884
|
+
const _pathArr<span class="cstat-no" title="statement not covered" > = key.split</span>('.');
|
|
2881
1885
|
const _name = <span class="cstat-no" title="statement not covered" >_pathArr[1];</span>
|
|
2882
|
-
const _path = <span class="cstat-no" title="statement not covered" >
|
|
2883
|
-
const _list = <span class="cstat-no" title="statement not covered" >
|
|
2884
|
-
|
|
2885
|
-
const name =
|
|
2886
|
-
<span class="cstat-no" title="statement not covered"
|
|
2887
|
-
})
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
1886
|
+
const _path = _p<span class="cstat-no" title="statement not covered" >athArr[3];<span class="fstat-no" title="function not covered" ></span></span>
|
|
1887
|
+
const _list = a<span class="cstat-no" title="statement not covered" >pp.dependencies;</span>
|
|
1888
|
+
co<span class="cstat-no" title="statement not covered" >nst _module = _list.fin</span>d((it: Module) => {
|
|
1889
|
+
const name = it.name.replaceAll('-', '_');
|
|
1890
|
+
return name <span class="cstat-no" title="statement not covered" >=== _name;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
1891
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1892
|
+
co<span class="cstat-no" title="statement not covered" >nst logic = _mo<span class="fstat-no" title="function not covered" >du</span>le?.logics?.f<span class="cstat-no" title="statement not covered" >ind((item: Logic) => item.name === _pat</span>h)</span>;
|
|
1893
|
+
if (logic && logic.body && logic.body.length > 2) {
|
|
1894
|
+
logic.body.map((item: any) => getStatement(item, app, diffLogicList));
|
|
2891
1895
|
}
|
|
2892
1896
|
}
|
|
2893
1897
|
}
|
|
2894
|
-
}
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2900
|
-
|
|
2901
|
-
<span class="cstat-no" title="statement not covered" > logicItems = [state.left, state.right];</span>
|
|
2902
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2903
|
-
case 'IfStatement':
|
|
2904
|
-
<span class="cstat-no" title="statement not covered" > logicItems = [...state.consequent, ...state.alternate];</span>
|
|
2905
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2906
|
-
case 'ForEachStatement':
|
|
2907
|
-
<span class="cstat-no" title="statement not covered" > logicItems = [...state.body, state.each, state.start, state.end];</span>
|
|
1898
|
+
}<span class="fstat-no" title="function not covered" ></span>
|
|
1899
|
+
/* 获取LogicITEM */<span class="cstat-no" title="statement not covered" ></span>
|
|
1900
|
+
fu<span class="cstat-no" title="statement not covered" >nction getStatement(state: any, app: any, diffLogicList: string[]) {</span>
|
|
1901
|
+
let logicItems = [];
|
|
1902
|
+
swit<span class="cstat-no" title="statement not covered" >ch (state.concept) {</span>
|
|
1903
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Ass</span>ignment':
|
|
1904
|
+
logicItems = [state.left, state.right];
|
|
2908
1905
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2909
|
-
|
|
2910
|
-
|
|
1906
|
+
ca<span class="cstat-no" title="statement not covered" >se 'IfS</span>tatement':
|
|
1907
|
+
logicItems = [...state.consequent, ...state.alternate];
|
|
2911
1908
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2912
|
-
|
|
2913
|
-
|
|
1909
|
+
ca<span class="cstat-no" title="statement not covered" >se 'For</span>EachStatement':
|
|
1910
|
+
logicItems = [...state.body, state.each, state.start, state.end];
|
|
2914
1911
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2915
|
-
|
|
2916
|
-
|
|
1912
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Mat</span>ch':
|
|
1913
|
+
logicItems = [state.expression, ...state.cases.map(getStatement).flat(1)];
|
|
2917
1914
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2918
|
-
|
|
2919
|
-
|
|
1915
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Mat</span>chCase':
|
|
1916
|
+
logicItems = [...state.patterns, ...state.body];
|
|
2920
1917
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2921
|
-
|
|
2922
|
-
|
|
1918
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Swi</span>tchStatement':
|
|
1919
|
+
logicItems = state.cases.map(getStatement).flat(1);
|
|
2923
1920
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
<span class="cstat-no" title="statement not covered" > getLogic(state.calleewholeKey, app, diffLogicList);</span>
|
|
1921
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Swi</span>tchCase':
|
|
1922
|
+
logicItems = [state.test, ...state.consequent];
|
|
2927
1923
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2928
|
-
|
|
2929
|
-
|
|
1924
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Whi</span>leStatement':
|
|
1925
|
+
logicItems = [state.test, ...state.body];
|
|
1926
|
+
<span class="cstat-no" title="statement not covered" > break;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
1927
|
+
ca<span class="cstat-no" title="statement not covered" >se 'CallLogic':</span>
|
|
1928
|
+
<span class="cstat-no" title="statement not covered" > logicIt</span>ems = state.arguments?.map((item: Argument) => item.expression);
|
|
1929
|
+
getLogic(state.calleewholeKey, app, diffLogicList);
|
|
1930
|
+
<span class="cstat-no" title="statement not covered" > break;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
1931
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Cal</span>lFunction':
|
|
1932
|
+
logicItems = state.arguments?.map((item: Argument) => item.expression);
|
|
1933
|
+
<span class="cstat-no" title="statement not covered" > break;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
1934
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Cal</span>lInterface':
|
|
1935
|
+
logicItems = state.arguments?.map((item: Argument) => item.expression);
|
|
2930
1936
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2931
|
-
|
|
2932
|
-
|
|
1937
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Ext</span>ernalDestination':
|
|
1938
|
+
logicItems = [state.anchor, state.link];
|
|
1939
|
+
<span class="cstat-no" title="statement not covered" > break;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
1940
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Bat</span>chAssignment':
|
|
1941
|
+
logicItems = [state.left?.expression, ...state.left?.members, ...state.rights.map((item: SelectMembers) => [item?.expression, ...item?.members]).flat(1)];
|
|
2933
1942
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2934
|
-
|
|
2935
|
-
|
|
1943
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Mem</span>berExpression':
|
|
1944
|
+
logicItems = [state.object, state.property];
|
|
2936
1945
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2937
|
-
|
|
2938
|
-
|
|
1946
|
+
ca<span class="cstat-no" title="statement not covered" >se 'Str</span>ingInterpolation':
|
|
1947
|
+
logicItems = [...state.expressions];
|
|
1948
|
+
<span class="cstat-no" title="statement not covered" > break;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
1949
|
+
ca<span class="cstat-no" title="statement not covered" >se 'New</span>Composite':
|
|
1950
|
+
logicItems = [...state.rights.map((item: SelectMembers) => item.expression)];
|
|
2939
1951
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2943
|
-
case 'StringInterpolation':
|
|
2944
|
-
<span class="cstat-no" title="statement not covered" > logicItems = [...state.expressions];</span>
|
|
2945
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2946
|
-
case 'NewComposite':
|
|
2947
|
-
<span class="cstat-no" title="statement not covered" > logicItems = [...state.rights.map((<span class="fstat-no" title="function not covered" >item: SelectMembers) => <span class="cstat-no" title="statement not covered" >i</span>tem.expression)</span>];</span>
|
|
2948
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2949
|
-
case 'NewList':
|
|
2950
|
-
<span class="cstat-no" title="statement not covered" > logicItems = [...state.items];</span>
|
|
1952
|
+
ca<span class="cstat-no" title="statement not covered" >se 'New</span>List':
|
|
1953
|
+
logicItems = [...state.items];
|
|
2951
1954
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2952
1955
|
default:
|
|
2953
|
-
|
|
2954
|
-
}
|
|
1956
|
+
break;
|
|
1957
|
+
<span class="cstat-no" title="statement not covered" > }<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2955
1958
|
|
|
2956
|
-
|
|
1959
|
+
return logicItems.filter((item: LogicItem) => !!item);
|
|
2957
1960
|
}
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
}
|
|
2964
|
-
/* 分端以后需要改
|
|
2965
|
-
|
|
2966
|
-
|
|
1961
|
+
<span class="fstat-no" title="function not covered" ></span>
|
|
1962
|
+
/*<span class="cstat-no" title="statement not covered" > 小程序影响的服务端发布 */</span>
|
|
1963
|
+
func<span class="cstat-no" title="statement not covered" >tion getMiniAp</span>pChange(target: any, obj: any, action: string) {
|
|
1964
|
+
if (!target.app.miniEnable) {
|
|
1965
|
+
return false;
|
|
1966
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
1967
|
+
<span class="cstat-no" title="statement not covered" > /* 分端以后需要改 */</span>
|
|
1968
|
+
co<span class="cstat-no" title="statement not covered" >nst len = targ</span>et.nodePath?.split('.').length;
|
|
1969
|
+
if (len > 2) {
|
|
2967
1970
|
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
2968
|
-
}
|
|
2969
|
-
|
|
1971
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
1972
|
+
if (action === 'delete') {
|
|
2970
1973
|
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
2971
|
-
}
|
|
2972
|
-
|
|
2973
|
-
|
|
1974
|
+
} el<span class="cstat-no" title="statement not covered" >se {</span>
|
|
1975
|
+
if ('name' in obj || 'title' in obj) {
|
|
1976
|
+
return true;
|
|
2974
1977
|
}
|
|
2975
1978
|
}
|
|
2976
1979
|
}
|
|
2977
1980
|
|
|
2978
1981
|
let aiExecuted = 0;
|
|
2979
|
-
let sessionPath = ''
|
|
2980
|
-
// AI
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2984
|
-
|
|
1982
|
+
let sessionPath = '';<span class="fstat-no" title="function not covered" ></span>
|
|
1983
|
+
// AI 生成内容是否被采纳<span class="cstat-no" title="statement not covered" ></span>
|
|
1984
|
+
co<span class="cstat-no" title="statement not covered" >nst handleAIPoint = (app: any, actionItem: any) => {</span>
|
|
1985
|
+
co<span class="cstat-no" title="statement not covered" >nst { actionMsg, action } = actionItem || {};</span>
|
|
1986
|
+
if<span class="cstat-no" title="statement not covered" > (aiExecuted > 0)</span> {
|
|
1987
|
+
app.emit('logic:accepted', { ...actionItem, sessionPath });
|
|
2985
1988
|
<span class="cstat-no" title="statement not covered" > aiExecuted -= 1;</span>
|
|
2986
|
-
}
|
|
2987
|
-
|
|
1989
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
1990
|
+
if (actionMsg.includes('自然语言生成代码') && !action) {
|
|
2988
1991
|
<span class="cstat-no" title="statement not covered" > aiExecuted += 1;</span>
|
|
2989
1992
|
// eslint-disable-next-line prefer-destructuring
|
|
2990
|
-
|
|
1993
|
+
sessionPath = actionMsg.match(/:(.*)/)[1];
|
|
2991
1994
|
}
|
|
2992
1995
|
}
|
|
2993
1996
|
|
|
2994
1997
|
/**
|
|
2995
|
-
*
|
|
2996
|
-
|
|
2997
|
-
async function <span class="
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3001
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3012
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3017
|
-
<span class="cstat-no" title="statement not covered"
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3030
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
<span class="cstat-no" title="statement not covered" > if (needUpdateBackEnd && !view.view.parentAuth) {</span>
|
|
3038
|
-
<span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
|
|
3039
|
-
}
|
|
3040
|
-
} else {
|
|
3041
|
-
<span class="cstat-no" title="statement not covered" > if (needUpdateBackEnd) {</span>
|
|
3042
|
-
<span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
|
|
1998
|
+
* 执行更新<span class="fstat-no" title="function not covered" ></span>
|
|
1999
|
+
*/<span class="cstat-no" title="statement not covered" ></span>
|
|
2000
|
+
async function doAc<span class="cstat-no" title="statement not covered" >tion(a</span>pp: any, actionItem: any) {
|
|
2001
|
+
let hasFrontEnd = false;<span class="cstat-no" title="statement not covered" ></span>
|
|
2002
|
+
let hasBackEnd = false;<span class="cstat-no" title="statement not covered" ></span>
|
|
2003
|
+
<span class="cstat-no" title="statement not covered" > const actionList: any[] = [];</span>
|
|
2004
|
+
const { list, act<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >io</span>nMsg, action } = actionItem || {};</span>
|
|
2005
|
+
handleAIPoint<span class="cstat-no" title="statement not covered" >(app, actionItem);</span>
|
|
2006
|
+
co<span class="cstat-no" title="statement not covered" >nst itemloop = (_i: LogicItem, app: any, diffArr: string[]) => {</span>
|
|
2007
|
+
co<span class="cstat-no" title="statement not covered" >nst _l <span class="fstat-no" title="function not covered" >= </span>getStatement(_i, a<span class="cstat-no" title="statement not covered" >pp, diffArr);</span></span>
|
|
2008
|
+
if (_l.length) {
|
|
2009
|
+
_l.map((_ii: LogicItem) => itemloop(_ii, app, diffArr));
|
|
2010
|
+
}<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
|
|
2011
|
+
};<span class="cstat-no" title="statement not covered" ></span>
|
|
2012
|
+
cons<span class="cstat-no" title="statement not covered" >t loopEle = (view: View <span class="fstat-no" title="function not covered" >| </span>ViewElem<span class="cstat-no" title="statement not covered" >ent, checkAuth: boolean) </span>=></span> {
|
|
2013
|
+
if (view instanceof View) {
|
|
2014
|
+
<span class="cstat-no" title="statement not covered" > view?.elements?.forEac<span class="fstat-no" title="function not covered" >h(</span>(item) =<span class="cstat-no" title="statement not covered" >> loopEle(item, checkAuth</span>))</span>;
|
|
2015
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2016
|
+
vi<span class="cstat-no" title="statement not covered" >ew?.children?.forEach((item) => loopEle(item, checkAuth));</span>
|
|
2017
|
+
if (view instanceof ViewElemen<span class="cstat-no" title="statement not covered" >t) </span>{
|
|
2018
|
+
if<span class="cstat-no" title="statement not covered" > (view.bindEvents.length<span class="fstat-no" title="function not covered" >) </span>{</span>
|
|
2019
|
+
co<span class="cstat-no" title="statement not covered" >nst diffArr: string[] = [<span class="fstat-no" title="function not covered" >];</span></span>
|
|
2020
|
+
view<span class="cstat-no" title="statement not covered" >.bindEvents.forEach<span class="fstat-no" title="function not covered" >((</span>bindEvent) =><span class="cstat-no" title="statement not covered" > {</span></span>
|
|
2021
|
+
bindEvent.logics.forEach((logic) => {
|
|
2022
|
+
logic.body.forEach((logicItem) => itemloop(logicItem, app, diffArr));
|
|
2023
|
+
});<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2024
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2025
|
+
co<span class="cstat-no" title="statement not covered" >nst result = diffAr</span>r.filter((item) => item.startsWith('app') || item.startsWith('extensions'));
|
|
2026
|
+
if (result.length) {
|
|
2027
|
+
hasBackEnd = true;
|
|
2028
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2029
|
+
}<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2030
|
+
if (view.tag === 'u-uploader<span class="cstat-no" title="statement not covered" >' || view.tag === 'van-uploader') {</span>
|
|
2031
|
+
<span class="cstat-no" title="statement not covered" > const bute = view?.bindAttrs.find((item) => item.name === 'url');</span>
|
|
2032
|
+
co<span class="cstat-no" title="statement not covered" >nst needUpdateBackEnd = bute?.value?.endsWith('/import') || bute?.value?.includes('/upload/');</span>
|
|
2033
|
+
if (<span class="cstat-no" title="statement not covered" >checkAuth) {</span>
|
|
2034
|
+
if (needUpdateBackEnd && !view.view.parentAuth) {
|
|
2035
|
+
hasBackEnd = true;
|
|
2036
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2037
|
+
} el<span class="cstat-no" title="statement not covered" >se {</span>
|
|
2038
|
+
if (needUpdateBackEnd) {
|
|
2039
|
+
hasBackEnd = true;
|
|
3043
2040
|
}
|
|
3044
2041
|
}
|
|
3045
2042
|
}
|
|
3046
2043
|
}
|
|
3047
|
-
}
|
|
3048
|
-
|
|
3049
|
-
const loopEleAuth = <span class="cstat-no" title="statement not covered" >
|
|
3050
|
-
<span class="
|
|
3051
|
-
const bindDirective =
|
|
3052
|
-
|
|
3053
|
-
)
|
|
3054
|
-
|
|
2044
|
+
};<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
|
|
2045
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
|
|
2046
|
+
const loopEleAuth = (viewE<span class="cstat-no" title="statement not covered" >lement: ViewElement) => {</span>
|
|
2047
|
+
view<span class="fstat-no" title="function not covered" >El</span>ement?.children?.forEac<span class="cstat-no" title="statement not covered" >h((item: ViewElement)</span> => {
|
|
2048
|
+
const bindDirective = item?.bindDirectives?.find(
|
|
2049
|
+
<span class="cstat-no" title="statement not covered" > (item: BindDirective) => item.name === 'auth'</span>
|
|
2050
|
+
)<span class="cstat-no" title="statement not covered" ></span>
|
|
2051
|
+
if (bindDirective) {
|
|
3055
2052
|
<span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
|
|
3056
2053
|
}
|
|
3057
|
-
|
|
3058
|
-
})
|
|
3059
|
-
}
|
|
3060
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3061
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3062
|
-
|
|
3063
|
-
const
|
|
3064
|
-
const _path: string =
|
|
3065
|
-
|
|
3066
|
-
|
|
2054
|
+
loopEleAuth(item)
|
|
2055
|
+
<span class="cstat-no" title="statement not covered" > })</span>
|
|
2056
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2057
|
+
try <span class="cstat-no" title="statement not covered" >{<span class="fstat-no" title="function not covered" ></span></span>
|
|
2058
|
+
if (Array.isArray(list)<span class="cstat-no" title="statement not covered" >) {</span>
|
|
2059
|
+
list.forEach((event) => <span class="cstat-no" title="statement not covered" >{</span>
|
|
2060
|
+
const emitTarg<span class="cstat-no" title="statement not covered" >et = event?.originEvent?.tar</span>get as SynatxNode;
|
|
2061
|
+
<span class="cstat-no" title="statement not covered" > const _path: string = event.originEvent.path;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2062
|
+
co<span class="cstat-no" title="statement not covered" >nst _root = _path.s</span>plit('.')?.[1] || '';
|
|
2063
|
+
if (['backend', 'overriddenLogics', 'dataSources', 'processes', 'roles', 'logics', 'enums', 'structures', 'interfaces', 'interfaceDependencies', 'configuration', 'dependencies', 'authLogics', 'authLogicsForCallInterface', 'triggerLaunchers', 'connections'].some((item) => _root.startsWith(item))) {
|
|
3067
2064
|
<span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
|
|
3068
|
-
}
|
|
3069
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3070
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3071
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
}
|
|
3075
|
-
}
|
|
3076
|
-
|
|
3077
|
-
|
|
2065
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2066
|
+
if (<span class="cstat-no" title="statement not covered" >emitTarget) {</span>
|
|
2067
|
+
if (<span class="cstat-no" title="statement not covered" >emitTarget.concept === 'App') {</span>
|
|
2068
|
+
if<span class="cstat-no" title="statement not covered" > (event?.object?.preferenceMap || event?.originEvent?.object?.preferenceMap) {</span>
|
|
2069
|
+
hasBackEnd = true
|
|
2070
|
+
hasFrontEnd = true
|
|
2071
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2072
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2073
|
+
if (emitTarget.concept === 'ValidationRule') {
|
|
2074
|
+
if (
|
|
3078
2075
|
event?.object?.enableServerValidation ||
|
|
3079
|
-
event?.originEvent?.object?.enableServerValidation
|
|
3080
|
-
) {
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
}
|
|
3084
|
-
}
|
|
3085
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3086
|
-
|
|
3087
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
})
|
|
3091
|
-
}
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
}
|
|
3096
|
-
}
|
|
3097
|
-
|
|
2076
|
+
<span class="cstat-no" title="statement not covered" > event?.originEvent?.object?.enableServerValidation</span>
|
|
2077
|
+
) <span class="cstat-no" title="statement not covered" >{</span>
|
|
2078
|
+
hasBackEnd = true
|
|
2079
|
+
hasFrontEnd = true
|
|
2080
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2081
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2082
|
+
if<span class="cstat-no" title="statement not covered" > (emitTarget.concept === 'Logic') {</span>
|
|
2083
|
+
co<span class="cstat-no" title="statement not covered" >nst diffArr: string[] = <span class="fstat-no" title="function not covered" >[]</span>;</span>
|
|
2084
|
+
if (<span class="cstat-no" title="statement not covered" >emitTarget.body.length > 2) </span>{
|
|
2085
|
+
emitTarget.body.forEach((it: LogicItem) => {
|
|
2086
|
+
itemloop(it, app, diffArr);
|
|
2087
|
+
});<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2088
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2089
|
+
co<span class="cstat-no" title="statement not covered" >nst result = diffAr</span>r.filter((item) => item.startsWith('app') || item.startsWith('extensions'));
|
|
2090
|
+
if (result.length) {
|
|
2091
|
+
hasBackEnd = true;
|
|
2092
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2093
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2094
|
+
if ('view' in emitTarget && emitTarget.view) {
|
|
3098
2095
|
<span class="cstat-no" title="statement not covered" > hasFrontEnd = true</span>
|
|
3099
|
-
}
|
|
3100
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2096
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2097
|
+
if<span class="cstat-no" title="statement not covered" > (emitTarget.concept === 'BindDirective') {</span>
|
|
3101
2098
|
const isDelete = <span class="cstat-no" title="statement not covered" >event?.originEvent?.action === 'delete'</span>
|
|
3102
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
}
|
|
3107
|
-
}
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
}
|
|
3111
|
-
}
|
|
3112
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3113
|
-
|
|
3114
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3115
|
-
}
|
|
3116
|
-
|
|
3117
|
-
const
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
<span class="cstat-no" title="statement not covered" > if (isDelete || isUpdateAuth || isUpdateBindRoles || isAuthView||isUpdateAuthDes) {</span>
|
|
3123
|
-
<span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
|
|
2099
|
+
if<span class="cstat-no" title="statement not covered" > (isDelete) {</span>
|
|
2100
|
+
co<span class="cstat-no" title="statement not covered" >nst isAuto = ~event?.originEvent?.path?.indexOf('name=auth')</span>
|
|
2101
|
+
if (isAuto) {
|
|
2102
|
+
hasBackEnd = true
|
|
2103
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2104
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2105
|
+
if (event?.originEvent?.object?.name === 'auth') {
|
|
2106
|
+
hasBackEnd = true
|
|
2107
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2108
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2109
|
+
if (<span class="cstat-no" title="statement not covered" >emitTarget.concept </span>=== 'View') {
|
|
2110
|
+
if (getMiniAppChange(emitTarget, event?.originEvent?.object, event?.originEvent?.action)) {
|
|
2111
|
+
hasBackEnd = tr<span class="cstat-no" title="statement not covered" >ue;</span>
|
|
2112
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2113
|
+
const isDelete = even<span class="cstat-no" title="statement not covered" >t?.originEvent?.action === 'delete';</span>
|
|
2114
|
+
const isAuthView = emitTar<span class="cstat-no" title="statement not covered" >get.auth && event?.originEvent?.object?.name;</span>
|
|
2115
|
+
<span class="cstat-no" title="statement not covered" > const isUpdateAuth = event?.originEvent?.action === 'update' && event?.originEvent?.object && event?.originEvent?.object?.auth</span>
|
|
2116
|
+
co<span class="cstat-no" title="statement not covered" >nst isUpdateBindRol</span>es = event?.originEvent?.action === 'update' && event?.originEvent?.object && event?.originEvent?.object?.bindRoles;
|
|
2117
|
+
if (isDelete || isUpdateAuth || isUpdateBindRoles || isAuthView) {
|
|
2118
|
+
hasBackEnd = true;
|
|
3124
2119
|
// const app = emitTarget.app;
|
|
3125
2120
|
// const diffArr: string[] = [];
|
|
3126
2121
|
// emitTarget.logics.forEach((logic: Logic) => {
|
|
@@ -3135,81 +2130,76 @@ async function <span class="fstat-no" title="function not covered" >doAction(a</
|
|
|
3135
2130
|
// hasBackEnd = true;
|
|
3136
2131
|
// }
|
|
3137
2132
|
// emitTarget.children.forEach((item: View | ViewElement) => loopEle(item, isDelete));
|
|
3138
|
-
// emitTarget.
|
|
2133
|
+
<span class="cstat-no" title="statement not covered" > // emitTarget.elem</span>ents.forEach((item: View | ViewElement) => loopEle(item, isDelete));
|
|
3139
2134
|
}
|
|
3140
2135
|
<span class="cstat-no" title="statement not covered" > hasFrontEnd = true;</span>
|
|
3141
|
-
}
|
|
3142
|
-
|
|
3143
|
-
<span class="
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
<span class="cstat-no" title="statement not covered"
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
<span class="cstat-no" title="statement not covered"
|
|
3151
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
<span class="cstat-no" title="statement not covered"
|
|
3155
|
-
|
|
3156
|
-
(<span class="fstat-no" title="function not covered" >item: BindDirective) => <span class="cstat-no" title="statement not covered" >i</span>tem.name === 'auth'</span>
|
|
3157
|
-
)
|
|
3158
|
-
<span class="cstat-no" title="statement not covered" > if (bindDirective) {</span>
|
|
2136
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2137
|
+
if (emitTarget.concept ===<span class="cstat-no" title="statement not covered" > 'ViewElement') {</span>
|
|
2138
|
+
if (<span class="fstat-no" title="function not covered" >ev</span>ent?.originEvent?.objec<span class="cstat-no" title="statement not covered" >t?.name) {</span>
|
|
2139
|
+
const bindDirective = emitTarget.bindDirectives.find(
|
|
2140
|
+
<span class="cstat-no" title="statement not covered" > (item: BindDirective) => item.name === 'auth'</span>
|
|
2141
|
+
)<span class="cstat-no" title="statement not covered" ></span>
|
|
2142
|
+
if (bindDirective) {
|
|
2143
|
+
hasBackEnd = true;
|
|
2144
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2145
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2146
|
+
if (<span class="fstat-no" title="function not covered" >ev</span>ent?.originEvent?.actio<span class="cstat-no" title="statement not covered" >n === 'delete') {</span>
|
|
2147
|
+
const bindDirective = emitTarget?.bindDirectives?.find(
|
|
2148
|
+
<span class="cstat-no" title="statement not covered" > (item: BindDirective) => item.name === 'auth'</span>
|
|
2149
|
+
)<span class="cstat-no" title="statement not covered" ></span>
|
|
2150
|
+
if (bindDirective) {
|
|
3159
2151
|
<span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
|
|
3160
2152
|
}
|
|
3161
|
-
<span class="cstat-no" title="statement not covered" > loopEleAuth(
|
|
3162
|
-
}
|
|
3163
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
}
|
|
3167
|
-
}
|
|
3168
|
-
<span class="cstat-no" title="statement not covered" > loopEle((emitTarget as ViewElement), true)</span>
|
|
3169
|
-
}
|
|
3170
|
-
<span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'BindAttribute' && emitTarget.name === 'url') {</span>
|
|
3171
|
-
const needUpdateBackEnd =
|
|
3172
|
-
(<span class="cstat-no" title="statement not covered" >emitTarget as BindAttribute)?.value?.endsWith('/import') || (emitTarget as BindAttribute)?.value?.includes('/upload/')</span>
|
|
3173
|
-
<span class="cstat-no" title="statement not covered" > if (!(emitTarget as BindAttribute).view.parentAuth && needUpdateBackEnd) {</span>
|
|
3174
|
-
<span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
|
|
2153
|
+
<span class="cstat-no" title="statement not covered" > loopEleAuth(emitTarget)</span>
|
|
2154
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2155
|
+
if (<span class="cstat-no" title="statement not covered" >event?.originEvent?.action !== 'create') {</span>
|
|
2156
|
+
if (event?.originEvent?.object && event?.originEvent?.object?.bindRoles) {
|
|
2157
|
+
hasBackEnd = true
|
|
2158
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
3175
2159
|
}
|
|
2160
|
+
<span class="cstat-no" title="statement not covered" > loopEle(emitTarget, true)</span>
|
|
3176
2161
|
}
|
|
3177
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3178
|
-
|
|
3179
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3183
|
-
<span class="cstat-no" title="statement not covered"
|
|
2162
|
+
if (<span class="cstat-no" title="statement not covered" >emitTarget.concept === 'BindAttribute' && emitTarget.name === 'url') {</span>
|
|
2163
|
+
<span class="cstat-no" title="statement not covered" > const needUpdateBackEnd =</span>
|
|
2164
|
+
<span class="cstat-no" title="statement not covered" > emitTarget?.value?.endsWith('/import') || emitTarget?.value?.includes('/upload/')</span>
|
|
2165
|
+
if (!emitTarget.view.parentAuth && needUpdateBackEnd) {
|
|
2166
|
+
hasBackEnd = true
|
|
2167
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2168
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2169
|
+
if<span class="cstat-no" title="statement not covered" > (emitTarget.concept === 'CallLogic') {</span>
|
|
2170
|
+
const arrlist: <span class="cstat-no" title="statement not covered" >string[] = [];<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2171
|
+
getLogic((emitTarget as CallLogic).calleeKey, emitTarget.app, arrlist);
|
|
2172
|
+
<span class="cstat-no" title="statement not covered" > const result = arrlist.filter((item) => item.startsWith('app') || item.startsWith('extensions'));</span>
|
|
2173
|
+
//<span class="cstat-no" title="statement not covered" > console.log(result</span>, 'CallLogic');
|
|
2174
|
+
if (result.length) {
|
|
2175
|
+
hasBackEnd = true;
|
|
3184
2176
|
}
|
|
2177
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2178
|
+
//<span class="cstat-no" title="statement not covered" > 更新端时需要出发后端更新</span>
|
|
2179
|
+
if (emitTarget.concept === 'Frontend') {
|
|
2180
|
+
hasBackEnd = true;
|
|
3185
2181
|
}
|
|
3186
|
-
|
|
3187
|
-
<span class="cstat-no" title="statement not covered"
|
|
3188
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
<span class="cstat-no" title="statement not covered" > if (riskList) {</span>
|
|
3193
|
-
<span class="cstat-no" title="statement not covered" > allRiskList.push(...(riskList || []));</span>
|
|
3194
|
-
}
|
|
3195
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray(objItem)) {</span>
|
|
3196
|
-
<span class="cstat-no" title="statement not covered" > if (action === 'update') {</span>
|
|
3197
|
-
<span class="cstat-no" title="statement not covered" > actionList.push({</span>
|
|
2182
|
+
}<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
|
|
2183
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2184
|
+
even<span class="cstat-no" title="statement not covered" >t.eventList.forEach(({ action, path, object: objItem }: { action: string; path: string; object: any }) => {</span>
|
|
2185
|
+
if (<span class="cstat-no" title="statement not covered" >Array.isArray(objItem)) {</span>
|
|
2186
|
+
if (action === 'update') {
|
|
2187
|
+
actionList.push({
|
|
3198
2188
|
action,
|
|
3199
2189
|
path,
|
|
3200
2190
|
node: objItem[0],
|
|
3201
|
-
})
|
|
3202
|
-
}
|
|
3203
|
-
|
|
3204
|
-
|
|
2191
|
+
<span class="cstat-no" title="statement not covered" > });<span class="fstat-no" title="function not covered" ></span></span>
|
|
2192
|
+
} el<span class="cstat-no" title="statement not covered" >se {</span>
|
|
2193
|
+
objItem.forEach((item, index) => {
|
|
2194
|
+
actionList.push({
|
|
3205
2195
|
action,
|
|
3206
2196
|
path,
|
|
3207
2197
|
node: item,
|
|
3208
2198
|
});
|
|
3209
2199
|
});
|
|
3210
|
-
}
|
|
2200
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
3211
2201
|
} else {
|
|
3212
|
-
|
|
2202
|
+
actionList.push({
|
|
3213
2203
|
action,
|
|
3214
2204
|
path,
|
|
3215
2205
|
object: objItem,
|
|
@@ -3217,81 +2207,57 @@ async function <span class="fstat-no" title="function not covered" >doAction(a</
|
|
|
3217
2207
|
}
|
|
3218
2208
|
});
|
|
3219
2209
|
});
|
|
3220
|
-
}
|
|
3221
|
-
} catch (error) {
|
|
3222
|
-
|
|
3223
|
-
|
|
2210
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2211
|
+
} <span class="cstat-no" title="statement not covered" >catch (error) {</span>
|
|
2212
|
+
console.log(error);
|
|
2213
|
+
taskQueue.refreshNasl(app, {
|
|
3224
2214
|
errorInfo: {
|
|
3225
2215
|
message: error?.message,
|
|
3226
2216
|
stack: error?.stack,
|
|
3227
|
-
}
|
|
2217
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
3228
2218
|
});
|
|
3229
|
-
|
|
3230
|
-
}
|
|
2219
|
+
return;
|
|
2220
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
3231
2221
|
|
|
3232
|
-
const
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
actions: actionList,
|
|
3236
|
-
riskList: allRiskList
|
|
2222
|
+
const instructList = [{
|
|
2223
|
+
uuid: uuidv4().replace(/-/g, ''),
|
|
2224
|
+
<span class="cstat-no" title="statement not covered" > actions: actionList,</span>
|
|
3237
2225
|
}];
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
actionMsg,
|
|
3243
|
-
list: list.map((<span class="fstat-no" title="function not covered" >item: any) => {</span>
|
|
3244
|
-
const { path, action, object, oldObject, parentKey, index } = <span class="cstat-no" title="statement not covered" >item?.originEvent || {};</span>
|
|
3245
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
3246
|
-
path,
|
|
3247
|
-
action,
|
|
3248
|
-
parentKey,
|
|
3249
|
-
index,
|
|
3250
|
-
object: object?.toJSON?.() || object,
|
|
3251
|
-
oldObject: oldObject?.toJSON?.() || oldObject,
|
|
3252
|
-
}
|
|
3253
|
-
}),
|
|
3254
|
-
},
|
|
3255
|
-
};
|
|
3256
|
-
<span class="cstat-no" title="statement not covered" > saveNasl({ app, hasFrontEnd, hasBackEnd, instructList, operationList: [operation] });</span>
|
|
3257
|
-
// 进行nasl操作后需要将Index重置
|
|
3258
|
-
<span class="cstat-no" title="statement not covered" > operationRecordInfoMap.set('operationRecordIndex', null);</span>
|
|
3259
|
-
<span class="cstat-no" title="statement not covered" > if (!app._historying) {</span>
|
|
3260
|
-
<span class="cstat-no" title="statement not covered" > if (app._historyIndex !== app._historyList.length) {</span>
|
|
2226
|
+
<span class="cstat-no" title="statement not covered" > saveNasl({ app, hasFrontEnd, hasBackEnd, instructList });</span>
|
|
2227
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2228
|
+
if (<span class="cstat-no" title="statement not covered" >!app._historying) {</span>
|
|
2229
|
+
if (app._historyIndex !== app._historyList.length) {
|
|
3261
2230
|
<span class="cstat-no" title="statement not covered" > app._historyList = app._historyList.splice(0, app._historyIndex);</span>
|
|
3262
2231
|
}
|
|
3263
|
-
|
|
2232
|
+
app._historyList.<span class="fstat-no" title="function not covered" >pu</span>sh({<span class="cstat-no" title="statement not covered" ></span>
|
|
3264
2233
|
actionMsg,
|
|
3265
|
-
|
|
2234
|
+
<span class="cstat-no" title="statement not covered" > list: list.map((item: any) => item.originEv</span>ent),
|
|
3266
2235
|
});
|
|
3267
|
-
<span class="cstat-no" title="statement not covered"
|
|
2236
|
+
app._historyIndex <span class="cstat-no" title="statement not covered" >= app._historyList.length;</span>
|
|
3268
2237
|
} else {
|
|
3269
|
-
const actionMap =
|
|
2238
|
+
const actionMap = {
|
|
3270
2239
|
undo: '已撤销操作:',
|
|
3271
|
-
redo: '
|
|
3272
|
-
}
|
|
3273
|
-
|
|
3274
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3275
|
-
|
|
3276
|
-
<span class="cstat-no" title="statement not covered" > require('element-plus')
|
|
2240
|
+
redo: '已<span class="cstat-no" title="statement not covered" >重做操作:',</span>
|
|
2241
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
2242
|
+
<span class="cstat-no" title="statement not covered" > let msg = actionMap[action as 'undo' | 'redo'];</span>
|
|
2243
|
+
ms<span class="cstat-no" title="statement not covered" >g += actionMsg;</span>
|
|
2244
|
+
if (process.env.BUILD_TARGET !== 'node') {
|
|
2245
|
+
<span class="cstat-no" title="statement not covered" > require('element-plus')</span>.ElMessage.info(msg);
|
|
3277
2246
|
}
|
|
3278
2247
|
<span class="cstat-no" title="statement not covered" > app._historying = false;</span>
|
|
3279
2248
|
}
|
|
3280
|
-
|
|
2249
|
+
stepRecorder.initialized && stepRecorder.record(actionMsg, actionItem, actionList);
|
|
3281
2250
|
}
|
|
3282
2251
|
|
|
3283
2252
|
type Instruct = {
|
|
3284
|
-
uuid: string
|
|
3285
|
-
actions: any[]
|
|
3286
|
-
oldUUid?: string;
|
|
3287
|
-
riskList?: string[];
|
|
2253
|
+
uuid: string,
|
|
2254
|
+
actions: any[],
|
|
3288
2255
|
};
|
|
3289
2256
|
type TaskOption = {
|
|
3290
2257
|
app: any,
|
|
3291
2258
|
hasFrontEnd: boolean,
|
|
3292
2259
|
hasBackEnd: boolean,
|
|
3293
2260
|
instructList: Instruct[],
|
|
3294
|
-
operationList: Operation[],
|
|
3295
2261
|
};
|
|
3296
2262
|
enum TaskQueueStatus {
|
|
3297
2263
|
ExceedMaxTaskCount,
|
|
@@ -3309,264 +2275,169 @@ class TaskQueue {
|
|
|
3309
2275
|
lastQueue: TaskOption[] = []
|
|
3310
2276
|
running: Boolean = false
|
|
3311
2277
|
maxTaskCount: number = 10
|
|
3312
|
-
status
|
|
3313
|
-
|
|
3314
|
-
|
|
2278
|
+
<span class="fstat-no" title="function not covered" > status?:</span> TaskQueueStatus = undefined
|
|
2279
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2280
|
+
addTask(task: TaskOption) {
|
|
3315
2281
|
<span class="cstat-no" title="statement not covered" > this.queue.push(task);</span>
|
|
2282
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2283
|
+
if<span class="cstat-no" title="statement not covered" > (this.queue.length >= this.maxTaskCo</span>unt) {
|
|
2284
|
+
this.status = TaskQueueStatus.ExceedMaxTaskCount;
|
|
2285
|
+
task.app.emit('ExceedMaxTaskCount');
|
|
2286
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
3316
2287
|
|
|
3317
|
-
|
|
3318
|
-
<span class="
|
|
3319
|
-
<span class="cstat-no" title="statement not covered"
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
<span class="cstat-no" title="statement not covered" > this.run();</span>
|
|
3323
|
-
}
|
|
3324
|
-
|
|
3325
|
-
<span class="fstat-no" title="function not covered" > clear() {</span>
|
|
2288
|
+
this.run();
|
|
2289
|
+
<span class="fstat-no" title="function not covered" > }</span>
|
|
2290
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2291
|
+
cl<span class="cstat-no" title="statement not covered" >ear() {</span>
|
|
3326
2292
|
<span class="cstat-no" title="statement not covered" > this.queue = [];</span>
|
|
3327
2293
|
<span class="cstat-no" title="statement not covered" > this.lastQueue = [];</span>
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
}
|
|
3331
|
-
|
|
3332
|
-
<span class="
|
|
2294
|
+
this.status = undefined;
|
|
2295
|
+
this.running = false;
|
|
2296
|
+
<span class="fstat-no" title="function not covered" > }<span class="branch-0 cbranch-no" title="branch not covered" ></span></span>
|
|
2297
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2298
|
+
asyn<span class="cstat-no" title="statement not covered" >c run(qu</span>eue = this.queue) {
|
|
3333
2299
|
<span class="cstat-no" title="statement not covered" > if (this.running)</span>
|
|
3334
2300
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
const app = <span class="cstat-no" title="statement not covered" >
|
|
3339
|
-
let hasFrontEnd =
|
|
3340
|
-
let hasBackEnd =
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
<span class="cstat-no" title="statement not covered" > for (const task of queue) {</span>
|
|
2301
|
+
if (queue.length === 0)
|
|
2302
|
+
return;<span class="cstat-no" title="statement not covered" ></span>
|
|
2303
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2304
|
+
const app = queue<span class="cstat-no" title="statement not covered" >[0].ap</span>p;
|
|
2305
|
+
let hasFrontEnd = false;<span class="cstat-no" title="statement not covered" ></span>
|
|
2306
|
+
let hasBackEnd = false;
|
|
2307
|
+
<span class="cstat-no" title="statement not covered" > let instructList: Instruct[] = [];</span>
|
|
2308
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2309
|
+
for <span class="cstat-no" title="statement not covered" >(const task of queue</span>) {
|
|
3345
2310
|
<span class="cstat-no" title="statement not covered" > if (task.hasFrontEnd)</span>
|
|
3346
2311
|
<span class="cstat-no" title="statement not covered" > hasFrontEnd = true;</span>
|
|
3347
2312
|
<span class="cstat-no" title="statement not covered" > if (task.hasBackEnd)</span>
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
app, hasFrontEnd, hasBackEnd, instructList, operationList
|
|
2313
|
+
hasBackEnd = true;
|
|
2314
|
+
instructList = instructList.concat(task.instructList);
|
|
2315
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2316
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2317
|
+
if<span class="cstat-no" title="statement not covered" > (queue === this.</span>queue) {
|
|
2318
|
+
this.lastQueue = [...queue];
|
|
2319
|
+
this.queue = [];
|
|
2320
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2321
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2322
|
+
this.running = true;
|
|
2323
|
+
const error = await _saveNasl({
|
|
2324
|
+
app, hasFrontEnd, hasBackEnd, instructList,
|
|
3361
2325
|
});
|
|
3362
2326
|
|
|
3363
|
-
// code: 401650, 检测到当前应用拉取操作已被强制结束,
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3368
|
-
else if (![401650, 500502, 500505].includes(error.code)) {
|
|
2327
|
+
<span class="cstat-no" title="statement not covered" > // code: 401650, 检测到当前应用拉取操作已被强制结束, 用户确认后再刷新</span>
|
|
2328
|
+
//<span class="cstat-no" title="statement not covered" > code: 500502 msg:</span> "该应用已在新tab 页打开,请刷新!" 不重试或刷新
|
|
2329
|
+
if (!<span class="cstat-no" title="statement not covered" >error)</span>
|
|
2330
|
+
this.recover(app);
|
|
2331
|
+
el<span class="cstat-no" title="statement not covered" >se if (![401650, 500502].includes(error.code)) {</span>
|
|
3369
2332
|
// 连接失败,或超时,或后端持久化异常
|
|
3370
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3371
|
-
&& this.status !== TaskQueueStatus.Retrying) {
|
|
3372
|
-
|
|
2333
|
+
if<span class="cstat-no" title="statement not covered" > ((error.message === '</span>Network Error' || error.message?.includes('timeout') || error.code === 500500)
|
|
2334
|
+
<span class="cstat-no" title="statement not covered" > && this.status</span> !== TaskQueueStatus.Retrying) {
|
|
2335
|
+
this.running = false;
|
|
3373
2336
|
<span class="cstat-no" title="statement not covered" > this.retry();</span>
|
|
3374
2337
|
} else
|
|
3375
|
-
<span class="cstat-no" title="statement not covered" > this.
|
|
3376
|
-
|
|
3377
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
3378
|
-
}
|
|
3379
|
-
|
|
3380
|
-
<span class="cstat-no" title="statement not covered" > this.running = false;</span>
|
|
3381
|
-
|
|
3382
|
-
<span class="cstat-no" title="statement not covered" > this.run();</span>
|
|
3383
|
-
}
|
|
3384
|
-
|
|
3385
|
-
<span class="fstat-no" title="function not covered" > retry() {</span>
|
|
3386
|
-
<span class="cstat-no" title="statement not covered" > if (this.lastQueue.length === 0)</span>
|
|
3387
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2338
|
+
<span class="cstat-no" title="statement not covered" > this.r</span>efreshNasl(app);
|
|
3388
2339
|
|
|
3389
|
-
|
|
3390
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3391
|
-
<span class="cstat-no" title="statement not covered" > app.emit('Retrying');</span>
|
|
3392
|
-
<span class="cstat-no" title="statement not covered" > this.run(this.lastQueue);</span>
|
|
3393
|
-
}
|
|
2340
|
+
return;
|
|
2341
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
3394
2342
|
|
|
3395
|
-
<span class="
|
|
3396
|
-
|
|
3397
|
-
|
|
2343
|
+
<span class="cstat-no" title="statement not covered" > this.running</span> = false;
|
|
2344
|
+
|
|
2345
|
+
this.run();
|
|
2346
|
+
<span class="fstat-no" title="function not covered" > }</span>
|
|
2347
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2348
|
+
retr<span class="cstat-no" title="statement not covered" >y() {</span>
|
|
2349
|
+
if (this.lastQueue.length === 0)
|
|
2350
|
+
return;<span class="cstat-no" title="statement not covered" ></span>
|
|
2351
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2352
|
+
<span class="cstat-no" title="statement not covered" > const app = this.lastQ</span>ueue[0].app;
|
|
2353
|
+
<span class="cstat-no" title="statement not covered" > this.status = TaskQueueSta</span>tus.Retrying;
|
|
2354
|
+
app.emit('Retrying');
|
|
2355
|
+
this.run(this.lastQueue);
|
|
2356
|
+
<span class="fstat-no" title="function not covered" > }<span class="branch-0 cbranch-no" title="branch not covered" ></span></span>
|
|
2357
|
+
<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span></span>
|
|
2358
|
+
async refreshNasl(app: App, options: RefreshNaslOptions = { errorInfo: {} }) {
|
|
2359
|
+
const failedQueue = this.lastQueue.map(({ hasFrontEnd, hasBackEnd, instructList }) => ({
|
|
2360
|
+
hasFrontEnd,<span class="cstat-no" title="statement not covered" > hasBackEnd, in<span class="fstat-no" title="function not covered" >st</span>ructList,<span class="cstat-no" title="statement not covered" ></span></span>
|
|
3398
2361
|
}));
|
|
3399
|
-
const queue =
|
|
3400
|
-
hasFrontEnd, hasBackEnd, instructList
|
|
2362
|
+
const queue = this.queue.map(({ hasFrontEnd, hasBackEnd, instructList }) => ({
|
|
2363
|
+
<span class="cstat-no" title="statement not covered" > hasFrontEnd, hasBackEnd, instructList,</span>
|
|
3401
2364
|
}));
|
|
3402
|
-
|
|
2365
|
+
await storageService.saveFrontendNasl({
|
|
3403
2366
|
body: {
|
|
3404
2367
|
nasl: app?.toJSON(),
|
|
3405
2368
|
failedQueue,
|
|
3406
2369
|
queue,
|
|
3407
|
-
|
|
3408
|
-
}
|
|
3409
|
-
}).catch((
|
|
3410
|
-
<span class="cstat-no" title="statement not covered" > console.log('备份 nasl 失败:', err)
|
|
3411
|
-
})
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
}
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3418
|
-
|
|
3419
|
-
<span class="cstat-no" title="statement not covered" > app.
|
|
3420
|
-
|
|
3421
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3422
|
-
case TaskQueueStatus.Retrying:
|
|
3423
|
-
<span class="cstat-no" title="statement not covered" > app.emit('SuccessRetry');</span>
|
|
3424
|
-
<span class="cstat-no" title="statement not covered" > this.status = undefined;</span>
|
|
2370
|
+
error<span class="fstat-no" title="function not covered" >In</span>fo: options.errorInfo,
|
|
2371
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
2372
|
+
}).catch((err: any) => {
|
|
2373
|
+
<span class="cstat-no" title="statement not covered" > console.log(</span>'备份 nasl 失败:', err);
|
|
2374
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2375
|
+
this.clear();
|
|
2376
|
+
app.emit('refresh');
|
|
2377
|
+
<span class="fstat-no" title="function not covered" > }</span>
|
|
2378
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2379
|
+
recover(app: App) {
|
|
2380
|
+
swit<span class="cstat-no" title="statement not covered" >ch (this.status) {</span>
|
|
2381
|
+
ca<span class="cstat-no" title="statement not covered" >se TaskQueueStatus.Exceed</span>MaxTaskCount:
|
|
2382
|
+
<span class="cstat-no" title="statement not covered" > app.emi</span>t('BelowMaxTaskCount');
|
|
2383
|
+
this.status = undefined;
|
|
3425
2384
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2385
|
+
ca<span class="cstat-no" title="statement not covered" >se TaskQueueStatus.Retryi</span>ng:
|
|
2386
|
+
<span class="cstat-no" title="statement not covered" > app.emi</span>t('SuccessRetry');
|
|
2387
|
+
this.status = undefined;
|
|
2388
|
+
break;
|
|
3426
2389
|
}
|
|
3427
2390
|
}
|
|
3428
2391
|
}
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
async function
|
|
3432
|
-
|
|
3433
|
-
}
|
|
3434
|
-
|
|
3435
|
-
class
|
|
3436
|
-
|
|
3437
|
-
branchId?: string;
|
|
3438
|
-
accountId?: string;
|
|
3439
|
-
userId?: string;
|
|
3440
|
-
phone?: string;
|
|
3441
|
-
actionItem: any;
|
|
3442
|
-
res?: any;
|
|
3443
|
-
err?: any;
|
|
3444
|
-
parentKey?: string;
|
|
3445
|
-
timestamp?: any;
|
|
3446
|
-
type?: string;
|
|
3447
|
-
uuid?: string;
|
|
3448
|
-
action?: string;
|
|
3449
|
-
}
|
|
3450
|
-
|
|
3451
|
-
// 确保操作非高危
|
|
3452
|
-
function <span class="fstat-no" title="function not covered" >ensureSafe(i</span>nstructList: any[]) {
|
|
3453
|
-
const riskList: any[] = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
3454
|
-
<span class="cstat-no" title="statement not covered" > instructList?.forEach((<span class="fstat-no" title="function not covered" >instruct) => {</span></span>
|
|
3455
|
-
<span class="cstat-no" title="statement not covered" > if (instruct?.riskList) {</span>
|
|
3456
|
-
<span class="cstat-no" title="statement not covered" > riskList.push(...(instruct.riskList || []));</span>
|
|
3457
|
-
}
|
|
3458
|
-
<span class="cstat-no" title="statement not covered" > instruct?.actions?.forEach((<span class="fstat-no" title="function not covered" >actionItem: any) => {</span></span>
|
|
3459
|
-
const { path, action, object } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
|
|
3460
|
-
<span class="cstat-no" title="statement not covered" > if (path === 'app') {</span>
|
|
3461
|
-
<span class="cstat-no" title="statement not covered" > switch(action) {</span>
|
|
3462
|
-
case 'create':
|
|
3463
|
-
<span class="cstat-no" title="statement not covered" > riskList.push('重复创建App');</span>
|
|
3464
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3465
|
-
case 'delete':
|
|
3466
|
-
<span class="cstat-no" title="statement not covered" > riskList.push('删除App');</span>
|
|
3467
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3468
|
-
case 'update':
|
|
3469
|
-
<span class="cstat-no" title="statement not covered" > if (object?.hasOwnProperty('id')) {</span>
|
|
3470
|
-
<span class="cstat-no" title="statement not covered" > riskList.push('修改AppId');</span>
|
|
3471
|
-
}
|
|
3472
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3473
|
-
}
|
|
3474
|
-
}
|
|
3475
|
-
});
|
|
3476
|
-
});
|
|
3477
|
-
<span class="cstat-no" title="statement not covered" > return riskList;</span>
|
|
3478
|
-
}
|
|
3479
|
-
|
|
3480
|
-
async function <span class="fstat-no" title="function not covered" >_saveNasl(o</span>ptions: TaskOption) {
|
|
3481
|
-
const { app, hasFrontEnd, hasBackEnd, instructList, operationList } = <span class="cstat-no" title="statement not covered" >options;</span>
|
|
2392
|
+
<span class="fstat-no" title="function not covered" ></span>
|
|
2393
|
+
ex<span class="cstat-no" title="statement not covered" >port const taskQueue = new T</span>askQueue();
|
|
2394
|
+
async function saveNasl(options: TaskOption) {
|
|
2395
|
+
taskQueue.addTask(options);
|
|
2396
|
+
}<span class="fstat-no" title="function not covered" ></span>
|
|
2397
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2398
|
+
as<span class="cstat-no" title="statement not covered" >ync function _saveNa</span>sl(options: TaskOption) {
|
|
2399
|
+
const { app, hasFrontE<span class="cstat-no" title="statement not covered" >nd,</span> hasBackEnd, instructList } = options;
|
|
3482
2400
|
<span class="cstat-no" title="statement not covered" > app.emit('saving');</span>
|
|
3483
|
-
|
|
3484
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2401
|
+
le<span class="cstat-no" title="statement not covered" >t ChangedNASLType = '';</span>
|
|
2402
|
+
if (has<span class="cstat-no" title="statement not covered" >FrontEnd && hasBackEnd) {</span>
|
|
3485
2403
|
<span class="cstat-no" title="statement not covered" > ChangedNASLType = 'both';</span>
|
|
3486
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2404
|
+
} else <span class="cstat-no" title="statement not covered" >if (hasFrontEnd) {</span>
|
|
3487
2405
|
<span class="cstat-no" title="statement not covered" > ChangedNASLType = 'web';</span>
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
}
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
const riskList = <span class="cstat-no" title="statement not covered" >ensureSafe(instructList);</span>
|
|
3497
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray(riskList) && riskList.length) {</span>
|
|
3498
|
-
<span class="cstat-no" title="statement not covered" > throw Error(`存在以下高危操作:\n${riskList.map(<span class="fstat-no" title="function not covered" >(r</span>isk, index) => {</span>
|
|
3499
|
-
<span class="cstat-no" title="statement not covered" > return `${index + 1}.${risk};`;</span>
|
|
3500
|
-
}).join('\n')}\n请及时排查原因`);
|
|
3501
|
-
}
|
|
3502
|
-
/**
|
|
3503
|
-
* 将指令列表拆分成每个指令最多200条指令的数组
|
|
3504
|
-
* 因为服务端(孙浩然),单个actions太多,会导致服务端处理超时,事务超时
|
|
3505
|
-
* 所以在这里把请求拆开,然后存储一下原来的 uuid,然后再请求的时候给一个新的uuid,表示事务不一样
|
|
3506
|
-
*/
|
|
3507
|
-
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > function <span class="cstat-no" title="statement not covered" >t</span>ransformArr(i</span>nstructList: Instruct[]) {</span>
|
|
3508
|
-
<span class="cstat-no" title="statement not covered" > if (!Array.isArray(instructList)) <span class="cstat-no" title="statement not covered" >return instructList;</span></span>
|
|
3509
|
-
const transformedArr: Instruct[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
3510
|
-
<span class="cstat-no" title="statement not covered" > instructList.forEach((<span class="fstat-no" title="function not covered" >item) => {</span></span>
|
|
3511
|
-
let tempActions = <span class="cstat-no" title="statement not covered" >[...item.actions];</span>
|
|
3512
|
-
<span class="cstat-no" title="statement not covered" > if (tempActions.length > 200) {</span>
|
|
3513
|
-
const { uuid: oldUUid, riskList } = <span class="cstat-no" title="statement not covered" >item;</span>
|
|
3514
|
-
<span class="cstat-no" title="statement not covered" > while (tempActions.length > 200) {</span>
|
|
3515
|
-
<span class="cstat-no" title="statement not covered" > transformedArr.push({ oldUUid, uuid: uuidv4().replace(/-/g, ''), actions: tempActions.splice(0, 200), riskList });</span>
|
|
3516
|
-
}
|
|
3517
|
-
<span class="cstat-no" title="statement not covered" > transformedArr.push({ oldUUid, uuid: uuidv4().replace(/-/g, ''), actions: tempActions, riskList });</span>
|
|
3518
|
-
} else {
|
|
3519
|
-
<span class="cstat-no" title="statement not covered" > transformedArr.push(item);</span>
|
|
3520
|
-
}
|
|
3521
|
-
});
|
|
3522
|
-
|
|
3523
|
-
<span class="cstat-no" title="statement not covered" > return transformedArr;</span>
|
|
3524
|
-
}
|
|
3525
|
-
const transformedInstructList = <span class="cstat-no" title="statement not covered" >transformArr(instructList);</span>
|
|
3526
|
-
// 接口请求
|
|
3527
|
-
<span class="cstat-no" title="statement not covered" > res = await storageService.batchInstruct({</span>
|
|
3528
|
-
body: transformedInstructList,
|
|
2406
|
+
} else if (hasBackEnd) {
|
|
2407
|
+
ChangedNASLType = 'backend';
|
|
2408
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2409
|
+
le<span class="cstat-no" title="statement not covered" >t err;</span>
|
|
2410
|
+
if (<span class="cstat-no" title="statement not covered" >config.storage.protocol === 'http') {</span>
|
|
2411
|
+
try {
|
|
2412
|
+
await storageService.batchInstruct({
|
|
2413
|
+
body: instructList,
|
|
3529
2414
|
headers: {
|
|
3530
2415
|
appId: app.id,
|
|
3531
2416
|
ChangedNASLType,
|
|
3532
2417
|
tabTimestamp,
|
|
3533
2418
|
// 其他封装在 storageService 里了
|
|
3534
2419
|
},
|
|
3535
|
-
})
|
|
2420
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
3536
2421
|
} catch (error) {
|
|
3537
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3538
|
-
<span class="cstat-no" title="statement not covered" > console.error(err);</span>
|
|
2422
|
+
err<span class="cstat-no" title="statement not covered" > = error;</span>
|
|
3539
2423
|
}
|
|
3540
|
-
|
|
3541
|
-
<span class="cstat-no" title="statement not covered"
|
|
3542
|
-
<span class="cstat-no" title="statement not covered" > doOperationRecord({</span>
|
|
3543
|
-
...operation,
|
|
3544
|
-
res,
|
|
3545
|
-
err: {
|
|
3546
|
-
code,
|
|
3547
|
-
msg,
|
|
3548
|
-
result,
|
|
3549
|
-
success,
|
|
3550
|
-
},
|
|
3551
|
-
});
|
|
3552
|
-
});
|
|
3553
|
-
<span class="cstat-no" title="statement not covered" > } else if (config.storage.protocol === 'mock') {</span>
|
|
3554
|
-
// Do nothing
|
|
2424
|
+
} else if (config.storage.protocol === 'mock') {
|
|
2425
|
+
// Do nothing<span class="cstat-no" title="statement not covered" ></span>
|
|
3555
2426
|
} else {
|
|
3556
|
-
const json = <span class="cstat-no" title="statement not covered" >
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
}
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
2427
|
+
const json = await fs.re<span class="cstat-no" title="statement not covered" >adJ</span>SON(config.storage.basePath);
|
|
2428
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2429
|
+
le<span class="cstat-no" title="statement not covered" >t actionList: any[] = [];</span>
|
|
2430
|
+
for (const { actions } of instructList) {
|
|
2431
|
+
actionList = actionList.concat(actions);
|
|
2432
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2433
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2434
|
+
jsoner.batchAction(json, actionList);
|
|
2435
|
+
await fs.writeJSON(config.storage.basePath, json, {
|
|
3565
2436
|
spaces: 4,
|
|
3566
|
-
})
|
|
3567
|
-
}
|
|
3568
|
-
|
|
3569
|
-
|
|
2437
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2438
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2439
|
+
app.emit('saved', err);
|
|
2440
|
+
return err;
|
|
3570
2441
|
}
|
|
3571
2442
|
|
|
3572
2443
|
export interface ProxyApp extends App {
|
|
@@ -3580,123 +2451,123 @@ export interface ProxyApp extends App {
|
|
|
3580
2451
|
_actionMsg: string;
|
|
3581
2452
|
_action: string;
|
|
3582
2453
|
naslServer: NaslServer;
|
|
3583
|
-
}
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
<span class="cstat-no" title="statement not covered" > app._isCollectingCount
|
|
3587
|
-
<span class="cstat-no" title="statement not covered" > app._collectingList = [
|
|
2454
|
+
}<span class="fstat-no" title="function not covered" ></span>
|
|
2455
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2456
|
+
ex<span class="cstat-no" title="statement not covered" >port function handleApp(ap</span>p: ProxyApp) {
|
|
2457
|
+
<span class="cstat-no" title="statement not covered" > app._isCollectingCount </span>= 0;
|
|
2458
|
+
<span class="cstat-no" title="statement not covered" > app._collectingList = [</span>];
|
|
3588
2459
|
<span class="cstat-no" title="statement not covered" > app._historyList = [];</span>
|
|
3589
|
-
<span class="cstat-no" title="statement not covered" > app._historyIndex
|
|
3590
|
-
|
|
3591
|
-
<span class="cstat-no" title="statement not covered" > app._timer =
|
|
3592
|
-
|
|
3593
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3594
|
-
const proxyApp =
|
|
3595
|
-
|
|
3596
|
-
})
|
|
3597
|
-
|
|
3598
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3599
|
-
const proxyApp =
|
|
3600
|
-
|
|
2460
|
+
<span class="cstat-no" title="statement not covered" > app._historyIndex =</span> 0;
|
|
2461
|
+
app._historying = false;
|
|
2462
|
+
<span class="cstat-no" title="statement not covered" > app._timer = nu<span class="fstat-no" title="function not covered" >ll;</span></span>
|
|
2463
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2464
|
+
ap<span class="cstat-no" title="statement not covered" >p.on('undo', function (this: </span>ProxyApp) {
|
|
2465
|
+
const proxyApp = this;
|
|
2466
|
+
proxyApp._historying = true;
|
|
2467
|
+
<span class="cstat-no" title="statement not covered" > });<span class="fstat-no" title="function not covered" ></span></span>
|
|
2468
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2469
|
+
ap<span class="cstat-no" title="statement not covered" >p.on('redo', function (this: </span>ProxyApp) {
|
|
2470
|
+
const proxyApp = this;
|
|
2471
|
+
proxyApp._historying = true;
|
|
3601
2472
|
});
|
|
3602
2473
|
|
|
3603
2474
|
/**
|
|
3604
|
-
*
|
|
3605
|
-
|
|
3606
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3607
|
-
|
|
3608
|
-
|
|
2475
|
+
<span class="cstat-no" title="statement not covered" > * 开启收集<span class="fstat-no" title="function not covered" ></span></span>
|
|
2476
|
+
*/<span class="cstat-no" title="statement not covered" ></span>
|
|
2477
|
+
ap<span class="cstat-no" title="statement not covered" >p.on('collect:start', function (this: ProxyApp, event: any) {</span>
|
|
2478
|
+
co<span class="cstat-no" title="statement not covered" >nst proxyApp = this;</span>
|
|
2479
|
+
if (proxyApp._timer) {
|
|
3609
2480
|
<span class="cstat-no" title="statement not covered" > clearTimeout(proxyApp._timer);</span>
|
|
3610
|
-
}
|
|
3611
|
-
|
|
2481
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2482
|
+
if (!proxyApp._noTimer) {
|
|
3612
2483
|
<span class="cstat-no" title="statement not covered" > proxyApp._noTimer = event.noTimer;</span>
|
|
3613
|
-
}
|
|
3614
|
-
<span class="cstat-no" title="statement not covered"
|
|
3615
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3616
|
-
|
|
3617
|
-
|
|
2484
|
+
}<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
|
|
2485
|
+
if (<span class="cstat-no" title="statement not covered" >!proxyApp._noTimer) {</span>
|
|
2486
|
+
pr<span class="cstat-no" title="statement not covered" >oxyApp._timer = setTimeout(() => {</span>
|
|
2487
|
+
console.error('收集超时,请及时排查原因', event);
|
|
2488
|
+
taskQueue.refreshNasl(proxyApp, {
|
|
3618
2489
|
errorInfo: {
|
|
3619
2490
|
message: '收集超时,请及时排查原因',
|
|
3620
2491
|
},
|
|
3621
2492
|
});
|
|
3622
|
-
}, 2500)
|
|
2493
|
+
<span class="cstat-no" title="statement not covered" > }, 2500);</span>
|
|
2494
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2495
|
+
if<span class="cstat-no" title="statement not covered" > (!proxyApp._isCollectingCount) {</span>
|
|
2496
|
+
proxyApp._actionMsg = event?.actionMsg;
|
|
2497
|
+
<span class="cstat-no" title="statement not covered" > proxyApp._action = event?.act</span>ion;
|
|
3623
2498
|
}
|
|
3624
|
-
|
|
3625
|
-
<span class="cstat-no" title="statement not covered" > proxyApp._actionMsg = event?.actionMsg;</span>
|
|
3626
|
-
<span class="cstat-no" title="statement not covered" > proxyApp._action = event?.action;</span>
|
|
3627
|
-
}
|
|
3628
|
-
<span class="cstat-no" title="statement not covered" > proxyApp._isCollectingCount++;</span>
|
|
2499
|
+
proxyApp._isCollectingCount++;
|
|
3629
2500
|
});
|
|
3630
2501
|
|
|
3631
2502
|
/**
|
|
3632
|
-
*
|
|
3633
|
-
|
|
3634
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3635
|
-
|
|
3636
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3637
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
}
|
|
3641
|
-
//
|
|
3642
|
-
const
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
<span class="cstat-no" title="statement not covered" > proxyApp.
|
|
2503
|
+
<span class="cstat-no" title="statement not covered" > * 结束收集<span class="fstat-no" title="function not covered" ></span></span>
|
|
2504
|
+
*/<span class="cstat-no" title="statement not covered" ></span>
|
|
2505
|
+
ap<span class="cstat-no" title="statement not covered" >p.on('collect:end', async funct</span>ion (this: ProxyApp) {
|
|
2506
|
+
<span class="cstat-no" title="statement not covered" > const proxyApp = this;</span>
|
|
2507
|
+
pr<span class="cstat-no" title="statement not covered" >oxyApp._isCollectingCount--;</span>
|
|
2508
|
+
if (<span class="cstat-no" title="statement not covered" >proxyApp._isCollectingCount ===</span> 0) {
|
|
2509
|
+
if (proxyApp._timer) {
|
|
2510
|
+
clearTimeout(proxyApp._timer);
|
|
2511
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2512
|
+
// 结束收集时,立即将全局收集变量<span class="cstat-no" title="statement not covered" >状态重置,防止下次收集数据混乱</span>
|
|
2513
|
+
const collectin<span class="cstat-no" title="statement not covered" >gList = proxyApp.</span>_collectingList;
|
|
2514
|
+
<span class="cstat-no" title="statement not covered" > const actionMsg = proxyApp._act</span>ionMsg;
|
|
2515
|
+
<span class="cstat-no" title="statement not covered" > const action = proxyApp._a</span>ction;
|
|
2516
|
+
<span class="cstat-no" title="statement not covered" > proxyApp._collectingLis</span>t = [];
|
|
3646
2517
|
<span class="cstat-no" title="statement not covered" > proxyApp._actionMsg = '';</span>
|
|
3647
2518
|
<span class="cstat-no" title="statement not covered" > proxyApp._action = '';</span>
|
|
3648
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3649
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
value: collectingList
|
|
2519
|
+
pr<span class="cstat-no" title="statement not covered" >oxyApp._noTimer = undefined;</span>
|
|
2520
|
+
if<span class="cstat-no" title="statement not covered" > (Array.isArray(collectingList) && collectingList.length) {</span>
|
|
2521
|
+
mountDatabaseTypes(proxyApp);
|
|
2522
|
+
proxyApp.naslServer?.embeddedTSEmitter?.emit('change', {
|
|
2523
|
+
<span class="cstat-no" title="statement not covered" > value: collectingList,</span>
|
|
3653
2524
|
});
|
|
3654
|
-
|
|
2525
|
+
await doAction(proxyApp, {
|
|
3655
2526
|
list: collectingList,
|
|
3656
2527
|
actionMsg,
|
|
3657
2528
|
action,
|
|
3658
|
-
})
|
|
3659
|
-
}
|
|
3660
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3661
|
-
|
|
3662
|
-
|
|
2529
|
+
});<span class="cstat-no" title="statement not covered" ></span>
|
|
2530
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2531
|
+
} <span class="cstat-no" title="statement not covered" >else if (proxyApp._isCollect</span>ingCount < 0) {
|
|
2532
|
+
proxyApp._isCollectingCount = 0;
|
|
2533
|
+
throw Error('关闭收集有问题,请排查');
|
|
3663
2534
|
}
|
|
3664
2535
|
});
|
|
3665
2536
|
|
|
3666
2537
|
/**
|
|
3667
|
-
*
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
value: [event]
|
|
3675
|
-
})
|
|
3676
|
-
let actionMsg =
|
|
3677
|
-
|
|
3678
|
-
const { concept, name } =
|
|
3679
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3680
|
-
|
|
3681
|
-
|
|
2538
|
+
<span class="cstat-no" title="statement not covered" > * 有变更<span class="fstat-no" title="function not covered" ></span></span>
|
|
2539
|
+
*/<span class="cstat-no" title="statement not covered" ></span>
|
|
2540
|
+
app.on('storage', function (this: ProxyApp, event: any) {
|
|
2541
|
+
<span class="cstat-no" title="statement not covered" > const proxyApp = this;</span>
|
|
2542
|
+
//<span class="cstat-no" title="statement not covered" > 是否正在收集</span>
|
|
2543
|
+
if (proxyApp._isCollectingCount === 0) {
|
|
2544
|
+
proxyApp.naslServer?.embeddedTSEmitter?.emit('change', {
|
|
2545
|
+
value: [event]<span class="cstat-no" title="statement not covered" >,</span>
|
|
2546
|
+
});<span class="cstat-no" title="statement not covered" ></span>
|
|
2547
|
+
let actionMsg = '';<span class="cstat-no" title="statement not covered" ></span>
|
|
2548
|
+
<span class="cstat-no" title="statement not covered" > const { action, target } = event.originEvent || {};</span>
|
|
2549
|
+
const { concept, name } = target || {};
|
|
2550
|
+
swit<span class="cstat-no" title="statement not covered" >ch (action) {</span>
|
|
2551
|
+
ca<span class="cstat-no" title="statement not covered" >se 'cre</span>ate':
|
|
2552
|
+
actionMsg = '添加';
|
|
3682
2553
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3683
|
-
|
|
3684
|
-
|
|
2554
|
+
ca<span class="cstat-no" title="statement not covered" >se 'del</span>ete':
|
|
2555
|
+
actionMsg = '删除';
|
|
3685
2556
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3686
|
-
|
|
3687
|
-
|
|
2557
|
+
ca<span class="cstat-no" title="statement not covered" >se 'upd</span>ate':
|
|
2558
|
+
actionMsg = '修改';
|
|
3688
2559
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
3689
|
-
}
|
|
3690
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3691
|
-
|
|
2560
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2561
|
+
ac<span class="cstat-no" title="statement not covered" >tionMsg += getConceptConst</span>ructor(concept).nodeTitle;
|
|
2562
|
+
if (name) {
|
|
3692
2563
|
<span class="cstat-no" title="statement not covered" > actionMsg += `“${name}”`;</span>
|
|
3693
2564
|
}
|
|
3694
|
-
|
|
2565
|
+
doAction(proxyApp, {
|
|
3695
2566
|
list: [event],
|
|
3696
2567
|
actionMsg,
|
|
3697
|
-
})
|
|
2568
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
3698
2569
|
} else {
|
|
3699
|
-
|
|
2570
|
+
proxyApp._collectingList.push(event);
|
|
3700
2571
|
}
|
|
3701
2572
|
});
|
|
3702
2573
|
}
|
|
@@ -3711,17 +2582,13 @@ type BreakpointItem =
|
|
|
3711
2582
|
/**
|
|
3712
2583
|
* 加载 app
|
|
3713
2584
|
* @param appId 如果是从文件读,就不需要传
|
|
3714
|
-
* @returns app
|
|
2585
|
+
* @returns app 对象<span class="fstat-no" title="function not covered" ></span>
|
|
3715
2586
|
*/
|
|
3716
|
-
|
|
3717
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
let app: App;
|
|
3722
|
-
<span class="cstat-no" title="statement not covered" > if (config.storage.protocol === 'http') {</span>
|
|
3723
|
-
<span class="cstat-no" title="statement not covered" > console.time('batchQuery');</span>
|
|
3724
|
-
const promises = <span class="cstat-no" title="statement not covered" >[</span>
|
|
2587
|
+
ex<span class="cstat-no" title="statement not covered" >port async function loadApp(appId?: string) {</span>
|
|
2588
|
+
le<span class="cstat-no" title="statement not covered" >t app: App;</span>
|
|
2589
|
+
if (config.storage.<span class="cstat-no" title="statement not covered" >protocol === 'http') {</span>
|
|
2590
|
+
console.time('batchQuery');
|
|
2591
|
+
const promises = [
|
|
3725
2592
|
storageService.batchQuery({
|
|
3726
2593
|
body: [
|
|
3727
2594
|
{
|
|
@@ -3741,37 +2608,37 @@ export async function <span class="fstat-no" title="function not covered" >loadA
|
|
|
3741
2608
|
storageService.breakpoint({
|
|
3742
2609
|
body: { appId }
|
|
3743
2610
|
})
|
|
3744
|
-
]
|
|
3745
|
-
|
|
3746
|
-
const [batchQueryRes, breakpointRes] = <span class="cstat-no" title="statement not covered" >await Promise.all(promises)</span>
|
|
2611
|
+
]<span class="cstat-no" title="statement not covered" ></span>
|
|
3747
2612
|
|
|
2613
|
+
const [batchQueryRes, breakpointRes] = await Promise.all(promises)
|
|
2614
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
3748
2615
|
// 请求
|
|
3749
2616
|
<span class="cstat-no" title="statement not covered" > console.timeEnd('batchQuery');</span>
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
<span class="cstat-no" title="statement not covered" > app = new App(Object.
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
2617
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2618
|
+
tabTimestamp = batchQueryRes?.headers?.tabtimestamp;
|
|
2619
|
+
<span class="cstat-no" title="statement not covered" > const data = batchQueryRe</span>s?.data?.result;
|
|
2620
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2621
|
+
console.time('new App');
|
|
2622
|
+
<span class="cstat-no" title="statement not covered" > app = new App(Object.as<span class="fstat-no" title="function not covered" >si</span>gn(data?.[0], { id: ap<span class="branch-0 cbranch-no" title="branch not covered" >pId</span> }));</span>
|
|
2623
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2624
|
+
breakpointRes?.forEach((item: BreakpointItem = {}) => {
|
|
2625
|
+
<span class="cstat-no" title="statement not covered" > const { path, breakpointStatus } = item</span>
|
|
2626
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2627
|
+
if (breakpointStatus) {
|
|
2628
|
+
<span class="cstat-no" title="statement not covered" > const node = app.findNodeByPath(path)</span>
|
|
2629
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2630
|
+
if (node) {
|
|
2631
|
+
node.breakpoint = breakpointStatus
|
|
3765
2632
|
}
|
|
3766
|
-
}
|
|
3767
|
-
})
|
|
3768
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3769
|
-
|
|
2633
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2634
|
+
<span class="cstat-no" title="statement not covered" > })</span>
|
|
2635
|
+
co<span class="cstat-no" title="statement not covered" >nsole.timeEnd('n</span>ew App');
|
|
2636
|
+
if (!app.id) {
|
|
3770
2637
|
<span class="cstat-no" title="statement not covered" > app.id = appId;</span>
|
|
3771
|
-
<span class="cstat-no" title="statement not covered"
|
|
3772
|
-
addBreakpointNodesFromApp(app)
|
|
3773
|
-
|
|
3774
|
-
|
|
2638
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2639
|
+
<span class="cstat-no" title="statement not covered" > addBreakpointNodesFromApp(app)</span>
|
|
2640
|
+
} else if (config.storage.protocol === 'mock') {
|
|
2641
|
+
app = new App({
|
|
3775
2642
|
id: appId,
|
|
3776
2643
|
concept: 'App',
|
|
3777
2644
|
name: 'devapp',
|
|
@@ -3789,89 +2656,88 @@ export async function <span class="fstat-no" title="function not covered" >loadA
|
|
|
3789
2656
|
dependencies: [],
|
|
3790
2657
|
interfaceDependencies: [],
|
|
3791
2658
|
frontends: [],
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3800
|
-
(
|
|
3801
|
-
|
|
3802
|
-
<span class="cstat-no" title="statement not covered" > return app as App;</span>
|
|
2659
|
+
});<span class="cstat-no" title="statement not covered" ></span>
|
|
2660
|
+
} <span class="cstat-no" title="statement not covered" >else {</span>
|
|
2661
|
+
const json = await fs.readJSON(config.storage.basePath);
|
|
2662
|
+
app = new App(appId ? Object.assign(json, { id: appId }) : json);
|
|
2663
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2664
|
+
/<span class="cstat-no" title="statement not covered" >/ config.scope = app.scope;</span>
|
|
2665
|
+
<span class="cstat-no" title="statement not covered" > handleApp(app as ProxyApp</span>);
|
|
2666
|
+
<span class="cstat-no" title="statement not covered" > (app as any)._isCol</span>lectingCount = 0;
|
|
2667
|
+
mountDatabaseTypes(app);
|
|
2668
|
+
return app as App;
|
|
3803
2669
|
}
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3809
|
-
}
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3813
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
2670
|
+
<span class="fstat-no" title="function not covered" ></span>
|
|
2671
|
+
//<span class="cstat-no" title="statement not covered" > 在app上挂载所有的数据库类型</span>
|
|
2672
|
+
expo<span class="cstat-no" title="statement not covered" >rt async function mountDatab</span>aseTypes(app: App) {
|
|
2673
|
+
if (!app.__databaseTypeMap) {
|
|
2674
|
+
app.__databaseType<span class="cstat-no" title="statement not covered" >Map = {};</span>
|
|
2675
|
+
}<span class="cstat-no" title="statement not covered" ></span>
|
|
2676
|
+
<span class="cstat-no" title="statement not covered" > const dataSources = app?.dataSources;</span>
|
|
2677
|
+
co<span class="cstat-no" title="statement not covered" >nst dbTypeSet = new <span class="fstat-no" title="function not covered" >Se</span>t();</span>
|
|
2678
|
+
if (Array.isArray(dataSources)<span class="cstat-no" title="statement not covered" >) {</span>
|
|
2679
|
+
da<span class="cstat-no" title="statement not covered" >taSources.forEach((dataSource) => {</span>
|
|
2680
|
+
co<span class="cstat-no" title="statement not covered" >nst dataSourceSqlType = JSON.parse</span>(dataSource.dataSourceConfig?.devProperty?.value || '{}')?.type;
|
|
2681
|
+
if (dataSourceSqlType && !app.__databaseTypeMap[dataSourceSqlType]) {
|
|
2682
|
+
dbTypeSet.add(dataSourceSqlType);
|
|
3817
2683
|
}
|
|
3818
|
-
})
|
|
3819
|
-
}
|
|
3820
|
-
const dbTypes =
|
|
3821
|
-
|
|
3822
|
-
const res: any =
|
|
2684
|
+
});<span class="cstat-no" title="statement not covered" ></span>
|
|
2685
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2686
|
+
const dbTypes = [..<span class="cstat-no" title="statement not covered" >.dbTypeSet];</span>
|
|
2687
|
+
if (Array.isArray(dbTypes) && dbTypes.length) {
|
|
2688
|
+
const res: any = await databaseTypes({
|
|
3823
2689
|
query: {
|
|
3824
2690
|
dbTypes: dbTypes.join(','),
|
|
3825
|
-
}
|
|
3826
|
-
})
|
|
3827
|
-
<span class="cstat-no" title="statement not covered"
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
<span class="cstat-no" title="statement not covered"
|
|
3832
|
-
|
|
3833
|
-
const { naslType, dataBaseTypes } =
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3837
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3838
|
-
|
|
3839
|
-
<span class="cstat-no" title="statement not covered"
|
|
2691
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
2692
|
+
})<span class="cstat-no" title="statement not covered" >;<span class="fstat-no" title="function not covered" ></span></span>
|
|
2693
|
+
if (Array.isArray(res)) {<span class="cstat-no" title="statement not covered" ></span>
|
|
2694
|
+
res.forEach((databaseType: an<span class="cstat-no" title="statement not covered" >y) </span>=> {
|
|
2695
|
+
<span class="cstat-no" title="statement not covered" > const { dbType, columnTypes } = databaseType || {};</span>
|
|
2696
|
+
co<span class="cstat-no" title="statement not covered" >nst columnTypeMap: a<span class="fstat-no" title="function not covered" >ny</span> = {};</span>
|
|
2697
|
+
if (Array.isArray(columnTypes)) {<span class="cstat-no" title="statement not covered" ></span>
|
|
2698
|
+
columnTypes.forEach((columnType<span class="cstat-no" title="statement not covered" >) =</span>> {
|
|
2699
|
+
const { naslType, dataBaseTypes } = columnType;
|
|
2700
|
+
<span class="cstat-no" title="statement not covered" > const dataBaseTypeMap: any = {};</span>
|
|
2701
|
+
le<span class="cstat-no" title="statement not covered" >t defaultDataBaseType;<span class="fstat-no" title="function not covered" ></span></span>
|
|
2702
|
+
if (Array.isArray(dat<span class="cstat-no" title="statement not covered" >aBaseTypes)) {</span>
|
|
2703
|
+
da<span class="cstat-no" title="statement not covered" >taBaseTypes.forEach((dataBaseType) => {</span>
|
|
2704
|
+
co<span class="cstat-no" title="statement not covered" >nst { type } = dataBaseType || {};</span>
|
|
2705
|
+
if (type) {<span class="cstat-no" title="statement not covered" ></span>
|
|
3840
2706
|
<span class="cstat-no" title="statement not covered" > dataBaseTypeMap[type] = dataBaseType;</span>
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
2707
|
+
co<span class="cstat-no" title="statement not covered" >nst { defaultType } = dataBaseType;</span>
|
|
2708
|
+
if (defaultType) {
|
|
2709
|
+
defaultDataBaseType = dataBaseType;
|
|
3844
2710
|
}
|
|
3845
2711
|
}
|
|
3846
|
-
})
|
|
2712
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
3847
2713
|
}
|
|
3848
|
-
|
|
2714
|
+
columnTypeMap[naslType] = {
|
|
3849
2715
|
dataBaseTypes,
|
|
3850
2716
|
dataBaseTypeMap,
|
|
3851
2717
|
defaultDataBaseType,
|
|
3852
2718
|
};
|
|
3853
|
-
})
|
|
2719
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
3854
2720
|
}
|
|
3855
|
-
|
|
2721
|
+
app.__databaseTypeMap[dbType] = columnTypeMap;
|
|
3856
2722
|
});
|
|
3857
|
-
}
|
|
3858
|
-
}
|
|
3859
|
-
<span class="cstat-no" title="statement not covered" >
|
|
3860
|
-
|
|
3861
|
-
|
|
2723
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2724
|
+
}<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ></span></span>
|
|
2725
|
+
if (<span class="cstat-no" title="statement not covered" >Array.isArray(dataSources)) {</span>
|
|
2726
|
+
dataSources.forEach((dataSource) => {
|
|
2727
|
+
dataSource.__hasDatabaseConfig = !!(app.__databaseTypeMap?.[dataSource.dataSourceSqlType]);
|
|
3862
2728
|
});
|
|
3863
2729
|
}
|
|
3864
2730
|
}
|
|
3865
2731
|
|
|
3866
2732
|
/**
|
|
3867
2733
|
* 加载 app
|
|
3868
|
-
* @returns app
|
|
3869
|
-
|
|
3870
|
-
export
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
2734
|
+
* @returns app <span class="fstat-no" title="function not covered" >对象</span>
|
|
2735
|
+
*/<span class="cstat-no" title="statement not covered" ></span>
|
|
2736
|
+
export functio<span class="cstat-no" title="statement not covered" >n loadAppSync(</span>) {
|
|
2737
|
+
<span class="cstat-no" title="statement not covered" > const json = fs.readJSONSync</span>(config.storage.basePath);
|
|
2738
|
+
<span class="cstat-no" title="statement not covered" > const app = </span>new App(json);
|
|
2739
|
+
handleApp(app as ProxyApp);
|
|
2740
|
+
return app;
|
|
3875
2741
|
}
|
|
3876
2742
|
</pre></td></tr></table></pre>
|
|
3877
2743
|
|
|
@@ -3880,7 +2746,7 @@ export function <span class="fstat-no" title="function not covered" >loadAppSync
|
|
|
3880
2746
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
3881
2747
|
Code coverage generated by
|
|
3882
2748
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
3883
|
-
at 2023-
|
|
2749
|
+
at 2023-10-18T11:36:07.885Z
|
|
3884
2750
|
</div>
|
|
3885
2751
|
<script src="../../../prettify.js"></script>
|
|
3886
2752
|
<script>
|