@lcap/nasl 1.0.0-alpha.7 → 1.0.0
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/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +513 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +363 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +20 -0
- package/out/common/BaseNode.js +219 -81
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +18 -1
- package/out/concepts/App__.js +75 -35
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +5 -1
- package/out/concepts/Argument__.js +21 -3
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +190 -0
- package/out/concepts/Assignee__.js +264 -0
- package/out/concepts/Assignee__.js.map +1 -0
- package/out/concepts/Assignment__.js +5 -0
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +8 -7
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +19 -0
- package/out/concepts/BindAttribute__.js +54 -9
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +22 -2
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -2
- package/out/concepts/BindEvent__.js +67 -34
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -0
- package/out/concepts/BooleanLiteral__.js +10 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +41 -23
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +5 -0
- package/out/concepts/CallInterface__.js +238 -31
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +4 -4
- package/out/concepts/CallLogic__.js +110 -53
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +7 -1
- package/out/concepts/CallQueryComponent__.js +44 -25
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js +6 -2
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -1
- package/out/concepts/CompletionProperty__.js +2 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +2 -2
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +2 -2
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +2 -2
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +14 -0
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +94 -18
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js +9 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +73 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +4 -1
- package/out/concepts/Entity__.js +37 -15
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +4 -0
- package/out/concepts/Enum__.js +18 -10
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +2 -2
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +9 -13
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +9 -9
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +76 -29
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js +4 -4
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +6 -4
- package/out/concepts/InterfaceParam__.js +52 -19
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +42 -30
- package/out/concepts/Interface__.js +131 -15
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +1 -0
- package/out/concepts/JSBlock__.js +3 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +14 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +16 -1
- package/out/concepts/Logic__.js +176 -33
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -12
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +28 -18
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +36 -25
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -0
- package/out/concepts/NullLiteral__.js +11 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +1 -1
- package/out/concepts/NumericLiteral__.js +17 -6
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +7 -3
- package/out/concepts/Param__.js +57 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +4 -4
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +112 -49
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -1
- package/out/concepts/Process__.js +77 -81
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +4 -4
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +3 -3
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +2 -2
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +67 -21
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +4 -0
- package/out/concepts/Role__.js +13 -4
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.js +2 -2
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +1 -1
- package/out/concepts/StringLiteral__.js +21 -31
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +5 -4
- package/out/concepts/StructureProperty__.js +55 -26
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +44 -30
- package/out/concepts/Structure__.js +42 -10
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +4 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js +2 -2
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +5 -5
- package/out/concepts/TypeAnnotation__.js +74 -20
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/UnaryExpression__.js +10 -8
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +48 -13
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +10 -1
- package/out/concepts/Variable__.js +70 -18
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +10 -10
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +299 -201
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +12 -13
- package/out/concepts/View__.js +106 -103
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +3 -3
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +4 -1
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
- package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
- package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +149 -13
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
- package/out/concepts/basics/types/coreTypeList.js +11 -10
- package/out/concepts/basics/types/coreTypeList.js.map +1 -1
- package/out/concepts/index__.d.ts +1 -0
- package/out/concepts/index__.js +1 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/config.d.ts +1 -2
- package/out/config.js +1 -2
- package/out/config.js.map +1 -1
- package/out/enums/KEYWORDS.d.ts +3 -0
- package/out/enums/KEYWORDS.js +1208 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
- package/out/enums/LEVEL_NAME_MAP.js +30 -0
- package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
- package/out/eventBus.d.ts +3 -0
- package/out/eventBus.js +7 -0
- package/out/eventBus.js.map +1 -0
- package/out/generator/genBundleFiles.d.ts +7 -2
- package/out/generator/genBundleFiles.js +168 -27
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +20 -20
- package/out/generator/genMetaData.js +50 -15
- package/out/generator/genMetaData.js.map +1 -1
- package/out/index.d.ts +2 -0
- package/out/index.js +2 -0
- package/out/index.js.map +1 -1
- package/out/manager/diagnostic.d.ts +1 -1
- package/out/server/createUiTs.d.ts +1 -0
- package/out/server/createUiTs.js +49 -5
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +38 -23
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.js +2 -0
- package/out/server/getExtensionModules.js.map +1 -1
- package/out/server/getFunctions.d.ts +1 -0
- package/out/server/getFunctions.js +7 -1
- package/out/server/getFunctions.js.map +1 -1
- package/out/server/getLogics.js +63 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +279 -36
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +6 -1
- package/out/server/getProcesses.js +243 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +11 -0
- package/out/server/getScope.js +45 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.js +4 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +30 -53
- package/out/server/naslServer.js +682 -363
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +10 -0
- package/out/server/process2LogicNamespace.js +29 -1
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.d.ts +22 -3
- package/out/server/translator.js +367 -123
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.d.ts +1 -0
- package/out/service/creator/add.configs.js +68 -0
- package/out/service/creator/add.configs.js.map +1 -0
- package/out/service/creator/errHandles.d.ts +18 -0
- package/out/service/creator/errHandles.js +60 -0
- package/out/service/creator/errHandles.js.map +1 -0
- package/out/service/creator/index.d.ts +1 -0
- package/out/service/creator/index.js +72 -0
- package/out/service/creator/index.js.map +1 -0
- package/out/service/storage/api.d.ts +18 -0
- package/out/service/storage/api.js +17 -0
- package/out/service/storage/api.js.map +1 -0
- package/out/service/storage/init.js +200 -37
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/service.d.ts +2 -0
- package/out/service/storage/service.js +10 -0
- package/out/service/storage/service.js.map +1 -0
- package/out/service/storage/storagePoint.d.ts +1 -14
- package/out/service/storage/storagePoint.js +16 -16
- package/out/service/storage/storagePoint.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +11 -11
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +5 -5
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genEnumSelectBlock.js +2 -2
- package/out/templator/genEnumSelectBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +5 -3
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.d.ts +3 -1
- package/out/templator/genGridViewBlock.js +61 -6
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.d.ts +2 -0
- package/out/templator/genQueryComponent.js +27 -14
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genTableBlock.d.ts +1 -1
- package/out/templator/genTableBlock.js +4 -5
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +9 -10
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +13 -4
- package/out/templator/utils.js +8 -4
- package/out/templator/utils.js.map +1 -1
- package/out/test/fixtures/env.js +0 -1
- package/out/test/fixtures/env.js.map +1 -1
- package/out/test/units/page/Element.spec.js +3 -3
- package/out/test/units/page/Element.spec.js.map +1 -1
- package/out/test/units/temp/temp.spec.js +1 -1
- package/out/test/units/temp/temp.spec.js.map +1 -1
- package/out/utils/index.d.ts +6 -0
- package/out/utils/index.js +20 -1
- package/out/utils/index.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +118 -38
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +229 -81
- package/src/concepts/App__.ts +77 -37
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +437 -0
- package/src/concepts/Assignment__.ts +4 -1
- package/src/concepts/BinaryExpression__.ts +9 -7
- package/src/concepts/BindAttribute__.ts +68 -8
- package/src/concepts/BindDirective__.ts +21 -2
- package/src/concepts/BindEvent__.ts +67 -35
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +42 -25
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +114 -86
- package/src/concepts/CallQueryComponent__.ts +35 -20
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +2 -2
- package/src/concepts/ConfigProperty__.ts +2 -2
- package/src/concepts/Configuration__.ts +2 -2
- package/src/concepts/Constant__.ts +12 -0
- package/src/concepts/Destination__.ts +92 -20
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +69 -5
- package/src/concepts/Entity__.ts +40 -23
- package/src/concepts/Enum__.ts +16 -11
- package/src/concepts/Event__.ts +2 -2
- package/src/concepts/ForEachStatement__.ts +14 -19
- package/src/concepts/Function__.ts +9 -9
- package/src/concepts/Identifier__.ts +82 -33
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +51 -21
- package/src/concepts/Interface__.ts +166 -46
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +183 -36
- package/src/concepts/MemberExpression__.ts +57 -13
- package/src/concepts/Module__.ts +176 -140
- package/src/concepts/Namespace__.ts +37 -25
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +58 -30
- package/src/concepts/ProcessComponent__.ts +4 -4
- package/src/concepts/ProcessElement__.ts +138 -39
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +81 -94
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryJoinExpression__.ts +4 -4
- package/src/concepts/QueryLimitExpression__.ts +3 -12
- package/src/concepts/QuerySelectExpression__.ts +2 -2
- package/src/concepts/Return__.ts +62 -23
- package/src/concepts/Role__.ts +11 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -25
- package/src/concepts/Structure__.ts +75 -41
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +71 -18
- package/src/concepts/UnaryExpression__.ts +10 -8
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +44 -14
- package/src/concepts/Variable__.ts +69 -19
- package/src/concepts/ViewComponent__.ts +10 -10
- package/src/concepts/ViewElement__.ts +297 -199
- package/src/concepts/View__.ts +114 -107
- package/src/concepts/WhileStatement__.ts +4 -4
- package/src/concepts/basics/stdlib/index.ts +4 -2
- package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
- package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
- package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/types/coreTypeList.ts +11 -10
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1206 -0
- package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
- package/src/eventBus.ts +5 -0
- package/src/generator/genBundleFiles.ts +192 -40
- package/src/generator/genMetaData.ts +72 -21
- package/src/index.ts +2 -0
- package/src/manager/diagnostic.ts +1 -1
- package/src/server/createUiTs.ts +50 -8
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +66 -19
- package/src/server/getMemberIdentifier.ts +276 -39
- package/src/server/getProcesses.ts +248 -4
- package/src/server/getScope.ts +50 -0
- package/src/server/index.ts +12 -1
- package/src/server/naslServer.ts +689 -389
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +423 -128
- package/src/service/config/index.js +1 -1
- package/src/service/creator/errHandles.js +5 -2
- package/src/service/creator/index.js +0 -6
- package/src/service/storage/api.js +14 -0
- package/src/service/storage/init.ts +204 -47
- package/src/service/storage/service.ts +6 -0
- package/src/service/storage/storagePoint.ts +16 -16
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
- package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
- package/src/templator/genEditTableBlock.ts +5 -5
- package/src/templator/genEnumSelectBlock.ts +2 -2
- package/src/templator/genGetBlock.ts +6 -8
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +39 -28
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +9 -11
- package/src/templator/utils.ts +9 -6
- package/src/test/fixtures/env.ts +0 -2
- package/src/test/units/page/Element.spec.ts +3 -3
- package/src/test/units/temp/temp.spec.ts +1 -1
- package/src/utils/index.ts +19 -0
- package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
- package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
- package/out/data/Module.d.ts +0 -34
- package/out/data/Module.js +0 -53
- package/out/data/Module.js.map +0 -1
- package/src/automate/engine/index.d.ts +0 -3
|
@@ -2,6 +2,8 @@ import { TranslatorState, shiftState, withSourceMap } from '../translator';
|
|
|
2
2
|
import Logic from './Logic__';
|
|
3
3
|
import Param from './Param__';
|
|
4
4
|
import { ElementToVueOptions } from './ViewElement__';
|
|
5
|
+
import { getNodeByNodeCallee } from '../automate/engine/utils';
|
|
6
|
+
|
|
5
7
|
//================================================================================
|
|
6
8
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
7
9
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -64,8 +66,6 @@ export class CallLogic extends LogicItem {
|
|
|
64
66
|
@property('Argument')
|
|
65
67
|
arguments: Array<Argument> = [];
|
|
66
68
|
|
|
67
|
-
|
|
68
|
-
|
|
69
69
|
/**
|
|
70
70
|
* @param source 需要合并的部分参数
|
|
71
71
|
*/
|
|
@@ -79,13 +79,6 @@ export class CallLogic extends LogicItem {
|
|
|
79
79
|
return super.from(source, parentNode, parentKey) as CallLogic;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
82
|
/**
|
|
90
83
|
* 插入类型标注
|
|
91
84
|
* @internal
|
|
@@ -105,7 +98,7 @@ export class CallLogic extends LogicItem {
|
|
|
105
98
|
const relationOptions = { parentNode: this, parentKey: 'typeArguments' };
|
|
106
99
|
let typeAnnotation: TypeAnnotation;
|
|
107
100
|
if (options instanceof TypeAnnotation) {
|
|
108
|
-
options.
|
|
101
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
109
102
|
typeAnnotation = options;
|
|
110
103
|
Object.assign(typeAnnotation, relationOptions);
|
|
111
104
|
} else {
|
|
@@ -118,8 +111,6 @@ export class CallLogic extends LogicItem {
|
|
|
118
111
|
return typeAnnotation;
|
|
119
112
|
}
|
|
120
113
|
|
|
121
|
-
|
|
122
|
-
|
|
123
114
|
/**
|
|
124
115
|
* 插入类型标注
|
|
125
116
|
* @param typeAnnotationOptions 类型标注参数
|
|
@@ -142,8 +133,6 @@ export class CallLogic extends LogicItem {
|
|
|
142
133
|
return node;
|
|
143
134
|
}
|
|
144
135
|
|
|
145
|
-
|
|
146
|
-
|
|
147
136
|
/**
|
|
148
137
|
* 添加类型标注
|
|
149
138
|
* @internal
|
|
@@ -163,8 +152,6 @@ export class CallLogic extends LogicItem {
|
|
|
163
152
|
return this._insertTypeAnnotationAt(options as any, index);
|
|
164
153
|
}
|
|
165
154
|
|
|
166
|
-
|
|
167
|
-
|
|
168
155
|
/**
|
|
169
156
|
* 添加类型标注
|
|
170
157
|
* @param typeAnnotationOptions 类型标注参数
|
|
@@ -179,7 +166,7 @@ export class CallLogic extends LogicItem {
|
|
|
179
166
|
|
|
180
167
|
addTypeAnnotation(options?: Partial<TypeAnnotation> | TypeAnnotation) {
|
|
181
168
|
const node = this._addTypeAnnotation(options as any);
|
|
182
|
-
const index = this.typeArguments.
|
|
169
|
+
const index = this.typeArguments.indexOf(node);
|
|
183
170
|
node.create({
|
|
184
171
|
index,
|
|
185
172
|
parentNode: this,
|
|
@@ -188,11 +175,6 @@ export class CallLogic extends LogicItem {
|
|
|
188
175
|
return node;
|
|
189
176
|
}
|
|
190
177
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
178
|
/**
|
|
197
179
|
* 插入实际参数
|
|
198
180
|
* @internal
|
|
@@ -212,7 +194,7 @@ export class CallLogic extends LogicItem {
|
|
|
212
194
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
213
195
|
let argument: Argument;
|
|
214
196
|
if (options instanceof Argument) {
|
|
215
|
-
options.
|
|
197
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
216
198
|
argument = options;
|
|
217
199
|
Object.assign(argument, relationOptions);
|
|
218
200
|
} else {
|
|
@@ -225,8 +207,6 @@ export class CallLogic extends LogicItem {
|
|
|
225
207
|
return argument;
|
|
226
208
|
}
|
|
227
209
|
|
|
228
|
-
|
|
229
|
-
|
|
230
210
|
/**
|
|
231
211
|
* 插入实际参数
|
|
232
212
|
* @param argumentOptions 实际参数参数
|
|
@@ -249,8 +229,6 @@ export class CallLogic extends LogicItem {
|
|
|
249
229
|
return node;
|
|
250
230
|
}
|
|
251
231
|
|
|
252
|
-
|
|
253
|
-
|
|
254
232
|
/**
|
|
255
233
|
* 添加实际参数
|
|
256
234
|
* @internal
|
|
@@ -270,8 +248,6 @@ export class CallLogic extends LogicItem {
|
|
|
270
248
|
return this._insertArgumentAt(options as any, index);
|
|
271
249
|
}
|
|
272
250
|
|
|
273
|
-
|
|
274
|
-
|
|
275
251
|
/**
|
|
276
252
|
* 添加实际参数
|
|
277
253
|
* @param argumentOptions 实际参数参数
|
|
@@ -286,7 +262,7 @@ export class CallLogic extends LogicItem {
|
|
|
286
262
|
|
|
287
263
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
288
264
|
const node = this._addArgument(options as any);
|
|
289
|
-
const index = this.arguments.
|
|
265
|
+
const index = this.arguments.indexOf(node);
|
|
290
266
|
node.create({
|
|
291
267
|
index,
|
|
292
268
|
parentNode: this,
|
|
@@ -295,9 +271,6 @@ export class CallLogic extends LogicItem {
|
|
|
295
271
|
return node;
|
|
296
272
|
}
|
|
297
273
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
274
|
/**
|
|
302
275
|
* 删除类型标注
|
|
303
276
|
* @param typeAnnotation 已有的类型标注实例
|
|
@@ -305,7 +278,7 @@ export class CallLogic extends LogicItem {
|
|
|
305
278
|
removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
|
|
306
279
|
|
|
307
280
|
removeTypeAnnotation(options: TypeAnnotation) {
|
|
308
|
-
|
|
281
|
+
const typeAnnotation: TypeAnnotation = options;
|
|
309
282
|
return typeAnnotation.delete();
|
|
310
283
|
}
|
|
311
284
|
|
|
@@ -332,8 +305,6 @@ export class CallLogic extends LogicItem {
|
|
|
332
305
|
return params;
|
|
333
306
|
}
|
|
334
307
|
|
|
335
|
-
|
|
336
|
-
|
|
337
308
|
/**
|
|
338
309
|
* 删除实际参数
|
|
339
310
|
* @param argument 已有的实际参数实例
|
|
@@ -341,7 +312,7 @@ export class CallLogic extends LogicItem {
|
|
|
341
312
|
removeArgument(argument: Argument): void;
|
|
342
313
|
|
|
343
314
|
removeArgument(options: Argument) {
|
|
344
|
-
|
|
315
|
+
const argument: Argument = options;
|
|
345
316
|
return argument.delete();
|
|
346
317
|
}
|
|
347
318
|
|
|
@@ -382,11 +353,16 @@ export class CallLogic extends LogicItem {
|
|
|
382
353
|
}
|
|
383
354
|
return '';
|
|
384
355
|
}
|
|
356
|
+
|
|
357
|
+
// 用于logic回填
|
|
358
|
+
get calleewholeKey(): string {
|
|
359
|
+
return this.calleeNamespace + '.' + this.calleeName;
|
|
360
|
+
}
|
|
385
361
|
get calleeKey(): string {
|
|
386
362
|
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
387
363
|
const calleeName = this.calleeName;
|
|
388
364
|
if (!tsCalleeNamespace) {
|
|
389
|
-
return calleeName ?
|
|
365
|
+
return calleeName ? `${calleeName}` : '__IDENTIFIER__';
|
|
390
366
|
}
|
|
391
367
|
// elements单独处理相对路径,和后缀的问题
|
|
392
368
|
if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
|
|
@@ -397,10 +373,11 @@ export class CallLogic extends LogicItem {
|
|
|
397
373
|
}
|
|
398
374
|
|
|
399
375
|
/**
|
|
400
|
-
* 设置
|
|
376
|
+
* 设置argment 触发别的地方的更新
|
|
401
377
|
*/
|
|
402
|
-
setArgumentName({ argument
|
|
403
|
-
argument.setKeyword(newKeyword);
|
|
378
|
+
setArgumentName({ argument }: { argument: Argument[] }) {
|
|
379
|
+
// argument.setKeyword(newKeyword);
|
|
380
|
+
// this.arguments = argument;
|
|
404
381
|
}
|
|
405
382
|
|
|
406
383
|
/**
|
|
@@ -451,6 +428,7 @@ export class CallLogic extends LogicItem {
|
|
|
451
428
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
452
429
|
const argument = Argument.from({
|
|
453
430
|
keyword: param.name,
|
|
431
|
+
expression: param.defaultExpression,
|
|
454
432
|
}, this);
|
|
455
433
|
Object.assign(argument, relationOptions);
|
|
456
434
|
return argument;
|
|
@@ -518,11 +496,15 @@ export class CallLogic extends LogicItem {
|
|
|
518
496
|
}
|
|
519
497
|
|
|
520
498
|
toVue(options?: ElementToVueOptions): string {
|
|
521
|
-
let code =
|
|
499
|
+
let code = '';
|
|
500
|
+
if (this.calleeNamespace === 'nasl.browser' || this.calleeNamespace === 'nasl.auth' || this.calleeNamespace === 'nasl.configuration') {
|
|
501
|
+
code += '$global.';
|
|
502
|
+
}
|
|
503
|
+
code += this.calleeName;
|
|
522
504
|
code += '(';
|
|
523
|
-
this.arguments
|
|
524
|
-
code += arg
|
|
525
|
-
if (index !== this.arguments
|
|
505
|
+
this.arguments?.forEach((arg, index) => {
|
|
506
|
+
code += arg?.toVue(options);
|
|
507
|
+
if (index !== this.arguments?.length - 1)
|
|
526
508
|
code += ', ';
|
|
527
509
|
});
|
|
528
510
|
code += ')';
|
|
@@ -532,9 +514,9 @@ export class CallLogic extends LogicItem {
|
|
|
532
514
|
toUI(state?: TranslatorState): string {
|
|
533
515
|
let code = this.calleeName;
|
|
534
516
|
code += '(';
|
|
535
|
-
this.arguments
|
|
536
|
-
code += arg
|
|
537
|
-
if (index !== this.arguments
|
|
517
|
+
this.arguments?.forEach((arg, index) => {
|
|
518
|
+
code += arg?.toUI();
|
|
519
|
+
if (index !== this.arguments?.length - 1)
|
|
538
520
|
code += ', ';
|
|
539
521
|
});
|
|
540
522
|
code += ')';
|
|
@@ -550,12 +532,15 @@ export class CallLogic extends LogicItem {
|
|
|
550
532
|
let isComponentLogic = false;
|
|
551
533
|
let componentName = '';
|
|
552
534
|
const calleeNamespace = this.calleeNamespace;
|
|
535
|
+
const isProcessLogic = this.calleeNamespace?.startsWith('app.processes');
|
|
536
|
+
|
|
553
537
|
// calleeNamespace不存在,一定是页面逻辑
|
|
554
538
|
if (calleeNamespace) {
|
|
555
539
|
const namespaceArr = calleeNamespace.split('.');
|
|
556
540
|
const start = namespaceArr.shift();
|
|
557
|
-
if (start === 'app') {
|
|
558
|
-
const
|
|
541
|
+
if (start === 'app' || start === 'extensions') {
|
|
542
|
+
const mod = start === 'app' ? 0 : 1;
|
|
543
|
+
const keywordViews = namespaceArr.filter((namespaceItem, index) => index % 2 === mod).find((namespaceItem) => namespaceItem === 'views');
|
|
559
544
|
if (!keywordViews) {
|
|
560
545
|
isViewLogic = false;
|
|
561
546
|
}
|
|
@@ -566,15 +551,23 @@ export class CallLogic extends LogicItem {
|
|
|
566
551
|
}
|
|
567
552
|
// 全局逻辑
|
|
568
553
|
if (!isViewLogic) {
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
554
|
+
const namespaceArr = calleeNamespace?.split('.');
|
|
555
|
+
const logic = getNodeByNodeCallee(this.app, this.calleewholeKey, (key: string, tempPoint: any) => {
|
|
556
|
+
// 处理 NASL 中未定义的假的节点
|
|
557
|
+
if (key === tempPoint.name) {
|
|
558
|
+
return {
|
|
559
|
+
tempPoint,
|
|
560
|
+
state: 1,
|
|
561
|
+
};
|
|
562
|
+
}
|
|
563
|
+
const t = tempPoint[key];
|
|
564
|
+
return {
|
|
565
|
+
tempPoint: t,
|
|
566
|
+
state: Array.isArray(t) ? 2 : 1,
|
|
567
|
+
};
|
|
568
|
+
});
|
|
569
|
+
const args = logic?.params || [];
|
|
570
|
+
|
|
578
571
|
// 去掉app
|
|
579
572
|
namespaceArr.shift();
|
|
580
573
|
const keywordEntities = namespaceArr
|
|
@@ -585,43 +578,64 @@ export class CallLogic extends LogicItem {
|
|
|
585
578
|
.filter((namespaceItem, index) => index % 2 === 0)
|
|
586
579
|
.find((namespaceItem) => namespaceItem.key === 'entities');
|
|
587
580
|
const entityName = namespaceArr[keywordEntities?.index + 1];
|
|
581
|
+
code += `this.$logics['${this.calleeNamespace ? `${this.calleeNamespace}.${this.calleeName}` : this.calleeName}']`;
|
|
582
|
+
code += `({
|
|
583
|
+
config: {
|
|
584
|
+
download: false,
|
|
585
|
+
},
|
|
586
|
+
query: {`;
|
|
587
|
+
if (isProcessLogic) {
|
|
588
|
+
const argsStr = args.map((arg: any, index: number) => {
|
|
589
|
+
const actualArg = this.arguments?.[index];
|
|
590
|
+
return {
|
|
591
|
+
keyword: arg?.name,
|
|
592
|
+
arg: actualArg,
|
|
593
|
+
};
|
|
594
|
+
}).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
|
|
595
|
+
code += argsStr;
|
|
596
|
+
}
|
|
597
|
+
code += `},
|
|
598
|
+
headers: {},
|
|
599
|
+
`;
|
|
588
600
|
|
|
589
601
|
if (entityName) {
|
|
590
602
|
let logicArgs = this.arguments;
|
|
591
603
|
switch (this.calleeName) {
|
|
592
604
|
case 'get':
|
|
593
605
|
case 'delete': {
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
}
|
|
602
|
-
});
|
|
603
|
-
code +=
|
|
604
|
-
if (idArgument) {
|
|
605
|
-
code += `\n${idArgument.keyword}: ${idArgument.toJS(shiftState(state, code))}`;
|
|
606
|
-
}
|
|
606
|
+
logicArgs = [];
|
|
607
|
+
code += `query: {`;
|
|
608
|
+
const argsStr = args.map((arg: any, index: number) => {
|
|
609
|
+
const actualArg = this.arguments?.[index];
|
|
610
|
+
return {
|
|
611
|
+
keyword: arg?.name,
|
|
612
|
+
arg: actualArg,
|
|
613
|
+
};
|
|
614
|
+
}).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
|
|
615
|
+
code += argsStr;
|
|
607
616
|
code += `},\n`;
|
|
608
617
|
break;
|
|
609
618
|
}
|
|
610
619
|
}
|
|
611
620
|
const bodyArgument = logicArgs.find((arg) => arg.keyword === 'body');
|
|
612
621
|
if (bodyArgument) {
|
|
613
|
-
code += `\n${bodyArgument
|
|
622
|
+
code += `\n${bodyArgument?.keyword}: ${bodyArgument?.toJS(shiftState(state, code))}`;
|
|
614
623
|
} else {
|
|
615
624
|
code += `body: {}`;
|
|
616
625
|
}
|
|
617
626
|
} else {
|
|
618
627
|
code += `path: {},
|
|
619
628
|
body: {`;
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
629
|
+
if (!isProcessLogic) {
|
|
630
|
+
const argsStr = args.map((arg: any, index: number) => {
|
|
631
|
+
const actualArg = this.arguments?.[index];
|
|
632
|
+
return {
|
|
633
|
+
keyword: arg?.name,
|
|
634
|
+
arg: actualArg,
|
|
635
|
+
};
|
|
636
|
+
}).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
|
|
637
|
+
code += argsStr;
|
|
638
|
+
}
|
|
625
639
|
code += '\n}';
|
|
626
640
|
}
|
|
627
641
|
code += '\n})';
|
|
@@ -643,15 +657,18 @@ export class CallLogic extends LogicItem {
|
|
|
643
657
|
code += `JSON.parse`;
|
|
644
658
|
break;
|
|
645
659
|
}
|
|
660
|
+
} else if (calleeNamespace === 'nasl.browser' || calleeNamespace === 'nasl.auth' || calleeNamespace === 'nasl.configuration') {
|
|
661
|
+
code += `this.$global.${this.calleeName}`;
|
|
646
662
|
} else {
|
|
647
663
|
code += `this.${this.calleeName}`;
|
|
648
664
|
}
|
|
649
665
|
code += '(';
|
|
650
|
-
this.arguments
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
666
|
+
this.arguments?.filter((arg) => arg?.expression)
|
|
667
|
+
.forEach((arg, index) => {
|
|
668
|
+
code += arg?.toJS(shiftState(state, code));
|
|
669
|
+
if (index !== this.arguments?.length - 1)
|
|
670
|
+
code += ', ';
|
|
671
|
+
});
|
|
655
672
|
code += ')';
|
|
656
673
|
}
|
|
657
674
|
return code;
|
|
@@ -660,14 +677,25 @@ export class CallLogic extends LogicItem {
|
|
|
660
677
|
@withSourceMap()
|
|
661
678
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
662
679
|
let code = this.calleeKey;
|
|
680
|
+
if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
|
|
681
|
+
// 如果有内容
|
|
682
|
+
const typeAnnotation = this.typeArguments[0];
|
|
683
|
+
code += `<`;
|
|
684
|
+
code += `${typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}>`;
|
|
685
|
+
}
|
|
663
686
|
code += '(';
|
|
664
687
|
this.arguments.forEach((arg, index) => {
|
|
665
|
-
|
|
688
|
+
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
689
|
+
// 页面逻辑先都非必填
|
|
690
|
+
if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
|
|
691
|
+
code += arg.toEmbeddedTS(shiftState(state, code), false);
|
|
692
|
+
} else {
|
|
693
|
+
code += arg.toEmbeddedTS(shiftState(state, code));
|
|
694
|
+
}
|
|
666
695
|
if (index !== this.arguments.length - 1)
|
|
667
696
|
code += ', ';
|
|
668
697
|
});
|
|
669
698
|
code += ');\n';
|
|
670
|
-
|
|
671
699
|
return code;
|
|
672
700
|
}
|
|
673
701
|
|
|
@@ -677,7 +705,7 @@ export class CallLogic extends LogicItem {
|
|
|
677
705
|
//================================================================================
|
|
678
706
|
}
|
|
679
707
|
|
|
680
|
-
classMap
|
|
708
|
+
classMap.CallLogic = CallLogic;
|
|
681
709
|
export default CallLogic;
|
|
682
710
|
//================================================================================
|
|
683
711
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
@@ -82,6 +82,12 @@ export class CallQueryComponent extends LogicItem {
|
|
|
82
82
|
@property('QueryLimitExpression')
|
|
83
83
|
limit: QueryLimitExpression = undefined;
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* 查询组件的局部版本
|
|
87
|
+
*/
|
|
88
|
+
@property()
|
|
89
|
+
ideVersion: string = undefined;
|
|
90
|
+
|
|
85
91
|
|
|
86
92
|
|
|
87
93
|
/**
|
|
@@ -241,7 +247,7 @@ export class CallQueryComponent extends LogicItem {
|
|
|
241
247
|
name: options,
|
|
242
248
|
}, this, 'groupBy');
|
|
243
249
|
} else if (options instanceof QueryGroupByExpression) {
|
|
244
|
-
options.
|
|
250
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
245
251
|
queryGroupByExpression = options;
|
|
246
252
|
Object.assign(queryGroupByExpression, relationOptions);
|
|
247
253
|
} else {
|
|
@@ -329,7 +335,7 @@ export class CallQueryComponent extends LogicItem {
|
|
|
329
335
|
|
|
330
336
|
addQueryGroupByExpressionInGroupBy(options?: string | Partial<QueryGroupByExpression> | QueryGroupByExpression) {
|
|
331
337
|
const node = this._addQueryGroupByExpressionInGroupBy(options as any);
|
|
332
|
-
const index = this.groupBy.
|
|
338
|
+
const index = this.groupBy.indexOf(node);
|
|
333
339
|
node.create({
|
|
334
340
|
index,
|
|
335
341
|
parentNode: this,
|
|
@@ -359,7 +365,7 @@ export class CallQueryComponent extends LogicItem {
|
|
|
359
365
|
const relationOptions = { parentNode: this, parentKey: 'orderBy' };
|
|
360
366
|
let queryOrderByExpression: QueryOrderByExpression;
|
|
361
367
|
if (options instanceof QueryOrderByExpression) {
|
|
362
|
-
options.
|
|
368
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
363
369
|
queryOrderByExpression = options;
|
|
364
370
|
Object.assign(queryOrderByExpression, relationOptions);
|
|
365
371
|
} else {
|
|
@@ -433,7 +439,7 @@ export class CallQueryComponent extends LogicItem {
|
|
|
433
439
|
|
|
434
440
|
addQueryOrderByExpressionInOrderBy(options?: Partial<QueryOrderByExpression> | QueryOrderByExpression) {
|
|
435
441
|
const node = this._addQueryOrderByExpressionInOrderBy(options as any);
|
|
436
|
-
const index = this.orderBy.
|
|
442
|
+
const index = this.orderBy.indexOf(node);
|
|
437
443
|
node.create({
|
|
438
444
|
index,
|
|
439
445
|
parentNode: this,
|
|
@@ -784,7 +790,7 @@ export class CallQueryComponent extends LogicItem {
|
|
|
784
790
|
code += indent(state.tabSize + 1);
|
|
785
791
|
const { asName, aggregateName, aggregateParam } = item;
|
|
786
792
|
if (asName)
|
|
787
|
-
code += `const ${asName} = `;
|
|
793
|
+
code += `const __${asName} = `;
|
|
788
794
|
if (aggregateName) {
|
|
789
795
|
code += `nasl.langUtil.${aggregateName}(`;
|
|
790
796
|
code += aggregateParam.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
@@ -901,20 +907,23 @@ export class CallQueryComponent extends LogicItem {
|
|
|
901
907
|
return Structure.from({
|
|
902
908
|
concept: 'Structure',
|
|
903
909
|
name: structureName,
|
|
910
|
+
origin: 'CallQueryComponent',
|
|
904
911
|
properties: [...genPropertyListOfFrom(this.from), ...genPropertyListOfAggregate(this)],
|
|
905
912
|
});
|
|
906
913
|
}
|
|
907
914
|
|
|
908
915
|
saveStructure() {
|
|
909
916
|
const source = this.genStructure();
|
|
917
|
+
// console.log(source);
|
|
910
918
|
if (this.typeAnnotation) {
|
|
911
919
|
const structure = this.app.structures.find((item) => item.name === this.typeAnnotation.typeName);
|
|
912
920
|
if (structure) {
|
|
913
|
-
const properties = source.properties.map((property) => StructureProperty.from(property, structure));
|
|
921
|
+
const properties = source.properties.map((property) => StructureProperty.from(property, structure, 'properties'));
|
|
914
922
|
structure.update({
|
|
915
923
|
properties,
|
|
916
924
|
});
|
|
917
|
-
}
|
|
925
|
+
} else
|
|
926
|
+
this.app.addStructure(source);
|
|
918
927
|
} else {
|
|
919
928
|
source.name = utils.unique(source.name, this.app.getStructureExistingNames());
|
|
920
929
|
this.app.addStructure(source);
|
|
@@ -922,8 +931,8 @@ export class CallQueryComponent extends LogicItem {
|
|
|
922
931
|
concept: 'TypeAnnotation',
|
|
923
932
|
typeKind: 'reference',
|
|
924
933
|
typeName: source.name,
|
|
925
|
-
typeNamespace: `app
|
|
926
|
-
}, this);
|
|
934
|
+
typeNamespace: `app.structures`,
|
|
935
|
+
}, this, 'typeAnnotation');
|
|
927
936
|
this.update({
|
|
928
937
|
typeAnnotation,
|
|
929
938
|
});
|
|
@@ -936,11 +945,6 @@ export class CallQueryComponent extends LogicItem {
|
|
|
936
945
|
} catch {}
|
|
937
946
|
}
|
|
938
947
|
|
|
939
|
-
delete() {
|
|
940
|
-
this.removeStructure();
|
|
941
|
-
super.delete();
|
|
942
|
-
}
|
|
943
|
-
|
|
944
948
|
getEntityNames(node: QueryFromExpression | QueryJoinExpression, set = new Set()) {
|
|
945
949
|
if (node?.entityName)
|
|
946
950
|
set.add(node.entityName);
|
|
@@ -963,8 +967,8 @@ export class CallQueryComponent extends LogicItem {
|
|
|
963
967
|
.map((entity) => ({
|
|
964
968
|
concept: 'Entity',
|
|
965
969
|
name: entity.name,
|
|
966
|
-
children: entity.properties.map((property) =>
|
|
967
|
-
new CompletionProperty({
|
|
970
|
+
children: entity.properties.map((property) => {
|
|
971
|
+
const completionProperty = new CompletionProperty({
|
|
968
972
|
concept: 'CompletionProperty',
|
|
969
973
|
name: property.name,
|
|
970
974
|
value: `${entity.name}.${property.name}`,
|
|
@@ -975,12 +979,19 @@ export class CallQueryComponent extends LogicItem {
|
|
|
975
979
|
entityAsName: entity.name,
|
|
976
980
|
propertyName: property.name,
|
|
977
981
|
}),
|
|
978
|
-
})
|
|
982
|
+
});
|
|
983
|
+
completionProperty.icon = 'property';
|
|
984
|
+
return completionProperty;
|
|
985
|
+
}),
|
|
979
986
|
}));
|
|
980
987
|
if (children.length === 0)
|
|
981
988
|
return;
|
|
982
989
|
|
|
983
|
-
return {
|
|
990
|
+
return {
|
|
991
|
+
name: '实体',
|
|
992
|
+
icon: 'category',
|
|
993
|
+
children,
|
|
994
|
+
};
|
|
984
995
|
}
|
|
985
996
|
|
|
986
997
|
getCompletionPropertyOfAggregateAsNames() {
|
|
@@ -990,16 +1001,20 @@ export class CallQueryComponent extends LogicItem {
|
|
|
990
1001
|
new CompletionProperty({
|
|
991
1002
|
concept: 'CompletionProperty',
|
|
992
1003
|
name: item.asName,
|
|
993
|
-
value: item.asName
|
|
1004
|
+
value: `inner.${item.asName}`,
|
|
994
1005
|
expression: LogicItem.from({
|
|
995
1006
|
concept: 'Identifier',
|
|
996
1007
|
name: item.asName,
|
|
1008
|
+
namespace: 'inner',
|
|
997
1009
|
}),
|
|
998
1010
|
}));
|
|
999
1011
|
if (!children || children.length === 0)
|
|
1000
1012
|
return;
|
|
1001
1013
|
|
|
1002
|
-
|
|
1014
|
+
children.forEach((item) => {
|
|
1015
|
+
item.icon = 'variable';
|
|
1016
|
+
});
|
|
1017
|
+
return { name: '聚合属性别名', icon: 'category', children, expanded: true };
|
|
1003
1018
|
}
|
|
1004
1019
|
|
|
1005
1020
|
//================================================================================
|
|
@@ -67,7 +67,7 @@ export class Comment extends LogicItem {
|
|
|
67
67
|
//================================================================================
|
|
68
68
|
|
|
69
69
|
toJS(state?: TranslatorState): string {
|
|
70
|
-
return
|
|
70
|
+
return `/* ${this.value} */`;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
public static getDefaultOptions() {
|
|
@@ -79,7 +79,11 @@ export class Comment extends LogicItem {
|
|
|
79
79
|
@withSourceMap()
|
|
80
80
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
81
81
|
let code = '';
|
|
82
|
-
code += `\n${indent(state.tabSize)}
|
|
82
|
+
code += `\n${indent(state.tabSize)}
|
|
83
|
+
/**
|
|
84
|
+
* 注释不用翻译
|
|
85
|
+
*/
|
|
86
|
+
\n`;
|
|
83
87
|
return code;
|
|
84
88
|
}
|
|
85
89
|
//================================================================================
|
|
@@ -224,7 +224,7 @@ export class CompletionProperty extends BaseNode {
|
|
|
224
224
|
* 子集
|
|
225
225
|
*/
|
|
226
226
|
@property()
|
|
227
|
-
children: Array<
|
|
227
|
+
children: Array<CompletionProperty> = undefined;
|
|
228
228
|
|
|
229
229
|
/**
|
|
230
230
|
* 表达式
|
|
@@ -236,6 +236,10 @@ export class CompletionProperty extends BaseNode {
|
|
|
236
236
|
* 用于展示图标
|
|
237
237
|
*/
|
|
238
238
|
icon: string = undefined;
|
|
239
|
+
|
|
240
|
+
isProcess: boolean = false;
|
|
241
|
+
|
|
242
|
+
noFurther: boolean = false;
|
|
239
243
|
//================================================================================
|
|
240
244
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
241
245
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -123,7 +123,7 @@ export class ConfigGroup extends BaseNode {
|
|
|
123
123
|
name: options,
|
|
124
124
|
}, this, 'properties');
|
|
125
125
|
} else if (options instanceof ConfigProperty) {
|
|
126
|
-
options.
|
|
126
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
127
127
|
configProperty = options;
|
|
128
128
|
Object.assign(configProperty, relationOptions);
|
|
129
129
|
} else {
|
|
@@ -211,7 +211,7 @@ export class ConfigGroup extends BaseNode {
|
|
|
211
211
|
|
|
212
212
|
addConfigProperty(options?: string | Partial<ConfigProperty> | ConfigProperty) {
|
|
213
213
|
const node = this._addConfigProperty(options as any);
|
|
214
|
-
const index = this.properties.
|
|
214
|
+
const index = this.properties.indexOf(node);
|
|
215
215
|
node.create({
|
|
216
216
|
index,
|
|
217
217
|
parentNode: this,
|
|
@@ -129,7 +129,7 @@ export class ConfigProperty extends BaseNode {
|
|
|
129
129
|
name: options,
|
|
130
130
|
}, this, 'values');
|
|
131
131
|
} else if (options instanceof ConfigPropertyValue) {
|
|
132
|
-
options.
|
|
132
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
133
133
|
configPropertyValue = options;
|
|
134
134
|
Object.assign(configPropertyValue, relationOptions);
|
|
135
135
|
} else {
|
|
@@ -217,7 +217,7 @@ export class ConfigProperty extends BaseNode {
|
|
|
217
217
|
|
|
218
218
|
addConfigPropertyValue(options?: string | Partial<ConfigPropertyValue> | ConfigPropertyValue) {
|
|
219
219
|
const node = this._addConfigPropertyValue(options as any);
|
|
220
|
-
const index = this.values.
|
|
220
|
+
const index = this.values.indexOf(node);
|
|
221
221
|
node.create({
|
|
222
222
|
index,
|
|
223
223
|
parentNode: this,
|