@lcap/nasl 1.0.0-alpha.7 → 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 +118 -38
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +229 -81
- 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 -35
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +42 -25
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +114 -86
- package/src/concepts/CallQueryComponent__.ts +35 -20
- 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 +92 -20
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +69 -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 +82 -33
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +51 -21
- package/src/concepts/Interface__.ts +166 -46
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +183 -36
- package/src/concepts/MemberExpression__.ts +57 -13
- package/src/concepts/Module__.ts +176 -140
- 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 +58 -30
- 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 -23
- package/src/concepts/Role__.ts +11 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -25
- package/src/concepts/Structure__.ts +75 -41
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +71 -18
- 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 +69 -19
- package/src/concepts/ViewComponent__.ts +10 -10
- package/src/concepts/ViewElement__.ts +297 -199
- package/src/concepts/View__.ts +114 -107
- 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 -10
- 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 +192 -40
- 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 +50 -8
- 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 +276 -39
- 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 +689 -389
- 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 +204 -47
- 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
|
@@ -107,7 +107,7 @@ export class Configuration extends BaseNode {
|
|
|
107
107
|
name: options,
|
|
108
108
|
}, this, 'groups');
|
|
109
109
|
} else if (options instanceof ConfigGroup) {
|
|
110
|
-
options.
|
|
110
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
111
111
|
configGroup = options;
|
|
112
112
|
Object.assign(configGroup, relationOptions);
|
|
113
113
|
} else {
|
|
@@ -195,7 +195,7 @@ export class Configuration extends BaseNode {
|
|
|
195
195
|
|
|
196
196
|
addConfigGroup(options?: string | Partial<ConfigGroup> | ConfigGroup) {
|
|
197
197
|
const node = this._addConfigGroup(options as any);
|
|
198
|
-
const index = this.groups.
|
|
198
|
+
const index = this.groups.indexOf(node);
|
|
199
199
|
node.create({
|
|
200
200
|
index,
|
|
201
201
|
parentNode: this,
|
|
@@ -235,6 +235,18 @@ export class Constant extends BaseNode {
|
|
|
235
235
|
}
|
|
236
236
|
return code;
|
|
237
237
|
}
|
|
238
|
+
@withSourceMap()
|
|
239
|
+
toEmbeddedTSInProcess(state?: TranslatorState): string {
|
|
240
|
+
let code = this.name;
|
|
241
|
+
if (this.typeAnnotation) {
|
|
242
|
+
code += ': undefined as ';
|
|
243
|
+
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
244
|
+
}
|
|
245
|
+
if (this.defaultValue) {
|
|
246
|
+
code += ` : ${this.defaultValue}`;
|
|
247
|
+
}
|
|
248
|
+
return code;
|
|
249
|
+
}
|
|
238
250
|
//================================================================================
|
|
239
251
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
240
252
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -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,
|
|
@@ -247,19 +249,19 @@ export class Destination extends LogicItem {
|
|
|
247
249
|
}
|
|
248
250
|
return '';
|
|
249
251
|
}
|
|
252
|
+
|
|
250
253
|
get tsName() {
|
|
251
254
|
if (this.viewName) {
|
|
252
255
|
let tsName = this.viewName;
|
|
256
|
+
// 匹配所有特殊字符都转为_
|
|
257
|
+
tsName = tsName.replace(/\W/g, '_');
|
|
253
258
|
if (/^\d/.test(tsName)) {
|
|
254
259
|
tsName = '$' + tsName;
|
|
255
260
|
}
|
|
256
|
-
// 匹配所有特殊字符都转为_
|
|
257
|
-
tsName = tsName.replace(/\W/g, '_');
|
|
258
261
|
return tsName;
|
|
259
262
|
}
|
|
260
263
|
return '';
|
|
261
264
|
}
|
|
262
|
-
|
|
263
265
|
genViewArr() {
|
|
264
266
|
const viewArr = this.viewNamespace?.split('.').splice(1).filter((item, index) => index % 2 === 1) || [];
|
|
265
267
|
if (this.viewName) {
|
|
@@ -272,10 +274,10 @@ export class Destination extends LogicItem {
|
|
|
272
274
|
let url = '';
|
|
273
275
|
const viewArr = this.genViewArr();
|
|
274
276
|
if (Array.isArray(viewArr) && viewArr.length) {
|
|
275
|
-
url += ':
|
|
277
|
+
url += ':destination="`';
|
|
276
278
|
url += `/${viewArr.join('/')}`;
|
|
277
279
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
278
|
-
const args = this.arguments
|
|
280
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toVue(options)}` + '}');
|
|
279
281
|
url += `?${args.join('&')}`;
|
|
280
282
|
}
|
|
281
283
|
url += '`"';
|
|
@@ -290,7 +292,7 @@ export class Destination extends LogicItem {
|
|
|
290
292
|
url += '`';
|
|
291
293
|
url += `/${viewArr.join('/')}`;
|
|
292
294
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
293
|
-
const args = this.arguments
|
|
295
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toUI()}` + '}');
|
|
294
296
|
url += `?${args.join('&')}`;
|
|
295
297
|
}
|
|
296
298
|
url += '`';
|
|
@@ -335,6 +337,38 @@ export class Destination extends LogicItem {
|
|
|
335
337
|
});
|
|
336
338
|
}
|
|
337
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
|
+
|
|
338
372
|
get viewPath() {
|
|
339
373
|
if (!this.viewNamespace) {
|
|
340
374
|
return '';
|
|
@@ -350,23 +384,61 @@ export class Destination extends LogicItem {
|
|
|
350
384
|
}
|
|
351
385
|
return `${viewNameAttr.join('/')}/`;
|
|
352
386
|
}
|
|
353
|
-
|
|
354
387
|
@withSourceMap()
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
code += indent(state.tabSize + 2);
|
|
388
|
+
toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
|
|
389
|
+
// const tab = indent(state.tabSize);
|
|
358
390
|
if (this.tsCalleeNamespace && this.tsName) {
|
|
359
|
-
code
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
}
|
|
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`;
|
|
364
402
|
}
|
|
365
|
-
code += `
|
|
403
|
+
code += indent(state.tabSize + 1) + `}\n`;
|
|
404
|
+
return code;
|
|
405
|
+
} else {
|
|
406
|
+
return '__IDENTIFIER__';
|
|
366
407
|
}
|
|
408
|
+
}
|
|
367
409
|
|
|
368
|
-
|
|
369
|
-
|
|
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
|
+
}
|
|
370
442
|
}
|
|
371
443
|
@withSourceMap()
|
|
372
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,67 @@ 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
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* 设置是否必填
|
|
387
|
+
*/
|
|
388
|
+
setSequence(sequence: string) {
|
|
389
|
+
const object = {
|
|
390
|
+
sequence,
|
|
391
|
+
};
|
|
392
|
+
this.update({
|
|
393
|
+
...object,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
334
396
|
/**
|
|
335
397
|
* 设置是否必填
|
|
336
398
|
*/
|
|
@@ -367,8 +429,8 @@ export class EntityProperty extends BaseNode {
|
|
|
367
429
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
368
430
|
}
|
|
369
431
|
if (this.defaultValue) {
|
|
370
|
-
code +=
|
|
371
|
-
}
|
|
432
|
+
code += '= ' + this.typeAnnotation.getDefaultValue(this.defaultValue);
|
|
433
|
+
}
|
|
372
434
|
return code;
|
|
373
435
|
}
|
|
374
436
|
/**
|
|
@@ -388,7 +450,7 @@ export class EntityProperty extends BaseNode {
|
|
|
388
450
|
// eslint-disable-next-line prefer-rest-params
|
|
389
451
|
throw new Error('找不到类型:' + arguments[0]);
|
|
390
452
|
} else {
|
|
391
|
-
typeAnnotation._delete();
|
|
453
|
+
typeAnnotation._delete?.();
|
|
392
454
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
393
455
|
Object.assign(typeAnnotation, relationOptions);
|
|
394
456
|
}
|
|
@@ -428,7 +490,8 @@ export class EntityProperty extends BaseNode {
|
|
|
428
490
|
*/
|
|
429
491
|
moveUp() {
|
|
430
492
|
const properties = [...(this.parentNode as Entity).properties];
|
|
431
|
-
const
|
|
493
|
+
const propertiesNameList = properties.map((item) => item.name);
|
|
494
|
+
const oldIndex = propertiesNameList.indexOf(this.name);
|
|
432
495
|
this.changeSort(properties, oldIndex, 'up');
|
|
433
496
|
this.parentNode.update({
|
|
434
497
|
properties,
|
|
@@ -439,7 +502,8 @@ export class EntityProperty extends BaseNode {
|
|
|
439
502
|
*/
|
|
440
503
|
moveDown() {
|
|
441
504
|
const properties = [...(this.parentNode as Entity).properties];
|
|
442
|
-
const
|
|
505
|
+
const propertiesNameList = properties.map((item) => item.name);
|
|
506
|
+
const oldIndex = propertiesNameList.indexOf(this.name);
|
|
443
507
|
this.changeSort(properties, oldIndex, 'down');
|
|
444
508
|
this.parentNode.update({
|
|
445
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
|
|