@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
|
@@ -89,7 +89,7 @@ export class SwitchCase extends LogicItem {
|
|
|
89
89
|
const relationOptions = { parentNode: this, parentKey: 'consequent' };
|
|
90
90
|
let logicItem: LogicItem;
|
|
91
91
|
if (options instanceof LogicItem) {
|
|
92
|
-
options.
|
|
92
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
93
93
|
logicItem = options;
|
|
94
94
|
Object.assign(logicItem, relationOptions);
|
|
95
95
|
} else {
|
|
@@ -163,7 +163,7 @@ export class SwitchCase extends LogicItem {
|
|
|
163
163
|
|
|
164
164
|
addItem(options?: Partial<LogicItem> | LogicItem) {
|
|
165
165
|
const node = this._addItem(options as any);
|
|
166
|
-
const index = this.consequent.
|
|
166
|
+
const index = this.consequent.indexOf(node);
|
|
167
167
|
node.create({
|
|
168
168
|
index,
|
|
169
169
|
parentNode: this,
|
|
@@ -249,7 +249,7 @@ export class SwitchCase extends LogicItem {
|
|
|
249
249
|
tabSize: 0,
|
|
250
250
|
})) : '';
|
|
251
251
|
|
|
252
|
-
code += ')
|
|
252
|
+
code += ') {\n';
|
|
253
253
|
|
|
254
254
|
if (Array.isArray(this.consequent)) {
|
|
255
255
|
this.consequent.forEach((logicItem) => {
|
|
@@ -277,7 +277,7 @@ export class SwitchCase extends LogicItem {
|
|
|
277
277
|
|
|
278
278
|
@withSourceMap()
|
|
279
279
|
toEmbeddedTS(state?: TranslatorState, isLast?: boolean): string {
|
|
280
|
-
let code = '';
|
|
280
|
+
let code = '\n';
|
|
281
281
|
if (!isLast) {
|
|
282
282
|
code += 'if (nasl.core.ensureBoolean(';
|
|
283
283
|
code += this.test ? this.test.toEmbeddedTS(shiftState(state, code, {
|
|
@@ -72,7 +72,7 @@ export class SwitchStatement extends LogicItem {
|
|
|
72
72
|
const relationOptions = { parentNode: this, parentKey: 'cases' };
|
|
73
73
|
let switchCase: SwitchCase;
|
|
74
74
|
if (options instanceof SwitchCase) {
|
|
75
|
-
options.
|
|
75
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
76
76
|
switchCase = options;
|
|
77
77
|
Object.assign(switchCase, relationOptions);
|
|
78
78
|
} else {
|
|
@@ -146,7 +146,7 @@ export class SwitchStatement extends LogicItem {
|
|
|
146
146
|
|
|
147
147
|
addSwitchCase(options?: Partial<SwitchCase> | SwitchCase) {
|
|
148
148
|
const node = this._addSwitchCase(options as any);
|
|
149
|
-
const index = this.cases.
|
|
149
|
+
const index = this.cases.indexOf(node);
|
|
150
150
|
node.create({
|
|
151
151
|
index,
|
|
152
152
|
parentNode: this,
|
|
@@ -14,6 +14,20 @@ export enum PRIMITIVE_TYPE {
|
|
|
14
14
|
Email = 'Email'
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
export const PRIMITIVE_TITLE: Record<string, string> = {
|
|
18
|
+
Boolean: '布尔值',
|
|
19
|
+
Integer: '整数',
|
|
20
|
+
Long: '长整数',
|
|
21
|
+
Double: '小数',
|
|
22
|
+
String: '字符串',
|
|
23
|
+
Text: '长文本',
|
|
24
|
+
Binary: '二进制流',
|
|
25
|
+
Date: '日期',
|
|
26
|
+
Time: '时间',
|
|
27
|
+
DateTime: '日期时间',
|
|
28
|
+
Email: '电子邮箱',
|
|
29
|
+
};
|
|
30
|
+
|
|
17
31
|
//================================================================================
|
|
18
32
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
19
33
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -62,13 +76,6 @@ export class TypeAnnotation extends BaseNode {
|
|
|
62
76
|
@property('TypeAnnotation')
|
|
63
77
|
typeArguments?: Array<TypeAnnotation> = null;
|
|
64
78
|
|
|
65
|
-
/**
|
|
66
|
-
* 显示文本
|
|
67
|
-
*/
|
|
68
|
-
@excludedInJSON()
|
|
69
|
-
@property()
|
|
70
|
-
text?: string = undefined;
|
|
71
|
-
|
|
72
79
|
/**
|
|
73
80
|
* 是否是推断出来的
|
|
74
81
|
*/
|
|
@@ -116,7 +123,7 @@ export class TypeAnnotation extends BaseNode {
|
|
|
116
123
|
const relationOptions = { parentNode: this, parentKey: 'typeArguments' };
|
|
117
124
|
let typeAnnotation: TypeAnnotation;
|
|
118
125
|
if (options instanceof TypeAnnotation) {
|
|
119
|
-
options.
|
|
126
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
120
127
|
typeAnnotation = options;
|
|
121
128
|
Object.assign(typeAnnotation, relationOptions);
|
|
122
129
|
} else {
|
|
@@ -190,7 +197,7 @@ export class TypeAnnotation extends BaseNode {
|
|
|
190
197
|
|
|
191
198
|
addTypeAnnotation(options?: Partial<TypeAnnotation> | TypeAnnotation) {
|
|
192
199
|
const node = this._addTypeAnnotation(options as any);
|
|
193
|
-
const index = this.typeArguments.
|
|
200
|
+
const index = this.typeArguments.indexOf(node);
|
|
194
201
|
node.create({
|
|
195
202
|
index,
|
|
196
203
|
parentNode: this,
|
|
@@ -252,13 +259,18 @@ export class TypeAnnotation extends BaseNode {
|
|
|
252
259
|
}
|
|
253
260
|
|
|
254
261
|
/**
|
|
255
|
-
*
|
|
262
|
+
* 用于展示的 type 标题
|
|
256
263
|
*/
|
|
257
264
|
get typeTitle(): string {
|
|
258
|
-
if (this.typeKind === 'primitive'
|
|
265
|
+
if (this.typeKind === 'primitive') {
|
|
266
|
+
return `${this.typeName} ${PRIMITIVE_TITLE[this.typeName]}`;
|
|
267
|
+
} else if (this.typeKind === 'reference') {
|
|
259
268
|
return `${this.typeName}`;
|
|
260
269
|
} else if (this.typeKind === 'generic') {
|
|
261
|
-
|
|
270
|
+
if (this.typeArguments && this.typeArguments.length)
|
|
271
|
+
return `${this.typeName}<${(this.typeArguments || []).map((arg) => arg.typeName || 'T')}>`;
|
|
272
|
+
else
|
|
273
|
+
return this.typeName;
|
|
262
274
|
} else {
|
|
263
275
|
return this.typeName;
|
|
264
276
|
}
|
|
@@ -309,21 +321,62 @@ export class TypeAnnotation extends BaseNode {
|
|
|
309
321
|
});
|
|
310
322
|
}
|
|
311
323
|
|
|
324
|
+
get tsCalleeNamespace() {
|
|
325
|
+
if (this.typeNamespace) {
|
|
326
|
+
let tsCalleeNamespace = this.typeNamespace;
|
|
327
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
|
|
328
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
|
|
329
|
+
return tsCalleeNamespace;
|
|
330
|
+
}
|
|
331
|
+
return '';
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
toJS(state?: TranslatorState): string {
|
|
335
|
+
return JSON.stringify(this);
|
|
336
|
+
}
|
|
337
|
+
|
|
312
338
|
@withSourceMap()
|
|
313
339
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
314
340
|
if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
|
|
315
|
-
if (this.typeKind === 'reference' && this.typeNamespace.endsWith('enums')) {
|
|
316
|
-
return
|
|
341
|
+
if (this.typeKind === 'reference' && this.typeNamespace && this.typeNamespace.endsWith('enums')) {
|
|
342
|
+
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
317
343
|
}
|
|
318
|
-
return `${this.
|
|
344
|
+
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
319
345
|
} else if (this.typeKind === 'generic') {
|
|
320
|
-
let code = `${this.
|
|
321
|
-
return code += `${(this.typeArguments || []).map((arg) => arg.toEmbeddedTS(shiftState(state, code, { inline: true })))}
|
|
346
|
+
let code = `${this.tsCalleeNamespace}.${this.typeName}<`;
|
|
347
|
+
return (code += `${(this.typeArguments || []).map((arg) => arg.toEmbeddedTS(shiftState(state, code, { inline: true })))}>`);
|
|
322
348
|
} else {
|
|
323
|
-
|
|
349
|
+
if (this.tsCalleeNamespace && this.typeName) {
|
|
350
|
+
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
351
|
+
} else if (this.typeName) {
|
|
352
|
+
return this.typeName;
|
|
353
|
+
} else {
|
|
354
|
+
return '__IDENTIFIER__';
|
|
355
|
+
}
|
|
324
356
|
}
|
|
325
357
|
}
|
|
326
358
|
|
|
359
|
+
getDefaultValue(value: string) {
|
|
360
|
+
let code = '';
|
|
361
|
+
if (this.typeKind === 'primitive') {
|
|
362
|
+
if (this.typeName === 'String') {
|
|
363
|
+
code = ` "${value}" `;
|
|
364
|
+
} else {
|
|
365
|
+
if (['Long', 'Text'].includes(this.typeName)) {
|
|
366
|
+
code = ` new ${this.typeNamespace}.${this.typeName}("${value}")`;
|
|
367
|
+
} else if (['Boolean'].includes(this.typeName)) {
|
|
368
|
+
code = value;
|
|
369
|
+
} else {
|
|
370
|
+
code = ` new ${this.typeNamespace}.${this.typeName}(${value})`;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
} else {
|
|
374
|
+
code = ` ${this.typeNamespace}.${this.typeName}.${value}`;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return code;
|
|
378
|
+
}
|
|
379
|
+
|
|
327
380
|
/**
|
|
328
381
|
*
|
|
329
382
|
* @param code 233
|
|
@@ -127,25 +127,25 @@ export class UnaryExpression extends LogicItem {
|
|
|
127
127
|
|
|
128
128
|
toVue(options?: ElementToVueOptions) {
|
|
129
129
|
if (this.operator === 'isNull') {
|
|
130
|
-
return this.argument
|
|
130
|
+
return this.argument?.toVue(options);
|
|
131
131
|
} else {
|
|
132
|
-
return '!' + this.argument
|
|
132
|
+
return '!(' + this.argument?.toVue(options) + ')';
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
toUI(state?: TranslatorState): string {
|
|
137
137
|
if (this.operator === 'isNull') {
|
|
138
|
-
return this.argument
|
|
138
|
+
return this.argument?.toUI(state);
|
|
139
139
|
} else {
|
|
140
|
-
return '!' + this.argument
|
|
140
|
+
return '!(' + this.argument?.toUI(state) + ')';
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
toJS(state?: TranslatorState): string {
|
|
145
145
|
if (this.operator === 'isNull') {
|
|
146
|
-
return this.argument
|
|
146
|
+
return this.argument?.toJS(state);
|
|
147
147
|
} else {
|
|
148
|
-
return '!' + this.argument
|
|
148
|
+
return '!(' + this.argument?.toJS(state) + ')';
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -162,9 +162,11 @@ export class UnaryExpression extends LogicItem {
|
|
|
162
162
|
|
|
163
163
|
let code = '';
|
|
164
164
|
if (this.argument) {
|
|
165
|
-
code += `${this.operator}
|
|
165
|
+
code += `${this.operator}(`;
|
|
166
|
+
code += `${this.argument.toEmbeddedTS(shiftState(state, code))}`;
|
|
167
|
+
code += `)`;
|
|
166
168
|
} else {
|
|
167
|
-
code += `${this.operator}__IDENTIFIER__`;
|
|
169
|
+
code += `${this.operator}(__IDENTIFIER__)`;
|
|
168
170
|
}
|
|
169
171
|
return code;
|
|
170
172
|
}
|
|
@@ -81,7 +81,7 @@ export class Unparsed extends LogicItem {
|
|
|
81
81
|
|
|
82
82
|
@withSourceMap()
|
|
83
83
|
toEmbeddedTS(): string {
|
|
84
|
-
return
|
|
84
|
+
return 'nasl.core.universalVariable';
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
//================================================================================
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
|
|
2
2
|
import Function from './Function__';
|
|
3
3
|
import { ElementToVueOptions } from './ViewElement__';
|
|
4
|
-
|
|
4
|
+
import { getValidationInFunction } from '../server/getFunctions';
|
|
5
5
|
//================================================================================
|
|
6
6
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
7
7
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -92,7 +92,7 @@ export class ValidationRule extends LogicItem {
|
|
|
92
92
|
const relationOptions = { parentNode: this, parentKey: 'arguments' };
|
|
93
93
|
let argument: Argument;
|
|
94
94
|
if (options instanceof Argument) {
|
|
95
|
-
options.
|
|
95
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
96
96
|
argument = options;
|
|
97
97
|
Object.assign(argument, relationOptions);
|
|
98
98
|
} else {
|
|
@@ -166,7 +166,7 @@ export class ValidationRule extends LogicItem {
|
|
|
166
166
|
|
|
167
167
|
addArgument(options?: Partial<Argument> | Argument) {
|
|
168
168
|
const node = this._addArgument(options as any);
|
|
169
|
-
const index = this.arguments.
|
|
169
|
+
const index = this.arguments.indexOf(node);
|
|
170
170
|
node.create({
|
|
171
171
|
index,
|
|
172
172
|
parentNode: this,
|
|
@@ -220,9 +220,9 @@ export class ValidationRule extends LogicItem {
|
|
|
220
220
|
let code = this.calleeName;
|
|
221
221
|
if (this.arguments.length) {
|
|
222
222
|
code += '(';
|
|
223
|
-
this.arguments
|
|
224
|
-
code += arg
|
|
225
|
-
if (index !== this.arguments
|
|
223
|
+
this.arguments?.forEach((arg, index) => {
|
|
224
|
+
code += arg?.toVue(options);
|
|
225
|
+
if (index !== this.arguments?.length - 1)
|
|
226
226
|
code += ', ';
|
|
227
227
|
});
|
|
228
228
|
code += ')';
|
|
@@ -232,11 +232,11 @@ export class ValidationRule extends LogicItem {
|
|
|
232
232
|
|
|
233
233
|
toUI(state?: TranslatorState): string {
|
|
234
234
|
let code = this.calleeName;
|
|
235
|
-
if (this.arguments
|
|
235
|
+
if (this.arguments?.length) {
|
|
236
236
|
code += '(';
|
|
237
|
-
this.arguments
|
|
238
|
-
code += arg
|
|
239
|
-
if (index !== this.arguments
|
|
237
|
+
this.arguments?.forEach((arg, index) => {
|
|
238
|
+
code += arg?.toUI(shiftState(state, code));
|
|
239
|
+
if (index !== this.arguments?.length - 1)
|
|
240
240
|
code += ', ';
|
|
241
241
|
});
|
|
242
242
|
code += ')';
|
|
@@ -246,11 +246,11 @@ export class ValidationRule extends LogicItem {
|
|
|
246
246
|
|
|
247
247
|
toJS(state?: TranslatorState): string {
|
|
248
248
|
let code = this.calleeName;
|
|
249
|
-
if (this.arguments
|
|
249
|
+
if (this.arguments?.length) {
|
|
250
250
|
code += '(';
|
|
251
|
-
this.arguments
|
|
252
|
-
code += arg
|
|
253
|
-
if (index !== this.arguments
|
|
251
|
+
this.arguments?.forEach((arg, index) => {
|
|
252
|
+
code += arg?.toJS(shiftState(state, code));
|
|
253
|
+
if (index !== this.arguments?.length - 1)
|
|
254
254
|
code += ', ';
|
|
255
255
|
});
|
|
256
256
|
code += ')';
|
|
@@ -258,6 +258,36 @@ export class ValidationRule extends LogicItem {
|
|
|
258
258
|
return code;
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
+
@withSourceMap()
|
|
262
|
+
toEmbeddedTS(state?: TranslatorState): string {
|
|
263
|
+
let code = '';
|
|
264
|
+
if (this.calleeName) {
|
|
265
|
+
if (this.arguments.length) {
|
|
266
|
+
const validationInFunction = getValidationInFunction(this.calleeName);
|
|
267
|
+
code += this.calleeKey;
|
|
268
|
+
code += '(';
|
|
269
|
+
this.arguments.forEach((arg, index) => {
|
|
270
|
+
// 如果找到函数而且有参数,就用参数的必填非必填
|
|
271
|
+
if (validationInFunction && validationInFunction.params[index]) {
|
|
272
|
+
code += arg.toEmbeddedTS(shiftState(state, code), validationInFunction.params[index].required, false);
|
|
273
|
+
} else {
|
|
274
|
+
// 如果没有就默认不必填
|
|
275
|
+
code += arg.toEmbeddedTS(shiftState(state, code), false, false);
|
|
276
|
+
}
|
|
277
|
+
if (index !== this.arguments.length - 1)
|
|
278
|
+
code += ', ';
|
|
279
|
+
});
|
|
280
|
+
code += ')';
|
|
281
|
+
} else {
|
|
282
|
+
// 没有入参数的不需要校验
|
|
283
|
+
return 'null';
|
|
284
|
+
}
|
|
285
|
+
} else {
|
|
286
|
+
code += '__IDENTIFIER__';
|
|
287
|
+
}
|
|
288
|
+
return code;
|
|
289
|
+
}
|
|
290
|
+
|
|
261
291
|
get calleeKey(): string {
|
|
262
292
|
return `${this.calleeNamespace}.${this.calleeName}`;
|
|
263
293
|
}
|
|
@@ -3,6 +3,10 @@ import { TranslatorState, shiftState, withSourceMap } from '../translator';
|
|
|
3
3
|
import Entity from './Entity__';
|
|
4
4
|
import Structure from './Structure__';
|
|
5
5
|
import { ElementToVueOptions } from './ViewElement__';
|
|
6
|
+
import EntityProperty from './EntityProperty__';
|
|
7
|
+
import StructureProperty from './StructureProperty__';
|
|
8
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
9
|
+
|
|
6
10
|
//================================================================================
|
|
7
11
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
8
12
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -211,6 +215,11 @@ export class Variable extends BaseNode {
|
|
|
211
215
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
212
216
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
213
217
|
//================================================================================
|
|
218
|
+
/**
|
|
219
|
+
* 自动补全的字段列表
|
|
220
|
+
*/
|
|
221
|
+
completionChildren: Array<EntityProperty | StructureProperty> = undefined;
|
|
222
|
+
|
|
214
223
|
toVue(options?: ElementToVueOptions): string {
|
|
215
224
|
return this.name;
|
|
216
225
|
}
|
|
@@ -231,8 +240,21 @@ export class Variable extends BaseNode {
|
|
|
231
240
|
code += ': ';
|
|
232
241
|
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
233
242
|
}
|
|
243
|
+
// if (this.defaultValue) {
|
|
244
|
+
// code += ` = ${this.defaultValue}`;
|
|
245
|
+
// }
|
|
246
|
+
return code;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
@withSourceMap()
|
|
250
|
+
toEmbeddedTSInProcess(state?: TranslatorState): string {
|
|
251
|
+
let code = this.name;
|
|
252
|
+
if (this.typeAnnotation) {
|
|
253
|
+
code += ': undefined as ';
|
|
254
|
+
code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
255
|
+
}
|
|
234
256
|
if (this.defaultValue) {
|
|
235
|
-
code +=
|
|
257
|
+
code += `: ${this.defaultValue}`;
|
|
236
258
|
}
|
|
237
259
|
return code;
|
|
238
260
|
}
|
|
@@ -253,10 +275,17 @@ export class Variable extends BaseNode {
|
|
|
253
275
|
if (!typeAnnotation)
|
|
254
276
|
throw new Error('找不到类型:' + arguments[0]);
|
|
255
277
|
} else {
|
|
256
|
-
typeAnnotation._delete();
|
|
278
|
+
typeAnnotation._delete?.();
|
|
257
279
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
258
280
|
Object.assign(typeAnnotation, relationOptions);
|
|
259
281
|
}
|
|
282
|
+
// 处理下拉属性
|
|
283
|
+
try {
|
|
284
|
+
this.completionChildren = this.getSelectRef();
|
|
285
|
+
} catch (err) {
|
|
286
|
+
this.completionChildren = [];
|
|
287
|
+
console.log(err);
|
|
288
|
+
}
|
|
260
289
|
const object = {
|
|
261
290
|
typeAnnotation,
|
|
262
291
|
};
|
|
@@ -283,26 +312,47 @@ export class Variable extends BaseNode {
|
|
|
283
312
|
get readonly() {
|
|
284
313
|
return !!this.module;
|
|
285
314
|
}
|
|
286
|
-
|
|
315
|
+
get hasChildren() {
|
|
316
|
+
const { typeKind, typeNamespace } = this.typeAnnotation;
|
|
317
|
+
if (typeKind === 'reference' || typeKind === 'generic') {
|
|
318
|
+
if (typeNamespace.endsWith('.enums'))
|
|
319
|
+
return null;
|
|
320
|
+
return [{}];
|
|
321
|
+
}
|
|
322
|
+
return null;
|
|
323
|
+
}
|
|
324
|
+
get isTreeLeaf() {
|
|
325
|
+
return !this.hasChildren;
|
|
326
|
+
}
|
|
287
327
|
getSelectRef() {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
328
|
+
try {
|
|
329
|
+
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
330
|
+
let completionChildren;
|
|
331
|
+
if (typeKind === 'reference') {
|
|
332
|
+
if (typeNamespace === 'nasl.ui') {
|
|
333
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
334
|
+
const properties = node.properties || [];
|
|
335
|
+
completionChildren = properties;
|
|
336
|
+
} else if (typeNamespace.endsWith('.enums')) {
|
|
337
|
+
completionChildren = undefined;
|
|
338
|
+
} else {
|
|
339
|
+
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
340
|
+
const properties = node.properties || [];
|
|
341
|
+
completionChildren = properties;
|
|
342
|
+
}
|
|
343
|
+
} else if (typeKind === 'generic') {
|
|
344
|
+
if (typeNamespace === 'nasl.collection') {
|
|
345
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
346
|
+
const properties = node.properties || [];
|
|
347
|
+
completionChildren = properties;
|
|
348
|
+
}
|
|
349
|
+
} else {
|
|
350
|
+
completionChildren = undefined;
|
|
298
351
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
} else {
|
|
303
|
-
completionChildren = undefined;
|
|
352
|
+
return completionChildren;
|
|
353
|
+
} catch (err) {
|
|
354
|
+
console.log(err);
|
|
304
355
|
}
|
|
305
|
-
return completionChildren;
|
|
306
356
|
}
|
|
307
357
|
//================================================================================
|
|
308
358
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -164,7 +164,7 @@ export class ViewComponent extends BaseNode {
|
|
|
164
164
|
name: options,
|
|
165
165
|
}, this, 'attrs');
|
|
166
166
|
} else if (options instanceof Attribute) {
|
|
167
|
-
options.
|
|
167
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
168
168
|
attribute = options;
|
|
169
169
|
Object.assign(attribute, relationOptions);
|
|
170
170
|
} else {
|
|
@@ -252,7 +252,7 @@ export class ViewComponent extends BaseNode {
|
|
|
252
252
|
|
|
253
253
|
addAttribute(options?: string | Partial<Attribute> | Attribute) {
|
|
254
254
|
const node = this._addAttribute(options as any);
|
|
255
|
-
const index = this.attrs.
|
|
255
|
+
const index = this.attrs.indexOf(node);
|
|
256
256
|
node.create({
|
|
257
257
|
index,
|
|
258
258
|
parentNode: this,
|
|
@@ -306,7 +306,7 @@ export class ViewComponent extends BaseNode {
|
|
|
306
306
|
name: options,
|
|
307
307
|
}, this, 'events');
|
|
308
308
|
} else if (options instanceof Event) {
|
|
309
|
-
options.
|
|
309
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
310
310
|
event = options;
|
|
311
311
|
Object.assign(event, relationOptions);
|
|
312
312
|
} else {
|
|
@@ -394,7 +394,7 @@ export class ViewComponent extends BaseNode {
|
|
|
394
394
|
|
|
395
395
|
addEvent(options?: string | Partial<Event> | Event) {
|
|
396
396
|
const node = this._addEvent(options as any);
|
|
397
|
-
const index = this.events.
|
|
397
|
+
const index = this.events.indexOf(node);
|
|
398
398
|
node.create({
|
|
399
399
|
index,
|
|
400
400
|
parentNode: this,
|
|
@@ -448,7 +448,7 @@ export class ViewComponent extends BaseNode {
|
|
|
448
448
|
name: options,
|
|
449
449
|
}, this, 'slots');
|
|
450
450
|
} else if (options instanceof Slot) {
|
|
451
|
-
options.
|
|
451
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
452
452
|
slot = options;
|
|
453
453
|
Object.assign(slot, relationOptions);
|
|
454
454
|
} else {
|
|
@@ -536,7 +536,7 @@ export class ViewComponent extends BaseNode {
|
|
|
536
536
|
|
|
537
537
|
addSlot(options?: string | Partial<Slot> | Slot) {
|
|
538
538
|
const node = this._addSlot(options as any);
|
|
539
|
-
const index = this.slots.
|
|
539
|
+
const index = this.slots.indexOf(node);
|
|
540
540
|
node.create({
|
|
541
541
|
index,
|
|
542
542
|
parentNode: this,
|
|
@@ -590,7 +590,7 @@ export class ViewComponent extends BaseNode {
|
|
|
590
590
|
name: options,
|
|
591
591
|
}, this, 'methods');
|
|
592
592
|
} else if (options instanceof Logic) {
|
|
593
|
-
options.
|
|
593
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
594
594
|
logic = options;
|
|
595
595
|
Object.assign(logic, relationOptions);
|
|
596
596
|
} else {
|
|
@@ -678,7 +678,7 @@ export class ViewComponent extends BaseNode {
|
|
|
678
678
|
|
|
679
679
|
addLogic(options?: string | Partial<Logic> | Logic) {
|
|
680
680
|
const node = this._addLogic(options as any);
|
|
681
|
-
const index = this.methods.
|
|
681
|
+
const index = this.methods.indexOf(node);
|
|
682
682
|
node.create({
|
|
683
683
|
index,
|
|
684
684
|
parentNode: this,
|
|
@@ -732,7 +732,7 @@ export class ViewComponent extends BaseNode {
|
|
|
732
732
|
name: options,
|
|
733
733
|
}, this, 'children');
|
|
734
734
|
} else if (options instanceof ViewComponent) {
|
|
735
|
-
options.
|
|
735
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
736
736
|
viewComponent = options;
|
|
737
737
|
Object.assign(viewComponent, relationOptions);
|
|
738
738
|
} else {
|
|
@@ -820,7 +820,7 @@ export class ViewComponent extends BaseNode {
|
|
|
820
820
|
|
|
821
821
|
addViewComponent(options?: string | Partial<ViewComponent> | ViewComponent) {
|
|
822
822
|
const node = this._addViewComponent(options as any);
|
|
823
|
-
const index = this.children.
|
|
823
|
+
const index = this.children.indexOf(node);
|
|
824
824
|
node.create({
|
|
825
825
|
index,
|
|
826
826
|
parentNode: this,
|