@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 View from './View__';
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
|
|
3
3
|
import { ElementToVueOptions } from './ViewElement__';
|
|
4
|
+
import { BindAttribute } from '..';
|
|
5
|
+
|
|
4
6
|
//================================================================================
|
|
5
7
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
6
8
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -50,8 +52,6 @@ export class Destination extends LogicItem {
|
|
|
50
52
|
@property('Argument')
|
|
51
53
|
arguments: Array<Argument> = [];
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
55
|
/**
|
|
56
56
|
* @param source 需要合并的部分参数
|
|
57
57
|
*/
|
|
@@ -65,7 +65,6 @@ export class Destination extends LogicItem {
|
|
|
65
65
|
return super.from(source, parentNode, parentKey) as Destination;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
69
68
|
/**
|
|
70
69
|
* 设置viewNamespace
|
|
71
70
|
*/
|
|
@@ -90,10 +89,6 @@ export class Destination extends LogicItem {
|
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
91
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
92
|
/**
|
|
98
93
|
* 插入实际参数
|
|
99
94
|
* @internal
|
|
@@ -113,7 +108,7 @@ export class Destination extends LogicItem {
|
|
|
113
108
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
114
109
|
let argument: Argument;
|
|
115
110
|
if (options instanceof Argument) {
|
|
116
|
-
options.
|
|
111
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
117
112
|
argument = options;
|
|
118
113
|
Object.assign(argument, relationOptions);
|
|
119
114
|
} else {
|
|
@@ -126,8 +121,6 @@ export class Destination extends LogicItem {
|
|
|
126
121
|
return argument;
|
|
127
122
|
}
|
|
128
123
|
|
|
129
|
-
|
|
130
|
-
|
|
131
124
|
/**
|
|
132
125
|
* 插入实际参数
|
|
133
126
|
* @param argumentOptions 实际参数参数
|
|
@@ -150,8 +143,6 @@ export class Destination extends LogicItem {
|
|
|
150
143
|
return node;
|
|
151
144
|
}
|
|
152
145
|
|
|
153
|
-
|
|
154
|
-
|
|
155
146
|
/**
|
|
156
147
|
* 添加实际参数
|
|
157
148
|
* @internal
|
|
@@ -171,8 +162,6 @@ export class Destination extends LogicItem {
|
|
|
171
162
|
return this._insertArgumentAt(options as any, index);
|
|
172
163
|
}
|
|
173
164
|
|
|
174
|
-
|
|
175
|
-
|
|
176
165
|
/**
|
|
177
166
|
* 添加实际参数
|
|
178
167
|
* @param argumentOptions 实际参数参数
|
|
@@ -187,7 +176,7 @@ export class Destination extends LogicItem {
|
|
|
187
176
|
|
|
188
177
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
189
178
|
const node = this._addArgument(options as any);
|
|
190
|
-
const index = this.arguments.
|
|
179
|
+
const index = this.arguments.indexOf(node);
|
|
191
180
|
node.create({
|
|
192
181
|
index,
|
|
193
182
|
parentNode: this,
|
|
@@ -196,9 +185,6 @@ export class Destination extends LogicItem {
|
|
|
196
185
|
return node;
|
|
197
186
|
}
|
|
198
187
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
188
|
/**
|
|
203
189
|
* 删除实际参数
|
|
204
190
|
* @param argument 已有的实际参数实例
|
|
@@ -206,7 +192,7 @@ export class Destination extends LogicItem {
|
|
|
206
192
|
removeArgument(argument: Argument): void;
|
|
207
193
|
|
|
208
194
|
removeArgument(options: Argument) {
|
|
209
|
-
|
|
195
|
+
const argument: Argument = options;
|
|
210
196
|
return argument.delete();
|
|
211
197
|
}
|
|
212
198
|
|
|
@@ -248,8 +234,24 @@ export class Destination extends LogicItem {
|
|
|
248
234
|
return '';
|
|
249
235
|
}
|
|
250
236
|
|
|
237
|
+
get tsName() {
|
|
238
|
+
if (this.viewName) {
|
|
239
|
+
let tsName = this.viewName;
|
|
240
|
+
// 匹配所有特殊字符都转为_
|
|
241
|
+
tsName = tsName.replace(/\W/g, '_');
|
|
242
|
+
if (/^\d/.test(tsName)) {
|
|
243
|
+
tsName = '$' + tsName;
|
|
244
|
+
}
|
|
245
|
+
return tsName;
|
|
246
|
+
}
|
|
247
|
+
return '';
|
|
248
|
+
}
|
|
251
249
|
genViewArr() {
|
|
252
|
-
const viewArr
|
|
250
|
+
const viewArr
|
|
251
|
+
= this.viewNamespace
|
|
252
|
+
?.split('.')
|
|
253
|
+
.splice(1)
|
|
254
|
+
.filter((item, index) => index % 2 === 1) || [];
|
|
253
255
|
if (this.viewName) {
|
|
254
256
|
viewArr.push(this.viewName);
|
|
255
257
|
}
|
|
@@ -260,10 +262,17 @@ export class Destination extends LogicItem {
|
|
|
260
262
|
let url = '';
|
|
261
263
|
const viewArr = this.genViewArr();
|
|
262
264
|
if (Array.isArray(viewArr) && viewArr.length) {
|
|
263
|
-
url += ':
|
|
265
|
+
url += ':destination="`';
|
|
264
266
|
url += `/${viewArr.join('/')}`;
|
|
265
267
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
266
|
-
const args = this.arguments.map((arg) =>
|
|
268
|
+
const args = this.arguments.map((arg) => {
|
|
269
|
+
const value = arg?.toVue();
|
|
270
|
+
let argStr = '';
|
|
271
|
+
if (value) {
|
|
272
|
+
argStr += `${arg.keyword}=` + '${' + `${value}` + '}';
|
|
273
|
+
}
|
|
274
|
+
return argStr;
|
|
275
|
+
}).filter((arg) => !!arg);
|
|
267
276
|
url += `?${args.join('&')}`;
|
|
268
277
|
}
|
|
269
278
|
url += '`"';
|
|
@@ -278,7 +287,7 @@ export class Destination extends LogicItem {
|
|
|
278
287
|
url += '`';
|
|
279
288
|
url += `/${viewArr.join('/')}`;
|
|
280
289
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
281
|
-
const args = this.arguments
|
|
290
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toUI()}` + '}');
|
|
282
291
|
url += `?${args.join('&')}`;
|
|
283
292
|
}
|
|
284
293
|
url += '`';
|
|
@@ -293,7 +302,14 @@ export class Destination extends LogicItem {
|
|
|
293
302
|
url += 'this.$destination(`';
|
|
294
303
|
url += `/${viewArr.join('/')}`;
|
|
295
304
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
296
|
-
const args = this.arguments.map((arg) =>
|
|
305
|
+
const args = this.arguments.map((arg) => {
|
|
306
|
+
const value = arg?.toJS();
|
|
307
|
+
let argStr = '';
|
|
308
|
+
if (value) {
|
|
309
|
+
argStr += `${arg.keyword}=` + '${' + `${value}` + '}';
|
|
310
|
+
}
|
|
311
|
+
return argStr;
|
|
312
|
+
}).filter((arg) => !!arg);
|
|
297
313
|
url += `?${args.join('&')}`;
|
|
298
314
|
}
|
|
299
315
|
url += '`)';
|
|
@@ -323,6 +339,38 @@ export class Destination extends LogicItem {
|
|
|
323
339
|
});
|
|
324
340
|
}
|
|
325
341
|
|
|
342
|
+
/**
|
|
343
|
+
* 设置view的argument
|
|
344
|
+
*/
|
|
345
|
+
setViewArgument(view: View) {
|
|
346
|
+
const params = view.params;
|
|
347
|
+
const argument = this.arguments;
|
|
348
|
+
if (params.length > argument.length) {
|
|
349
|
+
params.forEach((item) => {
|
|
350
|
+
const arg = argument.find((arg) => arg.keyword === item.name);
|
|
351
|
+
if (!arg) {
|
|
352
|
+
this.addArgument({
|
|
353
|
+
keyword: item.name,
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
} else {
|
|
358
|
+
argument.forEach((item) => {
|
|
359
|
+
const param = params.find((param) => param.name === item.keyword);
|
|
360
|
+
if (!param) {
|
|
361
|
+
item.delete();
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* 设置Arguments的KeyWord
|
|
368
|
+
*/
|
|
369
|
+
setArgumentsKeyWord(options: { findArgument: Argument; newKeyword: string }) {
|
|
370
|
+
const { findArgument, newKeyword } = options;
|
|
371
|
+
findArgument.setKeyword(newKeyword);
|
|
372
|
+
}
|
|
373
|
+
|
|
326
374
|
get viewPath() {
|
|
327
375
|
if (!this.viewNamespace) {
|
|
328
376
|
return '';
|
|
@@ -338,23 +386,61 @@ export class Destination extends LogicItem {
|
|
|
338
386
|
}
|
|
339
387
|
return `${viewNameAttr.join('/')}/`;
|
|
340
388
|
}
|
|
341
|
-
|
|
342
389
|
@withSourceMap()
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
code += indent(state.tabSize + 2);
|
|
390
|
+
toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
|
|
391
|
+
// const tab = indent(state.tabSize);
|
|
346
392
|
if (this.tsCalleeNamespace && this.tsName) {
|
|
347
|
-
code
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
}
|
|
393
|
+
let code = `destination: function() {\n`;
|
|
394
|
+
code += prependCode;
|
|
395
|
+
code += '\n';
|
|
396
|
+
if (this.tsCalleeNamespace && this.viewName) {
|
|
397
|
+
code += `${this.tsCalleeNamespace}.${this.viewName}.$destination({`;
|
|
398
|
+
if (Array.isArray(this.arguments)) {
|
|
399
|
+
this.arguments.forEach((argument: Argument) => {
|
|
400
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
code += `});\n`;
|
|
352
404
|
}
|
|
353
|
-
code += `
|
|
405
|
+
code += indent(state.tabSize + 1) + `}\n`;
|
|
406
|
+
return code;
|
|
407
|
+
} else {
|
|
408
|
+
return '__IDENTIFIER__';
|
|
354
409
|
}
|
|
410
|
+
}
|
|
355
411
|
|
|
356
|
-
|
|
357
|
-
|
|
412
|
+
@withSourceMap()
|
|
413
|
+
toEmbeddedTS(state?: TranslatorState): string {
|
|
414
|
+
let code = '';
|
|
415
|
+
|
|
416
|
+
if (this.parentNode instanceof BindAttribute) {
|
|
417
|
+
code = `${utils.firstLowerCase(this.concept)}: () => {\n`;
|
|
418
|
+
code += indent(state.tabSize + 2);
|
|
419
|
+
if (this.tsCalleeNamespace && this.tsName) {
|
|
420
|
+
code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
|
|
421
|
+
if (Array.isArray(this.arguments)) {
|
|
422
|
+
this.arguments.forEach((argument: Argument) => {
|
|
423
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
code += `});\n`;
|
|
427
|
+
}
|
|
428
|
+
code += indent(state.tabSize + 1) + `},\n`;
|
|
429
|
+
return code;
|
|
430
|
+
} else {
|
|
431
|
+
if (this.tsCalleeNamespace && this.tsName) {
|
|
432
|
+
code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
|
|
433
|
+
if (Array.isArray(this.arguments)) {
|
|
434
|
+
this.arguments.forEach((argument: Argument) => {
|
|
435
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
code += `});\n`;
|
|
439
|
+
} else {
|
|
440
|
+
code += '__IDENTIFIER__';
|
|
441
|
+
}
|
|
442
|
+
return code;
|
|
443
|
+
}
|
|
358
444
|
}
|
|
359
445
|
@withSourceMap()
|
|
360
446
|
toEmbeddedTSNormalFunction(state?: TranslatorState): string {
|
|
@@ -378,7 +464,7 @@ export class Destination extends LogicItem {
|
|
|
378
464
|
//================================================================================
|
|
379
465
|
}
|
|
380
466
|
|
|
381
|
-
classMap
|
|
467
|
+
classMap.Destination = Destination;
|
|
382
468
|
export default Destination;
|
|
383
469
|
//================================================================================
|
|
384
470
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
package/src/concepts/End__.ts
CHANGED
|
@@ -56,7 +56,14 @@ export class End extends LogicItem {
|
|
|
56
56
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
57
57
|
//================================================================================
|
|
58
58
|
toJS(state?: TranslatorState): string {
|
|
59
|
-
|
|
59
|
+
let code = '';
|
|
60
|
+
const ret = this.logic.returns[0];
|
|
61
|
+
if (ret) {
|
|
62
|
+
code += 'return ' + ret.name + ';';
|
|
63
|
+
} else {
|
|
64
|
+
code += 'return;';
|
|
65
|
+
}
|
|
66
|
+
return code;
|
|
60
67
|
}
|
|
61
68
|
|
|
62
69
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
@@ -177,7 +177,8 @@ export class EntityIndex extends BaseNode {
|
|
|
177
177
|
*/
|
|
178
178
|
moveUp() {
|
|
179
179
|
const indexes = [...(this.parentNode as Entity).indexes];
|
|
180
|
-
const
|
|
180
|
+
const indexesNameList = indexes.map((item) => item.name);
|
|
181
|
+
const oldIndex = indexesNameList.indexOf(this.name);
|
|
181
182
|
this.changeSort(indexes, oldIndex, 'up');
|
|
182
183
|
this.parentNode.update({
|
|
183
184
|
indexes,
|
|
@@ -188,7 +189,8 @@ export class EntityIndex extends BaseNode {
|
|
|
188
189
|
*/
|
|
189
190
|
moveDown() {
|
|
190
191
|
const indexes = [...(this.parentNode as Entity).indexes];
|
|
191
|
-
const
|
|
192
|
+
const indexesNameList = indexes.map((item) => item.name);
|
|
193
|
+
const oldIndex = indexesNameList.indexOf(this.name);
|
|
192
194
|
this.changeSort(indexes, oldIndex, 'down');
|
|
193
195
|
this.parentNode.update({
|
|
194
196
|
indexes,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { dataTypesMap } from './basics/types';
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
3
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
3
4
|
type changeType = 'up' | 'down';
|
|
4
5
|
//================================================================================
|
|
5
6
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -331,6 +332,54 @@ export class EntityProperty extends BaseNode {
|
|
|
331
332
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
332
333
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
333
334
|
//================================================================================
|
|
335
|
+
|
|
336
|
+
get hasChildren() {
|
|
337
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
338
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
339
|
+
if (typeNamespace.endsWith('.enums'))
|
|
340
|
+
return null;
|
|
341
|
+
return [{}];
|
|
342
|
+
}
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
get isTreeLeaf() {
|
|
346
|
+
return !this.hasChildren;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* 是否展开
|
|
351
|
+
*/
|
|
352
|
+
@property()
|
|
353
|
+
isLeaf: boolean = true;
|
|
354
|
+
|
|
355
|
+
getSelectRef() {
|
|
356
|
+
try {
|
|
357
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
358
|
+
let completionChildren;
|
|
359
|
+
if (typeKind === 'reference') {
|
|
360
|
+
if (typeNamespace === 'nasl.ui') {
|
|
361
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
362
|
+
const properties = node.properties || [];
|
|
363
|
+
completionChildren = properties;
|
|
364
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
365
|
+
completionChildren = undefined;
|
|
366
|
+
} else {
|
|
367
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
368
|
+
const properties = node.properties || [];
|
|
369
|
+
completionChildren = properties;
|
|
370
|
+
}
|
|
371
|
+
} else if (typeKind === 'generic') {
|
|
372
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
373
|
+
const properties = node.properties || [];
|
|
374
|
+
completionChildren = properties;
|
|
375
|
+
} else {
|
|
376
|
+
completionChildren = undefined;
|
|
377
|
+
}
|
|
378
|
+
return completionChildren;
|
|
379
|
+
} catch (err) {
|
|
380
|
+
console.log(err);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
334
383
|
/**
|
|
335
384
|
* 设置是否必填
|
|
336
385
|
*/
|
|
@@ -378,8 +427,8 @@ export class EntityProperty extends BaseNode {
|
|
|
378
427
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
379
428
|
}
|
|
380
429
|
if (this.defaultValue) {
|
|
381
|
-
code +=
|
|
382
|
-
}
|
|
430
|
+
code += '= ' + this.typeAnnotation.getDefaultValue(this.defaultValue);
|
|
431
|
+
}
|
|
383
432
|
return code;
|
|
384
433
|
}
|
|
385
434
|
/**
|
|
@@ -399,7 +448,7 @@ export class EntityProperty extends BaseNode {
|
|
|
399
448
|
// eslint-disable-next-line prefer-rest-params
|
|
400
449
|
throw new Error('找不到类型:' + arguments[0]);
|
|
401
450
|
} else {
|
|
402
|
-
typeAnnotation._delete();
|
|
451
|
+
typeAnnotation._delete?.();
|
|
403
452
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
404
453
|
Object.assign(typeAnnotation, relationOptions);
|
|
405
454
|
}
|
|
@@ -439,7 +488,8 @@ export class EntityProperty extends BaseNode {
|
|
|
439
488
|
*/
|
|
440
489
|
moveUp() {
|
|
441
490
|
const properties = [...(this.parentNode as Entity).properties];
|
|
442
|
-
const
|
|
491
|
+
const propertiesNameList = properties.map((item) => item.name);
|
|
492
|
+
const oldIndex = propertiesNameList.indexOf(this.name);
|
|
443
493
|
this.changeSort(properties, oldIndex, 'up');
|
|
444
494
|
this.parentNode.update({
|
|
445
495
|
properties,
|
|
@@ -450,7 +500,8 @@ export class EntityProperty extends BaseNode {
|
|
|
450
500
|
*/
|
|
451
501
|
moveDown() {
|
|
452
502
|
const properties = [...(this.parentNode as Entity).properties];
|
|
453
|
-
const
|
|
503
|
+
const propertiesNameList = properties.map((item) => item.name);
|
|
504
|
+
const oldIndex = propertiesNameList.indexOf(this.name);
|
|
454
505
|
this.changeSort(properties, oldIndex, 'down');
|
|
455
506
|
this.parentNode.update({
|
|
456
507
|
properties,
|
package/src/concepts/Entity__.ts
CHANGED
|
@@ -107,19 +107,6 @@ export class Entity extends BaseNode {
|
|
|
107
107
|
}
|
|
108
108
|
return params;
|
|
109
109
|
}
|
|
110
|
-
/**
|
|
111
|
-
* 设置实体名称
|
|
112
|
-
*/
|
|
113
|
-
setName(name: string) {
|
|
114
|
-
const object = {
|
|
115
|
-
name,
|
|
116
|
-
};
|
|
117
|
-
this.update({
|
|
118
|
-
...object,
|
|
119
|
-
field: 'name',
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
110
|
/**
|
|
124
111
|
* 设置实体描述
|
|
125
112
|
*/
|
|
@@ -137,7 +124,7 @@ export class Entity extends BaseNode {
|
|
|
137
124
|
return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
138
125
|
}
|
|
139
126
|
getPropertyUniqueName(name = 'property1') {
|
|
140
|
-
return utils.unique(name, this.getPropertyExistingNames());
|
|
127
|
+
return utils.unique(name, this.getPropertyExistingNames(), undefined, false);
|
|
141
128
|
}
|
|
142
129
|
|
|
143
130
|
/**
|
|
@@ -176,7 +163,7 @@ export class Entity extends BaseNode {
|
|
|
176
163
|
name: options,
|
|
177
164
|
}, this, 'properties');
|
|
178
165
|
} else if (options instanceof EntityProperty) {
|
|
179
|
-
options.
|
|
166
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
180
167
|
property = options;
|
|
181
168
|
Object.assign(property, relationOptions);
|
|
182
169
|
} else {
|
|
@@ -264,7 +251,7 @@ export class Entity extends BaseNode {
|
|
|
264
251
|
|
|
265
252
|
addProperty(options?: string | Partial<EntityProperty> | EntityProperty) {
|
|
266
253
|
const node = this._addProperty(options as any);
|
|
267
|
-
const index = this.properties.
|
|
254
|
+
const index = this.properties.indexOf(node);
|
|
268
255
|
node.create({
|
|
269
256
|
index,
|
|
270
257
|
parentNode: this,
|
|
@@ -279,7 +266,7 @@ export class Entity extends BaseNode {
|
|
|
279
266
|
return (this.indexes || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
280
267
|
}
|
|
281
268
|
getEntityIndexUniqueName(name = 'entityIndex1') {
|
|
282
|
-
return utils.unique(name, this.getEntityIndexExistingNames());
|
|
269
|
+
return utils.unique(name, this.getEntityIndexExistingNames(), undefined, false);
|
|
283
270
|
}
|
|
284
271
|
|
|
285
272
|
/**
|
|
@@ -318,7 +305,7 @@ export class Entity extends BaseNode {
|
|
|
318
305
|
name: options,
|
|
319
306
|
}, this, 'indexes');
|
|
320
307
|
} else if (options instanceof EntityIndex) {
|
|
321
|
-
options.
|
|
308
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
322
309
|
entityIndex = options;
|
|
323
310
|
Object.assign(entityIndex, relationOptions);
|
|
324
311
|
} else {
|
|
@@ -406,7 +393,7 @@ export class Entity extends BaseNode {
|
|
|
406
393
|
|
|
407
394
|
addEntityIndex(options?: string | Partial<EntityIndex> | EntityIndex) {
|
|
408
395
|
const node = this._addEntityIndex(options as any);
|
|
409
|
-
const index = this.indexes.
|
|
396
|
+
const index = this.indexes.indexOf(node);
|
|
410
397
|
node.create({
|
|
411
398
|
index,
|
|
412
399
|
parentNode: this,
|
|
@@ -520,6 +507,29 @@ export class Entity extends BaseNode {
|
|
|
520
507
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
521
508
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
522
509
|
//================================================================================
|
|
510
|
+
|
|
511
|
+
getPropertyExistingNameList(excludedList: Array<EntityProperty> = []) {
|
|
512
|
+
const excludedSet = Array.from(new Set(excludedList));
|
|
513
|
+
const namelist = excludedSet.map((item) => item.name);
|
|
514
|
+
console.log(namelist);
|
|
515
|
+
|
|
516
|
+
return (this.properties || []).filter((item) => !namelist.includes(item.name)).map((item) => item.name);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* 设置实体表名并修改表名
|
|
520
|
+
*/
|
|
521
|
+
setName(name: string) {
|
|
522
|
+
const object: { name: string; tableName?: string } = {
|
|
523
|
+
name,
|
|
524
|
+
};
|
|
525
|
+
if (this.name === this.tableName && (this.origin === 'ide' || this.origin === 'sql')) {
|
|
526
|
+
object.tableName = name;
|
|
527
|
+
}
|
|
528
|
+
this.update({
|
|
529
|
+
...object,
|
|
530
|
+
field: 'name',
|
|
531
|
+
});
|
|
532
|
+
}
|
|
523
533
|
/**
|
|
524
534
|
* 设置实体表名
|
|
525
535
|
*/
|
|
@@ -681,10 +691,13 @@ export class Entity extends BaseNode {
|
|
|
681
691
|
}
|
|
682
692
|
|
|
683
693
|
get ns() {
|
|
684
|
-
const ns = entity2LogicNamespace(this);
|
|
694
|
+
const ns: Namespace = entity2LogicNamespace(this);
|
|
685
695
|
ns.path = this.getNamespace() + '.' + ns.name;
|
|
686
696
|
return ns;
|
|
687
697
|
}
|
|
698
|
+
// @excludedInJSON()
|
|
699
|
+
// nslogic: Namespace;
|
|
700
|
+
|
|
688
701
|
get logics() {
|
|
689
702
|
const ns = this.ns;
|
|
690
703
|
return ns.logics;
|
|
@@ -695,7 +708,11 @@ export class Entity extends BaseNode {
|
|
|
695
708
|
code += ' @nasl.annotation.Entity()\n';
|
|
696
709
|
|
|
697
710
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
698
|
-
|
|
711
|
+
try {
|
|
712
|
+
code += this.toEmbeddedTS(state);
|
|
713
|
+
} catch (err) {
|
|
714
|
+
code += '';
|
|
715
|
+
}
|
|
699
716
|
code += '}\n';
|
|
700
717
|
|
|
701
718
|
return {
|
package/src/concepts/Enum__.ts
CHANGED
|
@@ -125,10 +125,6 @@ export class Enum extends BaseNode {
|
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
128
|
/**
|
|
133
129
|
* 插入枚举项
|
|
134
130
|
* @internal
|
|
@@ -148,7 +144,7 @@ export class Enum extends BaseNode {
|
|
|
148
144
|
const relationOptions = { parentNode: this, parentKey: 'enumItems' };
|
|
149
145
|
let enumItem: EnumItem;
|
|
150
146
|
if (options instanceof EnumItem) {
|
|
151
|
-
options.
|
|
147
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
152
148
|
enumItem = options;
|
|
153
149
|
Object.assign(enumItem, relationOptions);
|
|
154
150
|
} else {
|
|
@@ -161,8 +157,6 @@ export class Enum extends BaseNode {
|
|
|
161
157
|
return enumItem;
|
|
162
158
|
}
|
|
163
159
|
|
|
164
|
-
|
|
165
|
-
|
|
166
160
|
/**
|
|
167
161
|
* 插入枚举项
|
|
168
162
|
* @param enumItemOptions 枚举项参数
|
|
@@ -185,8 +179,6 @@ export class Enum extends BaseNode {
|
|
|
185
179
|
return node;
|
|
186
180
|
}
|
|
187
181
|
|
|
188
|
-
|
|
189
|
-
|
|
190
182
|
/**
|
|
191
183
|
* 添加枚举项
|
|
192
184
|
* @internal
|
|
@@ -206,8 +198,6 @@ export class Enum extends BaseNode {
|
|
|
206
198
|
return this._insertEnumItemAt(options as any, index);
|
|
207
199
|
}
|
|
208
200
|
|
|
209
|
-
|
|
210
|
-
|
|
211
201
|
/**
|
|
212
202
|
* 添加枚举项
|
|
213
203
|
* @param enumItemOptions 枚举项参数
|
|
@@ -222,7 +212,7 @@ export class Enum extends BaseNode {
|
|
|
222
212
|
|
|
223
213
|
addEnumItem(options?: Partial<EnumItem> | EnumItem) {
|
|
224
214
|
const node = this._addEnumItem(options as any);
|
|
225
|
-
const index = this.enumItems.
|
|
215
|
+
const index = this.enumItems.indexOf(node);
|
|
226
216
|
node.create({
|
|
227
217
|
index,
|
|
228
218
|
parentNode: this,
|
|
@@ -231,9 +221,6 @@ export class Enum extends BaseNode {
|
|
|
231
221
|
return node;
|
|
232
222
|
}
|
|
233
223
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
224
|
/**
|
|
238
225
|
* 删除枚举项
|
|
239
226
|
* @param enumItem 已有的枚举项实例
|
|
@@ -241,7 +228,7 @@ export class Enum extends BaseNode {
|
|
|
241
228
|
removeEnumItem(enumItem: EnumItem): void;
|
|
242
229
|
|
|
243
230
|
removeEnumItem(options: EnumItem) {
|
|
244
|
-
|
|
231
|
+
const enumItem: EnumItem = options;
|
|
245
232
|
return enumItem.delete();
|
|
246
233
|
}
|
|
247
234
|
|
|
@@ -280,24 +267,30 @@ export class Enum extends BaseNode {
|
|
|
280
267
|
@property()
|
|
281
268
|
children: any;
|
|
282
269
|
|
|
270
|
+
/**
|
|
271
|
+
* 是否展开
|
|
272
|
+
*/
|
|
273
|
+
@property()
|
|
274
|
+
isLeaf: boolean = true;
|
|
275
|
+
|
|
276
|
+
getEnumItemExistingNames(excludedList: Array<EnumItem> = []) {
|
|
277
|
+
const excludedSet = new Set(excludedList);
|
|
278
|
+
return (this.enumItems || []).filter((item) => !excludedSet.has(item)).map((item) => item.value);
|
|
279
|
+
}
|
|
280
|
+
|
|
283
281
|
@withSourceMap()
|
|
284
282
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
285
|
-
let code = `export class ${this.name} {\n`;
|
|
283
|
+
let code = `export class ${this.name} extends nasl.core.Enums {\n`;
|
|
286
284
|
// 增加一个单独的标签
|
|
287
|
-
code += indent(state.tabSize + 1) + `
|
|
288
|
-
let enumItemStr = '';
|
|
285
|
+
code += indent(state.tabSize + 1) + `__name: '${this.getNamespace()}.${this.name}';\n`;
|
|
289
286
|
this.enumItems.forEach((property) => {
|
|
290
287
|
code += indent(state.tabSize + 1);
|
|
291
288
|
code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
292
289
|
code += ';\n';
|
|
293
|
-
|
|
294
|
-
enumItemStr += `${property.value}: ${this.name},\n`;
|
|
295
290
|
});
|
|
296
291
|
code += `
|
|
297
292
|
static toList() {
|
|
298
|
-
let value: nasl.collection.List<
|
|
299
|
-
${enumItemStr}
|
|
300
|
-
}>
|
|
293
|
+
let value: nasl.collection.List<nasl.ui.EnumItem>
|
|
301
294
|
return value;
|
|
302
295
|
}
|
|
303
296
|
static toString() {
|
|
@@ -330,7 +323,11 @@ export class Enum extends BaseNode {
|
|
|
330
323
|
let code = `namespace ${this.getNamespace()} {\n`;
|
|
331
324
|
|
|
332
325
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
333
|
-
|
|
326
|
+
try {
|
|
327
|
+
code += this.toEmbeddedTS(state);
|
|
328
|
+
} catch (err) {
|
|
329
|
+
code += '';
|
|
330
|
+
}
|
|
334
331
|
code += '}\n';
|
|
335
332
|
|
|
336
333
|
return {
|
|
@@ -346,7 +343,7 @@ export class Enum extends BaseNode {
|
|
|
346
343
|
//================================================================================
|
|
347
344
|
}
|
|
348
345
|
|
|
349
|
-
classMap
|
|
346
|
+
classMap.Enum = Enum;
|
|
350
347
|
export default Enum;
|
|
351
348
|
//================================================================================
|
|
352
349
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|