@lcap/nasl 1.0.0-alpha.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +513 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +363 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +20 -0
- package/out/common/BaseNode.js +219 -81
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +18 -1
- package/out/concepts/App__.js +75 -35
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +5 -1
- package/out/concepts/Argument__.js +21 -3
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +190 -0
- package/out/concepts/Assignee__.js +264 -0
- package/out/concepts/Assignee__.js.map +1 -0
- package/out/concepts/Assignment__.js +5 -0
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +8 -7
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +19 -0
- package/out/concepts/BindAttribute__.js +54 -9
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +22 -2
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -2
- package/out/concepts/BindEvent__.js +67 -34
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -0
- package/out/concepts/BooleanLiteral__.js +10 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +41 -23
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +5 -0
- package/out/concepts/CallInterface__.js +238 -31
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +4 -4
- package/out/concepts/CallLogic__.js +110 -53
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +7 -1
- package/out/concepts/CallQueryComponent__.js +44 -25
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js +6 -2
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -1
- package/out/concepts/CompletionProperty__.js +2 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +2 -2
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +2 -2
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +2 -2
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +14 -0
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +94 -18
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js +9 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +73 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +4 -1
- package/out/concepts/Entity__.js +37 -15
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +4 -0
- package/out/concepts/Enum__.js +18 -10
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +2 -2
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +9 -13
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +9 -9
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +76 -29
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js +4 -4
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +6 -4
- package/out/concepts/InterfaceParam__.js +52 -19
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +42 -30
- package/out/concepts/Interface__.js +131 -15
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +1 -0
- package/out/concepts/JSBlock__.js +3 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +14 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +16 -1
- package/out/concepts/Logic__.js +176 -33
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -12
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +28 -18
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +36 -25
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -0
- package/out/concepts/NullLiteral__.js +11 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +1 -1
- package/out/concepts/NumericLiteral__.js +17 -6
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +7 -3
- package/out/concepts/Param__.js +57 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +4 -4
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +112 -49
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -1
- package/out/concepts/Process__.js +77 -81
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +4 -4
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +3 -3
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +2 -2
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +67 -21
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +4 -0
- package/out/concepts/Role__.js +13 -4
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.js +2 -2
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +1 -1
- package/out/concepts/StringLiteral__.js +21 -31
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +5 -4
- package/out/concepts/StructureProperty__.js +55 -26
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +44 -30
- package/out/concepts/Structure__.js +42 -10
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +4 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js +2 -2
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +5 -5
- package/out/concepts/TypeAnnotation__.js +74 -20
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/UnaryExpression__.js +10 -8
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +48 -13
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +10 -1
- package/out/concepts/Variable__.js +70 -18
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +10 -10
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +299 -201
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +12 -13
- package/out/concepts/View__.js +106 -103
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +3 -3
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +4 -1
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
- package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
- package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +149 -13
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
- package/out/concepts/basics/types/coreTypeList.js +11 -10
- package/out/concepts/basics/types/coreTypeList.js.map +1 -1
- package/out/concepts/index__.d.ts +1 -0
- package/out/concepts/index__.js +1 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/config.d.ts +1 -2
- package/out/config.js +1 -2
- package/out/config.js.map +1 -1
- package/out/enums/KEYWORDS.d.ts +3 -0
- package/out/enums/KEYWORDS.js +1208 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
- package/out/enums/LEVEL_NAME_MAP.js +30 -0
- package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
- package/out/eventBus.d.ts +3 -0
- package/out/eventBus.js +7 -0
- package/out/eventBus.js.map +1 -0
- package/out/generator/genBundleFiles.d.ts +7 -2
- package/out/generator/genBundleFiles.js +168 -27
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +20 -20
- package/out/generator/genMetaData.js +50 -15
- package/out/generator/genMetaData.js.map +1 -1
- package/out/index.d.ts +2 -0
- package/out/index.js +2 -0
- package/out/index.js.map +1 -1
- package/out/manager/diagnostic.d.ts +1 -1
- package/out/server/createUiTs.d.ts +1 -0
- package/out/server/createUiTs.js +49 -5
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +38 -23
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.js +2 -0
- package/out/server/getExtensionModules.js.map +1 -1
- package/out/server/getFunctions.d.ts +1 -0
- package/out/server/getFunctions.js +7 -1
- package/out/server/getFunctions.js.map +1 -1
- package/out/server/getLogics.js +63 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +279 -36
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +6 -1
- package/out/server/getProcesses.js +243 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +11 -0
- package/out/server/getScope.js +45 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.js +4 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +30 -53
- package/out/server/naslServer.js +682 -363
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +10 -0
- package/out/server/process2LogicNamespace.js +29 -1
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.d.ts +22 -3
- package/out/server/translator.js +367 -123
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.d.ts +1 -0
- package/out/service/creator/add.configs.js +68 -0
- package/out/service/creator/add.configs.js.map +1 -0
- package/out/service/creator/errHandles.d.ts +18 -0
- package/out/service/creator/errHandles.js +60 -0
- package/out/service/creator/errHandles.js.map +1 -0
- package/out/service/creator/index.d.ts +1 -0
- package/out/service/creator/index.js +72 -0
- package/out/service/creator/index.js.map +1 -0
- package/out/service/storage/api.d.ts +18 -0
- package/out/service/storage/api.js +17 -0
- package/out/service/storage/api.js.map +1 -0
- package/out/service/storage/init.js +200 -37
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/service.d.ts +2 -0
- package/out/service/storage/service.js +10 -0
- package/out/service/storage/service.js.map +1 -0
- package/out/service/storage/storagePoint.d.ts +1 -14
- package/out/service/storage/storagePoint.js +16 -16
- package/out/service/storage/storagePoint.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +11 -11
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +5 -5
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genEnumSelectBlock.js +2 -2
- package/out/templator/genEnumSelectBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +5 -3
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.d.ts +3 -1
- package/out/templator/genGridViewBlock.js +61 -6
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.d.ts +2 -0
- package/out/templator/genQueryComponent.js +27 -14
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genTableBlock.d.ts +1 -1
- package/out/templator/genTableBlock.js +4 -5
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +9 -10
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +13 -4
- package/out/templator/utils.js +8 -4
- package/out/templator/utils.js.map +1 -1
- package/out/test/fixtures/env.js +0 -1
- package/out/test/fixtures/env.js.map +1 -1
- package/out/test/units/page/Element.spec.js +3 -3
- package/out/test/units/page/Element.spec.js.map +1 -1
- package/out/test/units/temp/temp.spec.js +1 -1
- package/out/test/units/temp/temp.spec.js.map +1 -1
- package/out/utils/index.d.ts +6 -0
- package/out/utils/index.js +20 -1
- package/out/utils/index.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +118 -38
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +229 -81
- package/src/concepts/App__.ts +77 -37
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +437 -0
- package/src/concepts/Assignment__.ts +4 -1
- package/src/concepts/BinaryExpression__.ts +9 -7
- package/src/concepts/BindAttribute__.ts +68 -8
- package/src/concepts/BindDirective__.ts +21 -2
- package/src/concepts/BindEvent__.ts +67 -35
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +42 -25
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +114 -86
- package/src/concepts/CallQueryComponent__.ts +35 -20
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +2 -2
- package/src/concepts/ConfigProperty__.ts +2 -2
- package/src/concepts/Configuration__.ts +2 -2
- package/src/concepts/Constant__.ts +12 -0
- package/src/concepts/Destination__.ts +92 -20
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +69 -5
- package/src/concepts/Entity__.ts +40 -23
- package/src/concepts/Enum__.ts +16 -11
- package/src/concepts/Event__.ts +2 -2
- package/src/concepts/ForEachStatement__.ts +14 -19
- package/src/concepts/Function__.ts +9 -9
- package/src/concepts/Identifier__.ts +82 -33
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +51 -21
- package/src/concepts/Interface__.ts +166 -46
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +183 -36
- package/src/concepts/MemberExpression__.ts +57 -13
- package/src/concepts/Module__.ts +176 -140
- package/src/concepts/Namespace__.ts +37 -25
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +58 -30
- package/src/concepts/ProcessComponent__.ts +4 -4
- package/src/concepts/ProcessElement__.ts +138 -39
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +81 -94
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryJoinExpression__.ts +4 -4
- package/src/concepts/QueryLimitExpression__.ts +3 -12
- package/src/concepts/QuerySelectExpression__.ts +2 -2
- package/src/concepts/Return__.ts +62 -23
- package/src/concepts/Role__.ts +11 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -25
- package/src/concepts/Structure__.ts +75 -41
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +71 -18
- package/src/concepts/UnaryExpression__.ts +10 -8
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +44 -14
- package/src/concepts/Variable__.ts +69 -19
- package/src/concepts/ViewComponent__.ts +10 -10
- package/src/concepts/ViewElement__.ts +297 -199
- package/src/concepts/View__.ts +114 -107
- package/src/concepts/WhileStatement__.ts +4 -4
- package/src/concepts/basics/stdlib/index.ts +4 -2
- package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
- package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
- package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/types/coreTypeList.ts +11 -10
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1206 -0
- package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
- package/src/eventBus.ts +5 -0
- package/src/generator/genBundleFiles.ts +192 -40
- package/src/generator/genMetaData.ts +72 -21
- package/src/index.ts +2 -0
- package/src/manager/diagnostic.ts +1 -1
- package/src/server/createUiTs.ts +50 -8
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +66 -19
- package/src/server/getMemberIdentifier.ts +276 -39
- package/src/server/getProcesses.ts +248 -4
- package/src/server/getScope.ts +50 -0
- package/src/server/index.ts +12 -1
- package/src/server/naslServer.ts +689 -389
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +423 -128
- package/src/service/config/index.js +1 -1
- package/src/service/creator/errHandles.js +5 -2
- package/src/service/creator/index.js +0 -6
- package/src/service/storage/api.js +14 -0
- package/src/service/storage/init.ts +204 -47
- package/src/service/storage/service.ts +6 -0
- package/src/service/storage/storagePoint.ts +16 -16
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
- package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
- package/src/templator/genEditTableBlock.ts +5 -5
- package/src/templator/genEnumSelectBlock.ts +2 -2
- package/src/templator/genGetBlock.ts +6 -8
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +39 -28
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +9 -11
- package/src/templator/utils.ts +9 -6
- package/src/test/fixtures/env.ts +0 -2
- package/src/test/units/page/Element.spec.ts +3 -3
- package/src/test/units/temp/temp.spec.ts +1 -1
- package/src/utils/index.ts +19 -0
- package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
- package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
- package/out/data/Module.d.ts +0 -34
- package/out/data/Module.js +0 -53
- package/out/data/Module.js.map +0 -1
- package/src/automate/engine/index.d.ts +0 -3
|
@@ -35,8 +35,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
35
35
|
@property('LogicItem')
|
|
36
36
|
pageSizeElement: LogicItem = undefined;
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
38
|
/**
|
|
41
39
|
* @param source 需要合并的部分参数
|
|
42
40
|
*/
|
|
@@ -50,7 +48,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
50
48
|
return super.from(source, parentNode, parentKey) as QueryLimitExpression;
|
|
51
49
|
}
|
|
52
50
|
|
|
53
|
-
|
|
54
51
|
/**
|
|
55
52
|
* 设置逻辑项
|
|
56
53
|
*/
|
|
@@ -81,10 +78,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
81
78
|
});
|
|
82
79
|
}
|
|
83
80
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
81
|
/**
|
|
89
82
|
* 删除逻辑项
|
|
90
83
|
* @param name 逻辑项名称
|
|
@@ -110,8 +103,6 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
110
103
|
return pageElement.delete();
|
|
111
104
|
}
|
|
112
105
|
|
|
113
|
-
|
|
114
|
-
|
|
115
106
|
/**
|
|
116
107
|
* 删除逻辑项
|
|
117
108
|
* @param name 逻辑项名称
|
|
@@ -168,8 +159,8 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
168
159
|
@withSourceMap()
|
|
169
160
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
170
161
|
const { pageElement, pageSizeElement } = this;
|
|
171
|
-
let code = '';
|
|
172
|
-
code +=
|
|
162
|
+
let code = '[';
|
|
163
|
+
code += `${pageElement.toEmbeddedTS(shiftState(state, code))}, `;
|
|
173
164
|
code += `${pageSizeElement.toEmbeddedTS(shiftState(state, code))}]`;
|
|
174
165
|
return code;
|
|
175
166
|
}
|
|
@@ -180,7 +171,7 @@ export class QueryLimitExpression extends LogicItem {
|
|
|
180
171
|
//================================================================================
|
|
181
172
|
}
|
|
182
173
|
|
|
183
|
-
classMap
|
|
174
|
+
classMap.QueryLimitExpression = QueryLimitExpression;
|
|
184
175
|
export default QueryLimitExpression;
|
|
185
176
|
//================================================================================
|
|
186
177
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
@@ -113,7 +113,7 @@ export class QuerySelectExpression extends LogicItem {
|
|
|
113
113
|
name: options,
|
|
114
114
|
}, this, 'selectElements');
|
|
115
115
|
} else if (options instanceof QueryAggregateExpression) {
|
|
116
|
-
options.
|
|
116
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
117
117
|
queryAggregateExpression = options;
|
|
118
118
|
Object.assign(queryAggregateExpression, relationOptions);
|
|
119
119
|
} else {
|
|
@@ -201,7 +201,7 @@ export class QuerySelectExpression extends LogicItem {
|
|
|
201
201
|
|
|
202
202
|
addQueryAggregateExpression(options?: string | Partial<QueryAggregateExpression> | QueryAggregateExpression) {
|
|
203
203
|
const node = this._addQueryAggregateExpression(options as any);
|
|
204
|
-
const index = this.selectElements.
|
|
204
|
+
const index = this.selectElements.indexOf(node);
|
|
205
205
|
node.create({
|
|
206
206
|
index,
|
|
207
207
|
parentNode: this,
|
package/src/concepts/Return__.ts
CHANGED
|
@@ -5,6 +5,7 @@ import Entity from './Entity__';
|
|
|
5
5
|
import EntityProperty from './EntityProperty__';
|
|
6
6
|
import Structure from './Structure__';
|
|
7
7
|
import StructureProperty from './StructureProperty__';
|
|
8
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
8
9
|
|
|
9
10
|
//================================================================================
|
|
10
11
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -233,13 +234,26 @@ export class Return extends BaseNode {
|
|
|
233
234
|
|
|
234
235
|
@withSourceMap()
|
|
235
236
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
236
|
-
let code = this.name;
|
|
237
|
+
let code = this.name || '__return';
|
|
237
238
|
if (this.typeAnnotation) {
|
|
238
239
|
code += ': ';
|
|
239
240
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
240
241
|
}
|
|
242
|
+
// if (this.defaultValue) {
|
|
243
|
+
// code += ` = ${this.defaultValue}`;
|
|
244
|
+
// }
|
|
245
|
+
return code;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
@withSourceMap()
|
|
249
|
+
toEmbeddedTSInProcess(state?: TranslatorState): string {
|
|
250
|
+
let code = this.name;
|
|
251
|
+
if (this.typeAnnotation) {
|
|
252
|
+
code += ': undefined as ';
|
|
253
|
+
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
254
|
+
}
|
|
241
255
|
if (this.defaultValue) {
|
|
242
|
-
code +=
|
|
256
|
+
code += `: ${this.defaultValue}`;
|
|
243
257
|
}
|
|
244
258
|
return code;
|
|
245
259
|
}
|
|
@@ -264,15 +278,19 @@ export class Return extends BaseNode {
|
|
|
264
278
|
if (!typeAnnotation)
|
|
265
279
|
throw new Error('找不到类型:' + typeAnnotation);
|
|
266
280
|
} else {
|
|
267
|
-
typeAnnotation._delete();
|
|
281
|
+
typeAnnotation._delete?.();
|
|
268
282
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
269
283
|
Object.assign(typeAnnotation, relationOptions);
|
|
270
284
|
}
|
|
271
|
-
|
|
285
|
+
// 处理下拉属性
|
|
286
|
+
try {
|
|
287
|
+
this.completionChildren = this.getSelectRef();
|
|
288
|
+
} catch (err) {
|
|
289
|
+
this.completionChildren = [];
|
|
290
|
+
console.log(err);
|
|
291
|
+
}
|
|
272
292
|
const object = {
|
|
273
293
|
typeAnnotation,
|
|
274
|
-
// 处理下拉属性
|
|
275
|
-
// completionChildren: this.getSelectRef(),
|
|
276
294
|
};
|
|
277
295
|
|
|
278
296
|
return this.update({
|
|
@@ -297,26 +315,47 @@ export class Return extends BaseNode {
|
|
|
297
315
|
get readonly() {
|
|
298
316
|
return !!this.module;
|
|
299
317
|
}
|
|
300
|
-
|
|
318
|
+
get hasChildren() {
|
|
319
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
320
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
321
|
+
if (typeNamespace.endsWith('.enums'))
|
|
322
|
+
return null;
|
|
323
|
+
return [{}];
|
|
324
|
+
}
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
get isTreeLeaf() {
|
|
328
|
+
return !this.hasChildren;
|
|
329
|
+
}
|
|
301
330
|
getSelectRef() {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
331
|
+
try {
|
|
332
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
333
|
+
let completionChildren;
|
|
334
|
+
if (typeKind === 'reference') {
|
|
335
|
+
if (typeNamespace === 'nasl.ui') {
|
|
336
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
337
|
+
const properties = node.properties || [];
|
|
338
|
+
completionChildren = properties;
|
|
339
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
340
|
+
completionChildren = undefined;
|
|
341
|
+
} else {
|
|
342
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
343
|
+
const properties = node.properties || [];
|
|
344
|
+
completionChildren = properties;
|
|
345
|
+
}
|
|
346
|
+
} else if (typeKind === 'generic') {
|
|
347
|
+
if (typeNamespace === 'nasl.collection') {
|
|
348
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
349
|
+
const properties = node.properties || [];
|
|
350
|
+
completionChildren = properties;
|
|
351
|
+
}
|
|
352
|
+
} else {
|
|
353
|
+
completionChildren = undefined;
|
|
312
354
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
} else {
|
|
317
|
-
completionChildren = undefined;
|
|
355
|
+
return completionChildren;
|
|
356
|
+
} catch (err) {
|
|
357
|
+
console.log(err);
|
|
318
358
|
}
|
|
319
|
-
return completionChildren;
|
|
320
359
|
}
|
|
321
360
|
//================================================================================
|
|
322
361
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
package/src/concepts/Role__.ts
CHANGED
|
@@ -36,6 +36,12 @@ export class Role extends BaseNode {
|
|
|
36
36
|
@property()
|
|
37
37
|
uuid: string = uuidv4().replace(/-/g, '');
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* 创建时间
|
|
41
|
+
*/
|
|
42
|
+
@property()
|
|
43
|
+
createdTime: string = undefined;
|
|
44
|
+
|
|
39
45
|
/**
|
|
40
46
|
* 角色描述
|
|
41
47
|
*/
|
|
@@ -105,9 +111,6 @@ export class Role extends BaseNode {
|
|
|
105
111
|
|
|
106
112
|
get tsName() {
|
|
107
113
|
let tsName = this.name;
|
|
108
|
-
if (/^\d/.test(tsName)) {
|
|
109
|
-
tsName = '$' + tsName;
|
|
110
|
-
}
|
|
111
114
|
// 匹配所有特殊字符都转为_
|
|
112
115
|
tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
|
|
113
116
|
return tsName;
|
|
@@ -132,7 +135,11 @@ export class Role extends BaseNode {
|
|
|
132
135
|
let code = `namespace ${this.getNamespace()} {\n`;
|
|
133
136
|
|
|
134
137
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
135
|
-
|
|
138
|
+
try {
|
|
139
|
+
code += this.toEmbeddedTS(state);
|
|
140
|
+
} catch (err) {
|
|
141
|
+
code += '';
|
|
142
|
+
}
|
|
136
143
|
code += '}\n';
|
|
137
144
|
|
|
138
145
|
return {
|
|
@@ -128,8 +128,8 @@ export class SqlQueryComponent extends LogicItem {
|
|
|
128
128
|
//================================================================================
|
|
129
129
|
@withSourceMap()
|
|
130
130
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
131
|
-
let code = `(function(): nasl.collection.
|
|
132
|
-
code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): '
|
|
131
|
+
let code = `(function(): nasl.collection.List<`
|
|
132
|
+
code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): '__IDENTIFIER__'}> {\n`;
|
|
133
133
|
code += '\n';
|
|
134
134
|
code += indent(state.tabSize + 1) + 'return;\n';
|
|
135
135
|
code += indent(state.tabSize) + '})();\n';
|
|
@@ -58,53 +58,42 @@ export class StringLiteral extends LogicItem {
|
|
|
58
58
|
//================================================================================
|
|
59
59
|
toVue(options?: ElementToVueOptions): string {
|
|
60
60
|
let code = '';
|
|
61
|
-
if (this.value) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
if (typeof this.value === 'string') {
|
|
62
|
+
code = `'${this.value}'`;
|
|
63
|
+
if (options?.finalCode !== false) {
|
|
64
|
+
code = `'${this.value.replace(/['"`\\]/g, (m) => {
|
|
65
|
+
const escape = '\\\\';
|
|
66
|
+
if (m === '\\') {
|
|
67
|
+
return `${escape}${escape}`;
|
|
68
|
+
} else {
|
|
69
|
+
return `${escape}${m}`;
|
|
70
|
+
}
|
|
71
|
+
})}'`;
|
|
72
|
+
}
|
|
70
73
|
}
|
|
71
74
|
return code;
|
|
72
75
|
}
|
|
73
76
|
|
|
74
77
|
toUI(): string {
|
|
75
78
|
let code = '';
|
|
76
|
-
if (this.value) {
|
|
77
|
-
|
|
78
|
-
code += `'${this.value}'`;
|
|
79
|
-
else if (!this.value.includes('"'))
|
|
80
|
-
code += `"${this.value}"`;
|
|
81
|
-
else if (!this.value.includes('`'))
|
|
82
|
-
code += `\`${this.value}\``;
|
|
83
|
-
else
|
|
84
|
-
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
79
|
+
if (typeof this.value === 'string') {
|
|
80
|
+
code = `'${this.value}'`;
|
|
85
81
|
}
|
|
86
82
|
return code;
|
|
87
83
|
}
|
|
88
84
|
|
|
89
85
|
toJS(): string {
|
|
90
|
-
let code =
|
|
91
|
-
if (this.value) {
|
|
92
|
-
|
|
93
|
-
code += `'${this.value}'`;
|
|
94
|
-
else if (!this.value.includes('"'))
|
|
95
|
-
code += `"${this.value}"`;
|
|
96
|
-
else if (!this.value.includes('`'))
|
|
97
|
-
code += `\`${this.value}\``;
|
|
98
|
-
else
|
|
99
|
-
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
86
|
+
let code = ``;
|
|
87
|
+
if (typeof this.value === 'string') {
|
|
88
|
+
code += `'${this.value.replace(/['"`\\]/g, (m) => `\\${m}`)}'`;
|
|
100
89
|
}
|
|
101
90
|
return code;
|
|
102
91
|
}
|
|
103
92
|
|
|
104
93
|
@withSourceMap()
|
|
105
|
-
toEmbeddedTS(state?: TranslatorState): string {
|
|
94
|
+
toEmbeddedTS(state?: TranslatorState, isRequired?: boolean): string {
|
|
106
95
|
let code = '';
|
|
107
|
-
if (this.value) {
|
|
96
|
+
if (typeof this.value === 'string') {
|
|
108
97
|
if (!this.value.includes("'"))
|
|
109
98
|
code += `'${this.value}'`;
|
|
110
99
|
else if (!this.value.includes('"'))
|
|
@@ -114,7 +103,7 @@ export class StringLiteral extends LogicItem {
|
|
|
114
103
|
else
|
|
115
104
|
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
116
105
|
} else {
|
|
117
|
-
code += '__IDENTIFIER__'
|
|
106
|
+
code += isRequired ? '__IDENTIFIER__' : `''`;
|
|
118
107
|
}
|
|
119
108
|
return code;
|
|
120
109
|
}
|
|
@@ -2,6 +2,7 @@ import { dataTypesMap } from './basics/types';
|
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
3
3
|
import EntityProperty from './EntityProperty__';
|
|
4
4
|
import Entity from './Entity__';
|
|
5
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
5
6
|
|
|
6
7
|
//================================================================================
|
|
7
8
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -226,10 +227,55 @@ export class StructureProperty extends BaseNode {
|
|
|
226
227
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
227
228
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
228
229
|
//================================================================================
|
|
230
|
+
|
|
231
|
+
get hasChildren() {
|
|
232
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
233
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
234
|
+
if (typeNamespace.endsWith('.enums'))
|
|
235
|
+
return null;
|
|
236
|
+
return [{}];
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
get isTreeLeaf() {
|
|
241
|
+
return !this.hasChildren;
|
|
242
|
+
}
|
|
229
243
|
/**
|
|
230
|
-
*
|
|
244
|
+
* 是否展开
|
|
231
245
|
*/
|
|
232
|
-
|
|
246
|
+
@property()
|
|
247
|
+
isLeaf: boolean = true;
|
|
248
|
+
|
|
249
|
+
getSelectRef() {
|
|
250
|
+
try {
|
|
251
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
252
|
+
let completionChildren;
|
|
253
|
+
if (typeKind === 'reference') {
|
|
254
|
+
if (typeNamespace === 'nasl.ui') {
|
|
255
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
256
|
+
const properties = node.properties || [];
|
|
257
|
+
completionChildren = properties;
|
|
258
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
259
|
+
completionChildren = undefined;
|
|
260
|
+
} else {
|
|
261
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
262
|
+
const properties = node.properties || [];
|
|
263
|
+
completionChildren = properties;
|
|
264
|
+
}
|
|
265
|
+
} else if (typeKind === 'generic') {
|
|
266
|
+
if (typeNamespace === 'nasl.collection') {
|
|
267
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
268
|
+
const properties = node.properties || [];
|
|
269
|
+
completionChildren = properties;
|
|
270
|
+
}
|
|
271
|
+
} else {
|
|
272
|
+
completionChildren = undefined;
|
|
273
|
+
}
|
|
274
|
+
return completionChildren;
|
|
275
|
+
} catch (err) {
|
|
276
|
+
console.log(err);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
233
279
|
|
|
234
280
|
@withSourceMap()
|
|
235
281
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
@@ -261,7 +307,7 @@ export class StructureProperty extends BaseNode {
|
|
|
261
307
|
// eslint-disable-next-line prefer-rest-params
|
|
262
308
|
throw new Error('找不到类型:' + arguments[0]);
|
|
263
309
|
} else {
|
|
264
|
-
typeAnnotation._delete();
|
|
310
|
+
typeAnnotation._delete?.();
|
|
265
311
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
266
312
|
Object.assign(typeAnnotation, relationOptions);
|
|
267
313
|
}
|
|
@@ -290,28 +336,7 @@ export class StructureProperty extends BaseNode {
|
|
|
290
336
|
* 是否可编辑
|
|
291
337
|
* */
|
|
292
338
|
get readonly() {
|
|
293
|
-
return !!this.module;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
getSelectRef() {
|
|
297
|
-
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
298
|
-
const moduleNames = typeNamespace.split('.');
|
|
299
|
-
let completionChildren;
|
|
300
|
-
if (typeKind === 'reference') {
|
|
301
|
-
let type: 'entities' | 'structures';
|
|
302
|
-
if (typeNamespace.endsWith('entities')) {
|
|
303
|
-
type = 'entities';
|
|
304
|
-
} else if (typeNamespace.endsWith('structures')) {
|
|
305
|
-
// 数据结构比较复杂,会有
|
|
306
|
-
type = 'structures';
|
|
307
|
-
}
|
|
308
|
-
const data = this.app.dependencies.find((item) => item.name === moduleNames[2]);
|
|
309
|
-
const properties = (data[type] as Array<Entity | Structure>).find((item) => item.name === typeName)?.properties;
|
|
310
|
-
completionChildren = properties;
|
|
311
|
-
} else {
|
|
312
|
-
completionChildren = undefined;
|
|
313
|
-
}
|
|
314
|
-
return completionChildren;
|
|
339
|
+
return !!this.module || (this.parentNode as Structure).origin === 'CallQueryComponent';
|
|
315
340
|
}
|
|
316
341
|
|
|
317
342
|
//================================================================================
|
|
@@ -39,6 +39,18 @@ export class Structure extends BaseNode {
|
|
|
39
39
|
@property()
|
|
40
40
|
description: string = undefined;
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* 数据结构来源
|
|
44
|
+
*/
|
|
45
|
+
@property()
|
|
46
|
+
origin: 'CallQueryComponent' = undefined;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* 编译器信息
|
|
50
|
+
*/
|
|
51
|
+
@property()
|
|
52
|
+
compilerInfoMap: { java?: { packageName: string, className: string } } = undefined;
|
|
53
|
+
|
|
42
54
|
/**
|
|
43
55
|
* 类型参数列表
|
|
44
56
|
*/
|
|
@@ -113,7 +125,7 @@ export class Structure extends BaseNode {
|
|
|
113
125
|
});
|
|
114
126
|
}
|
|
115
127
|
|
|
116
|
-
|
|
128
|
+
getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
|
|
117
129
|
const excludedSet = new Set(excludedList);
|
|
118
130
|
return (this.typeParams || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
119
131
|
}
|
|
@@ -122,24 +134,24 @@ export class Structure extends BaseNode {
|
|
|
122
134
|
}
|
|
123
135
|
|
|
124
136
|
/**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
137
|
+
* 插入类型参数
|
|
138
|
+
* @internal
|
|
139
|
+
* @param name 类型参数名称,如果不填会自动生成一个唯一名称
|
|
140
|
+
*/
|
|
129
141
|
_insertTypeParamAt(name: string, index: number): TypeParam;
|
|
130
142
|
|
|
131
143
|
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
144
|
+
* 插入类型参数
|
|
145
|
+
* @internal
|
|
146
|
+
* @param typeParamOptions 类型参数参数
|
|
147
|
+
*/
|
|
136
148
|
_insertTypeParamAt(typeParamOptions: Partial<TypeParam>, index: number): TypeParam;
|
|
137
149
|
|
|
138
150
|
/**
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
151
|
+
* 插入类型参数
|
|
152
|
+
* @internal
|
|
153
|
+
* @param typeParam 已有的类型参数实例
|
|
154
|
+
*/
|
|
143
155
|
_insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam;
|
|
144
156
|
|
|
145
157
|
_insertTypeParamAt(options: string | Partial<TypeParam> | TypeParam, index: number) {
|
|
@@ -157,7 +169,7 @@ export class Structure extends BaseNode {
|
|
|
157
169
|
name: options,
|
|
158
170
|
}, this, 'typeParams');
|
|
159
171
|
} else if (options instanceof TypeParam) {
|
|
160
|
-
options.
|
|
172
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
161
173
|
typeParam = options;
|
|
162
174
|
Object.assign(typeParam, relationOptions);
|
|
163
175
|
} else {
|
|
@@ -245,7 +257,7 @@ export class Structure extends BaseNode {
|
|
|
245
257
|
|
|
246
258
|
addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
|
|
247
259
|
const node = this._addTypeParam(options as any);
|
|
248
|
-
const index = this.typeParams.
|
|
260
|
+
const index = this.typeParams.indexOf(node);
|
|
249
261
|
node.create({
|
|
250
262
|
index,
|
|
251
263
|
parentNode: this,
|
|
@@ -254,6 +266,7 @@ export class Structure extends BaseNode {
|
|
|
254
266
|
return node;
|
|
255
267
|
}
|
|
256
268
|
|
|
269
|
+
|
|
257
270
|
getPropertyExistingNames(excludedList: Array<StructureProperty> = []) {
|
|
258
271
|
const excludedSet = new Set(excludedList);
|
|
259
272
|
return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
@@ -263,24 +276,24 @@ export class Structure extends BaseNode {
|
|
|
263
276
|
}
|
|
264
277
|
|
|
265
278
|
/**
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
279
|
+
* 插入数据结构字段
|
|
280
|
+
* @internal
|
|
281
|
+
* @param name 数据结构字段名称,如果不填会自动生成一个唯一名称
|
|
282
|
+
*/
|
|
270
283
|
_insertPropertyAt(name: string, index: number): StructureProperty;
|
|
271
284
|
|
|
272
285
|
/**
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
286
|
+
* 插入数据结构字段
|
|
287
|
+
* @internal
|
|
288
|
+
* @param propertyOptions 数据结构字段参数
|
|
289
|
+
*/
|
|
277
290
|
_insertPropertyAt(propertyOptions: Partial<StructureProperty>, index: number): StructureProperty;
|
|
278
291
|
|
|
279
292
|
/**
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
293
|
+
* 插入数据结构字段
|
|
294
|
+
* @internal
|
|
295
|
+
* @param property 已有的数据结构字段实例
|
|
296
|
+
*/
|
|
284
297
|
_insertPropertyAt(property: StructureProperty, index: number): StructureProperty;
|
|
285
298
|
|
|
286
299
|
_insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number) {
|
|
@@ -298,7 +311,7 @@ export class Structure extends BaseNode {
|
|
|
298
311
|
name: options,
|
|
299
312
|
}, this, 'properties');
|
|
300
313
|
} else if (options instanceof StructureProperty) {
|
|
301
|
-
options.
|
|
314
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
302
315
|
property = options;
|
|
303
316
|
Object.assign(property, relationOptions);
|
|
304
317
|
} else {
|
|
@@ -386,7 +399,7 @@ export class Structure extends BaseNode {
|
|
|
386
399
|
|
|
387
400
|
addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
|
|
388
401
|
const node = this._addProperty(options as any);
|
|
389
|
-
const index = this.properties.
|
|
402
|
+
const index = this.properties.indexOf(node);
|
|
390
403
|
node.create({
|
|
391
404
|
index,
|
|
392
405
|
parentNode: this,
|
|
@@ -395,10 +408,13 @@ export class Structure extends BaseNode {
|
|
|
395
408
|
return node;
|
|
396
409
|
}
|
|
397
410
|
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
398
414
|
/**
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
415
|
+
* 删除类型参数
|
|
416
|
+
* @param name 类型参数名称
|
|
417
|
+
*/
|
|
402
418
|
removeTypeParam(name: string): void;
|
|
403
419
|
|
|
404
420
|
/**
|
|
@@ -443,10 +459,12 @@ export class Structure extends BaseNode {
|
|
|
443
459
|
return params;
|
|
444
460
|
}
|
|
445
461
|
|
|
462
|
+
|
|
463
|
+
|
|
446
464
|
/**
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
465
|
+
* 删除数据结构字段
|
|
466
|
+
* @param name 数据结构字段名称
|
|
467
|
+
*/
|
|
450
468
|
removeProperty(name: string): void;
|
|
451
469
|
|
|
452
470
|
/**
|
|
@@ -500,7 +518,7 @@ export class Structure extends BaseNode {
|
|
|
500
518
|
* 是否可编辑
|
|
501
519
|
* */
|
|
502
520
|
get readonly() {
|
|
503
|
-
return !!this.module;
|
|
521
|
+
return !!this.module || this.origin === 'CallQueryComponent';
|
|
504
522
|
}
|
|
505
523
|
/* 删除空数据模块 */
|
|
506
524
|
deleteLogincAndModule() {
|
|
@@ -512,9 +530,9 @@ export class Structure extends BaseNode {
|
|
|
512
530
|
|
|
513
531
|
@withSourceMap()
|
|
514
532
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
515
|
-
let code = `export class ${this.
|
|
533
|
+
let code = `export class ${this.tsName} {\n`;
|
|
516
534
|
code += indent(state.tabSize + 1);
|
|
517
|
-
code += `__name: '${this.
|
|
535
|
+
code += `__name: '${this.getTsNamespace()}.${this.tsName}';\n`;
|
|
518
536
|
this.properties.forEach((property) => {
|
|
519
537
|
code += indent(state.tabSize + 1);
|
|
520
538
|
code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
@@ -532,6 +550,18 @@ export class Structure extends BaseNode {
|
|
|
532
550
|
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
533
551
|
}
|
|
534
552
|
|
|
553
|
+
getTsNamespace() {
|
|
554
|
+
if (this.parentNode.concept === 'App') {
|
|
555
|
+
return `${(this.parentNode as Namespace).getNamespace()}.structures`;
|
|
556
|
+
} else {
|
|
557
|
+
if (this.parentNode && (this.parentNode as Namespace).getTsNamespace) {
|
|
558
|
+
return `${(this.parentNode as Namespace).getTsNamespace()}.structures`;
|
|
559
|
+
} else {
|
|
560
|
+
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
535
565
|
/**
|
|
536
566
|
* 生成宿主语言的文件路径
|
|
537
567
|
* @param name 一般不用传,用于 rename
|
|
@@ -542,10 +572,14 @@ export class Structure extends BaseNode {
|
|
|
542
572
|
}
|
|
543
573
|
|
|
544
574
|
toEmbeddedTSFile() {
|
|
545
|
-
let code = `namespace ${this.
|
|
575
|
+
let code = `namespace ${this.getTsNamespace()} {\n`;
|
|
546
576
|
|
|
547
577
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
548
|
-
|
|
578
|
+
try {
|
|
579
|
+
code += this.toEmbeddedTS(state);
|
|
580
|
+
} catch (err) {
|
|
581
|
+
code += '';
|
|
582
|
+
}
|
|
549
583
|
code += '}\n';
|
|
550
584
|
|
|
551
585
|
return {
|
|
@@ -561,7 +595,7 @@ export class Structure extends BaseNode {
|
|
|
561
595
|
//================================================================================
|
|
562
596
|
}
|
|
563
597
|
|
|
564
|
-
classMap
|
|
598
|
+
classMap['Structure'] = Structure;
|
|
565
599
|
export default Structure;
|
|
566
600
|
//================================================================================
|
|
567
601
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|