@lcap/nasl 1.0.0-alpha.9 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +414 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/operators.d.ts +13 -0
- package/out/automate/engine/operators.js +63 -0
- package/out/automate/engine/operators.js.map +1 -0
- package/out/automate/engine/uniqueName.d.ts +6 -0
- package/out/automate/engine/uniqueName.js +39 -0
- package/out/automate/engine/uniqueName.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +379 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +21 -1
- package/out/common/BaseNode.js +232 -84
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +19 -1
- package/out/concepts/App__.js +88 -45
- 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 +201 -0
- package/out/concepts/Assignee__.js +298 -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 +55 -10
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +23 -3
- 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 +58 -25
- 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 +107 -50
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +38 -3
- package/out/concepts/CallQueryComponent__.js +329 -75
- 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 +3 -3
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +3 -3
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +3 -3
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +16 -2
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +115 -22
- 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/EntityIndex__.js +4 -2
- package/out/concepts/EntityIndex__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +71 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +5 -4
- package/out/concepts/Entity__.js +35 -19
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +5 -0
- package/out/concepts/Enum__.js +24 -12
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +3 -3
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +1 -1
- package/out/concepts/ForEachStatement__.js +11 -15
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +13 -13
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +77 -30
- 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 +57 -19
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +42 -30
- package/out/concepts/Interface__.js +133 -17
- 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 +20 -1
- package/out/concepts/Logic__.js +194 -37
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -13
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +36 -26
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +48 -37
- 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 +64 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +6 -6
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +123 -54
- 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 +81 -85
- 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/QueryFieldExpression__.d.ts +1 -0
- package/out/concepts/QueryFieldExpression__.js +3 -0
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryGroupByExpression__.d.ts +3 -0
- package/out/concepts/QueryGroupByExpression__.js +20 -0
- package/out/concepts/QueryGroupByExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +5 -5
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +2 -2
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +3 -3
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +74 -23
- 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 +22 -39
- 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 +44 -12
- 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 +82 -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 +77 -20
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +15 -15
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +302 -204
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +13 -12
- package/out/concepts/View__.js +124 -102
- 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.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.interface.d.ts +2 -0
- package/out/concepts/basics/stdlib/nasl.interface.js +4 -4
- package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
- 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 +138 -18
- 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/stdlib/reference2TypeAnnotationList.js +1 -1
- package/out/concepts/basics/stdlib/reference2TypeAnnotationList.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/basics/types/index.d.ts +1 -0
- package/out/concepts/basics/types/index.js +3 -1
- package/out/concepts/basics/types/index.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 +1199 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/{terms → enums}/LEVEL_NAME_MAP.d.ts +0 -0
- package/out/{terms → enums}/LEVEL_NAME_MAP.js +0 -0
- package/out/{terms → enums}/LEVEL_NAME_MAP.js.map +1 -1
- 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 +2 -2
- 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/extendBaseNode.d.ts +1 -0
- package/out/server/extendBaseNode.js +323 -0
- package/out/server/extendBaseNode.js.map +1 -0
- 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 +84 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +326 -38
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +8 -1
- package/out/server/getProcesses.js +383 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +13 -0
- package/out/server/getScope.js +61 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.d.ts +1 -0
- package/out/server/index.js +5 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +36 -57
- package/out/server/naslServer.js +689 -615
- 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 +369 -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 +221 -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 +6 -4
- 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 +34 -18
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genSelectBlock.js +5 -15
- package/out/templator/genSelectBlock.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 +10 -11
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +16 -5
- package/out/templator/utils.js +10 -5
- 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 +25 -1
- package/out/utils/index.js.map +1 -1
- package/out/utils/string.d.ts +1 -1
- package/out/utils/string.js +38 -9
- package/out/utils/string.js.map +1 -1
- package/package.json +2 -2
- package/src/automate/engine/index.js +95 -119
- package/src/automate/engine/operators.js +63 -0
- package/src/automate/engine/uniqueName.js +36 -0
- package/src/automate/engine/utils.js +63 -19
- package/src/common/BaseNode.ts +229 -74
- package/src/concepts/App__.ts +92 -85
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +467 -0
- package/src/concepts/Assignment__.ts +4 -1
- package/src/concepts/BinaryExpression__.ts +9 -7
- package/src/concepts/BindAttribute__.ts +69 -9
- package/src/concepts/BindDirective__.ts +22 -3
- package/src/concepts/BindEvent__.ts +67 -23
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +55 -23
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +111 -52
- package/src/concepts/CallQueryComponent__.ts +315 -67
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +3 -3
- package/src/concepts/ConfigProperty__.ts +3 -3
- package/src/concepts/Configuration__.ts +3 -3
- package/src/concepts/Constant__.ts +14 -2
- package/src/concepts/Destination__.ts +123 -37
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityIndex__.ts +4 -2
- package/src/concepts/EntityProperty__.ts +56 -5
- package/src/concepts/Entity__.ts +38 -21
- package/src/concepts/Enum__.ts +23 -26
- package/src/concepts/Event__.ts +3 -3
- package/src/concepts/ForEachStatement__.ts +16 -21
- package/src/concepts/Function__.ts +13 -13
- package/src/concepts/Identifier__.ts +84 -42
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +57 -16
- package/src/concepts/Interface__.ts +130 -16
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +192 -39
- package/src/concepts/MemberExpression__.ts +58 -15
- package/src/concepts/Module__.ts +35 -24
- package/src/concepts/Namespace__.ts +49 -37
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +64 -16
- package/src/concepts/ProcessComponent__.ts +6 -6
- package/src/concepts/ProcessElement__.ts +149 -44
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +85 -98
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFieldExpression__.ts +4 -0
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryGroupByExpression__.ts +23 -0
- package/src/concepts/QueryJoinExpression__.ts +5 -5
- package/src/concepts/QueryLimitExpression__.ts +2 -2
- package/src/concepts/QuerySelectExpression__.ts +3 -3
- package/src/concepts/Return__.ts +69 -17
- package/src/concepts/Role__.ts +5 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +21 -39
- package/src/concepts/StructureProperty__.ts +50 -18
- package/src/concepts/Structure__.ts +32 -10
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +66 -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 +70 -16
- package/src/concepts/ViewComponent__.ts +15 -15
- package/src/concepts/ViewElement__.ts +289 -166
- package/src/concepts/View__.ts +135 -69
- 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.interface.ts +1 -1
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +140 -18
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +1 -1
- package/src/concepts/basics/types/coreTypeList.ts +11 -11
- package/src/concepts/basics/types/index.ts +1 -0
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1197 -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 +2 -2
- package/src/server/createUiTs.ts +45 -7
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/extendBaseNode.ts +318 -0
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +87 -19
- package/src/server/getMemberIdentifier.ts +282 -65
- package/src/server/getProcesses.ts +397 -4
- package/src/server/getScope.ts +67 -0
- package/src/server/index.ts +13 -1
- package/src/server/naslServer.ts +694 -632
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +425 -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 +218 -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 +7 -9
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +46 -32
- package/src/templator/genSelectBlock.ts +5 -15
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +10 -12
- package/src/templator/utils.ts +12 -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 +24 -0
- package/src/utils/string.ts +39 -9
- 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
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TranslatorState, shiftState, withSourceMap } from '../translator';
|
|
2
2
|
import Interface from './Interface__';
|
|
3
|
+
import NullLiteral from './NullLiteral__';
|
|
3
4
|
import { ElementToVueOptions } from './ViewElement__';
|
|
5
|
+
import { getConceptConstructor } from '../decorators';
|
|
4
6
|
//================================================================================
|
|
5
7
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
6
8
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -97,7 +99,7 @@ export class CallInterface extends LogicItem {
|
|
|
97
99
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
98
100
|
let argument: Argument;
|
|
99
101
|
if (options instanceof Argument) {
|
|
100
|
-
options.
|
|
102
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
101
103
|
argument = options;
|
|
102
104
|
Object.assign(argument, relationOptions);
|
|
103
105
|
} else {
|
|
@@ -171,7 +173,7 @@ export class CallInterface extends LogicItem {
|
|
|
171
173
|
|
|
172
174
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
173
175
|
const node = this._addArgument(options as any);
|
|
174
|
-
const index = this.arguments.
|
|
176
|
+
const index = this.arguments.indexOf(node);
|
|
175
177
|
node.create({
|
|
176
178
|
index,
|
|
177
179
|
parentNode: this,
|
|
@@ -221,12 +223,23 @@ export class CallInterface extends LogicItem {
|
|
|
221
223
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
222
224
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
223
225
|
//================================================================================
|
|
226
|
+
|
|
227
|
+
get tsCalleeNamespace() {
|
|
228
|
+
if (this.calleeNamespace) {
|
|
229
|
+
let tsCalleeNamespace = this.calleeNamespace;
|
|
230
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
|
|
231
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
|
|
232
|
+
return tsCalleeNamespace;
|
|
233
|
+
}
|
|
234
|
+
return '';
|
|
235
|
+
}
|
|
236
|
+
|
|
224
237
|
toVue(options?: ElementToVueOptions): string {
|
|
225
238
|
let code = this.calleeName;
|
|
226
239
|
code += '(';
|
|
227
|
-
this.arguments
|
|
228
|
-
code += arg
|
|
229
|
-
if (index !== this.arguments
|
|
240
|
+
this.arguments?.forEach((arg, index) => {
|
|
241
|
+
code += arg?.toVue(options);
|
|
242
|
+
if (index !== this.arguments?.length - 1)
|
|
230
243
|
code += ', ';
|
|
231
244
|
});
|
|
232
245
|
code += ')';
|
|
@@ -236,9 +249,9 @@ export class CallInterface extends LogicItem {
|
|
|
236
249
|
toUI(state?: TranslatorState): string {
|
|
237
250
|
let code = this.calleeName;
|
|
238
251
|
code += '(';
|
|
239
|
-
this.arguments
|
|
240
|
-
code += arg
|
|
241
|
-
if (index !== this.arguments
|
|
252
|
+
this.arguments?.forEach((arg, index) => {
|
|
253
|
+
code += arg?.toUI();
|
|
254
|
+
if (index !== this.arguments?.length - 1)
|
|
242
255
|
code += ', ';
|
|
243
256
|
});
|
|
244
257
|
code += ')';
|
|
@@ -246,32 +259,208 @@ export class CallInterface extends LogicItem {
|
|
|
246
259
|
}
|
|
247
260
|
|
|
248
261
|
toJS(state?: TranslatorState): string {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
262
|
+
const _arr = this.calleewholeKey.split('.');
|
|
263
|
+
const _name = _arr[1];
|
|
264
|
+
const _interfaceName = _arr[3];
|
|
265
|
+
const _module = this.app.interfaceDependencies.find((item) => item.name === _name);
|
|
266
|
+
const _interface = _module.interfaces.find((item) => item.name === _interfaceName);
|
|
267
|
+
if (!_interface) {
|
|
268
|
+
throw new Error(`${_name}下的${_interfaceName}接口未找到`);
|
|
269
|
+
}
|
|
270
|
+
let isSimpleBody = false; // 兼容body只有基本类型的
|
|
271
|
+
const _params = _interface.params;
|
|
272
|
+
const _queries = _params.filter((item) => item.in === 'query').map((item) => item.name);
|
|
273
|
+
const _headers = _params.filter((item) => item.in === 'header').map((item) => item.name);
|
|
274
|
+
const _body = _params
|
|
275
|
+
.filter((item) => item.in === 'body')
|
|
276
|
+
.map((item) => {
|
|
277
|
+
if (item.typeAnnotation.typeKind === 'primitive') {
|
|
278
|
+
isSimpleBody = true;
|
|
279
|
+
}
|
|
280
|
+
return item.name;
|
|
281
|
+
});
|
|
282
|
+
const _paths = _params.filter((item) => item.in === 'path').map((item) => item.name);
|
|
283
|
+
|
|
284
|
+
let code = `await this.$services['_custom']['${this.calleeNamespace}.${this.calleeName}']`;
|
|
285
|
+
code += `({
|
|
286
|
+
config: {
|
|
287
|
+
download: false,
|
|
288
|
+
},
|
|
289
|
+
query: {`;
|
|
290
|
+
this.arguments?.filter((arg) => _queries.includes(arg?.keyword))
|
|
291
|
+
.forEach((arg, index) => {
|
|
292
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
293
|
+
if (index !== this.arguments?.length - 1)
|
|
294
|
+
code += ', ';
|
|
295
|
+
});
|
|
296
|
+
code += `},
|
|
297
|
+
path: {`;
|
|
298
|
+
this.arguments?.filter((arg) => _paths.includes(arg?.keyword))
|
|
299
|
+
.forEach((arg, index) => {
|
|
300
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
301
|
+
if (index !== this.arguments?.length - 1)
|
|
302
|
+
code += ', ';
|
|
303
|
+
});
|
|
304
|
+
code += `},
|
|
305
|
+
headers: {`;
|
|
306
|
+
this.arguments?.filter((arg) => _headers.includes(arg?.keyword))
|
|
307
|
+
.forEach((arg, index) => {
|
|
308
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
309
|
+
if (index !== this.arguments?.length - 1)
|
|
310
|
+
code += ', ';
|
|
311
|
+
});
|
|
312
|
+
code += `},\n`;
|
|
313
|
+
if (isSimpleBody) {
|
|
314
|
+
code += `body: `;
|
|
315
|
+
this.arguments?.forEach((arg, index) => {
|
|
316
|
+
code += ` ${arg?.toJS(shiftState(state, code))}`;
|
|
317
|
+
});
|
|
318
|
+
} else {
|
|
319
|
+
code += `body: {`;
|
|
320
|
+
this.arguments?.filter((arg) => _body.includes(arg?.keyword))
|
|
321
|
+
.forEach((arg, index) => {
|
|
322
|
+
code += ` ...${arg?.toJS(shiftState(state, code))}`;
|
|
323
|
+
if (index !== this.arguments?.length - 1)
|
|
324
|
+
code += ', ';
|
|
325
|
+
});
|
|
326
|
+
code += '}';
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
code += '\n})';
|
|
257
330
|
return code;
|
|
258
331
|
}
|
|
259
332
|
|
|
260
333
|
@withSourceMap()
|
|
261
334
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
262
|
-
let code = this.
|
|
263
|
-
|
|
264
|
-
this.
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
335
|
+
let code = this.tsCalleeKey;
|
|
336
|
+
const _keys = this.calleeDefaultKey.split('.');
|
|
337
|
+
const _module = this.app.interfaceDependencies.find((item) => item.name === _keys[1]);
|
|
338
|
+
let params: string[] = [];
|
|
339
|
+
const _interface = _module?.interfaces?.find((item) => item.name === _keys[3]);
|
|
340
|
+
if (_interface) {
|
|
341
|
+
params = _interface.params.filter((item) => item.required).map((item) => item.name) || [];
|
|
342
|
+
// const _bodyParams = _interface.params.find((item) => item.name === 'Body');
|
|
343
|
+
// if (_bodyParams) {
|
|
344
|
+
// const _typeKey = _bodyParams.typeAnnotation.typeKey;
|
|
345
|
+
// const _list = _typeKey.split('.');
|
|
346
|
+
// const _structure = _module.structures.find((item) => item.name === _list[3]);
|
|
347
|
+
// const isBodyRequired = _structure.properties.some((item) => item.required === true);
|
|
348
|
+
// if (isBodyRequired) {
|
|
349
|
+
// params.push('Body');
|
|
350
|
+
// }
|
|
351
|
+
// }
|
|
352
|
+
}
|
|
353
|
+
code += '(';
|
|
354
|
+
if (this.arguments?.length) {
|
|
355
|
+
code += '{';
|
|
356
|
+
this.arguments?.forEach((arg, index) => {
|
|
357
|
+
code += arg?.toEmbeddedTS(shiftState(state, code), params.includes(arg?.keyword), true);
|
|
358
|
+
if (index !== this.arguments?.length - 1)
|
|
359
|
+
code += ', ';
|
|
360
|
+
});
|
|
361
|
+
code += '}';
|
|
362
|
+
}
|
|
270
363
|
|
|
364
|
+
code += ');\n';
|
|
271
365
|
return code;
|
|
272
366
|
}
|
|
273
367
|
|
|
274
368
|
get calleeKey(): string {
|
|
369
|
+
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
370
|
+
const calleeName = this.calleeName;
|
|
371
|
+
return calleeName ? `${tsCalleeNamespace}.${calleeName}` : '__IDENTIFIER__';
|
|
372
|
+
}
|
|
373
|
+
// 用于logic回填
|
|
374
|
+
get calleewholeKey(): string {
|
|
375
|
+
return this.calleeNamespace + '.' + this.calleeName;
|
|
376
|
+
}
|
|
377
|
+
get tsCalleeName(): string {
|
|
378
|
+
const excludeds = [
|
|
379
|
+
'abstract',
|
|
380
|
+
'arguments',
|
|
381
|
+
'await',
|
|
382
|
+
'boolean',
|
|
383
|
+
'break',
|
|
384
|
+
'byte',
|
|
385
|
+
'case',
|
|
386
|
+
'catch',
|
|
387
|
+
'char',
|
|
388
|
+
'class',
|
|
389
|
+
'const',
|
|
390
|
+
'continue',
|
|
391
|
+
'debugger',
|
|
392
|
+
'default',
|
|
393
|
+
'delete',
|
|
394
|
+
'do',
|
|
395
|
+
'double',
|
|
396
|
+
'else',
|
|
397
|
+
'enum',
|
|
398
|
+
'eval',
|
|
399
|
+
'export',
|
|
400
|
+
'extends',
|
|
401
|
+
'false',
|
|
402
|
+
'final',
|
|
403
|
+
'finally',
|
|
404
|
+
'float',
|
|
405
|
+
'for',
|
|
406
|
+
'function',
|
|
407
|
+
'goto',
|
|
408
|
+
'if',
|
|
409
|
+
'implements',
|
|
410
|
+
'import',
|
|
411
|
+
'in',
|
|
412
|
+
'instanceof',
|
|
413
|
+
'int',
|
|
414
|
+
'interface',
|
|
415
|
+
'let',
|
|
416
|
+
'long',
|
|
417
|
+
'native',
|
|
418
|
+
'new',
|
|
419
|
+
'null',
|
|
420
|
+
'package',
|
|
421
|
+
'private',
|
|
422
|
+
'protected',
|
|
423
|
+
'public',
|
|
424
|
+
'return',
|
|
425
|
+
'short',
|
|
426
|
+
'static',
|
|
427
|
+
'super',
|
|
428
|
+
'switch',
|
|
429
|
+
'synchronized',
|
|
430
|
+
'this',
|
|
431
|
+
'throw',
|
|
432
|
+
'throws',
|
|
433
|
+
'transient',
|
|
434
|
+
'true',
|
|
435
|
+
'try',
|
|
436
|
+
'typeof',
|
|
437
|
+
'var',
|
|
438
|
+
'void',
|
|
439
|
+
'volatile',
|
|
440
|
+
'while',
|
|
441
|
+
'with',
|
|
442
|
+
'yield,as',
|
|
443
|
+
'any',
|
|
444
|
+
'number',
|
|
445
|
+
'string',
|
|
446
|
+
'get',
|
|
447
|
+
'type',
|
|
448
|
+
'typeof',
|
|
449
|
+
'instanceof',
|
|
450
|
+
'require',
|
|
451
|
+
];
|
|
452
|
+
if (excludeds.includes(this.calleeName)) {
|
|
453
|
+
return '_' + this.calleeName;
|
|
454
|
+
}
|
|
455
|
+
return this.calleeName;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
get tsCalleeKey(): string {
|
|
459
|
+
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
460
|
+
const calleeName = this.tsCalleeName;
|
|
461
|
+
return calleeName ? `${tsCalleeNamespace}.${calleeName}` : '__IDENTIFIER__';
|
|
462
|
+
}
|
|
463
|
+
get calleeDefaultKey(): string {
|
|
275
464
|
return `${this.calleeNamespace}.${this.calleeName}`;
|
|
276
465
|
}
|
|
277
466
|
_setCallee(_interface: Interface) {
|
|
@@ -288,9 +477,30 @@ export class CallInterface extends LogicItem {
|
|
|
288
477
|
const calleeName = _interface.name;
|
|
289
478
|
const params = _interface.params.map((param) => {
|
|
290
479
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
291
|
-
|
|
480
|
+
let expression;
|
|
481
|
+
if (param.defaultValue && param.typeAnnotation.typeKind === 'primitive') {
|
|
482
|
+
const conceptMap: { [name: string]: string } = {
|
|
483
|
+
String: 'StringLiteral',
|
|
484
|
+
Boolean: 'BooleanLiteral',
|
|
485
|
+
Integer: 'NumericLiteral',
|
|
486
|
+
Double: 'NumericLiteral',
|
|
487
|
+
Long: 'NumericLiteral',
|
|
488
|
+
};
|
|
489
|
+
const typeName = param.typeAnnotation.typeName;
|
|
490
|
+
const concept: string = conceptMap[typeName] || 'StringLiteral';
|
|
491
|
+
const Ctor = getConceptConstructor(concept);
|
|
492
|
+
expression = new Ctor({
|
|
493
|
+
concept,
|
|
494
|
+
value: param.defaultValue,
|
|
495
|
+
typeAnnotation: param.typeAnnotation,
|
|
496
|
+
});
|
|
497
|
+
} else if (!param.required) {
|
|
498
|
+
expression = new NullLiteral();
|
|
499
|
+
}
|
|
500
|
+
const argument = new Argument({
|
|
292
501
|
keyword: param.name,
|
|
293
|
-
|
|
502
|
+
expression,
|
|
503
|
+
});
|
|
294
504
|
Object.assign(argument, relationOptions);
|
|
295
505
|
return argument;
|
|
296
506
|
});
|
|
@@ -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
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -105,7 +107,7 @@ export class CallLogic extends LogicItem {
|
|
|
105
107
|
const relationOptions = { parentNode: this, parentKey: 'typeArguments' };
|
|
106
108
|
let typeAnnotation: TypeAnnotation;
|
|
107
109
|
if (options instanceof TypeAnnotation) {
|
|
108
|
-
options.
|
|
110
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
109
111
|
typeAnnotation = options;
|
|
110
112
|
Object.assign(typeAnnotation, relationOptions);
|
|
111
113
|
} else {
|
|
@@ -179,7 +181,7 @@ export class CallLogic extends LogicItem {
|
|
|
179
181
|
|
|
180
182
|
addTypeAnnotation(options?: Partial<TypeAnnotation> | TypeAnnotation) {
|
|
181
183
|
const node = this._addTypeAnnotation(options as any);
|
|
182
|
-
const index = this.typeArguments.
|
|
184
|
+
const index = this.typeArguments.indexOf(node);
|
|
183
185
|
node.create({
|
|
184
186
|
index,
|
|
185
187
|
parentNode: this,
|
|
@@ -212,7 +214,7 @@ export class CallLogic extends LogicItem {
|
|
|
212
214
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
213
215
|
let argument: Argument;
|
|
214
216
|
if (options instanceof Argument) {
|
|
215
|
-
options.
|
|
217
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
216
218
|
argument = options;
|
|
217
219
|
Object.assign(argument, relationOptions);
|
|
218
220
|
} else {
|
|
@@ -286,7 +288,7 @@ export class CallLogic extends LogicItem {
|
|
|
286
288
|
|
|
287
289
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
288
290
|
const node = this._addArgument(options as any);
|
|
289
|
-
const index = this.arguments.
|
|
291
|
+
const index = this.arguments.indexOf(node);
|
|
290
292
|
node.create({
|
|
291
293
|
index,
|
|
292
294
|
parentNode: this,
|
|
@@ -382,11 +384,16 @@ export class CallLogic extends LogicItem {
|
|
|
382
384
|
}
|
|
383
385
|
return '';
|
|
384
386
|
}
|
|
387
|
+
|
|
388
|
+
// 用于logic回填
|
|
389
|
+
get calleewholeKey(): string {
|
|
390
|
+
return this.calleeNamespace + '.' + this.calleeName;
|
|
391
|
+
}
|
|
385
392
|
get calleeKey(): string {
|
|
386
393
|
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
387
394
|
const calleeName = this.calleeName;
|
|
388
395
|
if (!tsCalleeNamespace) {
|
|
389
|
-
return calleeName ?
|
|
396
|
+
return calleeName ? `${calleeName}` : '__IDENTIFIER__';
|
|
390
397
|
}
|
|
391
398
|
// elements单独处理相对路径,和后缀的问题
|
|
392
399
|
if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
|
|
@@ -397,10 +404,11 @@ export class CallLogic extends LogicItem {
|
|
|
397
404
|
}
|
|
398
405
|
|
|
399
406
|
/**
|
|
400
|
-
* 设置
|
|
407
|
+
* 设置argment 触发别的地方的更新
|
|
401
408
|
*/
|
|
402
|
-
setArgumentName({ argument
|
|
403
|
-
argument.setKeyword(newKeyword);
|
|
409
|
+
setArgumentName({ argument }: { argument: Argument[] }) {
|
|
410
|
+
// argument.setKeyword(newKeyword);
|
|
411
|
+
// this.arguments = argument;
|
|
404
412
|
}
|
|
405
413
|
|
|
406
414
|
/**
|
|
@@ -451,6 +459,7 @@ export class CallLogic extends LogicItem {
|
|
|
451
459
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
452
460
|
const argument = Argument.from({
|
|
453
461
|
keyword: param.name,
|
|
462
|
+
expression: param.defaultExpression,
|
|
454
463
|
}, this);
|
|
455
464
|
Object.assign(argument, relationOptions);
|
|
456
465
|
return argument;
|
|
@@ -518,11 +527,15 @@ export class CallLogic extends LogicItem {
|
|
|
518
527
|
}
|
|
519
528
|
|
|
520
529
|
toVue(options?: ElementToVueOptions): string {
|
|
521
|
-
let code =
|
|
530
|
+
let code = '';
|
|
531
|
+
if (this.calleeNamespace === 'nasl.browser' || this.calleeNamespace === 'nasl.auth' || this.calleeNamespace === 'nasl.configuration') {
|
|
532
|
+
code += '$global.';
|
|
533
|
+
}
|
|
534
|
+
code += this.calleeName;
|
|
522
535
|
code += '(';
|
|
523
|
-
this.arguments
|
|
524
|
-
code += arg
|
|
525
|
-
if (index !== this.arguments
|
|
536
|
+
this.arguments?.forEach((arg, index) => {
|
|
537
|
+
code += arg?.toVue(options);
|
|
538
|
+
if (index !== this.arguments?.length - 1)
|
|
526
539
|
code += ', ';
|
|
527
540
|
});
|
|
528
541
|
code += ')';
|
|
@@ -532,9 +545,9 @@ export class CallLogic extends LogicItem {
|
|
|
532
545
|
toUI(state?: TranslatorState): string {
|
|
533
546
|
let code = this.calleeName;
|
|
534
547
|
code += '(';
|
|
535
|
-
this.arguments
|
|
536
|
-
code += arg
|
|
537
|
-
if (index !== this.arguments
|
|
548
|
+
this.arguments?.forEach((arg, index) => {
|
|
549
|
+
code += arg?.toUI();
|
|
550
|
+
if (index !== this.arguments?.length - 1)
|
|
538
551
|
code += ', ';
|
|
539
552
|
});
|
|
540
553
|
code += ')';
|
|
@@ -550,12 +563,15 @@ export class CallLogic extends LogicItem {
|
|
|
550
563
|
let isComponentLogic = false;
|
|
551
564
|
let componentName = '';
|
|
552
565
|
const calleeNamespace = this.calleeNamespace;
|
|
566
|
+
const isProcessLogic = this.calleeNamespace?.startsWith('app.processes');
|
|
567
|
+
|
|
553
568
|
// calleeNamespace不存在,一定是页面逻辑
|
|
554
569
|
if (calleeNamespace) {
|
|
555
570
|
const namespaceArr = calleeNamespace.split('.');
|
|
556
571
|
const start = namespaceArr.shift();
|
|
557
|
-
if (start === 'app') {
|
|
558
|
-
const
|
|
572
|
+
if (start === 'app' || start === 'extensions') {
|
|
573
|
+
const mod = start === 'app' ? 0 : 1;
|
|
574
|
+
const keywordViews = namespaceArr.filter((namespaceItem, index) => index % 2 === mod).find((namespaceItem) => namespaceItem === 'views');
|
|
559
575
|
if (!keywordViews) {
|
|
560
576
|
isViewLogic = false;
|
|
561
577
|
}
|
|
@@ -566,15 +582,23 @@ export class CallLogic extends LogicItem {
|
|
|
566
582
|
}
|
|
567
583
|
// 全局逻辑
|
|
568
584
|
if (!isViewLogic) {
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
585
|
+
const namespaceArr = calleeNamespace?.split('.');
|
|
586
|
+
const logic = getNodeByNodeCallee(this.app, this.calleewholeKey, (key: string, tempPoint: any) => {
|
|
587
|
+
// 处理 NASL 中未定义的假的节点
|
|
588
|
+
if (key === tempPoint.name) {
|
|
589
|
+
return {
|
|
590
|
+
tempPoint,
|
|
591
|
+
state: 1,
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
const t = tempPoint[key];
|
|
595
|
+
return {
|
|
596
|
+
tempPoint: t,
|
|
597
|
+
state: Array.isArray(t) ? 2 : 1,
|
|
598
|
+
};
|
|
599
|
+
});
|
|
600
|
+
const args = logic?.params || [];
|
|
601
|
+
|
|
578
602
|
// 去掉app
|
|
579
603
|
namespaceArr.shift();
|
|
580
604
|
const keywordEntities = namespaceArr
|
|
@@ -585,43 +609,64 @@ export class CallLogic extends LogicItem {
|
|
|
585
609
|
.filter((namespaceItem, index) => index % 2 === 0)
|
|
586
610
|
.find((namespaceItem) => namespaceItem.key === 'entities');
|
|
587
611
|
const entityName = namespaceArr[keywordEntities?.index + 1];
|
|
612
|
+
code += `this.$logics['${this.calleeNamespace ? `${this.calleeNamespace}.${this.calleeName}` : this.calleeName}']`;
|
|
613
|
+
code += `({
|
|
614
|
+
config: {
|
|
615
|
+
download: false,
|
|
616
|
+
},
|
|
617
|
+
query: {`;
|
|
618
|
+
if (isProcessLogic) {
|
|
619
|
+
const argsStr = args.map((arg: any, index: number) => {
|
|
620
|
+
const actualArg = this.arguments?.[index];
|
|
621
|
+
return {
|
|
622
|
+
keyword: arg?.name,
|
|
623
|
+
arg: actualArg,
|
|
624
|
+
};
|
|
625
|
+
}).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
|
|
626
|
+
code += argsStr;
|
|
627
|
+
}
|
|
628
|
+
code += `},
|
|
629
|
+
headers: {},
|
|
630
|
+
`;
|
|
588
631
|
|
|
589
632
|
if (entityName) {
|
|
590
633
|
let logicArgs = this.arguments;
|
|
591
634
|
switch (this.calleeName) {
|
|
592
635
|
case 'get':
|
|
593
636
|
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
|
-
}
|
|
637
|
+
logicArgs = [];
|
|
638
|
+
code += `query: {`;
|
|
639
|
+
const argsStr = args.map((arg: any, index: number) => {
|
|
640
|
+
const actualArg = this.arguments?.[index];
|
|
641
|
+
return {
|
|
642
|
+
keyword: arg?.name,
|
|
643
|
+
arg: actualArg,
|
|
644
|
+
};
|
|
645
|
+
}).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
|
|
646
|
+
code += argsStr;
|
|
607
647
|
code += `},\n`;
|
|
608
648
|
break;
|
|
609
649
|
}
|
|
610
650
|
}
|
|
611
651
|
const bodyArgument = logicArgs.find((arg) => arg.keyword === 'body');
|
|
612
652
|
if (bodyArgument) {
|
|
613
|
-
code += `\n${bodyArgument
|
|
653
|
+
code += `\n${bodyArgument?.keyword}: ${bodyArgument?.toJS(shiftState(state, code))}`;
|
|
614
654
|
} else {
|
|
615
655
|
code += `body: {}`;
|
|
616
656
|
}
|
|
617
657
|
} else {
|
|
618
658
|
code += `path: {},
|
|
619
659
|
body: {`;
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
660
|
+
if (!isProcessLogic) {
|
|
661
|
+
const argsStr = args.map((arg: any, index: number) => {
|
|
662
|
+
const actualArg = this.arguments?.[index];
|
|
663
|
+
return {
|
|
664
|
+
keyword: arg?.name,
|
|
665
|
+
arg: actualArg,
|
|
666
|
+
};
|
|
667
|
+
}).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
|
|
668
|
+
code += argsStr;
|
|
669
|
+
}
|
|
625
670
|
code += '\n}';
|
|
626
671
|
}
|
|
627
672
|
code += '\n})';
|
|
@@ -643,15 +688,18 @@ export class CallLogic extends LogicItem {
|
|
|
643
688
|
code += `JSON.parse`;
|
|
644
689
|
break;
|
|
645
690
|
}
|
|
691
|
+
} else if (calleeNamespace === 'nasl.browser' || calleeNamespace === 'nasl.auth' || calleeNamespace === 'nasl.configuration') {
|
|
692
|
+
code += `this.$global.${this.calleeName}`;
|
|
646
693
|
} else {
|
|
647
694
|
code += `this.${this.calleeName}`;
|
|
648
695
|
}
|
|
649
696
|
code += '(';
|
|
650
|
-
this.arguments
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
697
|
+
this.arguments?.filter((arg) => arg?.expression)
|
|
698
|
+
.forEach((arg, index) => {
|
|
699
|
+
code += arg?.toJS(shiftState(state, code));
|
|
700
|
+
if (index !== this.arguments?.length - 1)
|
|
701
|
+
code += ', ';
|
|
702
|
+
});
|
|
655
703
|
code += ')';
|
|
656
704
|
}
|
|
657
705
|
return code;
|
|
@@ -660,14 +708,25 @@ export class CallLogic extends LogicItem {
|
|
|
660
708
|
@withSourceMap()
|
|
661
709
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
662
710
|
let code = this.calleeKey;
|
|
711
|
+
if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
|
|
712
|
+
// 如果有内容
|
|
713
|
+
const typeAnnotation = this.typeArguments[0];
|
|
714
|
+
code += `<`;
|
|
715
|
+
code += `${typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}>`;
|
|
716
|
+
}
|
|
663
717
|
code += '(';
|
|
664
718
|
this.arguments.forEach((arg, index) => {
|
|
665
|
-
|
|
719
|
+
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
720
|
+
// 页面逻辑先都非必填
|
|
721
|
+
if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
|
|
722
|
+
code += arg.toEmbeddedTS(shiftState(state, code), false);
|
|
723
|
+
} else {
|
|
724
|
+
code += arg.toEmbeddedTS(shiftState(state, code));
|
|
725
|
+
}
|
|
666
726
|
if (index !== this.arguments.length - 1)
|
|
667
727
|
code += ', ';
|
|
668
728
|
});
|
|
669
729
|
code += ');\n';
|
|
670
|
-
|
|
671
730
|
return code;
|
|
672
731
|
}
|
|
673
732
|
|