@lcap/nasl 1.0.0-alpha.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +513 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +363 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +20 -0
- package/out/common/BaseNode.js +219 -81
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +18 -1
- package/out/concepts/App__.js +75 -35
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +5 -1
- package/out/concepts/Argument__.js +21 -3
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +190 -0
- package/out/concepts/Assignee__.js +264 -0
- package/out/concepts/Assignee__.js.map +1 -0
- package/out/concepts/Assignment__.js +5 -0
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +8 -7
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +19 -0
- package/out/concepts/BindAttribute__.js +54 -9
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +22 -2
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -2
- package/out/concepts/BindEvent__.js +67 -34
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -0
- package/out/concepts/BooleanLiteral__.js +10 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +41 -23
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +5 -0
- package/out/concepts/CallInterface__.js +238 -31
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +4 -4
- package/out/concepts/CallLogic__.js +110 -53
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +7 -1
- package/out/concepts/CallQueryComponent__.js +44 -25
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js +6 -2
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -1
- package/out/concepts/CompletionProperty__.js +2 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +2 -2
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +2 -2
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +2 -2
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +14 -0
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +94 -18
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js +9 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +73 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +4 -1
- package/out/concepts/Entity__.js +37 -15
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +4 -0
- package/out/concepts/Enum__.js +18 -10
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +2 -2
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +9 -13
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +9 -9
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +76 -29
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js +4 -4
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +6 -4
- package/out/concepts/InterfaceParam__.js +52 -19
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +42 -30
- package/out/concepts/Interface__.js +131 -15
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +1 -0
- package/out/concepts/JSBlock__.js +3 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +14 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +16 -1
- package/out/concepts/Logic__.js +176 -33
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -12
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +28 -18
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +36 -25
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -0
- package/out/concepts/NullLiteral__.js +11 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +1 -1
- package/out/concepts/NumericLiteral__.js +17 -6
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +7 -3
- package/out/concepts/Param__.js +57 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +4 -4
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +112 -49
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -1
- package/out/concepts/Process__.js +77 -81
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +4 -4
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +3 -3
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +2 -2
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +67 -21
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +4 -0
- package/out/concepts/Role__.js +13 -4
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.js +2 -2
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +1 -1
- package/out/concepts/StringLiteral__.js +21 -31
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +5 -4
- package/out/concepts/StructureProperty__.js +55 -26
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +44 -30
- package/out/concepts/Structure__.js +42 -10
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +4 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js +2 -2
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +5 -5
- package/out/concepts/TypeAnnotation__.js +74 -20
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/UnaryExpression__.js +10 -8
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +48 -13
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +10 -1
- package/out/concepts/Variable__.js +70 -18
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +10 -10
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +299 -201
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +12 -13
- package/out/concepts/View__.js +106 -103
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +3 -3
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +4 -1
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
- package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
- package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +149 -13
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
- package/out/concepts/basics/types/coreTypeList.js +11 -10
- package/out/concepts/basics/types/coreTypeList.js.map +1 -1
- package/out/concepts/index__.d.ts +1 -0
- package/out/concepts/index__.js +1 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/config.d.ts +1 -2
- package/out/config.js +1 -2
- package/out/config.js.map +1 -1
- package/out/enums/KEYWORDS.d.ts +3 -0
- package/out/enums/KEYWORDS.js +1208 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
- package/out/enums/LEVEL_NAME_MAP.js +30 -0
- package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
- package/out/eventBus.d.ts +3 -0
- package/out/eventBus.js +7 -0
- package/out/eventBus.js.map +1 -0
- package/out/generator/genBundleFiles.d.ts +7 -2
- package/out/generator/genBundleFiles.js +168 -27
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +20 -20
- package/out/generator/genMetaData.js +50 -15
- package/out/generator/genMetaData.js.map +1 -1
- package/out/index.d.ts +2 -0
- package/out/index.js +2 -0
- package/out/index.js.map +1 -1
- package/out/manager/diagnostic.d.ts +1 -1
- package/out/server/createUiTs.d.ts +1 -0
- package/out/server/createUiTs.js +49 -5
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +38 -23
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.js +2 -0
- package/out/server/getExtensionModules.js.map +1 -1
- package/out/server/getFunctions.d.ts +1 -0
- package/out/server/getFunctions.js +7 -1
- package/out/server/getFunctions.js.map +1 -1
- package/out/server/getLogics.js +63 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +279 -36
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +6 -1
- package/out/server/getProcesses.js +243 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +11 -0
- package/out/server/getScope.js +45 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.js +4 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +30 -53
- package/out/server/naslServer.js +682 -363
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +10 -0
- package/out/server/process2LogicNamespace.js +29 -1
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.d.ts +22 -3
- package/out/server/translator.js +367 -123
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.d.ts +1 -0
- package/out/service/creator/add.configs.js +68 -0
- package/out/service/creator/add.configs.js.map +1 -0
- package/out/service/creator/errHandles.d.ts +18 -0
- package/out/service/creator/errHandles.js +60 -0
- package/out/service/creator/errHandles.js.map +1 -0
- package/out/service/creator/index.d.ts +1 -0
- package/out/service/creator/index.js +72 -0
- package/out/service/creator/index.js.map +1 -0
- package/out/service/storage/api.d.ts +18 -0
- package/out/service/storage/api.js +17 -0
- package/out/service/storage/api.js.map +1 -0
- package/out/service/storage/init.js +200 -37
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/service.d.ts +2 -0
- package/out/service/storage/service.js +10 -0
- package/out/service/storage/service.js.map +1 -0
- package/out/service/storage/storagePoint.d.ts +1 -14
- package/out/service/storage/storagePoint.js +16 -16
- package/out/service/storage/storagePoint.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +11 -11
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +5 -5
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genEnumSelectBlock.js +2 -2
- package/out/templator/genEnumSelectBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +5 -3
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.d.ts +3 -1
- package/out/templator/genGridViewBlock.js +61 -6
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.d.ts +2 -0
- package/out/templator/genQueryComponent.js +27 -14
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genTableBlock.d.ts +1 -1
- package/out/templator/genTableBlock.js +4 -5
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +9 -10
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +13 -4
- package/out/templator/utils.js +8 -4
- package/out/templator/utils.js.map +1 -1
- package/out/test/fixtures/env.js +0 -1
- package/out/test/fixtures/env.js.map +1 -1
- package/out/test/units/page/Element.spec.js +3 -3
- package/out/test/units/page/Element.spec.js.map +1 -1
- package/out/test/units/temp/temp.spec.js +1 -1
- package/out/test/units/temp/temp.spec.js.map +1 -1
- package/out/utils/index.d.ts +6 -0
- package/out/utils/index.js +20 -1
- package/out/utils/index.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +116 -39
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +215 -71
- package/src/concepts/App__.ts +77 -37
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +437 -0
- package/src/concepts/Assignment__.ts +4 -1
- package/src/concepts/BinaryExpression__.ts +9 -7
- package/src/concepts/BindAttribute__.ts +68 -8
- package/src/concepts/BindDirective__.ts +21 -2
- package/src/concepts/BindEvent__.ts +67 -23
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +38 -21
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +114 -86
- package/src/concepts/CallQueryComponent__.ts +23 -15
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +2 -2
- package/src/concepts/ConfigProperty__.ts +2 -2
- package/src/concepts/Configuration__.ts +2 -2
- package/src/concepts/Constant__.ts +12 -0
- package/src/concepts/Destination__.ts +101 -17
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +58 -5
- package/src/concepts/Entity__.ts +40 -23
- package/src/concepts/Enum__.ts +16 -11
- package/src/concepts/Event__.ts +2 -2
- package/src/concepts/ForEachStatement__.ts +14 -19
- package/src/concepts/Function__.ts +9 -9
- package/src/concepts/Identifier__.ts +83 -32
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +52 -16
- package/src/concepts/Interface__.ts +128 -14
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +173 -35
- package/src/concepts/MemberExpression__.ts +58 -14
- package/src/concepts/Module__.ts +27 -16
- package/src/concepts/Namespace__.ts +37 -25
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +56 -15
- package/src/concepts/ProcessComponent__.ts +4 -4
- package/src/concepts/ProcessElement__.ts +138 -39
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +81 -94
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryJoinExpression__.ts +4 -4
- package/src/concepts/QueryLimitExpression__.ts +3 -12
- package/src/concepts/QuerySelectExpression__.ts +2 -2
- package/src/concepts/Return__.ts +62 -15
- package/src/concepts/Role__.ts +5 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -18
- package/src/concepts/Structure__.ts +30 -8
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +58 -15
- package/src/concepts/UnaryExpression__.ts +10 -8
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +44 -14
- package/src/concepts/Variable__.ts +63 -14
- package/src/concepts/ViewComponent__.ts +10 -10
- package/src/concepts/ViewElement__.ts +285 -162
- package/src/concepts/View__.ts +116 -70
- package/src/concepts/WhileStatement__.ts +4 -4
- package/src/concepts/basics/stdlib/index.ts +4 -2
- package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
- package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
- package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/types/coreTypeList.ts +11 -11
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1206 -0
- package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
- package/src/eventBus.ts +5 -0
- package/src/generator/genBundleFiles.ts +182 -30
- package/src/generator/genMetaData.ts +72 -21
- package/src/index.ts +2 -0
- package/src/manager/diagnostic.ts +1 -1
- package/src/server/createUiTs.ts +45 -7
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +66 -19
- package/src/server/getMemberIdentifier.ts +233 -63
- package/src/server/getProcesses.ts +248 -4
- package/src/server/getScope.ts +50 -0
- package/src/server/index.ts +12 -1
- package/src/server/naslServer.ts +685 -387
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +423 -128
- package/src/service/config/index.js +1 -1
- package/src/service/creator/errHandles.js +5 -2
- package/src/service/creator/index.js +0 -6
- package/src/service/storage/api.js +14 -0
- package/src/service/storage/init.ts +198 -45
- package/src/service/storage/service.ts +6 -0
- package/src/service/storage/storagePoint.ts +16 -16
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
- package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
- package/src/templator/genEditTableBlock.ts +5 -5
- package/src/templator/genEnumSelectBlock.ts +2 -2
- package/src/templator/genGetBlock.ts +6 -8
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +39 -28
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +9 -11
- package/src/templator/utils.ts +9 -6
- package/src/test/fixtures/env.ts +0 -2
- package/src/test/units/page/Element.spec.ts +3 -3
- package/src/test/units/temp/temp.spec.ts +1 -1
- package/src/utils/index.ts +19 -0
- package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
- package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
- package/out/data/Module.d.ts +0 -34
- package/out/data/Module.js +0 -53
- package/out/data/Module.js.map +0 -1
- package/src/automate/engine/index.d.ts +0 -3
|
@@ -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
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -113,7 +115,7 @@ export class Destination extends LogicItem {
|
|
|
113
115
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
114
116
|
let argument: Argument;
|
|
115
117
|
if (options instanceof Argument) {
|
|
116
|
-
options.
|
|
118
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
117
119
|
argument = options;
|
|
118
120
|
Object.assign(argument, relationOptions);
|
|
119
121
|
} else {
|
|
@@ -187,7 +189,7 @@ export class Destination extends LogicItem {
|
|
|
187
189
|
|
|
188
190
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
189
191
|
const node = this._addArgument(options as any);
|
|
190
|
-
const index = this.arguments.
|
|
192
|
+
const index = this.arguments.indexOf(node);
|
|
191
193
|
node.create({
|
|
192
194
|
index,
|
|
193
195
|
parentNode: this,
|
|
@@ -248,6 +250,18 @@ export class Destination extends LogicItem {
|
|
|
248
250
|
return '';
|
|
249
251
|
}
|
|
250
252
|
|
|
253
|
+
get tsName() {
|
|
254
|
+
if (this.viewName) {
|
|
255
|
+
let tsName = this.viewName;
|
|
256
|
+
// 匹配所有特殊字符都转为_
|
|
257
|
+
tsName = tsName.replace(/\W/g, '_');
|
|
258
|
+
if (/^\d/.test(tsName)) {
|
|
259
|
+
tsName = '$' + tsName;
|
|
260
|
+
}
|
|
261
|
+
return tsName;
|
|
262
|
+
}
|
|
263
|
+
return '';
|
|
264
|
+
}
|
|
251
265
|
genViewArr() {
|
|
252
266
|
const viewArr = this.viewNamespace?.split('.').splice(1).filter((item, index) => index % 2 === 1) || [];
|
|
253
267
|
if (this.viewName) {
|
|
@@ -260,10 +274,10 @@ export class Destination extends LogicItem {
|
|
|
260
274
|
let url = '';
|
|
261
275
|
const viewArr = this.genViewArr();
|
|
262
276
|
if (Array.isArray(viewArr) && viewArr.length) {
|
|
263
|
-
url += ':
|
|
277
|
+
url += ':destination="`';
|
|
264
278
|
url += `/${viewArr.join('/')}`;
|
|
265
279
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
266
|
-
const args = this.arguments
|
|
280
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toVue(options)}` + '}');
|
|
267
281
|
url += `?${args.join('&')}`;
|
|
268
282
|
}
|
|
269
283
|
url += '`"';
|
|
@@ -278,7 +292,7 @@ export class Destination extends LogicItem {
|
|
|
278
292
|
url += '`';
|
|
279
293
|
url += `/${viewArr.join('/')}`;
|
|
280
294
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
281
|
-
const args = this.arguments
|
|
295
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toUI()}` + '}');
|
|
282
296
|
url += `?${args.join('&')}`;
|
|
283
297
|
}
|
|
284
298
|
url += '`';
|
|
@@ -323,6 +337,38 @@ export class Destination extends LogicItem {
|
|
|
323
337
|
});
|
|
324
338
|
}
|
|
325
339
|
|
|
340
|
+
/**
|
|
341
|
+
* 设置view的argument
|
|
342
|
+
*/
|
|
343
|
+
setViewArgument(view: View) {
|
|
344
|
+
const params = view.params;
|
|
345
|
+
const argument = this.arguments;
|
|
346
|
+
if (params.length > argument.length) {
|
|
347
|
+
params.forEach((item) => {
|
|
348
|
+
const arg = argument.find((arg) => arg.keyword === item.name);
|
|
349
|
+
if (!arg) {
|
|
350
|
+
this.addArgument({
|
|
351
|
+
keyword: item.name,
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
} else {
|
|
356
|
+
argument.forEach((item) => {
|
|
357
|
+
const param = params.find((param) => param.name === item.keyword);
|
|
358
|
+
if (!param) {
|
|
359
|
+
item.delete();
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* 设置Arguments的KeyWord
|
|
366
|
+
*/
|
|
367
|
+
setArgumentsKeyWord(options: {findArgument: Argument, newKeyword: string}) {
|
|
368
|
+
const { findArgument, newKeyword } = options;
|
|
369
|
+
findArgument.setKeyword(newKeyword);
|
|
370
|
+
}
|
|
371
|
+
|
|
326
372
|
get viewPath() {
|
|
327
373
|
if (!this.viewNamespace) {
|
|
328
374
|
return '';
|
|
@@ -338,23 +384,61 @@ export class Destination extends LogicItem {
|
|
|
338
384
|
}
|
|
339
385
|
return `${viewNameAttr.join('/')}/`;
|
|
340
386
|
}
|
|
341
|
-
|
|
342
387
|
@withSourceMap()
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
code += indent(state.tabSize + 2);
|
|
388
|
+
toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
|
|
389
|
+
// const tab = indent(state.tabSize);
|
|
346
390
|
if (this.tsCalleeNamespace && this.tsName) {
|
|
347
|
-
code
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
}
|
|
391
|
+
let code = `destination: function() {\n`;
|
|
392
|
+
code += prependCode;
|
|
393
|
+
code += '\n';
|
|
394
|
+
if (this.tsCalleeNamespace && this.viewName) {
|
|
395
|
+
code += `${this.tsCalleeNamespace}.${this.viewName}.$destination({`;
|
|
396
|
+
if (Array.isArray(this.arguments)) {
|
|
397
|
+
this.arguments.forEach((argument: Argument) => {
|
|
398
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
code += `});\n`;
|
|
352
402
|
}
|
|
353
|
-
code += `
|
|
403
|
+
code += indent(state.tabSize + 1) + `}\n`;
|
|
404
|
+
return code;
|
|
405
|
+
} else {
|
|
406
|
+
return '__IDENTIFIER__';
|
|
354
407
|
}
|
|
408
|
+
}
|
|
355
409
|
|
|
356
|
-
|
|
357
|
-
|
|
410
|
+
@withSourceMap()
|
|
411
|
+
toEmbeddedTS(state?: TranslatorState): string {
|
|
412
|
+
let code = '';
|
|
413
|
+
|
|
414
|
+
if (this.parentNode instanceof BindAttribute) {
|
|
415
|
+
code = `${utils.firstLowerCase(this.concept)}: () => {\n`;
|
|
416
|
+
code += indent(state.tabSize + 2);
|
|
417
|
+
if (this.tsCalleeNamespace && this.tsName) {
|
|
418
|
+
code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
|
|
419
|
+
if (Array.isArray(this.arguments)) {
|
|
420
|
+
this.arguments.forEach((argument: Argument) => {
|
|
421
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
code += `});\n`;
|
|
425
|
+
}
|
|
426
|
+
code += indent(state.tabSize + 1) + `},\n`;
|
|
427
|
+
return code;
|
|
428
|
+
} else {
|
|
429
|
+
if (this.tsCalleeNamespace && this.tsName) {
|
|
430
|
+
code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
|
|
431
|
+
if (Array.isArray(this.arguments)) {
|
|
432
|
+
this.arguments.forEach((argument: Argument) => {
|
|
433
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
code += `});\n`;
|
|
437
|
+
} else {
|
|
438
|
+
code += '__IDENTIFIER__';
|
|
439
|
+
}
|
|
440
|
+
return code;
|
|
441
|
+
}
|
|
358
442
|
}
|
|
359
443
|
@withSourceMap()
|
|
360
444
|
toEmbeddedTSNormalFunction(state?: TranslatorState): string {
|
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 {
|
|
@@ -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,56 @@ 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
|
+
if (typeNamespace === 'nasl.collection') {
|
|
373
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
374
|
+
const properties = node.properties || [];
|
|
375
|
+
completionChildren = properties;
|
|
376
|
+
}
|
|
377
|
+
} else {
|
|
378
|
+
completionChildren = undefined;
|
|
379
|
+
}
|
|
380
|
+
return completionChildren;
|
|
381
|
+
} catch (err) {
|
|
382
|
+
console.log(err);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
334
385
|
/**
|
|
335
386
|
* 设置是否必填
|
|
336
387
|
*/
|
|
@@ -378,8 +429,8 @@ export class EntityProperty extends BaseNode {
|
|
|
378
429
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
379
430
|
}
|
|
380
431
|
if (this.defaultValue) {
|
|
381
|
-
code +=
|
|
382
|
-
}
|
|
432
|
+
code += '= ' + this.typeAnnotation.getDefaultValue(this.defaultValue);
|
|
433
|
+
}
|
|
383
434
|
return code;
|
|
384
435
|
}
|
|
385
436
|
/**
|
|
@@ -399,7 +450,7 @@ export class EntityProperty extends BaseNode {
|
|
|
399
450
|
// eslint-disable-next-line prefer-rest-params
|
|
400
451
|
throw new Error('找不到类型:' + arguments[0]);
|
|
401
452
|
} else {
|
|
402
|
-
typeAnnotation._delete();
|
|
453
|
+
typeAnnotation._delete?.();
|
|
403
454
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
404
455
|
Object.assign(typeAnnotation, relationOptions);
|
|
405
456
|
}
|
|
@@ -439,7 +490,8 @@ export class EntityProperty extends BaseNode {
|
|
|
439
490
|
*/
|
|
440
491
|
moveUp() {
|
|
441
492
|
const properties = [...(this.parentNode as Entity).properties];
|
|
442
|
-
const
|
|
493
|
+
const propertiesNameList = properties.map((item) => item.name);
|
|
494
|
+
const oldIndex = propertiesNameList.indexOf(this.name);
|
|
443
495
|
this.changeSort(properties, oldIndex, 'up');
|
|
444
496
|
this.parentNode.update({
|
|
445
497
|
properties,
|
|
@@ -450,7 +502,8 @@ export class EntityProperty extends BaseNode {
|
|
|
450
502
|
*/
|
|
451
503
|
moveDown() {
|
|
452
504
|
const properties = [...(this.parentNode as Entity).properties];
|
|
453
|
-
const
|
|
505
|
+
const propertiesNameList = properties.map((item) => item.name);
|
|
506
|
+
const oldIndex = propertiesNameList.indexOf(this.name);
|
|
454
507
|
this.changeSort(properties, oldIndex, 'down');
|
|
455
508
|
this.parentNode.update({
|
|
456
509
|
properties,
|
package/src/concepts/Entity__.ts
CHANGED
|
@@ -110,15 +110,15 @@ export class Entity extends BaseNode {
|
|
|
110
110
|
/**
|
|
111
111
|
* 设置实体名称
|
|
112
112
|
*/
|
|
113
|
-
setName(name: string) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
113
|
+
// setName(name: string) {
|
|
114
|
+
// const object = {
|
|
115
|
+
// name,
|
|
116
|
+
// };
|
|
117
|
+
// this.update({
|
|
118
|
+
// ...object,
|
|
119
|
+
// field: 'name',
|
|
120
|
+
// });
|
|
121
|
+
// }
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
124
|
* 设置实体描述
|
|
@@ -132,7 +132,7 @@ export class Entity extends BaseNode {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
getPropertyExistingNames(excludedList: Array<EntityProperty> = []) {
|
|
136
136
|
const excludedSet = new Set(excludedList);
|
|
137
137
|
return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
138
138
|
}
|
|
@@ -176,7 +176,7 @@ export class Entity extends BaseNode {
|
|
|
176
176
|
name: options,
|
|
177
177
|
}, this, 'properties');
|
|
178
178
|
} else if (options instanceof EntityProperty) {
|
|
179
|
-
options.
|
|
179
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
180
180
|
property = options;
|
|
181
181
|
Object.assign(property, relationOptions);
|
|
182
182
|
} else {
|
|
@@ -264,7 +264,7 @@ export class Entity extends BaseNode {
|
|
|
264
264
|
|
|
265
265
|
addProperty(options?: string | Partial<EntityProperty> | EntityProperty) {
|
|
266
266
|
const node = this._addProperty(options as any);
|
|
267
|
-
const index = this.properties.
|
|
267
|
+
const index = this.properties.indexOf(node);
|
|
268
268
|
node.create({
|
|
269
269
|
index,
|
|
270
270
|
parentNode: this,
|
|
@@ -273,7 +273,6 @@ export class Entity extends BaseNode {
|
|
|
273
273
|
return node;
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
|
|
277
276
|
getEntityIndexExistingNames(excludedList: Array<EntityIndex> = []) {
|
|
278
277
|
const excludedSet = new Set(excludedList);
|
|
279
278
|
return (this.indexes || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
@@ -318,7 +317,7 @@ export class Entity extends BaseNode {
|
|
|
318
317
|
name: options,
|
|
319
318
|
}, this, 'indexes');
|
|
320
319
|
} else if (options instanceof EntityIndex) {
|
|
321
|
-
options.
|
|
320
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
322
321
|
entityIndex = options;
|
|
323
322
|
Object.assign(entityIndex, relationOptions);
|
|
324
323
|
} else {
|
|
@@ -406,7 +405,7 @@ export class Entity extends BaseNode {
|
|
|
406
405
|
|
|
407
406
|
addEntityIndex(options?: string | Partial<EntityIndex> | EntityIndex) {
|
|
408
407
|
const node = this._addEntityIndex(options as any);
|
|
409
|
-
const index = this.indexes.
|
|
408
|
+
const index = this.indexes.indexOf(node);
|
|
410
409
|
node.create({
|
|
411
410
|
index,
|
|
412
411
|
parentNode: this,
|
|
@@ -415,9 +414,6 @@ export class Entity extends BaseNode {
|
|
|
415
414
|
return node;
|
|
416
415
|
}
|
|
417
416
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
417
|
/**
|
|
422
418
|
* 删除实体字段
|
|
423
419
|
* @param name 实体字段名称
|
|
@@ -466,8 +462,6 @@ export class Entity extends BaseNode {
|
|
|
466
462
|
return params;
|
|
467
463
|
}
|
|
468
464
|
|
|
469
|
-
|
|
470
|
-
|
|
471
465
|
/**
|
|
472
466
|
* 删除实体索引
|
|
473
467
|
* @param name 实体索引名称
|
|
@@ -520,6 +514,22 @@ export class Entity extends BaseNode {
|
|
|
520
514
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
521
515
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
522
516
|
//================================================================================
|
|
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 {
|
|
@@ -711,7 +728,7 @@ export class Entity extends BaseNode {
|
|
|
711
728
|
//================================================================================
|
|
712
729
|
}
|
|
713
730
|
|
|
714
|
-
classMap
|
|
731
|
+
classMap.Entity = Entity;
|
|
715
732
|
export default Entity;
|
|
716
733
|
//================================================================================
|
|
717
734
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
package/src/concepts/Enum__.ts
CHANGED
|
@@ -148,7 +148,7 @@ export class Enum extends BaseNode {
|
|
|
148
148
|
const relationOptions = { parentNode: this, parentKey: 'enumItems' };
|
|
149
149
|
let enumItem: EnumItem;
|
|
150
150
|
if (options instanceof EnumItem) {
|
|
151
|
-
options.
|
|
151
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
152
152
|
enumItem = options;
|
|
153
153
|
Object.assign(enumItem, relationOptions);
|
|
154
154
|
} else {
|
|
@@ -222,7 +222,7 @@ export class Enum extends BaseNode {
|
|
|
222
222
|
|
|
223
223
|
addEnumItem(options?: Partial<EnumItem> | EnumItem) {
|
|
224
224
|
const node = this._addEnumItem(options as any);
|
|
225
|
-
const index = this.enumItems.
|
|
225
|
+
const index = this.enumItems.indexOf(node);
|
|
226
226
|
node.create({
|
|
227
227
|
index,
|
|
228
228
|
parentNode: this,
|
|
@@ -280,24 +280,25 @@ export class Enum extends BaseNode {
|
|
|
280
280
|
@property()
|
|
281
281
|
children: any;
|
|
282
282
|
|
|
283
|
+
/**
|
|
284
|
+
* 是否展开
|
|
285
|
+
*/
|
|
286
|
+
@property()
|
|
287
|
+
isLeaf: boolean = true;
|
|
288
|
+
|
|
283
289
|
@withSourceMap()
|
|
284
290
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
285
|
-
let code = `export class ${this.name} {\n`;
|
|
291
|
+
let code = `export class ${this.name} extends nasl.core.Enums {\n`;
|
|
286
292
|
// 增加一个单独的标签
|
|
287
|
-
code += indent(state.tabSize + 1) + `
|
|
288
|
-
let enumItemStr = '';
|
|
293
|
+
code += indent(state.tabSize + 1) + `__name: '${this.getNamespace()}.${this.name}';\n`;
|
|
289
294
|
this.enumItems.forEach((property) => {
|
|
290
295
|
code += indent(state.tabSize + 1);
|
|
291
296
|
code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
292
297
|
code += ';\n';
|
|
293
|
-
|
|
294
|
-
enumItemStr += `${property.value}: ${this.name},\n`;
|
|
295
298
|
});
|
|
296
299
|
code += `
|
|
297
300
|
static toList() {
|
|
298
|
-
let value: nasl.collection.List<
|
|
299
|
-
${enumItemStr}
|
|
300
|
-
}>
|
|
301
|
+
let value: nasl.collection.List<nasl.ui.EnumItem>
|
|
301
302
|
return value;
|
|
302
303
|
}
|
|
303
304
|
static toString() {
|
|
@@ -330,7 +331,11 @@ export class Enum extends BaseNode {
|
|
|
330
331
|
let code = `namespace ${this.getNamespace()} {\n`;
|
|
331
332
|
|
|
332
333
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
333
|
-
|
|
334
|
+
try {
|
|
335
|
+
code += this.toEmbeddedTS(state);
|
|
336
|
+
} catch (err) {
|
|
337
|
+
code += '';
|
|
338
|
+
}
|
|
334
339
|
code += '}\n';
|
|
335
340
|
|
|
336
341
|
return {
|
package/src/concepts/Event__.ts
CHANGED
|
@@ -150,7 +150,7 @@ export class Event extends BaseNode {
|
|
|
150
150
|
name: options,
|
|
151
151
|
}, this, 'params');
|
|
152
152
|
} else if (options instanceof Param) {
|
|
153
|
-
options.
|
|
153
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
154
154
|
param = options;
|
|
155
155
|
Object.assign(param, relationOptions);
|
|
156
156
|
} else {
|
|
@@ -238,7 +238,7 @@ export class Event extends BaseNode {
|
|
|
238
238
|
|
|
239
239
|
addParam(options?: string | Partial<Param> | Param) {
|
|
240
240
|
const node = this._addParam(options as any);
|
|
241
|
-
const index = this.params.
|
|
241
|
+
const index = this.params.indexOf(node);
|
|
242
242
|
node.create({
|
|
243
243
|
index,
|
|
244
244
|
parentNode: this,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
|
|
2
2
|
import TypeAnnotation from './TypeAnnotation__';
|
|
3
|
+
import Identifier from './Identifier__';
|
|
3
4
|
|
|
4
5
|
//================================================================================
|
|
5
6
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -176,7 +177,7 @@ export class ForEachStatement extends LogicItem {
|
|
|
176
177
|
const relationOptions = { parentNode: this, parentKey: 'body' };
|
|
177
178
|
let logicItem: LogicItem;
|
|
178
179
|
if (options instanceof LogicItem) {
|
|
179
|
-
options.
|
|
180
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
180
181
|
logicItem = options;
|
|
181
182
|
Object.assign(logicItem, relationOptions);
|
|
182
183
|
} else {
|
|
@@ -250,7 +251,7 @@ export class ForEachStatement extends LogicItem {
|
|
|
250
251
|
|
|
251
252
|
addItem(options?: Partial<LogicItem> | LogicItem) {
|
|
252
253
|
const node = this._addItem(options as any);
|
|
253
|
-
const index = this.body.
|
|
254
|
+
const index = this.body.indexOf(node);
|
|
254
255
|
node.create({
|
|
255
256
|
index,
|
|
256
257
|
parentNode: this,
|
|
@@ -463,8 +464,8 @@ export class ForEachStatement extends LogicItem {
|
|
|
463
464
|
const itemNames = [];
|
|
464
465
|
const idxNames = [];
|
|
465
466
|
let n = this.parentNode;
|
|
466
|
-
while(n && n.concept !== 'Logic') {
|
|
467
|
-
if(n instanceof ForEachStatement){
|
|
467
|
+
while (n && n.concept !== 'Logic') {
|
|
468
|
+
if (n instanceof ForEachStatement) {
|
|
468
469
|
itemNames.push(n.item.name);
|
|
469
470
|
idxNames.push(n.index.name);
|
|
470
471
|
}
|
|
@@ -472,15 +473,14 @@ export class ForEachStatement extends LogicItem {
|
|
|
472
473
|
}
|
|
473
474
|
const uniqueItemName = utils.unique('item', itemNames);
|
|
474
475
|
const uniqueIdxName = utils.unique('index', idxNames);
|
|
475
|
-
if(this.item.name !== uniqueItemName) {
|
|
476
|
+
if (this.item.name !== uniqueItemName) {
|
|
476
477
|
this.item.setName(uniqueItemName);
|
|
477
478
|
}
|
|
478
|
-
if(this.index.name !== uniqueIdxName) {
|
|
479
|
+
if (this.index.name !== uniqueIdxName) {
|
|
479
480
|
this.index.setName(uniqueIdxName);
|
|
480
481
|
}
|
|
481
482
|
}
|
|
482
483
|
|
|
483
|
-
|
|
484
484
|
public static getDefaultOptions() {
|
|
485
485
|
return {
|
|
486
486
|
label: 'ForEach 循环分支',
|
|
@@ -509,18 +509,13 @@ export class ForEachStatement extends LogicItem {
|
|
|
509
509
|
|
|
510
510
|
toJS(state?: TranslatorState): string {
|
|
511
511
|
let code = '';
|
|
512
|
-
|
|
512
|
+
const list = this.each ? this.each.toJS(shiftState(state, code, {
|
|
513
513
|
tabSize: 0,
|
|
514
514
|
})) : '';
|
|
515
|
-
code +=
|
|
516
|
-
code += this.start && this.start.toJS() ? this.start.toJS() : '';
|
|
517
|
-
code +=
|
|
518
|
-
code +=
|
|
519
|
-
code += ').forEach((';
|
|
520
|
-
code += this.item.name ? `${this.item.name}` : '';
|
|
521
|
-
code += ', ';
|
|
522
|
-
code += this.index.name ? `${this.index.name}` : '';
|
|
523
|
-
code += ') => {\n';
|
|
515
|
+
code += `if(Array.isArray(${list})) {\n`;
|
|
516
|
+
code += `for (let ${this.index.name} = ${this.start && this.start.toJS() ? this.start.toJS() : ''}; `;
|
|
517
|
+
code += `${this.index.name} < (${this.end && this.end.toJS() ? this.end.toJS() : ''}); ${this.index.name}++) {\n`;
|
|
518
|
+
code += `const ${this.item.name} = ${list}[${this.index.name}];\n`;
|
|
524
519
|
if (Array.isArray(this.body)) {
|
|
525
520
|
this.body.forEach((logicItem) => {
|
|
526
521
|
code
|
|
@@ -529,8 +524,8 @@ export class ForEachStatement extends LogicItem {
|
|
|
529
524
|
})) + '\n';
|
|
530
525
|
});
|
|
531
526
|
}
|
|
532
|
-
code += '}
|
|
533
|
-
|
|
527
|
+
code += '}\n';
|
|
528
|
+
code += '}\n';
|
|
534
529
|
return code;
|
|
535
530
|
}
|
|
536
531
|
|