@lcap/nasl 3.3.3-beta.8 → 3.3.6-beta.1
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/{78804420-ead6-486f-b682-ab54ccd95dc9.json → d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json} +1 -1
- package/.nyc_output/processinfo/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/coverage/index.html +126 -141
- package/coverage/src/automate/engine/index.html +1 -1
- package/coverage/src/automate/engine/utils.js.html +36 -36
- package/coverage/src/bak/index.html +14 -14
- package/coverage/src/bak/translator.js.html +57 -393
- package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/CallbackNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/index.html +1 -1
- package/coverage/src/breakpoint/generator/index.ts.html +1 -1
- package/coverage/src/breakpoint/index.html +1 -1
- package/coverage/src/breakpoint/index.ts.html +1 -1
- package/coverage/src/breakpoint/shared/constants.ts.html +1 -1
- package/coverage/src/breakpoint/shared/index.html +1 -1
- package/coverage/src/breakpoint/shared/index.ts.html +1 -1
- package/coverage/src/breakpoint/shared/operations.ts.html +2 -2
- package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
- package/coverage/src/breakpoint/shared/utils.ts.html +1 -1
- package/coverage/src/breakpoint/store/core.ts.html +3 -3
- package/coverage/src/breakpoint/store/dock.ts.html +1 -1
- package/coverage/src/breakpoint/store/index.html +1 -1
- package/coverage/src/breakpoint/store/index.ts.html +1 -1
- package/coverage/src/common/BaseNode.ts.html +164 -593
- package/coverage/src/common/Command.ts.html +1 -1
- package/coverage/src/common/EventEmitter.ts.html +31 -31
- package/coverage/src/common/Messager.ts.html +1 -1
- package/coverage/src/common/asyncFuncMap.ts.html +1 -1
- package/coverage/src/common/index.html +23 -38
- package/coverage/src/common/index.ts.html +4 -7
- package/coverage/src/concepts/Abort__.ts.html +9 -39
- package/coverage/src/concepts/Anchor__.ts.html +29 -86
- package/coverage/src/concepts/AnonymousFunction__.ts.html +169 -262
- package/coverage/src/concepts/App__.ts.html +152 -1205
- package/coverage/src/concepts/Argument__.ts.html +53 -137
- package/coverage/src/concepts/Assignee__.ts.html +34 -124
- package/coverage/src/concepts/AssignmentLine__.ts.html +15 -48
- package/coverage/src/concepts/Assignment__.ts.html +81 -213
- package/coverage/src/concepts/Attribute__.ts.html +14 -41
- package/coverage/src/concepts/AuthInterface__.ts.html +6 -9
- package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +144 -108
- package/coverage/src/concepts/AuthLogic__.ts.html +6 -18
- package/coverage/src/concepts/BackendVariable__.ts.html +48 -168
- package/coverage/src/concepts/Backend__.ts.html +28 -106
- package/coverage/src/concepts/BatchAssignment__.ts.html +169 -274
- package/coverage/src/concepts/BinaryExpression__.ts.html +129 -285
- package/coverage/src/concepts/BindAttribute__.ts.html +111 -522
- package/coverage/src/concepts/BindDirective__.ts.html +26 -131
- package/coverage/src/concepts/BindEvent__.ts.html +64 -160
- package/coverage/src/concepts/BindStyle__.ts.html +21 -78
- package/coverage/src/concepts/BooleanLiteral__.ts.html +20 -47
- package/coverage/src/concepts/CallAuthInterface__.ts.html +48 -105
- package/coverage/src/concepts/CallConnector__.ts.html +35 -62
- package/coverage/src/concepts/CallFunction__.ts.html +144 -288
- package/coverage/src/concepts/CallInterface__.ts.html +60 -93
- package/coverage/src/concepts/CallLogic__.ts.html +343 -292
- package/coverage/src/concepts/CallQueryComponent__.ts.html +93 -126
- package/coverage/src/concepts/Comment__.ts.html +10 -43
- package/coverage/src/concepts/CompletionProperty__.ts.html +13 -40
- package/coverage/src/concepts/ConfigGroup__.ts.html +20 -47
- package/coverage/src/concepts/ConfigPropertyValue__.ts.html +19 -22
- package/coverage/src/concepts/ConfigProperty__.ts.html +40 -97
- package/coverage/src/concepts/Configuration__.ts.html +21 -48
- package/coverage/src/concepts/Connection__.ts.html +22 -97
- package/coverage/src/concepts/ConnectorTrigger__.ts.html +6 -9
- package/coverage/src/concepts/Connector__.ts.html +38 -161
- package/coverage/src/concepts/Constant__.ts.html +24 -84
- package/coverage/src/concepts/DataSource__.ts.html +57 -111
- package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +6 -9
- package/coverage/src/concepts/Destination__.ts.html +55 -97
- package/coverage/src/concepts/End__.ts.html +21 -51
- package/coverage/src/concepts/EntityIndex__.ts.html +10 -40
- package/coverage/src/concepts/EntityProperty__.ts.html +56 -164
- package/coverage/src/concepts/Entity__.ts.html +89 -167
- package/coverage/src/concepts/EnumItem__.ts.html +10 -40
- package/coverage/src/concepts/Enum__.ts.html +24 -84
- package/coverage/src/concepts/Event__.ts.html +14 -41
- package/coverage/src/concepts/ExternalDestination__.ts.html +21 -75
- package/coverage/src/concepts/ForEachStatement__.ts.html +64 -139
- package/coverage/src/concepts/FrontendLibrary__.ts.html +20 -71
- package/coverage/src/concepts/FrontendVariable__.ts.html +1 -1
- package/coverage/src/concepts/Frontend__.ts.html +57 -213
- package/coverage/src/concepts/Function__.ts.html +86 -239
- package/coverage/src/concepts/Identifier__.ts.html +72 -111
- package/coverage/src/concepts/IfStatement__.ts.html +75 -138
- package/coverage/src/concepts/Integration__.ts.html +19 -70
- package/coverage/src/concepts/InterfaceParam__.ts.html +21 -78
- package/coverage/src/concepts/Interface__.ts.html +60 -162
- package/coverage/src/concepts/JSBlock__.ts.html +11 -215
- package/coverage/src/concepts/JavaLogic__.ts.html +9 -42
- package/coverage/src/concepts/LogicItem__.ts.html +21 -51
- package/coverage/src/concepts/Logic__.ts.html +321 -405
- package/coverage/src/concepts/MatchCase__.ts.html +97 -181
- package/coverage/src/concepts/Match__.ts.html +59 -116
- package/coverage/src/concepts/MemberExpression__.ts.html +128 -182
- package/coverage/src/concepts/MicroApp__.ts.html +6 -9
- package/coverage/src/concepts/Module__.ts.html +18 -672
- package/coverage/src/concepts/MsgTriggerEvent__.ts.html +14 -41
- package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +14 -41
- package/coverage/src/concepts/Namespace__.ts.html +91 -358
- package/coverage/src/concepts/NewComposite__.ts.html +125 -278
- package/coverage/src/concepts/NewList__.ts.html +57 -195
- package/coverage/src/concepts/NewMap__.ts.html +63 -168
- package/coverage/src/concepts/New__.ts.html +9 -39
- package/coverage/src/concepts/NullLiteral__.ts.html +9 -36
- package/coverage/src/concepts/NumericLiteral__.ts.html +33 -90
- package/coverage/src/concepts/OqlQueryComponent__.ts.html +35 -161
- package/coverage/src/concepts/OverriddenLogic__.ts.html +201 -324
- package/coverage/src/concepts/Param__.ts.html +75 -189
- package/coverage/src/concepts/Point__.ts.html +6 -9
- package/coverage/src/concepts/ProcessComponent__.ts.html +21 -72
- package/coverage/src/concepts/ProcessElement__.ts.html +115 -316
- package/coverage/src/concepts/ProcessOutcome__.ts.html +13 -85
- package/coverage/src/concepts/ProcessOutcomes__.ts.html +13 -85
- package/coverage/src/concepts/Process__.ts.html +70 -211
- package/coverage/src/concepts/QueryAggregateExpression__.ts.html +16 -67
- package/coverage/src/concepts/QueryFieldExpression__.ts.html +11 -41
- package/coverage/src/concepts/QueryFromExpression__.ts.html +21 -81
- package/coverage/src/concepts/QueryGroupByExpression__.ts.html +19 -70
- package/coverage/src/concepts/QueryJoinExpression__.ts.html +25 -85
- package/coverage/src/concepts/QueryLimitExpression__.ts.html +20 -77
- package/coverage/src/concepts/QueryOrderByExpression__.ts.html +20 -80
- package/coverage/src/concepts/QuerySelectExpression__.ts.html +15 -42
- package/coverage/src/concepts/Rect__.ts.html +6 -9
- package/coverage/src/concepts/Return__.ts.html +44 -164
- package/coverage/src/concepts/Role__.ts.html +15 -45
- package/coverage/src/concepts/SelectMembers__.ts.html +24 -81
- package/coverage/src/concepts/Slot__.ts.html +13 -40
- package/coverage/src/concepts/SqlQueryComponent__.ts.html +24 -84
- package/coverage/src/concepts/Start__.ts.html +9 -36
- package/coverage/src/concepts/StringInterpolation__.ts.html +29 -104
- package/coverage/src/concepts/StringLiteral__.ts.html +32 -62
- package/coverage/src/concepts/StructureProperty__.ts.html +23 -80
- package/coverage/src/concepts/Structure__.ts.html +32 -116
- package/coverage/src/concepts/SwitchCase__.ts.html +36 -87
- package/coverage/src/concepts/SwitchStatement__.ts.html +33 -90
- package/coverage/src/concepts/Theme__.ts.html +12 -15
- package/coverage/src/concepts/Transactional__.ts.html +6 -9
- package/coverage/src/concepts/TriggerEvent__.ts.html +14 -41
- package/coverage/src/concepts/TriggerLauncher__.ts.html +13 -46
- package/coverage/src/concepts/TypeAnnotation__.ts.html +116 -347
- package/coverage/src/concepts/TypeParam__.ts.html +12 -42
- package/coverage/src/concepts/UnaryExpression__.ts.html +27 -105
- package/coverage/src/concepts/Unparsed__.ts.html +12 -36
- package/coverage/src/concepts/UseComponent__.ts.html +6 -9
- package/coverage/src/concepts/ValidationRule__.ts.html +40 -79
- package/coverage/src/concepts/Variable__.ts.html +37 -157
- package/coverage/src/concepts/ViewBlock__.ts.html +6 -9
- package/coverage/src/concepts/ViewComponent__.ts.html +24 -99
- package/coverage/src/concepts/ViewElement__.ts.html +278 -692
- package/coverage/src/concepts/View__.ts.html +163 -517
- package/coverage/src/concepts/WhileStatement__.ts.html +55 -118
- package/coverage/src/concepts/basics/stdlib/index.html +1 -1
- package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +3 -3
- package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
- package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
- package/coverage/src/concepts/basics/types/index.html +1 -1
- package/coverage/src/concepts/basics/types/index.ts.html +1 -1
- package/coverage/src/concepts/index.html +965 -980
- package/coverage/src/concepts/index.ts.html +1 -1
- package/coverage/src/concepts/index__.ts.html +4 -7
- package/coverage/src/config.ts.html +1 -1
- package/coverage/src/decorators/index.html +5 -5
- package/coverage/src/decorators/index.ts.html +32 -32
- package/coverage/src/decorators/promise.ts.html +10 -10
- package/coverage/src/eventBus.ts.html +1 -1
- package/coverage/src/generator/compileComponent.ts.html +4 -4
- package/coverage/src/generator/genBundleFiles.ts.html +23 -17
- package/coverage/src/generator/genHash.ts.html +3 -3
- package/coverage/src/generator/genMetaData.ts.html +16 -103
- package/coverage/src/generator/genReleaseBody.ts.html +3 -3
- package/coverage/src/generator/icestark.ts.html +4 -10
- package/coverage/src/generator/index.html +21 -21
- package/coverage/src/generator/index.ts.html +1 -1
- package/coverage/src/generator/microApp.ts.html +1 -1
- package/coverage/src/generator/permission.ts.html +20 -92
- package/coverage/src/generator/qiankun.ts.html +3 -9
- package/coverage/src/generator/styleReplacer.ts.html +1 -1
- package/coverage/src/index.html +7 -7
- package/coverage/src/index.ts.html +4 -4
- package/coverage/src/manager/diagnostic.ts.html +14 -11
- package/coverage/src/manager/index.html +13 -13
- package/coverage/src/manager/stepRecorder.ts.html +1 -1
- package/coverage/src/natural/genNaturalTS.ts.html +1 -1
- package/coverage/src/natural/index.html +15 -15
- package/coverage/src/natural/index.ts.html +1 -1
- package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
- package/coverage/src/natural/transformTSCode.ts.html +18 -78
- package/coverage/src/sentry/index.html +14 -14
- package/coverage/src/sentry/index.ts.html +32 -38
- package/coverage/src/server/createUiTs.ts.html +6 -15
- package/coverage/src/server/entity2LogicNamespace.ts.html +9 -9
- package/coverage/src/server/event.js.html +1 -1
- package/coverage/src/server/extendBaseNode.ts.html +4 -7
- package/coverage/src/server/formatTsUtils.ts.html +9 -9
- package/coverage/src/server/getConnector.ts.html +1 -1
- package/coverage/src/server/getExtensionModules.ts.html +1 -1
- package/coverage/src/server/getFunctions.ts.html +4 -4
- package/coverage/src/server/getInterfaces.ts.html +1 -1
- package/coverage/src/server/getLogging.ts.html +2 -2
- package/coverage/src/server/getLogics.ts.html +1 -1
- package/coverage/src/server/getMemberIdentifier.ts.html +119 -167
- package/coverage/src/server/getProcessComponents.ts.html +3 -3
- package/coverage/src/server/getProcesses.ts.html +1 -1
- package/coverage/src/server/getValidates.ts.html +4 -4
- package/coverage/src/server/index.html +34 -34
- package/coverage/src/server/index.ts.html +1 -1
- package/coverage/src/server/naslServer.ts.html +943 -1195
- package/coverage/src/server/naslStdlibMap.ts.html +1 -1
- package/coverage/src/server/process2LogicNamespace.ts.html +52 -52
- package/coverage/src/server/translator.ts.html +14 -50
- package/coverage/src/service/creator/add.configs.js.html +9 -27
- package/coverage/src/service/creator/errHandles.js.html +37 -19
- package/coverage/src/service/creator/index.html +22 -22
- package/coverage/src/service/creator/index.js.html +1 -1
- package/coverage/src/service/datasource/api.js.html +1 -1
- package/coverage/src/service/datasource/index.html +1 -1
- package/coverage/src/service/datasource/index.js.html +1 -1
- package/coverage/src/service/logic/api.js.html +1 -1
- package/coverage/src/service/logic/index.html +1 -1
- package/coverage/src/service/logic/index.js.html +1 -1
- package/coverage/src/service/storage/api.js.html +1 -1
- package/coverage/src/service/storage/index.html +29 -29
- package/coverage/src/service/storage/index.ts.html +1 -1
- package/coverage/src/service/storage/init.ts.html +601 -1534
- package/coverage/src/service/storage/jsoner.ts.html +13 -76
- package/coverage/src/service/storage/map.ts.html +3 -3
- package/coverage/src/service/storage/service.ts.html +1 -1
- package/coverage/src/service/storage/storagePoint.ts.html +1 -1
- package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
- package/coverage/src/templator/genCreateBlock.ts.html +56 -47
- package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +31 -49
- package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +89 -80
- package/coverage/src/templator/genEditTableBlock.ts.html +11 -80
- package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
- package/coverage/src/templator/genGetBlock.ts.html +1 -1
- package/coverage/src/templator/genGridViewBlock.ts.html +1 -1
- package/coverage/src/templator/genListViewBlock.ts.html +1 -1
- package/coverage/src/templator/genQueryComponent.ts.html +1 -1
- package/coverage/src/templator/genSelectBlock.ts.html +1 -1
- package/coverage/src/templator/genTableBlock.ts.html +3 -66
- package/coverage/src/templator/genUpdateBlock.ts.html +36 -48
- package/coverage/src/templator/index.html +39 -39
- package/coverage/src/templator/index.ts.html +1 -1
- package/coverage/src/templator/utils.ts.html +11 -77
- package/coverage/src/translator/constant.ts.html +1 -1
- package/coverage/src/translator/index.html +21 -21
- package/coverage/src/translator/index.ts.html +1 -1
- package/coverage/src/translator/utils.ts.html +68 -389
- package/coverage/src/utils/cookie.ts.html +4 -4
- package/coverage/src/utils/env.ts.html +1 -1
- package/coverage/src/utils/index.html +51 -36
- package/coverage/src/utils/index.ts.html +22 -115
- package/coverage/src/utils/logger.ts.html +13 -13
- package/coverage/src/utils/sortTsString.ts.html +10 -25
- package/coverage/src/utils/string.ts.html +8 -110
- package/coverage/src/utils/time-slicing.ts.html +1 -1
- package/coverage/src/utils/traverse.ts.html +1 -1
- package/coverage/src/utils/window.ts.html +1 -1
- package/out/bak/translator.js.map +1 -1
- package/out/common/Command.js +1 -1
- package/out/common/Command.js.map +1 -1
- package/out/concepts/Argument__.js +7 -2
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignment__.js +20 -3
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BackendVariable__.js +24 -2
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +40 -13
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/CallLogic__.js +7 -12
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CountersignPolicy__.d.ts +26 -0
- package/out/concepts/CountersignPolicy__.js +73 -0
- package/out/concepts/CountersignPolicy__.js.map +1 -0
- package/out/concepts/ForEachStatement__.js +12 -26
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Identifier__.js +3 -0
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/JSBlock__.js +56 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.js +2 -1
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.js +2 -0
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.js +1 -1
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MultiApprovalPolicy__.d.ts +24 -0
- package/out/concepts/MultiApprovalPolicy__.js +65 -0
- package/out/concepts/MultiApprovalPolicy__.js.map +1 -0
- package/out/concepts/NewComposite__.js +18 -10
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NumericLiteral__.js +1 -1
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.js +24 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +16 -0
- package/out/concepts/ProcessElement__.js +56 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/Return__.js +24 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/SequentialPolicy__.d.ts +18 -0
- package/out/concepts/SequentialPolicy__.js +54 -0
- package/out/concepts/SequentialPolicy__.js.map +1 -0
- package/out/concepts/Variable__.js +24 -2
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.js +2 -2
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/index__.d.ts +3 -0
- package/out/concepts/index__.js +3 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/types__.d.ts +4 -1
- package/out/generator/genReleaseBody.js +2 -2
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/server/extendBaseNode.js +32 -1
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/getLogics.d.ts +1 -0
- package/out/server/getLogics.js +6 -2
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getProcesses.js +66 -6
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/index.js +1 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.js +2 -2
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +3 -0
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/errHandles.js +6 -3
- package/out/service/creator/errHandles.js.map +1 -1
- package/out/service/storage/init.js +2 -2
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +9 -5
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +18 -12
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +10 -8
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +3 -2
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +12 -9
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/nasl.core.ts +2 -0
- package/sandbox/stdlib/nasl.util.ts +3 -3
- package/src/bak/translator.js +0 -1
- package/src/common/Command.ts +1 -1
- package/src/concepts/Argument__.ts +7 -2
- package/src/concepts/Assignment__.ts +31 -13
- package/src/concepts/BackendVariable__.ts +22 -3
- package/src/concepts/BinaryExpression__.ts +39 -13
- package/src/concepts/CallLogic__.ts +13 -23
- package/src/concepts/CountersignPolicy__.ts +77 -0
- package/src/concepts/ForEachStatement__.ts +17 -26
- package/src/concepts/Identifier__.ts +4 -1
- package/src/concepts/JSBlock__.ts +58 -0
- package/src/concepts/LogicItem__.ts +2 -2
- package/src/concepts/Logic__.ts +1 -0
- package/src/concepts/Match__.ts +1 -1
- package/src/concepts/MultiApprovalPolicy__.ts +69 -0
- package/src/concepts/NewComposite__.ts +18 -9
- package/src/concepts/NumericLiteral__.ts +1 -1
- package/src/concepts/Param__.ts +24 -2
- package/src/concepts/ProcessElement__.ts +70 -1
- package/src/concepts/Return__.ts +23 -3
- package/src/concepts/SequentialPolicy__.ts +58 -0
- package/src/concepts/Variable__.ts +23 -3
- package/src/concepts/ViewElement__.ts +6 -4
- package/src/concepts/View__.ts +5 -5
- package/src/concepts/index__.ts +3 -0
- package/src/concepts/types__.ts +6 -0
- package/src/generator/genReleaseBody.ts +40 -40
- package/src/server/extendBaseNode.ts +30 -2
- package/src/server/getLogics.ts +4 -0
- package/src/server/getProcesses.ts +66 -6
- package/src/server/index.ts +2 -1
- package/src/server/naslServer.ts +2 -2
- package/src/server/translator.ts +3 -0
- package/src/service/creator/errHandles.js +7 -4
- package/src/service/storage/init.ts +2 -2
- package/src/templator/genCreateBlock.ts +9 -5
- package/src/templator/genCurdEditMultipleKeyBlock.ts +19 -13
- package/src/templator/genCurdMultipleKeyBlock.ts +14 -11
- package/src/templator/genEditTableBlock.ts +4 -2
- package/src/templator/genUpdateBlock.ts +15 -12
- package/src/templator/utils.ts +8 -7
- package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +2 -2
- package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +3 -2
- package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +2 -2
- package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +3 -3
- package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
- package/.nyc_output/processinfo/78804420-ead6-486f-b682-ab54ccd95dc9.json +0 -1
- package/coverage/cobertura-coverage.xml +0 -71878
- package/coverage/src/automate/engine/index.js.html +0 -1471
- package/coverage/src/automate/engine/operators.js.html +0 -862
- package/coverage/src/automate/engine/uniqueName.js.html +0 -412
- package/coverage/src/automate/engine/viewCache.js.html +0 -214
- package/coverage/src/automate/template/index.html +0 -116
- package/coverage/src/automate/template/myProcess.js.html +0 -34645
- package/coverage/src/common/utils.ts.html +0 -136
- package/coverage/src/concepts/DataElement__.ts.html +0 -118
- package/coverage/src/concepts/MetadataType__.ts.html +0 -2053
- package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
- package/coverage/src/utils/time-slicing/controller.ts.html +0 -1111
- package/coverage/src/utils/time-slicing/index.html +0 -236
- package/coverage/src/utils/time-slicing/index.ts.html +0 -103
- package/coverage/src/utils/time-slicing/page-state.ts.html +0 -121
- package/coverage/src/utils/time-slicing/performance.ts.html +0 -253
- package/coverage/src/utils/time-slicing/runner.ts.html +0 -247
- package/coverage/src/utils/time-slicing/tool.ts.html +0 -220
- package/coverage/src/utils/time-slicing/utils.ts.html +0 -355
- package/coverage/src/utils/time-slicing/wrapper.ts.html +0 -259
- package/coverage/src/utils/time.ts.html +0 -118
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">5.77% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>16/277</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/129</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/
|
|
42
|
+
<span class='fraction'>0/50</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">5.
|
|
47
|
+
<span class="strong">5.46% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>14/256</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -810,52 +810,7 @@
|
|
|
810
810
|
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
811
|
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
812
|
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
-
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
-
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
-
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
-
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
-
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
-
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
-
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
-
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
-
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
-
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
-
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
-
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
-
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
-
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
-
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
-
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
-
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
-
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
-
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
-
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
-
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
-
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
-
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
-
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
-
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
-
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
-
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
-
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
-
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
-
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
-
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
-
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
-
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
-
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
-
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
-
<a name='L783'></a><a href='#L783'>783</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
849
|
-
<span class="cline-any cline-yes">1x</span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-neutral"> </span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-neutral"> </span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
+
<a name='L748'></a><a href='#L748'>748</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
859
814
|
<span class="cline-any cline-neutral"> </span>
|
|
860
815
|
<span class="cline-any cline-neutral"> </span>
|
|
861
816
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -887,7 +842,6 @@
|
|
|
887
842
|
<span class="cline-any cline-neutral"> </span>
|
|
888
843
|
<span class="cline-any cline-neutral"> </span>
|
|
889
844
|
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-yes">1x</span>
|
|
891
845
|
<span class="cline-any cline-neutral"> </span>
|
|
892
846
|
<span class="cline-any cline-neutral"> </span>
|
|
893
847
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1294,23 +1248,15 @@
|
|
|
1294
1248
|
<span class="cline-any cline-neutral"> </span>
|
|
1295
1249
|
<span class="cline-any cline-no"> </span>
|
|
1296
1250
|
<span class="cline-any cline-no"> </span>
|
|
1297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1298
1251
|
<span class="cline-any cline-no"> </span>
|
|
1299
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1300
1252
|
<span class="cline-any cline-no"> </span>
|
|
1301
1253
|
<span class="cline-any cline-no"> </span>
|
|
1302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1303
|
-
<span class="cline-any cline-no"> </span>
|
|
1304
|
-
<span class="cline-any cline-no"> </span>
|
|
1305
|
-
<span class="cline-any cline-no"> </span>
|
|
1306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1307
1254
|
<span class="cline-any cline-no"> </span>
|
|
1308
1255
|
<span class="cline-any cline-no"> </span>
|
|
1309
1256
|
<span class="cline-any cline-no"> </span>
|
|
1310
1257
|
<span class="cline-any cline-no"> </span>
|
|
1311
1258
|
<span class="cline-any cline-neutral"> </span>
|
|
1312
1259
|
<span class="cline-any cline-neutral"> </span>
|
|
1313
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1314
1260
|
<span class="cline-any cline-no"> </span>
|
|
1315
1261
|
<span class="cline-any cline-neutral"> </span>
|
|
1316
1262
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1375,23 +1321,15 @@
|
|
|
1375
1321
|
<span class="cline-any cline-neutral"> </span>
|
|
1376
1322
|
<span class="cline-any cline-no"> </span>
|
|
1377
1323
|
<span class="cline-any cline-no"> </span>
|
|
1378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1379
1324
|
<span class="cline-any cline-no"> </span>
|
|
1380
|
-
<span class="cline-any cline-neutral"> </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
1325
|
<span class="cline-any cline-no"> </span>
|
|
1385
1326
|
<span class="cline-any cline-no"> </span>
|
|
1386
1327
|
<span class="cline-any cline-no"> </span>
|
|
1387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1388
|
-
<span class="cline-any cline-no"> </span>
|
|
1389
1328
|
<span class="cline-any cline-no"> </span>
|
|
1390
1329
|
<span class="cline-any cline-no"> </span>
|
|
1391
1330
|
<span class="cline-any cline-no"> </span>
|
|
1392
1331
|
<span class="cline-any cline-neutral"> </span>
|
|
1393
1332
|
<span class="cline-any cline-neutral"> </span>
|
|
1394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1395
1333
|
<span class="cline-any cline-no"> </span>
|
|
1396
1334
|
<span class="cline-any cline-neutral"> </span>
|
|
1397
1335
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1467,17 +1405,10 @@
|
|
|
1467
1405
|
<span class="cline-any cline-no"> </span>
|
|
1468
1406
|
<span class="cline-any cline-no"> </span>
|
|
1469
1407
|
<span class="cline-any cline-no"> </span>
|
|
1470
|
-
<span class="cline-any cline-no"> </span>
|
|
1471
|
-
<span class="cline-any cline-no"> </span>
|
|
1472
1408
|
<span class="cline-any cline-neutral"> </span>
|
|
1473
1409
|
<span class="cline-any cline-no"> </span>
|
|
1474
1410
|
<span class="cline-any cline-no"> </span>
|
|
1475
1411
|
<span class="cline-any cline-no"> </span>
|
|
1476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
-
<span class="cline-any cline-no"> </span>
|
|
1478
|
-
<span class="cline-any cline-no"> </span>
|
|
1479
|
-
<span class="cline-any cline-no"> </span>
|
|
1480
|
-
<span class="cline-any cline-no"> </span>
|
|
1481
1412
|
<span class="cline-any cline-no"> </span>
|
|
1482
1413
|
<span class="cline-any cline-no"> </span>
|
|
1483
1414
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1488,11 +1419,10 @@
|
|
|
1488
1419
|
<span class="cline-any cline-no"> </span>
|
|
1489
1420
|
<span class="cline-any cline-no"> </span>
|
|
1490
1421
|
<span class="cline-any cline-no"> </span>
|
|
1491
|
-
<span class="cline-any cline-no"> </span>
|
|
1492
1422
|
<span class="cline-any cline-neutral"> </span>
|
|
1493
1423
|
<span class="cline-any cline-no"> </span>
|
|
1494
1424
|
<span class="cline-any cline-no"> </span>
|
|
1495
|
-
<span class="cline-any cline-
|
|
1425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1496
1426
|
<span class="cline-any cline-no"> </span>
|
|
1497
1427
|
<span class="cline-any cline-no"> </span>
|
|
1498
1428
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1542,7 +1472,9 @@
|
|
|
1542
1472
|
<span class="cline-any cline-no"> </span>
|
|
1543
1473
|
<span class="cline-any cline-neutral"> </span>
|
|
1544
1474
|
<span class="cline-any cline-no"> </span>
|
|
1475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1545
1476
|
<span class="cline-any cline-no"> </span>
|
|
1477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1546
1478
|
<span class="cline-any cline-no"> </span>
|
|
1547
1479
|
<span class="cline-any cline-no"> </span>
|
|
1548
1480
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1551,6 +1483,7 @@
|
|
|
1551
1483
|
<span class="cline-any cline-no"> </span>
|
|
1552
1484
|
<span class="cline-any cline-no"> </span>
|
|
1553
1485
|
<span class="cline-any cline-no"> </span>
|
|
1486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1554
1487
|
<span class="cline-any cline-no"> </span>
|
|
1555
1488
|
<span class="cline-any cline-no"> </span>
|
|
1556
1489
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1560,7 +1493,6 @@
|
|
|
1560
1493
|
<span class="cline-any cline-neutral"> </span>
|
|
1561
1494
|
<span class="cline-any cline-yes">1x</span>
|
|
1562
1495
|
<span class="cline-any cline-no"> </span>
|
|
1563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1564
1496
|
<span class="cline-any cline-no"> </span>
|
|
1565
1497
|
<span class="cline-any cline-no"> </span>
|
|
1566
1498
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1587,13 +1519,11 @@
|
|
|
1587
1519
|
<span class="cline-any cline-no"> </span>
|
|
1588
1520
|
<span class="cline-any cline-no"> </span>
|
|
1589
1521
|
<span class="cline-any cline-no"> </span>
|
|
1590
|
-
<span class="cline-any cline-no"> </span>
|
|
1591
1522
|
<span class="cline-any cline-neutral"> </span>
|
|
1592
1523
|
<span class="cline-any cline-neutral"> </span>
|
|
1593
1524
|
<span class="cline-any cline-neutral"> </span>
|
|
1594
1525
|
<span class="cline-any cline-no"> </span>
|
|
1595
1526
|
<span class="cline-any cline-no"> </span>
|
|
1596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1597
1527
|
<span class="cline-any cline-no"> </span>
|
|
1598
1528
|
<span class="cline-any cline-no"> </span>
|
|
1599
1529
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1627,17 +1557,7 @@
|
|
|
1627
1557
|
<span class="cline-any cline-neutral"> </span>
|
|
1628
1558
|
<span class="cline-any cline-neutral"> </span>
|
|
1629
1559
|
<span class="cline-any cline-neutral"> </span>
|
|
1630
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
1631
|
-
import {
|
|
1632
|
-
TranslatorState,
|
|
1633
|
-
shiftState,
|
|
1634
|
-
withSourceMap,
|
|
1635
|
-
indent,
|
|
1636
|
-
createCompilerState,
|
|
1637
|
-
withSourceMapGenerator,
|
|
1638
|
-
withGenerator,
|
|
1639
|
-
TranslatorGenerator,
|
|
1640
|
-
} from '../translator';
|
|
1560
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
1641
1561
|
import { ElementToVueOptions } from './ViewElement__';
|
|
1642
1562
|
import ForEachStatement from './ForEachStatement__';
|
|
1643
1563
|
import Logic from './Logic__';
|
|
@@ -1667,7 +1587,6 @@ export class NewMap extends LogicItem {
|
|
|
1667
1587
|
/**
|
|
1668
1588
|
* 产品概念
|
|
1669
1589
|
*/
|
|
1670
|
-
@property('concept')
|
|
1671
1590
|
// @ts-ignore
|
|
1672
1591
|
readonly concept!: 'NewMap';
|
|
1673
1592
|
|
|
@@ -1744,7 +1663,7 @@ export class NewMap extends LogicItem {
|
|
|
1744
1663
|
|
|
1745
1664
|
<span class="fstat-no" title="function not covered" > getItemExistingNames(</span>excludedList: Array<LogicItem> = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
|
|
1746
1665
|
const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
|
|
1747
|
-
<span class="cstat-no" title="statement not covered" > return ((this.keys as LogicItem[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item
|
|
1666
|
+
<span class="cstat-no" title="statement not covered" > return ((this.keys as LogicItem[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name)</span>;</span>
|
|
1748
1667
|
}
|
|
1749
1668
|
<span class="fstat-no" title="function not covered" > getItemUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'logicItem1')</span> {
|
|
1750
1669
|
<span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getItemExistingNames(), undefined, false);</span>
|
|
@@ -2076,21 +1995,13 @@ export class NewMap extends LogicItem {
|
|
|
2076
1995
|
};
|
|
2077
1996
|
<span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
|
|
2078
1997
|
<span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
// @ts-ignore
|
|
2082
|
-
const n = <span class="cstat-no" title="statement not covered" >typeAnnotation.__v_raw || typeAnnotation;</span>
|
|
2083
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
|
|
2084
|
-
// @ts-ignore
|
|
2085
|
-
const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) => <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
|
|
1998
|
+
<span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
|
|
1999
|
+
const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(typeAnnotation);</span>
|
|
2086
2000
|
<span class="cstat-no" title="statement not covered" > ~index && (this as any)[parentKey].splice(index, 1);</span>
|
|
2087
2001
|
<span class="cstat-no" title="statement not covered" > params.index = index;</span>
|
|
2088
|
-
} else {
|
|
2089
|
-
|
|
2090
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2091
|
-
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
2092
|
-
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
2093
|
-
}
|
|
2002
|
+
} else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === typeAnnotation) {</span>
|
|
2003
|
+
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
2004
|
+
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
2094
2005
|
}
|
|
2095
2006
|
}
|
|
2096
2007
|
<span class="cstat-no" title="statement not covered" > return params;</span>
|
|
@@ -2157,21 +2068,13 @@ export class NewMap extends LogicItem {
|
|
|
2157
2068
|
};
|
|
2158
2069
|
<span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
|
|
2159
2070
|
<span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
// @ts-ignore
|
|
2163
|
-
const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
|
|
2164
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
|
|
2165
|
-
// @ts-ignore
|
|
2166
|
-
const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) => <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
|
|
2071
|
+
<span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
|
|
2072
|
+
const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(logicItem);</span>
|
|
2167
2073
|
<span class="cstat-no" title="statement not covered" > ~index && (this as any)[parentKey].splice(index, 1);</span>
|
|
2168
2074
|
<span class="cstat-no" title="statement not covered" > params.index = index;</span>
|
|
2169
|
-
} else {
|
|
2170
|
-
|
|
2171
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2172
|
-
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
2173
|
-
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
2174
|
-
}
|
|
2075
|
+
} else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === logicItem) {</span>
|
|
2076
|
+
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
2077
|
+
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
2175
2078
|
}
|
|
2176
2079
|
}
|
|
2177
2080
|
<span class="cstat-no" title="statement not covered" > return params;</span>
|
|
@@ -2240,63 +2143,55 @@ export class NewMap extends LogicItem {
|
|
|
2240
2143
|
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2241
2144
|
}
|
|
2242
2145
|
|
|
2243
|
-
@
|
|
2244
|
-
<span class="fstat-no" title="function not covered" >
|
|
2245
|
-
const self = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
2146
|
+
@withSourceMap()
|
|
2147
|
+
<span class="fstat-no" title="function not covered" > toEmbeddedTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
|
|
2246
2148
|
const indent0 = <span class="cstat-no" title="statement not covered" >indent(state?.tabSize || 0);</span>
|
|
2247
2149
|
const indent1 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 1);</span>
|
|
2248
2150
|
const indent2 = <span class="cstat-no" title="statement not covered" >indent((state?.tabSize || 0) + 2);</span>
|
|
2249
|
-
const typeCode = <span class="cstat-no" title="statement not covered" >function* <span class="fstat-no" title="function not covered" >typeCode(</span>codestr: string) {</span>
|
|
2250
|
-
<span class="cstat-no" title="statement not covered" > codestr += `nasl.util.New<`;</span>
|
|
2251
|
-
<span class="cstat-no" title="statement not covered" > codestr += `${yield * self.typeAnnotation.toEmbeddedTS(shiftState(state, codestr, { inline: true }))}`;</span>
|
|
2252
|
-
<span class="cstat-no" title="statement not covered" > codestr += `>()`;</span>
|
|
2253
|
-
<span class="cstat-no" title="statement not covered" > return codestr;</span>
|
|
2254
|
-
};
|
|
2255
2151
|
let code = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
2256
|
-
<span class="cstat-no" title="statement not covered" > if (
|
|
2152
|
+
<span class="cstat-no" title="statement not covered" > if (this.typeAnnotation) {</span>
|
|
2153
|
+
const newConstructor = <span class="cstat-no" title="statement not covered" >`nasl.util.New<${this.typeAnnotation.sortedTypeKey}>()`;</span>
|
|
2257
2154
|
<span class="cstat-no" title="statement not covered" > code += `${indent0}(() => { \n`;</span>
|
|
2258
2155
|
// 方便ts报错检查
|
|
2259
2156
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}function __newComposite() {\n`;</span>
|
|
2260
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2157
|
+
<span class="cstat-no" title="statement not covered" > this.keys.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) => {</span>
|
|
2261
2158
|
const key = <span class="cstat-no" title="statement not covered" >item;</span>
|
|
2262
|
-
<span class="cstat-no" title="statement not covered" > code += `${indent2}nasl.util.MapPut(`;</span>
|
|
2263
|
-
<span class="cstat-no" title="statement not covered" > code
|
|
2264
|
-
<span class="cstat-no" title="statement not covered" > code += `${key ? yield* key.toEmbeddedTS(shiftState(state, code, { inline: true })) : null}`;</span>
|
|
2159
|
+
<span class="cstat-no" title="statement not covered" > code += `${indent2}nasl.util.MapPut(${newConstructor}, `;</span>
|
|
2160
|
+
<span class="cstat-no" title="statement not covered" > code += `${key ? key.toEmbeddedTS(shiftState(state, code, { inline: true })) : null}`;</span>
|
|
2265
2161
|
<span class="cstat-no" title="statement not covered" > code += ', null)\n';</span>
|
|
2266
2162
|
});
|
|
2267
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2268
|
-
const value = <span class="cstat-no" title="statement not covered" >
|
|
2269
|
-
<span class="cstat-no" title="statement not covered" > code += `${indent2}nasl.util.MapPut(`;</span>
|
|
2270
|
-
<span class="cstat-no" title="statement not covered" > code
|
|
2271
|
-
<span class="cstat-no" title="statement not covered" > code += `${value ? yield* value.toEmbeddedTS(shiftState(state, code, { inline: true })) : null}`;</span>
|
|
2163
|
+
<span class="cstat-no" title="statement not covered" > this.values.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) => {</span>
|
|
2164
|
+
const value = <span class="cstat-no" title="statement not covered" >this.values[index];</span>
|
|
2165
|
+
<span class="cstat-no" title="statement not covered" > code += `${indent2}nasl.util.MapPut(${newConstructor}, null, `;</span>
|
|
2166
|
+
<span class="cstat-no" title="statement not covered" > code += `${value ? value.toEmbeddedTS(shiftState(state, code, { inline: true })) : null}`;</span>
|
|
2272
2167
|
<span class="cstat-no" title="statement not covered" > code += ')';</span>
|
|
2273
2168
|
<span class="cstat-no" title="statement not covered" > code += '\n';</span>
|
|
2274
2169
|
});
|
|
2275
|
-
<span class="cstat-no" title="statement not covered" > code += `${indent2}return `;</span>
|
|
2276
|
-
<span class="cstat-no" title="statement not covered" > code = `${yield* typeCode(code)};\n`;</span>
|
|
2170
|
+
<span class="cstat-no" title="statement not covered" > code += `${indent2}return ${newConstructor};\n`;</span>
|
|
2277
2171
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}};\n`;</span>
|
|
2172
|
+
|
|
2278
2173
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}return __newComposite();\n`;</span>
|
|
2279
2174
|
<span class="cstat-no" title="statement not covered" > code += `${indent0}})()`;</span>
|
|
2280
|
-
} else <span class="cstat-no" title="statement not covered" >if (
|
|
2175
|
+
} else <span class="cstat-no" title="statement not covered" >if (this.keys.some(<span class="fstat-no" title="function not covered" >(k</span>ey) => <span class="cstat-no" title="statement not covered" >key)</span> || this.values.some(<span class="fstat-no" title="function not covered" >(v</span>alue) => <span class="cstat-no" title="statement not covered" >value)</span>) {</span>
|
|
2281
2176
|
<span class="cstat-no" title="statement not covered" > code += `${indent0}(() => { \n`;</span>
|
|
2282
2177
|
const valueTsArr: any = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
2283
2178
|
let keyTs = <span class="cstat-no" title="statement not covered" >'null';</span>
|
|
2284
2179
|
let valueTs = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
2285
2180
|
let keyIndex = <span class="cstat-no" title="statement not covered" >-1;</span>
|
|
2286
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2181
|
+
<span class="cstat-no" title="statement not covered" > this.keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey, index) => {</span>
|
|
2287
2182
|
<span class="cstat-no" title="statement not covered" > if (key) {</span>
|
|
2288
|
-
const ts = <span class="cstat-no" title="statement not covered" >
|
|
2183
|
+
const ts = <span class="cstat-no" title="statement not covered" >key.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
|
|
2289
2184
|
<span class="cstat-no" title="statement not covered" > if (keyIndex === -1 && !['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts)) {</span>
|
|
2290
2185
|
<span class="cstat-no" title="statement not covered" > keyIndex = index;</span>
|
|
2291
2186
|
<span class="cstat-no" title="statement not covered" > keyTs = ts;</span>
|
|
2292
2187
|
}
|
|
2293
2188
|
}
|
|
2294
2189
|
});
|
|
2295
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2296
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2190
|
+
<span class="cstat-no" title="statement not covered" > this.values.length && (code += indent1);</span>
|
|
2191
|
+
<span class="cstat-no" title="statement not covered" > this.values.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) => {</span>
|
|
2297
2192
|
<span class="cstat-no" title="statement not covered" > if (item) <span class="cstat-no" title="statement not covered" >valueTs = true;</span></span>
|
|
2298
2193
|
<span class="cstat-no" title="statement not covered" > code += `nasl.core.ensureVoid(`;</span>
|
|
2299
|
-
const ts = <span class="cstat-no" title="statement not covered" >item ?
|
|
2194
|
+
const ts = <span class="cstat-no" title="statement not covered" >item ? item.toEmbeddedTS(shiftState(state, code, { inline: true })) : null;</span>
|
|
2300
2195
|
<span class="cstat-no" title="statement not covered" > valueTsArr.push(ts);</span>
|
|
2301
2196
|
<span class="cstat-no" title="statement not covered" > code += valueTsArr[index];</span>
|
|
2302
2197
|
<span class="cstat-no" title="statement not covered" > code += '); ';</span>
|
|
@@ -2307,24 +2202,26 @@ export class NewMap extends LogicItem {
|
|
|
2307
2202
|
}
|
|
2308
2203
|
// 方便ts报错检查
|
|
2309
2204
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}function __newComposite() {\n`;</span>
|
|
2310
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2205
|
+
<span class="cstat-no" title="statement not covered" > this.keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey: any) => {</span>
|
|
2311
2206
|
<span class="cstat-no" title="statement not covered" > if (!key) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2312
2207
|
<span class="cstat-no" title="statement not covered" > code += `${indent2}nasl.core.compareNew(${keyTs}, `;</span>
|
|
2313
|
-
<span class="cstat-no" title="statement not covered" > code +=
|
|
2208
|
+
<span class="cstat-no" title="statement not covered" > code += key.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
|
|
2314
2209
|
<span class="cstat-no" title="statement not covered" > code += ');\n';</span>
|
|
2315
2210
|
});
|
|
2316
2211
|
<span class="cstat-no" title="statement not covered" > if (keyIndex !== -1) {</span>
|
|
2317
2212
|
<span class="cstat-no" title="statement not covered" > code += `${indent2}nasl.util.ValidMapKey(`;</span>
|
|
2318
|
-
<span class="cstat-no" title="statement not covered" > code += `${
|
|
2213
|
+
<span class="cstat-no" title="statement not covered" > code += `${this.keys[keyIndex].toEmbeddedTS(shiftState(state, code, { inline: true }))});\n`;</span>
|
|
2319
2214
|
}
|
|
2320
2215
|
<span class="cstat-no" title="statement not covered" > code += `${indent2}return nasl.util.NewMap(`;</span>
|
|
2321
2216
|
<span class="cstat-no" title="statement not covered" > code += `${keyIndex === -1 ? 'null' : keyTs}, ...[`;</span>
|
|
2322
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2217
|
+
<span class="cstat-no" title="statement not covered" > valueTsArr.forEach(<span class="fstat-no" title="function not covered" >(t</span>s: any, index: number) => {</span>
|
|
2323
2218
|
<span class="cstat-no" title="statement not covered" > code += ['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts;</span>
|
|
2324
|
-
<span class="cstat-no" title="statement not covered" > if (index + 1 <
|
|
2219
|
+
<span class="cstat-no" title="statement not covered" > if (index + 1 < this.values.length) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
|
|
2325
2220
|
});
|
|
2326
2221
|
<span class="cstat-no" title="statement not covered" > code += ']);\n';</span>
|
|
2222
|
+
|
|
2327
2223
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}};\n`;</span>
|
|
2224
|
+
|
|
2328
2225
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}return __newComposite();\n`;</span>
|
|
2329
2226
|
<span class="cstat-no" title="statement not covered" > code += `${indent0}})()`;</span>
|
|
2330
2227
|
} else {
|
|
@@ -2333,6 +2230,7 @@ export class NewMap extends LogicItem {
|
|
|
2333
2230
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}function __newComposite() {\n`;</span>
|
|
2334
2231
|
<span class="cstat-no" title="statement not covered" > code += `${indent2}return nasl.util.NewMap(${null}, ${null});\n`;</span>
|
|
2335
2232
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}};\n`;</span>
|
|
2233
|
+
|
|
2336
2234
|
<span class="cstat-no" title="statement not covered" > code += `${indent1}return __newComposite();\n`;</span>
|
|
2337
2235
|
<span class="cstat-no" title="statement not covered" > code += `${indent0}})()`;</span>
|
|
2338
2236
|
}
|
|
@@ -2342,8 +2240,7 @@ export class NewMap extends LogicItem {
|
|
|
2342
2240
|
@withSourceMap()
|
|
2343
2241
|
<span class="fstat-no" title="function not covered" > toNaturalTS(</span>): string {
|
|
2344
2242
|
let code = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
2345
|
-
const typeAnnotation =
|
|
2346
|
-
<span class="cstat-no" title="statement not covered" > this?.typeAnnotation?.typeArguments?.map(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item?.toNaturalTS())</span>?.join(', ') || '__IDENTIFIER__';</span>
|
|
2243
|
+
const typeAnnotation = <span class="cstat-no" title="statement not covered" >this?.typeAnnotation?.typeArguments?.map(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item?.toNaturalTS())</span>?.join(', ') || '__IDENTIFIER__';</span>
|
|
2347
2244
|
let params = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
2348
2245
|
<span class="cstat-no" title="statement not covered" > this?.keys?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) => {</span>
|
|
2349
2246
|
<span class="cstat-no" title="statement not covered" > if (item) {</span>
|
|
@@ -2357,30 +2254,28 @@ export class NewMap extends LogicItem {
|
|
|
2357
2254
|
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2358
2255
|
}
|
|
2359
2256
|
|
|
2360
|
-
<span class="fstat-no" title="function not covered" >
|
|
2361
|
-
const self = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
2257
|
+
<span class="fstat-no" title="function not covered" > getInitCode(</span>state?: TranslatorState): string {
|
|
2362
2258
|
let code = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
2363
2259
|
<span class="cstat-no" title="statement not covered" > if (this.keys.some(<span class="fstat-no" title="function not covered" >(k</span>ey) => <span class="cstat-no" title="statement not covered" >key)</span> || this.values.some(<span class="fstat-no" title="function not covered" >(v</span>alue) => <span class="cstat-no" title="statement not covered" >value)</span>) {</span>
|
|
2364
2260
|
let keyBol = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
2365
2261
|
<span class="cstat-no" title="statement not covered" > code += `nasl.util.NewMap(`;</span>
|
|
2366
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2262
|
+
<span class="cstat-no" title="statement not covered" > this.keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) => {</span>
|
|
2367
2263
|
<span class="cstat-no" title="statement not covered" > if (key && !keyBol) {</span>
|
|
2368
|
-
let ts = <span class="cstat-no" title="statement not covered" >
|
|
2369
|
-
<span class="cstat-no" title="statement not covered" > ts =
|
|
2264
|
+
let ts = <span class="cstat-no" title="statement not covered" >key.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
|
|
2265
|
+
<span class="cstat-no" title="statement not covered" > ts = this.getForeachCode(ts);</span>
|
|
2370
2266
|
<span class="cstat-no" title="statement not covered" > if (!['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts)) {</span>
|
|
2371
2267
|
<span class="cstat-no" title="statement not covered" > keyBol = true;</span>
|
|
2372
2268
|
<span class="cstat-no" title="statement not covered" > code += ts;</span>
|
|
2373
2269
|
}
|
|
2374
2270
|
}
|
|
2375
|
-
};
|
|
2271
|
+
});
|
|
2376
2272
|
<span class="cstat-no" title="statement not covered" > if (!keyBol) <span class="cstat-no" title="statement not covered" >code += 'null';</span></span>
|
|
2377
2273
|
<span class="cstat-no" title="statement not covered" > code += `, ...[`;</span>
|
|
2378
|
-
|
|
2379
|
-
<span class="cstat-no" title="statement not covered" >
|
|
2380
|
-
|
|
2381
|
-
<span class="cstat-no" title="statement not covered" > ts = yield* self.getForeachCode(ts);</span>
|
|
2274
|
+
<span class="cstat-no" title="statement not covered" > this.values.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) => {</span>
|
|
2275
|
+
let ts = <span class="cstat-no" title="statement not covered" >item ? item.toEmbeddedTS(shiftState(state, code, { inline: true })) : null;</span>
|
|
2276
|
+
<span class="cstat-no" title="statement not covered" > ts = this.getForeachCode(ts);</span>
|
|
2382
2277
|
<span class="cstat-no" title="statement not covered" > code += ['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts;</span>
|
|
2383
|
-
<span class="cstat-no" title="statement not covered" > if (index + 1 <
|
|
2278
|
+
<span class="cstat-no" title="statement not covered" > if (index + 1 < this.values.length) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
|
|
2384
2279
|
});
|
|
2385
2280
|
<span class="cstat-no" title="statement not covered" > code += '])';</span>
|
|
2386
2281
|
} else {
|
|
@@ -2389,12 +2284,12 @@ export class NewMap extends LogicItem {
|
|
|
2389
2284
|
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2390
2285
|
}
|
|
2391
2286
|
|
|
2392
|
-
<span class="fstat-no" title="function not covered" >
|
|
2287
|
+
<span class="fstat-no" title="function not covered" > getForeachCode(</span>code: string): string {
|
|
2393
2288
|
// ForEachStatement 内部变量需要替换处理,如 item、index
|
|
2394
2289
|
const forEachStatement = <span class="cstat-no" title="statement not covered" >this.getAncestor('ForEachStatement') as ForEachStatement;</span>
|
|
2395
2290
|
<span class="cstat-no" title="statement not covered" > if (forEachStatement && code) {</span>
|
|
2396
2291
|
<span class="cstat-no" title="statement not covered" > code = code.replaceAll('\n', ' ');</span>
|
|
2397
|
-
<span class="cstat-no" title="statement not covered" > code =
|
|
2292
|
+
<span class="cstat-no" title="statement not covered" > code = new Logic().handleForEachCode(code, forEachStatement);</span>
|
|
2398
2293
|
}
|
|
2399
2294
|
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2400
2295
|
}
|
|
@@ -2416,7 +2311,7 @@ export default NewMap;
|
|
|
2416
2311
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
2417
2312
|
Code coverage generated by
|
|
2418
2313
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
2419
|
-
at 2023-
|
|
2314
|
+
at 2023-10-18T11:36:07.885Z
|
|
2420
2315
|
</div>
|
|
2421
2316
|
<script src="../../prettify.js"></script>
|
|
2422
2317
|
<script>
|