@lcap/nasl 1.0.0-alpha.9 → 1.0.2
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 +379 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +21 -1
- package/out/common/BaseNode.js +232 -84
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +19 -1
- package/out/concepts/App__.js +88 -45
- 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 +201 -0
- package/out/concepts/Assignee__.js +298 -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 +58 -25
- 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 +38 -3
- package/out/concepts/CallQueryComponent__.js +329 -75
- 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 +16 -2
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +115 -22
- 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/EntityIndex__.js +4 -2
- package/out/concepts/EntityIndex__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +71 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +5 -4
- package/out/concepts/Entity__.js +35 -19
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +5 -0
- package/out/concepts/Enum__.js +24 -12
- 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 +77 -30
- 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 +57 -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 +64 -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 +123 -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/QueryFieldExpression__.d.ts +1 -0
- package/out/concepts/QueryFieldExpression__.js +3 -0
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryGroupByExpression__.d.ts +3 -0
- package/out/concepts/QueryGroupByExpression__.js +20 -0
- package/out/concepts/QueryGroupByExpression__.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 +74 -23
- 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 +22 -39
- 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 +82 -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 +77 -20
- 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 +13 -12
- package/out/concepts/View__.js +124 -102
- 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.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.interface.d.ts +2 -0
- package/out/concepts/basics/stdlib/nasl.interface.js +4 -4
- package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
- 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 +138 -18
- 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/stdlib/reference2TypeAnnotationList.js +1 -1
- package/out/concepts/basics/stdlib/reference2TypeAnnotationList.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/basics/types/index.d.ts +1 -0
- package/out/concepts/basics/types/index.js +3 -1
- package/out/concepts/basics/types/index.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 +1199 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/{terms → enums}/LEVEL_NAME_MAP.d.ts +0 -0
- package/out/{terms → enums}/LEVEL_NAME_MAP.js +0 -0
- package/out/{terms → enums}/LEVEL_NAME_MAP.js.map +1 -1
- 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 +2 -2
- 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/extendBaseNode.d.ts +1 -0
- package/out/server/extendBaseNode.js +323 -0
- package/out/server/extendBaseNode.js.map +1 -0
- 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 +84 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +326 -38
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +8 -1
- package/out/server/getProcesses.js +383 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +13 -0
- package/out/server/getScope.js +61 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.d.ts +1 -0
- package/out/server/index.js +5 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +36 -57
- package/out/server/naslServer.js +689 -615
- 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 +369 -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 +221 -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 +6 -4
- 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 +34 -18
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genSelectBlock.js +5 -15
- package/out/templator/genSelectBlock.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 +10 -11
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +16 -5
- package/out/templator/utils.js +10 -5
- 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 +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 -2
- package/src/automate/engine/index.js +95 -119
- package/src/automate/engine/operators.js +63 -0
- package/src/automate/engine/uniqueName.js +36 -0
- package/src/automate/engine/utils.js +63 -19
- package/src/common/BaseNode.ts +229 -74
- package/src/concepts/App__.ts +92 -85
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +467 -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 +55 -23
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +111 -52
- package/src/concepts/CallQueryComponent__.ts +315 -67
- 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 +14 -2
- package/src/concepts/Destination__.ts +123 -37
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityIndex__.ts +4 -2
- package/src/concepts/EntityProperty__.ts +56 -5
- package/src/concepts/Entity__.ts +38 -21
- package/src/concepts/Enum__.ts +23 -26
- 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 +84 -42
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +57 -16
- 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 +192 -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 +64 -16
- package/src/concepts/ProcessComponent__.ts +6 -6
- package/src/concepts/ProcessElement__.ts +149 -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/QueryFieldExpression__.ts +4 -0
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryGroupByExpression__.ts +23 -0
- 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 +69 -17
- package/src/concepts/Role__.ts +5 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +21 -39
- package/src/concepts/StructureProperty__.ts +50 -18
- 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 +66 -15
- package/src/concepts/UnaryExpression__.ts +10 -8
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +44 -14
- package/src/concepts/Variable__.ts +70 -16
- package/src/concepts/ViewComponent__.ts +15 -15
- package/src/concepts/ViewElement__.ts +289 -166
- package/src/concepts/View__.ts +135 -69
- 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.interface.ts +1 -1
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +140 -18
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +1 -1
- package/src/concepts/basics/types/coreTypeList.ts +11 -11
- package/src/concepts/basics/types/index.ts +1 -0
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1197 -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 +2 -2
- package/src/server/createUiTs.ts +45 -7
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/extendBaseNode.ts +318 -0
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +87 -19
- package/src/server/getMemberIdentifier.ts +282 -65
- package/src/server/getProcesses.ts +397 -4
- package/src/server/getScope.ts +67 -0
- package/src/server/index.ts +13 -1
- package/src/server/naslServer.ts +694 -632
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +425 -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 +218 -45
- package/src/service/storage/service.ts +6 -0
- package/src/service/storage/storagePoint.ts +16 -16
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
- package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
- package/src/templator/genEditTableBlock.ts +5 -5
- package/src/templator/genEnumSelectBlock.ts +2 -2
- package/src/templator/genGetBlock.ts +7 -9
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +46 -32
- package/src/templator/genSelectBlock.ts +5 -15
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +10 -12
- package/src/templator/utils.ts +12 -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
|
@@ -58,63 +58,45 @@ 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) {
|
|
108
|
-
|
|
109
|
-
code += `'${this.value}'`;
|
|
110
|
-
else if (!this.value.includes('"'))
|
|
111
|
-
code += `"${this.value}"`;
|
|
112
|
-
else if (!this.value.includes('`'))
|
|
113
|
-
code += `\`${this.value}\``;
|
|
114
|
-
else
|
|
115
|
-
code += `'${this.value.replace(/'/g, "\\'")}'`;
|
|
96
|
+
if (typeof this.value === 'string') {
|
|
97
|
+
code += `'StringLiteral'`;
|
|
116
98
|
} else {
|
|
117
|
-
code += '__IDENTIFIER__'
|
|
99
|
+
code += isRequired ? '__IDENTIFIER__' : `''`;
|
|
118
100
|
}
|
|
119
101
|
return code;
|
|
120
102
|
}
|
|
@@ -2,7 +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 } from '
|
|
5
|
+
import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
6
6
|
|
|
7
7
|
//================================================================================
|
|
8
8
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -227,10 +227,55 @@ export class StructureProperty extends BaseNode {
|
|
|
227
227
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
228
228
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
229
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
|
+
}
|
|
230
243
|
/**
|
|
231
|
-
*
|
|
244
|
+
* 是否展开
|
|
232
245
|
*/
|
|
233
|
-
|
|
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' || typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.interface') {
|
|
267
|
+
// }
|
|
268
|
+
const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
|
|
269
|
+
const properties = node.properties || [];
|
|
270
|
+
completionChildren = properties;
|
|
271
|
+
} else {
|
|
272
|
+
completionChildren = undefined;
|
|
273
|
+
}
|
|
274
|
+
return completionChildren;
|
|
275
|
+
} catch (err) {
|
|
276
|
+
console.log(err);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
234
279
|
|
|
235
280
|
@withSourceMap()
|
|
236
281
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
@@ -262,7 +307,7 @@ export class StructureProperty extends BaseNode {
|
|
|
262
307
|
// eslint-disable-next-line prefer-rest-params
|
|
263
308
|
throw new Error('找不到类型:' + arguments[0]);
|
|
264
309
|
} else {
|
|
265
|
-
typeAnnotation._delete();
|
|
310
|
+
typeAnnotation._delete?.();
|
|
266
311
|
const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
|
|
267
312
|
Object.assign(typeAnnotation, relationOptions);
|
|
268
313
|
}
|
|
@@ -291,20 +336,7 @@ export class StructureProperty extends BaseNode {
|
|
|
291
336
|
* 是否可编辑
|
|
292
337
|
* */
|
|
293
338
|
get readonly() {
|
|
294
|
-
return !!this.module;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
getSelectRef() {
|
|
298
|
-
const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
|
|
299
|
-
let completionChildren;
|
|
300
|
-
if (typeKind === 'reference') {
|
|
301
|
-
const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
|
|
302
|
-
const properties = node.properties || [];
|
|
303
|
-
completionChildren = properties;
|
|
304
|
-
} else {
|
|
305
|
-
completionChildren = undefined;
|
|
306
|
-
}
|
|
307
|
-
return completionChildren;
|
|
339
|
+
return !!this.module || (this.parentNode as Structure).origin === 'CallQueryComponent';
|
|
308
340
|
}
|
|
309
341
|
|
|
310
342
|
//================================================================================
|
|
@@ -39,6 +39,12 @@ 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
|
+
|
|
42
48
|
/**
|
|
43
49
|
* 编译器信息
|
|
44
50
|
*/
|
|
@@ -124,7 +130,7 @@ export class Structure extends BaseNode {
|
|
|
124
130
|
return (this.typeParams || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
125
131
|
}
|
|
126
132
|
getTypeParamUniqueName(name = 'typeParam1') {
|
|
127
|
-
return utils.unique(name, this.getTypeParamExistingNames());
|
|
133
|
+
return utils.unique(name, this.getTypeParamExistingNames(), undefined, false);
|
|
128
134
|
}
|
|
129
135
|
|
|
130
136
|
/**
|
|
@@ -163,7 +169,7 @@ export class Structure extends BaseNode {
|
|
|
163
169
|
name: options,
|
|
164
170
|
}, this, 'typeParams');
|
|
165
171
|
} else if (options instanceof TypeParam) {
|
|
166
|
-
options.
|
|
172
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
167
173
|
typeParam = options;
|
|
168
174
|
Object.assign(typeParam, relationOptions);
|
|
169
175
|
} else {
|
|
@@ -251,7 +257,7 @@ export class Structure extends BaseNode {
|
|
|
251
257
|
|
|
252
258
|
addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
|
|
253
259
|
const node = this._addTypeParam(options as any);
|
|
254
|
-
const index = this.typeParams.
|
|
260
|
+
const index = this.typeParams.indexOf(node);
|
|
255
261
|
node.create({
|
|
256
262
|
index,
|
|
257
263
|
parentNode: this,
|
|
@@ -266,7 +272,7 @@ export class Structure extends BaseNode {
|
|
|
266
272
|
return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
267
273
|
}
|
|
268
274
|
getPropertyUniqueName(name = 'property1') {
|
|
269
|
-
return utils.unique(name, this.getPropertyExistingNames());
|
|
275
|
+
return utils.unique(name, this.getPropertyExistingNames(), undefined, false);
|
|
270
276
|
}
|
|
271
277
|
|
|
272
278
|
/**
|
|
@@ -305,7 +311,7 @@ export class Structure extends BaseNode {
|
|
|
305
311
|
name: options,
|
|
306
312
|
}, this, 'properties');
|
|
307
313
|
} else if (options instanceof StructureProperty) {
|
|
308
|
-
options.
|
|
314
|
+
options.ensureDelete(); // 同一实例不支持多处存在
|
|
309
315
|
property = options;
|
|
310
316
|
Object.assign(property, relationOptions);
|
|
311
317
|
} else {
|
|
@@ -393,7 +399,7 @@ export class Structure extends BaseNode {
|
|
|
393
399
|
|
|
394
400
|
addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
|
|
395
401
|
const node = this._addProperty(options as any);
|
|
396
|
-
const index = this.properties.
|
|
402
|
+
const index = this.properties.indexOf(node);
|
|
397
403
|
node.create({
|
|
398
404
|
index,
|
|
399
405
|
parentNode: this,
|
|
@@ -512,7 +518,7 @@ export class Structure extends BaseNode {
|
|
|
512
518
|
* 是否可编辑
|
|
513
519
|
* */
|
|
514
520
|
get readonly() {
|
|
515
|
-
return !!this.module;
|
|
521
|
+
return !!this.module || this.origin === 'CallQueryComponent';
|
|
516
522
|
}
|
|
517
523
|
/* 删除空数据模块 */
|
|
518
524
|
deleteLogincAndModule() {
|
|
@@ -526,7 +532,7 @@ export class Structure extends BaseNode {
|
|
|
526
532
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
527
533
|
let code = `export class ${this.tsName} {\n`;
|
|
528
534
|
code += indent(state.tabSize + 1);
|
|
529
|
-
code += `__name: '${this.
|
|
535
|
+
code += `__name: '${this.getTsNamespace()}.${this.tsName}';\n`;
|
|
530
536
|
this.properties.forEach((property) => {
|
|
531
537
|
code += indent(state.tabSize + 1);
|
|
532
538
|
code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
|
|
@@ -544,6 +550,18 @@ export class Structure extends BaseNode {
|
|
|
544
550
|
throw new Error('无法获取命名空间,请设置 parentNode!');
|
|
545
551
|
}
|
|
546
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
|
+
|
|
547
565
|
/**
|
|
548
566
|
* 生成宿主语言的文件路径
|
|
549
567
|
* @param name 一般不用传,用于 rename
|
|
@@ -554,10 +572,14 @@ export class Structure extends BaseNode {
|
|
|
554
572
|
}
|
|
555
573
|
|
|
556
574
|
toEmbeddedTSFile() {
|
|
557
|
-
let code = `namespace ${this.
|
|
575
|
+
let code = `namespace ${this.getTsNamespace()} {\n`;
|
|
558
576
|
|
|
559
577
|
const state = createCompilerState(code, { tabSize: 1 });
|
|
560
|
-
|
|
578
|
+
try {
|
|
579
|
+
code += this.toEmbeddedTS(state);
|
|
580
|
+
} catch (err) {
|
|
581
|
+
code += '';
|
|
582
|
+
}
|
|
561
583
|
code += '}\n';
|
|
562
584
|
|
|
563
585
|
return {
|
|
@@ -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,26 @@ 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
|
+
let str = `${this.typeName}`;
|
|
271
|
+
const loop = (typeArguments: Array<TypeAnnotation>) => {
|
|
272
|
+
str += '<' + (typeArguments[0].typeName || 'T');
|
|
273
|
+
if (typeArguments[0].typeKind === 'generic') {
|
|
274
|
+
if (this.typeArguments && this.typeArguments.length) {
|
|
275
|
+
loop(typeArguments[0].typeArguments);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
str += '>';
|
|
279
|
+
};
|
|
280
|
+
loop(this.typeArguments);
|
|
281
|
+
return str;
|
|
262
282
|
} else {
|
|
263
283
|
return this.typeName;
|
|
264
284
|
}
|
|
@@ -319,19 +339,50 @@ export class TypeAnnotation extends BaseNode {
|
|
|
319
339
|
return '';
|
|
320
340
|
}
|
|
321
341
|
|
|
342
|
+
toJS(state?: TranslatorState): string {
|
|
343
|
+
return JSON.stringify(this);
|
|
344
|
+
}
|
|
345
|
+
|
|
322
346
|
@withSourceMap()
|
|
323
347
|
toEmbeddedTS(state?: TranslatorState): string {
|
|
324
348
|
if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
|
|
325
|
-
if (this.typeKind === 'reference' && this.typeNamespace.endsWith('enums')) {
|
|
349
|
+
if (this.typeKind === 'reference' && this.typeNamespace && this.typeNamespace.endsWith('enums')) {
|
|
326
350
|
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
327
351
|
}
|
|
328
352
|
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
329
353
|
} else if (this.typeKind === 'generic') {
|
|
330
354
|
let code = `${this.tsCalleeNamespace}.${this.typeName}<`;
|
|
331
|
-
return code += `${(this.typeArguments || []).map((arg) => arg.toEmbeddedTS(shiftState(state, code, { inline: true })))}
|
|
355
|
+
return (code += `${(this.typeArguments || []).map((arg) => arg.toEmbeddedTS(shiftState(state, code, { inline: true })))}>`);
|
|
332
356
|
} else {
|
|
333
|
-
|
|
357
|
+
if (this.tsCalleeNamespace && this.typeName) {
|
|
358
|
+
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
359
|
+
} else if (this.typeName) {
|
|
360
|
+
return this.typeName;
|
|
361
|
+
} else {
|
|
362
|
+
return '__IDENTIFIER__';
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
getDefaultValue(value: string) {
|
|
368
|
+
let code = '';
|
|
369
|
+
if (this.typeKind === 'primitive') {
|
|
370
|
+
if (this.typeName === 'String') {
|
|
371
|
+
code = ` "${value}" `;
|
|
372
|
+
} else {
|
|
373
|
+
if (['Long', 'Text'].includes(this.typeName)) {
|
|
374
|
+
code = ` new ${this.typeNamespace}.${this.typeName}("${value}")`;
|
|
375
|
+
} else if (['Boolean'].includes(this.typeName)) {
|
|
376
|
+
code = value;
|
|
377
|
+
} else {
|
|
378
|
+
code = ` new ${this.typeNamespace}.${this.typeName}(${value})`;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
} else {
|
|
382
|
+
code = ` ${this.typeNamespace}.${this.typeName}['${value}']`;
|
|
334
383
|
}
|
|
384
|
+
|
|
385
|
+
return code;
|
|
335
386
|
}
|
|
336
387
|
|
|
337
388
|
/**
|
|
@@ -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
|
}
|