@lcap/nasl 1.0.0-alpha.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +513 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +363 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +20 -0
- package/out/common/BaseNode.js +219 -81
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +18 -1
- package/out/concepts/App__.js +75 -35
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +5 -1
- package/out/concepts/Argument__.js +21 -3
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +190 -0
- package/out/concepts/Assignee__.js +264 -0
- package/out/concepts/Assignee__.js.map +1 -0
- package/out/concepts/Assignment__.js +5 -0
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +8 -7
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +19 -0
- package/out/concepts/BindAttribute__.js +54 -9
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +22 -2
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -2
- package/out/concepts/BindEvent__.js +67 -34
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -0
- package/out/concepts/BooleanLiteral__.js +10 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +41 -23
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +5 -0
- package/out/concepts/CallInterface__.js +238 -31
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +4 -4
- package/out/concepts/CallLogic__.js +110 -53
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +7 -1
- package/out/concepts/CallQueryComponent__.js +44 -25
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js +6 -2
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -1
- package/out/concepts/CompletionProperty__.js +2 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +2 -2
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +2 -2
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +2 -2
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +14 -0
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +94 -18
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js +9 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +73 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +4 -1
- package/out/concepts/Entity__.js +37 -15
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +4 -0
- package/out/concepts/Enum__.js +18 -10
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +2 -2
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +9 -13
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +9 -9
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +76 -29
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js +4 -4
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +6 -4
- package/out/concepts/InterfaceParam__.js +52 -19
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +42 -30
- package/out/concepts/Interface__.js +131 -15
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +1 -0
- package/out/concepts/JSBlock__.js +3 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +14 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +16 -1
- package/out/concepts/Logic__.js +176 -33
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -12
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +28 -18
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +36 -25
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -0
- package/out/concepts/NullLiteral__.js +11 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +1 -1
- package/out/concepts/NumericLiteral__.js +17 -6
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +7 -3
- package/out/concepts/Param__.js +57 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +4 -4
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +112 -49
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -1
- package/out/concepts/Process__.js +77 -81
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +4 -4
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +3 -3
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +2 -2
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +67 -21
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +4 -0
- package/out/concepts/Role__.js +13 -4
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.js +2 -2
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +1 -1
- package/out/concepts/StringLiteral__.js +21 -31
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +5 -4
- package/out/concepts/StructureProperty__.js +55 -26
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +44 -30
- package/out/concepts/Structure__.js +42 -10
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +4 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js +2 -2
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +5 -5
- package/out/concepts/TypeAnnotation__.js +74 -20
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/UnaryExpression__.js +10 -8
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +48 -13
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +10 -1
- package/out/concepts/Variable__.js +70 -18
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +10 -10
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +299 -201
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +12 -13
- package/out/concepts/View__.js +106 -103
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +3 -3
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +4 -1
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
- package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
- package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +149 -13
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
- package/out/concepts/basics/types/coreTypeList.js +11 -10
- package/out/concepts/basics/types/coreTypeList.js.map +1 -1
- package/out/concepts/index__.d.ts +1 -0
- package/out/concepts/index__.js +1 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/config.d.ts +1 -2
- package/out/config.js +1 -2
- package/out/config.js.map +1 -1
- package/out/enums/KEYWORDS.d.ts +3 -0
- package/out/enums/KEYWORDS.js +1208 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
- package/out/enums/LEVEL_NAME_MAP.js +30 -0
- package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
- package/out/eventBus.d.ts +3 -0
- package/out/eventBus.js +7 -0
- package/out/eventBus.js.map +1 -0
- package/out/generator/genBundleFiles.d.ts +7 -2
- package/out/generator/genBundleFiles.js +168 -27
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +20 -20
- package/out/generator/genMetaData.js +50 -15
- package/out/generator/genMetaData.js.map +1 -1
- package/out/index.d.ts +2 -0
- package/out/index.js +2 -0
- package/out/index.js.map +1 -1
- package/out/manager/diagnostic.d.ts +1 -1
- package/out/server/createUiTs.d.ts +1 -0
- package/out/server/createUiTs.js +49 -5
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +38 -23
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.js +2 -0
- package/out/server/getExtensionModules.js.map +1 -1
- package/out/server/getFunctions.d.ts +1 -0
- package/out/server/getFunctions.js +7 -1
- package/out/server/getFunctions.js.map +1 -1
- package/out/server/getLogics.js +63 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +279 -36
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +6 -1
- package/out/server/getProcesses.js +243 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +11 -0
- package/out/server/getScope.js +45 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.js +4 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +30 -53
- package/out/server/naslServer.js +682 -363
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +10 -0
- package/out/server/process2LogicNamespace.js +29 -1
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.d.ts +22 -3
- package/out/server/translator.js +367 -123
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.d.ts +1 -0
- package/out/service/creator/add.configs.js +68 -0
- package/out/service/creator/add.configs.js.map +1 -0
- package/out/service/creator/errHandles.d.ts +18 -0
- package/out/service/creator/errHandles.js +60 -0
- package/out/service/creator/errHandles.js.map +1 -0
- package/out/service/creator/index.d.ts +1 -0
- package/out/service/creator/index.js +72 -0
- package/out/service/creator/index.js.map +1 -0
- package/out/service/storage/api.d.ts +18 -0
- package/out/service/storage/api.js +17 -0
- package/out/service/storage/api.js.map +1 -0
- package/out/service/storage/init.js +200 -37
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/service.d.ts +2 -0
- package/out/service/storage/service.js +10 -0
- package/out/service/storage/service.js.map +1 -0
- package/out/service/storage/storagePoint.d.ts +1 -14
- package/out/service/storage/storagePoint.js +16 -16
- package/out/service/storage/storagePoint.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +11 -11
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +5 -5
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genEnumSelectBlock.js +2 -2
- package/out/templator/genEnumSelectBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +5 -3
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.d.ts +3 -1
- package/out/templator/genGridViewBlock.js +61 -6
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.d.ts +2 -0
- package/out/templator/genQueryComponent.js +27 -14
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genTableBlock.d.ts +1 -1
- package/out/templator/genTableBlock.js +4 -5
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +9 -10
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +13 -4
- package/out/templator/utils.js +8 -4
- package/out/templator/utils.js.map +1 -1
- package/out/test/fixtures/env.js +0 -1
- package/out/test/fixtures/env.js.map +1 -1
- package/out/test/units/page/Element.spec.js +3 -3
- package/out/test/units/page/Element.spec.js.map +1 -1
- package/out/test/units/temp/temp.spec.js +1 -1
- package/out/test/units/temp/temp.spec.js.map +1 -1
- package/out/utils/index.d.ts +6 -0
- package/out/utils/index.js +20 -1
- package/out/utils/index.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +116 -39
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +215 -71
- package/src/concepts/App__.ts +77 -37
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +437 -0
- package/src/concepts/Assignment__.ts +4 -1
- package/src/concepts/BinaryExpression__.ts +9 -7
- package/src/concepts/BindAttribute__.ts +68 -8
- package/src/concepts/BindDirective__.ts +21 -2
- package/src/concepts/BindEvent__.ts +67 -23
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +38 -21
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +114 -86
- package/src/concepts/CallQueryComponent__.ts +23 -15
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +2 -2
- package/src/concepts/ConfigProperty__.ts +2 -2
- package/src/concepts/Configuration__.ts +2 -2
- package/src/concepts/Constant__.ts +12 -0
- package/src/concepts/Destination__.ts +101 -17
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +58 -5
- package/src/concepts/Entity__.ts +40 -23
- package/src/concepts/Enum__.ts +16 -11
- package/src/concepts/Event__.ts +2 -2
- package/src/concepts/ForEachStatement__.ts +14 -19
- package/src/concepts/Function__.ts +9 -9
- package/src/concepts/Identifier__.ts +83 -32
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +52 -16
- package/src/concepts/Interface__.ts +128 -14
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +173 -35
- package/src/concepts/MemberExpression__.ts +58 -14
- package/src/concepts/Module__.ts +27 -16
- package/src/concepts/Namespace__.ts +37 -25
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +56 -15
- package/src/concepts/ProcessComponent__.ts +4 -4
- package/src/concepts/ProcessElement__.ts +138 -39
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +81 -94
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryJoinExpression__.ts +4 -4
- package/src/concepts/QueryLimitExpression__.ts +3 -12
- package/src/concepts/QuerySelectExpression__.ts +2 -2
- package/src/concepts/Return__.ts +62 -15
- package/src/concepts/Role__.ts +5 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -18
- package/src/concepts/Structure__.ts +30 -8
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +58 -15
- package/src/concepts/UnaryExpression__.ts +10 -8
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +44 -14
- package/src/concepts/Variable__.ts +63 -14
- package/src/concepts/ViewComponent__.ts +10 -10
- package/src/concepts/ViewElement__.ts +285 -162
- package/src/concepts/View__.ts +116 -70
- package/src/concepts/WhileStatement__.ts +4 -4
- package/src/concepts/basics/stdlib/index.ts +4 -2
- package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
- package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
- package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/types/coreTypeList.ts +11 -11
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1206 -0
- package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
- package/src/eventBus.ts +5 -0
- package/src/generator/genBundleFiles.ts +182 -30
- package/src/generator/genMetaData.ts +72 -21
- package/src/index.ts +2 -0
- package/src/manager/diagnostic.ts +1 -1
- package/src/server/createUiTs.ts +45 -7
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +66 -19
- package/src/server/getMemberIdentifier.ts +233 -63
- package/src/server/getProcesses.ts +248 -4
- package/src/server/getScope.ts +50 -0
- package/src/server/index.ts +12 -1
- package/src/server/naslServer.ts +685 -387
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +423 -128
- package/src/service/config/index.js +1 -1
- package/src/service/creator/errHandles.js +5 -2
- package/src/service/creator/index.js +0 -6
- package/src/service/storage/api.js +14 -0
- package/src/service/storage/init.ts +198 -45
- package/src/service/storage/service.ts +6 -0
- package/src/service/storage/storagePoint.ts +16 -16
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
- package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
- package/src/templator/genEditTableBlock.ts +5 -5
- package/src/templator/genEnumSelectBlock.ts +2 -2
- package/src/templator/genGetBlock.ts +6 -8
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +39 -28
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +9 -11
- package/src/templator/utils.ts +9 -6
- package/src/test/fixtures/env.ts +0 -2
- package/src/test/units/page/Element.spec.ts +3 -3
- package/src/test/units/temp/temp.spec.ts +1 -1
- package/src/utils/index.ts +19 -0
- package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
- package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
- package/out/data/Module.d.ts +0 -34
- package/out/data/Module.js +0 -53
- package/out/data/Module.js.map +0 -1
- package/src/automate/engine/index.d.ts +0 -3
|
@@ -170,7 +170,7 @@ export class Function extends BaseNode {
|
|
|
170
170
|
name: options,
|
|
171
171
|
}, this, 'typeParams');
|
|
172
172
|
} else if (options instanceof TypeParam) {
|
|
173
|
-
options.
|
|
173
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
174
174
|
typeParam = options;
|
|
175
175
|
Object.assign(typeParam, relationOptions);
|
|
176
176
|
} else {
|
|
@@ -258,7 +258,7 @@ export class Function extends BaseNode {
|
|
|
258
258
|
|
|
259
259
|
addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
|
|
260
260
|
const node = this._addTypeParam(options as any);
|
|
261
|
-
const index = this.typeParams.
|
|
261
|
+
const index = this.typeParams.indexOf(node);
|
|
262
262
|
node.create({
|
|
263
263
|
index,
|
|
264
264
|
parentNode: this,
|
|
@@ -308,7 +308,7 @@ export class Function extends BaseNode {
|
|
|
308
308
|
name: options,
|
|
309
309
|
}, this, 'params');
|
|
310
310
|
} else if (options instanceof Param) {
|
|
311
|
-
options.
|
|
311
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
312
312
|
param = options;
|
|
313
313
|
Object.assign(param, relationOptions);
|
|
314
314
|
} else {
|
|
@@ -396,7 +396,7 @@ export class Function extends BaseNode {
|
|
|
396
396
|
|
|
397
397
|
addParam(options?: string | Partial<Param> | Param) {
|
|
398
398
|
const node = this._addParam(options as any);
|
|
399
|
-
const index = this.params.
|
|
399
|
+
const index = this.params.indexOf(node);
|
|
400
400
|
node.create({
|
|
401
401
|
index,
|
|
402
402
|
parentNode: this,
|
|
@@ -406,7 +406,7 @@ export class Function extends BaseNode {
|
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
|
|
409
|
-
getReturnUniqueName(name = '
|
|
409
|
+
getReturnUniqueName(name = 'result') {
|
|
410
410
|
return utils.unique(name, this.getVarExistingNames());
|
|
411
411
|
}
|
|
412
412
|
|
|
@@ -446,7 +446,7 @@ export class Function extends BaseNode {
|
|
|
446
446
|
name: options,
|
|
447
447
|
}, this, 'returns');
|
|
448
448
|
} else if (options instanceof Return) {
|
|
449
|
-
options.
|
|
449
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
450
450
|
ret = options;
|
|
451
451
|
Object.assign(ret, relationOptions);
|
|
452
452
|
} else {
|
|
@@ -534,7 +534,7 @@ export class Function extends BaseNode {
|
|
|
534
534
|
|
|
535
535
|
addReturn(options?: string | Partial<Return> | Return) {
|
|
536
536
|
const node = this._addReturn(options as any);
|
|
537
|
-
const index = this.returns.
|
|
537
|
+
const index = this.returns.indexOf(node);
|
|
538
538
|
node.create({
|
|
539
539
|
index,
|
|
540
540
|
parentNode: this,
|
|
@@ -584,7 +584,7 @@ export class Function extends BaseNode {
|
|
|
584
584
|
name: options,
|
|
585
585
|
}, this, 'variables');
|
|
586
586
|
} else if (options instanceof Variable) {
|
|
587
|
-
options.
|
|
587
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
588
588
|
variable = options;
|
|
589
589
|
Object.assign(variable, relationOptions);
|
|
590
590
|
} else {
|
|
@@ -672,7 +672,7 @@ export class Function extends BaseNode {
|
|
|
672
672
|
|
|
673
673
|
addVariable(options?: string | Partial<Variable> | Variable) {
|
|
674
674
|
const node = this._addVariable(options as any);
|
|
675
|
-
const index = this.variables.
|
|
675
|
+
const index = this.variables.indexOf(node);
|
|
676
676
|
node.create({
|
|
677
677
|
index,
|
|
678
678
|
parentNode: this,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
2
|
-
import { BindAttribute, CallFunction, CallLogic, Argument, MemberExpression } from '..';
|
|
2
|
+
import { BindAttribute, CallFunction, CallLogic, Argument, MemberExpression, TypeAnnotation } from '..';
|
|
3
3
|
import { ElementToVueOptions } from './ViewElement__';
|
|
4
4
|
|
|
5
5
|
//================================================================================
|
|
@@ -64,46 +64,91 @@ export class Identifier extends LogicItem {
|
|
|
64
64
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
65
65
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
66
66
|
//================================================================================
|
|
67
|
+
|
|
68
|
+
// 选中的数据类型,这个用作暂存
|
|
69
|
+
typeAnnotation: TypeAnnotation = undefined;
|
|
70
|
+
|
|
67
71
|
globalDataMap: {
|
|
68
|
-
[name: string]: boolean
|
|
72
|
+
[name: string]: boolean;
|
|
69
73
|
} = {
|
|
70
74
|
$route: true,
|
|
71
75
|
$global: true,
|
|
72
76
|
$refs: true,
|
|
73
77
|
};
|
|
74
78
|
|
|
79
|
+
isEnum() {
|
|
80
|
+
const namespace = this.namespace;
|
|
81
|
+
if (namespace) {
|
|
82
|
+
const namespaceArr = namespace.split('.');
|
|
83
|
+
const start = namespaceArr.shift();
|
|
84
|
+
if (start === 'app' || start === 'extensions') {
|
|
85
|
+
const mod = start === 'app' ? 0 : 1;
|
|
86
|
+
const keywordViews = namespaceArr.filter((namespaceItem, index) => index % 2 === mod);
|
|
87
|
+
const last = keywordViews.pop();
|
|
88
|
+
return last === 'enums';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
|
|
75
94
|
toVue(options?: ElementToVueOptions): string {
|
|
76
|
-
|
|
95
|
+
let name = this.name;
|
|
96
|
+
const namespace = this.namespace;
|
|
97
|
+
if (namespace) {
|
|
98
|
+
if ((this.namespace.endsWith('nasl.browser') || this.namespace.endsWith('nasl.auth') || this.namespace.endsWith('nasl.configuration'))) {
|
|
99
|
+
name = `$global.${this.name}`;
|
|
100
|
+
} else if (this.isEnum()) {
|
|
101
|
+
name = `$utils.EnumList("${this.name}")`;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return name;
|
|
77
105
|
}
|
|
78
106
|
|
|
79
107
|
toUI(): string {
|
|
80
|
-
|
|
108
|
+
let name = this.name;
|
|
109
|
+
const namespace = this.namespace;
|
|
110
|
+
if (namespace) {
|
|
111
|
+
if (namespace.startsWith('nasl.')) {
|
|
112
|
+
name = `${namespace}.${this.name}`;
|
|
113
|
+
} else if (this.isEnum()) {
|
|
114
|
+
name = `$utils.EnumList("${this.name}")`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return name;
|
|
81
118
|
}
|
|
82
119
|
|
|
83
120
|
toJS(): string {
|
|
84
121
|
const dataMap: {
|
|
85
|
-
[name: string]: boolean
|
|
122
|
+
[name: string]: boolean;
|
|
86
123
|
} = {};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (Array.isArray(variables)) {
|
|
95
|
-
variables.forEach((variable) => {
|
|
96
|
-
dataMap[variable.name] = true;
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
124
|
+
|
|
125
|
+
this.view?.params?.forEach((param) => {
|
|
126
|
+
dataMap[param.name] = true;
|
|
127
|
+
});
|
|
128
|
+
this.view?.variables?.forEach((variable) => {
|
|
129
|
+
dataMap[variable.name] = true;
|
|
130
|
+
});
|
|
100
131
|
const parentNode = this.parentNode;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
132
|
+
let isMemberExpressionProperty = false;
|
|
133
|
+
if (parentNode?.concept === 'MemberExpression' && this.parentKey === 'property') {
|
|
134
|
+
isMemberExpressionProperty = true;
|
|
135
|
+
}
|
|
136
|
+
let name = this.name;
|
|
137
|
+
const namespace = this.namespace;
|
|
138
|
+
if (namespace) {
|
|
139
|
+
if (namespace.endsWith('nasl.browser') || namespace.endsWith('nasl.auth') || namespace.endsWith('nasl.configuration')) {
|
|
140
|
+
name = `$global.${this.name}`;
|
|
141
|
+
} else if (this.isEnum()) {
|
|
142
|
+
name = `$utils.EnumList("${this.name}")`;
|
|
143
|
+
}
|
|
105
144
|
}
|
|
106
|
-
return (dataMap[
|
|
145
|
+
return (dataMap[name]
|
|
146
|
+
|| this.globalDataMap[name]
|
|
147
|
+
|| namespace?.endsWith('nasl.browser')
|
|
148
|
+
|| namespace?.endsWith('nasl.auth')
|
|
149
|
+
|| namespace?.endsWith('nasl.configuration')
|
|
150
|
+
|| this.isEnum())
|
|
151
|
+
&& !isMemberExpressionProperty ? `this.${name}` : name;
|
|
107
152
|
}
|
|
108
153
|
|
|
109
154
|
@withSourceMap()
|
|
@@ -114,7 +159,7 @@ export class Identifier extends LogicItem {
|
|
|
114
159
|
const viewLogics = view.logics;
|
|
115
160
|
const findLogic = viewLogics.find((item) => item.name === this.name);
|
|
116
161
|
if (findLogic) {
|
|
117
|
-
return
|
|
162
|
+
return this.name;
|
|
118
163
|
}
|
|
119
164
|
}
|
|
120
165
|
// 因为右侧枚举要赋值就赋值toList方法一下
|
|
@@ -122,21 +167,27 @@ export class Identifier extends LogicItem {
|
|
|
122
167
|
// 绑定类型
|
|
123
168
|
if (this.parentNode instanceof BindAttribute) {
|
|
124
169
|
// this.parentNode.name === 'data-source'
|
|
125
|
-
return (
|
|
170
|
+
return (this.namespace + '.' || '') + this.name + '.toList';
|
|
126
171
|
}
|
|
127
172
|
}
|
|
128
173
|
|
|
129
174
|
// 如果是nasl.util.Enum 的子集里的 Identifier > MemberExpression > Argument > callfunction
|
|
130
175
|
// nasl.util.Enum 的 右侧是转成字符串的
|
|
131
176
|
// 如果是identifier 而且枚举
|
|
132
|
-
if (this.parentNode?.parentNode?.parentNode instanceof CallFunction) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
177
|
+
// if (this.parentNode?.parentNode?.parentNode instanceof CallFunction) {
|
|
178
|
+
// const calleeNamespace = this.parentNode.parentNode.parentNode.calleeNamespace;
|
|
179
|
+
// const calleeName = this.parentNode.parentNode.parentNode.calleeName;
|
|
180
|
+
// if (calleeNamespace + '.' + calleeName === 'nasl.util.Enum') {
|
|
181
|
+
// const str = (this.namespace ? this.namespace + '.' : '') + this.name;
|
|
182
|
+
// return str.includes('.enums.') ? str : str + '.toString()';
|
|
183
|
+
// }
|
|
184
|
+
// }
|
|
185
|
+
|
|
186
|
+
// having 下选择的变量不生成 namespace 前缀
|
|
187
|
+
if (this.namespace === 'inner' && this.getAncestor('CallQueryComponent')) {
|
|
188
|
+
return `__${this.name}` || '__IDENTIFIER__';
|
|
139
189
|
}
|
|
190
|
+
|
|
140
191
|
return this.namespace ? this.namespace + '.' + this.name : this.name || '__IDENTIFIER__';
|
|
141
192
|
}
|
|
142
193
|
|
|
@@ -96,7 +96,7 @@ export class IfStatement extends LogicItem {
|
|
|
96
96
|
const relationOptions = { parentNode: this, parentKey: 'consequent' };
|
|
97
97
|
let logicItem: LogicItem;
|
|
98
98
|
if (options instanceof LogicItem) {
|
|
99
|
-
options.
|
|
99
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
100
100
|
logicItem = options;
|
|
101
101
|
Object.assign(logicItem, relationOptions);
|
|
102
102
|
} else {
|
|
@@ -170,7 +170,7 @@ export class IfStatement extends LogicItem {
|
|
|
170
170
|
|
|
171
171
|
addItemInConsequent(options?: Partial<LogicItem> | LogicItem) {
|
|
172
172
|
const node = this._addItemInConsequent(options as any);
|
|
173
|
-
const index = this.consequent.
|
|
173
|
+
const index = this.consequent.indexOf(node);
|
|
174
174
|
node.create({
|
|
175
175
|
index,
|
|
176
176
|
parentNode: this,
|
|
@@ -200,7 +200,7 @@ export class IfStatement extends LogicItem {
|
|
|
200
200
|
const relationOptions = { parentNode: this, parentKey: 'alternate' };
|
|
201
201
|
let logicItem: LogicItem;
|
|
202
202
|
if (options instanceof LogicItem) {
|
|
203
|
-
options.
|
|
203
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
204
204
|
logicItem = options;
|
|
205
205
|
Object.assign(logicItem, relationOptions);
|
|
206
206
|
} else {
|
|
@@ -274,7 +274,7 @@ export class IfStatement extends LogicItem {
|
|
|
274
274
|
|
|
275
275
|
addItemInAlternate(options?: Partial<LogicItem> | LogicItem) {
|
|
276
276
|
const node = this._addItemInAlternate(options as any);
|
|
277
|
-
const index = this.alternate.
|
|
277
|
+
const index = this.alternate.indexOf(node);
|
|
278
278
|
node.create({
|
|
279
279
|
index,
|
|
280
280
|
parentNode: this,
|
|
@@ -2,8 +2,7 @@ import { dataTypesMap } from './basics/types';
|
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
3
3
|
import Entity from './Entity__';
|
|
4
4
|
import Structure from './Structure__';
|
|
5
|
-
import { getNodeByNodeCallee } from '
|
|
6
|
-
|
|
5
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
7
6
|
|
|
8
7
|
//================================================================================
|
|
9
8
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -54,7 +53,7 @@ export class InterfaceParam extends BaseNode {
|
|
|
54
53
|
* in
|
|
55
54
|
*/
|
|
56
55
|
@property()
|
|
57
|
-
in: 'query' | 'body' | 'header' | 'cookie' = undefined;
|
|
56
|
+
in: 'query' | 'path' | 'body' | 'header' | 'cookie' = undefined;
|
|
58
57
|
|
|
59
58
|
/**
|
|
60
59
|
* 是否必填
|
|
@@ -139,7 +138,7 @@ export class InterfaceParam extends BaseNode {
|
|
|
139
138
|
/**
|
|
140
139
|
* 设置in
|
|
141
140
|
*/
|
|
142
|
-
setIn(inWhich: 'query' | 'body' | 'header' | 'cookie') {
|
|
141
|
+
setIn(inWhich: 'query' | 'path' | 'body' | 'header' | 'cookie') {
|
|
143
142
|
const object = {
|
|
144
143
|
in: inWhich,
|
|
145
144
|
};
|
|
@@ -245,7 +244,7 @@ export class InterfaceParam extends BaseNode {
|
|
|
245
244
|
// eslint-disable-next-line prefer-rest-params
|
|
246
245
|
throw new Error('找不到类型:' + arguments[0]);
|
|
247
246
|
} else {
|
|
248
|
-
typeAnnotation._delete();
|
|
247
|
+
typeAnnotation._delete?.();
|
|
249
248
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
250
249
|
Object.assign(typeAnnotation, relationOptions);
|
|
251
250
|
}
|
|
@@ -265,26 +264,63 @@ export class InterfaceParam extends BaseNode {
|
|
|
265
264
|
}
|
|
266
265
|
|
|
267
266
|
@withSourceMap()
|
|
268
|
-
toEmbeddedTS(state?: TranslatorState): string {
|
|
269
|
-
let code = this.
|
|
267
|
+
toEmbeddedTS(state?: TranslatorState, isOptionalParameter?: boolean): string {
|
|
268
|
+
let code = this.tsName;
|
|
269
|
+
if (isOptionalParameter) {
|
|
270
|
+
code += '?';
|
|
271
|
+
}
|
|
270
272
|
if (this.typeAnnotation) {
|
|
271
273
|
code += ': ';
|
|
272
274
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
273
275
|
}
|
|
276
|
+
// toTS暂时不需要默认值
|
|
277
|
+
// if (this.defaultValue) {
|
|
278
|
+
// code += ` = ${this.defaultValue}`;
|
|
279
|
+
// }
|
|
274
280
|
return code;
|
|
275
281
|
}
|
|
276
282
|
|
|
283
|
+
get hasChildren() {
|
|
284
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
285
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
286
|
+
if (typeNamespace.endsWith('.enums'))
|
|
287
|
+
return null;
|
|
288
|
+
return [{}];
|
|
289
|
+
}
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
get isTreeLeaf() {
|
|
293
|
+
return !this.hasChildren;
|
|
294
|
+
}
|
|
277
295
|
getSelectRef() {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
296
|
+
try {
|
|
297
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
298
|
+
let completionChildren;
|
|
299
|
+
if (typeKind === 'reference') {
|
|
300
|
+
if (typeNamespace === 'nasl.ui') {
|
|
301
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
302
|
+
const properties = node.properties || [];
|
|
303
|
+
completionChildren = properties;
|
|
304
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
305
|
+
completionChildren = undefined;
|
|
306
|
+
} else {
|
|
307
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
308
|
+
const properties = node.properties || [];
|
|
309
|
+
completionChildren = properties;
|
|
310
|
+
}
|
|
311
|
+
} else if (typeKind === 'generic') {
|
|
312
|
+
if (typeNamespace === 'nasl.collection') {
|
|
313
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
314
|
+
const properties = node.properties || [];
|
|
315
|
+
completionChildren = properties;
|
|
316
|
+
}
|
|
317
|
+
} else {
|
|
318
|
+
completionChildren = undefined;
|
|
319
|
+
}
|
|
320
|
+
return completionChildren;
|
|
321
|
+
} catch (err) {
|
|
322
|
+
console.log(err);
|
|
286
323
|
}
|
|
287
|
-
return completionChildren;
|
|
288
324
|
}
|
|
289
325
|
//================================================================================
|
|
290
326
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -171,7 +171,7 @@ export class Interface extends BaseNode {
|
|
|
171
171
|
name: options,
|
|
172
172
|
}, this, 'params');
|
|
173
173
|
} else if (options instanceof InterfaceParam) {
|
|
174
|
-
options.
|
|
174
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
175
175
|
interfaceParam = options;
|
|
176
176
|
Object.assign(interfaceParam, relationOptions);
|
|
177
177
|
} else {
|
|
@@ -259,7 +259,7 @@ export class Interface extends BaseNode {
|
|
|
259
259
|
|
|
260
260
|
addInterfaceParam(options?: string | Partial<InterfaceParam> | InterfaceParam) {
|
|
261
261
|
const node = this._addInterfaceParam(options as any);
|
|
262
|
-
const index = this.params.
|
|
262
|
+
const index = this.params.indexOf(node);
|
|
263
263
|
node.create({
|
|
264
264
|
index,
|
|
265
265
|
parentNode: this,
|
|
@@ -269,7 +269,7 @@ export class Interface extends BaseNode {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
|
|
272
|
-
getReturnUniqueName(name = '
|
|
272
|
+
getReturnUniqueName(name = 'result') {
|
|
273
273
|
return utils.unique(name, this.getVarExistingNames());
|
|
274
274
|
}
|
|
275
275
|
|
|
@@ -309,7 +309,7 @@ export class Interface extends BaseNode {
|
|
|
309
309
|
name: options,
|
|
310
310
|
}, this, 'returns');
|
|
311
311
|
} else if (options instanceof Return) {
|
|
312
|
-
options.
|
|
312
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
313
313
|
ret = options;
|
|
314
314
|
Object.assign(ret, relationOptions);
|
|
315
315
|
} else {
|
|
@@ -397,7 +397,7 @@ export class Interface extends BaseNode {
|
|
|
397
397
|
|
|
398
398
|
addReturn(options?: string | Partial<Return> | Return) {
|
|
399
399
|
const node = this._addReturn(options as any);
|
|
400
|
-
const index = this.returns.
|
|
400
|
+
const index = this.returns.indexOf(node);
|
|
401
401
|
node.create({
|
|
402
402
|
index,
|
|
403
403
|
parentNode: this,
|
|
@@ -519,6 +519,18 @@ export class Interface extends BaseNode {
|
|
|
519
519
|
return !!this.module;
|
|
520
520
|
}
|
|
521
521
|
|
|
522
|
+
toService() {
|
|
523
|
+
return {
|
|
524
|
+
config: {
|
|
525
|
+
serviceType: 'external',
|
|
526
|
+
},
|
|
527
|
+
url: {
|
|
528
|
+
method: this.method,
|
|
529
|
+
path: this.path,
|
|
530
|
+
},
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
|
|
522
534
|
/**
|
|
523
535
|
* 设置接口描述
|
|
524
536
|
*/
|
|
@@ -551,10 +563,14 @@ export class Interface extends BaseNode {
|
|
|
551
563
|
}
|
|
552
564
|
|
|
553
565
|
toEmbeddedTSFile() {
|
|
554
|
-
let code = `namespace ${this.
|
|
566
|
+
let code = `namespace ${this.getTsNamespace()} {\n`;
|
|
555
567
|
|
|
556
568
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
557
|
-
|
|
569
|
+
try {
|
|
570
|
+
code += this.toEmbeddedTS(state);
|
|
571
|
+
} catch (err) {
|
|
572
|
+
code += '';
|
|
573
|
+
}
|
|
558
574
|
code += '}\n';
|
|
559
575
|
|
|
560
576
|
return {
|
|
@@ -565,9 +581,12 @@ export class Interface extends BaseNode {
|
|
|
565
581
|
}
|
|
566
582
|
|
|
567
583
|
get calleeKey(): string {
|
|
568
|
-
return `${this.
|
|
584
|
+
return `${this.getTsNamespace()}.${this.name} `;
|
|
569
585
|
}
|
|
570
586
|
|
|
587
|
+
get calleewholeKey() {
|
|
588
|
+
return this.getNamespace() + '.' + this.name;
|
|
589
|
+
}
|
|
571
590
|
/**
|
|
572
591
|
* 生成宿主语言的文件路径
|
|
573
592
|
* @param name 一般不用传,用于 rename
|
|
@@ -577,15 +596,95 @@ export class Interface extends BaseNode {
|
|
|
577
596
|
return `/embedded/${this.app.name}${_path}/interfaces/${name}.ts`;
|
|
578
597
|
}
|
|
579
598
|
|
|
599
|
+
get tsName(): string {
|
|
600
|
+
const excludeds = [
|
|
601
|
+
'abstract',
|
|
602
|
+
'arguments',
|
|
603
|
+
'await',
|
|
604
|
+
'boolean',
|
|
605
|
+
'break',
|
|
606
|
+
'byte',
|
|
607
|
+
'case',
|
|
608
|
+
'catch',
|
|
609
|
+
'char',
|
|
610
|
+
'class',
|
|
611
|
+
'const',
|
|
612
|
+
'continue',
|
|
613
|
+
'debugger',
|
|
614
|
+
'default',
|
|
615
|
+
'delete',
|
|
616
|
+
'do',
|
|
617
|
+
'double',
|
|
618
|
+
'else',
|
|
619
|
+
'enum',
|
|
620
|
+
'eval',
|
|
621
|
+
'export',
|
|
622
|
+
'extends',
|
|
623
|
+
'false',
|
|
624
|
+
'final',
|
|
625
|
+
'finally',
|
|
626
|
+
'float',
|
|
627
|
+
'for',
|
|
628
|
+
'function',
|
|
629
|
+
'goto',
|
|
630
|
+
'if',
|
|
631
|
+
'implements',
|
|
632
|
+
'import',
|
|
633
|
+
'in',
|
|
634
|
+
'instanceof',
|
|
635
|
+
'int',
|
|
636
|
+
'interface',
|
|
637
|
+
'let',
|
|
638
|
+
'long',
|
|
639
|
+
'native',
|
|
640
|
+
'new',
|
|
641
|
+
'null',
|
|
642
|
+
'package',
|
|
643
|
+
'private',
|
|
644
|
+
'protected',
|
|
645
|
+
'public',
|
|
646
|
+
'return',
|
|
647
|
+
'short',
|
|
648
|
+
'static',
|
|
649
|
+
'super',
|
|
650
|
+
'switch',
|
|
651
|
+
'synchronized',
|
|
652
|
+
'this',
|
|
653
|
+
'throw',
|
|
654
|
+
'throws',
|
|
655
|
+
'transient',
|
|
656
|
+
'true',
|
|
657
|
+
'try',
|
|
658
|
+
'typeof',
|
|
659
|
+
'var',
|
|
660
|
+
'void',
|
|
661
|
+
'volatile',
|
|
662
|
+
'while',
|
|
663
|
+
'with',
|
|
664
|
+
'yield,as',
|
|
665
|
+
'any',
|
|
666
|
+
'number',
|
|
667
|
+
'string',
|
|
668
|
+
'get',
|
|
669
|
+
'type',
|
|
670
|
+
'typeof',
|
|
671
|
+
'instanceof',
|
|
672
|
+
'require',
|
|
673
|
+
];
|
|
674
|
+
if (excludeds.includes(this.name)) {
|
|
675
|
+
return '_' + this.name;
|
|
676
|
+
}
|
|
677
|
+
return this.name;
|
|
678
|
+
}
|
|
580
679
|
@withSourceMap()
|
|
581
680
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
582
681
|
let code = '';
|
|
583
|
-
code += `export function ${this.
|
|
682
|
+
code += `export function ${this.tsName}(`;
|
|
584
683
|
this.params.forEach((param, index) => {
|
|
585
684
|
if (index === 0) {
|
|
586
685
|
code += '{';
|
|
587
686
|
}
|
|
588
|
-
code += param.
|
|
687
|
+
code += param.tsName;
|
|
589
688
|
if (index !== this.params.length - 1) {
|
|
590
689
|
code += ', ';
|
|
591
690
|
} else {
|
|
@@ -596,7 +695,7 @@ export class Interface extends BaseNode {
|
|
|
596
695
|
if (index === 0) {
|
|
597
696
|
code += '{';
|
|
598
697
|
}
|
|
599
|
-
code += param.toEmbeddedTS(shiftState(state, code));
|
|
698
|
+
code += param.toEmbeddedTS(shiftState(state, code), !(param as InterfaceParam).required);
|
|
600
699
|
if (index !== this.params.length - 1) {
|
|
601
700
|
code += ', ';
|
|
602
701
|
} else {
|
|
@@ -610,12 +709,16 @@ export class Interface extends BaseNode {
|
|
|
610
709
|
});
|
|
611
710
|
code += '{\n';
|
|
612
711
|
|
|
613
|
-
code += this.module ? '' : 'let logic =' + (this.parentNode as Namespace).
|
|
614
|
-
code +=
|
|
712
|
+
code += this.module ? '' : 'let logic =' + (this.parentNode as Namespace).getTsNamespace() + '.logics.' + this.originLogicName + '\n';
|
|
713
|
+
code += 'let ';
|
|
714
|
+
code += this.returns[0].toEmbeddedTS(shiftState(state, code, { inline: true }));
|
|
715
|
+
code += ';\n';
|
|
716
|
+
code += `return `;
|
|
717
|
+
code += this.returns[0].tsName || '__return;';
|
|
615
718
|
code += '\n }';
|
|
616
719
|
} else {
|
|
617
720
|
code += 'void {';
|
|
618
|
-
code += this.module ? '' : 'let logic =' + (this.parentNode as Namespace).
|
|
721
|
+
code += this.module ? '' : 'let logic =' + (this.parentNode as Namespace).getTsNamespace() + '.logics.' + this.originLogicName + '\n';
|
|
619
722
|
code += '};';
|
|
620
723
|
}
|
|
621
724
|
code += '\n';
|
|
@@ -628,6 +731,17 @@ export class Interface extends BaseNode {
|
|
|
628
731
|
else
|
|
629
732
|
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
630
733
|
}
|
|
734
|
+
getTsNamespace() {
|
|
735
|
+
if (this.parentNode.concept === 'App') {
|
|
736
|
+
return `${(this.parentNode as Namespace).getNamespace()}.interfaces`;
|
|
737
|
+
} else {
|
|
738
|
+
if (this.parentNode && (this.parentNode as Namespace).getTsNamespace) {
|
|
739
|
+
return `${(this.parentNode as Namespace).getTsNamespace()}.interfaces`;
|
|
740
|
+
} else {
|
|
741
|
+
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
}
|
|
631
745
|
|
|
632
746
|
getVarExistingNames(excludedList: Array<InterfaceParam | Return> = []) {
|
|
633
747
|
const excludedSet = new Set(excludedList);
|
|
@@ -83,6 +83,10 @@ export class JSBlock extends LogicItem {
|
|
|
83
83
|
await jsBlock_number();`;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
toEmbeddedTS(state?: TranslatorState): string {
|
|
87
|
+
return '';
|
|
88
|
+
}
|
|
89
|
+
|
|
86
90
|
//================================================================================
|
|
87
91
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
88
92
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|