@lcap/nasl 1.0.0-alpha.8 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +414 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/operators.d.ts +13 -0
- package/out/automate/engine/operators.js +63 -0
- package/out/automate/engine/operators.js.map +1 -0
- package/out/automate/engine/uniqueName.d.ts +6 -0
- package/out/automate/engine/uniqueName.js +39 -0
- package/out/automate/engine/uniqueName.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +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 +84 -44
- 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 +55 -10
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +23 -3
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -2
- package/out/concepts/BindEvent__.js +67 -34
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -0
- package/out/concepts/BooleanLiteral__.js +10 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +57 -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 +107 -50
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +7 -1
- package/out/concepts/CallQueryComponent__.js +45 -26
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js +6 -2
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -1
- package/out/concepts/CompletionProperty__.js +2 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +3 -3
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +3 -3
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +3 -3
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +14 -0
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +98 -19
- 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 -4
- package/out/concepts/Entity__.js +30 -20
- 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 +3 -3
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +1 -1
- package/out/concepts/ForEachStatement__.js +11 -15
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +13 -13
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +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 +133 -17
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +1 -0
- package/out/concepts/JSBlock__.js +3 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +14 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +20 -1
- package/out/concepts/Logic__.js +194 -37
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -13
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +36 -26
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +48 -37
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -0
- package/out/concepts/NullLiteral__.js +11 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +1 -1
- package/out/concepts/NumericLiteral__.js +17 -6
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +7 -3
- package/out/concepts/Param__.js +57 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +6 -6
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +117 -54
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -1
- package/out/concepts/Process__.js +81 -85
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +5 -5
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +2 -2
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +3 -3
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +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 +44 -12
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +4 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js +2 -2
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +5 -5
- package/out/concepts/TypeAnnotation__.js +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 +15 -15
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +302 -204
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +12 -11
- package/out/concepts/View__.js +109 -98
- 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 +1206 -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 +12 -0
- package/out/server/getScope.js +57 -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 +721 -381
- 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 +213 -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/integration/connect-file copy.d.ts +1 -0
- package/out/test/integration/connect-file copy.js +50 -0
- package/out/test/integration/connect-file copy.js.map +1 -0
- package/out/test/integration/node-nasl-server.d.ts +1 -0
- package/out/test/integration/node-nasl-server.js +41 -0
- package/out/test/integration/node-nasl-server.js.map +1 -0
- package/out/test/units/page/Element.spec.js +3 -3
- package/out/test/units/page/Element.spec.js.map +1 -1
- package/out/test/units/temp/temp.spec.js +1 -1
- package/out/test/units/temp/temp.spec.js.map +1 -1
- package/out/utils/index.d.ts +6 -0
- package/out/utils/index.js +25 -1
- package/out/utils/index.js.map +1 -1
- package/out/utils/string.d.ts +1 -1
- package/out/utils/string.js +38 -9
- package/out/utils/string.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +97 -118
- package/src/automate/engine/operators.js +63 -0
- package/src/automate/engine/uniqueName.js +36 -0
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +223 -87
- package/src/concepts/App__.ts +86 -46
- 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 +69 -9
- package/src/concepts/BindDirective__.ts +22 -3
- package/src/concepts/BindEvent__.ts +67 -23
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +58 -25
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +111 -52
- package/src/concepts/CallQueryComponent__.ts +36 -21
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +3 -3
- package/src/concepts/ConfigProperty__.ts +3 -3
- package/src/concepts/Configuration__.ts +3 -3
- package/src/concepts/Constant__.ts +12 -0
- package/src/concepts/Destination__.ts +106 -18
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +69 -5
- package/src/concepts/Entity__.ts +33 -28
- package/src/concepts/Enum__.ts +16 -11
- package/src/concepts/Event__.ts +3 -3
- package/src/concepts/ForEachStatement__.ts +16 -21
- package/src/concepts/Function__.ts +13 -13
- package/src/concepts/Identifier__.ts +82 -32
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +49 -27
- package/src/concepts/Interface__.ts +130 -16
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +201 -39
- package/src/concepts/MemberExpression__.ts +58 -15
- package/src/concepts/Module__.ts +35 -24
- package/src/concepts/Namespace__.ts +49 -37
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +54 -28
- package/src/concepts/ProcessComponent__.ts +6 -6
- package/src/concepts/ProcessElement__.ts +143 -44
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +85 -98
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryJoinExpression__.ts +5 -5
- package/src/concepts/QueryLimitExpression__.ts +2 -2
- package/src/concepts/QuerySelectExpression__.ts +3 -3
- package/src/concepts/Return__.ts +60 -29
- 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 -33
- package/src/concepts/Structure__.ts +32 -10
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +59 -16
- 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 +67 -25
- package/src/concepts/ViewComponent__.ts +15 -15
- package/src/concepts/ViewElement__.ts +380 -264
- package/src/concepts/View__.ts +139 -94
- 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 +1204 -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 +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 +275 -46
- package/src/server/getProcesses.ts +248 -4
- package/src/server/getScope.ts +62 -0
- package/src/server/index.ts +12 -1
- package/src/server/naslServer.ts +715 -398
- 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 +217 -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 +24 -0
- package/src/utils/string.ts +39 -9
- package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
- package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
- package/out/data/Module.d.ts +0 -34
- package/out/data/Module.js +0 -53
- package/out/data/Module.js.map +0 -1
- package/src/automate/engine/index.d.ts +0 -3
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import View from './View__';
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
|
|
3
3
|
import { ElementToVueOptions } from './ViewElement__';
|
|
4
|
+
import { BindAttribute } from '..';
|
|
5
|
+
|
|
4
6
|
//================================================================================
|
|
5
7
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
6
8
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -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,8 +250,24 @@ 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
|
-
const viewArr
|
|
266
|
+
const viewArr
|
|
267
|
+
= this.viewNamespace
|
|
268
|
+
?.split('.')
|
|
269
|
+
.splice(1)
|
|
270
|
+
.filter((item, index) => index % 2 === 1) || [];
|
|
253
271
|
if (this.viewName) {
|
|
254
272
|
viewArr.push(this.viewName);
|
|
255
273
|
}
|
|
@@ -260,10 +278,10 @@ export class Destination extends LogicItem {
|
|
|
260
278
|
let url = '';
|
|
261
279
|
const viewArr = this.genViewArr();
|
|
262
280
|
if (Array.isArray(viewArr) && viewArr.length) {
|
|
263
|
-
url += ':
|
|
281
|
+
url += ':destination="`';
|
|
264
282
|
url += `/${viewArr.join('/')}`;
|
|
265
283
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
266
|
-
const args = this.arguments
|
|
284
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + `${arg?.toVue(options) === '' ? '' : '${' + arg?.toVue(options) + '}'}`);
|
|
267
285
|
url += `?${args.join('&')}`;
|
|
268
286
|
}
|
|
269
287
|
url += '`"';
|
|
@@ -278,7 +296,7 @@ export class Destination extends LogicItem {
|
|
|
278
296
|
url += '`';
|
|
279
297
|
url += `/${viewArr.join('/')}`;
|
|
280
298
|
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
281
|
-
const args = this.arguments
|
|
299
|
+
const args = this.arguments?.map((arg) => `${arg?.keyword}=` + '${' + `${arg?.toUI()}` + '}');
|
|
282
300
|
url += `?${args.join('&')}`;
|
|
283
301
|
}
|
|
284
302
|
url += '`';
|
|
@@ -323,6 +341,38 @@ export class Destination extends LogicItem {
|
|
|
323
341
|
});
|
|
324
342
|
}
|
|
325
343
|
|
|
344
|
+
/**
|
|
345
|
+
* 设置view的argument
|
|
346
|
+
*/
|
|
347
|
+
setViewArgument(view: View) {
|
|
348
|
+
const params = view.params;
|
|
349
|
+
const argument = this.arguments;
|
|
350
|
+
if (params.length > argument.length) {
|
|
351
|
+
params.forEach((item) => {
|
|
352
|
+
const arg = argument.find((arg) => arg.keyword === item.name);
|
|
353
|
+
if (!arg) {
|
|
354
|
+
this.addArgument({
|
|
355
|
+
keyword: item.name,
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
} else {
|
|
360
|
+
argument.forEach((item) => {
|
|
361
|
+
const param = params.find((param) => param.name === item.keyword);
|
|
362
|
+
if (!param) {
|
|
363
|
+
item.delete();
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* 设置Arguments的KeyWord
|
|
370
|
+
*/
|
|
371
|
+
setArgumentsKeyWord(options: { findArgument: Argument; newKeyword: string }) {
|
|
372
|
+
const { findArgument, newKeyword } = options;
|
|
373
|
+
findArgument.setKeyword(newKeyword);
|
|
374
|
+
}
|
|
375
|
+
|
|
326
376
|
get viewPath() {
|
|
327
377
|
if (!this.viewNamespace) {
|
|
328
378
|
return '';
|
|
@@ -338,23 +388,61 @@ export class Destination extends LogicItem {
|
|
|
338
388
|
}
|
|
339
389
|
return `${viewNameAttr.join('/')}/`;
|
|
340
390
|
}
|
|
341
|
-
|
|
342
391
|
@withSourceMap()
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
code += indent(state.tabSize + 2);
|
|
392
|
+
toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
|
|
393
|
+
// const tab = indent(state.tabSize);
|
|
346
394
|
if (this.tsCalleeNamespace && this.tsName) {
|
|
347
|
-
code
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
}
|
|
395
|
+
let code = `destination: function() {\n`;
|
|
396
|
+
code += prependCode;
|
|
397
|
+
code += '\n';
|
|
398
|
+
if (this.tsCalleeNamespace && this.viewName) {
|
|
399
|
+
code += `${this.tsCalleeNamespace}.${this.viewName}.$destination({`;
|
|
400
|
+
if (Array.isArray(this.arguments)) {
|
|
401
|
+
this.arguments.forEach((argument: Argument) => {
|
|
402
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
code += `});\n`;
|
|
352
406
|
}
|
|
353
|
-
code += `
|
|
407
|
+
code += indent(state.tabSize + 1) + `}\n`;
|
|
408
|
+
return code;
|
|
409
|
+
} else {
|
|
410
|
+
return '__IDENTIFIER__';
|
|
354
411
|
}
|
|
412
|
+
}
|
|
355
413
|
|
|
356
|
-
|
|
357
|
-
|
|
414
|
+
@withSourceMap()
|
|
415
|
+
toEmbeddedTS(state?: TranslatorState): string {
|
|
416
|
+
let code = '';
|
|
417
|
+
|
|
418
|
+
if (this.parentNode instanceof BindAttribute) {
|
|
419
|
+
code = `${utils.firstLowerCase(this.concept)}: () => {\n`;
|
|
420
|
+
code += indent(state.tabSize + 2);
|
|
421
|
+
if (this.tsCalleeNamespace && this.tsName) {
|
|
422
|
+
code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
|
|
423
|
+
if (Array.isArray(this.arguments)) {
|
|
424
|
+
this.arguments.forEach((argument: Argument) => {
|
|
425
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
code += `});\n`;
|
|
429
|
+
}
|
|
430
|
+
code += indent(state.tabSize + 1) + `},\n`;
|
|
431
|
+
return code;
|
|
432
|
+
} else {
|
|
433
|
+
if (this.tsCalleeNamespace && this.tsName) {
|
|
434
|
+
code += `${this.tsCalleeNamespace}.${this.tsName}.$destination({`;
|
|
435
|
+
if (Array.isArray(this.arguments)) {
|
|
436
|
+
this.arguments.forEach((argument: Argument) => {
|
|
437
|
+
code += argument.toEmbeddedTS(shiftState(state, code), false, true) + ', ';
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
code += `});\n`;
|
|
441
|
+
} else {
|
|
442
|
+
code += '__IDENTIFIER__';
|
|
443
|
+
}
|
|
444
|
+
return code;
|
|
445
|
+
}
|
|
358
446
|
}
|
|
359
447
|
@withSourceMap()
|
|
360
448
|
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
|
@@ -107,18 +107,6 @@ export class Entity extends BaseNode {
|
|
|
107
107
|
}
|
|
108
108
|
return params;
|
|
109
109
|
}
|
|
110
|
-
/**
|
|
111
|
-
* 设置实体名称
|
|
112
|
-
*/
|
|
113
|
-
setName(name: string) {
|
|
114
|
-
const object = {
|
|
115
|
-
name,
|
|
116
|
-
};
|
|
117
|
-
this.update({
|
|
118
|
-
...object,
|
|
119
|
-
field: 'name',
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
110
|
|
|
123
111
|
/**
|
|
124
112
|
* 设置实体描述
|
|
@@ -132,12 +120,12 @@ export class Entity extends BaseNode {
|
|
|
132
120
|
});
|
|
133
121
|
}
|
|
134
122
|
|
|
135
|
-
|
|
123
|
+
getPropertyExistingNames(excludedList: Array<EntityProperty> = []) {
|
|
136
124
|
const excludedSet = new Set(excludedList);
|
|
137
125
|
return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
138
126
|
}
|
|
139
127
|
getPropertyUniqueName(name = 'property1') {
|
|
140
|
-
return utils.unique(name, this.getPropertyExistingNames());
|
|
128
|
+
return utils.unique(name, this.getPropertyExistingNames(), undefined, false);
|
|
141
129
|
}
|
|
142
130
|
|
|
143
131
|
/**
|
|
@@ -176,7 +164,7 @@ export class Entity extends BaseNode {
|
|
|
176
164
|
name: options,
|
|
177
165
|
}, this, 'properties');
|
|
178
166
|
} else if (options instanceof EntityProperty) {
|
|
179
|
-
options.
|
|
167
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
180
168
|
property = options;
|
|
181
169
|
Object.assign(property, relationOptions);
|
|
182
170
|
} else {
|
|
@@ -264,7 +252,7 @@ export class Entity extends BaseNode {
|
|
|
264
252
|
|
|
265
253
|
addProperty(options?: string | Partial<EntityProperty> | EntityProperty) {
|
|
266
254
|
const node = this._addProperty(options as any);
|
|
267
|
-
const index = this.properties.
|
|
255
|
+
const index = this.properties.indexOf(node);
|
|
268
256
|
node.create({
|
|
269
257
|
index,
|
|
270
258
|
parentNode: this,
|
|
@@ -273,13 +261,12 @@ export class Entity extends BaseNode {
|
|
|
273
261
|
return node;
|
|
274
262
|
}
|
|
275
263
|
|
|
276
|
-
|
|
277
264
|
getEntityIndexExistingNames(excludedList: Array<EntityIndex> = []) {
|
|
278
265
|
const excludedSet = new Set(excludedList);
|
|
279
266
|
return (this.indexes || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
280
267
|
}
|
|
281
268
|
getEntityIndexUniqueName(name = 'entityIndex1') {
|
|
282
|
-
return utils.unique(name, this.getEntityIndexExistingNames());
|
|
269
|
+
return utils.unique(name, this.getEntityIndexExistingNames(), undefined, false);
|
|
283
270
|
}
|
|
284
271
|
|
|
285
272
|
/**
|
|
@@ -318,7 +305,7 @@ export class Entity extends BaseNode {
|
|
|
318
305
|
name: options,
|
|
319
306
|
}, this, 'indexes');
|
|
320
307
|
} else if (options instanceof EntityIndex) {
|
|
321
|
-
options.
|
|
308
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
322
309
|
entityIndex = options;
|
|
323
310
|
Object.assign(entityIndex, relationOptions);
|
|
324
311
|
} else {
|
|
@@ -406,7 +393,7 @@ export class Entity extends BaseNode {
|
|
|
406
393
|
|
|
407
394
|
addEntityIndex(options?: string | Partial<EntityIndex> | EntityIndex) {
|
|
408
395
|
const node = this._addEntityIndex(options as any);
|
|
409
|
-
const index = this.indexes.
|
|
396
|
+
const index = this.indexes.indexOf(node);
|
|
410
397
|
node.create({
|
|
411
398
|
index,
|
|
412
399
|
parentNode: this,
|
|
@@ -415,9 +402,6 @@ export class Entity extends BaseNode {
|
|
|
415
402
|
return node;
|
|
416
403
|
}
|
|
417
404
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
405
|
/**
|
|
422
406
|
* 删除实体字段
|
|
423
407
|
* @param name 实体字段名称
|
|
@@ -466,8 +450,6 @@ export class Entity extends BaseNode {
|
|
|
466
450
|
return params;
|
|
467
451
|
}
|
|
468
452
|
|
|
469
|
-
|
|
470
|
-
|
|
471
453
|
/**
|
|
472
454
|
* 删除实体索引
|
|
473
455
|
* @param name 实体索引名称
|
|
@@ -520,6 +502,22 @@ export class Entity extends BaseNode {
|
|
|
520
502
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
521
503
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
522
504
|
//================================================================================
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* 设置实体表名并修改表名
|
|
508
|
+
*/
|
|
509
|
+
setName(name: string) {
|
|
510
|
+
const object: { name: string; tableName?: string } = {
|
|
511
|
+
name,
|
|
512
|
+
};
|
|
513
|
+
if (this.name === this.tableName && (this.origin === 'ide' || this.origin === 'sql')) {
|
|
514
|
+
object.tableName = name;
|
|
515
|
+
}
|
|
516
|
+
this.update({
|
|
517
|
+
...object,
|
|
518
|
+
field: 'name',
|
|
519
|
+
});
|
|
520
|
+
}
|
|
523
521
|
/**
|
|
524
522
|
* 设置实体表名
|
|
525
523
|
*/
|
|
@@ -681,10 +679,13 @@ export class Entity extends BaseNode {
|
|
|
681
679
|
}
|
|
682
680
|
|
|
683
681
|
get ns() {
|
|
684
|
-
const ns = entity2LogicNamespace(this);
|
|
682
|
+
const ns: Namespace = entity2LogicNamespace(this);
|
|
685
683
|
ns.path = this.getNamespace() + '.' + ns.name;
|
|
686
684
|
return ns;
|
|
687
685
|
}
|
|
686
|
+
// @excludedInJSON()
|
|
687
|
+
// nslogic: Namespace;
|
|
688
|
+
|
|
688
689
|
get logics() {
|
|
689
690
|
const ns = this.ns;
|
|
690
691
|
return ns.logics;
|
|
@@ -695,7 +696,11 @@ export class Entity extends BaseNode {
|
|
|
695
696
|
code += ' @nasl.annotation.Entity()\n';
|
|
696
697
|
|
|
697
698
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
698
|
-
|
|
699
|
+
try {
|
|
700
|
+
code += this.toEmbeddedTS(state);
|
|
701
|
+
} catch (err) {
|
|
702
|
+
code += '';
|
|
703
|
+
}
|
|
699
704
|
code += '}\n';
|
|
700
705
|
|
|
701
706
|
return {
|
|
@@ -711,7 +716,7 @@ export class Entity extends BaseNode {
|
|
|
711
716
|
//================================================================================
|
|
712
717
|
}
|
|
713
718
|
|
|
714
|
-
classMap
|
|
719
|
+
classMap.Entity = Entity;
|
|
715
720
|
export default Entity;
|
|
716
721
|
//================================================================================
|
|
717
722
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
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
|
@@ -111,7 +111,7 @@ export class Event extends BaseNode {
|
|
|
111
111
|
return (this.params || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
112
112
|
}
|
|
113
113
|
getParamUniqueName(name = 'param1') {
|
|
114
|
-
return utils.unique(name, this.getParamExistingNames());
|
|
114
|
+
return utils.unique(name, this.getParamExistingNames(), undefined, false);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
/**
|
|
@@ -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 自动生成,请不手动修改!
|
|
@@ -16,9 +17,9 @@ import LogicItem from './LogicItem__';
|
|
|
16
17
|
import Param from './Param__';
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* ForEach 循环分支
|
|
20
21
|
*/
|
|
21
|
-
@concept('
|
|
22
|
+
@concept('ForEach 循环分支')
|
|
22
23
|
export class ForEachStatement extends LogicItem {
|
|
23
24
|
/**
|
|
24
25
|
* 产品概念
|
|
@@ -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
|
|