@lcap/nasl 1.0.0-alpha.8 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/automate/engine/index.d.ts +3 -0
- package/out/automate/engine/index.js +414 -0
- package/out/automate/engine/index.js.map +1 -0
- package/out/automate/engine/operators.d.ts +13 -0
- package/out/automate/engine/operators.js +63 -0
- package/out/automate/engine/operators.js.map +1 -0
- package/out/automate/engine/uniqueName.d.ts +6 -0
- package/out/automate/engine/uniqueName.js +39 -0
- package/out/automate/engine/uniqueName.js.map +1 -0
- package/out/automate/engine/utils.d.ts +24 -0
- package/out/automate/engine/utils.js +363 -0
- package/out/automate/engine/utils.js.map +1 -0
- package/out/common/BaseNode.d.ts +20 -0
- package/out/common/BaseNode.js +219 -81
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +18 -1
- package/out/concepts/App__.js +84 -44
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +5 -1
- package/out/concepts/Argument__.js +21 -3
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +190 -0
- package/out/concepts/Assignee__.js +264 -0
- package/out/concepts/Assignee__.js.map +1 -0
- package/out/concepts/Assignment__.js +5 -0
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +8 -7
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +19 -0
- package/out/concepts/BindAttribute__.js +55 -10
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +23 -3
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -2
- package/out/concepts/BindEvent__.js +67 -34
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -0
- package/out/concepts/BooleanLiteral__.js +10 -0
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.js +57 -23
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +5 -0
- package/out/concepts/CallInterface__.js +238 -31
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +4 -4
- package/out/concepts/CallLogic__.js +107 -50
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +7 -1
- package/out/concepts/CallQueryComponent__.js +45 -26
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js +6 -2
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -1
- package/out/concepts/CompletionProperty__.js +2 -0
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +3 -3
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +3 -3
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +3 -3
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +1 -0
- package/out/concepts/Constant__.js +14 -0
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +12 -0
- package/out/concepts/Destination__.js +98 -19
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js +9 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +11 -0
- package/out/concepts/EntityProperty__.js +73 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +4 -4
- package/out/concepts/Entity__.js +30 -20
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +4 -0
- package/out/concepts/Enum__.js +18 -10
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +3 -3
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +1 -1
- package/out/concepts/ForEachStatement__.js +11 -15
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +13 -13
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -0
- package/out/concepts/Identifier__.js +76 -29
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js +4 -4
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +6 -4
- package/out/concepts/InterfaceParam__.js +52 -19
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +42 -30
- package/out/concepts/Interface__.js +133 -17
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +1 -0
- package/out/concepts/JSBlock__.js +3 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +14 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +20 -1
- package/out/concepts/Logic__.js +194 -37
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -0
- package/out/concepts/MemberExpression__.js +49 -13
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +126 -120
- package/out/concepts/Module__.js +36 -26
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +5 -1
- package/out/concepts/Namespace__.js +48 -37
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -0
- package/out/concepts/NullLiteral__.js +11 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +1 -1
- package/out/concepts/NumericLiteral__.js +17 -6
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +7 -3
- package/out/concepts/Param__.js +57 -28
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +6 -6
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +0 -4
- package/out/concepts/ProcessElement__.js +117 -54
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -1
- package/out/concepts/Process__.js +81 -85
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js +2 -2
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +5 -5
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js +2 -2
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +3 -3
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +4 -1
- package/out/concepts/Return__.js +67 -21
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +4 -0
- package/out/concepts/Role__.js +13 -4
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.js +2 -2
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +1 -1
- package/out/concepts/StringLiteral__.js +21 -31
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +5 -4
- package/out/concepts/StructureProperty__.js +55 -26
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +44 -30
- package/out/concepts/Structure__.js +44 -12
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +4 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js +2 -2
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +5 -5
- package/out/concepts/TypeAnnotation__.js +74 -20
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/UnaryExpression__.js +10 -8
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +48 -13
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +10 -1
- package/out/concepts/Variable__.js +70 -18
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +15 -15
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -11
- package/out/concepts/ViewElement__.js +302 -204
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +12 -11
- package/out/concepts/View__.js +109 -98
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +3 -3
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +4 -1
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
- package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
- package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
- package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
- package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +149 -13
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
- package/out/concepts/basics/types/coreTypeList.js +11 -10
- package/out/concepts/basics/types/coreTypeList.js.map +1 -1
- package/out/concepts/index__.d.ts +1 -0
- package/out/concepts/index__.js +1 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/config.d.ts +1 -2
- package/out/config.js +1 -2
- package/out/config.js.map +1 -1
- package/out/enums/KEYWORDS.d.ts +3 -0
- package/out/enums/KEYWORDS.js +1206 -0
- package/out/enums/KEYWORDS.js.map +1 -0
- package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
- package/out/enums/LEVEL_NAME_MAP.js +30 -0
- package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
- package/out/eventBus.d.ts +3 -0
- package/out/eventBus.js +7 -0
- package/out/eventBus.js.map +1 -0
- package/out/generator/genBundleFiles.d.ts +7 -2
- package/out/generator/genBundleFiles.js +168 -27
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +20 -20
- package/out/generator/genMetaData.js +50 -15
- package/out/generator/genMetaData.js.map +1 -1
- package/out/index.d.ts +2 -0
- package/out/index.js +2 -0
- package/out/index.js.map +1 -1
- package/out/manager/diagnostic.d.ts +1 -1
- package/out/server/createUiTs.d.ts +1 -0
- package/out/server/createUiTs.js +49 -5
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +38 -23
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.js +2 -0
- package/out/server/getExtensionModules.js.map +1 -1
- package/out/server/getFunctions.d.ts +1 -0
- package/out/server/getFunctions.js +7 -1
- package/out/server/getFunctions.js.map +1 -1
- package/out/server/getLogics.js +63 -18
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +16 -1
- package/out/server/getMemberIdentifier.js +279 -36
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +6 -1
- package/out/server/getProcesses.js +243 -1
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getScope.d.ts +12 -0
- package/out/server/getScope.js +57 -0
- package/out/server/getScope.js.map +1 -0
- package/out/server/index.js +4 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +30 -53
- package/out/server/naslServer.js +721 -381
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +10 -0
- package/out/server/process2LogicNamespace.js +29 -1
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.d.ts +22 -3
- package/out/server/translator.js +367 -123
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.d.ts +1 -0
- package/out/service/creator/add.configs.js +68 -0
- package/out/service/creator/add.configs.js.map +1 -0
- package/out/service/creator/errHandles.d.ts +18 -0
- package/out/service/creator/errHandles.js +60 -0
- package/out/service/creator/errHandles.js.map +1 -0
- package/out/service/creator/index.d.ts +1 -0
- package/out/service/creator/index.js +72 -0
- package/out/service/creator/index.js.map +1 -0
- package/out/service/storage/api.d.ts +18 -0
- package/out/service/storage/api.js +17 -0
- package/out/service/storage/api.js.map +1 -0
- package/out/service/storage/init.js +213 -37
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/service.d.ts +2 -0
- package/out/service/storage/service.js +10 -0
- package/out/service/storage/service.js.map +1 -0
- package/out/service/storage/storagePoint.d.ts +1 -14
- package/out/service/storage/storagePoint.js +16 -16
- package/out/service/storage/storagePoint.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +11 -11
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +5 -5
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genEnumSelectBlock.js +2 -2
- package/out/templator/genEnumSelectBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +5 -3
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.d.ts +3 -1
- package/out/templator/genGridViewBlock.js +61 -6
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.d.ts +2 -0
- package/out/templator/genQueryComponent.js +27 -14
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genTableBlock.d.ts +1 -1
- package/out/templator/genTableBlock.js +4 -5
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +9 -10
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +13 -4
- package/out/templator/utils.js +8 -4
- package/out/templator/utils.js.map +1 -1
- package/out/test/fixtures/env.js +0 -1
- package/out/test/fixtures/env.js.map +1 -1
- package/out/test/integration/connect-file copy.d.ts +1 -0
- package/out/test/integration/connect-file copy.js +50 -0
- package/out/test/integration/connect-file copy.js.map +1 -0
- package/out/test/integration/node-nasl-server.d.ts +1 -0
- package/out/test/integration/node-nasl-server.js +41 -0
- package/out/test/integration/node-nasl-server.js.map +1 -0
- package/out/test/units/page/Element.spec.js +3 -3
- package/out/test/units/page/Element.spec.js.map +1 -1
- package/out/test/units/temp/temp.spec.js +1 -1
- package/out/test/units/temp/temp.spec.js.map +1 -1
- package/out/utils/index.d.ts +6 -0
- package/out/utils/index.js +25 -1
- package/out/utils/index.js.map +1 -1
- package/out/utils/string.d.ts +1 -1
- package/out/utils/string.js +38 -9
- package/out/utils/string.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +97 -118
- package/src/automate/engine/operators.js +63 -0
- package/src/automate/engine/uniqueName.js +36 -0
- package/src/automate/engine/utils.js +49 -19
- package/src/common/BaseNode.ts +223 -87
- package/src/concepts/App__.ts +86 -46
- package/src/concepts/Argument__.ts +23 -3
- package/src/concepts/Assignee__.ts +437 -0
- package/src/concepts/Assignment__.ts +4 -1
- package/src/concepts/BinaryExpression__.ts +9 -7
- package/src/concepts/BindAttribute__.ts +69 -9
- package/src/concepts/BindDirective__.ts +22 -3
- package/src/concepts/BindEvent__.ts +67 -23
- package/src/concepts/BooleanLiteral__.ts +8 -0
- package/src/concepts/CallFunction__.ts +58 -25
- package/src/concepts/CallInterface__.ts +236 -26
- package/src/concepts/CallLogic__.ts +111 -52
- package/src/concepts/CallQueryComponent__.ts +36 -21
- package/src/concepts/Comment__.ts +6 -2
- package/src/concepts/CompletionProperty__.ts +5 -1
- package/src/concepts/ConfigGroup__.ts +3 -3
- package/src/concepts/ConfigProperty__.ts +3 -3
- package/src/concepts/Configuration__.ts +3 -3
- package/src/concepts/Constant__.ts +12 -0
- package/src/concepts/Destination__.ts +106 -18
- package/src/concepts/End__.ts +8 -1
- package/src/concepts/EntityProperty__.ts +69 -5
- package/src/concepts/Entity__.ts +33 -28
- package/src/concepts/Enum__.ts +16 -11
- package/src/concepts/Event__.ts +3 -3
- package/src/concepts/ForEachStatement__.ts +16 -21
- package/src/concepts/Function__.ts +13 -13
- package/src/concepts/Identifier__.ts +82 -32
- package/src/concepts/IfStatement__.ts +4 -4
- package/src/concepts/InterfaceParam__.ts +49 -27
- package/src/concepts/Interface__.ts +130 -16
- package/src/concepts/JSBlock__.ts +4 -0
- package/src/concepts/LogicItem__.ts +16 -1
- package/src/concepts/Logic__.ts +201 -39
- package/src/concepts/MemberExpression__.ts +58 -15
- package/src/concepts/Module__.ts +35 -24
- package/src/concepts/Namespace__.ts +49 -37
- package/src/concepts/NullLiteral__.ts +8 -1
- package/src/concepts/NumericLiteral__.ts +17 -6
- package/src/concepts/Param__.ts +54 -28
- package/src/concepts/ProcessComponent__.ts +6 -6
- package/src/concepts/ProcessElement__.ts +143 -44
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +85 -98
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +2 -2
- package/src/concepts/QueryJoinExpression__.ts +5 -5
- package/src/concepts/QueryLimitExpression__.ts +2 -2
- package/src/concepts/QuerySelectExpression__.ts +3 -3
- package/src/concepts/Return__.ts +60 -29
- package/src/concepts/Role__.ts +11 -4
- package/src/concepts/SqlQueryComponent__.ts +2 -2
- package/src/concepts/StringLiteral__.ts +20 -31
- package/src/concepts/StructureProperty__.ts +50 -33
- package/src/concepts/Structure__.ts +32 -10
- package/src/concepts/SwitchCase__.ts +4 -4
- package/src/concepts/SwitchStatement__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +59 -16
- package/src/concepts/UnaryExpression__.ts +10 -8
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +44 -14
- package/src/concepts/Variable__.ts +67 -25
- package/src/concepts/ViewComponent__.ts +15 -15
- package/src/concepts/ViewElement__.ts +380 -264
- package/src/concepts/View__.ts +139 -94
- package/src/concepts/WhileStatement__.ts +4 -4
- package/src/concepts/basics/stdlib/index.ts +4 -2
- package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
- package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
- package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
- package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
- package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
- package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
- package/src/concepts/basics/types/coreTypeList.ts +11 -10
- package/src/concepts/index__.ts +1 -0
- package/src/config.ts +1 -2
- package/src/enums/KEYWORDS.ts +1204 -0
- package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
- package/src/eventBus.ts +5 -0
- package/src/generator/genBundleFiles.ts +182 -30
- package/src/generator/genMetaData.ts +72 -21
- package/src/index.ts +2 -0
- package/src/manager/diagnostic.ts +1 -1
- package/src/server/createUiTs.ts +50 -8
- package/src/server/entity2LogicNamespace.ts +41 -25
- package/src/server/getExtensionModules.ts +2 -0
- package/src/server/getFunctions.ts +6 -0
- package/src/server/getLogics.ts +66 -19
- package/src/server/getMemberIdentifier.ts +275 -46
- package/src/server/getProcesses.ts +248 -4
- package/src/server/getScope.ts +62 -0
- package/src/server/index.ts +12 -1
- package/src/server/naslServer.ts +715 -398
- package/src/server/process2LogicNamespace.ts +30 -2
- package/src/server/translator.ts +423 -128
- package/src/service/config/index.js +1 -1
- package/src/service/creator/errHandles.js +5 -2
- package/src/service/creator/index.js +0 -6
- package/src/service/storage/api.js +14 -0
- package/src/service/storage/init.ts +217 -47
- package/src/service/storage/service.ts +6 -0
- package/src/service/storage/storagePoint.ts +16 -16
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
- package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
- package/src/templator/genEditTableBlock.ts +5 -5
- package/src/templator/genEnumSelectBlock.ts +2 -2
- package/src/templator/genGetBlock.ts +6 -8
- package/src/templator/genGridViewBlock.ts +59 -9
- package/src/templator/genQueryComponent.ts +39 -28
- package/src/templator/genTableBlock.ts +5 -9
- package/src/templator/genUpdateBlock.ts +9 -11
- package/src/templator/utils.ts +9 -6
- package/src/test/fixtures/env.ts +0 -2
- package/src/test/units/page/Element.spec.ts +3 -3
- package/src/test/units/temp/temp.spec.ts +1 -1
- package/src/utils/index.ts +24 -0
- package/src/utils/string.ts +39 -9
- package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
- package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
- package/out/data/Module.d.ts +0 -34
- package/out/data/Module.js +0 -53
- package/out/data/Module.js.map +0 -1
- package/src/automate/engine/index.d.ts +0 -3
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { uniq, omit } from 'lodash';
|
|
2
|
+
import { BaseNode } from '../../common/BaseNode';
|
|
3
|
+
import { tracking, TRACK_TYPE, IGNORE_PROPERTY } from './utils';
|
|
4
|
+
import { getConceptConstructor, getConceptMeta } from '../../decorators/index';
|
|
5
|
+
// import { unique, firstUpperCase } from '../../utils/string';
|
|
6
|
+
import uniqueNameModule from './uniqueName';
|
|
7
|
+
import operatorModule from './operators';
|
|
8
|
+
|
|
6
9
|
let id = 0;
|
|
7
10
|
class TemplateMeta {
|
|
8
11
|
constructor(node) {
|
|
9
12
|
// this.name = `t_${uuidv4().replace(/-/g, '')}`;
|
|
10
|
-
this.name = `t_${node.concept}_${node.name ? node.name.replace(
|
|
13
|
+
this.name = `t_${node.concept}_${node.name ? node.name.replace(/[-\.]/g, '') : 'unknown'}_${id++}`;
|
|
11
14
|
this.node = node;
|
|
12
15
|
this.isRoot = false;
|
|
13
16
|
this.rootBinds = [];
|
|
@@ -15,6 +18,7 @@ class TemplateMeta {
|
|
|
15
18
|
this.callees = [];
|
|
16
19
|
this.modules = [];
|
|
17
20
|
this.rolebinds = [];
|
|
21
|
+
this.templatebinds = [];
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
addRootBinds(propertyName, templateMeta) {
|
|
@@ -38,7 +42,12 @@ class TemplateMeta {
|
|
|
38
42
|
addPlainBinds(propertyName, value) {
|
|
39
43
|
// this.node.[propertyName] = value
|
|
40
44
|
if (typeof value === 'string') {
|
|
41
|
-
value = value
|
|
45
|
+
value = value
|
|
46
|
+
.split(/\n/)
|
|
47
|
+
.map((c) => `"${c.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`)
|
|
48
|
+
// .map((c) => `"${c.replace(/([^\\])"/g, '$1\\"')}"`)
|
|
49
|
+
// .map((c) => `decodeURIComponent("${c.encodeURIComponent}")`)
|
|
50
|
+
.join(' + "\\n" +\n');
|
|
42
51
|
}
|
|
43
52
|
if (typeof value === 'object') {
|
|
44
53
|
value = JSON.stringify(value);
|
|
@@ -87,6 +96,12 @@ class TemplateMeta {
|
|
|
87
96
|
});
|
|
88
97
|
}
|
|
89
98
|
|
|
99
|
+
addTemplateBind(propertyName, relatedVar, relatedProperty) {
|
|
100
|
+
this.templatebinds.push({
|
|
101
|
+
propertyName, relatedVar, relatedProperty
|
|
102
|
+
})
|
|
103
|
+
}
|
|
104
|
+
|
|
90
105
|
genComment(part) {
|
|
91
106
|
return `/*---------${this.node.concept} ${this.node.name} ${part} -----------*/`;
|
|
92
107
|
}
|
|
@@ -98,7 +113,8 @@ class TemplateMeta {
|
|
|
98
113
|
// _tempConstructor = getConceptConstructor("${this.node.concept}");
|
|
99
114
|
// const ${this.name} = new _tempConstructor();`
|
|
100
115
|
return `${this.genComment('create')}
|
|
101
|
-
let ${this.name} = _create("${this.node.concept}")
|
|
116
|
+
let ${this.name} = _create("${this.node.concept}");
|
|
117
|
+
_templateObjects.push(${this.name})`;
|
|
102
118
|
}
|
|
103
119
|
|
|
104
120
|
genBind() {
|
|
@@ -106,8 +122,9 @@ class TemplateMeta {
|
|
|
106
122
|
const { type, propertyName, value } = bind;
|
|
107
123
|
switch (type) {
|
|
108
124
|
case TRACK_TYPE.PROPERTY:
|
|
125
|
+
return `_set(${this.name}, "${propertyName}", ${value}, (updatedObj) => { ${value} = updatedObj; })`;
|
|
109
126
|
case TRACK_TYPE.PLAIN:
|
|
110
|
-
return `_set(${this.name}, "${propertyName}", ${value})
|
|
127
|
+
return `_set(${this.name}, "${propertyName}", ${value});`;
|
|
111
128
|
case TRACK_TYPE.ARRAY:
|
|
112
129
|
return `_push(${this.name}, "${propertyName}", ${value});`;
|
|
113
130
|
}
|
|
@@ -151,18 +168,18 @@ class TemplateMeta {
|
|
|
151
168
|
if (this.node.concept === 'Role') {
|
|
152
169
|
return '';
|
|
153
170
|
}
|
|
154
|
-
if (this.node.concept === 'Entity') {
|
|
155
|
-
|
|
156
|
-
${this.name}
|
|
157
|
-
}
|
|
158
|
-
return
|
|
171
|
+
// if (this.node.concept === 'Entity') {
|
|
172
|
+
// return `_set(${this.name}, "name", getGenUniqNameFunctionName(${this.name}, "${this.node.concept}"));`;
|
|
173
|
+
// _setTableName(${this.name}, ${this.name}.name + '_' + app.id.slice(0,6));`;
|
|
174
|
+
// }
|
|
175
|
+
return `_set(${this.name}, "name", _uniqueName.getGenUniqNameFunctionName(${this.name}, "${this.node.concept}", app), (updatedObj) => { ${this.name} = updatedObj; })`;
|
|
159
176
|
}
|
|
160
177
|
|
|
161
178
|
genRoleBind() {
|
|
162
179
|
return this.rolebinds.map((role) => {
|
|
163
180
|
const { propertyName, arguVars } = role;
|
|
164
181
|
|
|
165
|
-
return `_set(${this.name}, "${propertyName}", _bindRoles(${arguVars}));`;
|
|
182
|
+
return `_set(${this.name}, "${propertyName}", _bindRoles(${arguVars}), (updatedObj) => { ${this.name} = updatedObj; });`;
|
|
166
183
|
});
|
|
167
184
|
}
|
|
168
185
|
|
|
@@ -178,8 +195,8 @@ class TemplateMeta {
|
|
|
178
195
|
} else {
|
|
179
196
|
// return `${this.name}.${propertyName} = ${targetVar}.getNamespace();
|
|
180
197
|
// ${this.name}.${relatedPropertyName} = ${targetVar}.name;`
|
|
181
|
-
return `_set(${this.name}, "${propertyName}", ${targetVar}.getNamespace());
|
|
182
|
-
_set(${this.name}, "${relatedPropertyName}", ${targetVar}.name);`;
|
|
198
|
+
return `_set(${this.name}, "${propertyName}", ${targetVar}.getNamespace(), (updatedObj) => { ${this.name} = updatedObj; });
|
|
199
|
+
_set(${this.name}, "${relatedPropertyName}", ${targetVar}.name, (updatedObj) => { ${this.name} = updatedObj; });`;
|
|
183
200
|
}
|
|
184
201
|
});
|
|
185
202
|
}
|
|
@@ -190,6 +207,13 @@ class TemplateMeta {
|
|
|
190
207
|
return `_addModule(app, "${name}", "${belongs}", ${JSON.stringify(data)});`;
|
|
191
208
|
});
|
|
192
209
|
}
|
|
210
|
+
|
|
211
|
+
genTemplateBind() {
|
|
212
|
+
return this.templatebinds.map(meta => {
|
|
213
|
+
const { propertyName, relatedVar, relatedProperty } = meta;
|
|
214
|
+
return `_set(${this.name}, "${propertyName}", ${relatedVar}.${relatedProperty})`;
|
|
215
|
+
})
|
|
216
|
+
}
|
|
193
217
|
}
|
|
194
218
|
|
|
195
219
|
function autoScript(stack) {
|
|
@@ -203,6 +227,7 @@ function autoScript(stack) {
|
|
|
203
227
|
let moduleBlock = [];
|
|
204
228
|
let returnBlock = [];
|
|
205
229
|
let roleNASL = [];
|
|
230
|
+
let templateBlock = [];
|
|
206
231
|
|
|
207
232
|
stack.forEach((temp) => {
|
|
208
233
|
createBlock.push(temp.genCreate());
|
|
@@ -219,102 +244,31 @@ function autoScript(stack) {
|
|
|
219
244
|
nameBlock.push(temp.genName());
|
|
220
245
|
calleeBlock = calleeBlock.concat(temp.genCallee());
|
|
221
246
|
moduleBlock = moduleBlock.concat(temp.genModule());
|
|
247
|
+
templateBlock = templateBlock.concat(temp.genTemplateBind());
|
|
222
248
|
});
|
|
223
249
|
|
|
224
250
|
return `
|
|
225
251
|
(function () {
|
|
226
|
-
|
|
227
|
-
if (!name) {
|
|
228
|
-
return '';
|
|
229
|
-
}
|
|
230
|
-
return name[0].toUpperCase() + name.substring(1);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function getGenUniqNameFunctionName(item, concept) {
|
|
234
|
-
if(!item.parentNode) {
|
|
235
|
-
return item.name;
|
|
236
|
-
}
|
|
237
|
-
const p = item.parentNode;
|
|
238
|
-
const f1 = p["get" + concept + "UniqueName"];
|
|
239
|
-
const f2 = p["get" + concept + "ExistingNames"]
|
|
240
|
-
if(f1 && f2) {
|
|
241
|
-
const names = f2.call(p);
|
|
242
|
-
const t = names.filter(n => n === item.name);
|
|
243
|
-
if(t.length > 1) {
|
|
244
|
-
return f1.call(p, item.name);
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
return item.name;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
let BaseNodeConstructor;
|
|
251
|
-
let getConceptConstructor;
|
|
252
|
-
let getConceptMeta;
|
|
253
|
-
|
|
254
|
-
function instanceOfBaseNode(item) {
|
|
255
|
-
return (item instanceof BaseNodeConstructor);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
function _set(item, propertyName, value) {
|
|
259
|
-
if(instanceOfBaseNode(value)) {
|
|
260
|
-
value.parentNode = item;
|
|
261
|
-
value.parentKey = propertyName;
|
|
262
|
-
}
|
|
263
|
-
item.update({
|
|
264
|
-
[propertyName]: value,
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
function _push(item, propertyName, value) {
|
|
269
|
-
if(!item[propertyName]){
|
|
270
|
-
item[propertyName] = [];
|
|
271
|
-
}
|
|
272
|
-
value.parentNode = item;
|
|
273
|
-
value.parentKey = propertyName;
|
|
274
|
-
item[propertyName].push(value);
|
|
275
|
-
const index = item[propertyName].length;
|
|
276
|
-
value.create({
|
|
277
|
-
index,
|
|
278
|
-
parentNode: item,
|
|
279
|
-
parentKey: propertyName,
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function _create(concept) {
|
|
284
|
-
const _ctor = getConceptConstructor(concept);
|
|
285
|
-
const item = new _ctor();
|
|
286
|
-
const { propertyMap } = getConceptMeta(concept);
|
|
287
|
-
for(const p of propertyMap) {
|
|
288
|
-
const [propertyName] = p;
|
|
289
|
-
const t = item[propertyName];
|
|
290
|
-
if(Array.isArray(t)) {
|
|
291
|
-
_set(item, propertyName, []);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
return item;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
function _addModule(app, name, belongs, data) {
|
|
298
|
-
const ms = app[belongs];
|
|
299
|
-
const exist = ms.find(m => m.name === name);
|
|
300
|
-
if(!exist) {
|
|
301
|
-
app["addModuleIn" + alphaUpper(belongs)](data);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
function _bindRoles(){
|
|
306
|
-
return Array.prototype.map.call(arguments, r => r.name);
|
|
307
|
-
}
|
|
308
|
-
// let _tempConstructor;
|
|
252
|
+
const injectModule = {};
|
|
309
253
|
|
|
310
254
|
const exportRoles = function() {
|
|
311
255
|
return ${JSON.stringify(roleNASL)};
|
|
312
256
|
}
|
|
313
257
|
|
|
314
|
-
const execTemplate = function(app, getCtor, getCMeta, base, rootBindCallback, roleCallback) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
258
|
+
const execTemplate = function(app, getCtor, getCMeta, base, rootBindCallback, roleCallback, finalCallback) {
|
|
259
|
+
let _templateObjects = [];
|
|
260
|
+
const {
|
|
261
|
+
_set,
|
|
262
|
+
_push,
|
|
263
|
+
_create,
|
|
264
|
+
_addModule,
|
|
265
|
+
_bindRoles
|
|
266
|
+
} = injectModule.operators;
|
|
267
|
+
|
|
268
|
+
const _uniqueName = new injectModule.uniqueName();
|
|
269
|
+
|
|
270
|
+
_uniqueName.initAppUniqueNames(app);
|
|
271
|
+
|
|
318
272
|
app.emit('collect:start', {
|
|
319
273
|
actionMsg: '导入页面模板'
|
|
320
274
|
});
|
|
@@ -324,14 +278,14 @@ function autoScript(stack) {
|
|
|
324
278
|
/*---- bind ---- */
|
|
325
279
|
${bindBlock.join('\n\t\t')}
|
|
326
280
|
|
|
327
|
-
/*----
|
|
328
|
-
${
|
|
281
|
+
/*---- reset name ---- */
|
|
282
|
+
${nameBlock.join('\n\t\t')}
|
|
329
283
|
|
|
330
284
|
/*--- root bind ---*/
|
|
331
285
|
${rootBindBlock.join('\n\t\t')}
|
|
332
286
|
|
|
333
|
-
/*----
|
|
334
|
-
${
|
|
287
|
+
/*---- appbind ---- */
|
|
288
|
+
${appBindBlock.join('\n\t\t')}
|
|
335
289
|
|
|
336
290
|
/*--- role bind ---*/
|
|
337
291
|
${rolebindBlock.join('\n\t\t')}
|
|
@@ -339,8 +293,16 @@ function autoScript(stack) {
|
|
|
339
293
|
/*---- reset callee ---- */
|
|
340
294
|
${calleeBlock.join('\n\t\t')}
|
|
341
295
|
|
|
296
|
+
/*--- template bind ---- */
|
|
297
|
+
${templateBlock.join('\n\t\t')}
|
|
298
|
+
|
|
342
299
|
/*---- add module ----*/
|
|
343
300
|
${moduleBlock.join('\n\t\t')}
|
|
301
|
+
|
|
302
|
+
/*--- final callback ---*/
|
|
303
|
+
if(finalCallback) {
|
|
304
|
+
finalCallback(_templateObjects)
|
|
305
|
+
}
|
|
344
306
|
app.emit('collect:end');
|
|
345
307
|
|
|
346
308
|
/*---- return root -----*/
|
|
@@ -349,12 +311,15 @@ function autoScript(stack) {
|
|
|
349
311
|
|
|
350
312
|
return {
|
|
351
313
|
execTemplate,
|
|
352
|
-
exportRoles
|
|
314
|
+
exportRoles,
|
|
315
|
+
importModule(key, m) {
|
|
316
|
+
injectModule[key] = m;
|
|
317
|
+
},
|
|
353
318
|
}
|
|
354
319
|
})();`;
|
|
355
320
|
}
|
|
356
321
|
const i = 0;
|
|
357
|
-
|
|
322
|
+
export function autoTemplate(node) {
|
|
358
323
|
const visitedMap = new WeakMap();
|
|
359
324
|
const stack = [];
|
|
360
325
|
const startNode = node;
|
|
@@ -410,7 +375,16 @@ const autoTemplate = (exports.autoTemplate = function autoTemplate(node) {
|
|
|
410
375
|
});
|
|
411
376
|
|
|
412
377
|
meta.addRoleTemplate(propertyName, roleMetaNames);
|
|
413
|
-
|
|
378
|
+
break;
|
|
379
|
+
case TRACK_TYPE.PROPERTY_TEMPLATE:
|
|
380
|
+
const relatedProperty = options.relatedProperty;
|
|
381
|
+
const getRelatedVar = options.getRelatedVar;
|
|
382
|
+
const t = getRelatedVar();
|
|
383
|
+
if(t) {
|
|
384
|
+
iterator(t);
|
|
385
|
+
const relatedMeta = visitedMap.get(t);
|
|
386
|
+
meta.addTemplateBind(propertyName, relatedMeta.name, relatedProperty)
|
|
387
|
+
}
|
|
414
388
|
break;
|
|
415
389
|
default:
|
|
416
390
|
break;
|
|
@@ -426,7 +400,7 @@ const autoTemplate = (exports.autoTemplate = function autoTemplate(node) {
|
|
|
426
400
|
|
|
427
401
|
iterator(node);
|
|
428
402
|
return autoScript(stack);
|
|
429
|
-
}
|
|
403
|
+
}
|
|
430
404
|
|
|
431
405
|
/* 使用模板的代码 */
|
|
432
406
|
/*
|
|
@@ -442,11 +416,16 @@ const autoTemplate = (exports.autoTemplate = function autoTemplate(node) {
|
|
|
442
416
|
})
|
|
443
417
|
*/
|
|
444
418
|
|
|
445
|
-
|
|
419
|
+
export function getRoles(script) {
|
|
446
420
|
const { exportRoles } = eval(script);
|
|
447
421
|
return exportRoles();
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
const { execTemplate } = eval(script);
|
|
451
|
-
|
|
452
|
-
|
|
422
|
+
}
|
|
423
|
+
export function applyTemplate(script, app, rootBindCallback, roleCallback, finalCallback) {
|
|
424
|
+
const { execTemplate, importModule } = eval(script);
|
|
425
|
+
// 为了兼容 2.11 老模板
|
|
426
|
+
if(importModule) {
|
|
427
|
+
importModule('operators', operatorModule);
|
|
428
|
+
importModule('uniqueName', uniqueNameModule);
|
|
429
|
+
}
|
|
430
|
+
execTemplate(app, getConceptConstructor, getConceptMeta, BaseNode, rootBindCallback, roleCallback, finalCallback);
|
|
431
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { BaseNode } from '../../common/BaseNode';
|
|
2
|
+
import { getConceptConstructor, getConceptMeta } from '../../decorators/index';
|
|
3
|
+
import { firstUpperCase } from '../../utils/string';
|
|
4
|
+
|
|
5
|
+
function instanceOfBaseNode(item) {
|
|
6
|
+
return (item instanceof BaseNode);
|
|
7
|
+
}
|
|
8
|
+
const ops = {
|
|
9
|
+
_set(item, propertyName, value, callback) {
|
|
10
|
+
if(instanceOfBaseNode(value)) {
|
|
11
|
+
value.parentNode = item;
|
|
12
|
+
value.parentKey = propertyName;
|
|
13
|
+
}
|
|
14
|
+
if(item[propertyName] !== value) {
|
|
15
|
+
item.update({
|
|
16
|
+
[propertyName]: value,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
if(instanceOfBaseNode(value) && callback) {
|
|
20
|
+
callback(item[propertyName]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
_push(item, propertyName, value) {
|
|
25
|
+
if(!item[propertyName]){
|
|
26
|
+
item[propertyName] = [];
|
|
27
|
+
}
|
|
28
|
+
value.parentNode = item;
|
|
29
|
+
value.parentKey = propertyName;
|
|
30
|
+
item[propertyName].push(value);
|
|
31
|
+
const index = item[propertyName].length;
|
|
32
|
+
value.create({
|
|
33
|
+
index,
|
|
34
|
+
parentNode: item,
|
|
35
|
+
parentKey: propertyName,
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
_create(concept) {
|
|
39
|
+
const _ctor = getConceptConstructor(concept);
|
|
40
|
+
const item = new _ctor();
|
|
41
|
+
const { propertyMap } = getConceptMeta(concept);
|
|
42
|
+
for(const p of propertyMap) {
|
|
43
|
+
const [propertyName] = p;
|
|
44
|
+
const t = item[propertyName];
|
|
45
|
+
if(Array.isArray(t)) {
|
|
46
|
+
ops._set(item, propertyName, []);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return item;
|
|
50
|
+
},
|
|
51
|
+
_addModule(app, name, belongs, data) {
|
|
52
|
+
const ms = app[belongs];
|
|
53
|
+
const exist = ms.find(m => m.name === name);
|
|
54
|
+
if(!exist) {
|
|
55
|
+
app["addModuleIn" + firstUpperCase(belongs)](data);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
_bindRoles(){
|
|
59
|
+
return Array.prototype.map.call(arguments, r => r.name);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default ops;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { unique } from '../../utils/string';
|
|
2
|
+
class uniqueName {
|
|
3
|
+
NamesWeakMap = new Map();
|
|
4
|
+
initAppUniqueNames(app) {
|
|
5
|
+
const NamesWeakMap = this.NamesWeakMap;
|
|
6
|
+
NamesWeakMap.set('Entity', new Set(app.getEntityExistingNames()));
|
|
7
|
+
NamesWeakMap.set('Structure', new Set(app.getStructureExistingNames()));
|
|
8
|
+
NamesWeakMap.set('Enum', new Set(app.getEnumExistingNames()));
|
|
9
|
+
NamesWeakMap.set('Logic', new Set(app.getLogicExistingNames()));
|
|
10
|
+
NamesWeakMap.set('Interface', new Set(app.getInterfaceExistingNames()));
|
|
11
|
+
NamesWeakMap.set('View', new Set(app.getViewExistingNames()));
|
|
12
|
+
NamesWeakMap.set('Process', new Set(app.getProcessExistingNames()));
|
|
13
|
+
NamesWeakMap.set('Role', new Set(app.getRoleExistingNames()));
|
|
14
|
+
}
|
|
15
|
+
getGenUniqNameFunctionName(item, concept) {
|
|
16
|
+
const p = item.parentNode;
|
|
17
|
+
const NamesWeakMap = this.NamesWeakMap;
|
|
18
|
+
if(!p) {
|
|
19
|
+
const nameSet = NamesWeakMap.get(concept);
|
|
20
|
+
const n = unique(item.name, nameSet, 1, true);
|
|
21
|
+
nameSet.add(n);
|
|
22
|
+
return n;
|
|
23
|
+
}
|
|
24
|
+
const f1 = p["get" + concept + "UniqueName"];
|
|
25
|
+
const f2 = p["get" + concept + "ExistingNames"]
|
|
26
|
+
if(f1 && f2) {
|
|
27
|
+
const names = f2.call(p);
|
|
28
|
+
const t = names.filter(n => n === item.name);
|
|
29
|
+
if(t.length > 1) {
|
|
30
|
+
return f1.call(p, item.name);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return item.name;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export default uniqueName;
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
// BaseNode,
|
|
3
3
|
// Module
|
|
4
4
|
// } from '../../concepts';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import { BaseNode, uiStructures, collectionStructures } from '../../concepts';
|
|
6
|
+
import { getConceptMeta } from '../../decorators/index';
|
|
8
7
|
/*
|
|
9
8
|
根据 namespace 字符串来获取 node
|
|
10
9
|
link: http://nasl.lcap.group/docs/current/semantics/Basics/Namespaces/
|
|
11
10
|
*/
|
|
12
|
-
|
|
11
|
+
export function getNodeByNodeCallee(AppInstance, namespace, callback) {
|
|
13
12
|
const nodePath = namespace.split('.');
|
|
14
13
|
const kind = nodePath.shift();
|
|
15
14
|
let tempPoint;
|
|
@@ -21,7 +20,7 @@ const getNodeByNodeCallee = (exports.getNodeByNodeCallee = function getNodeByNod
|
|
|
21
20
|
tempPoint = AppInstance.dependencies;
|
|
22
21
|
state = 2;
|
|
23
22
|
}
|
|
24
|
-
if (kind === '
|
|
23
|
+
if (kind === 'apis') {
|
|
25
24
|
tempPoint = AppInstance.interfaceDependencies;
|
|
26
25
|
state = 2;
|
|
27
26
|
}
|
|
@@ -63,9 +62,19 @@ const getNodeByNodeCallee = (exports.getNodeByNodeCallee = function getNodeByNod
|
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
return tempPoint;
|
|
66
|
-
}
|
|
65
|
+
}
|
|
67
66
|
|
|
68
|
-
|
|
67
|
+
/**
|
|
68
|
+
* 根据 namespace 字符串来获取 node,主要是nasl的ui 和 collection
|
|
69
|
+
*/
|
|
70
|
+
export function getNaslNodeByNodeCallee(namespace, typeName) {
|
|
71
|
+
if (namespace === 'nasl.ui') {
|
|
72
|
+
return uiStructures.find((item) => item.name === typeName);
|
|
73
|
+
} else if (namespace === 'nasl.collection') {
|
|
74
|
+
return collectionStructures.find((item) => item.name === typeName);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export const TRACK_TYPE = {
|
|
69
78
|
PLAIN: 'plain',
|
|
70
79
|
PROPERTY: 'property',
|
|
71
80
|
ARRAY: 'array',
|
|
@@ -73,8 +82,11 @@ const TRACK_TYPE = (exports.TRACK_TYPE = {
|
|
|
73
82
|
CALLEE_TEMPLATE: 'callee_template',
|
|
74
83
|
MODULE: 'module',
|
|
75
84
|
ROLE_TEMPLATE: 'role_template',
|
|
85
|
+
PROPERTY_TEMPLATE: 'property_template',
|
|
76
86
|
// INTERNAL: 'internal'
|
|
77
|
-
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const ENTITY_AS_NAME = 'entityAsName';
|
|
78
90
|
|
|
79
91
|
const BACKTACKING_PROPERTY_NS = {
|
|
80
92
|
TYPE_NAMESPACE: 'typeNamespace',
|
|
@@ -113,15 +125,16 @@ function isBACKTRACKING_IGNORE_NAMESPACE(ns) {
|
|
|
113
125
|
return ns.startsWith('nasl') || ns.startsWith('elements');
|
|
114
126
|
}
|
|
115
127
|
|
|
116
|
-
const IGNORE_PROPERTY =
|
|
128
|
+
export const IGNORE_PROPERTY = [
|
|
117
129
|
'uuid', // View 属性
|
|
118
130
|
'origin', // Entity 属性
|
|
119
131
|
'changedTime',
|
|
120
132
|
'branchName',
|
|
121
133
|
'appId',
|
|
122
134
|
'isIndex',
|
|
123
|
-
'tableName',
|
|
124
|
-
|
|
135
|
+
// 'tableName',
|
|
136
|
+
// 'columnName',
|
|
137
|
+
];
|
|
125
138
|
|
|
126
139
|
const ROLE_PROPERTY = 'bindRoles';
|
|
127
140
|
|
|
@@ -136,7 +149,7 @@ const ROLE_PROPERTY = 'bindRoles';
|
|
|
136
149
|
// 'Role',
|
|
137
150
|
// ];
|
|
138
151
|
|
|
139
|
-
|
|
152
|
+
export function tracking(node, startNode, callback) {
|
|
140
153
|
const { propertyMap } = getConceptMeta(node.concept);
|
|
141
154
|
// console.log(propertyMap)
|
|
142
155
|
for (const p of propertyMap) {
|
|
@@ -238,7 +251,7 @@ const tracking = (exports.tracking = function tracking(node, startNode, callback
|
|
|
238
251
|
relatedPropertyName,
|
|
239
252
|
AppPropertyName: 'processes',
|
|
240
253
|
});
|
|
241
|
-
|
|
254
|
+
break;
|
|
242
255
|
}
|
|
243
256
|
|
|
244
257
|
const entity = rootNode.entities.find((e) => e.name === nodeName);
|
|
@@ -252,7 +265,7 @@ const tracking = (exports.tracking = function tracking(node, startNode, callback
|
|
|
252
265
|
relatedPropertyName,
|
|
253
266
|
AppPropertyName: 'entities',
|
|
254
267
|
});
|
|
255
|
-
|
|
268
|
+
break;
|
|
256
269
|
}
|
|
257
270
|
} else {
|
|
258
271
|
const nsPath = `${ns}.${calleeN}`;
|
|
@@ -275,9 +288,26 @@ const tracking = (exports.tracking = function tracking(node, startNode, callback
|
|
|
275
288
|
case BACKTACKING_PROPERTY.ENTITY_NAMESPACE:
|
|
276
289
|
case BACKTACKING_PROPERTY.RELATION_NAMESPACE:
|
|
277
290
|
break;
|
|
291
|
+
case ENTITY_AS_NAME:
|
|
292
|
+
// 现在还不存在 asName 先直接当 Entity 名称来用。
|
|
293
|
+
callback(TRACK_TYPE.PROPERTY_TEMPLATE, propertyName, property, {
|
|
294
|
+
getRelatedVar: () => {
|
|
295
|
+
const queryCom = node.getAncestor('CallQueryComponent');
|
|
296
|
+
if (queryCom) {
|
|
297
|
+
const entities = node.app.entities;
|
|
298
|
+
// entityAsName === entity.name
|
|
299
|
+
return entities.find((e) => e.name === property);
|
|
300
|
+
}
|
|
301
|
+
return null;
|
|
302
|
+
},
|
|
303
|
+
relatedProperty: 'name',
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
break;
|
|
307
|
+
|
|
278
308
|
default:
|
|
279
|
-
if (property !== undefined
|
|
280
|
-
if (objectRef) {
|
|
309
|
+
if (property !== undefined) {
|
|
310
|
+
if (objectRef && property !== null) {
|
|
281
311
|
callback(TRACK_TYPE.PROPERTY, propertyName, property);
|
|
282
312
|
} else {
|
|
283
313
|
callback(TRACK_TYPE.PLAIN, propertyName, property);
|
|
@@ -287,7 +317,7 @@ const tracking = (exports.tracking = function tracking(node, startNode, callback
|
|
|
287
317
|
}
|
|
288
318
|
}
|
|
289
319
|
}
|
|
290
|
-
}
|
|
320
|
+
}
|
|
291
321
|
|
|
292
322
|
function getAppPropertyName(node) {
|
|
293
323
|
const { propertyMap } = getConceptMeta('App');
|
|
@@ -301,7 +331,7 @@ function getAppPropertyName(node) {
|
|
|
301
331
|
return undefined;
|
|
302
332
|
}
|
|
303
333
|
|
|
304
|
-
|
|
334
|
+
export function backtracking({ node, startNode, calleeNode, propertyName, relatedPropertyName }, callback) {
|
|
305
335
|
const m = calleeNode.getAncestor('Module');
|
|
306
336
|
if (m) {
|
|
307
337
|
callback(TRACK_TYPE.PLAIN, propertyName, node[propertyName]);
|
|
@@ -332,4 +362,4 @@ const backtracking = (exports.backtracking = function backtracking({ node, start
|
|
|
332
362
|
relatedPropertyName,
|
|
333
363
|
AppPropertyName,
|
|
334
364
|
});
|
|
335
|
-
}
|
|
365
|
+
}
|