@lcap/nasl 1.0.0-alpha.9 → 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 +116 -39
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +215 -71
- 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 -23
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +38 -21
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +114 -86
- package/src/concepts/CallQueryComponent__.ts +23 -15
- 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 +101 -17
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +58 -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 +83 -32
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +52 -16
- package/src/concepts/Interface__.ts +128 -14
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +173 -35
- package/src/concepts/MemberExpression__.ts +58 -14
- package/src/concepts/Module__.ts +27 -16
- 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 +56 -15
- 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 -15
- package/src/concepts/Role__.ts +5 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -18
- package/src/concepts/Structure__.ts +30 -8
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +58 -15
- 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 +63 -14
- package/src/concepts/ViewComponent__.ts +10 -10
- package/src/concepts/ViewElement__.ts +285 -162
- package/src/concepts/View__.ts +116 -70
- 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 -11
- 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 +182 -30
- 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 +45 -7
- 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 +233 -63
- 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 +685 -387
- 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 +198 -45
- 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
|
@@ -35,8 +35,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
35
35
|
@property('LogicItem')
|
|
36
36
|
pageSizeElement: LogicItem = undefined;
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
38
|
/**
|
|
41
39
|
* @param source 需要合并的部分参数
|
|
42
40
|
*/
|
|
@@ -50,7 +48,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
50
48
|
return super.from(source, parentNode, parentKey) as QueryLimitExpression;
|
|
51
49
|
}
|
|
52
50
|
|
|
53
|
-
|
|
54
51
|
/**
|
|
55
52
|
* 设置逻辑项
|
|
56
53
|
*/
|
|
@@ -81,10 +78,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
81
78
|
});
|
|
82
79
|
}
|
|
83
80
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
81
|
/**
|
|
89
82
|
* 删除逻辑项
|
|
90
83
|
* @param name 逻辑项名称
|
|
@@ -110,8 +103,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
110
103
|
return pageElement.delete();
|
|
111
104
|
}
|
|
112
105
|
|
|
113
|
-
|
|
114
|
-
|
|
115
106
|
/**
|
|
116
107
|
* 删除逻辑项
|
|
117
108
|
* @param name 逻辑项名称
|
|
@@ -168,8 +159,8 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
168
159
|
@withSourceMap()
|
|
169
160
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
170
161
|
const { pageElement, pageSizeElement } = this;
|
|
171
|
-
let code = '';
|
|
172
|
-
code +=
|
|
162
|
+
let code = '[';
|
|
163
|
+
code += `${pageElement.toEmbeddedTS(shiftState(state, code))}, `;
|
|
173
164
|
code += `${pageSizeElement.toEmbeddedTS(shiftState(state, code))}]`;
|
|
174
165
|
return code;
|
|
175
166
|
}
|
|
@@ -180,7 +171,7 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
180
171
|
//================================================================================
|
|
181
172
|
}
|
|
182
173
|
|
|
183
|
-
classMap
|
|
174
|
+
classMap.QueryLimitExpression = QueryLimitExpression;
|
|
184
175
|
export default QueryLimitExpression;
|
|
185
176
|
//================================================================================
|
|
186
177
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
@@ -113,7 +113,7 @@ export class QuerySelectExpression extends LogicItem {
|
|
|
113
113
|
name: options,
|
|
114
114
|
}, this, 'selectElements');
|
|
115
115
|
} else if (options instanceof QueryAggregateExpression) {
|
|
116
|
-
options.
|
|
116
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
117
117
|
queryAggregateExpression = options;
|
|
118
118
|
Object.assign(queryAggregateExpression, relationOptions);
|
|
119
119
|
} else {
|
|
@@ -201,7 +201,7 @@ export class QuerySelectExpression extends LogicItem {
|
|
|
201
201
|
|
|
202
202
|
addQueryAggregateExpression(options?: string | Partial<QueryAggregateExpression> | QueryAggregateExpression) {
|
|
203
203
|
const node = this._addQueryAggregateExpression(options as any);
|
|
204
|
-
const index = this.selectElements.
|
|
204
|
+
const index = this.selectElements.indexOf(node);
|
|
205
205
|
node.create({
|
|
206
206
|
index,
|
|
207
207
|
parentNode: this,
|
package/src/concepts/Return__.ts
CHANGED
|
@@ -5,7 +5,7 @@ import Entity from './Entity__';
|
|
|
5
5
|
import EntityProperty from './EntityProperty__';
|
|
6
6
|
import Structure from './Structure__';
|
|
7
7
|
import StructureProperty from './StructureProperty__';
|
|
8
|
-
import { getNodeByNodeCallee } from '
|
|
8
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
9
9
|
|
|
10
10
|
//================================================================================
|
|
11
11
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -234,13 +234,26 @@ export class Return extends BaseNode {
|
|
|
234
234
|
|
|
235
235
|
@withSourceMap()
|
|
236
236
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
237
|
-
let code = this.name;
|
|
237
|
+
let code = this.name || '__return';
|
|
238
238
|
if (this.typeAnnotation) {
|
|
239
239
|
code += ': ';
|
|
240
240
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
241
241
|
}
|
|
242
|
+
// if (this.defaultValue) {
|
|
243
|
+
// code += ` = ${this.defaultValue}`;
|
|
244
|
+
// }
|
|
245
|
+
return code;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
@withSourceMap()
|
|
249
|
+
toEmbeddedTSInProcess(state?: TranslatorState): string {
|
|
250
|
+
let code = this.name;
|
|
251
|
+
if (this.typeAnnotation) {
|
|
252
|
+
code += ': undefined as ';
|
|
253
|
+
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
254
|
+
}
|
|
242
255
|
if (this.defaultValue) {
|
|
243
|
-
code +=
|
|
256
|
+
code += `: ${this.defaultValue}`;
|
|
244
257
|
}
|
|
245
258
|
return code;
|
|
246
259
|
}
|
|
@@ -265,12 +278,17 @@ export class Return extends BaseNode {
|
|
|
265
278
|
if (!typeAnnotation)
|
|
266
279
|
throw new Error('找不到类型:' + typeAnnotation);
|
|
267
280
|
} else {
|
|
268
|
-
typeAnnotation._delete();
|
|
281
|
+
typeAnnotation._delete?.();
|
|
269
282
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
270
283
|
Object.assign(typeAnnotation, relationOptions);
|
|
271
284
|
}
|
|
272
285
|
// 处理下拉属性
|
|
273
|
-
|
|
286
|
+
try {
|
|
287
|
+
this.completionChildren = this.getSelectRef();
|
|
288
|
+
} catch (err) {
|
|
289
|
+
this.completionChildren = [];
|
|
290
|
+
console.log(err);
|
|
291
|
+
}
|
|
274
292
|
const object = {
|
|
275
293
|
typeAnnotation,
|
|
276
294
|
};
|
|
@@ -297,18 +315,47 @@ export class Return extends BaseNode {
|
|
|
297
315
|
get readonly() {
|
|
298
316
|
return !!this.module;
|
|
299
317
|
}
|
|
300
|
-
|
|
318
|
+
get hasChildren() {
|
|
319
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
320
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
321
|
+
if (typeNamespace.endsWith('.enums'))
|
|
322
|
+
return null;
|
|
323
|
+
return [{}];
|
|
324
|
+
}
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
get isTreeLeaf() {
|
|
328
|
+
return !this.hasChildren;
|
|
329
|
+
}
|
|
301
330
|
getSelectRef() {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
331
|
+
try {
|
|
332
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
333
|
+
let completionChildren;
|
|
334
|
+
if (typeKind === 'reference') {
|
|
335
|
+
if (typeNamespace === 'nasl.ui') {
|
|
336
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
337
|
+
const properties = node.properties || [];
|
|
338
|
+
completionChildren = properties;
|
|
339
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
340
|
+
completionChildren = undefined;
|
|
341
|
+
} else {
|
|
342
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
343
|
+
const properties = node.properties || [];
|
|
344
|
+
completionChildren = properties;
|
|
345
|
+
}
|
|
346
|
+
} else if (typeKind === 'generic') {
|
|
347
|
+
if (typeNamespace === 'nasl.collection') {
|
|
348
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
349
|
+
const properties = node.properties || [];
|
|
350
|
+
completionChildren = properties;
|
|
351
|
+
}
|
|
352
|
+
} else {
|
|
353
|
+
completionChildren = undefined;
|
|
354
|
+
}
|
|
355
|
+
return completionChildren;
|
|
356
|
+
} catch (err) {
|
|
357
|
+
console.log(err);
|
|
310
358
|
}
|
|
311
|
-
return completionChildren;
|
|
312
359
|
}
|
|
313
360
|
//================================================================================
|
|
314
361
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
package/src/concepts/Role__.ts
CHANGED
|
@@ -111,9 +111,6 @@ export class Role extends BaseNode {
|
|
|
111
111
|
|
|
112
112
|
get tsName() {
|
|
113
113
|
let tsName = this.name;
|
|
114
|
-
if (/^\d/.test(tsName)) {
|
|
115
|
-
tsName = '$' + tsName;
|
|
116
|
-
}
|
|
117
114
|
// 匹配所有特殊字符都转为_
|
|
118
115
|
tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
|
|
119
116
|
return tsName;
|
|
@@ -138,7 +135,11 @@ export class Role extends BaseNode {
|
|
|
138
135
|
let code = `namespace ${this.getNamespace()} {\n`;
|
|
139
136
|
|
|
140
137
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
141
|
-
|
|
138
|
+
try {
|
|
139
|
+
code += this.toEmbeddedTS(state);
|
|
140
|
+
} catch (err) {
|
|
141
|
+
code += '';
|
|
142
|
+
}
|
|
142
143
|
code += '}\n';
|
|
143
144
|
|
|
144
145
|
return {
|
|
@@ -128,8 +128,8 @@ export class SqlQueryComponent extends LogicItem {
|
|
|
128
128
|
//================================================================================
|
|
129
129
|
@withSourceMap()
|
|
130
130
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
131
|
-
let code = `(function(): nasl.collection.
|
|
132
|
-
code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): '
|
|
131
|
+
let code = `(function(): nasl.collection.List<`
|
|
132
|
+
code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): '__IDENTIFIER__'}> {\n`;
|
|
133
133
|
code += '\n';
|
|
134
134
|
code += indent(state.tabSize + 1) + 'return;\n';
|
|
135
135
|
code += indent(state.tabSize) + '})();\n';
|
|
@@ -58,53 +58,42 @@ export class StringLiteral extends LogicItem {
|
|
|
58
58
|
//================================================================================
|
|
59
59
|
toVue(options?: ElementToVueOptions): string {
|
|
60
60
|
let code = '';
|
|
61
|
-
if (this.value) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
if (typeof this.value === 'string') {
|
|
62
|
+
code = `'${this.value}'`;
|
|
63
|
+
if (options?.finalCode !== false) {
|
|
64
|
+
code = `'${this.value.replace(/['"`\\]/g, (m) => {
|
|
65
|
+
const escape = '\\\\';
|
|
66
|
+
if (m === '\\') {
|
|
67
|
+
return `${escape}${escape}`;
|
|
68
|
+
} else {
|
|
69
|
+
return `${escape}${m}`;
|
|
70
|
+
}
|
|
71
|
+
})}'`;
|
|
72
|
+
}
|
|
70
73
|
}
|
|
71
74
|
return code;
|
|
72
75
|
}
|
|
73
76
|
|
|
74
77
|
toUI(): string {
|
|
75
78
|
let code = '';
|
|
76
|
-
if (this.value) {
|
|
77
|
-
|
|
78
|
-
code += `'${this.value}'`;
|
|
79
|
-
else if (!this.value.includes('"'))
|
|
80
|
-
code += `"${this.value}"`;
|
|
81
|
-
else if (!this.value.includes('`'))
|
|
82
|
-
code += `\`${this.value}\``;
|
|
83
|
-
else
|
|
84
|
-
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
79
|
+
if (typeof this.value === 'string') {
|
|
80
|
+
code = `'${this.value}'`;
|
|
85
81
|
}
|
|
86
82
|
return code;
|
|
87
83
|
}
|
|
88
84
|
|
|
89
85
|
toJS(): string {
|
|
90
|
-
let code =
|
|
91
|
-
if (this.value) {
|
|
92
|
-
|
|
93
|
-
code += `'${this.value}'`;
|
|
94
|
-
else if (!this.value.includes('"'))
|
|
95
|
-
code += `"${this.value}"`;
|
|
96
|
-
else if (!this.value.includes('`'))
|
|
97
|
-
code += `\`${this.value}\``;
|
|
98
|
-
else
|
|
99
|
-
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
86
|
+
let code = ``;
|
|
87
|
+
if (typeof this.value === 'string') {
|
|
88
|
+
code += `'${this.value.replace(/['"`\\]/g, (m) => `\\${m}`)}'`;
|
|
100
89
|
}
|
|
101
90
|
return code;
|
|
102
91
|
}
|
|
103
92
|
|
|
104
93
|
@withSourceMap()
|
|
105
|
-
toEmbeddedTS(state?: TranslatorState): string {
|
|
94
|
+
toEmbeddedTS(state?: TranslatorState, isRequired?: boolean): string {
|
|
106
95
|
let code = '';
|
|
107
|
-
if (this.value) {
|
|
96
|
+
if (typeof this.value === 'string') {
|
|
108
97
|
if (!this.value.includes("'"))
|
|
109
98
|
code += `'${this.value}'`;
|
|
110
99
|
else if (!this.value.includes('"'))
|
|
@@ -114,7 +103,7 @@ export class StringLiteral extends LogicItem {
|
|
|
114
103
|
else
|
|
115
104
|
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
116
105
|
} else {
|
|
117
|
-
code += '__IDENTIFIER__'
|
|
106
|
+
code += isRequired ? '__IDENTIFIER__' : `''`;
|
|
118
107
|
}
|
|
119
108
|
return code;
|
|
120
109
|
}
|
|
@@ -2,7 +2,7 @@ import { dataTypesMap } from './basics/types';
|
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
3
3
|
import EntityProperty from './EntityProperty__';
|
|
4
4
|
import Entity from './Entity__';
|
|
5
|
-
import { getNodeByNodeCallee } from '
|
|
5
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
6
6
|
|
|
7
7
|
//================================================================================
|
|
8
8
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -227,10 +227,55 @@ export class StructureProperty extends BaseNode {
|
|
|
227
227
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
228
228
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
229
229
|
//================================================================================
|
|
230
|
+
|
|
231
|
+
get hasChildren() {
|
|
232
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
233
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
234
|
+
if (typeNamespace.endsWith('.enums'))
|
|
235
|
+
return null;
|
|
236
|
+
return [{}];
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
get isTreeLeaf() {
|
|
241
|
+
return !this.hasChildren;
|
|
242
|
+
}
|
|
230
243
|
/**
|
|
231
|
-
*
|
|
244
|
+
* 是否展开
|
|
232
245
|
*/
|
|
233
|
-
|
|
246
|
+
@property()
|
|
247
|
+
isLeaf: boolean = true;
|
|
248
|
+
|
|
249
|
+
getSelectRef() {
|
|
250
|
+
try {
|
|
251
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
252
|
+
let completionChildren;
|
|
253
|
+
if (typeKind === 'reference') {
|
|
254
|
+
if (typeNamespace === 'nasl.ui') {
|
|
255
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
256
|
+
const properties = node.properties || [];
|
|
257
|
+
completionChildren = properties;
|
|
258
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
259
|
+
completionChildren = undefined;
|
|
260
|
+
} else {
|
|
261
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
262
|
+
const properties = node.properties || [];
|
|
263
|
+
completionChildren = properties;
|
|
264
|
+
}
|
|
265
|
+
} else if (typeKind === 'generic') {
|
|
266
|
+
if (typeNamespace === 'nasl.collection') {
|
|
267
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
268
|
+
const properties = node.properties || [];
|
|
269
|
+
completionChildren = properties;
|
|
270
|
+
}
|
|
271
|
+
} else {
|
|
272
|
+
completionChildren = undefined;
|
|
273
|
+
}
|
|
274
|
+
return completionChildren;
|
|
275
|
+
} catch (err) {
|
|
276
|
+
console.log(err);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
234
279
|
|
|
235
280
|
@withSourceMap()
|
|
236
281
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
@@ -262,7 +307,7 @@ export class StructureProperty extends BaseNode {
|
|
|
262
307
|
// eslint-disable-next-line prefer-rest-params
|
|
263
308
|
throw new Error('找不到类型:' + arguments[0]);
|
|
264
309
|
} else {
|
|
265
|
-
typeAnnotation._delete();
|
|
310
|
+
typeAnnotation._delete?.();
|
|
266
311
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
267
312
|
Object.assign(typeAnnotation, relationOptions);
|
|
268
313
|
}
|
|
@@ -291,20 +336,7 @@ export class StructureProperty extends BaseNode {
|
|
|
291
336
|
* 是否可编辑
|
|
292
337
|
* */
|
|
293
338
|
get readonly() {
|
|
294
|
-
return !!this.module;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
getSelectRef() {
|
|
298
|
-
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
299
|
-
let completionChildren;
|
|
300
|
-
if (typeKind === 'reference') {
|
|
301
|
-
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
302
|
-
const properties = node.properties || [];
|
|
303
|
-
completionChildren = properties;
|
|
304
|
-
} else {
|
|
305
|
-
completionChildren = undefined;
|
|
306
|
-
}
|
|
307
|
-
return completionChildren;
|
|
339
|
+
return !!this.module || (this.parentNode as Structure).origin === 'CallQueryComponent';
|
|
308
340
|
}
|
|
309
341
|
|
|
310
342
|
//================================================================================
|
|
@@ -39,6 +39,12 @@ export class Structure extends BaseNode {
|
|
|
39
39
|
@property()
|
|
40
40
|
description: string = undefined;
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* 数据结构来源
|
|
44
|
+
*/
|
|
45
|
+
@property()
|
|
46
|
+
origin: 'CallQueryComponent' = undefined;
|
|
47
|
+
|
|
42
48
|
/**
|
|
43
49
|
* 编译器信息
|
|
44
50
|
*/
|
|
@@ -163,7 +169,7 @@ export class Structure extends BaseNode {
|
|
|
163
169
|
name: options,
|
|
164
170
|
}, this, 'typeParams');
|
|
165
171
|
} else if (options instanceof TypeParam) {
|
|
166
|
-
options.
|
|
172
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
167
173
|
typeParam = options;
|
|
168
174
|
Object.assign(typeParam, relationOptions);
|
|
169
175
|
} else {
|
|
@@ -251,7 +257,7 @@ export class Structure extends BaseNode {
|
|
|
251
257
|
|
|
252
258
|
addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
|
|
253
259
|
const node = this._addTypeParam(options as any);
|
|
254
|
-
const index = this.typeParams.
|
|
260
|
+
const index = this.typeParams.indexOf(node);
|
|
255
261
|
node.create({
|
|
256
262
|
index,
|
|
257
263
|
parentNode: this,
|
|
@@ -305,7 +311,7 @@ export class Structure extends BaseNode {
|
|
|
305
311
|
name: options,
|
|
306
312
|
}, this, 'properties');
|
|
307
313
|
} else if (options instanceof StructureProperty) {
|
|
308
|
-
options.
|
|
314
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
309
315
|
property = options;
|
|
310
316
|
Object.assign(property, relationOptions);
|
|
311
317
|
} else {
|
|
@@ -393,7 +399,7 @@ export class Structure extends BaseNode {
|
|
|
393
399
|
|
|
394
400
|
addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
|
|
395
401
|
const node = this._addProperty(options as any);
|
|
396
|
-
const index = this.properties.
|
|
402
|
+
const index = this.properties.indexOf(node);
|
|
397
403
|
node.create({
|
|
398
404
|
index,
|
|
399
405
|
parentNode: this,
|
|
@@ -512,7 +518,7 @@ export class Structure extends BaseNode {
|
|
|
512
518
|
* 是否可编辑
|
|
513
519
|
* */
|
|
514
520
|
get readonly() {
|
|
515
|
-
return !!this.module;
|
|
521
|
+
return !!this.module || this.origin === 'CallQueryComponent';
|
|
516
522
|
}
|
|
517
523
|
/* 删除空数据模块 */
|
|
518
524
|
deleteLogincAndModule() {
|
|
@@ -526,7 +532,7 @@ export class Structure extends BaseNode {
|
|
|
526
532
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
527
533
|
let code = `export class ${this.tsName} {\n`;
|
|
528
534
|
code += indent(state.tabSize + 1);
|
|
529
|
-
code += `__name: '${this.
|
|
535
|
+
code += `__name: '${this.getTsNamespace()}.${this.tsName}';\n`;
|
|
530
536
|
this.properties.forEach((property) => {
|
|
531
537
|
code += indent(state.tabSize + 1);
|
|
532
538
|
code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
@@ -544,6 +550,18 @@ export class Structure extends BaseNode {
|
|
|
544
550
|
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
545
551
|
}
|
|
546
552
|
|
|
553
|
+
getTsNamespace() {
|
|
554
|
+
if (this.parentNode.concept === 'App') {
|
|
555
|
+
return `${(this.parentNode as Namespace).getNamespace()}.structures`;
|
|
556
|
+
} else {
|
|
557
|
+
if (this.parentNode && (this.parentNode as Namespace).getTsNamespace) {
|
|
558
|
+
return `${(this.parentNode as Namespace).getTsNamespace()}.structures`;
|
|
559
|
+
} else {
|
|
560
|
+
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
547
565
|
/**
|
|
548
566
|
* 生成宿主语言的文件路径
|
|
549
567
|
* @param name 一般不用传,用于 rename
|
|
@@ -554,10 +572,14 @@ export class Structure extends BaseNode {
|
|
|
554
572
|
}
|
|
555
573
|
|
|
556
574
|
toEmbeddedTSFile() {
|
|
557
|
-
let code = `namespace ${this.
|
|
575
|
+
let code = `namespace ${this.getTsNamespace()} {\n`;
|
|
558
576
|
|
|
559
577
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
560
|
-
|
|
578
|
+
try {
|
|
579
|
+
code += this.toEmbeddedTS(state);
|
|
580
|
+
} catch (err) {
|
|
581
|
+
code += '';
|
|
582
|
+
}
|
|
561
583
|
code += '}\n';
|
|
562
584
|
|
|
563
585
|
return {
|
|
@@ -89,7 +89,7 @@ export class SwitchCase extends LogicItem {
|
|
|
89
89
|
const relationOptions = { parentNode: this, parentKey: 'consequent' };
|
|
90
90
|
let logicItem: LogicItem;
|
|
91
91
|
if (options instanceof LogicItem) {
|
|
92
|
-
options.
|
|
92
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
93
93
|
logicItem = options;
|
|
94
94
|
Object.assign(logicItem, relationOptions);
|
|
95
95
|
} else {
|
|
@@ -163,7 +163,7 @@ export class SwitchCase extends LogicItem {
|
|
|
163
163
|
|
|
164
164
|
addItem(options?: Partial<LogicItem> | LogicItem) {
|
|
165
165
|
const node = this._addItem(options as any);
|
|
166
|
-
const index = this.consequent.
|
|
166
|
+
const index = this.consequent.indexOf(node);
|
|
167
167
|
node.create({
|
|
168
168
|
index,
|
|
169
169
|
parentNode: this,
|
|
@@ -249,7 +249,7 @@ export class SwitchCase extends LogicItem {
|
|
|
249
249
|
tabSize: 0,
|
|
250
250
|
})) : '';
|
|
251
251
|
|
|
252
|
-
code += ')
|
|
252
|
+
code += ') {\n';
|
|
253
253
|
|
|
254
254
|
if (Array.isArray(this.consequent)) {
|
|
255
255
|
this.consequent.forEach((logicItem) => {
|
|
@@ -277,7 +277,7 @@ export class SwitchCase extends LogicItem {
|
|
|
277
277
|
|
|
278
278
|
@withSourceMap()
|
|
279
279
|
toEmbeddedTS(state?: TranslatorState, isLast?: boolean): string {
|
|
280
|
-
let code = '';
|
|
280
|
+
let code = '\n';
|
|
281
281
|
if (!isLast) {
|
|
282
282
|
code += 'if (nasl.core.ensureBoolean(';
|
|
283
283
|
code += this.test ? this.test.toEmbeddedTS(shiftState(state, code, {
|
|
@@ -72,7 +72,7 @@ export class SwitchStatement extends LogicItem {
|
|
|
72
72
|
const relationOptions = { parentNode: this, parentKey: 'cases' };
|
|
73
73
|
let switchCase: SwitchCase;
|
|
74
74
|
if (options instanceof SwitchCase) {
|
|
75
|
-
options.
|
|
75
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
76
76
|
switchCase = options;
|
|
77
77
|
Object.assign(switchCase, relationOptions);
|
|
78
78
|
} else {
|
|
@@ -146,7 +146,7 @@ export class SwitchStatement extends LogicItem {
|
|
|
146
146
|
|
|
147
147
|
addSwitchCase(options?: Partial<SwitchCase> | SwitchCase) {
|
|
148
148
|
const node = this._addSwitchCase(options as any);
|
|
149
|
-
const index = this.cases.
|
|
149
|
+
const index = this.cases.indexOf(node);
|
|
150
150
|
node.create({
|
|
151
151
|
index,
|
|
152
152
|
parentNode: this,
|