@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
|
@@ -165,7 +165,7 @@ export class BindEvent extends BaseNode {
|
|
|
165
165
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
166
166
|
let argument: Argument;
|
|
167
167
|
if (options instanceof Argument) {
|
|
168
|
-
options.
|
|
168
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
169
169
|
argument = options;
|
|
170
170
|
Object.assign(argument, relationOptions);
|
|
171
171
|
} else {
|
|
@@ -239,7 +239,7 @@ export class BindEvent extends BaseNode {
|
|
|
239
239
|
|
|
240
240
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
241
241
|
const node = this._addArgument(options as any);
|
|
242
|
-
const index = this.arguments.
|
|
242
|
+
const index = this.arguments.indexOf(node);
|
|
243
243
|
node.create({
|
|
244
244
|
index,
|
|
245
245
|
parentNode: this,
|
|
@@ -289,7 +289,10 @@ export class BindEvent extends BaseNode {
|
|
|
289
289
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
290
290
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
291
291
|
//================================================================================
|
|
292
|
-
|
|
292
|
+
// 用于logic回填
|
|
293
|
+
get calleewholeKey(): string {
|
|
294
|
+
return this.calleeNamespace + '.' + this.calleeName;
|
|
295
|
+
}
|
|
293
296
|
get tsCalleeNamespace() {
|
|
294
297
|
if (this.calleeNamespace) {
|
|
295
298
|
let tsCalleeNamespace = this.calleeNamespace;
|
|
@@ -303,7 +306,7 @@ export class BindEvent extends BaseNode {
|
|
|
303
306
|
get calleeKey(): string {
|
|
304
307
|
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
305
308
|
if (!tsCalleeNamespace) {
|
|
306
|
-
return
|
|
309
|
+
return `${this.calleeName}`;
|
|
307
310
|
}
|
|
308
311
|
// elements单独处理相对路径,和后缀的问题
|
|
309
312
|
if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
|
|
@@ -326,17 +329,24 @@ export class BindEvent extends BaseNode {
|
|
|
326
329
|
return `${randerNameSpace}.${this.calleeName}`;
|
|
327
330
|
}
|
|
328
331
|
// 绑定事件转驼峰
|
|
329
|
-
toHump = (name: string) => name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '';
|
|
332
|
+
toHump = (name: string) => (name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '');
|
|
330
333
|
|
|
331
334
|
@withSourceMap()
|
|
332
|
-
toEmbeddedTS(state?: TranslatorState): string {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
335
|
+
toEmbeddedTS(state?: TranslatorState, isPageCycle?: Boolean): string {
|
|
336
|
+
// 如果有绑定的事件名
|
|
337
|
+
if (this.calleeName) {
|
|
338
|
+
if (isPageCycle) {
|
|
339
|
+
return `${this.calleeKey}();`;
|
|
340
|
+
}
|
|
341
|
+
let code = `${this.toHump(this.name) || '__IDENTIFIER__'}: (event) => [\n`;
|
|
342
|
+
code += indent(state.tabSize + 1);
|
|
343
|
+
code += `() => {${this.calleeKey}()}`;
|
|
344
|
+
code += '\n';
|
|
345
|
+
code += indent(state.tabSize);
|
|
346
|
+
code += '],\n';
|
|
347
|
+
return code;
|
|
348
|
+
}
|
|
349
|
+
return '';
|
|
340
350
|
}
|
|
341
351
|
|
|
342
352
|
// @withSourceMap()
|
|
@@ -369,19 +379,53 @@ export class BindEvent extends BaseNode {
|
|
|
369
379
|
* 转换成 Vue 的模板格式
|
|
370
380
|
*/
|
|
371
381
|
toVue(options?: ElementToVueOptions) {
|
|
372
|
-
const
|
|
382
|
+
const calleeNamespace = this.calleeNamespace;
|
|
383
|
+
let isComponentLogic = false;
|
|
384
|
+
let componentName = '';
|
|
385
|
+
if (calleeNamespace) {
|
|
386
|
+
const namespaceArr = calleeNamespace.split('.');
|
|
387
|
+
const start = namespaceArr.shift();
|
|
388
|
+
if (start === 'elements' && namespaceArr.length === 2 && namespaceArr[1] === 'logics') {
|
|
389
|
+
isComponentLogic = true;
|
|
390
|
+
componentName = namespaceArr[0];
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
let callee = '';
|
|
394
|
+
if (isComponentLogic)
|
|
395
|
+
callee = `$refs.${componentName}.${this.calleeName}`;
|
|
396
|
+
else if (calleeNamespace?.startsWith('nasl.'))
|
|
397
|
+
callee = `$global.${this.calleeName}`;
|
|
398
|
+
else
|
|
399
|
+
callee = this.calleeName;
|
|
373
400
|
let code = '';
|
|
374
|
-
if (
|
|
375
|
-
code += `@${this.name}="${
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
401
|
+
if (callee) {
|
|
402
|
+
code += `@${this.name}="${callee}`;
|
|
403
|
+
const argsList: string[] = [];
|
|
404
|
+
const argsMap: any = {};
|
|
405
|
+
if (Array.isArray(this.arguments) && this.arguments.length) {
|
|
406
|
+
this.arguments.forEach((arg) => {
|
|
407
|
+
const argStr = arg.toJS();
|
|
408
|
+
argsList.push(argStr);
|
|
409
|
+
argsMap[argStr] = true;
|
|
382
410
|
});
|
|
383
|
-
code += ')';
|
|
384
411
|
}
|
|
412
|
+
const additionalArgs: string[] = ['$event'];
|
|
413
|
+
if (Array.isArray(options?.scopeList) && options?.scopeList.length) {
|
|
414
|
+
additionalArgs.push(...options.scopeList);
|
|
415
|
+
}
|
|
416
|
+
additionalArgs.forEach((arg) => {
|
|
417
|
+
if (!argsMap[arg]) {
|
|
418
|
+
argsList.push(arg);
|
|
419
|
+
argsMap[arg] = true;
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
code += '(';
|
|
423
|
+
argsList.forEach((arg, index) => {
|
|
424
|
+
code += arg;
|
|
425
|
+
if (index !== argsList.length - 1)
|
|
426
|
+
code += ', ';
|
|
427
|
+
});
|
|
428
|
+
code += ')';
|
|
385
429
|
code += `"`;
|
|
386
430
|
}
|
|
387
431
|
return code;
|
|
@@ -68,6 +68,14 @@ export class BooleanLiteral extends LogicItem {
|
|
|
68
68
|
return this.value;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
@withSourceMap()
|
|
72
|
+
toEmbeddedTS(state?: TranslatorState) {
|
|
73
|
+
return this.value;
|
|
74
|
+
}
|
|
75
|
+
getValue() {
|
|
76
|
+
return this.value;
|
|
77
|
+
}
|
|
78
|
+
|
|
71
79
|
//================================================================================
|
|
72
80
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
73
81
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TranslatorState, shiftState, withSourceMap } from '../translator';
|
|
2
2
|
import Function from './Function__';
|
|
3
3
|
import { ElementToVueOptions } from './ViewElement__';
|
|
4
|
+
import Identifier from './Identifier__';
|
|
4
5
|
//================================================================================
|
|
5
6
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
6
7
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -31,7 +32,7 @@ export class CallFunction extends LogicItem {
|
|
|
31
32
|
* 调用函数标题
|
|
32
33
|
*/
|
|
33
34
|
@property()
|
|
34
|
-
label: string = '
|
|
35
|
+
label: string = '内置函数';
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* calleeNamespace
|
|
@@ -104,7 +105,7 @@ export class CallFunction extends LogicItem {
|
|
|
104
105
|
const relationOptions = { parentNode: this, parentKey: 'typeArguments' };
|
|
105
106
|
let typeAnnotation: TypeAnnotation;
|
|
106
107
|
if (options instanceof TypeAnnotation) {
|
|
107
|
-
options.
|
|
108
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
108
109
|
typeAnnotation = options;
|
|
109
110
|
Object.assign(typeAnnotation, relationOptions);
|
|
110
111
|
} else {
|
|
@@ -178,7 +179,7 @@ export class CallFunction extends LogicItem {
|
|
|
178
179
|
|
|
179
180
|
addTypeAnnotation(options?: Partial<TypeAnnotation> | TypeAnnotation) {
|
|
180
181
|
const node = this._addTypeAnnotation(options as any);
|
|
181
|
-
const index = this.typeArguments.
|
|
182
|
+
const index = this.typeArguments.indexOf(node);
|
|
182
183
|
node.create({
|
|
183
184
|
index,
|
|
184
185
|
parentNode: this,
|
|
@@ -211,7 +212,7 @@ export class CallFunction extends LogicItem {
|
|
|
211
212
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
212
213
|
let argument: Argument;
|
|
213
214
|
if (options instanceof Argument) {
|
|
214
|
-
options.
|
|
215
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
215
216
|
argument = options;
|
|
216
217
|
Object.assign(argument, relationOptions);
|
|
217
218
|
} else {
|
|
@@ -285,7 +286,7 @@ export class CallFunction extends LogicItem {
|
|
|
285
286
|
|
|
286
287
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
287
288
|
const node = this._addArgument(options as any);
|
|
288
|
-
const index = this.arguments.
|
|
289
|
+
const index = this.arguments.indexOf(node);
|
|
289
290
|
node.create({
|
|
290
291
|
index,
|
|
291
292
|
parentNode: this,
|
|
@@ -374,23 +375,39 @@ export class CallFunction extends LogicItem {
|
|
|
374
375
|
toVue(options?: ElementToVueOptions): string {
|
|
375
376
|
let code = `$utils['${this.calleeName}']`;
|
|
376
377
|
code += '(';
|
|
377
|
-
this.arguments
|
|
378
|
-
code += arg
|
|
379
|
-
if (index !== this.arguments
|
|
378
|
+
this.arguments?.forEach((arg, index) => {
|
|
379
|
+
code += arg?.toVue(options);
|
|
380
|
+
if (index !== this.arguments?.length - 1)
|
|
380
381
|
code += ', ';
|
|
381
382
|
});
|
|
383
|
+
if (this.typeArguments && this.typeArguments.length) {
|
|
384
|
+
code += ', ';
|
|
385
|
+
this.typeArguments?.forEach((arg, index) => {
|
|
386
|
+
code += arg?.toJS();
|
|
387
|
+
if (index !== this.arguments?.length - 1)
|
|
388
|
+
code += ', ';
|
|
389
|
+
});
|
|
390
|
+
}
|
|
382
391
|
code += ')';
|
|
383
392
|
return code;
|
|
384
393
|
}
|
|
385
394
|
|
|
386
395
|
toUI(): string {
|
|
387
|
-
let code =
|
|
396
|
+
let code = this.calleeName;
|
|
388
397
|
code += '(';
|
|
389
|
-
this.arguments
|
|
390
|
-
code += arg
|
|
391
|
-
if (index !== this.arguments
|
|
398
|
+
this.arguments?.forEach((arg, index) => {
|
|
399
|
+
code += arg?.toUI();
|
|
400
|
+
if (index !== this.arguments?.length - 1)
|
|
392
401
|
code += ', ';
|
|
393
402
|
});
|
|
403
|
+
if (this.typeArguments && this.typeArguments.length) {
|
|
404
|
+
code += ', ';
|
|
405
|
+
this.typeArguments?.forEach((arg, index) => {
|
|
406
|
+
code += arg?.typeName;
|
|
407
|
+
if (index !== this.arguments?.length - 1)
|
|
408
|
+
code += ', ';
|
|
409
|
+
});
|
|
410
|
+
}
|
|
394
411
|
code += ')';
|
|
395
412
|
return code;
|
|
396
413
|
}
|
|
@@ -398,11 +415,19 @@ export class CallFunction extends LogicItem {
|
|
|
398
415
|
toJS(state?: TranslatorState): string {
|
|
399
416
|
let code = `this.$utils['${this.calleeName}']`;
|
|
400
417
|
code += '(';
|
|
401
|
-
this.arguments
|
|
402
|
-
code += arg
|
|
403
|
-
if (index !== this.arguments
|
|
418
|
+
this.arguments?.forEach((arg, index) => {
|
|
419
|
+
code += arg?.toJS(shiftState(state, code));
|
|
420
|
+
if (index !== this.arguments?.length - 1)
|
|
404
421
|
code += ', ';
|
|
405
422
|
});
|
|
423
|
+
if (this.typeArguments && this.typeArguments.length) {
|
|
424
|
+
code += ', ';
|
|
425
|
+
this.typeArguments?.forEach((arg, index) => {
|
|
426
|
+
code += arg?.toJS(shiftState(state, code));
|
|
427
|
+
if (index !== this.arguments?.length - 1)
|
|
428
|
+
code += ', ';
|
|
429
|
+
});
|
|
430
|
+
}
|
|
406
431
|
code += ')';
|
|
407
432
|
return code;
|
|
408
433
|
}
|
|
@@ -412,10 +437,10 @@ export class CallFunction extends LogicItem {
|
|
|
412
437
|
}
|
|
413
438
|
|
|
414
439
|
_setCallee(func: Function) {
|
|
415
|
-
this.calleeNamespace = func
|
|
416
|
-
this.calleeName = func
|
|
440
|
+
this.calleeNamespace = func?.getNamespace();
|
|
441
|
+
this.calleeName = func?.name;
|
|
417
442
|
this.arguments = [];
|
|
418
|
-
func
|
|
443
|
+
func?.params?.forEach((param) => {
|
|
419
444
|
this._addArgument(undefined);
|
|
420
445
|
});
|
|
421
446
|
}
|
|
@@ -428,23 +453,26 @@ export class CallFunction extends LogicItem {
|
|
|
428
453
|
const argument = Argument.from({
|
|
429
454
|
keyword: param.name,
|
|
430
455
|
}, this);
|
|
456
|
+
if (param.defaultExpression instanceof Identifier) {
|
|
457
|
+
argument.expression = BaseNode.from(param.defaultExpression, argument, 'expression') as Identifier;
|
|
458
|
+
}
|
|
431
459
|
Object.assign(argument, relationOptions);
|
|
432
460
|
return argument;
|
|
433
461
|
});
|
|
434
462
|
let typeArguments = null;
|
|
435
|
-
if(func.typeParams) {
|
|
463
|
+
if (func.typeParams) {
|
|
436
464
|
typeArguments = func.typeParams.map(() => {
|
|
437
465
|
const relationOptions = { parentNode: this, parentKey: 'typeArguments' };
|
|
438
466
|
const typeArgu = new TypeAnnotation();
|
|
439
467
|
Object.assign(typeArgu, relationOptions);
|
|
440
468
|
return typeArgu;
|
|
441
|
-
})
|
|
469
|
+
});
|
|
442
470
|
}
|
|
443
471
|
this.update({
|
|
444
472
|
calleeNamespace,
|
|
445
473
|
calleeName,
|
|
446
474
|
arguments: params,
|
|
447
|
-
typeArguments
|
|
475
|
+
typeArguments,
|
|
448
476
|
});
|
|
449
477
|
}
|
|
450
478
|
|
|
@@ -466,14 +494,19 @@ export class CallFunction extends LogicItem {
|
|
|
466
494
|
code += ')';
|
|
467
495
|
// 如果有内容
|
|
468
496
|
const typeAnnotation = this.typeArguments[0];
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
}
|
|
497
|
+
code += `<`;
|
|
498
|
+
code += `${typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}>()`;
|
|
472
499
|
code += '\n';
|
|
473
500
|
} else {
|
|
474
501
|
code = this.calleeKey;
|
|
502
|
+
if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
|
|
503
|
+
// 如果有内容
|
|
504
|
+
const typeAnnotation = this.typeArguments[0];
|
|
505
|
+
code += `<`;
|
|
506
|
+
code += `${typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}>`;
|
|
507
|
+
}
|
|
475
508
|
code += '(';
|
|
476
|
-
this.arguments.forEach((arg, index) => {
|
|
509
|
+
Array.isArray(this.arguments) && this.arguments.forEach((arg, index) => {
|
|
477
510
|
code += arg.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
478
511
|
if (index !== this.arguments.length - 1)
|
|
479
512
|
code += ', ';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TranslatorState, shiftState, withSourceMap } from '../translator';
|
|
2
2
|
import Interface from './Interface__';
|
|
3
|
+
import NullLiteral from './NullLiteral__';
|
|
3
4
|
import { ElementToVueOptions } from './ViewElement__';
|
|
5
|
+
import { getConceptConstructor } from '../decorators';
|
|
4
6
|
//================================================================================
|
|
5
7
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
6
8
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -97,7 +99,7 @@ export class CallInterface extends LogicItem {
|
|
|
97
99
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
98
100
|
let argument: Argument;
|
|
99
101
|
if (options instanceof Argument) {
|
|
100
|
-
options.
|
|
102
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
101
103
|
argument = options;
|
|
102
104
|
Object.assign(argument, relationOptions);
|
|
103
105
|
} else {
|
|
@@ -171,7 +173,7 @@ export class CallInterface extends LogicItem {
|
|
|
171
173
|
|
|
172
174
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
173
175
|
const node = this._addArgument(options as any);
|
|
174
|
-
const index = this.arguments.
|
|
176
|
+
const index = this.arguments.indexOf(node);
|
|
175
177
|
node.create({
|
|
176
178
|
index,
|
|
177
179
|
parentNode: this,
|
|
@@ -221,12 +223,23 @@ export class CallInterface extends LogicItem {
|
|
|
221
223
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
222
224
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
223
225
|
//================================================================================
|
|
226
|
+
|
|
227
|
+
get tsCalleeNamespace() {
|
|
228
|
+
if (this.calleeNamespace) {
|
|
229
|
+
let tsCalleeNamespace = this.calleeNamespace;
|
|
230
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
|
|
231
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
|
|
232
|
+
return tsCalleeNamespace;
|
|
233
|
+
}
|
|
234
|
+
return '';
|
|
235
|
+
}
|
|
236
|
+
|
|
224
237
|
toVue(options?: ElementToVueOptions): string {
|
|
225
238
|
let code = this.calleeName;
|
|
226
239
|
code += '(';
|
|
227
|
-
this.arguments
|
|
228
|
-
code += arg
|
|
229
|
-
if (index !== this.arguments
|
|
240
|
+
this.arguments?.forEach((arg, index) => {
|
|
241
|
+
code += arg?.toVue(options);
|
|
242
|
+
if (index !== this.arguments?.length - 1)
|
|
230
243
|
code += ', ';
|
|
231
244
|
});
|
|
232
245
|
code += ')';
|
|
@@ -236,9 +249,9 @@ export class CallInterface extends LogicItem {
|
|
|
236
249
|
toUI(state?: TranslatorState): string {
|
|
237
250
|
let code = this.calleeName;
|
|
238
251
|
code += '(';
|
|
239
|
-
this.arguments
|
|
240
|
-
code += arg
|
|
241
|
-
if (index !== this.arguments
|
|
252
|
+
this.arguments?.forEach((arg, index) => {
|
|
253
|
+
code += arg?.toUI();
|
|
254
|
+
if (index !== this.arguments?.length - 1)
|
|
242
255
|
code += ', ';
|
|
243
256
|
});
|
|
244
257
|
code += ')';
|
|
@@ -246,32 +259,208 @@ export class CallInterface extends LogicItem {
|
|
|
246
259
|
}
|
|
247
260
|
|
|
248
261
|
toJS(state?: TranslatorState): string {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
262
|
+
const _arr = this.calleewholeKey.split('.');
|
|
263
|
+
const _name = _arr[1];
|
|
264
|
+
const _interfaceName = _arr[3];
|
|
265
|
+
const _module = this.app.interfaceDependencies.find((item) => item.name === _name);
|
|
266
|
+
const _interface = _module.interfaces.find((item) => item.name === _interfaceName);
|
|
267
|
+
if (!_interface) {
|
|
268
|
+
throw new Error(`${_name}下的${_interfaceName}接口未找到`);
|
|
269
|
+
}
|
|
270
|
+
let isSimpleBody = false; // 兼容body只有基本类型的
|
|
271
|
+
const _params = _interface.params;
|
|
272
|
+
const _queries = _params.filter((item) => item.in === 'query').map((item) => item.name);
|
|
273
|
+
const _headers = _params.filter((item) => item.in === 'header').map((item) => item.name);
|
|
274
|
+
const _body = _params
|
|
275
|
+
.filter((item) => item.in === 'body')
|
|
276
|
+
.map((item) => {
|
|
277
|
+
if (item.typeAnnotation.typeKind === 'primitive') {
|
|
278
|
+
isSimpleBody = true;
|
|
279
|
+
}
|
|
280
|
+
return item.name;
|
|
281
|
+
});
|
|
282
|
+
const _paths = _params.filter((item) => item.in === 'path').map((item) => item.name);
|
|
283
|
+
|
|
284
|
+
let code = `await this.$services['_custom']['${this.calleeNamespace}.${this.calleeName}']`;
|
|
285
|
+
code += `({
|
|
286
|
+
config: {
|
|
287
|
+
download: false,
|
|
288
|
+
},
|
|
289
|
+
query: {`;
|
|
290
|
+
this.arguments?.filter((arg) => _queries.includes(arg?.keyword))
|
|
291
|
+
.forEach((arg, index) => {
|
|
292
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
293
|
+
if (index !== this.arguments?.length - 1)
|
|
294
|
+
code += ', ';
|
|
295
|
+
});
|
|
296
|
+
code += `},
|
|
297
|
+
path: {`;
|
|
298
|
+
this.arguments?.filter((arg) => _paths.includes(arg?.keyword))
|
|
299
|
+
.forEach((arg, index) => {
|
|
300
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
301
|
+
if (index !== this.arguments?.length - 1)
|
|
302
|
+
code += ', ';
|
|
303
|
+
});
|
|
304
|
+
code += `},
|
|
305
|
+
headers: {`;
|
|
306
|
+
this.arguments?.filter((arg) => _headers.includes(arg?.keyword))
|
|
307
|
+
.forEach((arg, index) => {
|
|
308
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
309
|
+
if (index !== this.arguments?.length - 1)
|
|
310
|
+
code += ', ';
|
|
311
|
+
});
|
|
312
|
+
code += `},\n`;
|
|
313
|
+
if (isSimpleBody) {
|
|
314
|
+
code += `body: `;
|
|
315
|
+
this.arguments?.forEach((arg, index) => {
|
|
316
|
+
code += ` ${arg?.toJS(shiftState(state, code))}`;
|
|
317
|
+
});
|
|
318
|
+
} else {
|
|
319
|
+
code += `body: {`;
|
|
320
|
+
this.arguments?.filter((arg) => _body.includes(arg?.keyword))
|
|
321
|
+
.forEach((arg, index) => {
|
|
322
|
+
code += ` ...${arg?.toJS(shiftState(state, code))}`;
|
|
323
|
+
if (index !== this.arguments?.length - 1)
|
|
324
|
+
code += ', ';
|
|
325
|
+
});
|
|
326
|
+
code += '}';
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
code += '\n})';
|
|
257
330
|
return code;
|
|
258
331
|
}
|
|
259
332
|
|
|
260
333
|
@withSourceMap()
|
|
261
334
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
262
|
-
let code = this.
|
|
263
|
-
|
|
264
|
-
this.
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
335
|
+
let code = this.tsCalleeKey;
|
|
336
|
+
const _keys = this.calleeDefaultKey.split('.');
|
|
337
|
+
const _module = this.app.interfaceDependencies.find((item) => item.name === _keys[1]);
|
|
338
|
+
let params: string[] = [];
|
|
339
|
+
const _interface = _module?.interfaces?.find((item) => item.name === _keys[3]);
|
|
340
|
+
if (_interface) {
|
|
341
|
+
params = _interface.params.filter((item) => item.required).map((item) => item.name) || [];
|
|
342
|
+
// const _bodyParams = _interface.params.find((item) => item.name === 'Body');
|
|
343
|
+
// if (_bodyParams) {
|
|
344
|
+
// const _typeKey = _bodyParams.typeAnnotation.typeKey;
|
|
345
|
+
// const _list = _typeKey.split('.');
|
|
346
|
+
// const _structure = _module.structures.find((item) => item.name === _list[3]);
|
|
347
|
+
// const isBodyRequired = _structure.properties.some((item) => item.required === true);
|
|
348
|
+
// if (isBodyRequired) {
|
|
349
|
+
// params.push('Body');
|
|
350
|
+
// }
|
|
351
|
+
// }
|
|
352
|
+
}
|
|
353
|
+
code += '(';
|
|
354
|
+
if (this.arguments?.length) {
|
|
355
|
+
code += '{';
|
|
356
|
+
this.arguments?.forEach((arg, index) => {
|
|
357
|
+
code += arg?.toEmbeddedTS(shiftState(state, code), params.includes(arg?.keyword), true);
|
|
358
|
+
if (index !== this.arguments?.length - 1)
|
|
359
|
+
code += ', ';
|
|
360
|
+
});
|
|
361
|
+
code += '}';
|
|
362
|
+
}
|
|
270
363
|
|
|
364
|
+
code += ');\n';
|
|
271
365
|
return code;
|
|
272
366
|
}
|
|
273
367
|
|
|
274
368
|
get calleeKey(): string {
|
|
369
|
+
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
370
|
+
const calleeName = this.calleeName;
|
|
371
|
+
return calleeName ? `${tsCalleeNamespace}.${calleeName}` : '__IDENTIFIER__';
|
|
372
|
+
}
|
|
373
|
+
// 用于logic回填
|
|
374
|
+
get calleewholeKey(): string {
|
|
375
|
+
return this.calleeNamespace + '.' + this.calleeName;
|
|
376
|
+
}
|
|
377
|
+
get tsCalleeName(): string {
|
|
378
|
+
const excludeds = [
|
|
379
|
+
'abstract',
|
|
380
|
+
'arguments',
|
|
381
|
+
'await',
|
|
382
|
+
'boolean',
|
|
383
|
+
'break',
|
|
384
|
+
'byte',
|
|
385
|
+
'case',
|
|
386
|
+
'catch',
|
|
387
|
+
'char',
|
|
388
|
+
'class',
|
|
389
|
+
'const',
|
|
390
|
+
'continue',
|
|
391
|
+
'debugger',
|
|
392
|
+
'default',
|
|
393
|
+
'delete',
|
|
394
|
+
'do',
|
|
395
|
+
'double',
|
|
396
|
+
'else',
|
|
397
|
+
'enum',
|
|
398
|
+
'eval',
|
|
399
|
+
'export',
|
|
400
|
+
'extends',
|
|
401
|
+
'false',
|
|
402
|
+
'final',
|
|
403
|
+
'finally',
|
|
404
|
+
'float',
|
|
405
|
+
'for',
|
|
406
|
+
'function',
|
|
407
|
+
'goto',
|
|
408
|
+
'if',
|
|
409
|
+
'implements',
|
|
410
|
+
'import',
|
|
411
|
+
'in',
|
|
412
|
+
'instanceof',
|
|
413
|
+
'int',
|
|
414
|
+
'interface',
|
|
415
|
+
'let',
|
|
416
|
+
'long',
|
|
417
|
+
'native',
|
|
418
|
+
'new',
|
|
419
|
+
'null',
|
|
420
|
+
'package',
|
|
421
|
+
'private',
|
|
422
|
+
'protected',
|
|
423
|
+
'public',
|
|
424
|
+
'return',
|
|
425
|
+
'short',
|
|
426
|
+
'static',
|
|
427
|
+
'super',
|
|
428
|
+
'switch',
|
|
429
|
+
'synchronized',
|
|
430
|
+
'this',
|
|
431
|
+
'throw',
|
|
432
|
+
'throws',
|
|
433
|
+
'transient',
|
|
434
|
+
'true',
|
|
435
|
+
'try',
|
|
436
|
+
'typeof',
|
|
437
|
+
'var',
|
|
438
|
+
'void',
|
|
439
|
+
'volatile',
|
|
440
|
+
'while',
|
|
441
|
+
'with',
|
|
442
|
+
'yield,as',
|
|
443
|
+
'any',
|
|
444
|
+
'number',
|
|
445
|
+
'string',
|
|
446
|
+
'get',
|
|
447
|
+
'type',
|
|
448
|
+
'typeof',
|
|
449
|
+
'instanceof',
|
|
450
|
+
'require',
|
|
451
|
+
];
|
|
452
|
+
if (excludeds.includes(this.calleeName)) {
|
|
453
|
+
return '_' + this.calleeName;
|
|
454
|
+
}
|
|
455
|
+
return this.calleeName;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
get tsCalleeKey(): string {
|
|
459
|
+
const tsCalleeNamespace = this.tsCalleeNamespace;
|
|
460
|
+
const calleeName = this.tsCalleeName;
|
|
461
|
+
return calleeName ? `${tsCalleeNamespace}.${calleeName}` : '__IDENTIFIER__';
|
|
462
|
+
}
|
|
463
|
+
get calleeDefaultKey(): string {
|
|
275
464
|
return `${this.calleeNamespace}.${this.calleeName}`;
|
|
276
465
|
}
|
|
277
466
|
_setCallee(_interface: Interface) {
|
|
@@ -288,9 +477,30 @@ export class CallInterface extends LogicItem {
|
|
|
288
477
|
const calleeName = _interface.name;
|
|
289
478
|
const params = _interface.params.map((param) => {
|
|
290
479
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
291
|
-
|
|
480
|
+
let expression;
|
|
481
|
+
if (param.defaultValue && param.typeAnnotation.typeKind === 'primitive') {
|
|
482
|
+
const conceptMap: { [name: string]: string } = {
|
|
483
|
+
String: 'StringLiteral',
|
|
484
|
+
Boolean: 'BooleanLiteral',
|
|
485
|
+
Integer: 'NumericLiteral',
|
|
486
|
+
Double: 'NumericLiteral',
|
|
487
|
+
Long: 'NumericLiteral',
|
|
488
|
+
};
|
|
489
|
+
const typeName = param.typeAnnotation.typeName;
|
|
490
|
+
const concept: string = conceptMap[typeName] || 'StringLiteral';
|
|
491
|
+
const Ctor = getConceptConstructor(concept);
|
|
492
|
+
expression = new Ctor({
|
|
493
|
+
concept,
|
|
494
|
+
value: param.defaultValue,
|
|
495
|
+
typeAnnotation: param.typeAnnotation,
|
|
496
|
+
});
|
|
497
|
+
} else if (!param.required) {
|
|
498
|
+
expression = new NullLiteral();
|
|
499
|
+
}
|
|
500
|
+
const argument = new Argument({
|
|
292
501
|
keyword: param.name,
|
|
293
|
-
|
|
502
|
+
expression,
|
|
503
|
+
});
|
|
294
504
|
Object.assign(argument, relationOptions);
|
|
295
505
|
return argument;
|
|
296
506
|
});
|