@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,4 +1,4 @@
|
|
|
1
|
-
import { BaseNode, CompletionProperty, App, Identifier, MemberExpression, Enum, NullLiteral, BooleanLiteral, Param, BindAttribute, LogicItem } from '..';
|
|
1
|
+
import { BaseNode, CompletionProperty, App, Identifier, MemberExpression, Enum, NullLiteral, BooleanLiteral, Param, BindAttribute, LogicItem, TypeAnnotation } from '..';
|
|
2
2
|
import naslServer from './naslServer';
|
|
3
3
|
|
|
4
4
|
interface variableItem {
|
|
@@ -9,22 +9,155 @@ interface variableItem {
|
|
|
9
9
|
value?: string;
|
|
10
10
|
expression: MemberExpression | Identifier;
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
function getCompletionDetailType(displayParts: Array<{ text: string; kind: string }>): TypeAnnotation {
|
|
14
|
+
// 0: {text: 'let', kind: 'keyword'}
|
|
15
|
+
// 1: {text: ' ', kind: 'space'}
|
|
16
|
+
// 2: {text: 'bindRoles', kind: 'text'}
|
|
17
|
+
// 3: {text: ':', kind: 'punctuation'}
|
|
18
|
+
// 4: {text: ' ', kind: 'space'}
|
|
19
|
+
// 5: {text: 'roles', kind: 'moduleName'}
|
|
20
|
+
// 6: {text: '.', kind: 'punctuation'}
|
|
21
|
+
// 7: {text: 'DEV_AdminRole', kind: 'enumName'}
|
|
22
|
+
// 8: {text: '[', kind: 'punctuation'}
|
|
23
|
+
// 9: {text: ']', kind: 'punctuation'}
|
|
24
|
+
let str = '';
|
|
25
|
+
displayParts.forEach((item) => {
|
|
26
|
+
str += item.text;
|
|
27
|
+
});
|
|
28
|
+
const strTypes = str.split(': ');
|
|
29
|
+
const type = strTypes[1];
|
|
30
|
+
let typeAnnotation;
|
|
31
|
+
try {
|
|
32
|
+
if (type.includes('<') && type.includes('>')) {
|
|
33
|
+
// 泛型的处理
|
|
34
|
+
typeAnnotation = createGenericTypeAnnotation(type);
|
|
35
|
+
} else {
|
|
36
|
+
typeAnnotation = createType2Annotation(type);
|
|
37
|
+
}
|
|
38
|
+
} catch (err) {
|
|
39
|
+
console.log(err);
|
|
40
|
+
}
|
|
41
|
+
return typeAnnotation;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function createGenericTypeAnnotation(type: string) {
|
|
45
|
+
// 取出匹配的内容
|
|
46
|
+
|
|
47
|
+
const childType = type.substring(0, type.indexOf('<'));
|
|
48
|
+
const typeAnnotation = createType2Annotation(childType);
|
|
49
|
+
// 如果还有匹配到的多层泛型;
|
|
50
|
+
// 取出匹配到的内容
|
|
51
|
+
const types = /\<([^()]+)\>/g.exec(type);
|
|
52
|
+
const newtext = types[1];
|
|
53
|
+
// 把匹配的值,的内容在,检索一遍,看是不是泛型套泛型
|
|
54
|
+
const newTypes = /\<([^()]+)\>/g.exec(newtext);
|
|
55
|
+
// 如果是的话就去递归
|
|
56
|
+
if (newTypes) {
|
|
57
|
+
const argTypeAnnotation = createGenericTypeAnnotation(newtext);
|
|
58
|
+
typeAnnotation.typeArguments = [argTypeAnnotation];
|
|
59
|
+
} else {
|
|
60
|
+
// 如果不是就创造内部的真正类型
|
|
61
|
+
const argTypeAnnotation = createType2Annotation(newtext);
|
|
62
|
+
typeAnnotation.typeArguments = [argTypeAnnotation];
|
|
63
|
+
}
|
|
64
|
+
return typeAnnotation;
|
|
65
|
+
}
|
|
66
|
+
function createType2Annotation(type: string): TypeAnnotation {
|
|
67
|
+
let typeAnnotation;
|
|
68
|
+
// 没有泛型类型的
|
|
69
|
+
const types = type.split('.');
|
|
70
|
+
if (types.length === 1) {
|
|
71
|
+
typeAnnotation = TypeAnnotation.createPrimitive(types[0]);
|
|
72
|
+
} else {
|
|
73
|
+
if (type.startsWith('nasl.core')) {
|
|
74
|
+
typeAnnotation = TypeAnnotation.createPrimitive(types[types.length - 1]);
|
|
75
|
+
} else if (type.startsWith('nasl.ui')) {
|
|
76
|
+
typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
|
|
77
|
+
typeNamespace: 'nasl.ui',
|
|
78
|
+
});
|
|
79
|
+
} else if (type.startsWith('nasl.collection')) {
|
|
80
|
+
typeAnnotation = TypeAnnotation.createGeneric(types[types.length - 1], {
|
|
81
|
+
typeNamespace: 'nasl.collection',
|
|
82
|
+
});
|
|
83
|
+
} else if (type.startsWith('entities.')) {
|
|
84
|
+
typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
|
|
85
|
+
typeNamespace: 'app.entities',
|
|
86
|
+
});
|
|
87
|
+
} else if (type.startsWith('structures.')) {
|
|
88
|
+
typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
|
|
89
|
+
typeNamespace: 'app.structures',
|
|
90
|
+
});
|
|
91
|
+
} else if (type.startsWith('enums.')) {
|
|
92
|
+
typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
|
|
93
|
+
typeNamespace: 'app.enums',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return typeAnnotation;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* 把要返回去的数据做一下排序
|
|
102
|
+
* @param result 要返回数据
|
|
103
|
+
* @param node 当前内容的上下级
|
|
104
|
+
* @returns 返回排序后的数组
|
|
105
|
+
* 因为ts会按照 a-z的顺序进行排序
|
|
106
|
+
* 但是影响用户体验,需要先按照页面排序,其次按照logic进行排序
|
|
107
|
+
* 流程的韬哥自己解决了,所以先解决这两部分
|
|
108
|
+
*/
|
|
109
|
+
function sortFirstVariableData(result: CompletionProperty[], node: BaseNode) {
|
|
110
|
+
const newResult: CompletionProperty[] = [];
|
|
111
|
+
const logic = (node as Param).logic;
|
|
112
|
+
const view = (node as Param).view;
|
|
113
|
+
if (view) {
|
|
114
|
+
const { params, variables } = view;
|
|
115
|
+
const list = [...params, ...variables];
|
|
116
|
+
list.forEach((item) => {
|
|
117
|
+
const findIndex = result.findIndex((findItem) => findItem.name === item.name);
|
|
118
|
+
if (findIndex === 0 || findIndex) {
|
|
119
|
+
newResult.push(result[findIndex]);
|
|
120
|
+
result.splice(findIndex, 1);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (logic) {
|
|
125
|
+
const { params, returns, variables } = logic;
|
|
126
|
+
const list = [...params, ...returns, ...variables];
|
|
127
|
+
list.forEach((item) => {
|
|
128
|
+
const findIndex = result.findIndex((findItem) => findItem.name === item.name);
|
|
129
|
+
if (findIndex === 0 || findIndex) {
|
|
130
|
+
newResult.push(result[findIndex]);
|
|
131
|
+
result.splice(findIndex, 1);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
newResult.push(...result);
|
|
136
|
+
return newResult;
|
|
137
|
+
}
|
|
12
138
|
// 格式化变量数据
|
|
13
|
-
function formatVariableData(data: unknown | variableItem[], node: BaseNode, parent?: any) {
|
|
139
|
+
export function formatVariableData(data: unknown | variableItem[], node: BaseNode, parent?: any) {
|
|
14
140
|
if (Array.isArray(data)) {
|
|
15
|
-
|
|
141
|
+
let result = data.map((item) => {
|
|
16
142
|
// value需要拼接生成
|
|
17
143
|
item.value = parent ? `${parent.value}.${item.text}` : item.text;
|
|
18
144
|
item.name = item.text;
|
|
145
|
+
// 当前结构的typeAnnotation
|
|
146
|
+
const typeAnnotation = item.completionDetail && getCompletionDetailType(item.completionDetail.displayParts as Array<{ text: string; kind: string }>);
|
|
19
147
|
// 如果没有父节点就是Identifier
|
|
20
148
|
if (!parent) {
|
|
21
149
|
const identifier = new Identifier({ name: item.name });
|
|
150
|
+
// 携带上当前的类型
|
|
151
|
+
identifier.typeAnnotation = typeAnnotation;
|
|
22
152
|
item.expression = identifier;
|
|
23
153
|
} else {
|
|
24
|
-
|
|
154
|
+
const memberExpression = new MemberExpression({
|
|
25
155
|
object: parent.expression,
|
|
26
156
|
property: new Identifier({ name: item.name }),
|
|
27
157
|
});
|
|
158
|
+
// 携带上当前的类型
|
|
159
|
+
memberExpression.typeAnnotation = typeAnnotation;
|
|
160
|
+
item.expression = memberExpression;
|
|
28
161
|
}
|
|
29
162
|
if (item.children) {
|
|
30
163
|
item.children = formatVariableData(item.children, node, item);
|
|
@@ -40,14 +173,28 @@ function formatVariableData(data: unknown | variableItem[], node: BaseNode, pare
|
|
|
40
173
|
return completionProperty;
|
|
41
174
|
}
|
|
42
175
|
});
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* 排序result
|
|
179
|
+
* 如果没有父级就是第一集就排序一下当前result,用户体验优化
|
|
180
|
+
*/
|
|
181
|
+
if (!parent) {
|
|
182
|
+
result = sortFirstVariableData(result, node);
|
|
183
|
+
}
|
|
43
184
|
return result;
|
|
44
185
|
}
|
|
45
186
|
}
|
|
46
187
|
// 从logic获取节点的icon
|
|
47
188
|
function getNodeiconFromLogic(completionProperty: CompletionProperty, node: BaseNode): string {
|
|
48
189
|
const logic = (node as Param).logic;
|
|
190
|
+
const view = (node as Param).view;
|
|
191
|
+
if (view) {
|
|
192
|
+
const { params } = view;
|
|
193
|
+
if (params.find((item) => item.name === completionProperty.name))
|
|
194
|
+
return 'param';
|
|
195
|
+
}
|
|
49
196
|
if (logic) {
|
|
50
|
-
const { params,
|
|
197
|
+
const { params, returns } = logic;
|
|
51
198
|
if (params.find((item) => item.name === completionProperty.name))
|
|
52
199
|
return 'param';
|
|
53
200
|
|
|
@@ -66,22 +213,28 @@ function getNodeiconFromLogic(completionProperty: CompletionProperty, node: Base
|
|
|
66
213
|
function formatEnums(enums: Array<Enum>) {
|
|
67
214
|
const result = enums.map((item) => {
|
|
68
215
|
const namespace = item.getNamespace();
|
|
69
|
-
|
|
216
|
+
const newItem: any = {
|
|
70
217
|
name: item.name,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
218
|
+
value: item.name,
|
|
219
|
+
expression: new Identifier({
|
|
220
|
+
name: item.name,
|
|
221
|
+
namespace,
|
|
222
|
+
}),
|
|
223
|
+
children: [],
|
|
224
|
+
};
|
|
225
|
+
newItem.children = item.enumItems.map((enumItem) => {
|
|
74
226
|
const newEnumItem: any = { ...enumItem };
|
|
75
|
-
newEnumItem.name = newEnumItem.value;
|
|
76
227
|
newEnumItem.expression = new MemberExpression({
|
|
77
|
-
object:
|
|
228
|
+
object: newItem.expression,
|
|
78
229
|
property: new Identifier({ name: newEnumItem.value }),
|
|
79
230
|
});
|
|
231
|
+
newEnumItem.name = newEnumItem.value;
|
|
232
|
+
newEnumItem.value = newItem.value + '.' + newEnumItem.value;
|
|
80
233
|
const completionProperty = new CompletionProperty(newEnumItem);
|
|
81
234
|
completionProperty.icon = 'enumItem';
|
|
82
235
|
return completionProperty;
|
|
83
236
|
});
|
|
84
|
-
const completionProperty = new CompletionProperty(
|
|
237
|
+
const completionProperty = new CompletionProperty(newItem);
|
|
85
238
|
completionProperty.icon = 'enum';
|
|
86
239
|
return completionProperty;
|
|
87
240
|
});
|
|
@@ -92,50 +245,76 @@ type LiteralDefination = {
|
|
|
92
245
|
value: string;
|
|
93
246
|
expression?: Identifier;
|
|
94
247
|
};
|
|
95
|
-
// 先简单处理一下
|
|
96
248
|
function formatLiterals() {
|
|
97
|
-
const list: Array<LiteralDefination> = [
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
249
|
+
// const list: Array<LiteralDefination> = [
|
|
250
|
+
// { name: 'null', value: 'null' },
|
|
251
|
+
// { name: 'true', value: 'true' },
|
|
252
|
+
// { name: 'false', value: 'false' },
|
|
253
|
+
// ];
|
|
254
|
+
// const newList = list.map((item) => {
|
|
255
|
+
// item.expression = new Identifier({ name: item.name });
|
|
256
|
+
// const completionProperty = new CompletionProperty(item);
|
|
257
|
+
// completionProperty.icon = 'literal';
|
|
258
|
+
// return completionProperty;
|
|
259
|
+
// });
|
|
260
|
+
// return newList;
|
|
261
|
+
const list = [
|
|
262
|
+
new CompletionProperty({
|
|
263
|
+
name: 'null',
|
|
264
|
+
value: 'null',
|
|
265
|
+
expression: new NullLiteral(),
|
|
266
|
+
}),
|
|
267
|
+
new CompletionProperty({
|
|
268
|
+
name: 'true',
|
|
269
|
+
value: 'true',
|
|
270
|
+
expression: new BooleanLiteral({ value: 'true' }),
|
|
271
|
+
}),
|
|
272
|
+
new CompletionProperty({
|
|
273
|
+
name: 'false',
|
|
274
|
+
value: 'false',
|
|
275
|
+
expression: new BooleanLiteral({ value: 'false' }),
|
|
276
|
+
}),
|
|
101
277
|
];
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const completionProperty = new CompletionProperty(item);
|
|
105
|
-
completionProperty.icon = 'literal';
|
|
106
|
-
return completionProperty;
|
|
278
|
+
list.forEach((l) => {
|
|
279
|
+
l.icon = 'literal';
|
|
107
280
|
});
|
|
108
|
-
return
|
|
281
|
+
return list;
|
|
109
282
|
}
|
|
110
283
|
|
|
111
284
|
function formatGlobalVariable() {
|
|
112
285
|
const newList = [];
|
|
113
286
|
const globalVariable = {
|
|
114
287
|
name: 'userInfo',
|
|
288
|
+
value: 'userInfo',
|
|
115
289
|
children: [
|
|
116
|
-
{ name: 'Status' },
|
|
290
|
+
{ name: 'Status', value: 'userInfo.Status' },
|
|
117
291
|
{ name: 'UserInfoExtend',
|
|
292
|
+
value: 'userInfo.UserInfoExtend',
|
|
118
293
|
children: [
|
|
119
|
-
{ name: 'Company' },
|
|
120
|
-
{ name: 'JobLevel' },
|
|
121
|
-
{ name: 'JobNum' },
|
|
122
|
-
{ name: '
|
|
123
|
-
{ name: '
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
{ name: '
|
|
131
|
-
{ name: '
|
|
132
|
-
{ name: '
|
|
133
|
-
{ name: '
|
|
294
|
+
{ name: 'Company', value: 'userInfo.UserInfoExtend.Company' },
|
|
295
|
+
{ name: 'JobLevel', value: 'userInfo.UserInfoExtend.JobLevel' },
|
|
296
|
+
{ name: 'JobNum', value: 'userInfo.UserInfoExtend.JobNum' },
|
|
297
|
+
{ name: 'JobYear', value: 'userInfo.UserInfoExtend.JobYear' },
|
|
298
|
+
{ name: 'RealName', value: 'userInfo.UserInfoExtend.RealName' },
|
|
299
|
+
{ name: 'NickName', value: 'userInfo.UserInfoExtend.NickName' },
|
|
300
|
+
{ name: 'NameAndEmail', value: 'userInfo.UserInfoExtend.NameAndEmail' },
|
|
301
|
+
{ name: 'Position', value: 'userInfo.UserInfoExtend.Position' },
|
|
302
|
+
{ name: 'Department', value: 'userInfo.UserInfoExtend.Department' },
|
|
303
|
+
{ name: 'EmployeeId', value: 'userInfo.UserInfoExtend.EmployeeId' },
|
|
304
|
+
] },
|
|
305
|
+
{ name: 'UserName', value: 'userInfo.UserName' },
|
|
306
|
+
{ name: 'Email', value: 'userInfo.Email' },
|
|
307
|
+
{ name: 'UserId', value: 'userInfo.UserId' },
|
|
308
|
+
{ name: 'Phone', value: 'userInfo.Phone' },
|
|
309
|
+
{ name: 'CreateTime', value: 'userInfo.CreateTime' },
|
|
310
|
+
{ name: 'UpdateTime', value: 'userInfo.UpdateTime' },
|
|
311
|
+
{ name: 'LoginCount', value: 'userInfo.LoginCount' },
|
|
312
|
+
{ name: 'Source', value: 'userInfo.Source' },
|
|
134
313
|
],
|
|
135
314
|
};
|
|
136
315
|
const userInfoIdentifier = new Identifier({
|
|
137
316
|
name: 'userInfo',
|
|
138
|
-
namespace: 'nasl.
|
|
317
|
+
namespace: 'nasl.auth',
|
|
139
318
|
});
|
|
140
319
|
const userCompletionProperty = new CompletionProperty({
|
|
141
320
|
name: 'userInfo',
|
|
@@ -164,23 +343,23 @@ function formatGlobalVariable() {
|
|
|
164
343
|
childProperty.icon = 'literal';
|
|
165
344
|
children.push(childProperty as any);
|
|
166
345
|
});
|
|
167
|
-
completionProperty.children = children
|
|
346
|
+
completionProperty.children = children as unknown as Array<CompletionProperty>;
|
|
168
347
|
}
|
|
169
348
|
userCompletionProperty.children.push(completionProperty as any);
|
|
170
349
|
});
|
|
171
350
|
return newList;
|
|
172
351
|
}
|
|
173
352
|
|
|
174
|
-
|
|
175
353
|
// 获取当前可选的逻辑
|
|
176
354
|
function getCurrentLogic(node: BaseNode,
|
|
177
355
|
result: {
|
|
178
356
|
name: string;
|
|
179
357
|
children: CompletionProperty[];
|
|
358
|
+
expanded: boolean;
|
|
180
359
|
icon: string;
|
|
181
360
|
}[]) {
|
|
182
361
|
// 只有data-source可以
|
|
183
|
-
if (node instanceof Identifier && node.parentNode instanceof BindAttribute && node.parentNode.name === 'data-source') {
|
|
362
|
+
if (node instanceof Identifier && node.parentNode instanceof BindAttribute && (node.parentNode.name === 'data-source' || node.parentNode.name === 'check-file')) {
|
|
184
363
|
const view = node.view;
|
|
185
364
|
const viewLogics = view.logics;
|
|
186
365
|
const logicVariable = viewLogics.map((item) => {
|
|
@@ -193,41 +372,37 @@ function getCurrentLogic(node: BaseNode,
|
|
|
193
372
|
completionProperty.icon = 'logic';
|
|
194
373
|
return completionProperty;
|
|
195
374
|
});
|
|
196
|
-
result.push({ name: '逻辑', children: logicVariable, icon: 'category' });
|
|
375
|
+
result.push({ name: '逻辑', children: logicVariable, expanded: true, icon: 'category' });
|
|
197
376
|
}
|
|
198
377
|
}
|
|
199
378
|
|
|
200
379
|
export async function getMemberIdentifier(node: BaseNode) {
|
|
201
380
|
if (node) {
|
|
381
|
+
// 获取字面量
|
|
382
|
+
const literals = getLiteralsIdentifier();
|
|
383
|
+
if (node.getAncestor('CallQueryComponent'))
|
|
384
|
+
literals.shift(); // 去除 null
|
|
202
385
|
// 获取枚举
|
|
203
|
-
const
|
|
204
|
-
const literals = formatLiterals();
|
|
205
|
-
const enums = app?.enums;
|
|
206
|
-
const newEnums = enums ? formatEnums(enums) : [];
|
|
386
|
+
const newEnums = getEnumsIdentifier(node);
|
|
207
387
|
|
|
208
|
-
//
|
|
209
|
-
//
|
|
388
|
+
// extensionModules(state) {
|
|
389
|
+
// return state.app?.dependencies?.filter((module) => module.type === 'extension') || {};
|
|
210
390
|
// },
|
|
211
391
|
|
|
212
392
|
// 如果之前有选好的值就需要的把之前那一列的内容渲染出来
|
|
213
393
|
// 先去获取
|
|
214
394
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
completionData = formatVariableData(completion, node);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
const globalVariable = formatGlobalVariable();
|
|
395
|
+
// 获取变量
|
|
396
|
+
const completionData = await getVariableIdentifier(node);
|
|
397
|
+
// 获取公共变量
|
|
398
|
+
const globalVariable: CompletionProperty[] = await getGlobalVariableIdentifier(node);
|
|
399
|
+
|
|
224
400
|
// 这个可能需要自己算一下
|
|
225
401
|
const result = [
|
|
226
|
-
{ name: '字面量', children: literals, icon: 'category' },
|
|
227
|
-
{ name: '枚举', children: newEnums, icon: 'category' },
|
|
228
|
-
{ name: '变量', children: completionData, icon: 'category' },
|
|
229
|
-
{ name: '
|
|
230
|
-
|
|
402
|
+
{ name: '字面量', children: literals, expanded: true, icon: 'category' },
|
|
403
|
+
{ name: '枚举', children: newEnums, expanded: true, icon: 'category' },
|
|
404
|
+
{ name: '变量', children: completionData, expanded: true, icon: 'category' },
|
|
405
|
+
{ name: '公共变量', children: globalVariable, expanded: true, icon: 'category' },
|
|
231
406
|
// { name: '流程变量', children: [] },
|
|
232
407
|
];
|
|
233
408
|
getCurrentLogic(node, result);
|
|
@@ -235,9 +410,51 @@ export async function getMemberIdentifier(node: BaseNode) {
|
|
|
235
410
|
}
|
|
236
411
|
}
|
|
237
412
|
|
|
413
|
+
// 获取字面量
|
|
414
|
+
export function getLiteralsIdentifier(): CompletionProperty[] {
|
|
415
|
+
return formatLiterals();
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// 获取枚举
|
|
419
|
+
export function getEnumsIdentifier(node: BaseNode): CompletionProperty[] {
|
|
420
|
+
const app = node.rootNode as App;
|
|
421
|
+
const enums = app?.enums;
|
|
422
|
+
const newEnums = enums ? formatEnums(enums) : [];
|
|
423
|
+
return newEnums;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
// 获取变量
|
|
427
|
+
export async function getVariableIdentifier(node: BaseNode): Promise<CompletionProperty[]> {
|
|
428
|
+
let completionData: CompletionProperty[] = [new CompletionProperty({})];
|
|
429
|
+
if (node instanceof Identifier || node instanceof MemberExpression) {
|
|
430
|
+
const value = (node as Identifier | MemberExpression).getValue();
|
|
431
|
+
if (value) {
|
|
432
|
+
const completion = (await naslServer.getValueSelectCompletion(node, value)) as variableItem[];
|
|
433
|
+
completionData = formatVariableData(completion, node);
|
|
434
|
+
} else {
|
|
435
|
+
const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
|
|
436
|
+
completionData = formatVariableData(nextCompletion, node);
|
|
437
|
+
}
|
|
438
|
+
} else {
|
|
439
|
+
const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
|
|
440
|
+
completionData = formatVariableData(nextCompletion, node);
|
|
441
|
+
}
|
|
442
|
+
return completionData;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
// 获取公共变量
|
|
446
|
+
export async function getGlobalVariableIdentifier(node: BaseNode):Promise<CompletionProperty[]> {
|
|
447
|
+
let globalVariable: CompletionProperty[] = [];
|
|
448
|
+
// 公共变量修改
|
|
449
|
+
if ((node as any).view) {
|
|
450
|
+
globalVariable = formatGlobalVariable();
|
|
451
|
+
}
|
|
452
|
+
return globalVariable;
|
|
453
|
+
}
|
|
454
|
+
|
|
238
455
|
export async function getSelectNextCompletionData(node: Identifier, completionProperty?: CompletionProperty) {
|
|
239
456
|
if (node) {
|
|
240
|
-
let fieldKey: string =
|
|
457
|
+
let fieldKey: string = '';
|
|
241
458
|
if (completionProperty) {
|
|
242
459
|
const exp = BaseNode.from(completionProperty.expression);
|
|
243
460
|
const value = (exp as Identifier).getValue();
|