@lcap/nasl 3.3.0-beta.0 → 3.4.0-alpha.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/bak/translator.js +5 -8
- package/out/bak/translator.js.map +1 -1
- package/out/breakpoint/generator/AfterStartNode.js +1 -2
- package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
- package/out/breakpoint/generator/BeforeEndNode.js +1 -2
- package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
- package/out/breakpoint/generator/BreakpointNode.js +9 -30
- package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
- package/out/breakpoint/shared/constants.d.ts +0 -1
- package/out/breakpoint/shared/constants.js +1 -7
- package/out/breakpoint/shared/constants.js.map +1 -1
- package/out/breakpoint/shared/utils.d.ts +1 -3
- package/out/breakpoint/shared/utils.js +4 -25
- package/out/breakpoint/shared/utils.js.map +1 -1
- package/out/common/BaseNode.d.ts +8 -21
- package/out/common/BaseNode.js +69 -115
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/Command.js +1 -6
- package/out/common/Command.js.map +1 -1
- package/out/common/EventEmitter.d.ts +1 -1
- package/out/common/EventEmitter.js +3 -1
- package/out/common/EventEmitter.js.map +1 -1
- package/out/common/classMap.d.ts +4 -0
- package/out/common/classMap.js +5 -0
- package/out/common/classMap.js.map +1 -0
- package/out/common/index.d.ts +1 -0
- package/out/common/index.js +1 -0
- package/out/common/index.js.map +1 -1
- package/out/concepts/Abort__.d.ts +2 -3
- package/out/concepts/Abort__.js +18 -15
- package/out/concepts/Abort__.js.map +1 -1
- package/out/concepts/Anchor__.d.ts +3 -3
- package/out/concepts/Anchor__.js +35 -18
- package/out/concepts/Anchor__.js.map +1 -1
- package/out/concepts/AnonymousFunction__.d.ts +3 -3
- package/out/concepts/AnonymousFunction__.js +53 -29
- package/out/concepts/AnonymousFunction__.js.map +1 -1
- package/out/concepts/App__.d.ts +157 -160
- package/out/concepts/App__.js +80 -106
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +3 -3
- package/out/concepts/Argument__.js +42 -22
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +2 -3
- package/out/concepts/Assignee__.js +21 -19
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/AssignmentLine__.d.ts +2 -3
- package/out/concepts/AssignmentLine__.js +17 -15
- package/out/concepts/AssignmentLine__.js.map +1 -1
- package/out/concepts/Assignment__.d.ts +3 -3
- package/out/concepts/Assignment__.js +42 -34
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/Attribute__.d.ts +2 -3
- package/out/concepts/Attribute__.js +28 -36
- package/out/concepts/Attribute__.js.map +1 -1
- package/out/concepts/AuthInterface__.d.ts +3 -4
- package/out/concepts/AuthInterface__.js +17 -16
- package/out/concepts/AuthInterface__.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.d.ts +3 -4
- package/out/concepts/AuthLogicForCallInterface__.js +27 -37
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/AuthLogic__.d.ts +3 -4
- package/out/concepts/AuthLogic__.js +19 -18
- package/out/concepts/AuthLogic__.js.map +1 -1
- package/out/concepts/BackendVariable__.d.ts +7 -8
- package/out/concepts/BackendVariable__.js +34 -39
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/Backend__.d.ts +31 -32
- package/out/concepts/Backend__.js +22 -23
- package/out/concepts/Backend__.js.map +1 -1
- package/out/concepts/BatchAssignment__.d.ts +3 -3
- package/out/concepts/BatchAssignment__.js +54 -46
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.d.ts +3 -3
- package/out/concepts/BinaryExpression__.js +62 -30
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +9 -12
- package/out/concepts/BindAttribute__.js +102 -81
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +3 -5
- package/out/concepts/BindDirective__.js +28 -34
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +3 -3
- package/out/concepts/BindEvent__.js +74 -51
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BindStyle__.d.ts +3 -5
- package/out/concepts/BindStyle__.js +23 -24
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +3 -3
- package/out/concepts/BooleanLiteral__.js +24 -17
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallAuthInterface__.d.ts +2 -3
- package/out/concepts/CallAuthInterface__.js +19 -17
- package/out/concepts/CallAuthInterface__.js.map +1 -1
- package/out/concepts/CallConnector__.d.ts +4 -5
- package/out/concepts/CallConnector__.js +34 -41
- package/out/concepts/CallConnector__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +3 -3
- package/out/concepts/CallFunction__.js +71 -33
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +3 -3
- package/out/concepts/CallInterface__.js +57 -26
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +6 -6
- package/out/concepts/CallLogic__.js +180 -135
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +2 -3
- package/out/concepts/CallQueryComponent__.js +41 -57
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.d.ts +3 -3
- package/out/concepts/Comment__.js +24 -17
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +2 -3
- package/out/concepts/CompletionProperty__.js +25 -30
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +2 -3
- package/out/concepts/ConfigGroup__.js +20 -21
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigPropertyValue__.d.ts +2 -3
- package/out/concepts/ConfigPropertyValue__.js +16 -16
- package/out/concepts/ConfigPropertyValue__.js.map +1 -1
- package/out/concepts/ConfigProperty__.d.ts +2 -3
- package/out/concepts/ConfigProperty__.js +23 -26
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.d.ts +2 -3
- package/out/concepts/Configuration__.js +18 -16
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Connection__.d.ts +4 -4
- package/out/concepts/Connection__.js +18 -22
- package/out/concepts/Connection__.js.map +1 -1
- package/out/concepts/ConnectorTrigger__.d.ts +6 -7
- package/out/concepts/ConnectorTrigger__.js +21 -22
- package/out/concepts/ConnectorTrigger__.js.map +1 -1
- package/out/concepts/Connector__.d.ts +33 -139
- package/out/concepts/Connector__.js +34 -191
- package/out/concepts/Connector__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +2 -3
- package/out/concepts/Constant__.js +23 -25
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/DataElement__.d.ts +46 -0
- package/out/concepts/DataElement__.js +118 -0
- package/out/concepts/DataElement__.js.map +1 -0
- package/out/concepts/DataSource__.d.ts +2 -7
- package/out/concepts/DataSource__.js +23 -31
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/DatabaseTypeAnnotation__.d.ts +4 -5
- package/out/concepts/DatabaseTypeAnnotation__.js +18 -18
- package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +11 -11
- package/out/concepts/Destination__.js +89 -39
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.d.ts +2 -3
- package/out/concepts/End__.js +17 -15
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityIndex__.d.ts +3 -4
- package/out/concepts/EntityIndex__.js +21 -23
- package/out/concepts/EntityIndex__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +4 -4
- package/out/concepts/EntityProperty__.js +67 -51
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +3 -3
- package/out/concepts/Entity__.js +51 -32
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/EnumItem__.d.ts +3 -3
- package/out/concepts/EnumItem__.js +25 -19
- package/out/concepts/EnumItem__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +3 -3
- package/out/concepts/Enum__.js +35 -23
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.d.ts +2 -3
- package/out/concepts/Event__.js +21 -24
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ExternalDestination__.d.ts +5 -6
- package/out/concepts/ExternalDestination__.js +25 -25
- package/out/concepts/ExternalDestination__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +3 -3
- package/out/concepts/ForEachStatement__.js +60 -21
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/FrontendLibrary__.d.ts +3 -4
- package/out/concepts/FrontendLibrary__.js +25 -27
- package/out/concepts/FrontendLibrary__.js.map +1 -1
- package/out/concepts/FrontendVariable__.d.ts +3 -4
- package/out/concepts/FrontendVariable__.js +12 -12
- package/out/concepts/FrontendVariable__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +6 -8
- package/out/concepts/Frontend__.js +39 -47
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Function__.d.ts +3 -3
- package/out/concepts/Function__.js +60 -37
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +3 -4
- package/out/concepts/Identifier__.js +29 -30
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.d.ts +3 -3
- package/out/concepts/IfStatement__.js +51 -21
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/Integration__.d.ts +2 -93
- package/out/concepts/Integration__.js +19 -157
- package/out/concepts/Integration__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +4 -30
- package/out/concepts/InterfaceParam__.js +24 -58
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +5 -31
- package/out/concepts/Interface__.js +34 -89
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +3 -3
- package/out/concepts/JSBlock__.js +24 -17
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/JavaLogic__.d.ts +3 -4
- package/out/concepts/JavaLogic__.js +21 -22
- package/out/concepts/JavaLogic__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +8 -3
- package/out/concepts/LogicItem__.js +30 -23
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +18 -17
- package/out/concepts/Logic__.js +188 -113
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MatchCase__.d.ts +3 -3
- package/out/concepts/MatchCase__.js +110 -23
- package/out/concepts/MatchCase__.js.map +1 -1
- package/out/concepts/Match__.d.ts +3 -3
- package/out/concepts/Match__.js +64 -20
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +3 -3
- package/out/concepts/MemberExpression__.js +59 -65
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/MicroApp__.d.ts +2 -3
- package/out/concepts/MicroApp__.js +21 -26
- package/out/concepts/MicroApp__.js.map +1 -1
- package/out/concepts/Module__.d.ts +47 -219
- package/out/concepts/Module__.js +32 -232
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/MsgTriggerEvent__.d.ts +3 -4
- package/out/concepts/MsgTriggerEvent__.js +18 -16
- package/out/concepts/MsgTriggerEvent__.js.map +1 -1
- package/out/concepts/MsgTriggerLauncher__.d.ts +3 -4
- package/out/concepts/MsgTriggerLauncher__.js +19 -18
- package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +2 -4
- package/out/concepts/Namespace__.js +46 -64
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +3 -4
- package/out/concepts/NewComposite__.js +133 -71
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.d.ts +4 -5
- package/out/concepts/NewList__.js +41 -35
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.d.ts +4 -5
- package/out/concepts/NewMap__.js +38 -39
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/New__.d.ts +2 -3
- package/out/concepts/New__.js +17 -15
- package/out/concepts/New__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +2 -3
- package/out/concepts/NullLiteral__.js +17 -15
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +3 -3
- package/out/concepts/NumericLiteral__.js +27 -21
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.d.ts +3 -3
- package/out/concepts/OqlQueryComponent__.js +30 -26
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.d.ts +22 -14
- package/out/concepts/OverriddenLogic__.js +62 -73
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/Param__.d.ts +3 -3
- package/out/concepts/Param__.js +69 -34
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/Point__.d.ts +2 -3
- package/out/concepts/Point__.js +16 -16
- package/out/concepts/Point__.js.map +1 -1
- package/out/concepts/ProcessComponent__.d.ts +2 -3
- package/out/concepts/ProcessComponent__.js +22 -24
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +2 -3
- package/out/concepts/ProcessElement__.js +46 -61
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.d.ts +2 -3
- package/out/concepts/ProcessOutcome__.js +18 -17
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/ProcessOutcomes__.d.ts +2 -3
- package/out/concepts/ProcessOutcomes__.js +17 -15
- package/out/concepts/ProcessOutcomes__.js.map +1 -1
- package/out/concepts/Process__.d.ts +7 -5
- package/out/concepts/Process__.js +35 -46
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.d.ts +2 -3
- package/out/concepts/QueryAggregateExpression__.js +22 -23
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFieldExpression__.d.ts +3 -4
- package/out/concepts/QueryFieldExpression__.js +20 -21
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.d.ts +3 -4
- package/out/concepts/QueryFromExpression__.js +22 -23
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryGroupByExpression__.d.ts +2 -3
- package/out/concepts/QueryGroupByExpression__.js +19 -18
- package/out/concepts/QueryGroupByExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.d.ts +3 -4
- package/out/concepts/QueryJoinExpression__.js +25 -29
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.d.ts +2 -3
- package/out/concepts/QueryLimitExpression__.js +22 -22
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QueryOrderByExpression__.d.ts +2 -3
- package/out/concepts/QueryOrderByExpression__.js +22 -22
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.d.ts +2 -3
- package/out/concepts/QuerySelectExpression__.js +21 -23
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Rect__.d.ts +2 -3
- package/out/concepts/Rect__.js +18 -20
- package/out/concepts/Rect__.js.map +1 -1
- package/out/concepts/Return__.d.ts +3 -3
- package/out/concepts/Return__.js +45 -29
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +2 -3
- package/out/concepts/Role__.js +21 -22
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SelectMembers__.d.ts +2 -3
- package/out/concepts/SelectMembers__.js +21 -20
- package/out/concepts/SelectMembers__.js.map +1 -1
- package/out/concepts/Slot__.d.ts +2 -3
- package/out/concepts/Slot__.js +22 -26
- package/out/concepts/Slot__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.d.ts +3 -3
- package/out/concepts/SqlQueryComponent__.js +31 -28
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/Start__.d.ts +2 -3
- package/out/concepts/Start__.js +17 -15
- package/out/concepts/Start__.js.map +1 -1
- package/out/concepts/StringInterpolation__.d.ts +3 -3
- package/out/concepts/StringInterpolation__.js +37 -17
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +3 -3
- package/out/concepts/StringLiteral__.js +22 -14
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +5 -5
- package/out/concepts/StructureProperty__.js +40 -33
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +12 -3
- package/out/concepts/Structure__.js +46 -45
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.d.ts +3 -3
- package/out/concepts/SwitchCase__.js +54 -19
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.d.ts +3 -3
- package/out/concepts/SwitchStatement__.js +39 -23
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/Theme__.d.ts +2 -3
- package/out/concepts/Theme__.js +14 -12
- package/out/concepts/Theme__.js.map +1 -1
- package/out/concepts/Transactional__.d.ts +2 -3
- package/out/concepts/Transactional__.js +17 -18
- package/out/concepts/Transactional__.js.map +1 -1
- package/out/concepts/TriggerEvent__.d.ts +2 -3
- package/out/concepts/TriggerEvent__.js +18 -19
- package/out/concepts/TriggerEvent__.js.map +1 -1
- package/out/concepts/TriggerLauncher__.d.ts +17 -6
- package/out/concepts/TriggerLauncher__.js +63 -26
- package/out/concepts/TriggerLauncher__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +6 -8
- package/out/concepts/TypeAnnotation__.js +79 -56
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/TypeParam__.d.ts +3 -3
- package/out/concepts/TypeParam__.js +23 -16
- package/out/concepts/TypeParam__.js.map +1 -1
- package/out/concepts/UnaryExpression__.d.ts +3 -3
- package/out/concepts/UnaryExpression__.js +39 -21
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.d.ts +3 -3
- package/out/concepts/Unparsed__.js +23 -16
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/UseComponent__.d.ts +2 -3
- package/out/concepts/UseComponent__.js +16 -16
- package/out/concepts/UseComponent__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +16 -17
- package/out/concepts/ValidationRule__.js +15 -18
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +3 -3
- package/out/concepts/Variable__.js +45 -29
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewBlock__.d.ts +3 -4
- package/out/concepts/ViewBlock__.js +19 -20
- package/out/concepts/ViewBlock__.js.map +1 -1
- package/out/concepts/ViewComponent__.d.ts +31 -32
- package/out/concepts/ViewComponent__.js +32 -35
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +81 -82
- package/out/concepts/ViewElement__.js +155 -259
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +4 -5
- package/out/concepts/View__.js +207 -141
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.d.ts +3 -3
- package/out/concepts/WhileStatement__.js +41 -20
- package/out/concepts/WhileStatement__.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/concepts/types__.d.ts +2 -2
- package/out/decorators/index.d.ts +0 -2
- package/out/decorators/index.js +8 -12
- package/out/decorators/index.js.map +1 -1
- package/out/generator/genBundleFiles.d.ts +2 -2
- package/out/generator/genBundleFiles.js +4 -11
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.d.ts +2 -4
- package/out/generator/genReleaseBody.js +136 -192
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.js +1 -0
- package/out/index.js.map +1 -1
- package/out/natural/RequirementAnalyzer.d.ts +22 -0
- package/out/natural/RequirementAnalyzer.js +196 -0
- package/out/natural/RequirementAnalyzer.js.map +1 -0
- package/out/natural/RequirementExecutor.d.ts +51 -0
- package/out/natural/RequirementExecutor.js +692 -0
- package/out/natural/RequirementExecutor.js.map +1 -0
- package/out/natural/componentData.d.ts +31 -0
- package/out/natural/componentData.js +85 -0
- package/out/natural/componentData.js.map +1 -0
- package/out/natural/genNaturalTS.d.ts +3 -0
- package/out/natural/genNaturalTS.js +90 -0
- package/out/natural/genNaturalTS.js.map +1 -0
- package/out/natural/index.d.ts +4 -0
- package/out/natural/index.js +21 -0
- package/out/natural/index.js.map +1 -0
- package/out/natural/knowledgeMap.d.ts +4 -0
- package/out/natural/knowledgeMap.js +40 -0
- package/out/natural/knowledgeMap.js.map +1 -0
- package/out/natural/naslStdlibMap.d.ts +2 -0
- package/out/natural/naslStdlibMap.js +26 -0
- package/out/natural/naslStdlibMap.js.map +1 -0
- package/out/natural/transformTSCode.d.ts +7 -0
- package/out/natural/transformTSCode.js +878 -0
- package/out/natural/transformTSCode.js.map +1 -0
- package/out/sentry/index.js +2 -2
- package/out/sentry/index.js.map +1 -1
- package/out/server/createUiTs.js +1 -34
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/extendBaseNode.js +17 -17
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/formatTsUtils.js +10 -0
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getConnector.d.ts +0 -3
- package/out/server/getConnector.js +1 -38
- package/out/server/getConnector.js.map +1 -1
- package/out/server/getMemberIdentifier.js +2 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/index.js +0 -2
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +6 -17
- package/out/server/naslServer.js +213 -321
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +4 -2
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.js +0 -26
- package/out/service/creator/add.configs.js.map +1 -1
- package/out/service/creator/errHandles.js +3 -5
- package/out/service/creator/errHandles.js.map +1 -1
- package/out/service/creator/index.js +0 -13
- package/out/service/creator/index.js.map +1 -1
- package/out/service/storage/init.js +16 -0
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/jsoner.js +1 -1
- package/out/service/storage/jsoner.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +3 -3
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +1 -1
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/translator/index.d.ts +48 -3
- package/out/translator/index.js +110 -17
- package/out/translator/index.js.map +1 -1
- package/out/translator/lsp.d.ts +45 -0
- package/out/translator/lsp.js +6 -0
- package/out/translator/lsp.js.map +1 -0
- package/out/translator/tsp.d.ts +12 -0
- package/out/translator/{types.js → tsp.js} +1 -1
- package/out/translator/tsp.js.map +1 -0
- package/out/utils/index.d.ts +0 -2
- package/out/utils/index.js +0 -2
- package/out/utils/index.js.map +1 -1
- package/out/utils/logger.d.ts +0 -4
- package/out/utils/logger.js +1 -13
- package/out/utils/logger.js.map +1 -1
- package/out/utils/time-slicing.js +1 -1
- package/out/utils/time-slicing.js.map +1 -1
- package/package.json +11 -5
- package/sandbox/stdlib/nasl.oql.ts +0 -2
- package/sandbox/stdlib/nasl.ui.definition.ts +1415 -2218
- package/sandbox-natural/stdlib/nasl.core.ts +36 -0
- package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
- package/sandbox-natural/stdlib/nasl.ui.ts +63 -0
- package/sandbox-natural/stdlib/nasl.util.ts +119 -0
- package/sandbox-natural/tsconfig.json +12 -0
- package/src/bak/translator.js +5 -8
- package/src/breakpoint/generator/AfterStartNode.ts +1 -2
- package/src/breakpoint/generator/BeforeEndNode.ts +1 -2
- package/src/breakpoint/generator/BreakpointNode.ts +9 -36
- package/src/breakpoint/shared/constants.ts +0 -7
- package/src/breakpoint/shared/utils.ts +3 -36
- package/src/common/BaseNode.ts +81 -140
- package/src/common/Command.ts +1 -6
- package/src/common/EventEmitter.ts +4 -2
- package/src/common/classMap.ts +3 -0
- package/src/common/index.ts +1 -0
- package/src/concepts/Abort__.ts +22 -20
- package/src/concepts/Anchor__.ts +38 -23
- package/src/concepts/AnonymousFunction__.ts +63 -39
- package/src/concepts/App__.ts +314 -364
- package/src/concepts/Argument__.ts +44 -27
- package/src/concepts/Assignee__.ts +39 -41
- package/src/concepts/AssignmentLine__.ts +23 -20
- package/src/concepts/Assignment__.ts +58 -54
- package/src/concepts/Attribute__.ts +34 -40
- package/src/concepts/AuthInterface__.ts +24 -22
- package/src/concepts/AuthLogicForCallInterface__.ts +41 -71
- package/src/concepts/AuthLogic__.ts +30 -21
- package/src/concepts/BackendVariable__.ts +54 -55
- package/src/concepts/Backend__.ts +59 -58
- package/src/concepts/BatchAssignment__.ts +78 -88
- package/src/concepts/BinaryExpression__.ts +66 -72
- package/src/concepts/BindAttribute__.ts +155 -135
- package/src/concepts/BindDirective__.ts +41 -45
- package/src/concepts/BindEvent__.ts +89 -80
- package/src/concepts/BindStyle__.ts +36 -37
- package/src/concepts/BooleanLiteral__.ts +28 -22
- package/src/concepts/CallAuthInterface__.ts +32 -29
- package/src/concepts/CallConnector__.ts +41 -50
- package/src/concepts/CallFunction__.ts +77 -45
- package/src/concepts/CallInterface__.ts +68 -36
- package/src/concepts/CallLogic__.ts +213 -166
- package/src/concepts/CallQueryComponent__.ts +88 -156
- package/src/concepts/Comment__.ts +29 -22
- package/src/concepts/CompletionProperty__.ts +30 -34
- package/src/concepts/ConfigGroup__.ts +29 -28
- package/src/concepts/ConfigPropertyValue__.ts +23 -22
- package/src/concepts/ConfigProperty__.ts +36 -42
- package/src/concepts/Configuration__.ts +26 -23
- package/src/concepts/Connection__.ts +21 -26
- package/src/concepts/ConnectorTrigger__.ts +34 -30
- package/src/concepts/Connector__.ts +87 -342
- package/src/concepts/Constant__.ts +36 -30
- package/src/concepts/DataElement__.ts +131 -0
- package/src/concepts/DataSource__.ts +33 -37
- package/src/concepts/DatabaseTypeAnnotation__.ts +24 -24
- package/src/concepts/Destination__.ts +104 -51
- package/src/concepts/End__.ts +25 -23
- package/src/concepts/EntityIndex__.ts +33 -36
- package/src/concepts/EntityProperty__.ts +84 -64
- package/src/concepts/Entity__.ts +67 -41
- package/src/concepts/EnumItem__.ts +32 -24
- package/src/concepts/Enum__.ts +42 -28
- package/src/concepts/Event__.ts +33 -33
- package/src/concepts/ExternalDestination__.ts +29 -29
- package/src/concepts/ForEachStatement__.ts +73 -34
- package/src/concepts/FrontendLibrary__.ts +38 -37
- package/src/concepts/FrontendVariable__.ts +20 -18
- package/src/concepts/Frontend__.ts +62 -66
- package/src/concepts/Function__.ts +80 -54
- package/src/concepts/Identifier__.ts +34 -37
- package/src/concepts/IfStatement__.ts +77 -40
- package/src/concepts/Integration__.ts +24 -244
- package/src/concepts/InterfaceParam__.ts +33 -69
- package/src/concepts/Interface__.ts +46 -104
- package/src/concepts/JSBlock__.ts +28 -22
- package/src/concepts/JavaLogic__.ts +26 -27
- package/src/concepts/LogicItem__.ts +47 -29
- package/src/concepts/Logic__.ts +226 -168
- package/src/concepts/MatchCase__.ts +128 -38
- package/src/concepts/Match__.ts +73 -28
- package/src/concepts/MemberExpression__.ts +139 -174
- package/src/concepts/MicroApp__.ts +27 -32
- package/src/concepts/Module__.ts +107 -527
- package/src/concepts/MsgTriggerEvent__.ts +33 -25
- package/src/concepts/MsgTriggerLauncher__.ts +30 -27
- package/src/concepts/Namespace__.ts +99 -109
- package/src/concepts/NewComposite__.ts +161 -130
- package/src/concepts/NewList__.ts +51 -45
- package/src/concepts/NewMap__.ts +48 -51
- package/src/concepts/New__.ts +22 -20
- package/src/concepts/NullLiteral__.ts +22 -20
- package/src/concepts/NumericLiteral__.ts +31 -26
- package/src/concepts/OqlQueryComponent__.ts +34 -33
- package/src/concepts/OverriddenLogic__.ts +94 -128
- package/src/concepts/Param__.ts +90 -51
- package/src/concepts/Point__.ts +22 -22
- package/src/concepts/ProcessComponent__.ts +37 -36
- package/src/concepts/ProcessElement__.ts +86 -114
- package/src/concepts/ProcessOutcome__.ts +23 -22
- package/src/concepts/ProcessOutcomes__.ts +22 -20
- package/src/concepts/Process__.ts +63 -69
- package/src/concepts/QueryAggregateExpression__.ts +27 -28
- package/src/concepts/QueryFieldExpression__.ts +25 -26
- package/src/concepts/QueryFromExpression__.ts +28 -29
- package/src/concepts/QueryGroupByExpression__.ts +23 -22
- package/src/concepts/QueryJoinExpression__.ts +41 -62
- package/src/concepts/QueryLimitExpression__.ts +27 -27
- package/src/concepts/QueryOrderByExpression__.ts +27 -27
- package/src/concepts/QuerySelectExpression__.ts +54 -105
- package/src/concepts/Rect__.ts +24 -26
- package/src/concepts/Return__.ts +67 -42
- package/src/concepts/Role__.ts +25 -25
- package/src/concepts/SelectMembers__.ts +32 -30
- package/src/concepts/Slot__.ts +30 -32
- package/src/concepts/SqlQueryComponent__.ts +37 -41
- package/src/concepts/Start__.ts +22 -20
- package/src/concepts/StringInterpolation__.ts +45 -25
- package/src/concepts/StringLiteral__.ts +26 -19
- package/src/concepts/StructureProperty__.ts +47 -38
- package/src/concepts/Structure__.ts +58 -55
- package/src/concepts/SwitchCase__.ts +74 -40
- package/src/concepts/SwitchStatement__.ts +44 -29
- package/src/concepts/Theme__.ts +21 -18
- package/src/concepts/Transactional__.ts +31 -24
- package/src/concepts/TriggerEvent__.ts +29 -28
- package/src/concepts/TriggerLauncher__.ts +82 -32
- package/src/concepts/TypeAnnotation__.ts +98 -92
- package/src/concepts/TypeParam__.ts +28 -21
- package/src/concepts/UnaryExpression__.ts +45 -26
- package/src/concepts/Unparsed__.ts +25 -20
- package/src/concepts/UseComponent__.ts +22 -22
- package/src/concepts/ValidationRule__.ts +555 -539
- package/src/concepts/Variable__.ts +67 -43
- package/src/concepts/ViewBlock__.ts +25 -26
- package/src/concepts/ViewComponent__.ts +91 -87
- package/src/concepts/ViewElement__.ts +2437 -2696
- package/src/concepts/View__.ts +407 -345
- package/src/concepts/WhileStatement__.ts +59 -36
- package/src/concepts/index__.ts +1 -0
- package/src/concepts/types__.ts +124 -124
- package/src/decorators/index.ts +7 -11
- package/src/generator/genBundleFiles.ts +4 -14
- package/src/generator/genReleaseBody.ts +182 -198
- package/src/index.ts +1 -0
- package/src/natural/RequirementAnalyzer.ts +208 -0
- package/src/natural/RequirementExecutor.ts +685 -0
- package/src/natural/componentData.ts +81 -0
- package/src/natural/genNaturalTS.ts +90 -0
- package/src/natural/index.ts +4 -0
- package/src/natural/knowledgeMap.ts +39 -0
- package/src/natural/naslStdlibMap.ts +24 -0
- package/src/natural/transformTSCode.ts +834 -0
- package/src/sentry/index.ts +2 -2
- package/src/server/createUiTs.ts +1 -30
- package/src/server/extendBaseNode.ts +18 -18
- package/src/server/formatTsUtils.ts +11 -0
- package/src/server/getConnector.ts +27 -63
- package/src/server/getMemberIdentifier.ts +3 -2
- package/src/server/index.ts +1 -4
- package/src/server/naslServer.ts +212 -302
- package/src/server/translator.ts +3 -1
- package/src/service/creator/add.configs.js +1 -26
- package/src/service/creator/errHandles.js +4 -5
- package/src/service/creator/index.js +0 -12
- package/src/service/storage/init.ts +17 -0
- package/src/service/storage/jsoner.ts +1 -1
- package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +3 -3
- package/src/templator/genTableBlock.ts +1 -1
- package/src/test/examples/app1.json +1406 -0
- package/src/test/fixtures/env.ts +19 -0
- package/src/test/integration/connect-create-file.ts +14 -0
- package/src/test/integration/connect-file.ts +24 -0
- package/src/test/integration/node-nasl-server.ts +14 -0
- package/src/test/units/baseTypes/Assignment.spec.ts +20 -0
- package/src/test/units/baseTypes/CallLogic.spec.ts +22 -0
- package/src/test/units/baseTypes/StringLiteral.spec.ts +60 -0
- package/src/test/units/baseTypes/new.spec.ts +13 -0
- package/src/test/units/common/Vertex.spec.ts +23 -0
- package/src/test/units/data/Entity.spec.ts +10 -0
- package/src/test/units/login.spec.ts +10 -0
- package/src/test/units/page/Block.spec.ts +15 -0
- package/src/test/units/page/Element.spec.ts +45 -0
- package/src/test/units/page/example.dashboard.html +46 -0
- package/src/test/units/page/example.view1.html +63 -0
- package/src/test/units/temp/temp.spec.ts +66 -0
- package/src/translator/index.ts +137 -3
- package/src/translator/lsp.ts +50 -0
- package/src/translator/tsp.ts +14 -0
- package/src/utils/index.ts +0 -2
- package/src/utils/logger.ts +0 -13
- package/src/utils/time-slicing.ts +1 -1
- package/test/concepts/call-interface/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/call-interface/toJS.spec.ts +6 -6
- package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -45
- package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +0 -102
- package/test/concepts/call-logic/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/call-logic/toJS.spec.ts +6 -6
- package/test/concepts/match/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/match/toJS.spec.ts +6 -6
- package/test/concepts/utils.ts +43 -46
- package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/validation-rule/toJS.spec.ts +6 -6
- package/test/concepts/validation-rule/validation-rule.spec.ts +8 -8
- package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -592
- package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -308
- package/test/concepts/view-element/fixtures/default-not-found.json +313 -313
- package/test/concepts/view-element/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/view-element/toVue.spec.ts +6 -6
- package/ts-worker/package-lock.json +101 -6663
- package/ts-worker/webpack.config.js +1 -1
- package/out/translator/constant.d.ts +0 -6
- package/out/translator/constant.js +0 -10
- package/out/translator/constant.js.map +0 -1
- package/out/translator/types.d.ts +0 -32
- package/out/translator/types.js.map +0 -1
- package/out/translator/utils.d.ts +0 -17
- package/out/translator/utils.js +0 -102
- package/out/translator/utils.js.map +0 -1
- package/out/utils/cookie.d.ts +0 -9
- package/out/utils/cookie.js +0 -62
- package/out/utils/cookie.js.map +0 -1
- package/out/utils/types.d.ts +0 -1
- package/out/utils/types.js +0 -3
- package/out/utils/types.js.map +0 -1
- package/out/utils/window.d.ts +0 -7
- package/out/utils/window.js +0 -14
- package/out/utils/window.js.map +0 -1
- package/src/translator/constant.ts +0 -7
- package/src/translator/types.ts +0 -40
- package/src/translator/utils.ts +0 -104
- package/src/utils/cookie.ts +0 -60
- package/src/utils/types.ts +0 -1
- package/src/utils/window.ts +0 -9
- package/test/concepts/boolean-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -11
- package/test/concepts/boolean-literal/__snapshots__/toJS.spec.ts.snap +0 -11
- package/test/concepts/boolean-literal/__snapshots__/toVue.spec.ts.snap +0 -11
- package/test/concepts/boolean-literal/constant.ts +0 -5
- package/test/concepts/boolean-literal/fixtures/false.json +0 -4
- package/test/concepts/boolean-literal/fixtures/true.json +0 -4
- package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +0 -14
- package/test/concepts/boolean-literal/toJS.spec.ts +0 -14
- package/test/concepts/boolean-literal/toVue.spec.ts +0 -14
- package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +0 -106
- package/test/concepts/call-logic/fixtures/nested-call-logic.json +0 -860
- package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +0 -23
- package/test/concepts/identifier/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
- package/test/concepts/identifier/__snapshots__/toJS.spec.ts.snap +0 -16
- package/test/concepts/identifier/__snapshots__/toVue.spec.ts.snap +0 -16
- package/test/concepts/identifier/constant.ts +0 -5
- package/test/concepts/identifier/fixtures/data-source.json +0 -5
- package/test/concepts/identifier/fixtures/no-namespace.json +0 -4
- package/test/concepts/identifier/fixtures/view-variable.json +0 -201
- package/test/concepts/identifier/toEmbeddedTS.spec.ts +0 -14
- package/test/concepts/identifier/toJS.spec.ts +0 -14
- package/test/concepts/identifier/toVue.spec.ts +0 -14
- package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -21
- package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +0 -21
- package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +0 -21
- package/test/concepts/member-expression/constant.ts +0 -5
- package/test/concepts/member-expression/fixtures/app.enums.UserStatusEnum.json +0 -13
- package/test/concepts/member-expression/fixtures/elements.table-view.data.json +0 -13
- package/test/concepts/member-expression/fixtures/entry.created-by.json +0 -18
- package/test/concepts/member-expression/fixtures/nasl.auth.userInfo.json +0 -19
- package/test/concepts/member-expression/toEmbeddedTS.spec.ts +0 -14
- package/test/concepts/member-expression/toJS.spec.ts +0 -14
- package/test/concepts/member-expression/toVue.spec.ts +0 -14
- package/test/concepts/null-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
- package/test/concepts/null-literal/__snapshots__/toJS.spec.ts.snap +0 -6
- package/test/concepts/null-literal/__snapshots__/toVue.spec.ts.snap +0 -6
- package/test/concepts/null-literal/constant.ts +0 -5
- package/test/concepts/null-literal/fixtures/null.json +0 -3
- package/test/concepts/null-literal/toEmbeddedTS.spec.ts +0 -14
- package/test/concepts/null-literal/toJS.spec.ts +0 -14
- package/test/concepts/null-literal/toVue.spec.ts +0 -14
- package/test/concepts/numeric-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
- package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +0 -6
- package/test/concepts/numeric-literal/__snapshots__/toVue.spec.ts.snap +0 -6
- package/test/concepts/numeric-literal/constant.ts +0 -5
- package/test/concepts/numeric-literal/fixtures/number.json +0 -10
- package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +0 -14
- package/test/concepts/numeric-literal/toJS.spec.ts +0 -14
- package/test/concepts/numeric-literal/toVue.spec.ts +0 -14
- package/test/concepts/string-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
- package/test/concepts/string-literal/__snapshots__/toJS.spec.ts.snap +0 -16
- package/test/concepts/string-literal/__snapshots__/toVue.spec.ts.snap +0 -16
- package/test/concepts/string-literal/constant.ts +0 -5
- package/test/concepts/string-literal/fixtures/escape.json +0 -4
- package/test/concepts/string-literal/fixtures/space.json +0 -4
- package/test/concepts/string-literal/fixtures/string.json +0 -4
- package/test/concepts/string-literal/toEmbeddedTS.spec.ts +0 -14
- package/test/concepts/string-literal/toJS.spec.ts +0 -14
- package/test/concepts/string-literal/toVue.spec.ts +0 -14
- package/test/concepts/view-element/fixtures/default-login.json +0 -333
- package/test/concepts/view-element/fixtures/with-role-auth.json +0 -148
- package/test/concepts/view-element/fixtures/with-table.json +0 -3473
package/out/server/naslServer.js
CHANGED
|
@@ -37,11 +37,11 @@ exports.NaslServer = exports.getDisplayString2Type = void 0;
|
|
|
37
37
|
const fs = __importStar(require("fs-extra"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const worker_threads_1 = require("worker_threads");
|
|
40
|
-
|
|
40
|
+
const decimal_js_1 = require("decimal.js");
|
|
41
41
|
const config_1 = require("../config");
|
|
42
42
|
const sentry_1 = require("../sentry");
|
|
43
43
|
const Messager_1 = __importDefault(require("../common/Messager"));
|
|
44
|
-
const getMemberIdentifier_1 = require("
|
|
44
|
+
const getMemberIdentifier_1 = require("./getMemberIdentifier");
|
|
45
45
|
const concepts_1 = require("../concepts");
|
|
46
46
|
const translator_1 = require("../translator");
|
|
47
47
|
const storage_1 = __importDefault(require("../service/storage"));
|
|
@@ -57,7 +57,6 @@ const jsoner = __importStar(require("../service/storage/jsoner"));
|
|
|
57
57
|
const EventEmitter_1 = require("../common/EventEmitter");
|
|
58
58
|
const utils_1 = require("../utils");
|
|
59
59
|
const decorators_1 = require("../decorators");
|
|
60
|
-
const decimal_js_1 = require("decimal.js");
|
|
61
60
|
const utils_2 = require("../automate/engine/utils");
|
|
62
61
|
const EmbeddedTSFileLineMap = {
|
|
63
62
|
Entity: 3,
|
|
@@ -70,14 +69,15 @@ const EmbeddedTSFileOffsetMap = {
|
|
|
70
69
|
ConfigProperty: 12,
|
|
71
70
|
};
|
|
72
71
|
const SentryMessager = (0, sentry_1.sentryMonitorTSWorkerMessager)(Messager_1.default);
|
|
73
|
-
let isChangeInterface = false;
|
|
74
|
-
let actionArr = [];
|
|
75
|
-
let timer = null;
|
|
72
|
+
let isChangeInterface = false; // 判断是否导入接口
|
|
73
|
+
let actionArr = []; // 用于导入接口收集更改的节点
|
|
74
|
+
let timer = null; // 超时器用于收集导入接口相关
|
|
75
|
+
const __naslStdlibFileCacheMap = new Map(); // naslStdlib文件缓存
|
|
76
76
|
// 联合类型切割取出类型
|
|
77
77
|
function getDisplayString2Type(displayString) {
|
|
78
|
-
const targetString = displayString.match(/value:\s(\S+)\)/)?.[1];
|
|
78
|
+
const targetString = displayString.match(/value:\s(\S+)\)/)?.[1] ?? '';
|
|
79
79
|
let targetType = null;
|
|
80
|
-
if (targetString
|
|
80
|
+
if (targetString.startsWith('nasl.core.')) {
|
|
81
81
|
targetType = targetString.slice(10);
|
|
82
82
|
}
|
|
83
83
|
// 取出匹配的内容
|
|
@@ -86,23 +86,21 @@ function getDisplayString2Type(displayString) {
|
|
|
86
86
|
displayString = displayString?.replace('T extends ', '') || '';
|
|
87
87
|
const types = reg.exec(displayString);
|
|
88
88
|
// 取出提示的类型,组成是数组
|
|
89
|
-
const typeList =
|
|
89
|
+
const typeList = types[1].split(' | ').map((item) => {
|
|
90
90
|
if (/<([^()]+)>/g.exec(item)) {
|
|
91
91
|
return item;
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
if (item.includes(' ')) {
|
|
94
94
|
const strs = item.split(' ');
|
|
95
95
|
const type = strs[strs.length - 1];
|
|
96
96
|
return type;
|
|
97
97
|
}
|
|
98
|
-
|
|
98
|
+
if (item.includes('.')) {
|
|
99
99
|
const strs = item.split('.');
|
|
100
100
|
const type = strs[strs.length - 1];
|
|
101
101
|
return type;
|
|
102
102
|
}
|
|
103
|
-
|
|
104
|
-
return item;
|
|
105
|
-
}
|
|
103
|
+
return item;
|
|
106
104
|
});
|
|
107
105
|
if (targetType) {
|
|
108
106
|
return typeList.filter((item) => item !== targetType);
|
|
@@ -111,28 +109,19 @@ function getDisplayString2Type(displayString) {
|
|
|
111
109
|
}
|
|
112
110
|
exports.getDisplayString2Type = getDisplayString2Type;
|
|
113
111
|
let NaslServer = class NaslServer {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
worker;
|
|
112
|
+
naslStdlibFileCacheMap = __naslStdlibFileCacheMap;
|
|
113
|
+
messager = undefined;
|
|
114
|
+
worker = undefined;
|
|
118
115
|
/**
|
|
119
116
|
* 按道理 fileSourceMap: new Map<string, SourceMap>() 比较合理,
|
|
120
117
|
* 但是要多维护一层 vertex 增删 -> file 增删的关系问题,
|
|
121
118
|
* 先用挂在点上面,简单的方法实现,后期再考虑解耦
|
|
122
119
|
*/
|
|
123
120
|
file2NodeMap = new Map();
|
|
124
|
-
/** TS 翻译的源码 */
|
|
125
|
-
tsFiles = new Map();
|
|
126
|
-
/// #if process.env.NODE_ENV === 'development'
|
|
127
|
-
/**
|
|
128
|
-
* 调试时是否储存 ts 文件
|
|
129
|
-
*/
|
|
130
|
-
openDebugEmbedded = true;
|
|
131
|
-
/// #endif
|
|
132
121
|
elementsLogic = {};
|
|
133
122
|
// 错误日志收集
|
|
134
|
-
diagnosticManager;
|
|
135
|
-
embeddedTSEmitter;
|
|
123
|
+
diagnosticManager = undefined;
|
|
124
|
+
embeddedTSEmitter = undefined;
|
|
136
125
|
// 需要执行修改的文件
|
|
137
126
|
changeStackList = [];
|
|
138
127
|
filesToCheck;
|
|
@@ -171,6 +160,8 @@ let NaslServer = class NaslServer {
|
|
|
171
160
|
// 结束诊断和标注
|
|
172
161
|
(0, common_1.invokeCommand)('naslServer:endWork');
|
|
173
162
|
(0, common_1.invokeCommand)('naslServer:nodeChange');
|
|
163
|
+
this.embeddedTSEmitter.emit('naslServer:endWork');
|
|
164
|
+
this.embeddedTSEmitter.emit('naslServer:nodeChange');
|
|
174
165
|
}
|
|
175
166
|
catch (e) {
|
|
176
167
|
console.log('no "naslServer:nodeChange" event received');
|
|
@@ -198,7 +189,7 @@ let NaslServer = class NaslServer {
|
|
|
198
189
|
// 这个方法是 5.0 加入标准库的,但是这里 ts 版本是 4.x,ci 会挂,所以需要忽略
|
|
199
190
|
// @ts-ignore
|
|
200
191
|
const findLastIndex = this.changeStackList.findLastIndex((changeStackItem) => {
|
|
201
|
-
const target = changeStackItem
|
|
192
|
+
const { target } = changeStackItem;
|
|
202
193
|
const { fileNode: targetFileNode } = this.getCurrentSource(target);
|
|
203
194
|
return targetFileNode === fileNode;
|
|
204
195
|
});
|
|
@@ -209,10 +200,8 @@ let NaslServer = class NaslServer {
|
|
|
209
200
|
// 如果当前列表里有,这个文件节点,最后一个是field的话,直接return掉,不用塞这个update了
|
|
210
201
|
return;
|
|
211
202
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
this.changeStackList.pop();
|
|
215
|
-
}
|
|
203
|
+
// 如果最后一项是普通的update的话,就可以去掉,后面那个会在塞过来
|
|
204
|
+
this.changeStackList.pop();
|
|
216
205
|
}
|
|
217
206
|
this.changeStackList.push(item.originEvent);
|
|
218
207
|
}
|
|
@@ -242,7 +231,7 @@ let NaslServer = class NaslServer {
|
|
|
242
231
|
}, { cache: true });
|
|
243
232
|
Object.keys(naslStdlibMap_1.default).forEach(async (libFileName) => {
|
|
244
233
|
await this.addFile({
|
|
245
|
-
file:
|
|
234
|
+
file: `/${libFileName}`,
|
|
246
235
|
fileContent: naslStdlibMap_1.default[libFileName],
|
|
247
236
|
}, { cache: true });
|
|
248
237
|
});
|
|
@@ -444,26 +433,6 @@ let NaslServer = class NaslServer {
|
|
|
444
433
|
launcher.sourceMap = result.sourceMap;
|
|
445
434
|
this.file2NodeMap.set(result.filePath, launcher);
|
|
446
435
|
});
|
|
447
|
-
module.namespaces?.forEach?.((namespace) => {
|
|
448
|
-
namespace.logics.forEach((logic) => {
|
|
449
|
-
const result = logic.toEmbeddedTSFile();
|
|
450
|
-
results.push(result);
|
|
451
|
-
// sourceMap都存在目录级别内容下,在页面层级下去找
|
|
452
|
-
logic.sourceMap = result.sourceMap;
|
|
453
|
-
this.file2NodeMap.set(result.filePath, logic);
|
|
454
|
-
});
|
|
455
|
-
});
|
|
456
|
-
module?.authLogicsForCallInterface?.forEach?.((logic) => {
|
|
457
|
-
try {
|
|
458
|
-
if (!(logic instanceof concepts_1.Logic))
|
|
459
|
-
return;
|
|
460
|
-
const result = logic.toEmbeddedTSFile();
|
|
461
|
-
results.push(result);
|
|
462
|
-
logic.sourceMap = result.sourceMap;
|
|
463
|
-
this.file2NodeMap.set(result.filePath, logic);
|
|
464
|
-
}
|
|
465
|
-
catch (err) { }
|
|
466
|
-
});
|
|
467
436
|
}
|
|
468
437
|
catch (error) {
|
|
469
438
|
console.error(error);
|
|
@@ -544,7 +513,6 @@ let NaslServer = class NaslServer {
|
|
|
544
513
|
// 其他模块的创建内容
|
|
545
514
|
app.dependencies.forEach((item) => this.contentToFile(item, results));
|
|
546
515
|
app.interfaceDependencies.forEach((item) => this.contentToFile(item, results));
|
|
547
|
-
app.integration?.connectors?.forEach((item) => this.contentToFile(item, results));
|
|
548
516
|
}
|
|
549
517
|
catch (err) {
|
|
550
518
|
console.log(err);
|
|
@@ -588,14 +556,13 @@ let NaslServer = class NaslServer {
|
|
|
588
556
|
}
|
|
589
557
|
// 缓存添加过的文件
|
|
590
558
|
cacheFile(options) {
|
|
591
|
-
|
|
559
|
+
__naslStdlibFileCacheMap.set(options.file, options);
|
|
592
560
|
}
|
|
593
|
-
/**u
|
|
561
|
+
/** u
|
|
594
562
|
* 只新增文件
|
|
595
563
|
* @param {*} files
|
|
596
564
|
*/
|
|
597
565
|
writeFiles(files) {
|
|
598
|
-
files.forEach(({ file, fileContent }) => this.tsFiles.set(file, fileContent));
|
|
599
566
|
return this.messager.requestCommand('writeFiles', files);
|
|
600
567
|
}
|
|
601
568
|
/**
|
|
@@ -604,40 +571,38 @@ let NaslServer = class NaslServer {
|
|
|
604
571
|
* @param {*} args
|
|
605
572
|
*/
|
|
606
573
|
updateFiles(args) {
|
|
607
|
-
args.outputFiles.forEach(({ file, fileContent }) => this.tsFiles.set(file, fileContent));
|
|
608
574
|
return this.messager.requestCommand('updateFiles', args);
|
|
609
575
|
}
|
|
610
576
|
/**
|
|
611
577
|
* 清除一个目录下的所有文件
|
|
612
578
|
*/
|
|
613
579
|
deleteDirectoryFiles(args) {
|
|
614
|
-
Array.from(this.tsFiles.keys())
|
|
615
|
-
.filter((key) => key.startsWith(args.directoryName))
|
|
616
|
-
.forEach((key) => this.tsFiles.delete(key));
|
|
617
580
|
return this.messager.requestCommand('deleteDirectoryFiles', args);
|
|
618
581
|
}
|
|
619
582
|
async _debugInFileStorage(node, openFiles) {
|
|
620
583
|
let app = node;
|
|
584
|
+
let openDebugEmbedded = true;
|
|
621
585
|
if (node.concept !== 'App') {
|
|
622
586
|
app = node.rootNode || node.app;
|
|
623
587
|
}
|
|
624
588
|
/// #if process.env.NODE_ENV === 'development'
|
|
625
589
|
// 首次尝试请求
|
|
626
|
-
await storage_1.default.post(
|
|
627
|
-
if (
|
|
590
|
+
await storage_1.default.post(`/api/App/debugEmbedded?id=${app.id}`, openFiles[0]).catch(() => (openDebugEmbedded = false));
|
|
591
|
+
if (openDebugEmbedded && globalThis.window) {
|
|
628
592
|
// For TS build
|
|
629
593
|
try {
|
|
630
594
|
let canDebug = true;
|
|
631
|
-
await storage_1.default.post(
|
|
595
|
+
await storage_1.default.post(`/api/App/debugEmbedded?id=${app.id}`, openFiles[0]).catch(() => (canDebug = false));
|
|
632
596
|
if (canDebug) {
|
|
633
597
|
await Promise.all(openFiles.map(async (file) => {
|
|
634
|
-
const res = await storage_1.default.post(
|
|
598
|
+
const res = await storage_1.default.post(`/api/App/debugEmbedded?id=${app.id}`, file);
|
|
635
599
|
return res.data;
|
|
636
600
|
}));
|
|
637
601
|
}
|
|
638
602
|
}
|
|
639
603
|
catch (e) {
|
|
640
|
-
//
|
|
604
|
+
// 出现错误之后不再调用
|
|
605
|
+
openDebugEmbedded = false;
|
|
641
606
|
}
|
|
642
607
|
}
|
|
643
608
|
/// #endif
|
|
@@ -672,16 +637,14 @@ let NaslServer = class NaslServer {
|
|
|
672
637
|
return this._getValueSelectCompletion({
|
|
673
638
|
file: fileNode.getEmbeddedFilePath(),
|
|
674
639
|
range: {
|
|
675
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
676
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
640
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
641
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
677
642
|
},
|
|
678
643
|
value,
|
|
679
644
|
noFilterList,
|
|
680
645
|
});
|
|
681
646
|
}
|
|
682
|
-
|
|
683
|
-
console.log('没找到节点', node, currentSource, fileNode);
|
|
684
|
-
}
|
|
647
|
+
console.log('没找到节点', node, currentSource, fileNode);
|
|
685
648
|
}
|
|
686
649
|
_getValueSelectCompletion(args) {
|
|
687
650
|
return this.messager.requestCommand('getValueSelectCompletion', args);
|
|
@@ -706,8 +669,8 @@ let NaslServer = class NaslServer {
|
|
|
706
669
|
try {
|
|
707
670
|
const quickInfo = await this._getTypeQuickinfo({
|
|
708
671
|
file: fileNode.getEmbeddedFilePath(),
|
|
709
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
710
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character) + `nasl.util.C`.length,
|
|
672
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
673
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character) + `nasl.util.C`.length,
|
|
711
674
|
});
|
|
712
675
|
if (quickInfo.responseRequired) {
|
|
713
676
|
const displayString = quickInfo?.response?.displayString || '';
|
|
@@ -725,9 +688,7 @@ let NaslServer = class NaslServer {
|
|
|
725
688
|
if (!res.length) {
|
|
726
689
|
return [];
|
|
727
690
|
}
|
|
728
|
-
|
|
729
|
-
return [{ title: '基础类型', children: res }];
|
|
730
|
-
}
|
|
691
|
+
return [{ title: '基础类型', children: res }];
|
|
731
692
|
}
|
|
732
693
|
}
|
|
733
694
|
catch (err) {
|
|
@@ -756,8 +717,8 @@ let NaslServer = class NaslServer {
|
|
|
756
717
|
}
|
|
757
718
|
const quickInfo = await this._getTypeQuickinfo({
|
|
758
719
|
file: fileNode.getEmbeddedFilePath(),
|
|
759
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
760
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character) + `new nasl.ui.`.length,
|
|
720
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
721
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character) + `new nasl.ui.`.length,
|
|
761
722
|
});
|
|
762
723
|
if (quickInfo.responseRequired) {
|
|
763
724
|
const displayString = quickInfo?.response?.displayString || '';
|
|
@@ -773,7 +734,7 @@ let NaslServer = class NaslServer {
|
|
|
773
734
|
.replace(/__name:"AStructure_\w{8}";/g, '')
|
|
774
735
|
.replace(/dataSources.([^.]+).entities.([^;]+)/g, ($1, $2, $3) => `${$3}(${$2})`);
|
|
775
736
|
}
|
|
776
|
-
|
|
737
|
+
if (typeStr.startsWith('{') && typeStr.endsWith('}')) {
|
|
777
738
|
/**
|
|
778
739
|
* {
|
|
779
740
|
text: nasl.core.String;
|
|
@@ -816,8 +777,8 @@ let NaslServer = class NaslServer {
|
|
|
816
777
|
}
|
|
817
778
|
const quickInfo = await this._getTypeQuickinfo({
|
|
818
779
|
file: fileNode.getEmbeddedFilePath(),
|
|
819
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
820
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character) + `new nasl.ui.`.length,
|
|
780
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
781
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character) + `new nasl.ui.`.length,
|
|
821
782
|
});
|
|
822
783
|
if (quickInfo.responseRequired) {
|
|
823
784
|
const displayString = quickInfo?.response?.displayString || '';
|
|
@@ -826,7 +787,7 @@ let NaslServer = class NaslServer {
|
|
|
826
787
|
return;
|
|
827
788
|
const types = /<([^()]+)>/g.exec(displayString);
|
|
828
789
|
const typeStr = types && types[1];
|
|
829
|
-
const app = node
|
|
790
|
+
const { app } = node;
|
|
830
791
|
if (typeStr.includes('__name: "AStructure_')) {
|
|
831
792
|
const properties = [];
|
|
832
793
|
typeStr.replace(/([^:\s]+):\s+([^;]+);/g, ($1, name, typeKey) => {
|
|
@@ -848,7 +809,7 @@ let NaslServer = class NaslServer {
|
|
|
848
809
|
});
|
|
849
810
|
return concepts_1.TypeAnnotation.createTypeAnonymousStructure(properties);
|
|
850
811
|
}
|
|
851
|
-
|
|
812
|
+
if (typeStr.startsWith('structures'))
|
|
852
813
|
return app.findNodeByCompleteName(`app.${typeStr}`);
|
|
853
814
|
}
|
|
854
815
|
}
|
|
@@ -900,15 +861,13 @@ let NaslServer = class NaslServer {
|
|
|
900
861
|
return this._getSelectNextCompletion({
|
|
901
862
|
file: fileNode.getEmbeddedFilePath(),
|
|
902
863
|
range: {
|
|
903
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
904
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
864
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
865
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
905
866
|
},
|
|
906
867
|
noFilterList,
|
|
907
868
|
});
|
|
908
869
|
}
|
|
909
|
-
|
|
910
|
-
console.log('没找到节点', currentSource, fileNode);
|
|
911
|
-
}
|
|
870
|
+
console.log('没找到节点', currentSource, fileNode);
|
|
912
871
|
}
|
|
913
872
|
_getSelectNextCompletion(args) {
|
|
914
873
|
return this.messager.requestCommand('getSelectNextCompletion', args);
|
|
@@ -936,14 +895,14 @@ let NaslServer = class NaslServer {
|
|
|
936
895
|
await this.IncrementalAnnotationJSON(records);
|
|
937
896
|
}
|
|
938
897
|
await Promise.all(records.map(async (record) => {
|
|
939
|
-
const node = record
|
|
898
|
+
const { node } = record;
|
|
940
899
|
if (!node)
|
|
941
900
|
return;
|
|
942
901
|
// 先获取原来的节点先清除一下之前有异常的节点,下面重新赋值
|
|
943
902
|
const oldRecord = this.diagnosticManager.getRecord?.(record.id);
|
|
944
903
|
oldRecord?.semanticDiagnostics.forEach((item) => {
|
|
945
904
|
if (item.node) {
|
|
946
|
-
|
|
905
|
+
item.node.tsErrorDetail = undefined;
|
|
947
906
|
// 如果logic中有报错就把标识置为true
|
|
948
907
|
if (item.node?.logic?.haveError) {
|
|
949
908
|
item.node.logic.haveError = false;
|
|
@@ -953,7 +912,7 @@ let NaslServer = class NaslServer {
|
|
|
953
912
|
// 清空一些状态
|
|
954
913
|
oldRecord?.suggestionDiagnostics.forEach((item) => {
|
|
955
914
|
if (item.node) {
|
|
956
|
-
|
|
915
|
+
item.node.tsErrorDetail = undefined;
|
|
957
916
|
if (item.node && item.node instanceof concepts_1.Logic) {
|
|
958
917
|
item.node.isSmpty = false;
|
|
959
918
|
}
|
|
@@ -967,7 +926,7 @@ let NaslServer = class NaslServer {
|
|
|
967
926
|
if (record.node instanceof concepts_1.Logic) {
|
|
968
927
|
record?.syntaxDiagnostics.forEach((item) => {
|
|
969
928
|
const minRange = this._findMinRange(item, record.node);
|
|
970
|
-
if (minRange
|
|
929
|
+
if (minRange.node instanceof concepts_1.OqlQueryComponent) {
|
|
971
930
|
if (item.text === 'Invalid character.') {
|
|
972
931
|
record.semanticDiagnostics.push(item);
|
|
973
932
|
}
|
|
@@ -990,7 +949,7 @@ let NaslServer = class NaslServer {
|
|
|
990
949
|
record.suggestionDiagnostics.push(diagnostic);
|
|
991
950
|
return null;
|
|
992
951
|
}
|
|
993
|
-
|
|
952
|
+
if (currentNode.concept === 'OqlQueryComponent') {
|
|
994
953
|
// OQL别名错误降级为警告
|
|
995
954
|
if (diagnostic.originalDiagnostic && diagnostic.originalDiagnostic?.text.includes('__OQL_ALIAS_WARNING__')) {
|
|
996
955
|
// 重置 图标和错误等级
|
|
@@ -1034,7 +993,7 @@ let NaslServer = class NaslServer {
|
|
|
1034
993
|
return diag;
|
|
1035
994
|
// 一些已知警告的单独处理
|
|
1036
995
|
}
|
|
1037
|
-
|
|
996
|
+
if ([
|
|
1038
997
|
`'__LogicEmpty' is declared but its value is never read.`,
|
|
1039
998
|
`'__destinationEmpty__' is declared but its value is never read.`,
|
|
1040
999
|
`'__devConfigValueEmpty' is declared but its value is never read.`,
|
|
@@ -1043,7 +1002,7 @@ let NaslServer = class NaslServer {
|
|
|
1043
1002
|
].includes(diag.text)) {
|
|
1044
1003
|
return this._resolveDiagnostic(diag, record.node, record);
|
|
1045
1004
|
}
|
|
1046
|
-
|
|
1005
|
+
if (diag.text.includes(` is declared but its value is never read.`)) {
|
|
1047
1006
|
// 局部变量和输入变量未使用的警告
|
|
1048
1007
|
const fromModule = record.node.parentNode.concept === 'Module';
|
|
1049
1008
|
const fromConnector = record.node.parentNode.concept === 'Connector';
|
|
@@ -1071,7 +1030,7 @@ let NaslServer = class NaslServer {
|
|
|
1071
1030
|
};
|
|
1072
1031
|
return diagnostic;
|
|
1073
1032
|
}
|
|
1074
|
-
|
|
1033
|
+
if (minRange.node instanceof concepts_1.Variable) {
|
|
1075
1034
|
const diagnostic = {
|
|
1076
1035
|
node: minRange.node,
|
|
1077
1036
|
severity: 'warning',
|
|
@@ -1252,7 +1211,7 @@ let NaslServer = class NaslServer {
|
|
|
1252
1211
|
const typeAnnotation = item.__TypeAnnotation;
|
|
1253
1212
|
// 仅处理有类型的情况,返回类型为void的情况由其他地方处理成报错
|
|
1254
1213
|
if (typeAnnotation) {
|
|
1255
|
-
const sortedTypeKey = typeAnnotation
|
|
1214
|
+
const { sortedTypeKey } = typeAnnotation;
|
|
1256
1215
|
if (!typeAnnotationMap[sortedTypeKey]) {
|
|
1257
1216
|
typeAnnotationMap[sortedTypeKey] = {
|
|
1258
1217
|
typeAnnotation,
|
|
@@ -1306,7 +1265,7 @@ let NaslServer = class NaslServer {
|
|
|
1306
1265
|
const typeAnnotation = value.__TypeAnnotation;
|
|
1307
1266
|
// 仅处理有类型的情况,返回类型为void的情况由其他地方处理成报错
|
|
1308
1267
|
if (typeAnnotation) {
|
|
1309
|
-
const sortedTypeKey = typeAnnotation
|
|
1268
|
+
const { sortedTypeKey } = typeAnnotation;
|
|
1310
1269
|
if (!typeAnnotationMap[sortedTypeKey]) {
|
|
1311
1270
|
typeAnnotationMap[sortedTypeKey] = {
|
|
1312
1271
|
typeAnnotation,
|
|
@@ -1404,15 +1363,6 @@ let NaslServer = class NaslServer {
|
|
|
1404
1363
|
this.baseNodeAssignmentTsError(variable, diagnostic);
|
|
1405
1364
|
diagnostics.push(diagnostic);
|
|
1406
1365
|
}
|
|
1407
|
-
else if (variable.__TypeAnnotation?.hasSystemType(node.app)) {
|
|
1408
|
-
const diagnostic = {
|
|
1409
|
-
node,
|
|
1410
|
-
severity: 'warning',
|
|
1411
|
-
message: `数据查询中不可以使用或包含系统类型!当前类型:${variable.__TypeAnnotation?.typeChineseTitle}。`,
|
|
1412
|
-
};
|
|
1413
|
-
this.baseNodeAssignmentTsError(variable, diagnostic);
|
|
1414
|
-
diagnostics.push(diagnostic);
|
|
1415
|
-
}
|
|
1416
1366
|
});
|
|
1417
1367
|
}
|
|
1418
1368
|
});
|
|
@@ -1637,17 +1587,17 @@ let NaslServer = class NaslServer {
|
|
|
1637
1587
|
if (Array.isArray(node.bindExpressions)) {
|
|
1638
1588
|
const exp = node.bindExpressions.find((bindExpression) => this.hasComponentLogics(bindExpression));
|
|
1639
1589
|
if (exp) {
|
|
1640
|
-
//const element: any = node.getAncestor('ViewElement');
|
|
1641
|
-
//const api = config.allNodesAPI[element?.tag];
|
|
1642
|
-
//const attr = api?.attrs?.find?.((attr) => {
|
|
1590
|
+
// const element: any = node.getAncestor('ViewElement');
|
|
1591
|
+
// const api = config.allNodesAPI[element?.tag];
|
|
1592
|
+
// const attr = api?.attrs?.find?.((attr) => {
|
|
1643
1593
|
// return attr.name === node.name;
|
|
1644
|
-
//});
|
|
1594
|
+
// });
|
|
1645
1595
|
const map = {
|
|
1646
1596
|
BindAttribute: '属性',
|
|
1647
1597
|
BindDirective: '指令',
|
|
1648
1598
|
BindStyle: '样式属性',
|
|
1649
1599
|
};
|
|
1650
|
-
|
|
1600
|
+
// “${attr?.title || node.title || node.name}”
|
|
1651
1601
|
const diagnostic = {
|
|
1652
1602
|
node,
|
|
1653
1603
|
severity: 'error',
|
|
@@ -1672,20 +1622,6 @@ let NaslServer = class NaslServer {
|
|
|
1672
1622
|
node.tsErrorDetail = diagnostic;
|
|
1673
1623
|
}
|
|
1674
1624
|
}
|
|
1675
|
-
else if (node instanceof concepts_1.Identifier) {
|
|
1676
|
-
// 变量如果选到了页面,因为ts会找到兄弟的同名变量,所以需要新增报错,通过类型来判断加不加
|
|
1677
|
-
// https://projectmanage.netease-official.lcap.163yun.com/dashboard/BugDetail?id=2696136968961024
|
|
1678
|
-
if (node.name && node.__TypeAnnotation?.typeKind === 'reference' && node.__TypeAnnotation?.typeNamespace?.endsWith('views')) {
|
|
1679
|
-
const errorMsg = `找不到 ${node.name}。`;
|
|
1680
|
-
const diagnostic = {
|
|
1681
|
-
node,
|
|
1682
|
-
severity: 'error',
|
|
1683
|
-
message: errorMsg,
|
|
1684
|
-
};
|
|
1685
|
-
diagnostics.push(diagnostic);
|
|
1686
|
-
node.tsErrorDetail = diagnostic;
|
|
1687
|
-
}
|
|
1688
|
-
}
|
|
1689
1625
|
else {
|
|
1690
1626
|
this.checkNodeError(node, diagnostics);
|
|
1691
1627
|
}
|
|
@@ -1833,7 +1769,7 @@ let NaslServer = class NaslServer {
|
|
|
1833
1769
|
const { default: defaultVal } = precisionOption || {};
|
|
1834
1770
|
const precision = databaseTypeAnnotation ? databaseTypeAnnotation.arguments?.precision : defaultVal;
|
|
1835
1771
|
const ruleScale = typeAnnotation?.ruleMap?.scale;
|
|
1836
|
-
const scale = ruleScale !== undefined ? ruleScale
|
|
1772
|
+
const scale = ruleScale !== undefined ? `${ruleScale}` : '';
|
|
1837
1773
|
let ensureScale = true;
|
|
1838
1774
|
switch (typeName) {
|
|
1839
1775
|
case 'String': {
|
|
@@ -1863,17 +1799,6 @@ let NaslServer = class NaslServer {
|
|
|
1863
1799
|
}
|
|
1864
1800
|
});
|
|
1865
1801
|
}
|
|
1866
|
-
else if (rulesMap?.maxLength && +dataBaseTyp?.max && +rulesMap.maxLength > +dataBaseTyp.max) {
|
|
1867
|
-
// 判断当前 最大长度 是不是比 数据库类型的最大长度 长,超过就报错
|
|
1868
|
-
const errorMsg = `最大长度超出存储长度`;
|
|
1869
|
-
const diag = {
|
|
1870
|
-
node: property,
|
|
1871
|
-
severity: 'warning',
|
|
1872
|
-
message: errorMsg,
|
|
1873
|
-
};
|
|
1874
|
-
diagnostics.push(diag);
|
|
1875
|
-
typeAnnotationErrorDetail.errorPos.maxLength = errorMsg;
|
|
1876
|
-
}
|
|
1877
1802
|
}
|
|
1878
1803
|
case 'Long': {
|
|
1879
1804
|
const { min: ruleMin, max: ruleMax } = dataBaseTyp;
|
|
@@ -1943,7 +1868,7 @@ let NaslServer = class NaslServer {
|
|
|
1943
1868
|
// 储存小数部分
|
|
1944
1869
|
const memoryScaleStr = memoryStr.slice(0, +(scale || '0'));
|
|
1945
1870
|
// 储存绝对值
|
|
1946
|
-
const memoryAbsVal = memoryIntAbsStr + (memoryScaleStr ?
|
|
1871
|
+
const memoryAbsVal = memoryIntAbsStr + (memoryScaleStr ? `.${memoryScaleStr}` : '');
|
|
1947
1872
|
const decimalMemoryAbsVal = new decimal_js_1.Decimal(memoryAbsVal);
|
|
1948
1873
|
[
|
|
1949
1874
|
{
|
|
@@ -2011,7 +1936,7 @@ let NaslServer = class NaslServer {
|
|
|
2011
1936
|
diagnostics.push(diagnostic);
|
|
2012
1937
|
}
|
|
2013
1938
|
fileNode?.sourceMap.forEach((value, node) => {
|
|
2014
|
-
//OQL支持返回复合类型数据了
|
|
1939
|
+
// OQL支持返回复合类型数据了
|
|
2015
1940
|
// SqlQueryComponent内部返回值类型,如果是嵌套的就需要报错
|
|
2016
1941
|
// if ((node instanceof OqlQueryComponent || node instanceof SqlQueryComponent) && (node as SqlQueryComponent).getTypeBanError()) {
|
|
2017
1942
|
// const diagnostic = {
|
|
@@ -2027,7 +1952,7 @@ let NaslServer = class NaslServer {
|
|
|
2027
1952
|
const typeAnnotation = (0, formatTsUtils_1.type2TypeAnnotation)(node.__nodeType);
|
|
2028
1953
|
if (!node.typeAnnotation && typeAnnotation) {
|
|
2029
1954
|
if (typeAnnotation.typeName === 'List' && typeAnnotation.typeKind === 'generic') {
|
|
2030
|
-
const typeArguments = typeAnnotation
|
|
1955
|
+
const { typeArguments } = typeAnnotation;
|
|
2031
1956
|
if (typeArguments.length && typeArguments[0].isComplexType()) {
|
|
2032
1957
|
const diagnostic = {
|
|
2033
1958
|
node,
|
|
@@ -2077,7 +2002,7 @@ let NaslServer = class NaslServer {
|
|
|
2077
2002
|
diagnostics.push(diagnostic);
|
|
2078
2003
|
}
|
|
2079
2004
|
else {
|
|
2080
|
-
|
|
2005
|
+
node.tsErrorDetail = undefined;
|
|
2081
2006
|
}
|
|
2082
2007
|
}
|
|
2083
2008
|
this.checkNodeError(node, diagnostics);
|
|
@@ -2322,7 +2247,7 @@ let NaslServer = class NaslServer {
|
|
|
2322
2247
|
if (excludeList.includes(leftType.sortedTypeKey) && excludeList.includes(rightType.sortedTypeKey)) {
|
|
2323
2248
|
return null;
|
|
2324
2249
|
}
|
|
2325
|
-
|
|
2250
|
+
if (excludeList2.includes(leftType.sortedTypeKey) || excludeList2.includes(rightType.sortedTypeKey)) {
|
|
2326
2251
|
return null;
|
|
2327
2252
|
}
|
|
2328
2253
|
const diagnostic = {
|
|
@@ -2359,7 +2284,7 @@ let NaslServer = class NaslServer {
|
|
|
2359
2284
|
if (typeKeyArr[0] === 'apis') {
|
|
2360
2285
|
const structureName = typeKeyArr[3];
|
|
2361
2286
|
const moduleName = typeKeyArr[1];
|
|
2362
|
-
const app = typeAnnotation.upperNode
|
|
2287
|
+
const { app } = typeAnnotation.upperNode;
|
|
2363
2288
|
if (!app) {
|
|
2364
2289
|
return null;
|
|
2365
2290
|
}
|
|
@@ -2376,15 +2301,13 @@ let NaslServer = class NaslServer {
|
|
|
2376
2301
|
}
|
|
2377
2302
|
return null;
|
|
2378
2303
|
}
|
|
2379
|
-
|
|
2380
|
-
return diag;
|
|
2381
|
-
}
|
|
2304
|
+
return diag;
|
|
2382
2305
|
});
|
|
2383
2306
|
if (actionArr.length) {
|
|
2384
2307
|
if (timer)
|
|
2385
2308
|
return;
|
|
2386
2309
|
timer = window.setTimeout(() => {
|
|
2387
|
-
const app = actionArr[0].target
|
|
2310
|
+
const { app } = actionArr[0].target;
|
|
2388
2311
|
app.emit('collect:start', {
|
|
2389
2312
|
actionMsg: '设置导入接口数据类型错误',
|
|
2390
2313
|
});
|
|
@@ -2446,7 +2369,7 @@ let NaslServer = class NaslServer {
|
|
|
2446
2369
|
*/
|
|
2447
2370
|
_findMinRange(diagnostic, fileNode) {
|
|
2448
2371
|
let minRange;
|
|
2449
|
-
const sourceMap = fileNode
|
|
2372
|
+
const { sourceMap } = fileNode;
|
|
2450
2373
|
// 是否找到了行内准确的,是的话,就不走多行的
|
|
2451
2374
|
let haveLineNode = false;
|
|
2452
2375
|
for (const [node, item] of sourceMap.entries()) {
|
|
@@ -2454,17 +2377,17 @@ let NaslServer = class NaslServer {
|
|
|
2454
2377
|
* 当前内容的开始行 <= 诊断开始的行 &&
|
|
2455
2378
|
* 当前内容的结束行 >= 诊断结束的行
|
|
2456
2379
|
*/
|
|
2457
|
-
if ((0, translator_1.lsp2tspNumber)(item.start.line) <= diagnostic.start.line && (0, translator_1.lsp2tspNumber)(item.end.line) >= diagnostic.end.line) {
|
|
2380
|
+
if ((0, translator_1.lsp2tspNumber)(item.range.start.line) <= diagnostic.start.line && (0, translator_1.lsp2tspNumber)(item.range.end.line) >= diagnostic.end.line) {
|
|
2458
2381
|
// 如果找到某一行
|
|
2459
|
-
if ((0, translator_1.lsp2tspNumber)(item.start.line) === diagnostic.start.line && (0, translator_1.lsp2tspNumber)(item.end.line) === diagnostic.end.line) {
|
|
2382
|
+
if ((0, translator_1.lsp2tspNumber)(item.range.start.line) === diagnostic.start.line && (0, translator_1.lsp2tspNumber)(item.range.end.line) === diagnostic.end.line) {
|
|
2460
2383
|
// 在行的范围但是又不在列的范围,不用给默认值,给了反而不对,
|
|
2461
2384
|
// 需要在列的范围内
|
|
2462
|
-
if ((0, translator_1.lsp2tspNumber)(item.start.character) <= diagnostic.start.offset &&
|
|
2463
|
-
(0, translator_1.lsp2tspNumber)(item.end.character) >= diagnostic.end.offset) {
|
|
2385
|
+
if ((0, translator_1.lsp2tspNumber)(item.range.start.character) <= diagnostic.start.offset &&
|
|
2386
|
+
(0, translator_1.lsp2tspNumber)(item.range.end.character) >= diagnostic.end.offset) {
|
|
2464
2387
|
// 比列更靠近 ,满足条件且长度更短
|
|
2465
2388
|
// 如果先走到下面有一个默认值了就像在if for里面有个表达式
|
|
2466
2389
|
// if for的内容也是包括当前的所以会重新赋值
|
|
2467
|
-
if (!minRange ||
|
|
2390
|
+
if (!minRange || item.code.length < minRange.item.code.length) {
|
|
2468
2391
|
minRange = { item, node };
|
|
2469
2392
|
haveLineNode = true;
|
|
2470
2393
|
}
|
|
@@ -2477,25 +2400,23 @@ let NaslServer = class NaslServer {
|
|
|
2477
2400
|
minRange = { node, item };
|
|
2478
2401
|
}
|
|
2479
2402
|
else if (!haveLineNode) {
|
|
2480
|
-
if ((0, translator_1.lsp2tspNumber)(item.start.line) === diagnostic.start.line &&
|
|
2481
|
-
diagnostic.start.offset >= (0, translator_1.lsp2tspNumber)(item.start.character)) {
|
|
2403
|
+
if ((0, translator_1.lsp2tspNumber)(item.range.start.line) === diagnostic.start.line &&
|
|
2404
|
+
diagnostic.start.offset >= (0, translator_1.lsp2tspNumber)(item.range.start.character)) {
|
|
2482
2405
|
// 如果当前遍历的内容的行和列都 小于之前的, 而且是有效的
|
|
2483
2406
|
// 如果两个内容位置行数是一样的,就比较下找到内容的位置信息
|
|
2484
2407
|
// 找到的内容的开始位置, 要大于申明内容开始的位置,要不就不包含在内了
|
|
2485
|
-
if (diagnostic.start.offset - item.start.character <= diagnostic.start.offset - minRange.item.start.character) {
|
|
2408
|
+
if (diagnostic.start.offset - item.range.start.character <= diagnostic.start.offset - minRange.item.range.start.character) {
|
|
2486
2409
|
minRange = { node, item };
|
|
2487
2410
|
}
|
|
2488
|
-
else {
|
|
2489
|
-
|
|
2490
|
-
minRange = { node, item };
|
|
2491
|
-
}
|
|
2411
|
+
else if (diagnostic.start.offset < (0, translator_1.lsp2tspNumber)(minRange.item.range.start.character)) {
|
|
2412
|
+
minRange = { node, item };
|
|
2492
2413
|
}
|
|
2493
2414
|
}
|
|
2494
|
-
else if (item.end.line - item.start.line <= minRange.item.end.line - minRange.item.start.line) {
|
|
2415
|
+
else if (item.range.end.line - item.range.start.line <= minRange.item.range.end.line - minRange.item.range.start.line) {
|
|
2495
2416
|
// 行都一致 ,比较列
|
|
2496
|
-
if (minRange.item.start.line === item.start.line && minRange.item.end.line === item.end.line) {
|
|
2417
|
+
if (minRange.item.range.start.line === item.range.start.line && minRange.item.range.end.line === item.range.end.line) {
|
|
2497
2418
|
// 如果两个起始和结束的行都一样,那么就比较开始列, 要比原来大,说明更精准
|
|
2498
|
-
if (item.start.character > minRange.item.start.character) {
|
|
2419
|
+
if (item.range.start.character > minRange.item.range.start.character) {
|
|
2499
2420
|
minRange = { node, item };
|
|
2500
2421
|
}
|
|
2501
2422
|
}
|
|
@@ -2529,28 +2450,26 @@ let NaslServer = class NaslServer {
|
|
|
2529
2450
|
if (currentSource) {
|
|
2530
2451
|
const newRefs = await this.references({
|
|
2531
2452
|
file: fileNode.getEmbeddedFilePath(),
|
|
2532
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2533
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
2453
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2454
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
2534
2455
|
});
|
|
2535
2456
|
refsList = [...newRefs.refs];
|
|
2536
2457
|
}
|
|
2537
|
-
else {
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
refsList.unshift(newRefs.refs[0]);
|
|
2553
|
-
}
|
|
2458
|
+
else if (node instanceof concepts_1.Module) {
|
|
2459
|
+
const lists = node.logics || node.structures || node.enums;
|
|
2460
|
+
const moduleName = fileNode.getEmbeddedFilePath();
|
|
2461
|
+
if (lists.length) {
|
|
2462
|
+
const item = lists[0];
|
|
2463
|
+
const { fileNode } = this.getCurrentSource(item);
|
|
2464
|
+
if (fileNode) {
|
|
2465
|
+
const newRefs = await this.references({
|
|
2466
|
+
file: fileNode.getEmbeddedFilePath(),
|
|
2467
|
+
line: 1,
|
|
2468
|
+
offset: 22, // 固定的位置,module的位置信息
|
|
2469
|
+
});
|
|
2470
|
+
refsList = newRefs.refs.filter((item) => !item.file.startsWith(moduleName));
|
|
2471
|
+
// 多塞一个 ,删除的时候就有值了, 上面过滤了之后可能是空的
|
|
2472
|
+
refsList.unshift(newRefs.refs[0]);
|
|
2554
2473
|
}
|
|
2555
2474
|
}
|
|
2556
2475
|
}
|
|
@@ -2573,7 +2492,7 @@ let NaslServer = class NaslServer {
|
|
|
2573
2492
|
const entity = this.file2NodeMap.get(item.file);
|
|
2574
2493
|
const { currentSource } = this.getCurrentSource(entity);
|
|
2575
2494
|
// 42 11个函数的总行数
|
|
2576
|
-
if (item.end.line < currentSource.end.line - 42 && item.start.line > 1) {
|
|
2495
|
+
if (item.end.line < currentSource.range.end.line - 42 && item.start.line > 1) {
|
|
2577
2496
|
flag = true;
|
|
2578
2497
|
}
|
|
2579
2498
|
}
|
|
@@ -2603,31 +2522,28 @@ let NaslServer = class NaslServer {
|
|
|
2603
2522
|
callQueryComponentTypeAnnotation = key;
|
|
2604
2523
|
}
|
|
2605
2524
|
});
|
|
2606
|
-
const { currentSource: qcTypeAnnotationCurrentSource, fileNode
|
|
2607
|
-
const { currentSource: logicCurrentSource
|
|
2525
|
+
const { currentSource: qcTypeAnnotationCurrentSource, fileNode } = callQueryComponentTypeAnnotation.getCurrentSource();
|
|
2526
|
+
const { currentSource: logicCurrentSource } = fileNode.getCurrentSource();
|
|
2608
2527
|
const aggregateLength = callQueryComponent.select.selectAggregateElements.filter((item) => item.aggregateName && item.asName).length;
|
|
2609
2528
|
const groupByLength = callQueryComponent.groupBy.filter((item) => item.groupElement?.propertyName && item.groupElement.asName).length;
|
|
2610
2529
|
if (!groupByLength && !aggregateLength && callQueryComponentTypeAnnotation.typeKind === 'anonymousStructure') {
|
|
2611
2530
|
// 拿到 List 的泛型(匿名数据结构)的所有属性
|
|
2612
|
-
const properties = callQueryComponentTypeAnnotation.properties[0].typeAnnotation.typeArguments[0]
|
|
2531
|
+
const { properties } = callQueryComponentTypeAnnotation.properties[0].typeAnnotation.typeArguments[0];
|
|
2613
2532
|
const targetProperty = properties.find((p) => p.name === utils.firstLowerCase(node.name));
|
|
2614
2533
|
if (!targetProperty) {
|
|
2615
2534
|
continue;
|
|
2616
2535
|
}
|
|
2617
2536
|
const { currentSource: propertyTypeCurrentSource } = targetProperty.typeAnnotation.getCurrentSource();
|
|
2618
2537
|
// 减去 ": " 2个字符、减去属性名长度
|
|
2619
|
-
const propertyCharacter = propertyTypeCurrentSource.start.character - 2 - targetProperty.name.length;
|
|
2620
|
-
const propertyOffset = propertyCharacter - qcTypeAnnotationCurrentSource.start.character;
|
|
2621
|
-
const
|
|
2622
|
-
const
|
|
2623
|
-
const logicCurrentCode = this.getNodeCode(qcTypeCurrentFileNode, logicCurrentSource);
|
|
2624
|
-
const qcTypeAnnotationOffset = logicCurrentCode.indexOf(qcTypeAnnotationCurrentCode);
|
|
2625
|
-
const declarationCodeArr = logicCurrentCode.slice(0, qcTypeAnnotationOffset).split('\n');
|
|
2538
|
+
const propertyCharacter = propertyTypeCurrentSource.range.start.character - 2 - targetProperty.name.length;
|
|
2539
|
+
const propertyOffset = propertyCharacter - qcTypeAnnotationCurrentSource.range.start.character;
|
|
2540
|
+
const qcTypeAnnotationOffset = logicCurrentSource.code.indexOf(qcTypeAnnotationCurrentSource.code);
|
|
2541
|
+
const declarationCodeArr = logicCurrentSource.code.slice(0, qcTypeAnnotationOffset).split('\n');
|
|
2626
2542
|
const line = declarationCodeArr.length - 1;
|
|
2627
2543
|
const character = declarationCodeArr[declarationCodeArr.length - 1].length;
|
|
2628
2544
|
// eslint-disable-next-line no-await-in-loop
|
|
2629
2545
|
const newRefs = await this.references({
|
|
2630
|
-
file:
|
|
2546
|
+
file: fileNode.getEmbeddedFilePath(),
|
|
2631
2547
|
line: line + 2,
|
|
2632
2548
|
offset: character + 1 + propertyOffset,
|
|
2633
2549
|
});
|
|
@@ -2653,21 +2569,21 @@ let NaslServer = class NaslServer {
|
|
|
2653
2569
|
const { currentSource } = this.getCurrentSource(logicNode);
|
|
2654
2570
|
const parentRefs = await this.references({
|
|
2655
2571
|
file: fileNode.getEmbeddedFilePath(),
|
|
2656
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2657
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
2572
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2573
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
2658
2574
|
});
|
|
2659
2575
|
refsList = [...refsList, ...parentRefs.refs];
|
|
2660
2576
|
}
|
|
2661
2577
|
// 如果是参数修改, 就需要把logic的引用 都查找出来就需要把他的父级的引用全部查找出来
|
|
2662
2578
|
if (node instanceof concepts_1.Param && (node.parentNode instanceof concepts_1.View || node.parentNode instanceof concepts_1.Process)) {
|
|
2663
2579
|
const viewNode = node.parentNode;
|
|
2664
|
-
const { currentSource
|
|
2665
|
-
const code =
|
|
2580
|
+
const { currentSource } = this.getCurrentSource(viewNode);
|
|
2581
|
+
const { code } = currentSource;
|
|
2666
2582
|
const viewIndex = code.indexOf(' {');
|
|
2667
2583
|
const viewRefs = await this.references({
|
|
2668
2584
|
file: fileNode.getEmbeddedFilePath(),
|
|
2669
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2670
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character + viewIndex),
|
|
2585
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2586
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + viewIndex),
|
|
2671
2587
|
});
|
|
2672
2588
|
let filterViewRefs = [];
|
|
2673
2589
|
if (node.parentNode instanceof concepts_1.View) {
|
|
@@ -2691,8 +2607,8 @@ let NaslServer = class NaslServer {
|
|
|
2691
2607
|
// const viewIndex = code.indexOf(' {');
|
|
2692
2608
|
// const viewRefs = await naslServer.references({
|
|
2693
2609
|
// file: (fileNode as FileNode).getEmbeddedFilePath(),
|
|
2694
|
-
// line: lsp2tspNumber(currentSource.start.line),
|
|
2695
|
-
// offset: lsp2tspNumber(currentSource.start.character + viewIndex),
|
|
2610
|
+
// line: lsp2tspNumber(currentSource.range.start.line),
|
|
2611
|
+
// offset: lsp2tspNumber(currentSource.range.start.character + viewIndex),
|
|
2696
2612
|
// });
|
|
2697
2613
|
// refsList = [...viewRefs.refs];
|
|
2698
2614
|
// }
|
|
@@ -2701,14 +2617,14 @@ let NaslServer = class NaslServer {
|
|
|
2701
2617
|
*/
|
|
2702
2618
|
if (node instanceof concepts_1.ViewElement) {
|
|
2703
2619
|
if (currentSource) {
|
|
2704
|
-
const code =
|
|
2620
|
+
const { code } = currentSource;
|
|
2705
2621
|
const prefix = '__elements.';
|
|
2706
2622
|
const prefixIndex = code.indexOf(prefix) !== -1 ? code.indexOf(prefix) : 0;
|
|
2707
2623
|
const methodsNameIndex = prefixIndex + prefix.length;
|
|
2708
2624
|
const methods = await this.references({
|
|
2709
2625
|
file: fileNode.getEmbeddedFilePath(),
|
|
2710
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2711
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character + methodsNameIndex),
|
|
2626
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2627
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + methodsNameIndex),
|
|
2712
2628
|
});
|
|
2713
2629
|
const methodRefs = [];
|
|
2714
2630
|
methods.refs.forEach((item) => {
|
|
@@ -2726,7 +2642,7 @@ let NaslServer = class NaslServer {
|
|
|
2726
2642
|
}
|
|
2727
2643
|
if (node instanceof concepts_1.Process) {
|
|
2728
2644
|
if (currentSource) {
|
|
2729
|
-
const code =
|
|
2645
|
+
const { code } = currentSource;
|
|
2730
2646
|
const prefix = '__ProcessIdentification__';
|
|
2731
2647
|
let positions = [];
|
|
2732
2648
|
let pos = code.indexOf(prefix);
|
|
@@ -2739,8 +2655,8 @@ let NaslServer = class NaslServer {
|
|
|
2739
2655
|
positions = positions.map((position) => code.indexOf('const', position + prefix.length));
|
|
2740
2656
|
const promises = positions.map((item) => this.references({
|
|
2741
2657
|
file: fileNode.getEmbeddedFilePath(),
|
|
2742
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2743
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character + item),
|
|
2658
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2659
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + item),
|
|
2744
2660
|
}));
|
|
2745
2661
|
const results = await Promise.all(promises);
|
|
2746
2662
|
results.forEach((constRefs) => {
|
|
@@ -2749,9 +2665,9 @@ let NaslServer = class NaslServer {
|
|
|
2749
2665
|
}
|
|
2750
2666
|
}
|
|
2751
2667
|
if ((node instanceof concepts_1.Param || node instanceof concepts_1.Return) && node.parentNode instanceof concepts_1.Process) {
|
|
2752
|
-
const { currentSource
|
|
2668
|
+
const { currentSource } = this.getCurrentSource(node.parentNode);
|
|
2753
2669
|
if (currentSource) {
|
|
2754
|
-
const code =
|
|
2670
|
+
const { code } = currentSource;
|
|
2755
2671
|
const prefix = '__ProcessIdentification__';
|
|
2756
2672
|
const positions = [];
|
|
2757
2673
|
let pos = code.indexOf(prefix);
|
|
@@ -2768,8 +2684,8 @@ let NaslServer = class NaslServer {
|
|
|
2768
2684
|
// 拿到标识下定义的参数名字
|
|
2769
2685
|
const promises = positions.map((item) => this.references({
|
|
2770
2686
|
file: fileNode.getEmbeddedFilePath(),
|
|
2771
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2772
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character + item),
|
|
2687
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2688
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + item),
|
|
2773
2689
|
}));
|
|
2774
2690
|
const results = await Promise.all(promises);
|
|
2775
2691
|
results.forEach((constRefs) => {
|
|
@@ -2779,7 +2695,7 @@ let NaslServer = class NaslServer {
|
|
|
2779
2695
|
}
|
|
2780
2696
|
if (node instanceof concepts_1.ProcessElement) {
|
|
2781
2697
|
if (currentSource) {
|
|
2782
|
-
const code =
|
|
2698
|
+
const { code } = currentSource;
|
|
2783
2699
|
const prefix = '__ProcessIdentification__';
|
|
2784
2700
|
let positions = [];
|
|
2785
2701
|
let pos = code.indexOf(prefix);
|
|
@@ -2791,8 +2707,8 @@ let NaslServer = class NaslServer {
|
|
|
2791
2707
|
positions = positions.map((position) => code.indexOf(`${node.name}:`, position + prefix.length));
|
|
2792
2708
|
const promises = positions.map((item) => this.references({
|
|
2793
2709
|
file: fileNode.getEmbeddedFilePath(),
|
|
2794
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2795
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character + item),
|
|
2710
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2711
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + item),
|
|
2796
2712
|
}));
|
|
2797
2713
|
const results = await Promise.all(promises);
|
|
2798
2714
|
results.forEach((constRefs) => {
|
|
@@ -2801,9 +2717,9 @@ let NaslServer = class NaslServer {
|
|
|
2801
2717
|
}
|
|
2802
2718
|
}
|
|
2803
2719
|
if (node instanceof concepts_1.Return && node.parentNode instanceof concepts_1.ProcessElement) {
|
|
2804
|
-
const { currentSource
|
|
2720
|
+
const { currentSource } = this.getCurrentSource(node.parentNode);
|
|
2805
2721
|
if (currentSource) {
|
|
2806
|
-
const code =
|
|
2722
|
+
const { code } = currentSource;
|
|
2807
2723
|
const prefix = '__ProcessIdentification__';
|
|
2808
2724
|
const positions = [];
|
|
2809
2725
|
let pos = code.indexOf(prefix);
|
|
@@ -2823,8 +2739,8 @@ let NaslServer = class NaslServer {
|
|
|
2823
2739
|
// 拿到标识下定义的参数名字
|
|
2824
2740
|
const promises = positions.map((item) => this.references({
|
|
2825
2741
|
file: fileNode.getEmbeddedFilePath(),
|
|
2826
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
2827
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character + item),
|
|
2742
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
2743
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + item),
|
|
2828
2744
|
}));
|
|
2829
2745
|
const results = await Promise.all(promises);
|
|
2830
2746
|
results.forEach((constRefs) => {
|
|
@@ -2876,7 +2792,7 @@ let NaslServer = class NaslServer {
|
|
|
2876
2792
|
}
|
|
2877
2793
|
if (minRange.node instanceof concepts_1.CallLogic && node instanceof concepts_1.ViewElement) {
|
|
2878
2794
|
minRange.setTypeMethods = 'setCalleeNamespace';
|
|
2879
|
-
minRange.newValue =
|
|
2795
|
+
minRange.newValue = `elements.${newValue}.logics`;
|
|
2880
2796
|
}
|
|
2881
2797
|
// 如果节点是实体修改引发calllogic修改
|
|
2882
2798
|
if (minRange.node instanceof concepts_1.CallLogic &&
|
|
@@ -2893,9 +2809,9 @@ let NaslServer = class NaslServer {
|
|
|
2893
2809
|
* 3.然后把namespace中的 $替换成 ''
|
|
2894
2810
|
*
|
|
2895
2811
|
*/
|
|
2896
|
-
const tsCalleeNamespace = minRange.node
|
|
2812
|
+
const { tsCalleeNamespace } = minRange.node;
|
|
2897
2813
|
// 先看下标位置
|
|
2898
|
-
const lineText = record
|
|
2814
|
+
const { lineText } = record;
|
|
2899
2815
|
const index = lineText.indexOf(tsCalleeNamespace);
|
|
2900
2816
|
// 在把开始结束位置的-开始位置,来知道是哪里要替换
|
|
2901
2817
|
const start = record.start.offset - index - 1;
|
|
@@ -2930,12 +2846,12 @@ let NaslServer = class NaslServer {
|
|
|
2930
2846
|
if (minRange.node instanceof concepts_1.Identifier) {
|
|
2931
2847
|
// 匹配到的内容,当前这一行的内容;
|
|
2932
2848
|
// 因为要用下面的点位信息
|
|
2933
|
-
const name = minRange.node
|
|
2849
|
+
const { name } = minRange.node;
|
|
2934
2850
|
// 如果name不改,那就是要改命名空间
|
|
2935
2851
|
if (node instanceof concepts_1.Frontend || newValue === name) {
|
|
2936
|
-
const namespace = minRange.node
|
|
2852
|
+
const { namespace } = minRange.node;
|
|
2937
2853
|
// 先看下标位置
|
|
2938
|
-
const lineText = record
|
|
2854
|
+
const { lineText } = record;
|
|
2939
2855
|
const index = lineText.indexOf(namespace);
|
|
2940
2856
|
// 在把开始结束位置的-开始位置,来知道是哪里要替换
|
|
2941
2857
|
const start = record.start.offset - index - 1;
|
|
@@ -2967,7 +2883,7 @@ let NaslServer = class NaslServer {
|
|
|
2967
2883
|
// 枚举key的特殊性,因为它不是原来的key+value形式的
|
|
2968
2884
|
// 是加了中括号啥的,所以直接赋值新值
|
|
2969
2885
|
if (node instanceof concepts_1.EnumItem) {
|
|
2970
|
-
const newTextValue = node.parentNode.name
|
|
2886
|
+
const newTextValue = `${node.parentNode.name}.${newValue}`;
|
|
2971
2887
|
minRange.newValue = newTextValue;
|
|
2972
2888
|
}
|
|
2973
2889
|
else {
|
|
@@ -3007,7 +2923,7 @@ let NaslServer = class NaslServer {
|
|
|
3007
2923
|
}
|
|
3008
2924
|
else if (minRange.node instanceof concepts_1.BindAttribute && minRange.node.name === 'url') {
|
|
3009
2925
|
// 如果是查找到 上传地址的链接引用
|
|
3010
|
-
let newName = newValue.replace(/[A-Z]/g, (item) =>
|
|
2926
|
+
let newName = newValue.replace(/[A-Z]/g, (item) => `-${item.toLowerCase()}`);
|
|
3011
2927
|
newName = newName[0] === '-' ? newName.slice(1) : newName;
|
|
3012
2928
|
const newTextValue = node.parentNode.name === 'defaultDS' ? `/api/${newName}/import` : `/api/${node.parentNode.name}/${newName}/import`;
|
|
3013
2929
|
minRange.setTypeMethods = 'setUrlValue';
|
|
@@ -3047,11 +2963,11 @@ let NaslServer = class NaslServer {
|
|
|
3047
2963
|
* 3.然后把namespace中的 $替换成 ''
|
|
3048
2964
|
*
|
|
3049
2965
|
*/
|
|
3050
|
-
const tsCalleeNamespace = minRange.node
|
|
3051
|
-
const tsName = minRange.node
|
|
3052
|
-
const oldValue = tsCalleeNamespace
|
|
2966
|
+
const { tsCalleeNamespace } = minRange.node;
|
|
2967
|
+
const { tsName } = minRange.node;
|
|
2968
|
+
const oldValue = `${tsCalleeNamespace}.${tsName}`;
|
|
3053
2969
|
// 先看下标位置
|
|
3054
|
-
const lineText = record
|
|
2970
|
+
const { lineText } = record;
|
|
3055
2971
|
const index = lineText.indexOf(oldValue);
|
|
3056
2972
|
// 在把开始结束位置的-开始位置,来知道是哪里要替换
|
|
3057
2973
|
const start = record.start.offset - index - 1;
|
|
@@ -3069,11 +2985,11 @@ let NaslServer = class NaslServer {
|
|
|
3069
2985
|
}
|
|
3070
2986
|
}
|
|
3071
2987
|
if (node instanceof concepts_1.Frontend && minRange.node instanceof concepts_1.Destination) {
|
|
3072
|
-
const tsCalleeNamespace = minRange.node
|
|
3073
|
-
const tsName = minRange.node
|
|
3074
|
-
const oldValue = tsCalleeNamespace
|
|
2988
|
+
const { tsCalleeNamespace } = minRange.node;
|
|
2989
|
+
const { tsName } = minRange.node;
|
|
2990
|
+
const oldValue = `${tsCalleeNamespace}.${tsName}`;
|
|
3075
2991
|
// 先看下标位置
|
|
3076
|
-
const lineText = record
|
|
2992
|
+
const { lineText } = record;
|
|
3077
2993
|
const index = lineText.indexOf(oldValue);
|
|
3078
2994
|
// 在把开始结束位置的-开始位置,来知道是哪里要替换
|
|
3079
2995
|
const start = record.start.offset - index - 1;
|
|
@@ -3093,7 +3009,7 @@ let NaslServer = class NaslServer {
|
|
|
3093
3009
|
// 页面逻辑直接赋值就可以, 因为是相对路径
|
|
3094
3010
|
if (node instanceof concepts_1.ViewElement) {
|
|
3095
3011
|
minRange.setTypeMethods = 'setCalleeNamespace';
|
|
3096
|
-
minRange.newValue =
|
|
3012
|
+
minRange.newValue = `elements.${newValue}.logics`;
|
|
3097
3013
|
}
|
|
3098
3014
|
else {
|
|
3099
3015
|
/**
|
|
@@ -3105,10 +3021,10 @@ let NaslServer = class NaslServer {
|
|
|
3105
3021
|
* 2.在匹配到的内容中取转后的namespace的位置
|
|
3106
3022
|
* 3.然后把namespace中的 $替换成 ''
|
|
3107
3023
|
*/
|
|
3108
|
-
const tsCalleeNamespace = minRange.node
|
|
3024
|
+
const { tsCalleeNamespace } = minRange.node;
|
|
3109
3025
|
const oldValue = tsCalleeNamespace;
|
|
3110
3026
|
// 先看下标位置
|
|
3111
|
-
const lineText = record
|
|
3027
|
+
const { lineText } = record;
|
|
3112
3028
|
const index = lineText.indexOf(oldValue);
|
|
3113
3029
|
// 在把开始结束位置的-开始位置,来知道是哪里要替换
|
|
3114
3030
|
const start = record.start.offset - index - 1;
|
|
@@ -3171,7 +3087,7 @@ let NaslServer = class NaslServer {
|
|
|
3171
3087
|
if (node instanceof concepts_1.DataSource) {
|
|
3172
3088
|
const setTypeNamespace = (typeNamespace, record) => {
|
|
3173
3089
|
// 先看下标位置
|
|
3174
|
-
const lineText = record
|
|
3090
|
+
const { lineText } = record;
|
|
3175
3091
|
const index = lineText.indexOf(typeNamespace);
|
|
3176
3092
|
// 在把开始结束位置的-开始位置,来知道是哪里要替换
|
|
3177
3093
|
const start = record.start.offset - index - 1;
|
|
@@ -3297,7 +3213,7 @@ let NaslServer = class NaslServer {
|
|
|
3297
3213
|
if (a.node.concept === 'QueryFieldExpression') {
|
|
3298
3214
|
return 1;
|
|
3299
3215
|
}
|
|
3300
|
-
|
|
3216
|
+
if (b.node.concept === 'QueryFieldExpression') {
|
|
3301
3217
|
return -1;
|
|
3302
3218
|
}
|
|
3303
3219
|
return 0;
|
|
@@ -3545,7 +3461,7 @@ let NaslServer = class NaslServer {
|
|
|
3545
3461
|
getCurrentSource(node) {
|
|
3546
3462
|
if (node instanceof concepts_1.App || node instanceof concepts_1.Theme)
|
|
3547
3463
|
return { fileNode: null };
|
|
3548
|
-
let sourceMap = node
|
|
3464
|
+
let { sourceMap } = node;
|
|
3549
3465
|
let fileNode = node;
|
|
3550
3466
|
// 如果没有sourceMap,就继续向上找 ,或者到module结束
|
|
3551
3467
|
// 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
|
|
@@ -3574,8 +3490,8 @@ let NaslServer = class NaslServer {
|
|
|
3574
3490
|
handlingCurrentSourceException(currentSource, node) {
|
|
3575
3491
|
// 如果有前面的一些注解,元素在最后一行输出的值就给最后一行
|
|
3576
3492
|
if (node instanceof concepts_1.EntityProperty) {
|
|
3577
|
-
if (currentSource.start.line !== currentSource.end.line) {
|
|
3578
|
-
currentSource.start = { ...currentSource.start, line: currentSource.end.line };
|
|
3493
|
+
if (currentSource.range.start.line !== currentSource.range.end.line) {
|
|
3494
|
+
currentSource.range.start = { ...currentSource.range.start, line: currentSource.range.end.line };
|
|
3579
3495
|
}
|
|
3580
3496
|
}
|
|
3581
3497
|
}
|
|
@@ -3584,19 +3500,19 @@ let NaslServer = class NaslServer {
|
|
|
3584
3500
|
const { currentSource, fileNode } = this.getCurrentSource(node);
|
|
3585
3501
|
if (currentSource && fileNode) {
|
|
3586
3502
|
const range = {
|
|
3587
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
3588
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
3503
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
3504
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
3589
3505
|
};
|
|
3590
3506
|
// foreach 在最后一行自动补全
|
|
3591
3507
|
if (node.concept === 'ForEachStatement') {
|
|
3592
|
-
range.line = currentSource.end.line;
|
|
3508
|
+
range.line = currentSource.range.end.line;
|
|
3593
3509
|
range.offset = 0;
|
|
3594
3510
|
}
|
|
3595
3511
|
else if (node.concept === 'BindAttribute') {
|
|
3596
|
-
range.offset
|
|
3512
|
+
range.offset += 7;
|
|
3597
3513
|
}
|
|
3598
3514
|
else if (node.concept === 'BindDirective') {
|
|
3599
|
-
range.offset
|
|
3515
|
+
range.offset += 5;
|
|
3600
3516
|
}
|
|
3601
3517
|
return this._getFieldKeySelectCompletion({
|
|
3602
3518
|
file: fileNode.getEmbeddedFilePath(),
|
|
@@ -3604,9 +3520,7 @@ let NaslServer = class NaslServer {
|
|
|
3604
3520
|
getFieldKey: fieldKey,
|
|
3605
3521
|
});
|
|
3606
3522
|
}
|
|
3607
|
-
|
|
3608
|
-
console.log('没找到节点', currentSource, fileNode);
|
|
3609
|
-
}
|
|
3523
|
+
console.log('没找到节点', currentSource, fileNode);
|
|
3610
3524
|
}
|
|
3611
3525
|
_getFieldKeySelectCompletion(args) {
|
|
3612
3526
|
return this.messager.requestCommand('getFieldKeySelectCompletion', args);
|
|
@@ -3654,7 +3568,7 @@ let NaslServer = class NaslServer {
|
|
|
3654
3568
|
});
|
|
3655
3569
|
return [...fileNodes];
|
|
3656
3570
|
}
|
|
3657
|
-
|
|
3571
|
+
/** 获取当前节点的已知类型
|
|
3658
3572
|
* @param node 当前要获取类型的节点
|
|
3659
3573
|
* @returns 不需要去查就可以返回类型的节点
|
|
3660
3574
|
*/
|
|
@@ -3743,7 +3657,7 @@ let NaslServer = class NaslServer {
|
|
|
3743
3657
|
}
|
|
3744
3658
|
// 如果 入参不是虚拟节点的,就不去请求类型
|
|
3745
3659
|
// 只有虚拟节点的入参,才没有类型
|
|
3746
|
-
if (node.concept === 'Param' &&
|
|
3660
|
+
if (node.concept === 'Param' && node.parentKey !== 'virtualParams' && node.parentKey !== 'item') {
|
|
3747
3661
|
return;
|
|
3748
3662
|
}
|
|
3749
3663
|
if (![
|
|
@@ -3775,75 +3689,69 @@ let NaslServer = class NaslServer {
|
|
|
3775
3689
|
newQuickInfoNodes.push(itemDetail);
|
|
3776
3690
|
const fileDetail = {
|
|
3777
3691
|
file: filePath,
|
|
3778
|
-
line: (0, translator_1.lsp2tspNumber)(item.start.line),
|
|
3779
|
-
offset: (0, translator_1.lsp2tspNumber)(item.start.character),
|
|
3780
|
-
};
|
|
3781
|
-
const getCode = (range) => {
|
|
3782
|
-
return this.tsFiles.get(filePath)?.slice(range.start.offset, range.end.offset) ?? '';
|
|
3692
|
+
line: (0, translator_1.lsp2tspNumber)(item.range.start.line),
|
|
3693
|
+
offset: (0, translator_1.lsp2tspNumber)(item.range.start.character),
|
|
3783
3694
|
};
|
|
3784
3695
|
// 位置计算偏移
|
|
3785
3696
|
if ('getQuickInfoOffset' in node) {
|
|
3786
|
-
Object.assign(fileDetail, node.getQuickInfoOffset(fileDetail,
|
|
3697
|
+
Object.assign(fileDetail, node.getQuickInfoOffset(fileDetail, item.code));
|
|
3787
3698
|
}
|
|
3788
3699
|
// 位置计算偏移2
|
|
3789
3700
|
// TODO: 之后考虑把这些偏移量计算全都挪到节点内部去
|
|
3790
3701
|
if (node.concept === 'BinaryExpression' ||
|
|
3702
|
+
node.concept === 'CallLogic' ||
|
|
3791
3703
|
node.concept === 'CallFunction' ||
|
|
3792
3704
|
node.concept === 'CallInterface') {
|
|
3793
|
-
const code = getCode(item);
|
|
3794
3705
|
// 如果没有括号 ,括号就在外面,就 -1
|
|
3795
3706
|
// 有括号就找到括号的位置 然后 -1
|
|
3796
3707
|
let indexOf = 0;
|
|
3797
|
-
if (!code.includes('(')) {
|
|
3708
|
+
if (!item.code.includes('(')) {
|
|
3798
3709
|
indexOf = -1;
|
|
3799
3710
|
}
|
|
3800
3711
|
else {
|
|
3801
3712
|
// 如果有泛型先往前找一找
|
|
3802
|
-
if (code.includes('<')) {
|
|
3803
|
-
indexOf = Math.min(code.indexOf('<'), code.indexOf('('));
|
|
3713
|
+
if (item.code.includes('<')) {
|
|
3714
|
+
indexOf = Math.min(item.code.indexOf('<'), item.code.indexOf('('));
|
|
3804
3715
|
}
|
|
3805
3716
|
else {
|
|
3806
|
-
indexOf = code.indexOf('(');
|
|
3717
|
+
indexOf = item.code.indexOf('(');
|
|
3807
3718
|
}
|
|
3808
|
-
const subStr = code.substring(0, indexOf);
|
|
3719
|
+
const subStr = item.code.substring(0, indexOf);
|
|
3809
3720
|
const codeArr = subStr?.split('.');
|
|
3810
3721
|
const lastLen = codeArr?.[codeArr.length - 1]?.length;
|
|
3811
3722
|
indexOf = subStr.length - lastLen;
|
|
3812
3723
|
}
|
|
3813
|
-
fileDetail.offset
|
|
3724
|
+
fileDetail.offset += indexOf;
|
|
3814
3725
|
}
|
|
3815
3726
|
else if (node.concept === 'MemberExpression' ||
|
|
3816
3727
|
node.concept === 'Identifier' ||
|
|
3817
3728
|
node.concept === 'QueryFieldExpression' ||
|
|
3818
3729
|
node.concept === 'QueryGroupByExpression') {
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
const codeArr = code?.split('.');
|
|
3730
|
+
if (item.code.includes('.')) {
|
|
3731
|
+
const codeArr = item.code?.split('.');
|
|
3822
3732
|
const lastLen = codeArr?.[codeArr.length - 1]?.length;
|
|
3823
3733
|
// MemberExpression取最后一位当做类型
|
|
3824
|
-
const indexOf = code.length - lastLen;
|
|
3825
|
-
fileDetail.offset
|
|
3734
|
+
const indexOf = item.code.length - lastLen;
|
|
3735
|
+
fileDetail.offset += indexOf;
|
|
3826
3736
|
}
|
|
3827
3737
|
}
|
|
3828
3738
|
else if (node.concept === 'Match') {
|
|
3829
|
-
const code = getCode(item);
|
|
3830
3739
|
// 去查return 后面的返回值,变成函数调用
|
|
3831
|
-
if (code?.endsWith(';\n')) {
|
|
3832
|
-
fileDetail.line = item.end.line - 1;
|
|
3740
|
+
if (item.code?.endsWith(';\n')) {
|
|
3741
|
+
fileDetail.line = item.range.end.line - 1;
|
|
3833
3742
|
}
|
|
3834
3743
|
else {
|
|
3835
|
-
fileDetail.line = item.end.line;
|
|
3744
|
+
fileDetail.line = item.range.end.line;
|
|
3836
3745
|
}
|
|
3837
|
-
const indexOf = code.indexOf('return __MatchExpressionFuntion');
|
|
3838
|
-
let newCode = code.substring(0, indexOf);
|
|
3746
|
+
const indexOf = item.code.indexOf('return __MatchExpressionFuntion');
|
|
3747
|
+
let newCode = item.code.substring(0, indexOf);
|
|
3839
3748
|
newCode = newCode.substring(newCode.lastIndexOf('\n'), indexOf);
|
|
3840
3749
|
fileDetail.offset = newCode.length + 'return '.length;
|
|
3841
3750
|
}
|
|
3842
3751
|
else if (['NewComposite', 'NewList', 'NewMap'].includes(node.concept)) {
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
let newCode = code.substring(0, indexOf);
|
|
3752
|
+
fileDetail.line = item.range.end.line;
|
|
3753
|
+
const indexOf = item.code.indexOf('return __newComposite');
|
|
3754
|
+
let newCode = item.code.substring(0, indexOf);
|
|
3847
3755
|
newCode = newCode.substring(newCode.lastIndexOf('\n'), indexOf);
|
|
3848
3756
|
fileDetail.offset = newCode.length + 'return '.length;
|
|
3849
3757
|
}
|
|
@@ -3857,15 +3765,9 @@ let NaslServer = class NaslServer {
|
|
|
3857
3765
|
const item = resultMap?.[file]?.[line]?.[offset];
|
|
3858
3766
|
const itemType = item?.[0]?.nodeType;
|
|
3859
3767
|
const nodeTypeAnnotation = (0, formatTsUtils_1.type2TypeAnnotation)(itemType);
|
|
3860
|
-
const node = newQuickInfoNodes[index]
|
|
3768
|
+
const { node } = newQuickInfoNodes[index];
|
|
3861
3769
|
types.set(node, Object.freeze(nodeTypeAnnotation));
|
|
3862
|
-
|
|
3863
|
-
if (type) {
|
|
3864
|
-
node.__nodeType = type;
|
|
3865
|
-
}
|
|
3866
|
-
else {
|
|
3867
|
-
delete node.__nodeType;
|
|
3868
|
-
}
|
|
3770
|
+
node.__nodeType = itemType ? (Object.isFrozen(itemType) ? itemType : Object.freeze(itemType)) : null;
|
|
3869
3771
|
});
|
|
3870
3772
|
await utils.timeSlicing(Array.from(getFromOthers.entries()), ([node]) => {
|
|
3871
3773
|
if (node instanceof concepts_1.Assignment) {
|
|
@@ -3899,9 +3801,9 @@ let NaslServer = class NaslServer {
|
|
|
3899
3801
|
const typeAnnotation = value;
|
|
3900
3802
|
if (!node.typeAnnotation && typeAnnotation) {
|
|
3901
3803
|
if (typeAnnotation.typeName === 'List' && typeAnnotation.typeKind === 'generic') {
|
|
3902
|
-
const typeArguments = typeAnnotation
|
|
3804
|
+
const { typeArguments } = typeAnnotation;
|
|
3903
3805
|
if (typeArguments.length && typeArguments[0].isComplexType()) {
|
|
3904
|
-
|
|
3806
|
+
node.__TypeAnnotation = null;
|
|
3905
3807
|
return;
|
|
3906
3808
|
}
|
|
3907
3809
|
}
|
|
@@ -3916,13 +3818,13 @@ let NaslServer = class NaslServer {
|
|
|
3916
3818
|
}
|
|
3917
3819
|
else {
|
|
3918
3820
|
// 清空原来已经赋值上去的类型,可能原来有现在没有了
|
|
3919
|
-
|
|
3821
|
+
node.__TypeAnnotation = null;
|
|
3920
3822
|
}
|
|
3921
3823
|
}
|
|
3922
3824
|
catch (err) {
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3825
|
+
if (globalThis.window) {
|
|
3826
|
+
// console.log(err);
|
|
3827
|
+
}
|
|
3926
3828
|
}
|
|
3927
3829
|
});
|
|
3928
3830
|
return types;
|
|
@@ -4057,7 +3959,7 @@ let NaslServer = class NaslServer {
|
|
|
4057
3959
|
(matchExpression instanceof concepts_1.Identifier || matchExpression instanceof concepts_1.MemberExpression)) {
|
|
4058
3960
|
const { currentSource, fileNode } = matchExpression?.getCurrentSource();
|
|
4059
3961
|
fileNode.sourceMap.forEach((item, itemNode) => {
|
|
4060
|
-
if (itemNode.concept === matchExpression.concept &&
|
|
3962
|
+
if (itemNode.concept === matchExpression.concept && item.code === currentSource.code) {
|
|
4061
3963
|
const jsonNode = jsoner.queryNodeByPath(json, itemNode.getNodePath(false));
|
|
4062
3964
|
jsonNode.typeAnnotation = matchExpression.__TypeAnnotation;
|
|
4063
3965
|
}
|
|
@@ -4115,7 +4017,7 @@ let NaslServer = class NaslServer {
|
|
|
4115
4017
|
}
|
|
4116
4018
|
}
|
|
4117
4019
|
// 用户自己声明的用用户的
|
|
4118
|
-
const callObj = App.findNodeByCompleteName(parent.calleeNamespace
|
|
4020
|
+
const callObj = App.findNodeByCompleteName(`${parent.calleeNamespace}.${parent.calleeName}`);
|
|
4119
4021
|
const index = parent.arguments.indexOf(node);
|
|
4120
4022
|
const param = callObj?.params?.[index] || {};
|
|
4121
4023
|
// 取出参数的类型
|
|
@@ -4349,16 +4251,16 @@ let NaslServer = class NaslServer {
|
|
|
4349
4251
|
*/
|
|
4350
4252
|
const oldRefs = await this.references({
|
|
4351
4253
|
file: fileNode.getEmbeddedFilePath(),
|
|
4352
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
4353
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
4254
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
4255
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
4354
4256
|
});
|
|
4355
4257
|
oldRefs.refs.forEach((ref) => this.filesToCheck.add(ref.file));
|
|
4356
4258
|
// 更新文件之后
|
|
4357
4259
|
await this.updateFiles({ outputFiles });
|
|
4358
4260
|
const newRefs2 = await this.references({
|
|
4359
4261
|
file: fileNode.getEmbeddedFilePath(),
|
|
4360
|
-
line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
|
|
4361
|
-
offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character),
|
|
4262
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
4263
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
4362
4264
|
});
|
|
4363
4265
|
newRefs2.refs.forEach((ref) => this.filesToCheck.add(ref.file));
|
|
4364
4266
|
}
|
|
@@ -4375,7 +4277,7 @@ let NaslServer = class NaslServer {
|
|
|
4375
4277
|
*/
|
|
4376
4278
|
async incidentalAction(action, fileNode, targetNode, oldpath) {
|
|
4377
4279
|
if ((action === 'create' || action === 'delete' || (action === 'update' && oldpath)) && fileNode === targetNode) {
|
|
4378
|
-
|
|
4280
|
+
// 删除、更改、新增端
|
|
4379
4281
|
if (fileNode instanceof concepts_1.Frontend && (fileNode.views?.length || fileNode.variables?.length)) {
|
|
4380
4282
|
const fileNodeChildren = [...fileNode.views, ...fileNode.variables];
|
|
4381
4283
|
for (let i = 0; i < fileNodeChildren.length; i++) {
|
|
@@ -4393,7 +4295,7 @@ let NaslServer = class NaslServer {
|
|
|
4393
4295
|
else if (action === 'update' && oldpath) {
|
|
4394
4296
|
const parentPath = oldpath.replace('.ts', '/');
|
|
4395
4297
|
const foldName = fileNodeItem.concept === 'View' ? 'views' : 'variables';
|
|
4396
|
-
const currentOldPath = parentPath + foldName
|
|
4298
|
+
const currentOldPath = `${parentPath + foldName}/${fileNodeItem.name}.ts`;
|
|
4397
4299
|
// 因为重命名这里只有当前修改父级的 旧名称, 所以他的子集也要根据旧名称去查依赖 更新内容
|
|
4398
4300
|
await this.handleRename(fileNodeItem, fileNodeItem, result, currentOldPath);
|
|
4399
4301
|
await this.incidentalAction(action, fileNodeItem, fileNodeItem, currentOldPath);
|
|
@@ -4417,7 +4319,7 @@ let NaslServer = class NaslServer {
|
|
|
4417
4319
|
}
|
|
4418
4320
|
else if (action === 'update' && oldpath) {
|
|
4419
4321
|
const parentPath = oldpath.replace('.ts', '/');
|
|
4420
|
-
const currentOldPath = parentPath + fileNodeItem.name
|
|
4322
|
+
const currentOldPath = `${parentPath + fileNodeItem.name}.ts`;
|
|
4421
4323
|
// 因为重命名这里只有当前修改父级的 旧名称, 所以他的子集也要根据旧名称去查依赖 更新内容
|
|
4422
4324
|
await this.handleRename(fileNodeItem, fileNodeItem, result, currentOldPath);
|
|
4423
4325
|
await this.incidentalAction(action, fileNodeItem, fileNodeItem, currentOldPath);
|
|
@@ -4462,7 +4364,7 @@ let NaslServer = class NaslServer {
|
|
|
4462
4364
|
try {
|
|
4463
4365
|
const result = entity.toEmbeddedTSFile();
|
|
4464
4366
|
const parentPath = oldpath.replace('.ts', '/');
|
|
4465
|
-
const currentOldPath = parentPath
|
|
4367
|
+
const currentOldPath = `${parentPath}/entities/${entity.name}.ts`;
|
|
4466
4368
|
// 因为重命名这里只有当前修改父级的 旧名称, 所以他的子集也要根据旧名称去查依赖 更新内容
|
|
4467
4369
|
await this.handleRename(entity, entity, result, currentOldPath);
|
|
4468
4370
|
}
|
|
@@ -4476,7 +4378,7 @@ let NaslServer = class NaslServer {
|
|
|
4476
4378
|
async receiveHandleChange($event) {
|
|
4477
4379
|
this.singleFileChangeIng = true;
|
|
4478
4380
|
// 行为
|
|
4479
|
-
const action = $event
|
|
4381
|
+
const { action } = $event;
|
|
4480
4382
|
const targetNode = $event.target;
|
|
4481
4383
|
// Connection 相关配置的更新不需要写入文件
|
|
4482
4384
|
if (targetNode?.parentNode instanceof concepts_1.Connection) {
|
|
@@ -4496,14 +4398,9 @@ let NaslServer = class NaslServer {
|
|
|
4496
4398
|
}
|
|
4497
4399
|
return;
|
|
4498
4400
|
}
|
|
4499
|
-
|
|
4500
|
-
console.time('重新生成 TS 文件');
|
|
4501
|
-
}
|
|
4401
|
+
console.time('重新生成 TS 文件');
|
|
4502
4402
|
const result = fileNode.toEmbeddedTSFile();
|
|
4503
|
-
|
|
4504
|
-
console.timeEnd('重新生成 TS 文件');
|
|
4505
|
-
console.log('重新生成 TS 文件', fileNode.getEmbeddedFilePath());
|
|
4506
|
-
}
|
|
4403
|
+
console.timeEnd('重新生成 TS 文件');
|
|
4507
4404
|
// 当前操作的节点
|
|
4508
4405
|
// 如果当前没有生成tsFile
|
|
4509
4406
|
if (!result) {
|
|
@@ -4549,18 +4446,13 @@ let NaslServer = class NaslServer {
|
|
|
4549
4446
|
this.changeFileNext();
|
|
4550
4447
|
}
|
|
4551
4448
|
else {
|
|
4552
|
-
|
|
4553
|
-
console.info('校验以下文件', Array.from(this.filesToCheck));
|
|
4554
|
-
}
|
|
4449
|
+
console.info(Array.from(this.filesToCheck));
|
|
4555
4450
|
await this.getDiagnosticRecordsAndPushAll(Array.from(this.filesToCheck));
|
|
4556
4451
|
this.filesToCheck.clear();
|
|
4557
4452
|
}
|
|
4558
4453
|
});
|
|
4559
4454
|
}
|
|
4560
4455
|
}
|
|
4561
|
-
getNodeCode(fileNode, range) {
|
|
4562
|
-
return (this.tsFiles.get(fileNode.getEmbeddedFilePath()) ?? '').slice(range.start.offset, range.end.offset);
|
|
4563
|
-
}
|
|
4564
4456
|
};
|
|
4565
4457
|
__decorate([
|
|
4566
4458
|
(0, decorators_1.withQueueExecute)('diagnostic')
|