@lcap/nasl 2.12.0 → 2.13.0-beta
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/package.json +1 -1
- package/src/bak/translator.js +8 -1
- package/src/common/BaseNode.ts +1 -1
- package/src/concepts/App__.ts +38 -1
- package/src/concepts/Argument__.ts +1 -1
- package/src/concepts/Assignee__.ts +1 -1
- package/src/concepts/Assignment__.ts +1 -1
- package/src/concepts/Attribute__.ts +1 -1
- package/src/concepts/BinaryExpression__.ts +21 -4
- package/src/concepts/BindAttribute__.ts +1 -1
- package/src/concepts/BindDirective__.ts +4 -0
- package/src/concepts/BindEvent__.ts +416 -59
- package/src/concepts/BooleanLiteral__.ts +1 -1
- package/src/concepts/CallFunction__.ts +1 -1
- package/src/concepts/CallInterface__.ts +3 -1
- package/src/concepts/CallLogic__.ts +1 -1
- package/src/concepts/CallQueryComponent__.ts +1 -1
- package/src/concepts/Comment__.ts +1 -1
- package/src/concepts/CompletionProperty__.ts +1 -2
- package/src/concepts/ConfigGroup__.ts +1 -1
- package/src/concepts/ConfigPropertyValue__.ts +1 -1
- package/src/concepts/ConfigProperty__.ts +1 -1
- package/src/concepts/Configuration__.ts +1 -1
- package/src/concepts/Constant__.ts +1 -1
- package/src/concepts/DataElement__.ts +1 -1
- package/src/concepts/DataSource__.ts +1 -1
- package/src/concepts/Destination__.ts +3 -2
- package/src/concepts/End__.ts +1 -1
- package/src/concepts/EntityIndex__.ts +1 -1
- package/src/concepts/EntityProperty__.ts +1 -1
- package/src/concepts/Entity__.ts +1 -2
- package/src/concepts/EnumItem__.ts +1 -1
- package/src/concepts/Enum__.ts +1 -1
- package/src/concepts/Event__.ts +1 -1
- package/src/concepts/ForEachStatement__.ts +1 -1
- package/src/concepts/Function__.ts +65 -41
- package/src/concepts/Identifier__.ts +2 -2
- package/src/concepts/IfStatement__.ts +1 -1
- package/src/concepts/InterfaceParam__.ts +1 -1
- package/src/concepts/Interface__.ts +2 -1
- package/src/concepts/JSBlock__.ts +7 -0
- package/src/concepts/LogicItem__.ts +1 -1
- package/src/concepts/Logic__.ts +116 -14
- package/src/concepts/MemberExpression__.ts +1 -1
- package/src/concepts/Module__.ts +129 -107
- package/src/concepts/Namespace__.ts +1 -1
- package/src/concepts/NullLiteral__.ts +1 -1
- package/src/concepts/NumericLiteral__.ts +1 -1
- package/src/concepts/Param__.ts +7 -1
- package/src/concepts/Point__.ts +1 -1
- package/src/concepts/ProcessComponent__.ts +1 -1
- package/src/concepts/ProcessElement__.ts +228 -2
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/Process__.ts +242 -3
- package/src/concepts/QueryAggregateExpression__.ts +1 -1
- package/src/concepts/QueryFieldExpression__.ts +1 -1
- package/src/concepts/QueryFromExpression__.ts +1 -1
- package/src/concepts/QueryGroupByExpression__.ts +1 -1
- package/src/concepts/QueryJoinExpression__.ts +1 -1
- package/src/concepts/QueryLimitExpression__.ts +1 -1
- package/src/concepts/QueryOrderByExpression__.ts +1 -1
- package/src/concepts/QuerySelectExpression__.ts +1 -1
- package/src/concepts/Rect__.ts +1 -1
- package/src/concepts/Return__.ts +1 -1
- package/src/concepts/Role__.ts +1 -1
- package/src/concepts/Slot__.ts +1 -1
- package/src/concepts/SqlQueryComponent__.ts +14 -4
- package/src/concepts/Start__.ts +1 -1
- package/src/concepts/StringLiteral__.ts +1 -1
- package/src/concepts/StructureProperty__.ts +4 -0
- package/src/concepts/Structure__.ts +1 -1
- package/src/concepts/SwitchCase__.ts +1 -1
- package/src/concepts/SwitchStatement__.ts +1 -1
- package/src/concepts/Theme__.ts +1 -1
- package/src/concepts/Transactional__.ts +1 -1
- package/src/concepts/TypeAnnotation__.ts +32 -3
- package/src/concepts/TypeParam__.ts +1 -1
- package/src/concepts/UnaryExpression__.ts +1 -1
- package/src/concepts/Unparsed__.ts +1 -1
- package/src/concepts/UseComponent__.ts +1 -1
- package/src/concepts/ValidationRule__.ts +1 -1
- package/src/concepts/Variable__.ts +1 -1
- package/src/concepts/ViewComponent__.ts +1 -1
- package/src/concepts/ViewElement__.ts +34 -17
- package/src/concepts/View__.ts +75 -12
- package/src/concepts/WhileStatement__.ts +1 -1
- package/src/concepts/basics/stdlib/nasl.ui.ts +4 -0
- package/src/concepts/basics/stdlib/nasl.util.ts +2 -2
- package/src/concepts/basics/types/coreTypeList.ts +1 -0
- package/src/enums/KEYWORDS.ts +3 -0
- package/src/server/createUiTs.ts +26 -2
- package/src/server/events.yaml +89 -0
- package/src/server/getMemberIdentifier.ts +121 -28
- package/src/server/getProcesses.ts +30 -29
- package/src/server/index.ts +4 -0
- package/src/server/naslServer.ts +46 -12
- package/src/server/translator.ts +25 -13
- package/src/templator/genCreateBlock.ts +4 -0
- package/src/templator/genCurdEditMultipleKeyBlock.ts +10 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +36 -21
- package/src/templator/genEditTableBlock.ts +2 -27
- package/src/templator/genGridViewBlock.ts +0 -13
- package/src/templator/genTableBlock.ts +0 -13
- package/src/templator/genUpdateBlock.ts +4 -0
- package/src/templator/utils.ts +1 -0
- package/out/automate/engine/index.d.ts +0 -4
- package/out/automate/engine/index.js +0 -436
- package/out/automate/engine/index.js.map +0 -1
- package/out/automate/engine/operators.d.ts +0 -21
- package/out/automate/engine/operators.js +0 -161
- package/out/automate/engine/operators.js.map +0 -1
- package/out/automate/engine/uniqueName.d.ts +0 -12
- package/out/automate/engine/uniqueName.js +0 -107
- package/out/automate/engine/uniqueName.js.map +0 -1
- package/out/automate/engine/utils.d.ts +0 -25
- package/out/automate/engine/utils.js +0 -404
- package/out/automate/engine/utils.js.map +0 -1
- package/out/automate/template/process.d.ts +0 -9
- package/out/automate/template/process.js +0 -10976
- package/out/automate/template/process.js.map +0 -1
- package/out/bak/translator.d.ts +0 -1
- package/out/bak/translator.js +0 -112
- package/out/bak/translator.js.map +0 -1
- package/out/common/BaseNode.d.ts +0 -256
- package/out/common/BaseNode.js +0 -891
- package/out/common/BaseNode.js.map +0 -1
- package/out/common/Command.d.ts +0 -8
- package/out/common/Command.js +0 -32
- package/out/common/Command.js.map +0 -1
- package/out/common/ComponentAPI.d.ts +0 -110
- package/out/common/ComponentAPI.js +0 -3
- package/out/common/ComponentAPI.js.map +0 -1
- package/out/common/EventEmitter.d.ts +0 -58
- package/out/common/EventEmitter.js +0 -68
- package/out/common/EventEmitter.js.map +0 -1
- package/out/common/Messager.d.ts +0 -86
- package/out/common/Messager.js +0 -187
- package/out/common/Messager.js.map +0 -1
- package/out/common/classMap.d.ts +0 -4
- package/out/common/classMap.js +0 -5
- package/out/common/classMap.js.map +0 -1
- package/out/common/index.d.ts +0 -4
- package/out/common/index.js +0 -21
- package/out/common/index.js.map +0 -1
- package/out/concepts/App__.d.ts +0 -1119
- package/out/concepts/App__.js +0 -1591
- package/out/concepts/App__.js.map +0 -1
- package/out/concepts/Argument__.d.ts +0 -58
- package/out/concepts/Argument__.js +0 -198
- package/out/concepts/Argument__.js.map +0 -1
- package/out/concepts/Assignee__.d.ts +0 -201
- package/out/concepts/Assignee__.js +0 -298
- package/out/concepts/Assignee__.js.map +0 -1
- package/out/concepts/Assignment__.d.ts +0 -70
- package/out/concepts/Assignment__.js +0 -201
- package/out/concepts/Assignment__.js.map +0 -1
- package/out/concepts/Attribute__.d.ts +0 -101
- package/out/concepts/Attribute__.js +0 -221
- package/out/concepts/Attribute__.js.map +0 -1
- package/out/concepts/BinaryExpression__.d.ts +0 -64
- package/out/concepts/BinaryExpression__.js +0 -251
- package/out/concepts/BinaryExpression__.js.map +0 -1
- package/out/concepts/BindAttribute__.d.ts +0 -231
- package/out/concepts/BindAttribute__.js +0 -450
- package/out/concepts/BindAttribute__.js.map +0 -1
- package/out/concepts/BindDirective__.d.ts +0 -93
- package/out/concepts/BindDirective__.js +0 -251
- package/out/concepts/BindDirective__.js.map +0 -1
- package/out/concepts/BindEvent__.d.ts +0 -139
- package/out/concepts/BindEvent__.js +0 -369
- package/out/concepts/BindEvent__.js.map +0 -1
- package/out/concepts/BooleanLiteral__.d.ts +0 -31
- package/out/concepts/BooleanLiteral__.js +0 -91
- package/out/concepts/BooleanLiteral__.js.map +0 -1
- package/out/concepts/CallFunction__.d.ts +0 -153
- package/out/concepts/CallFunction__.js +0 -381
- package/out/concepts/CallFunction__.js.map +0 -1
- package/out/concepts/CallInterface__.d.ts +0 -103
- package/out/concepts/CallInterface__.js +0 -441
- package/out/concepts/CallInterface__.js.map +0 -1
- package/out/concepts/CallLogic__.d.ts +0 -170
- package/out/concepts/CallLogic__.js +0 -604
- package/out/concepts/CallLogic__.js.map +0 -1
- package/out/concepts/CallQueryComponent__.d.ts +0 -345
- package/out/concepts/CallQueryComponent__.js +0 -1009
- package/out/concepts/CallQueryComponent__.js.map +0 -1
- package/out/concepts/Comment__.d.ts +0 -30
- package/out/concepts/Comment__.js +0 -93
- package/out/concepts/Comment__.js.map +0 -1
- package/out/concepts/CompletionProperty__.d.ts +0 -101
- package/out/concepts/CompletionProperty__.js +0 -237
- package/out/concepts/CompletionProperty__.js.map +0 -1
- package/out/concepts/ConfigGroup__.d.ts +0 -121
- package/out/concepts/ConfigGroup__.js +0 -221
- package/out/concepts/ConfigGroup__.js.map +0 -1
- package/out/concepts/ConfigPropertyValue__.d.ts +0 -43
- package/out/concepts/ConfigPropertyValue__.js +0 -103
- package/out/concepts/ConfigPropertyValue__.js.map +0 -1
- package/out/concepts/ConfigProperty__.d.ts +0 -129
- package/out/concepts/ConfigProperty__.js +0 -239
- package/out/concepts/ConfigProperty__.js.map +0 -1
- package/out/concepts/Configuration__.d.ts +0 -121
- package/out/concepts/Configuration__.js +0 -213
- package/out/concepts/Configuration__.js.map +0 -1
- package/out/concepts/Constant__.d.ts +0 -99
- package/out/concepts/Constant__.js +0 -237
- package/out/concepts/Constant__.js.map +0 -1
- package/out/concepts/DataElement__.d.ts +0 -45
- package/out/concepts/DataElement__.js +0 -114
- package/out/concepts/DataElement__.js.map +0 -1
- package/out/concepts/DataSource__.d.ts +0 -143
- package/out/concepts/DataSource__.js +0 -318
- package/out/concepts/DataSource__.js.map +0 -1
- package/out/concepts/Destination__.d.ts +0 -120
- package/out/concepts/Destination__.js +0 -433
- package/out/concepts/Destination__.js.map +0 -1
- package/out/concepts/End__.d.ts +0 -23
- package/out/concepts/End__.js +0 -84
- package/out/concepts/End__.js.map +0 -1
- package/out/concepts/EntityIndex__.d.ts +0 -94
- package/out/concepts/EntityIndex__.js +0 -215
- package/out/concepts/EntityIndex__.js.map +0 -1
- package/out/concepts/EntityProperty__.d.ts +0 -231
- package/out/concepts/EntityProperty__.js +0 -567
- package/out/concepts/EntityProperty__.js.map +0 -1
- package/out/concepts/Entity__.d.ts +0 -297
- package/out/concepts/Entity__.js +0 -572
- package/out/concepts/Entity__.js.map +0 -1
- package/out/concepts/EnumItem__.d.ts +0 -60
- package/out/concepts/EnumItem__.js +0 -136
- package/out/concepts/EnumItem__.js.map +0 -1
- package/out/concepts/Enum__.d.ts +0 -135
- package/out/concepts/Enum__.js +0 -293
- package/out/concepts/Enum__.js.map +0 -1
- package/out/concepts/Event__.d.ts +0 -142
- package/out/concepts/Event__.js +0 -242
- package/out/concepts/Event__.js.map +0 -1
- package/out/concepts/ForEachStatement__.d.ts +0 -191
- package/out/concepts/ForEachStatement__.js +0 -441
- package/out/concepts/ForEachStatement__.js.map +0 -1
- package/out/concepts/Function__.d.ts +0 -406
- package/out/concepts/Function__.js +0 -657
- package/out/concepts/Function__.js.map +0 -1
- package/out/concepts/Identifier__.d.ts +0 -45
- package/out/concepts/Identifier__.js +0 -203
- package/out/concepts/Identifier__.js.map +0 -1
- package/out/concepts/IfStatement__.d.ts +0 -148
- package/out/concepts/IfStatement__.js +0 -280
- package/out/concepts/IfStatement__.js.map +0 -1
- package/out/concepts/InterfaceParam__.d.ts +0 -112
- package/out/concepts/InterfaceParam__.js +0 -311
- package/out/concepts/InterfaceParam__.js.map +0 -1
- package/out/concepts/Interface__.d.ts +0 -268
- package/out/concepts/Interface__.js +0 -598
- package/out/concepts/Interface__.js.map +0 -1
- package/out/concepts/JSBlock__.d.ts +0 -31
- package/out/concepts/JSBlock__.js +0 -90
- package/out/concepts/JSBlock__.js.map +0 -1
- package/out/concepts/LogicItem__.d.ts +0 -117
- package/out/concepts/LogicItem__.js +0 -233
- package/out/concepts/LogicItem__.js.map +0 -1
- package/out/concepts/Logic__.d.ts +0 -610
- package/out/concepts/Logic__.js +0 -1203
- package/out/concepts/Logic__.js.map +0 -1
- package/out/concepts/MemberExpression__.d.ts +0 -65
- package/out/concepts/MemberExpression__.js +0 -238
- package/out/concepts/MemberExpression__.js.map +0 -1
- package/out/concepts/Module__.d.ts +0 -675
- package/out/concepts/Module__.js +0 -914
- package/out/concepts/Module__.js.map +0 -1
- package/out/concepts/Namespace__.d.ts +0 -986
- package/out/concepts/Namespace__.js +0 -1301
- package/out/concepts/Namespace__.js.map +0 -1
- package/out/concepts/NullLiteral__.d.ts +0 -23
- package/out/concepts/NullLiteral__.js +0 -73
- package/out/concepts/NullLiteral__.js.map +0 -1
- package/out/concepts/NumericLiteral__.d.ts +0 -53
- package/out/concepts/NumericLiteral__.js +0 -172
- package/out/concepts/NumericLiteral__.js.map +0 -1
- package/out/concepts/Param__.d.ts +0 -147
- package/out/concepts/Param__.js +0 -366
- package/out/concepts/Param__.js.map +0 -1
- package/out/concepts/Point__.d.ts +0 -30
- package/out/concepts/Point__.js +0 -75
- package/out/concepts/Point__.js.map +0 -1
- package/out/concepts/ProcessComponent__.d.ts +0 -218
- package/out/concepts/ProcessComponent__.js +0 -333
- package/out/concepts/ProcessComponent__.js.map +0 -1
- package/out/concepts/ProcessElement__.d.ts +0 -554
- package/out/concepts/ProcessElement__.js +0 -998
- package/out/concepts/ProcessElement__.js.map +0 -1
- package/out/concepts/ProcessOutcome__.d.ts +0 -30
- package/out/concepts/ProcessOutcome__.js +0 -87
- package/out/concepts/ProcessOutcome__.js.map +0 -1
- package/out/concepts/Process__.d.ts +0 -451
- package/out/concepts/Process__.js +0 -773
- package/out/concepts/Process__.js.map +0 -1
- package/out/concepts/QueryAggregateExpression__.d.ts +0 -50
- package/out/concepts/QueryAggregateExpression__.js +0 -144
- package/out/concepts/QueryAggregateExpression__.js.map +0 -1
- package/out/concepts/QueryFieldExpression__.d.ts +0 -48
- package/out/concepts/QueryFieldExpression__.js +0 -132
- package/out/concepts/QueryFieldExpression__.js.map +0 -1
- package/out/concepts/QueryFromExpression__.d.ts +0 -95
- package/out/concepts/QueryFromExpression__.js +0 -192
- package/out/concepts/QueryFromExpression__.js.map +0 -1
- package/out/concepts/QueryGroupByExpression__.d.ts +0 -45
- package/out/concepts/QueryGroupByExpression__.js +0 -139
- package/out/concepts/QueryGroupByExpression__.js.map +0 -1
- package/out/concepts/QueryJoinExpression__.d.ts +0 -182
- package/out/concepts/QueryJoinExpression__.js +0 -312
- package/out/concepts/QueryJoinExpression__.js.map +0 -1
- package/out/concepts/QueryLimitExpression__.d.ts +0 -56
- package/out/concepts/QueryLimitExpression__.js +0 -156
- package/out/concepts/QueryLimitExpression__.js.map +0 -1
- package/out/concepts/QueryOrderByExpression__.d.ts +0 -67
- package/out/concepts/QueryOrderByExpression__.js +0 -169
- package/out/concepts/QueryOrderByExpression__.js.map +0 -1
- package/out/concepts/QuerySelectExpression__.d.ts +0 -114
- package/out/concepts/QuerySelectExpression__.js +0 -203
- package/out/concepts/QuerySelectExpression__.js.map +0 -1
- package/out/concepts/Rect__.d.ts +0 -38
- package/out/concepts/Rect__.js +0 -89
- package/out/concepts/Rect__.js.map +0 -1
- package/out/concepts/Return__.d.ts +0 -131
- package/out/concepts/Return__.js +0 -340
- package/out/concepts/Return__.js.map +0 -1
- package/out/concepts/Role__.d.ts +0 -61
- package/out/concepts/Role__.js +0 -164
- package/out/concepts/Role__.js.map +0 -1
- package/out/concepts/Slot__.d.ts +0 -57
- package/out/concepts/Slot__.js +0 -114
- package/out/concepts/Slot__.js.map +0 -1
- package/out/concepts/SqlQueryComponent__.d.ts +0 -61
- package/out/concepts/SqlQueryComponent__.js +0 -177
- package/out/concepts/SqlQueryComponent__.js.map +0 -1
- package/out/concepts/Start__.d.ts +0 -23
- package/out/concepts/Start__.js +0 -71
- package/out/concepts/Start__.js.map +0 -1
- package/out/concepts/StringLiteral__.d.ts +0 -35
- package/out/concepts/StringLiteral__.js +0 -125
- package/out/concepts/StringLiteral__.js.map +0 -1
- package/out/concepts/StructureProperty__.d.ts +0 -124
- package/out/concepts/StructureProperty__.js +0 -324
- package/out/concepts/StructureProperty__.js.map +0 -1
- package/out/concepts/Structure__.d.ts +0 -250
- package/out/concepts/Structure__.js +0 -440
- package/out/concepts/Structure__.js.map +0 -1
- package/out/concepts/SwitchCase__.d.ts +0 -92
- package/out/concepts/SwitchCase__.js +0 -229
- package/out/concepts/SwitchCase__.js.map +0 -1
- package/out/concepts/SwitchStatement__.d.ts +0 -82
- package/out/concepts/SwitchStatement__.js +0 -175
- package/out/concepts/SwitchStatement__.js.map +0 -1
- package/out/concepts/Theme__.d.ts +0 -36
- package/out/concepts/Theme__.js +0 -86
- package/out/concepts/Theme__.js.map +0 -1
- package/out/concepts/Transactional__.d.ts +0 -76
- package/out/concepts/Transactional__.js +0 -151
- package/out/concepts/Transactional__.js.map +0 -1
- package/out/concepts/TypeAnnotation__.d.ts +0 -133
- package/out/concepts/TypeAnnotation__.js +0 -412
- package/out/concepts/TypeAnnotation__.js.map +0 -1
- package/out/concepts/TypeParam__.d.ts +0 -20
- package/out/concepts/TypeParam__.js +0 -57
- package/out/concepts/TypeParam__.js.map +0 -1
- package/out/concepts/UnaryExpression__.d.ts +0 -46
- package/out/concepts/UnaryExpression__.js +0 -166
- package/out/concepts/UnaryExpression__.js.map +0 -1
- package/out/concepts/Unparsed__.d.ts +0 -29
- package/out/concepts/Unparsed__.js +0 -88
- package/out/concepts/Unparsed__.js.map +0 -1
- package/out/concepts/UseComponent__.d.ts +0 -30
- package/out/concepts/UseComponent__.js +0 -75
- package/out/concepts/UseComponent__.js.map +0 -1
- package/out/concepts/ValidationRule__.d.ts +0 -94
- package/out/concepts/ValidationRule__.js +0 -254
- package/out/concepts/ValidationRule__.js.map +0 -1
- package/out/concepts/Variable__.d.ts +0 -130
- package/out/concepts/Variable__.js +0 -338
- package/out/concepts/Variable__.js.map +0 -1
- package/out/concepts/ViewComponent__.d.ts +0 -472
- package/out/concepts/ViewComponent__.js +0 -644
- package/out/concepts/ViewComponent__.js.map +0 -1
- package/out/concepts/ViewElement__.d.ts +0 -490
- package/out/concepts/ViewElement__.js +0 -1414
- package/out/concepts/ViewElement__.js.map +0 -1
- package/out/concepts/View__.d.ts +0 -683
- package/out/concepts/View__.js +0 -1333
- package/out/concepts/View__.js.map +0 -1
- package/out/concepts/WhileStatement__.d.ts +0 -95
- package/out/concepts/WhileStatement__.js +0 -208
- package/out/concepts/WhileStatement__.js.map +0 -1
- package/out/concepts/basics/stdlib/index.d.ts +0 -4
- package/out/concepts/basics/stdlib/index.js +0 -26
- package/out/concepts/basics/stdlib/index.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.auth.d.ts +0 -3
- package/out/concepts/basics/stdlib/nasl.auth.js +0 -50
- package/out/concepts/basics/stdlib/nasl.auth.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.browser.d.ts +0 -3
- package/out/concepts/basics/stdlib/nasl.browser.js +0 -41
- package/out/concepts/basics/stdlib/nasl.browser.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.collection.d.ts +0 -7
- package/out/concepts/basics/stdlib/nasl.collection.js +0 -83
- package/out/concepts/basics/stdlib/nasl.collection.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.configuration.d.ts +0 -3
- package/out/concepts/basics/stdlib/nasl.configuration.js +0 -25
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.core.d.ts +0 -3
- package/out/concepts/basics/stdlib/nasl.core.js +0 -15
- package/out/concepts/basics/stdlib/nasl.core.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.interface.d.ts +0 -7
- package/out/concepts/basics/stdlib/nasl.interface.js +0 -43
- package/out/concepts/basics/stdlib/nasl.interface.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.process.d.ts +0 -7
- package/out/concepts/basics/stdlib/nasl.process.js +0 -453
- package/out/concepts/basics/stdlib/nasl.process.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.ui.d.ts +0 -7
- package/out/concepts/basics/stdlib/nasl.ui.js +0 -824
- package/out/concepts/basics/stdlib/nasl.ui.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.util.d.ts +0 -3
- package/out/concepts/basics/stdlib/nasl.util.js +0 -1030
- package/out/concepts/basics/stdlib/nasl.util.js.map +0 -1
- package/out/concepts/basics/stdlib/nasl.validation.d.ts +0 -3
- package/out/concepts/basics/stdlib/nasl.validation.js +0 -561
- package/out/concepts/basics/stdlib/nasl.validation.js.map +0 -1
- package/out/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +0 -5
- package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +0 -26
- package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +0 -1
- package/out/concepts/basics/types/coreTypeList.d.ts +0 -2
- package/out/concepts/basics/types/coreTypeList.js +0 -18
- package/out/concepts/basics/types/coreTypeList.js.map +0 -1
- package/out/concepts/basics/types/index.d.ts +0 -13
- package/out/concepts/basics/types/index.js +0 -27
- package/out/concepts/basics/types/index.js.map +0 -1
- package/out/concepts/index.d.ts +0 -5
- package/out/concepts/index.js +0 -24
- package/out/concepts/index.js.map +0 -1
- package/out/concepts/index__.d.ts +0 -83
- package/out/concepts/index__.js +0 -100
- package/out/concepts/index__.js.map +0 -1
- package/out/config.d.ts +0 -42
- package/out/config.js +0 -71
- package/out/config.js.map +0 -1
- package/out/decorators/index.d.ts +0 -54
- package/out/decorators/index.js +0 -149
- package/out/decorators/index.js.map +0 -1
- package/out/enums/KEYWORDS.d.ts +0 -3
- package/out/enums/KEYWORDS.js +0 -1199
- package/out/enums/KEYWORDS.js.map +0 -1
- package/out/enums/LEVEL_NAME_MAP.d.ts +0 -26
- package/out/enums/LEVEL_NAME_MAP.js +0 -30
- package/out/enums/LEVEL_NAME_MAP.js.map +0 -1
- package/out/eventBus.d.ts +0 -3
- package/out/eventBus.js +0 -7
- package/out/eventBus.js.map +0 -1
- package/out/generator/compileComponent.d.ts +0 -11
- package/out/generator/compileComponent.js +0 -12
- package/out/generator/compileComponent.js.map +0 -1
- package/out/generator/genBundleFiles.d.ts +0 -44
- package/out/generator/genBundleFiles.js +0 -387
- package/out/generator/genBundleFiles.js.map +0 -1
- package/out/generator/genHash.d.ts +0 -7
- package/out/generator/genHash.js +0 -39
- package/out/generator/genHash.js.map +0 -1
- package/out/generator/genMetaData.d.ts +0 -36
- package/out/generator/genMetaData.js +0 -121
- package/out/generator/genMetaData.js.map +0 -1
- package/out/generator/index.d.ts +0 -5
- package/out/generator/index.js +0 -22
- package/out/generator/index.js.map +0 -1
- package/out/generator/styleReplacer.d.ts +0 -3
- package/out/generator/styleReplacer.js +0 -71
- package/out/generator/styleReplacer.js.map +0 -1
- package/out/index.d.ts +0 -11
- package/out/index.js +0 -53
- package/out/index.js.map +0 -1
- package/out/manager/diagnostic.d.ts +0 -38
- package/out/manager/diagnostic.js +0 -84
- package/out/manager/diagnostic.js.map +0 -1
- package/out/manager/history.d.ts +0 -0
- package/out/manager/history.js +0 -1
- package/out/manager/history.js.map +0 -1
- package/out/manager/problem.d.ts +0 -0
- package/out/manager/problem.js +0 -1
- package/out/manager/problem.js.map +0 -1
- package/out/server/createUiTs.d.ts +0 -8
- package/out/server/createUiTs.js +0 -204
- package/out/server/createUiTs.js.map +0 -1
- package/out/server/entity2LogicNamespace.d.ts +0 -10
- package/out/server/entity2LogicNamespace.js +0 -217
- package/out/server/entity2LogicNamespace.js.map +0 -1
- package/out/server/extendBaseNode.d.ts +0 -1
- package/out/server/extendBaseNode.js +0 -323
- package/out/server/extendBaseNode.js.map +0 -1
- package/out/server/getExtensionModules.d.ts +0 -3
- package/out/server/getExtensionModules.js +0 -20
- package/out/server/getExtensionModules.js.map +0 -1
- package/out/server/getFunctions.d.ts +0 -3
- package/out/server/getFunctions.js +0 -20
- package/out/server/getFunctions.js.map +0 -1
- package/out/server/getInterfaces.d.ts +0 -2
- package/out/server/getInterfaces.js +0 -48
- package/out/server/getInterfaces.js.map +0 -1
- package/out/server/getLogics.d.ts +0 -3
- package/out/server/getLogics.js +0 -210
- package/out/server/getLogics.js.map +0 -1
- package/out/server/getMemberIdentifier.d.ts +0 -22
- package/out/server/getMemberIdentifier.js +0 -459
- package/out/server/getMemberIdentifier.js.map +0 -1
- package/out/server/getProcessComponents.d.ts +0 -2
- package/out/server/getProcessComponents.js +0 -13
- package/out/server/getProcessComponents.js.map +0 -1
- package/out/server/getProcesses.d.ts +0 -33
- package/out/server/getProcesses.js +0 -565
- package/out/server/getProcesses.js.map +0 -1
- package/out/server/getScope.d.ts +0 -13
- package/out/server/getScope.js +0 -61
- package/out/server/getScope.js.map +0 -1
- package/out/server/getValidates.d.ts +0 -3
- package/out/server/getValidates.js +0 -14
- package/out/server/getValidates.js.map +0 -1
- package/out/server/index.d.ts +0 -3
- package/out/server/index.js +0 -33
- package/out/server/index.js.map +0 -1
- package/out/server/naslServer.d.ts +0 -136
- package/out/server/naslServer.js +0 -1733
- package/out/server/naslServer.js.map +0 -1
- package/out/server/process2LogicNamespace.d.ts +0 -26
- package/out/server/process2LogicNamespace.js +0 -97
- package/out/server/process2LogicNamespace.js.map +0 -1
- package/out/server/translator.d.ts +0 -24
- package/out/server/translator.js +0 -460
- package/out/server/translator.js.map +0 -1
- package/out/service/creator/add.configs.d.ts +0 -1
- package/out/service/creator/add.configs.js +0 -68
- package/out/service/creator/add.configs.js.map +0 -1
- package/out/service/creator/errHandles.d.ts +0 -18
- package/out/service/creator/errHandles.js +0 -65
- package/out/service/creator/errHandles.js.map +0 -1
- package/out/service/creator/index.d.ts +0 -1
- package/out/service/creator/index.js +0 -72
- package/out/service/creator/index.js.map +0 -1
- package/out/service/storage/api.d.ts +0 -18
- package/out/service/storage/api.js +0 -17
- package/out/service/storage/api.js.map +0 -1
- package/out/service/storage/index.d.ts +0 -2
- package/out/service/storage/index.js +0 -10
- package/out/service/storage/index.js.map +0 -1
- package/out/service/storage/init.d.ts +0 -13
- package/out/service/storage/init.js +0 -469
- package/out/service/storage/init.js.map +0 -1
- package/out/service/storage/jsoner.d.ts +0 -29
- package/out/service/storage/jsoner.js +0 -130
- package/out/service/storage/jsoner.js.map +0 -1
- package/out/service/storage/map.d.ts +0 -4
- package/out/service/storage/map.js +0 -54
- package/out/service/storage/map.js.map +0 -1
- package/out/service/storage/service.d.ts +0 -2
- package/out/service/storage/service.js +0 -10
- package/out/service/storage/service.js.map +0 -1
- package/out/service/storage/storagePoint.d.ts +0 -17
- package/out/service/storage/storagePoint.js +0 -76
- package/out/service/storage/storagePoint.js.map +0 -1
- package/out/templator/genCallComponentLogic.d.ts +0 -17
- package/out/templator/genCallComponentLogic.js +0 -30
- package/out/templator/genCallComponentLogic.js.map +0 -1
- package/out/templator/genCreateBlock.d.ts +0 -10
- package/out/templator/genCreateBlock.js +0 -327
- package/out/templator/genCreateBlock.js.map +0 -1
- package/out/templator/genCurdEditMultipleKeyBlock.d.ts +0 -2
- package/out/templator/genCurdEditMultipleKeyBlock.js +0 -475
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +0 -1
- package/out/templator/genCurdMultipleKeyBlock.d.ts +0 -3
- package/out/templator/genCurdMultipleKeyBlock.js +0 -672
- package/out/templator/genCurdMultipleKeyBlock.js.map +0 -1
- package/out/templator/genEditTableBlock.d.ts +0 -51
- package/out/templator/genEditTableBlock.js +0 -303
- package/out/templator/genEditTableBlock.js.map +0 -1
- package/out/templator/genEnumSelectBlock.d.ts +0 -10
- package/out/templator/genEnumSelectBlock.js +0 -23
- package/out/templator/genEnumSelectBlock.js.map +0 -1
- package/out/templator/genGetBlock.d.ts +0 -6
- package/out/templator/genGetBlock.js +0 -135
- package/out/templator/genGetBlock.js.map +0 -1
- package/out/templator/genGridViewBlock.d.ts +0 -55
- package/out/templator/genGridViewBlock.js +0 -368
- package/out/templator/genGridViewBlock.js.map +0 -1
- package/out/templator/genListViewBlock.d.ts +0 -19
- package/out/templator/genListViewBlock.js +0 -141
- package/out/templator/genListViewBlock.js.map +0 -1
- package/out/templator/genQueryComponent.d.ts +0 -34
- package/out/templator/genQueryComponent.js +0 -322
- package/out/templator/genQueryComponent.js.map +0 -1
- package/out/templator/genSelectBlock.d.ts +0 -34
- package/out/templator/genSelectBlock.js +0 -143
- package/out/templator/genSelectBlock.js.map +0 -1
- package/out/templator/genTableBlock.d.ts +0 -53
- package/out/templator/genTableBlock.js +0 -305
- package/out/templator/genTableBlock.js.map +0 -1
- package/out/templator/genUpdateBlock.d.ts +0 -6
- package/out/templator/genUpdateBlock.js +0 -368
- package/out/templator/genUpdateBlock.js.map +0 -1
- package/out/templator/index.d.ts +0 -16
- package/out/templator/index.js +0 -34
- package/out/templator/index.js.map +0 -1
- package/out/templator/utils.d.ts +0 -645
- package/out/templator/utils.js +0 -426
- package/out/templator/utils.js.map +0 -1
- package/out/test/fixtures/env.d.ts +0 -5
- package/out/test/fixtures/env.js +0 -20
- package/out/test/fixtures/env.js.map +0 -1
- package/out/test/integration/connect-create-file.d.ts +0 -1
- package/out/test/integration/connect-create-file.js +0 -39
- package/out/test/integration/connect-create-file.js.map +0 -1
- package/out/test/integration/connect-file.d.ts +0 -1
- package/out/test/integration/connect-file.js +0 -49
- package/out/test/integration/connect-file.js.map +0 -1
- package/out/test/units/baseTypes/Assignment.spec.d.ts +0 -1
- package/out/test/units/baseTypes/Assignment.spec.js +0 -43
- package/out/test/units/baseTypes/Assignment.spec.js.map +0 -1
- package/out/test/units/baseTypes/CallLogic.spec.d.ts +0 -1
- package/out/test/units/baseTypes/CallLogic.spec.js +0 -44
- package/out/test/units/baseTypes/CallLogic.spec.js.map +0 -1
- package/out/test/units/baseTypes/StringLiteral.spec.d.ts +0 -1
- package/out/test/units/baseTypes/StringLiteral.spec.js +0 -75
- package/out/test/units/baseTypes/StringLiteral.spec.js.map +0 -1
- package/out/test/units/baseTypes/new.spec.d.ts +0 -1
- package/out/test/units/baseTypes/new.spec.js +0 -37
- package/out/test/units/baseTypes/new.spec.js.map +0 -1
- package/out/test/units/common/Vertex.spec.d.ts +0 -1
- package/out/test/units/common/Vertex.spec.js +0 -22
- package/out/test/units/common/Vertex.spec.js.map +0 -1
- package/out/test/units/data/Entity.spec.d.ts +0 -1
- package/out/test/units/data/Entity.spec.js +0 -12
- package/out/test/units/data/Entity.spec.js.map +0 -1
- package/out/test/units/login.spec.d.ts +0 -1
- package/out/test/units/login.spec.js +0 -12
- package/out/test/units/login.spec.js.map +0 -1
- package/out/test/units/page/Block.spec.d.ts +0 -0
- package/out/test/units/page/Block.spec.js +0 -13
- package/out/test/units/page/Block.spec.js.map +0 -1
- package/out/test/units/page/Element.spec.d.ts +0 -1
- package/out/test/units/page/Element.spec.js +0 -44
- package/out/test/units/page/Element.spec.js.map +0 -1
- package/out/test/units/temp/temp.spec.d.ts +0 -1
- package/out/test/units/temp/temp.spec.js +0 -68
- package/out/test/units/temp/temp.spec.js.map +0 -1
- package/out/translator/index.d.ts +0 -47
- package/out/translator/index.js +0 -108
- package/out/translator/index.js.map +0 -1
- package/out/translator/lsp.d.ts +0 -45
- package/out/translator/lsp.js +0 -6
- package/out/translator/lsp.js.map +0 -1
- package/out/translator/tsp.d.ts +0 -12
- package/out/translator/tsp.js +0 -3
- package/out/translator/tsp.js.map +0 -1
- package/out/utils/index.d.ts +0 -37
- package/out/utils/index.js +0 -125
- package/out/utils/index.js.map +0 -1
- package/out/utils/logger.d.ts +0 -3
- package/out/utils/logger.js +0 -11
- package/out/utils/logger.js.map +0 -1
- package/out/utils/string.d.ts +0 -38
- package/out/utils/string.js +0 -95
- package/out/utils/string.js.map +0 -1
- package/out/utils/traverse.d.ts +0 -36
- package/out/utils/traverse.js +0 -132
- package/out/utils/traverse.js.map +0 -1
package/src/server/createUiTs.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Logic, TypeAnnotation, Param, LogicItem, NumericLiteral, BooleanLiteral, StringLiteral, Identifier, MemberExpression } from '..';
|
|
2
|
-
|
|
2
|
+
// @ts-ignore
|
|
3
|
+
import trigger from './events.yaml';
|
|
3
4
|
const naslStdlibMap: any = {
|
|
4
5
|
'nasl.core.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.core.ts').default,
|
|
5
6
|
'nasl.collection.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.collection.ts').default,
|
|
@@ -14,6 +15,26 @@ const naslStdlibMap: any = {
|
|
|
14
15
|
'nasl.validation.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.validation.ts').default,
|
|
15
16
|
'nasl.process.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.process.ts').default,
|
|
16
17
|
};
|
|
18
|
+
export let elementsEventsMap: { [componentTagEventName: string]: any} = {};
|
|
19
|
+
|
|
20
|
+
export function getAllComponentEventMap(allComponent: any) {
|
|
21
|
+
const eventsMap: { [componentTagEventName: string]: any} = {};
|
|
22
|
+
for (const i in allComponent) {
|
|
23
|
+
const item = allComponent[i];
|
|
24
|
+
if (item.events && Array.isArray(item.events)) {
|
|
25
|
+
item.events.forEach((eventItem: any) => {
|
|
26
|
+
const name = `${item.name}-${eventItem.name}`;
|
|
27
|
+
eventsMap[name] = eventItem;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
trigger.forEach((item: any) => {
|
|
32
|
+
eventsMap[item.name] = item;
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
elementsEventsMap = eventsMap;
|
|
36
|
+
return eventsMap;
|
|
37
|
+
}
|
|
17
38
|
|
|
18
39
|
export default function formatUiTs(allComponent: any) {
|
|
19
40
|
const indent = (tabSize: number) => ' '.repeat(tabSize * 2);
|
|
@@ -81,6 +102,7 @@ export default function formatUiTs(allComponent: any) {
|
|
|
81
102
|
return logic;
|
|
82
103
|
};
|
|
83
104
|
const elementsLogic: { [componentName: string]: Array<Logic> } = {};
|
|
105
|
+
|
|
84
106
|
let value = `namespace nasl.ui {
|
|
85
107
|
export class VueComponent {
|
|
86
108
|
}
|
|
@@ -106,7 +128,7 @@ export default function formatUiTs(allComponent: any) {
|
|
|
106
128
|
options?: {
|
|
107
129
|
[propname: string]: any,
|
|
108
130
|
bindAttr?: () => Array<any>,
|
|
109
|
-
slotDefault?: ()=> Array<any>,
|
|
131
|
+
slotDefault?: (scope: nasl.ui.ScopeOf<T>) => Array<any>,
|
|
110
132
|
}){super()}
|
|
111
133
|
}
|
|
112
134
|
export type GetItemTypeFromDataSource<T> = T extends nasl.collection.PageOf<infer U> | nasl.collection.List<infer U> | ((...args: any) => nasl.collection.PageOf<infer U> | nasl.collection.List<infer U>) ? U : never;
|
|
@@ -190,9 +212,11 @@ export default function formatUiTs(allComponent: any) {
|
|
|
190
212
|
value += '}\n';
|
|
191
213
|
// console.log(value);
|
|
192
214
|
// console.log(elementsLogic);
|
|
215
|
+
// const elementsEventsMap = getAllComponentEventMap(allComponent);
|
|
193
216
|
return {
|
|
194
217
|
code: value,
|
|
195
218
|
elementsLogic,
|
|
196
219
|
naslStdlibMap,
|
|
220
|
+
elementsEventsMap,
|
|
197
221
|
};
|
|
198
222
|
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
- name: click
|
|
2
|
+
title: 点击
|
|
3
|
+
description: 在元素上按下并释放任意鼠标按钮时触发。
|
|
4
|
+
params:
|
|
5
|
+
- name: $event
|
|
6
|
+
type: MouseEvent
|
|
7
|
+
description: 鼠标事件对象
|
|
8
|
+
schema:
|
|
9
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
10
|
+
- name: dblclick
|
|
11
|
+
title: 双击
|
|
12
|
+
description: 在元素上双击鼠标按钮时触发。
|
|
13
|
+
params:
|
|
14
|
+
- name: $event
|
|
15
|
+
type: MouseEvent
|
|
16
|
+
description: 鼠标事件对象
|
|
17
|
+
schema:
|
|
18
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
19
|
+
- name: contextmenu
|
|
20
|
+
title: 右键点击
|
|
21
|
+
description: 在右键菜单显示前触发。
|
|
22
|
+
params:
|
|
23
|
+
- name: $event
|
|
24
|
+
type: MouseEvent
|
|
25
|
+
description: 鼠标事件对象
|
|
26
|
+
schema:
|
|
27
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
28
|
+
- name: mousedown
|
|
29
|
+
title: 鼠标按下
|
|
30
|
+
description: 在元素上按下任意鼠标按钮时触发。
|
|
31
|
+
params:
|
|
32
|
+
- name: $event
|
|
33
|
+
type: MouseEvent
|
|
34
|
+
description: 鼠标事件对象
|
|
35
|
+
schema:
|
|
36
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
37
|
+
- name: mouseup
|
|
38
|
+
title: 鼠标释放
|
|
39
|
+
description: 在元素上释放任意鼠标按钮时触发。
|
|
40
|
+
params:
|
|
41
|
+
- name: $event
|
|
42
|
+
type: MouseEvent
|
|
43
|
+
description: 鼠标事件对象
|
|
44
|
+
schema:
|
|
45
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
46
|
+
- name: mouseenter
|
|
47
|
+
title: 鼠标移入
|
|
48
|
+
description: 鼠标移入元素时触发。
|
|
49
|
+
params:
|
|
50
|
+
- name: $event
|
|
51
|
+
type: MouseEvent
|
|
52
|
+
description: 鼠标事件对象
|
|
53
|
+
schema:
|
|
54
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
55
|
+
- name: mouseleave
|
|
56
|
+
title: 鼠标移出
|
|
57
|
+
description: 鼠标移出元素时触发。
|
|
58
|
+
params:
|
|
59
|
+
- name: $event
|
|
60
|
+
type: MouseEvent
|
|
61
|
+
description: 鼠标事件对象
|
|
62
|
+
schema:
|
|
63
|
+
$ref: "#/systemTypes/MouseEvent"
|
|
64
|
+
- name: focus
|
|
65
|
+
title: 获得焦点
|
|
66
|
+
description: 获得焦点时触发。
|
|
67
|
+
params:
|
|
68
|
+
- name: $event
|
|
69
|
+
type: FocusEvent
|
|
70
|
+
description: 焦点事件对象
|
|
71
|
+
schema:
|
|
72
|
+
$ref: "#/systemTypes/FocusEvent"
|
|
73
|
+
- name: blur
|
|
74
|
+
title: 失去焦点
|
|
75
|
+
description: 失去焦点时触发。
|
|
76
|
+
params:
|
|
77
|
+
- name: $event
|
|
78
|
+
type: FocusEvent
|
|
79
|
+
description: 焦点事件对象
|
|
80
|
+
schema:
|
|
81
|
+
$ref: "#/systemTypes/FocusEvent"
|
|
82
|
+
- name: created
|
|
83
|
+
title: 进入时
|
|
84
|
+
- name: mounted
|
|
85
|
+
title: 进入后
|
|
86
|
+
- name: updated
|
|
87
|
+
title: 更新时
|
|
88
|
+
- name: destroyed
|
|
89
|
+
title: 离开时
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseNode, CompletionProperty, App, Identifier, MemberExpression, Enum, NullLiteral, BooleanLiteral, Param, BindAttribute, LogicItem, TypeAnnotation } from '..';
|
|
1
|
+
import { BaseNode, CompletionProperty, App, Identifier, MemberExpression, Enum, NullLiteral, BooleanLiteral, Param, BindAttribute, LogicItem, TypeAnnotation, StructureProperty, Entity, Structure, EntityProperty } from '..';
|
|
2
2
|
import naslServer from './naslServer';
|
|
3
|
+
import { getNaslNodeByNodeCallee } from '../automate/engine/utils';
|
|
3
4
|
|
|
4
5
|
interface variableItem {
|
|
5
6
|
text: string;
|
|
@@ -10,8 +11,10 @@ interface variableItem {
|
|
|
10
11
|
expression: MemberExpression | Identifier;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* 把ts返回的详细信息截取成一个类型字符串
|
|
16
|
+
* @param displayParts ts返回的key value
|
|
17
|
+
* // 0: {text: 'let', kind: 'keyword'}
|
|
15
18
|
// 1: {text: ' ', kind: 'space'}
|
|
16
19
|
// 2: {text: 'bindRoles', kind: 'text'}
|
|
17
20
|
// 3: {text: ':', kind: 'punctuation'}
|
|
@@ -19,14 +22,23 @@ function getCompletionDetailType(displayParts: Array<{ text: string; kind: strin
|
|
|
19
22
|
// 5: {text: 'roles', kind: 'moduleName'}
|
|
20
23
|
// 6: {text: '.', kind: 'punctuation'}
|
|
21
24
|
// 7: {text: 'DEV_AdminRole', kind: 'enumName'}
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
* @returns type roles.DEV_AdminRole
|
|
26
|
+
*/
|
|
27
|
+
function formatTs2TypeString(displayParts: Array<{ text: string; kind: string }>) {
|
|
24
28
|
let str = '';
|
|
25
29
|
displayParts.forEach((item) => {
|
|
26
30
|
str += item.text;
|
|
27
31
|
});
|
|
28
32
|
const strTypes = str.split(': ');
|
|
29
33
|
const type = strTypes[1];
|
|
34
|
+
return type;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 把当前类型转成typeAnnotation
|
|
38
|
+
* @param type app
|
|
39
|
+
* @returns typeAnnotation
|
|
40
|
+
*/
|
|
41
|
+
export function getCompletionDetailType(type: string): TypeAnnotation {
|
|
30
42
|
let typeAnnotation;
|
|
31
43
|
try {
|
|
32
44
|
if (type.includes('<') && type.includes('>')) {
|
|
@@ -100,7 +112,24 @@ function createType2Annotation(type: string): TypeAnnotation {
|
|
|
100
112
|
}
|
|
101
113
|
return typeAnnotation;
|
|
102
114
|
}
|
|
115
|
+
export function getPlatformType(tsType: string): string {
|
|
116
|
+
const namespacePrefix = ['app', 'extensions', 'apis', 'components', 'nasl'];
|
|
117
|
+
if (tsType === 'String') {
|
|
118
|
+
return 'nasl.core.String';
|
|
119
|
+
} else if (tsType === 'Boolean') {
|
|
120
|
+
return 'nasl.core.Boolean';
|
|
121
|
+
}
|
|
103
122
|
|
|
123
|
+
const strTypes = tsType.split('.');
|
|
124
|
+
if (strTypes.length) {
|
|
125
|
+
const first = strTypes[0];
|
|
126
|
+
// 如果不是这几个前缀就加一个namespace
|
|
127
|
+
if (!namespacePrefix.includes(first)) {
|
|
128
|
+
return 'app.' + tsType;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return tsType;
|
|
132
|
+
}
|
|
104
133
|
/**
|
|
105
134
|
* 把要返回去的数据做一下排序
|
|
106
135
|
* @param result 要返回数据
|
|
@@ -139,22 +168,97 @@ function sortFirstVariableData(result: CompletionProperty[], node: BaseNode) {
|
|
|
139
168
|
newResult.push(...result);
|
|
140
169
|
return newResult;
|
|
141
170
|
}
|
|
171
|
+
export function isNoChildType(type: String) {
|
|
172
|
+
return type?.startsWith('nasl.core') || type?.startsWith('app.enums');
|
|
173
|
+
}
|
|
174
|
+
function findNode(typeKey: string, node: BaseNode) {
|
|
175
|
+
let newType: Structure | Entity;
|
|
176
|
+
if (typeKey.startsWith('nasl.') && typeKey.includes('<')) {
|
|
177
|
+
const findGenericsIndex = typeKey.indexOf('<');
|
|
178
|
+
typeKey = typeKey.substring(0, findGenericsIndex);
|
|
179
|
+
const typeIndex = typeKey.lastIndexOf('.');
|
|
180
|
+
newType = getNaslNodeByNodeCallee(typeKey.substring(0, typeIndex), typeKey.substring(typeIndex + 1, typeKey.length));
|
|
181
|
+
} else if (typeKey.startsWith('nasl.')) {
|
|
182
|
+
const typeIndex = typeKey.lastIndexOf('.');
|
|
183
|
+
newType = getNaslNodeByNodeCallee(typeKey.substring(0, typeIndex), typeKey.substring(typeIndex + 1, typeKey.length));
|
|
184
|
+
} else {
|
|
185
|
+
newType = (node as Identifier)?.app?.findNodeByCompleteName(typeKey);
|
|
186
|
+
}
|
|
187
|
+
return newType;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* 获取下一级的节点进行递归
|
|
192
|
+
* @param typeKey 当前节点的类型,主要为了取出内部的 T中的实际类型
|
|
193
|
+
* @param item 当前节点的内容
|
|
194
|
+
* @param parent 父级节点的内容
|
|
195
|
+
* @param node 获取变量框的位置
|
|
196
|
+
*/
|
|
197
|
+
export function nextFindTypeChild(typeKey: string, item: any, parent: any, node: BaseNode) {
|
|
198
|
+
// 有一个当前树分支的全部节点的node map,用作防止数据无限递归,只保留3层
|
|
199
|
+
const nodeMap = parent ? parent.nodeMap : new Map();
|
|
200
|
+
item.nodeMap = nodeMap;
|
|
201
|
+
const newType = findNode(typeKey, node);
|
|
202
|
+
if (newType?.properties && newType.properties.length) {
|
|
203
|
+
// 处理泛型的内容要取到值
|
|
204
|
+
const StructureJson = newType.toJSON();
|
|
205
|
+
const newStructure = new Structure(StructureJson);
|
|
206
|
+
newStructure.properties.forEach((item: StructureProperty | EntityProperty) => {
|
|
207
|
+
const itemType = item?.typeAnnotation?.typeKey;
|
|
208
|
+
if (itemType === 'T' && /\<([^()]+)\>/g.exec(typeKey)) {
|
|
209
|
+
const newTypes = /\<([^()]+)\>/g.exec(typeKey);
|
|
210
|
+
// 找到当前原来的类型
|
|
211
|
+
const contentType = getPlatformType(newTypes[1]);
|
|
212
|
+
const typeNamespace = contentType.substring(0, contentType.lastIndexOf('.'));
|
|
213
|
+
const typeName = contentType.substring(contentType.lastIndexOf('.') + 1, contentType.length);
|
|
214
|
+
item.typeAnnotation = new TypeAnnotation({
|
|
215
|
+
typeKind: 'reference',
|
|
216
|
+
typeNamespace,
|
|
217
|
+
typeName,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
const index = nodeMap.get(newType) || 0;
|
|
222
|
+
if (index) {
|
|
223
|
+
nodeMap.set(newType, index + 1);
|
|
224
|
+
} else {
|
|
225
|
+
nodeMap.set(newType, 1);
|
|
226
|
+
}
|
|
227
|
+
// 最多保留3层
|
|
228
|
+
if (index < 3) {
|
|
229
|
+
item.children = formatVariableData(newStructure.properties, node, item);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
142
233
|
// 格式化变量数据
|
|
143
234
|
export function formatVariableData(data: unknown | variableItem[], node: BaseNode, parent?: any) {
|
|
144
235
|
if (Array.isArray(data)) {
|
|
145
236
|
let result = data.map((item) => {
|
|
146
|
-
|
|
147
|
-
item.value = parent ? `${parent.value}.${item.text}` : item.text;
|
|
148
|
-
item.name = item.text;
|
|
237
|
+
item.children = [];
|
|
149
238
|
// 当前结构的typeAnnotation
|
|
150
|
-
|
|
239
|
+
let typeAnnotation;
|
|
240
|
+
// 当前的类型如 app.entitys.entity1 nasl.core.String
|
|
241
|
+
let typeKey: string;
|
|
242
|
+
|
|
243
|
+
if (item.completionDetail) {
|
|
244
|
+
// 当前节点的完整类型,主要是在有T的内容使用 nasl.list<Enum1> 内部匹配内容给里面子集的T赋值类型
|
|
245
|
+
const currentType: string = formatTs2TypeString(item.completionDetail.displayParts as Array<{ text: string; kind: string }>);
|
|
246
|
+
typeAnnotation = getCompletionDetailType(currentType);
|
|
247
|
+
typeKey = getPlatformType(currentType);
|
|
248
|
+
} else if (item instanceof StructureProperty) {
|
|
249
|
+
typeKey = item?.typeAnnotation?.typeKey;
|
|
250
|
+
}
|
|
151
251
|
// 如果没有父节点就是Identifier
|
|
152
252
|
if (!parent) {
|
|
253
|
+
// value需要拼接生成
|
|
254
|
+
item.value = parent ? `${parent.value}.${item.text}` : item.text;
|
|
255
|
+
item.name = item.text;
|
|
153
256
|
const identifier = new Identifier({ name: item.name });
|
|
154
257
|
// 携带上当前的类型
|
|
155
258
|
identifier.typeAnnotation = typeAnnotation;
|
|
156
259
|
item.expression = identifier;
|
|
157
260
|
} else {
|
|
261
|
+
item.value = `${parent.value}.${item.name}`;
|
|
158
262
|
const memberExpression = new MemberExpression({
|
|
159
263
|
object: parent.expression,
|
|
160
264
|
property: new Identifier({ name: item.name }),
|
|
@@ -163,19 +267,18 @@ export function formatVariableData(data: unknown | variableItem[], node: BaseNod
|
|
|
163
267
|
memberExpression.typeAnnotation = typeAnnotation;
|
|
164
268
|
item.expression = memberExpression;
|
|
165
269
|
}
|
|
166
|
-
|
|
167
|
-
|
|
270
|
+
// 如果有类型而且类型不是没有子集的类型,就把他当前的类型拿到
|
|
271
|
+
if (typeKey && !isNoChildType(typeKey)) {
|
|
272
|
+
nextFindTypeChild(typeKey, item, parent, node);
|
|
168
273
|
}
|
|
274
|
+
const completionProperty = new CompletionProperty(item);
|
|
169
275
|
if (!parent) {
|
|
170
|
-
const completionProperty = new CompletionProperty(item);
|
|
171
276
|
// 变量 param return 在这里添加图标
|
|
172
277
|
completionProperty.icon = getNodeiconFromLogic(completionProperty, node);
|
|
173
|
-
return completionProperty;
|
|
174
278
|
} else {
|
|
175
|
-
const completionProperty = new CompletionProperty(item);
|
|
176
279
|
completionProperty.icon = 'refProperty';
|
|
177
|
-
return completionProperty;
|
|
178
280
|
}
|
|
281
|
+
return completionProperty;
|
|
179
282
|
});
|
|
180
283
|
|
|
181
284
|
/**
|
|
@@ -430,19 +533,9 @@ export function getEnumsIdentifier(node: BaseNode): CompletionProperty[] {
|
|
|
430
533
|
// 获取变量
|
|
431
534
|
export async function getVariableIdentifier(node: BaseNode): Promise<CompletionProperty[]> {
|
|
432
535
|
let completionData: CompletionProperty[] = [new CompletionProperty({})];
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
const completion = (await naslServer.getValueSelectCompletion(node, value)) as variableItem[];
|
|
437
|
-
completionData = formatVariableData(completion, node);
|
|
438
|
-
} else {
|
|
439
|
-
const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
|
|
440
|
-
completionData = formatVariableData(nextCompletion, node);
|
|
441
|
-
}
|
|
442
|
-
} else {
|
|
443
|
-
const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
|
|
444
|
-
completionData = formatVariableData(nextCompletion, node);
|
|
445
|
-
}
|
|
536
|
+
// 只获取第一层内容
|
|
537
|
+
const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
|
|
538
|
+
completionData = formatVariableData(nextCompletion, node);
|
|
446
539
|
return completionData;
|
|
447
540
|
}
|
|
448
541
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Constant from '@nasl/concepts/Constant__';
|
|
2
2
|
import { CompletionProperty, Process, ProcessElement, Namespace, Logic, TypeAnnotation, Return, Variable, StructureProperty, Param, Identifier, MemberExpression, LogicItem, App, BaseNode, Structure, Entity, EntityProperty } from '..';
|
|
3
3
|
import { getNodeByNodeCallee } from '../automate/engine/utils';
|
|
4
|
+
import { isNoChildType, nextFindTypeChild } from './getMemberIdentifier';
|
|
4
5
|
function alphaUpper(name: string) {
|
|
5
6
|
if (!name) {
|
|
6
7
|
return '';
|
|
@@ -250,26 +251,26 @@ export function genCompletionProperty(prefix: string[] = []):(v: Variable | Para
|
|
|
250
251
|
if (t.length) {
|
|
251
252
|
prevalue = `${t.join('.')}.`;
|
|
252
253
|
}
|
|
253
|
-
const
|
|
254
|
-
const
|
|
254
|
+
const noChildType = isNoChildType(v.typeAnnotation.typeKey);
|
|
255
|
+
const item = {
|
|
255
256
|
expression: m || p,
|
|
256
|
-
noFurther: !hasChild,
|
|
257
257
|
name: v.name,
|
|
258
258
|
value: prevalue + v.name,
|
|
259
|
+
};
|
|
259
260
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
cp.icon = v.concept;
|
|
263
|
-
|
|
264
|
-
if (hasChild) {
|
|
265
|
-
cp.children = [new CompletionProperty()];
|
|
261
|
+
if (!noChildType) {
|
|
262
|
+
nextFindTypeChild(v.typeAnnotation.typeKey, item, null, v);
|
|
266
263
|
}
|
|
264
|
+
|
|
265
|
+
const cp = new CompletionProperty(item);
|
|
266
|
+
console.log(cp.value, v);
|
|
267
|
+
cp.icon = v.concept;
|
|
267
268
|
return cp;
|
|
268
269
|
};
|
|
269
270
|
}
|
|
270
271
|
|
|
271
|
-
export function getPreviousTask(node: ProcessElement) {
|
|
272
|
-
const process = node.process;
|
|
272
|
+
export function getPreviousTask(node: ProcessElement, nodePorcess?: Process) {
|
|
273
|
+
const process = node.process || nodePorcess;
|
|
273
274
|
const elems = process.elements;
|
|
274
275
|
const elements: ProcessElement[] = [];
|
|
275
276
|
const visitedMap = new WeakMap();
|
|
@@ -296,18 +297,19 @@ export function getPreviousTask(node: ProcessElement) {
|
|
|
296
297
|
}
|
|
297
298
|
|
|
298
299
|
export function getProcessVariableSuggestions(node: Logic, abandonConstant: boolean = false): CompletionProperty {
|
|
299
|
-
if (!node.processElement) {
|
|
300
|
-
|
|
301
|
-
}
|
|
302
|
-
|
|
300
|
+
// if (!node.processElement) {
|
|
301
|
+
// return;
|
|
302
|
+
// }
|
|
303
|
+
//流程下的callback没有processElement
|
|
304
|
+
const tempPorcessEle = new ProcessElement({});
|
|
305
|
+
const processElem = node.processElement || tempPorcessEle;
|
|
303
306
|
const process = node.process;
|
|
304
307
|
|
|
305
|
-
const elements: ProcessElement[] = getPreviousTask(processElem);
|
|
308
|
+
const elements: ProcessElement[] = getPreviousTask(processElem, process);
|
|
306
309
|
const prevtasks = elements.map((us) => {
|
|
307
310
|
const cp = new CompletionProperty({
|
|
308
311
|
name: us.name,
|
|
309
312
|
value: us.name,
|
|
310
|
-
noFurther: true,
|
|
311
313
|
children: [
|
|
312
314
|
...us.returns.map(genCompletionProperty([process.name, us.name])),
|
|
313
315
|
...(abandonConstant ? [] : us.constants.map(genCompletionProperty([process.name, us.name]))),
|
|
@@ -321,7 +323,6 @@ export function getProcessVariableSuggestions(node: Logic, abandonConstant: bool
|
|
|
321
323
|
const processVariables = new CompletionProperty({
|
|
322
324
|
name: process.name,
|
|
323
325
|
value: process.name,
|
|
324
|
-
noFurther: true,
|
|
325
326
|
children: [
|
|
326
327
|
...process.params.map(genCompletionProperty([process.name])),
|
|
327
328
|
...process.returns.map(genCompletionProperty([process.name])),
|
|
@@ -335,7 +336,6 @@ export function getProcessVariableSuggestions(node: Logic, abandonConstant: bool
|
|
|
335
336
|
name: processElem.name,
|
|
336
337
|
value: processElem.name,
|
|
337
338
|
icon: processElem.type,
|
|
338
|
-
noFurther: true,
|
|
339
339
|
children: processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
|
|
340
340
|
});
|
|
341
341
|
scopeVariable.isProcess = true;
|
|
@@ -344,27 +344,33 @@ export function getProcessVariableSuggestions(node: Logic, abandonConstant: bool
|
|
|
344
344
|
}
|
|
345
345
|
|
|
346
346
|
if (processElem.type === 'UserTask') {
|
|
347
|
+
// 任务完成时可以拿到该任务的输出参数
|
|
348
|
+
let returns: CompletionProperty[] = [];
|
|
349
|
+
if (node.logic && node.logic.upperNode.name === 'OnClose') {
|
|
350
|
+
returns = processElem.returns.map(genCompletionProperty([process.name, processElem.name]));
|
|
351
|
+
}
|
|
347
352
|
const scopeVariable = new CompletionProperty({
|
|
348
353
|
name: processElem.name,
|
|
349
354
|
value: processElem.name,
|
|
350
355
|
icon: processElem.type,
|
|
351
|
-
|
|
352
|
-
|
|
356
|
+
children: [
|
|
357
|
+
...returns,
|
|
358
|
+
...processElem.constants.map(genCompletionProperty([process.name, processElem.name])),
|
|
359
|
+
],
|
|
353
360
|
});
|
|
354
361
|
scopeVariable.isProcess = true;
|
|
355
362
|
scopeVariable.icon = processElem.type;
|
|
356
363
|
processVariables.children.push(scopeVariable);
|
|
357
364
|
}
|
|
358
|
-
if(processElem.type === 'AutoTask') {
|
|
365
|
+
if (processElem.type === 'AutoTask') {
|
|
359
366
|
const scopeVariable = new CompletionProperty({
|
|
360
367
|
name: processElem.name,
|
|
361
368
|
value: processElem.name,
|
|
362
369
|
icon: processElem.type,
|
|
363
|
-
noFurther: true,
|
|
364
370
|
children: [
|
|
365
371
|
...processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
|
|
366
372
|
...processElem.returns.map(genCompletionProperty([process.name, processElem.name])),
|
|
367
|
-
]
|
|
373
|
+
],
|
|
368
374
|
});
|
|
369
375
|
scopeVariable.isProcess = true;
|
|
370
376
|
scopeVariable.icon = processElem.type;
|
|
@@ -457,7 +463,6 @@ export function getProcessVariableSuggestionsAll(node: ProcessElement) {
|
|
|
457
463
|
const cp = new CompletionProperty({
|
|
458
464
|
name: us.name,
|
|
459
465
|
value: us.name,
|
|
460
|
-
noFurther: true,
|
|
461
466
|
children: [
|
|
462
467
|
...us.returns.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], [])),
|
|
463
468
|
...us.constants.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], [])),
|
|
@@ -472,7 +477,6 @@ export function getProcessVariableSuggestionsAll(node: ProcessElement) {
|
|
|
472
477
|
const processVariables = new CompletionProperty({
|
|
473
478
|
name: process.name,
|
|
474
479
|
value: process.name,
|
|
475
|
-
noFurther: true,
|
|
476
480
|
children: [
|
|
477
481
|
...process.params.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
|
|
478
482
|
...process.returns.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
|
|
@@ -487,7 +491,6 @@ export function getProcessVariableSuggestionsAll(node: ProcessElement) {
|
|
|
487
491
|
name: processElem.name,
|
|
488
492
|
value: processElem.name,
|
|
489
493
|
icon: processElem.type,
|
|
490
|
-
noFurther: true,
|
|
491
494
|
children: processElem.variables.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
|
|
492
495
|
});
|
|
493
496
|
scopeVariable.expanded = true;
|
|
@@ -501,7 +504,6 @@ export function getProcessVariableSuggestionsAll(node: ProcessElement) {
|
|
|
501
504
|
name: processElem.name,
|
|
502
505
|
value: processElem.name,
|
|
503
506
|
icon: processElem.type,
|
|
504
|
-
noFurther: true,
|
|
505
507
|
children: processElem.constants.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
|
|
506
508
|
});
|
|
507
509
|
scopeVariable.expanded = true;
|
|
@@ -514,7 +516,6 @@ export function getProcessVariableSuggestionsAll(node: ProcessElement) {
|
|
|
514
516
|
name: processElem.name,
|
|
515
517
|
value: processElem.name,
|
|
516
518
|
icon: processElem.type,
|
|
517
|
-
noFurther: true,
|
|
518
519
|
children: [
|
|
519
520
|
...processElem.variables.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
|
|
520
521
|
...processElem.returns.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
|
package/src/server/index.ts
CHANGED
|
@@ -10,9 +10,11 @@ import {
|
|
|
10
10
|
getGlobalVariableIdentifier,
|
|
11
11
|
getLiteralsIdentifier,
|
|
12
12
|
getSelectNextCompletionData,
|
|
13
|
+
getCompletionDetailType,
|
|
13
14
|
} from './getMemberIdentifier';
|
|
14
15
|
import naslServer from './naslServer';
|
|
15
16
|
import './extendBaseNode';
|
|
17
|
+
import { getAllComponentEventMap } from './createUiTs';
|
|
16
18
|
|
|
17
19
|
const server: any = {
|
|
18
20
|
...naslServer,
|
|
@@ -31,5 +33,7 @@ const server: any = {
|
|
|
31
33
|
getEnumsIdentifier,
|
|
32
34
|
getGlobalVariableIdentifier,
|
|
33
35
|
getLiteralsIdentifier,
|
|
36
|
+
getAllComponentEventMap,
|
|
37
|
+
getCompletionDetailType,
|
|
34
38
|
};
|
|
35
39
|
export default server;
|
package/src/server/naslServer.ts
CHANGED
|
@@ -56,6 +56,7 @@ import { DiagnosticRecord, Diagnostic, default as diagnosticManager } from '../m
|
|
|
56
56
|
import formatUiTs from './createUiTs';
|
|
57
57
|
import { primitiveTypeList } from '../concepts/basics/types/coreTypeList';
|
|
58
58
|
import { traverse } from '../utils';
|
|
59
|
+
import { getPlatformType } from './getMemberIdentifier';
|
|
59
60
|
|
|
60
61
|
const EmbeddedTSFileLineMap: { [name: string]: number } = {
|
|
61
62
|
Entity: 3,
|
|
@@ -433,7 +434,13 @@ const naslServer = {
|
|
|
433
434
|
return [{ title: '基础类型', children: [primitiveTypeList[4]] }];
|
|
434
435
|
}
|
|
435
436
|
},
|
|
436
|
-
|
|
437
|
+
/**
|
|
438
|
+
* 获取表单的dataschema类型
|
|
439
|
+
* @param node 当前表单节点
|
|
440
|
+
* @param allType 是不是需要全部类型 默认不要
|
|
441
|
+
* @returns 全部类型的str 或者 最后一个.后的内容
|
|
442
|
+
*/
|
|
443
|
+
async getDataSchemaType(node: BaseNode, allType = false) {
|
|
437
444
|
if (!(node instanceof ViewElement))
|
|
438
445
|
return;
|
|
439
446
|
const { currentSource, fileNode } = naslServer.getCurrentSource(node);
|
|
@@ -445,13 +452,27 @@ const naslServer = {
|
|
|
445
452
|
if (quickInfo.responseRequired) {
|
|
446
453
|
const displayString = quickInfo?.response?.displayString || '';
|
|
447
454
|
const flag = displayString.includes('<') && displayString.includes('>');
|
|
455
|
+
const types = /\<([^()]+)\>/g.exec(displayString);
|
|
456
|
+
let typeStr = types[1];
|
|
448
457
|
if (flag) {
|
|
449
458
|
let str = '';
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
459
|
+
// 取出T的值
|
|
460
|
+
typeStr = getPlatformType(typeStr);
|
|
461
|
+
// 如果要全量的内容
|
|
462
|
+
if (allType) {
|
|
463
|
+
return typeStr;
|
|
464
|
+
}
|
|
465
|
+
// 取出剩下的剩下的类型的最后一项
|
|
466
|
+
if (/\<([^()]+)\>/g.exec(typeStr)) {
|
|
467
|
+
str = typeStr;
|
|
468
|
+
} else if (typeStr.includes('.')) {
|
|
469
|
+
const strs = typeStr.split('.');
|
|
470
|
+
const type = strs[strs.length - 1];
|
|
471
|
+
str = type;
|
|
472
|
+
} else {
|
|
473
|
+
str = typeStr;
|
|
454
474
|
}
|
|
475
|
+
str = str === 'any' || str === 'unknown' || str === 'never' ? '' : str;
|
|
455
476
|
return str;
|
|
456
477
|
}
|
|
457
478
|
}
|
|
@@ -498,7 +519,20 @@ const naslServer = {
|
|
|
498
519
|
// 先获取原来的节点先清除一下之前有异常的节点,下面重新赋值
|
|
499
520
|
const oldRecord = diagnosticManager.getRecord(record.id);
|
|
500
521
|
oldRecord?.semanticDiagnostics.forEach((item) => {
|
|
501
|
-
|
|
522
|
+
if (item.node) {
|
|
523
|
+
item.node.tsErrorDetail = undefined;
|
|
524
|
+
// 如果logic中有报错就把标识置为true
|
|
525
|
+
if ((item.node as any).logic) {
|
|
526
|
+
(item.node as any).logic.haveError = false;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
|
|
531
|
+
// 清空一些状态
|
|
532
|
+
oldRecord?.suggestionDiagnostics.forEach((item) => {
|
|
533
|
+
if (item.node && item.node instanceof Logic) {
|
|
534
|
+
item.node.isSmpty = false;
|
|
535
|
+
}
|
|
502
536
|
});
|
|
503
537
|
// 语义诊断
|
|
504
538
|
if (isChangeInterface) {
|
|
@@ -522,11 +556,10 @@ const naslServer = {
|
|
|
522
556
|
// // logic在for循环中,不展示any提示
|
|
523
557
|
// record.suggestionDiagnostics = record.suggestionDiagnostics.filter((item) => !item.text.includes(`implicitly has an 'any' type, but a better type may be inferred from usage.`));
|
|
524
558
|
// }
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
// 语法诊断暂时不需要
|
|
559
|
+
record.suggestionDiagnostics = record.suggestionDiagnostics
|
|
560
|
+
.filter((item) => { return [`'$LogicEmpty' is declared but its value is never read.`].includes(item.text); })
|
|
561
|
+
.map((diag) => this._resolveDiagnostic(diag as unknown as tsProtocol.DiagnosticWithFileName, node as FileNode))
|
|
562
|
+
.filter((diag) => !!diag);
|
|
530
563
|
});
|
|
531
564
|
|
|
532
565
|
return records;
|
|
@@ -1265,8 +1298,9 @@ const naslServer = {
|
|
|
1265
1298
|
App.emit('collect:start', {
|
|
1266
1299
|
actionMsg: '增加逻辑参数',
|
|
1267
1300
|
});
|
|
1301
|
+
const index = node.getIndexOfParent();
|
|
1268
1302
|
node.create({
|
|
1269
|
-
index
|
|
1303
|
+
index,
|
|
1270
1304
|
parentNode: parantNode,
|
|
1271
1305
|
parentKey: node.parentKey,
|
|
1272
1306
|
});
|