@lcap/nasl 3.4.0-alpha.1 → 3.4.0-beta.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 +8 -5
- package/out/bak/translator.js.map +1 -1
- package/out/breakpoint/generator/AfterStartNode.js +2 -1
- package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
- package/out/breakpoint/generator/BeforeEndNode.js +2 -1
- package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
- package/out/breakpoint/generator/BreakpointNode.js +30 -9
- package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
- package/out/breakpoint/shared/constants.d.ts +1 -0
- package/out/breakpoint/shared/constants.js +7 -1
- package/out/breakpoint/shared/constants.js.map +1 -1
- package/out/breakpoint/shared/utils.d.ts +3 -1
- package/out/breakpoint/shared/utils.js +25 -4
- package/out/breakpoint/shared/utils.js.map +1 -1
- package/out/common/BaseNode.d.ts +30 -14
- package/out/common/BaseNode.js +186 -119
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/Command.js +6 -1
- package/out/common/Command.js.map +1 -1
- package/out/common/EventEmitter.d.ts +1 -1
- package/out/common/EventEmitter.js +1 -3
- package/out/common/EventEmitter.js.map +1 -1
- package/out/common/index.d.ts +0 -1
- package/out/common/index.js +0 -1
- package/out/common/index.js.map +1 -1
- package/out/concepts/Abort__.d.ts +3 -2
- package/out/concepts/Abort__.js +14 -16
- package/out/concepts/Abort__.js.map +1 -1
- package/out/concepts/Anchor__.d.ts +3 -2
- package/out/concepts/Anchor__.js +21 -20
- package/out/concepts/Anchor__.js.map +1 -1
- package/out/concepts/AnonymousFunction__.d.ts +3 -2
- package/out/concepts/AnonymousFunction__.js +39 -30
- package/out/concepts/AnonymousFunction__.js.map +1 -1
- package/out/concepts/App__.d.ts +160 -157
- package/out/concepts/App__.js +177 -99
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +3 -2
- package/out/concepts/Argument__.js +25 -22
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.d.ts +3 -2
- package/out/concepts/Assignee__.js +37 -26
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/AssignmentLine__.d.ts +3 -2
- package/out/concepts/AssignmentLine__.js +20 -18
- package/out/concepts/AssignmentLine__.js.map +1 -1
- package/out/concepts/Assignment__.d.ts +3 -2
- package/out/concepts/Assignment__.js +39 -29
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/Attribute__.d.ts +3 -2
- package/out/concepts/Attribute__.js +39 -29
- package/out/concepts/Attribute__.js.map +1 -1
- package/out/concepts/AuthInterface__.d.ts +4 -3
- package/out/concepts/AuthInterface__.js +16 -17
- package/out/concepts/AuthInterface__.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.d.ts +4 -3
- package/out/concepts/AuthLogicForCallInterface__.js +41 -28
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/AuthLogic__.d.ts +4 -3
- package/out/concepts/AuthLogic__.js +18 -19
- package/out/concepts/AuthLogic__.js.map +1 -1
- package/out/concepts/BackendVariable__.d.ts +8 -7
- package/out/concepts/BackendVariable__.js +41 -34
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/Backend__.d.ts +32 -31
- package/out/concepts/Backend__.js +26 -22
- package/out/concepts/Backend__.js.map +1 -1
- package/out/concepts/BatchAssignment__.d.ts +3 -2
- package/out/concepts/BatchAssignment__.js +56 -39
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BinaryExpression__.d.ts +3 -2
- package/out/concepts/BinaryExpression__.js +50 -41
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +12 -8
- package/out/concepts/BindAttribute__.js +116 -59
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +5 -3
- package/out/concepts/BindDirective__.js +40 -29
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +3 -2
- package/out/concepts/BindEvent__.js +59 -19
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BindStyle__.d.ts +5 -3
- package/out/concepts/BindStyle__.js +30 -24
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +3 -2
- package/out/concepts/BooleanLiteral__.js +16 -17
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallAuthInterface__.d.ts +3 -2
- package/out/concepts/CallAuthInterface__.js +20 -19
- package/out/concepts/CallAuthInterface__.js.map +1 -1
- package/out/concepts/CallConnector__.d.ts +5 -4
- package/out/concepts/CallConnector__.js +40 -33
- package/out/concepts/CallConnector__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +3 -2
- package/out/concepts/CallFunction__.js +40 -28
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +5 -3
- package/out/concepts/CallInterface__.js +74 -31
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +6 -5
- package/out/concepts/CallLogic__.js +145 -82
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +3 -2
- package/out/concepts/CallQueryComponent__.js +90 -50
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.d.ts +3 -2
- package/out/concepts/Comment__.js +16 -17
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts +3 -2
- package/out/concepts/CompletionProperty__.js +33 -26
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +3 -2
- package/out/concepts/ConfigGroup__.js +25 -21
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigPropertyValue__.d.ts +3 -2
- package/out/concepts/ConfigPropertyValue__.js +16 -16
- package/out/concepts/ConfigPropertyValue__.js.map +1 -1
- package/out/concepts/ConfigProperty__.d.ts +3 -2
- package/out/concepts/ConfigProperty__.js +29 -23
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.d.ts +3 -2
- package/out/concepts/Configuration__.js +20 -19
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Connection__.d.ts +4 -4
- package/out/concepts/Connection__.js +26 -19
- package/out/concepts/Connection__.js.map +1 -1
- package/out/concepts/ConnectorTrigger__.d.ts +7 -6
- package/out/concepts/ConnectorTrigger__.js +22 -21
- package/out/concepts/ConnectorTrigger__.js.map +1 -1
- package/out/concepts/Connector__.d.ts +139 -33
- package/out/concepts/Connector__.js +216 -40
- package/out/concepts/Connector__.js.map +1 -1
- package/out/concepts/Constant__.d.ts +3 -2
- package/out/concepts/Constant__.js +27 -23
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/DataSource__.d.ts +7 -2
- package/out/concepts/DataSource__.js +35 -24
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/DatabaseTypeAnnotation__.d.ts +5 -4
- package/out/concepts/DatabaseTypeAnnotation__.js +18 -18
- package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +11 -10
- package/out/concepts/Destination__.js +44 -38
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.d.ts +3 -2
- package/out/concepts/End__.js +14 -16
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityIndex__.d.ts +4 -3
- package/out/concepts/EntityIndex__.js +25 -21
- package/out/concepts/EntityIndex__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +4 -3
- package/out/concepts/EntityProperty__.js +59 -53
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +3 -2
- package/out/concepts/Entity__.js +39 -28
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/EnumItem__.d.ts +3 -2
- package/out/concepts/EnumItem__.js +18 -18
- package/out/concepts/EnumItem__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +3 -2
- package/out/concepts/Enum__.js +26 -22
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.d.ts +3 -2
- package/out/concepts/Event__.js +28 -22
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ExternalDestination__.d.ts +6 -5
- package/out/concepts/ExternalDestination__.js +31 -27
- package/out/concepts/ExternalDestination__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +3 -2
- package/out/concepts/ForEachStatement__.js +39 -22
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/FrontendLibrary__.d.ts +4 -3
- package/out/concepts/FrontendLibrary__.js +35 -27
- package/out/concepts/FrontendLibrary__.js.map +1 -1
- package/out/concepts/FrontendVariable__.d.ts +4 -3
- package/out/concepts/FrontendVariable__.js +12 -12
- package/out/concepts/FrontendVariable__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +8 -6
- package/out/concepts/Frontend__.js +65 -43
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Function__.d.ts +3 -2
- package/out/concepts/Function__.js +55 -36
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +4 -3
- package/out/concepts/Identifier__.js +29 -28
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.d.ts +3 -2
- package/out/concepts/IfStatement__.js +31 -24
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/Integration__.d.ts +93 -2
- package/out/concepts/Integration__.js +163 -20
- package/out/concepts/Integration__.js.map +1 -1
- package/out/concepts/InterfaceParam__.d.ts +30 -4
- package/out/concepts/InterfaceParam__.js +61 -25
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +34 -6
- package/out/concepts/Interface__.js +117 -38
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.d.ts +3 -2
- package/out/concepts/JSBlock__.js +16 -17
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/JavaLogic__.d.ts +4 -3
- package/out/concepts/JavaLogic__.js +21 -20
- package/out/concepts/JavaLogic__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +3 -2
- package/out/concepts/LogicItem__.js +22 -20
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +17 -17
- package/out/concepts/Logic__.js +123 -66
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MatchCase__.d.ts +3 -2
- package/out/concepts/MatchCase__.js +31 -24
- package/out/concepts/MatchCase__.js.map +1 -1
- package/out/concepts/Match__.d.ts +3 -2
- package/out/concepts/Match__.js +26 -22
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +3 -2
- package/out/concepts/MemberExpression__.js +70 -42
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/MicroApp__.d.ts +3 -2
- package/out/concepts/MicroApp__.js +26 -21
- package/out/concepts/MicroApp__.js.map +1 -1
- package/out/concepts/Module__.d.ts +219 -47
- package/out/concepts/Module__.js +285 -44
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/MsgTriggerEvent__.d.ts +4 -3
- package/out/concepts/MsgTriggerEvent__.js +20 -19
- package/out/concepts/MsgTriggerEvent__.js.map +1 -1
- package/out/concepts/MsgTriggerLauncher__.d.ts +4 -3
- package/out/concepts/MsgTriggerLauncher__.js +22 -20
- package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +4 -2
- package/out/concepts/Namespace__.js +112 -58
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +4 -2
- package/out/concepts/NewComposite__.js +85 -46
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.d.ts +5 -3
- package/out/concepts/NewList__.js +41 -26
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.d.ts +5 -3
- package/out/concepts/NewMap__.js +49 -30
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/New__.d.ts +3 -2
- package/out/concepts/New__.js +14 -16
- package/out/concepts/New__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +3 -2
- package/out/concepts/NullLiteral__.js +14 -16
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +3 -2
- package/out/concepts/NumericLiteral__.js +23 -21
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.d.ts +3 -2
- package/out/concepts/OqlQueryComponent__.js +28 -23
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.d.ts +14 -22
- package/out/concepts/OverriddenLogic__.js +101 -70
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/Param__.d.ts +3 -2
- package/out/concepts/Param__.js +37 -29
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/Point__.d.ts +3 -2
- package/out/concepts/Point__.js +16 -16
- package/out/concepts/Point__.js.map +1 -1
- package/out/concepts/ProcessComponent__.d.ts +3 -2
- package/out/concepts/ProcessComponent__.js +32 -24
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +3 -2
- package/out/concepts/ProcessElement__.js +90 -53
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.d.ts +3 -2
- package/out/concepts/ProcessOutcome__.js +16 -17
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/ProcessOutcomes__.d.ts +3 -2
- package/out/concepts/ProcessOutcomes__.js +17 -17
- package/out/concepts/ProcessOutcomes__.js.map +1 -1
- package/out/concepts/Process__.d.ts +5 -7
- package/out/concepts/Process__.js +66 -40
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.d.ts +3 -2
- package/out/concepts/QueryAggregateExpression__.js +25 -22
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFieldExpression__.d.ts +4 -3
- package/out/concepts/QueryFieldExpression__.js +20 -19
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.d.ts +4 -3
- package/out/concepts/QueryFromExpression__.js +26 -22
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryGroupByExpression__.d.ts +3 -2
- package/out/concepts/QueryGroupByExpression__.js +21 -20
- package/out/concepts/QueryGroupByExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.d.ts +4 -3
- package/out/concepts/QueryJoinExpression__.js +36 -26
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.d.ts +3 -2
- package/out/concepts/QueryLimitExpression__.js +27 -23
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QueryOrderByExpression__.d.ts +3 -2
- package/out/concepts/QueryOrderByExpression__.js +27 -23
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.d.ts +3 -2
- package/out/concepts/QuerySelectExpression__.js +27 -22
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Rect__.d.ts +3 -2
- package/out/concepts/Rect__.js +20 -18
- package/out/concepts/Rect__.js.map +1 -1
- package/out/concepts/Return__.d.ts +3 -2
- package/out/concepts/Return__.js +31 -26
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +3 -2
- package/out/concepts/Role__.js +21 -20
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/SelectMembers__.d.ts +3 -2
- package/out/concepts/SelectMembers__.js +26 -22
- package/out/concepts/SelectMembers__.js.map +1 -1
- package/out/concepts/Slot__.d.ts +3 -2
- package/out/concepts/Slot__.js +29 -23
- package/out/concepts/Slot__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.d.ts +3 -2
- package/out/concepts/SqlQueryComponent__.js +30 -24
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/Start__.d.ts +3 -2
- package/out/concepts/Start__.js +14 -16
- package/out/concepts/Start__.js.map +1 -1
- package/out/concepts/StringInterpolation__.d.ts +3 -2
- package/out/concepts/StringInterpolation__.js +20 -19
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +3 -2
- package/out/concepts/StringLiteral__.js +14 -16
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +9 -4
- package/out/concepts/StructureProperty__.js +42 -30
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +7 -11
- package/out/concepts/Structure__.js +59 -34
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.d.ts +3 -2
- package/out/concepts/SwitchCase__.js +26 -22
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.d.ts +3 -2
- package/out/concepts/SwitchStatement__.js +26 -21
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/Theme__.d.ts +3 -2
- package/out/concepts/Theme__.js +12 -14
- package/out/concepts/Theme__.js.map +1 -1
- package/out/concepts/Transactional__.d.ts +3 -2
- package/out/concepts/Transactional__.js +18 -17
- package/out/concepts/Transactional__.js.map +1 -1
- package/out/concepts/TriggerEvent__.d.ts +3 -2
- package/out/concepts/TriggerEvent__.js +23 -19
- package/out/concepts/TriggerEvent__.js.map +1 -1
- package/out/concepts/TriggerLauncher__.d.ts +6 -17
- package/out/concepts/TriggerLauncher__.js +25 -62
- package/out/concepts/TriggerLauncher__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +8 -5
- package/out/concepts/TypeAnnotation__.js +67 -35
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/TypeParam__.d.ts +3 -2
- package/out/concepts/TypeParam__.js +16 -17
- package/out/concepts/TypeParam__.js.map +1 -1
- package/out/concepts/UnaryExpression__.d.ts +3 -2
- package/out/concepts/UnaryExpression__.js +23 -21
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.d.ts +3 -2
- package/out/concepts/Unparsed__.js +16 -17
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/UseComponent__.d.ts +3 -2
- package/out/concepts/UseComponent__.js +16 -16
- package/out/concepts/UseComponent__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +17 -16
- package/out/concepts/ValidationRule__.js +28 -18
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +3 -2
- package/out/concepts/Variable__.js +31 -26
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewBlock__.d.ts +4 -3
- package/out/concepts/ViewBlock__.js +20 -19
- package/out/concepts/ViewBlock__.js.map +1 -1
- package/out/concepts/ViewComponent__.d.ts +32 -31
- package/out/concepts/ViewComponent__.js +59 -38
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +84 -81
- package/out/concepts/ViewElement__.js +347 -159
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +5 -3
- package/out/concepts/View__.js +166 -120
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.d.ts +3 -2
- package/out/concepts/WhileStatement__.js +26 -22
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/index__.d.ts +0 -1
- package/out/concepts/index__.js +0 -1
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/types__.d.ts +2 -3
- package/out/decorators/index.d.ts +5 -3
- package/out/decorators/index.js +15 -9
- package/out/decorators/index.js.map +1 -1
- package/out/generator/genBundleFiles.d.ts +2 -2
- package/out/generator/genBundleFiles.js +11 -4
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.d.ts +4 -2
- package/out/generator/genReleaseBody.js +192 -136
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/natural/genNaturalTS.js +15 -14
- package/out/natural/genNaturalTS.js.map +1 -1
- package/out/natural/index.d.ts +0 -2
- package/out/natural/index.js +0 -2
- package/out/natural/index.js.map +1 -1
- package/out/sentry/index.js +2 -2
- package/out/sentry/index.js.map +1 -1
- package/out/server/createUiTs.js +34 -1
- 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.d.ts +3 -3
- package/out/server/formatTsUtils.js +0 -10
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getConnector.d.ts +3 -0
- package/out/server/getConnector.js +38 -1
- package/out/server/getConnector.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +4 -4
- package/out/server/getMemberIdentifier.js +1 -2
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/index.js +2 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +13 -2
- package/out/server/naslServer.js +213 -118
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +2 -4
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/add.configs.js +26 -0
- package/out/service/creator/add.configs.js.map +1 -1
- package/out/service/creator/errHandles.js +5 -3
- package/out/service/creator/errHandles.js.map +1 -1
- package/out/service/creator/index.js +13 -0
- package/out/service/creator/index.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/constant.d.ts +6 -0
- package/out/translator/constant.js +10 -0
- package/out/translator/constant.js.map +1 -0
- package/out/translator/index.d.ts +3 -48
- package/out/translator/index.js +17 -110
- package/out/translator/index.js.map +1 -1
- package/out/translator/types.d.ts +32 -0
- package/out/translator/{tsp.js → types.js} +1 -1
- package/out/translator/types.js.map +1 -0
- package/out/translator/utils.d.ts +17 -0
- package/out/translator/utils.js +98 -0
- package/out/translator/utils.js.map +1 -0
- package/out/utils/cookie.d.ts +9 -0
- package/out/utils/cookie.js +62 -0
- package/out/utils/cookie.js.map +1 -0
- package/out/utils/env.d.ts +2 -0
- package/out/utils/env.js +6 -0
- package/out/utils/env.js.map +1 -0
- package/out/utils/index.d.ts +3 -0
- package/out/utils/index.js +3 -0
- package/out/utils/index.js.map +1 -1
- package/out/utils/logger.d.ts +4 -0
- package/out/utils/logger.js +13 -1
- package/out/utils/logger.js.map +1 -1
- package/out/utils/time-slicing.js +2 -1
- package/out/utils/time-slicing.js.map +1 -1
- package/out/utils/types.d.ts +1 -0
- package/out/utils/types.js +3 -0
- package/out/utils/types.js.map +1 -0
- package/out/utils/window.d.ts +7 -0
- package/out/utils/window.js +14 -0
- package/out/utils/window.js.map +1 -0
- package/package.json +1 -1
- package/sandbox/stdlib/nasl.oql.ts +2 -0
- package/sandbox/stdlib/nasl.ui.definition.ts +2218 -1415
- package/src/bak/translator.js +8 -5
- package/src/breakpoint/generator/AfterStartNode.ts +2 -1
- package/src/breakpoint/generator/BeforeEndNode.ts +2 -1
- package/src/breakpoint/generator/BreakpointNode.ts +36 -9
- package/src/breakpoint/shared/constants.ts +7 -0
- package/src/breakpoint/shared/utils.ts +36 -3
- package/src/common/BaseNode.ts +221 -136
- package/src/common/Command.ts +6 -1
- package/src/common/EventEmitter.ts +2 -4
- package/src/common/index.ts +0 -1
- package/src/concepts/Abort__.ts +18 -20
- package/src/concepts/Anchor__.ts +24 -23
- package/src/concepts/AnonymousFunction__.ts +48 -40
- package/src/concepts/App__.ts +435 -333
- package/src/concepts/Argument__.ts +29 -26
- package/src/concepts/Assignee__.ts +58 -43
- package/src/concepts/AssignmentLine__.ts +24 -23
- package/src/concepts/Assignment__.ts +49 -34
- package/src/concepts/Attribute__.ts +43 -35
- package/src/concepts/AuthInterface__.ts +22 -24
- package/src/concepts/AuthLogicForCallInterface__.ts +75 -42
- package/src/concepts/AuthLogic__.ts +22 -28
- package/src/concepts/BackendVariable__.ts +56 -53
- package/src/concepts/Backend__.ts +61 -59
- package/src/concepts/BatchAssignment__.ts +96 -61
- package/src/concepts/BinaryExpression__.ts +91 -45
- package/src/concepts/BindAttribute__.ts +165 -113
- package/src/concepts/BindDirective__.ts +50 -41
- package/src/concepts/BindEvent__.ts +88 -33
- package/src/concepts/BindStyle__.ts +42 -36
- package/src/concepts/BooleanLiteral__.ts +20 -21
- package/src/concepts/CallAuthInterface__.ts +31 -31
- package/src/concepts/CallConnector__.ts +48 -39
- package/src/concepts/CallFunction__.ts +51 -37
- package/src/concepts/CallInterface__.ts +82 -41
- package/src/concepts/CallLogic__.ts +174 -93
- package/src/concepts/CallQueryComponent__.ts +188 -96
- package/src/concepts/Comment__.ts +19 -20
- package/src/concepts/CompletionProperty__.ts +37 -31
- package/src/concepts/ConfigGroup__.ts +32 -30
- package/src/concepts/ConfigPropertyValue__.ts +22 -23
- package/src/concepts/ConfigProperty__.ts +45 -36
- package/src/concepts/Configuration__.ts +27 -27
- package/src/concepts/Connection__.ts +30 -22
- package/src/concepts/ConnectorTrigger__.ts +30 -34
- package/src/concepts/Connector__.ts +367 -93
- package/src/concepts/Constant__.ts +31 -35
- package/src/concepts/DataSource__.ts +41 -34
- package/src/concepts/DatabaseTypeAnnotation__.ts +24 -24
- package/src/concepts/Destination__.ts +55 -47
- package/src/concepts/End__.ts +21 -23
- package/src/concepts/EntityIndex__.ts +37 -32
- package/src/concepts/EntityProperty__.ts +71 -69
- package/src/concepts/Entity__.ts +48 -42
- package/src/concepts/EnumItem__.ts +22 -25
- package/src/concepts/Enum__.ts +31 -29
- package/src/concepts/Event__.ts +37 -34
- package/src/concepts/ExternalDestination__.ts +35 -31
- package/src/concepts/ForEachStatement__.ts +49 -31
- package/src/concepts/FrontendLibrary__.ts +45 -40
- package/src/concepts/FrontendVariable__.ts +18 -20
- package/src/concepts/Frontend__.ts +84 -66
- package/src/concepts/Function__.ts +71 -55
- package/src/concepts/Identifier__.ts +35 -32
- package/src/concepts/IfStatement__.ts +48 -41
- package/src/concepts/Integration__.ts +250 -25
- package/src/concepts/InterfaceParam__.ts +72 -34
- package/src/concepts/Interface__.ts +133 -50
- package/src/concepts/JSBlock__.ts +20 -21
- package/src/concepts/JavaLogic__.ts +25 -24
- package/src/concepts/LogicItem__.ts +27 -36
- package/src/concepts/Logic__.ts +186 -103
- package/src/concepts/MatchCase__.ts +46 -42
- package/src/concepts/Match__.ts +32 -28
- package/src/concepts/MemberExpression__.ts +178 -122
- package/src/concepts/MicroApp__.ts +32 -27
- package/src/concepts/Module__.ts +580 -119
- package/src/concepts/MsgTriggerEvent__.ts +29 -34
- package/src/concepts/MsgTriggerLauncher__.ts +31 -31
- package/src/concepts/Namespace__.ts +157 -111
- package/src/concepts/NewComposite__.ts +143 -80
- package/src/concepts/NewList__.ts +50 -36
- package/src/concepts/NewMap__.ts +60 -40
- package/src/concepts/New__.ts +18 -20
- package/src/concepts/NullLiteral__.ts +18 -20
- package/src/concepts/NumericLiteral__.ts +27 -25
- package/src/concepts/OqlQueryComponent__.ts +34 -27
- package/src/concepts/OverriddenLogic__.ts +156 -102
- package/src/concepts/Param__.ts +53 -51
- package/src/concepts/Point__.ts +22 -22
- package/src/concepts/ProcessComponent__.ts +44 -39
- package/src/concepts/ProcessElement__.ts +142 -92
- package/src/concepts/ProcessOutcome__.ts +20 -21
- package/src/concepts/ProcessOutcomes__.ts +21 -21
- package/src/concepts/Process__.ts +89 -68
- package/src/concepts/QueryAggregateExpression__.ts +29 -26
- package/src/concepts/QueryFieldExpression__.ts +24 -23
- package/src/concepts/QueryFromExpression__.ts +31 -27
- package/src/concepts/QueryGroupByExpression__.ts +25 -24
- package/src/concepts/QueryJoinExpression__.ts +68 -41
- package/src/concepts/QueryLimitExpression__.ts +31 -27
- package/src/concepts/QueryOrderByExpression__.ts +31 -27
- package/src/concepts/QuerySelectExpression__.ts +109 -55
- package/src/concepts/Rect__.ts +26 -24
- package/src/concepts/Return__.ts +43 -48
- package/src/concepts/Role__.ts +24 -24
- package/src/concepts/SelectMembers__.ts +35 -32
- package/src/concepts/Slot__.ts +35 -31
- package/src/concepts/SqlQueryComponent__.ts +42 -30
- package/src/concepts/Start__.ts +18 -20
- package/src/concepts/StringInterpolation__.ts +26 -26
- package/src/concepts/StringLiteral__.ts +18 -20
- package/src/concepts/StructureProperty__.ts +47 -37
- package/src/concepts/Structure__.ts +70 -47
- package/src/concepts/SwitchCase__.ts +45 -41
- package/src/concepts/SwitchStatement__.ts +30 -25
- package/src/concepts/Theme__.ts +18 -21
- package/src/concepts/Transactional__.ts +24 -31
- package/src/concepts/TriggerEvent__.ts +32 -30
- package/src/concepts/TriggerLauncher__.ts +31 -81
- package/src/concepts/TypeAnnotation__.ts +102 -54
- package/src/concepts/TypeParam__.ts +19 -20
- package/src/concepts/UnaryExpression__.ts +26 -24
- package/src/concepts/Unparsed__.ts +19 -20
- package/src/concepts/UseComponent__.ts +22 -22
- package/src/concepts/ValidationRule__.ts +544 -553
- package/src/concepts/Variable__.ts +44 -48
- package/src/concepts/ViewBlock__.ts +26 -25
- package/src/concepts/ViewComponent__.ts +111 -97
- package/src/concepts/ViewElement__.ts +2778 -2431
- package/src/concepts/View__.ts +364 -308
- package/src/concepts/WhileStatement__.ts +40 -36
- package/src/concepts/index__.ts +0 -1
- package/src/concepts/types__.ts +123 -125
- package/src/decorators/index.ts +18 -12
- package/src/generator/genBundleFiles.ts +14 -4
- package/src/generator/genReleaseBody.ts +198 -182
- package/src/natural/genNaturalTS.ts +18 -17
- package/src/natural/index.ts +0 -2
- package/src/sentry/index.ts +2 -2
- package/src/server/createUiTs.ts +30 -1
- package/src/server/extendBaseNode.ts +18 -18
- package/src/server/formatTsUtils.ts +8 -19
- package/src/server/getConnector.ts +63 -27
- package/src/server/getMemberIdentifier.ts +6 -7
- package/src/server/index.ts +4 -1
- package/src/server/naslServer.ts +215 -122
- package/src/server/translator.ts +1 -3
- package/src/service/creator/add.configs.js +26 -1
- package/src/service/creator/errHandles.js +5 -4
- package/src/service/creator/index.js +12 -0
- package/src/service/storage/init.ts +2 -2
- 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/translator/constant.ts +7 -0
- package/src/translator/index.ts +3 -137
- package/src/translator/types.ts +40 -0
- package/src/translator/utils.ts +102 -0
- package/src/utils/cookie.ts +60 -0
- package/src/utils/env.ts +2 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/logger.ts +13 -0
- package/src/utils/time-slicing.ts +3 -1
- package/src/utils/types.ts +1 -0
- package/src/utils/window.ts +9 -0
- package/test/concepts/anonymous-function/__snapshots__/toEmbeddedTS.spec.ts.snap +8 -0
- package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +3 -0
- package/test/concepts/anonymous-function/__snapshots__/toVue.spec.ts.snap +6 -0
- package/test/concepts/anonymous-function/constant.ts +5 -0
- package/test/concepts/anonymous-function/fixtures/simple.json +85 -0
- package/test/concepts/anonymous-function/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/anonymous-function/toJS.spec.ts +14 -0
- package/test/concepts/anonymous-function/toVue.spec.ts +14 -0
- package/test/concepts/assignment/__snapshots__/toEmbeddedTS.spec.ts.snap +21 -0
- package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +9 -0
- package/test/concepts/assignment/__snapshots__/toVue.spec.ts.snap +21 -0
- package/test/concepts/assignment/constant.ts +5 -0
- package/test/concepts/assignment/fixtures/both-space.json +4 -0
- package/test/concepts/assignment/fixtures/left-space.json +14 -0
- package/test/concepts/assignment/fixtures/right-space.json +8 -0
- package/test/concepts/assignment/fixtures/simple.json +12 -0
- package/test/concepts/assignment/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/assignment/toJS.spec.ts +14 -0
- package/test/concepts/assignment/toVue.spec.ts +14 -0
- package/test/concepts/batch-assignment/__snapshots__/toEmbeddedTS.spec.ts.snap +28 -0
- package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +13 -0
- package/test/concepts/batch-assignment/__snapshots__/toVue.spec.ts.snap +14 -0
- package/test/concepts/batch-assignment/constant.ts +5 -0
- package/test/concepts/batch-assignment/fixtures/muli-var-muli-value.json +144 -0
- package/test/concepts/batch-assignment/fixtures/simple-var-simple-value.json +36 -0
- package/test/concepts/batch-assignment/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/batch-assignment/toJS.spec.ts +14 -0
- package/test/concepts/batch-assignment/toVue.spec.ts +14 -0
- package/test/concepts/binary-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +25 -0
- package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +16 -0
- package/test/concepts/binary-expression/__snapshots__/toVue.spec.ts.snap +19 -0
- package/test/concepts/binary-expression/constant.ts +5 -0
- package/test/concepts/binary-expression/fixtures/constant-nested.json +36 -0
- package/test/concepts/binary-expression/fixtures/constant-simple.json +12 -0
- package/test/concepts/binary-expression/fixtures/variable-nested.json +69 -0
- package/test/concepts/binary-expression/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/binary-expression/toJS.spec.ts +14 -0
- package/test/concepts/binary-expression/toVue.spec.ts +14 -0
- package/test/concepts/boolean-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +11 -0
- package/test/concepts/boolean-literal/__snapshots__/toJS.spec.ts.snap +11 -0
- package/test/concepts/boolean-literal/__snapshots__/toVue.spec.ts.snap +11 -0
- package/test/concepts/boolean-literal/constant.ts +5 -0
- package/test/concepts/boolean-literal/fixtures/false.json +4 -0
- package/test/concepts/boolean-literal/fixtures/true.json +4 -0
- package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/boolean-literal/toJS.spec.ts +14 -0
- package/test/concepts/boolean-literal/toVue.spec.ts +14 -0
- 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__/getQuickInfoOffset.spec.ts.snap +106 -0
- package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +45 -0
- package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +102 -0
- package/test/concepts/call-logic/fixtures/nested-call-logic.json +860 -0
- package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +23 -0
- package/test/concepts/call-logic/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/call-logic/toJS.spec.ts +6 -6
- package/test/concepts/data-source/__snapshots__/toEmbeddedTS.spec.ts.snap +8 -0
- package/test/concepts/data-source/__snapshots__/toEmbeddedTSFile.spec.ts.snap +12 -0
- package/test/concepts/data-source/constant.ts +5 -0
- package/test/concepts/data-source/fixtures/normal.json +289 -0
- package/test/concepts/data-source/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/data-source/toEmbeddedTSFile.spec.ts +15 -0
- package/test/concepts/entity/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
- package/test/concepts/entity/__snapshots__/toEmbeddedTSFile.spec.ts.snap +3 -0
- package/test/concepts/entity/constant.ts +5 -0
- package/test/concepts/entity/fixtures/normal.json +469 -0
- package/test/concepts/entity/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/entity/toEmbeddedTSFile.spec.ts +14 -0
- package/test/concepts/identifier/__snapshots__/toEmbeddedTS.spec.ts.snap +16 -0
- package/test/concepts/identifier/__snapshots__/toJS.spec.ts.snap +16 -0
- package/test/concepts/identifier/__snapshots__/toVue.spec.ts.snap +16 -0
- package/test/concepts/identifier/constant.ts +5 -0
- package/test/concepts/identifier/fixtures/data-source.json +5 -0
- package/test/concepts/identifier/fixtures/no-namespace.json +4 -0
- package/test/concepts/identifier/fixtures/view-variable.json +201 -0
- package/test/concepts/identifier/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/identifier/toJS.spec.ts +14 -0
- package/test/concepts/identifier/toVue.spec.ts +14 -0
- package/test/concepts/match/toEmbeddedTS.spec.ts +6 -6
- package/test/concepts/match/toJS.spec.ts +6 -6
- package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +21 -0
- package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +21 -0
- package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +21 -0
- package/test/concepts/member-expression/constant.ts +5 -0
- package/test/concepts/member-expression/fixtures/app.enums.UserStatusEnum.json +13 -0
- package/test/concepts/member-expression/fixtures/elements.table-view.data.json +13 -0
- package/test/concepts/member-expression/fixtures/entry.created-by.json +18 -0
- package/test/concepts/member-expression/fixtures/nasl.auth.userInfo.json +19 -0
- package/test/concepts/member-expression/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/member-expression/toJS.spec.ts +14 -0
- package/test/concepts/member-expression/toVue.spec.ts +14 -0
- package/test/concepts/null-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -0
- package/test/concepts/null-literal/__snapshots__/toJS.spec.ts.snap +6 -0
- package/test/concepts/null-literal/__snapshots__/toVue.spec.ts.snap +6 -0
- package/test/concepts/null-literal/constant.ts +5 -0
- package/test/concepts/null-literal/fixtures/null.json +3 -0
- package/test/concepts/null-literal/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/null-literal/toJS.spec.ts +14 -0
- package/test/concepts/null-literal/toVue.spec.ts +14 -0
- package/test/concepts/numeric-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -0
- package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +6 -0
- package/test/concepts/numeric-literal/__snapshots__/toVue.spec.ts.snap +6 -0
- package/test/concepts/numeric-literal/constant.ts +5 -0
- package/test/concepts/numeric-literal/fixtures/number.json +10 -0
- package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/numeric-literal/toJS.spec.ts +14 -0
- package/test/concepts/numeric-literal/toVue.spec.ts +14 -0
- package/test/concepts/string-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +16 -0
- package/test/concepts/string-literal/__snapshots__/toJS.spec.ts.snap +16 -0
- package/test/concepts/string-literal/__snapshots__/toVue.spec.ts.snap +16 -0
- package/test/concepts/string-literal/constant.ts +5 -0
- package/test/concepts/string-literal/fixtures/escape.json +4 -0
- package/test/concepts/string-literal/fixtures/space.json +4 -0
- package/test/concepts/string-literal/fixtures/string.json +4 -0
- package/test/concepts/string-literal/toEmbeddedTS.spec.ts +14 -0
- package/test/concepts/string-literal/toJS.spec.ts +14 -0
- package/test/concepts/string-literal/toVue.spec.ts +14 -0
- package/test/concepts/utils.ts +46 -43
- 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 +592 -0
- package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +324 -12
- package/test/concepts/view-element/fixtures/default-login.json +333 -0
- package/test/concepts/view-element/fixtures/default-not-found.json +313 -313
- package/test/concepts/view-element/fixtures/with-role-auth.json +148 -0
- package/test/concepts/view-element/fixtures/with-table.json +3473 -0
- 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 +6663 -101
- package/ts-worker/webpack.config.js +1 -1
- package/out/common/classMap.d.ts +0 -4
- package/out/common/classMap.js +0 -5
- package/out/common/classMap.js.map +0 -1
- package/out/concepts/DataElement__.d.ts +0 -46
- package/out/concepts/DataElement__.js +0 -118
- package/out/concepts/DataElement__.js.map +0 -1
- package/out/natural/RequirementAnalyzer.d.ts +0 -22
- package/out/natural/RequirementAnalyzer.js +0 -196
- package/out/natural/RequirementAnalyzer.js.map +0 -1
- package/out/natural/RequirementExecutor.d.ts +0 -51
- package/out/natural/RequirementExecutor.js +0 -692
- package/out/natural/RequirementExecutor.js.map +0 -1
- package/out/natural/knowledgeMap.d.ts +0 -4
- package/out/natural/knowledgeMap.js +0 -40
- package/out/natural/knowledgeMap.js.map +0 -1
- package/out/translator/lsp.d.ts +0 -45
- package/out/translator/lsp.js +0 -6
- package/out/translator/lsp.js.map +0 -1
- package/out/translator/tsp.d.ts +0 -12
- package/out/translator/tsp.js.map +0 -1
- package/src/common/classMap.ts +0 -3
- package/src/concepts/DataElement__.ts +0 -131
- package/src/natural/RequirementAnalyzer.ts +0 -208
- package/src/natural/RequirementExecutor.ts +0 -685
- package/src/natural/knowledgeMap.ts +0 -39
- package/src/test/examples/app1.json +0 -1406
- package/src/test/fixtures/env.ts +0 -19
- package/src/test/integration/connect-create-file.ts +0 -14
- package/src/test/integration/connect-file.ts +0 -24
- package/src/test/integration/node-nasl-server.ts +0 -14
- package/src/test/units/baseTypes/Assignment.spec.ts +0 -20
- package/src/test/units/baseTypes/CallLogic.spec.ts +0 -22
- package/src/test/units/baseTypes/StringLiteral.spec.ts +0 -60
- package/src/test/units/baseTypes/new.spec.ts +0 -13
- package/src/test/units/common/Vertex.spec.ts +0 -23
- package/src/test/units/data/Entity.spec.ts +0 -10
- package/src/test/units/login.spec.ts +0 -10
- package/src/test/units/page/Block.spec.ts +0 -15
- package/src/test/units/page/Element.spec.ts +0 -45
- package/src/test/units/page/example.dashboard.html +0 -46
- package/src/test/units/page/example.view1.html +0 -63
- package/src/test/units/temp/temp.spec.ts +0 -66
- package/src/translator/lsp.ts +0 -50
- package/src/translator/tsp.ts +0 -14
package/src/common/BaseNode.ts
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import { at } from 'lodash';
|
|
2
2
|
import { v4 as uuidv4 } from 'uuid';
|
|
3
3
|
|
|
4
|
-
import { config } from '../config';
|
|
5
4
|
import { SourceMap } from '../translator';
|
|
6
|
-
import storageService from '../service/storage/service';
|
|
7
5
|
import { getSourceFromMap } from '../service/storage/map';
|
|
8
|
-
import { loadThen } from '../service/storage/storagePoint';
|
|
9
6
|
|
|
10
|
-
import { EventEmitter, EventPayload, Params } from './EventEmitter';
|
|
11
7
|
import * as utils from '../utils';
|
|
12
|
-
import
|
|
13
|
-
import { action, circular, excludedInJSON, property, getConceptConstructor, getConceptPropertyMap } from '../decorators';
|
|
8
|
+
import { EventEmitter, EventPayload, Params } from './EventEmitter';
|
|
9
|
+
import { action, circular, excludedInJSON, property, getConceptConstructor, getConceptPropertyMap, classMap } from '../decorators';
|
|
14
10
|
import { Diagnostic } from '../manager/diagnostic';
|
|
15
|
-
import type { ViewElement, TypeAnnotation, App } from '..';
|
|
16
11
|
|
|
17
12
|
import { sentryMonitorNaslNode } from '../sentry';
|
|
18
13
|
import operations from '../breakpoint/shared/operations';
|
|
19
|
-
import type {
|
|
14
|
+
import type { SyntaxNode, SyntaxNodeConcept, ViewElement, TypeAnnotation, App, Namespace } from '../concepts';
|
|
20
15
|
|
|
21
16
|
// 确保属性都是定义过的
|
|
22
17
|
function ensureDefined(object: any, concept: string) {
|
|
@@ -45,6 +40,8 @@ function ensureDefined(object: any, concept: string) {
|
|
|
45
40
|
}
|
|
46
41
|
}
|
|
47
42
|
}
|
|
43
|
+
|
|
44
|
+
newObject.concept = actualConcept;
|
|
48
45
|
}
|
|
49
46
|
return newObject;
|
|
50
47
|
}
|
|
@@ -55,6 +52,8 @@ function ensureDefined(object: any, concept: string) {
|
|
|
55
52
|
*/
|
|
56
53
|
@sentryMonitorNaslNode
|
|
57
54
|
export class BaseNode extends EventEmitter {
|
|
55
|
+
static readonly ConceptName: string = 'BaseNode';
|
|
56
|
+
|
|
58
57
|
/**
|
|
59
58
|
* 可修改标志,内部属性
|
|
60
59
|
* 标记在构造函数结束后是否可修改
|
|
@@ -62,11 +61,28 @@ export class BaseNode extends EventEmitter {
|
|
|
62
61
|
@excludedInJSON()
|
|
63
62
|
_mutable = true;
|
|
64
63
|
|
|
64
|
+
/** 节点类别缓存 */
|
|
65
|
+
@excludedInJSON()
|
|
66
|
+
private _concept!: string;
|
|
67
|
+
|
|
65
68
|
/**
|
|
66
69
|
* 概念
|
|
67
70
|
*/
|
|
68
71
|
@property()
|
|
69
|
-
concept
|
|
72
|
+
get concept() {
|
|
73
|
+
return this._concept ?? (this.constructor as any).ConceptName as string;
|
|
74
|
+
}
|
|
75
|
+
set concept(val: string) {
|
|
76
|
+
console.warn(`[警告] 尽快移除变更 concept 值的操作,下个版本 concept 将会改为只读。\n当前变更:${this.concept} -> ${val},原始节点类别:${(this.constructor as any).ConceptName}`);
|
|
77
|
+
if (val !== this.concept) {
|
|
78
|
+
if (val === (this.constructor as any).ConceptName as string) {
|
|
79
|
+
delete this._concept;
|
|
80
|
+
} else {
|
|
81
|
+
this._concept = val;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
70
86
|
|
|
71
87
|
/**
|
|
72
88
|
* toJSON 时需要去除的键,为了避免出现 CircularJSON
|
|
@@ -82,22 +98,22 @@ export class BaseNode extends EventEmitter {
|
|
|
82
98
|
* 变动时间
|
|
83
99
|
*/
|
|
84
100
|
@property()
|
|
85
|
-
changedTime
|
|
101
|
+
changedTime!: number;
|
|
86
102
|
|
|
87
103
|
/**
|
|
88
104
|
* 分支名称
|
|
89
105
|
*/
|
|
90
106
|
@property()
|
|
91
|
-
branchName
|
|
107
|
+
branchName!: string;
|
|
92
108
|
|
|
93
109
|
/**
|
|
94
110
|
* 合并代码相关
|
|
95
111
|
*/
|
|
96
112
|
@property()
|
|
97
|
-
workingCopy
|
|
113
|
+
workingCopy!: object;
|
|
98
114
|
|
|
99
115
|
@property()
|
|
100
|
-
branch
|
|
116
|
+
branch!: object;
|
|
101
117
|
|
|
102
118
|
/**
|
|
103
119
|
* 断点状态
|
|
@@ -107,13 +123,13 @@ export class BaseNode extends EventEmitter {
|
|
|
107
123
|
* 'DISABLED' ==> 禁用断点
|
|
108
124
|
*/
|
|
109
125
|
@property()
|
|
110
|
-
breakpoint
|
|
126
|
+
breakpoint!: 'ENABLED' | 'DISABLED' | null | undefined;
|
|
111
127
|
|
|
112
128
|
/**
|
|
113
129
|
* 父节点
|
|
114
130
|
*/
|
|
115
131
|
@circular()
|
|
116
|
-
parentNode:
|
|
132
|
+
parentNode: SyntaxNode = null;
|
|
117
133
|
|
|
118
134
|
parentKey: string = '';
|
|
119
135
|
|
|
@@ -122,91 +138,98 @@ export class BaseNode extends EventEmitter {
|
|
|
122
138
|
* 前端 UI 状态
|
|
123
139
|
*/
|
|
124
140
|
@excludedInJSON()
|
|
125
|
-
editable
|
|
141
|
+
editable!: boolean;
|
|
126
142
|
|
|
127
143
|
/**
|
|
128
144
|
* 是否可以删除
|
|
129
145
|
* 前端 UI 状态
|
|
130
146
|
*/
|
|
131
147
|
@excludedInJSON()
|
|
132
|
-
removable
|
|
148
|
+
removable!: boolean;
|
|
133
149
|
|
|
134
150
|
/**
|
|
135
151
|
* 是否正在编辑
|
|
136
152
|
* 前端 UI 状态
|
|
137
153
|
*/
|
|
138
154
|
@excludedInJSON()
|
|
139
|
-
editing
|
|
155
|
+
editing!: boolean;
|
|
140
156
|
|
|
141
157
|
/**
|
|
142
158
|
* 是否正在请求
|
|
143
159
|
* 前端 UI 状态
|
|
144
160
|
*/
|
|
145
161
|
@excludedInJSON()
|
|
146
|
-
loading
|
|
162
|
+
loading!: boolean;
|
|
147
163
|
|
|
148
164
|
/**
|
|
149
165
|
* 节点是否为展开状态
|
|
150
166
|
* 前端 UI 状态
|
|
151
167
|
*/
|
|
152
168
|
@excludedInJSON()
|
|
153
|
-
expanded
|
|
169
|
+
expanded!: boolean;
|
|
154
170
|
|
|
155
171
|
/**
|
|
156
172
|
* 节点是否显示
|
|
157
173
|
* 前端 UI 状态
|
|
158
174
|
*/
|
|
159
175
|
@excludedInJSON()
|
|
160
|
-
hidden
|
|
176
|
+
hidden!: boolean;
|
|
161
177
|
|
|
162
178
|
/**
|
|
163
179
|
* 页面树节点是否显示
|
|
164
180
|
* 前端 UI 状态
|
|
165
181
|
*/
|
|
166
182
|
@excludedInJSON()
|
|
167
|
-
pageTreeNodeHidden
|
|
183
|
+
pageTreeNodeHidden!: boolean;
|
|
168
184
|
|
|
169
185
|
/**
|
|
170
186
|
* 逻辑树节点是否显示
|
|
171
187
|
* 前端 UI 状态
|
|
172
188
|
*/
|
|
173
189
|
@excludedInJSON()
|
|
174
|
-
logicTreeNodeHidden
|
|
190
|
+
logicTreeNodeHidden!: boolean;
|
|
175
191
|
|
|
176
192
|
/**
|
|
177
193
|
* 数据树节点是否显示
|
|
178
194
|
* 前端 UI 状态
|
|
179
195
|
*/
|
|
180
196
|
@excludedInJSON()
|
|
181
|
-
dataTreeNodeHidden
|
|
197
|
+
dataTreeNodeHidden!: boolean;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* 数据树节点是否显示
|
|
201
|
+
* 前端 UI 状态
|
|
202
|
+
*/
|
|
203
|
+
@excludedInJSON()
|
|
204
|
+
processTreeNodeHidden!: boolean;
|
|
182
205
|
|
|
183
206
|
/**
|
|
184
207
|
* 数据树节点是否展开
|
|
185
208
|
* 前端 UI 状态
|
|
186
209
|
*/
|
|
187
210
|
@excludedInJSON()
|
|
188
|
-
logicTreeNodeExpanded
|
|
211
|
+
logicTreeNodeExpanded!: boolean;
|
|
189
212
|
|
|
190
213
|
/**
|
|
191
214
|
* 用于挂 embeddedTS 的 sourceMap
|
|
192
215
|
*/
|
|
193
216
|
@excludedInJSON()
|
|
194
|
-
sourceMap
|
|
217
|
+
sourceMap!: SourceMap;
|
|
195
218
|
|
|
196
219
|
/**
|
|
197
220
|
* 是否为叶子节点
|
|
198
221
|
* 前端 UI 状态
|
|
199
222
|
*/
|
|
200
223
|
@excludedInJSON()
|
|
201
|
-
isLeaf
|
|
224
|
+
isLeaf!: boolean;
|
|
202
225
|
|
|
203
226
|
@excludedInJSON()
|
|
204
|
-
storageJSON
|
|
227
|
+
storageJSON!: any;
|
|
205
228
|
|
|
206
229
|
/**
|
|
207
230
|
* 当前节点上报错详细信息
|
|
208
231
|
*/
|
|
209
|
-
tsErrorDetail
|
|
232
|
+
tsErrorDetail!: Diagnostic | undefined;
|
|
210
233
|
|
|
211
234
|
@property()
|
|
212
235
|
name: string = '';
|
|
@@ -215,13 +238,13 @@ export class BaseNode extends EventEmitter {
|
|
|
215
238
|
* 当前节点的类型标注
|
|
216
239
|
*/
|
|
217
240
|
@excludedInJSON()
|
|
218
|
-
__TypeAnnotation
|
|
241
|
+
__TypeAnnotation!: TypeAnnotation;
|
|
219
242
|
|
|
220
243
|
/**
|
|
221
244
|
* 当前节点的类型标注是不是正确的
|
|
222
245
|
*/
|
|
223
246
|
@excludedInJSON()
|
|
224
|
-
__isCorrectTypeAnnotation
|
|
247
|
+
__isCorrectTypeAnnotation!: boolean;
|
|
225
248
|
|
|
226
249
|
/**
|
|
227
250
|
* @param source 需要合并的部分参数
|
|
@@ -242,26 +265,33 @@ export class BaseNode extends EventEmitter {
|
|
|
242
265
|
this.on('create', () => operations.create(this));
|
|
243
266
|
this.on('delete', () => operations.delete(this));
|
|
244
267
|
this.on('update', () => operations.update(this));
|
|
245
|
-
}
|
|
246
268
|
|
|
247
|
-
// static constructorName = 'BaseNode'
|
|
248
|
-
getClassName() {
|
|
249
|
-
return 'BaseNode';
|
|
250
269
|
}
|
|
251
270
|
|
|
252
271
|
subConstructor(source?: Partial<BaseNode>) {
|
|
253
|
-
const propertyMap = getConceptPropertyMap(this.
|
|
272
|
+
const propertyMap = getConceptPropertyMap(this.concept || this.constructor.name);
|
|
254
273
|
const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) => propertyMap.has(key));
|
|
255
274
|
|
|
256
275
|
// 测试时用的标记属性
|
|
257
276
|
if (process.env.NODE_ENV === 'testing') {
|
|
258
|
-
properties.push('__$Selected');
|
|
277
|
+
properties.push('__$Selected', '__TypeAnnotation');
|
|
259
278
|
}
|
|
260
279
|
|
|
261
280
|
properties.forEach((key) => {
|
|
262
|
-
|
|
281
|
+
if (key === 'concept') {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
|
|
263
285
|
const sourceItem = (source as any)[key] !== undefined ? (source as any)[key] : (this as any)[key];
|
|
286
|
+
|
|
287
|
+
let property = propertyMap.get(key);
|
|
264
288
|
let objectRefCtor: any;
|
|
289
|
+
|
|
290
|
+
// 测试环境下,类型节点由外部注入,所以需要在初始化的时候必须带上类型节点
|
|
291
|
+
if (process.env.NODE_ENV === 'testing' && key === '__TypeAnnotation' && sourceItem) {
|
|
292
|
+
property = { objectRef: 'TypeAnnotation' };
|
|
293
|
+
}
|
|
294
|
+
|
|
265
295
|
try {
|
|
266
296
|
if (property?.objectRef) {
|
|
267
297
|
const arr = property.objectRef.split(' | ');
|
|
@@ -274,47 +304,31 @@ export class BaseNode extends EventEmitter {
|
|
|
274
304
|
}
|
|
275
305
|
}
|
|
276
306
|
}
|
|
307
|
+
|
|
277
308
|
// 数组的情况也在这里做掉了
|
|
278
|
-
(
|
|
279
|
-
|
|
309
|
+
const val = objectRefCtor && sourceItem && !(sourceItem instanceof objectRefCtor) ? this.instantiateSub(sourceItem, key) : sourceItem;
|
|
310
|
+
|
|
311
|
+
if (val !== undefined) {
|
|
312
|
+
(this as any)[key] = val;
|
|
313
|
+
}
|
|
280
314
|
} catch (e) {
|
|
281
315
|
// Function has non-object prototype 'undefined' in instanceof check
|
|
282
316
|
if (!e.message.includes('Function has non-object prototype')) throw e;
|
|
283
317
|
}
|
|
284
318
|
});
|
|
319
|
+
|
|
285
320
|
operations.create(this);
|
|
286
|
-
|
|
287
|
-
//
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
// path,
|
|
292
|
-
// excludes: loadThen[concept as 'App' | 'View'].childNodes.map(({ field }) => field),
|
|
293
|
-
// };
|
|
294
|
-
// });
|
|
295
|
-
// storageService
|
|
296
|
-
// .batchQuery({
|
|
297
|
-
// body: queryList,
|
|
298
|
-
// headers: {
|
|
299
|
-
// appId: this.rootNode?.id || this.id,
|
|
300
|
-
// },
|
|
301
|
-
// })
|
|
302
|
-
// .then((data: any) =>
|
|
303
|
-
// data.forEach((sourceItem: any, index: number) => {
|
|
304
|
-
// const { field, concept } = childNodes[index];
|
|
305
|
-
// if (!sourceItem || (Array.isArray((this as any)[field]) && !Array.isArray(sourceItem))) {
|
|
306
|
-
// return;
|
|
307
|
-
// }
|
|
308
|
-
// const objectRefCtor = getConceptConstructor(concept);
|
|
309
|
-
// (this as any)[field] = objectRefCtor ? this.instantiateSub(sourceItem, field) : sourceItem;
|
|
310
|
-
// }));
|
|
311
|
-
// }
|
|
321
|
+
|
|
322
|
+
// node 环境下需要删除当前节点的 concept 属性
|
|
323
|
+
if (utils.isNode && ('concept' in this) && !this.concept) {
|
|
324
|
+
Reflect.deleteProperty(this, 'concept');
|
|
325
|
+
}
|
|
312
326
|
}
|
|
313
327
|
|
|
314
328
|
fixInstantiate() {
|
|
315
|
-
const propertyMap = getConceptPropertyMap(this.
|
|
316
|
-
|
|
329
|
+
const propertyMap = getConceptPropertyMap(this.concept ?? this.constructor.name);
|
|
317
330
|
const properties = Object.keys(this).filter((key) => propertyMap.has(key));
|
|
331
|
+
|
|
318
332
|
properties.forEach((key) => {
|
|
319
333
|
const property = propertyMap.get(key);
|
|
320
334
|
const sourceItem = (this as any)[key];
|
|
@@ -386,9 +400,9 @@ export class BaseNode extends EventEmitter {
|
|
|
386
400
|
}
|
|
387
401
|
}
|
|
388
402
|
|
|
389
|
-
createNode({ parentNode, parentKey, index }: { parentNode:
|
|
403
|
+
createNode({ parentNode, parentKey, index }: { parentNode: SyntaxNode; parentKey: string; index: number }) {
|
|
390
404
|
if (parentNode) {
|
|
391
|
-
const property = parentNode[parentKey as keyof
|
|
405
|
+
const property = parentNode[parentKey as keyof SyntaxNode];
|
|
392
406
|
if (Array.isArray(property) && index !== -1) {
|
|
393
407
|
property.splice(index, 0, this);
|
|
394
408
|
} else {
|
|
@@ -480,11 +494,19 @@ export class BaseNode extends EventEmitter {
|
|
|
480
494
|
node.changeLinesLocation(this);
|
|
481
495
|
}
|
|
482
496
|
|
|
497
|
+
// 自定义连接器下的namespace删除的时候需要同时删除对应的logic
|
|
498
|
+
if (this.concept === 'Namespace' && this.parentNode.concept === 'Connector') {
|
|
499
|
+
(this as unknown as Namespace).logics.forEach(logic => logic?.delete())
|
|
500
|
+
}
|
|
501
|
+
|
|
483
502
|
const useIndex = ['BindEvent', 'Identifier'].includes(this.concept);
|
|
484
503
|
const path = this.getNodePath(useIndex);
|
|
485
504
|
const parentParams = this._delete();
|
|
486
505
|
if (parentParams && parentParams.index !== -1) {
|
|
487
506
|
if (Array.isArray((this.parentNode as any)[this.parentKey])) {
|
|
507
|
+
if (process.env.NODE_ENV === 'development') {
|
|
508
|
+
console.log('删除节点', this);
|
|
509
|
+
}
|
|
488
510
|
this.emit('delete', {
|
|
489
511
|
action: 'delete',
|
|
490
512
|
path,
|
|
@@ -512,66 +534,97 @@ export class BaseNode extends EventEmitter {
|
|
|
512
534
|
*/
|
|
513
535
|
update({ field, ...object }: any) {
|
|
514
536
|
const path = this.getNodePath(false);
|
|
537
|
+
// 更新前的旧的对象
|
|
515
538
|
const oldObject: any = {};
|
|
539
|
+
// 更新后的新对象
|
|
540
|
+
const newObject: any = {};
|
|
516
541
|
for (const key in object) {
|
|
542
|
+
if (key === 'concept') {
|
|
543
|
+
continue;
|
|
544
|
+
}
|
|
517
545
|
if (Object.prototype.hasOwnProperty.call(object, key)) {
|
|
518
|
-
|
|
519
|
-
oldObject
|
|
520
|
-
|
|
521
|
-
|
|
546
|
+
// 旧对象收集
|
|
547
|
+
this.collectOldObject(oldObject, key);
|
|
548
|
+
// 新对象收集
|
|
549
|
+
this.collectNewObject(newObject, object, key);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
// 更新实例上的属性
|
|
554
|
+
this.updateInstance(object);
|
|
555
|
+
|
|
556
|
+
if (process.env.NODE_ENV === 'development') {
|
|
557
|
+
console.log('更新节点', 'path', path, 'oldObject', oldObject, 'newObject', newObject);
|
|
558
|
+
}
|
|
559
|
+
this.emit('update', {
|
|
560
|
+
action: 'update',
|
|
561
|
+
path,
|
|
562
|
+
object: newObject,
|
|
563
|
+
oldObject,
|
|
564
|
+
field,
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
// 旧对象收集
|
|
569
|
+
collectOldObject(oldObject: any, key: string) {
|
|
570
|
+
const oldProperty = (this as any)[key] ?? null;
|
|
571
|
+
oldObject[key] = oldProperty;
|
|
572
|
+
if (Array.isArray(oldProperty)) {
|
|
573
|
+
oldObject[key] = oldProperty.map((item) => {
|
|
522
574
|
let propertyItem = item ?? null;
|
|
523
575
|
if (item instanceof BaseNode) {
|
|
524
|
-
|
|
576
|
+
propertyItem = item.toJSON();
|
|
525
577
|
}
|
|
526
578
|
return propertyItem;
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
}
|
|
531
|
-
const property = object[key] ?? null;
|
|
532
|
-
(this as any)[key] = property;
|
|
533
|
-
const objectRefCtor = getConceptConstructor(property?.concept);
|
|
534
|
-
if (Array.isArray(property)) {
|
|
535
|
-
(this as any)[key] = property.map((item) => {
|
|
536
|
-
let propertyItem = item ?? null;
|
|
537
|
-
const propertyObjectRefCtor = getConceptConstructor(item?.concept);
|
|
538
|
-
if (propertyObjectRefCtor?.from) {
|
|
539
|
-
propertyItem = (propertyObjectRefCtor as any).from(item, this, key);
|
|
540
|
-
}
|
|
541
|
-
return propertyItem;
|
|
542
|
-
});
|
|
543
|
-
} else if (objectRefCtor?.from) {
|
|
544
|
-
(this as any)[key] = (objectRefCtor as any).from(property, this, key);
|
|
545
|
-
}
|
|
546
|
-
}
|
|
579
|
+
});
|
|
580
|
+
} else if (oldProperty instanceof BaseNode) {
|
|
581
|
+
oldObject[key] = oldProperty.toJSON();
|
|
547
582
|
}
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// 新对象收集
|
|
586
|
+
collectNewObject(newObject: any, object: any, key: string) {
|
|
587
|
+
const propertyMap = getConceptPropertyMap(this.concept ?? this.constructor.name);
|
|
588
|
+
const property = propertyMap.get(key);
|
|
589
|
+
if (property) {
|
|
553
590
|
const objProperty = object[key] ?? null;
|
|
554
591
|
const propertyConcept = property?.objectRef;
|
|
555
592
|
if (propertyConcept) {
|
|
556
|
-
|
|
593
|
+
if (Array.isArray(objProperty)) {
|
|
557
594
|
newObject[key] = objProperty.map((objItem: any) => {
|
|
558
|
-
|
|
595
|
+
return ensureDefined(objItem, propertyConcept);
|
|
559
596
|
});
|
|
560
|
-
|
|
597
|
+
} else {
|
|
561
598
|
newObject[key] = ensureDefined(objProperty, propertyConcept);
|
|
562
|
-
|
|
599
|
+
}
|
|
563
600
|
} else {
|
|
564
|
-
|
|
601
|
+
newObject[key] = objProperty;
|
|
565
602
|
}
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// 更新实例上的属性
|
|
607
|
+
updateInstance(object: any) {
|
|
608
|
+
for (const key in object) {
|
|
609
|
+
if (key === 'concept') {
|
|
610
|
+
continue;
|
|
611
|
+
}
|
|
612
|
+
const property = object[key] ?? null;
|
|
613
|
+
(this as any)[key] = property;
|
|
614
|
+
const objectRefCtor = getConceptConstructor(property?.concept);
|
|
615
|
+
if (Array.isArray(property)) {
|
|
616
|
+
(this as any)[key] = property.map((item) => {
|
|
617
|
+
let propertyItem = item ?? null;
|
|
618
|
+
const propertyObjectRefCtor = getConceptConstructor(item?.concept);
|
|
619
|
+
if (propertyObjectRefCtor?.from) {
|
|
620
|
+
propertyItem = (propertyObjectRefCtor as any).from(item, this, key);
|
|
621
|
+
}
|
|
622
|
+
return propertyItem;
|
|
623
|
+
});
|
|
624
|
+
} else if (objectRefCtor?.from) {
|
|
625
|
+
(this as any)[key] = (objectRefCtor as any).from(property, this, key);
|
|
566
626
|
}
|
|
567
627
|
}
|
|
568
|
-
this.emit('update', {
|
|
569
|
-
action: 'update',
|
|
570
|
-
path,
|
|
571
|
-
object: newObject,
|
|
572
|
-
oldObject,
|
|
573
|
-
field,
|
|
574
|
-
});
|
|
575
628
|
}
|
|
576
629
|
|
|
577
630
|
_delete(): Params {
|
|
@@ -586,7 +639,7 @@ export class BaseNode extends EventEmitter {
|
|
|
586
639
|
|
|
587
640
|
static from(source: any, parentNode?: BaseNode, parentKey?: string): BaseNode {
|
|
588
641
|
// 有一些继承的情况
|
|
589
|
-
const Ctor = classMap
|
|
642
|
+
const Ctor = classMap.get(source?.concept) || this;
|
|
590
643
|
if (Ctor && source instanceof Ctor) {
|
|
591
644
|
if (parentNode) {
|
|
592
645
|
source.parentNode = parentNode;
|
|
@@ -607,7 +660,7 @@ export class BaseNode extends EventEmitter {
|
|
|
607
660
|
}
|
|
608
661
|
instance.subConstructor({
|
|
609
662
|
...source,
|
|
610
|
-
concept: source
|
|
663
|
+
concept: source?.concept ?? this?.prototype?.concept ?? (Ctor as any).ConceptName as string ?? Ctor.name,
|
|
611
664
|
parentNode,
|
|
612
665
|
});
|
|
613
666
|
return instance;
|
|
@@ -646,7 +699,13 @@ export class BaseNode extends EventEmitter {
|
|
|
646
699
|
})
|
|
647
700
|
: null;
|
|
648
701
|
if (siblingNode || !name || (useIndex && isNodeSelf) || useIndexKeys.includes(node.concept)) {
|
|
649
|
-
const index = parentProperty.
|
|
702
|
+
const index = parentProperty.findIndex((item) => {
|
|
703
|
+
if (item === node) {
|
|
704
|
+
return true;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
return item?.id && item?.id === node?.id;
|
|
708
|
+
});
|
|
650
709
|
path += `[${index}]`;
|
|
651
710
|
} else {
|
|
652
711
|
path += `[name=${name}]`;
|
|
@@ -664,13 +723,13 @@ export class BaseNode extends EventEmitter {
|
|
|
664
723
|
/**
|
|
665
724
|
* 上层节点
|
|
666
725
|
*/
|
|
667
|
-
get upperNode():
|
|
726
|
+
get upperNode(): SyntaxNode {
|
|
668
727
|
// eslint-disable-next-line consistent-this
|
|
669
728
|
let _upperNode: BaseNode = this;
|
|
670
729
|
while (!!_upperNode && _upperNode.concept === this.concept) {
|
|
671
730
|
_upperNode = _upperNode.parentNode;
|
|
672
731
|
}
|
|
673
|
-
return _upperNode as
|
|
732
|
+
return _upperNode as SyntaxNode;
|
|
674
733
|
}
|
|
675
734
|
|
|
676
735
|
/**
|
|
@@ -683,9 +742,9 @@ export class BaseNode extends EventEmitter {
|
|
|
683
742
|
/**
|
|
684
743
|
* 获取祖先节点
|
|
685
744
|
*/
|
|
686
|
-
getAncestor(concept:
|
|
687
|
-
getAncestor<Node extends
|
|
688
|
-
getAncestor<Node extends
|
|
745
|
+
getAncestor(concept: SyntaxNode['concept']): SyntaxNode;
|
|
746
|
+
getAncestor<Node extends SyntaxNode>(concept: Node['concept']): Node;
|
|
747
|
+
getAncestor<Node extends SyntaxNode = SyntaxNode>(concept: SyntaxNode['concept']): Node {
|
|
689
748
|
let { upperNode } = this;
|
|
690
749
|
while (upperNode && upperNode.concept && upperNode.concept !== concept) {
|
|
691
750
|
upperNode = upperNode.upperNode;
|
|
@@ -747,13 +806,13 @@ export class BaseNode extends EventEmitter {
|
|
|
747
806
|
instantiate(source: any, parentNode: BaseNode, parentKey: string) {
|
|
748
807
|
if (source instanceof BaseNode) {
|
|
749
808
|
if (!source.parentNode || !source.parentKey) {
|
|
750
|
-
source.parentNode = parentNode as
|
|
809
|
+
source.parentNode = parentNode as SyntaxNode;
|
|
751
810
|
source.parentKey = parentKey;
|
|
752
811
|
}
|
|
753
812
|
return source;
|
|
754
813
|
}
|
|
755
|
-
if (source && source.concept && classMap
|
|
756
|
-
const Ctor = classMap
|
|
814
|
+
if (source && source.concept && classMap.get(source.concept)) {
|
|
815
|
+
const Ctor = classMap.get(source.concept) as any;
|
|
757
816
|
const instance = Ctor.from(source, parentNode, parentKey);
|
|
758
817
|
if (instance && instance.toStorageJSON) instance.storageJSON = instance.toStorageJSON();
|
|
759
818
|
return instance;
|
|
@@ -770,7 +829,7 @@ export class BaseNode extends EventEmitter {
|
|
|
770
829
|
return;
|
|
771
830
|
}
|
|
772
831
|
const completeList: any[] = [];
|
|
773
|
-
let isArray
|
|
832
|
+
let isArray;
|
|
774
833
|
// 暂时通过是否有name判断数据是否全
|
|
775
834
|
if (Array.isArray(source)) {
|
|
776
835
|
isArray = true;
|
|
@@ -848,7 +907,7 @@ export class BaseNode extends EventEmitter {
|
|
|
848
907
|
}
|
|
849
908
|
|
|
850
909
|
_toJSON(filerFn?: (source: Partial<BaseNode>) => {}): any {
|
|
851
|
-
const propertyMap = getConceptPropertyMap(this.
|
|
910
|
+
const propertyMap = getConceptPropertyMap(this.concept || this.constructor.name);
|
|
852
911
|
const source: Partial<BaseNode> = {};
|
|
853
912
|
propertyMap.forEach((property, key: string) => {
|
|
854
913
|
if (property) {
|
|
@@ -861,6 +920,10 @@ export class BaseNode extends EventEmitter {
|
|
|
861
920
|
}
|
|
862
921
|
}
|
|
863
922
|
});
|
|
923
|
+
|
|
924
|
+
// @ts-ignore
|
|
925
|
+
source.concept = this.concept;
|
|
926
|
+
|
|
864
927
|
return filerFn ? filerFn(source) : source;
|
|
865
928
|
}
|
|
866
929
|
|
|
@@ -1070,8 +1133,8 @@ export class BaseNode extends EventEmitter {
|
|
|
1070
1133
|
return {};
|
|
1071
1134
|
}
|
|
1072
1135
|
|
|
1073
|
-
public traverseChildren(cb: (ele:
|
|
1074
|
-
function traverse(node:
|
|
1136
|
+
public traverseChildren(cb: (ele: SyntaxNode) => void): void {
|
|
1137
|
+
function traverse(node: SyntaxNode) {
|
|
1075
1138
|
cb(node);
|
|
1076
1139
|
|
|
1077
1140
|
const propertyMap = getConceptPropertyMap(node?.concept);
|
|
@@ -1080,12 +1143,12 @@ export class BaseNode extends EventEmitter {
|
|
|
1080
1143
|
for (const property of propertyMap.keys()) {
|
|
1081
1144
|
const child = node[property as keyof BaseNode];
|
|
1082
1145
|
if (!child) continue;
|
|
1083
|
-
else if (Array.isArray(child)) child.forEach((node:
|
|
1146
|
+
else if (Array.isArray(child)) child.forEach((node: SyntaxNode) => traverse(node));
|
|
1084
1147
|
else traverse(child);
|
|
1085
1148
|
}
|
|
1086
1149
|
}
|
|
1087
1150
|
|
|
1088
|
-
traverse(this as unknown as
|
|
1151
|
+
traverse(this as unknown as SyntaxNode);
|
|
1089
1152
|
}
|
|
1090
1153
|
|
|
1091
1154
|
/**
|
|
@@ -1176,14 +1239,36 @@ export class BaseNode extends EventEmitter {
|
|
|
1176
1239
|
return null;
|
|
1177
1240
|
}
|
|
1178
1241
|
|
|
1242
|
+
/**
|
|
1243
|
+
* 使用新的 concept 在当前节点生成新的数据
|
|
1244
|
+
*/
|
|
1245
|
+
changeConceptNode(concept: SyntaxNodeConcept) {
|
|
1246
|
+
return new Proxy(this, {
|
|
1247
|
+
get(target, p: keyof BaseNode, receiver) {
|
|
1248
|
+
if (p === 'concept') {
|
|
1249
|
+
return concept;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
return target[p];
|
|
1253
|
+
},
|
|
1254
|
+
})
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
/** 收集所有节点 */
|
|
1258
|
+
collectNodes(): SyntaxNode[];
|
|
1179
1259
|
/** 收集特定类型的子节点 */
|
|
1180
|
-
collectNodes(concept:
|
|
1181
|
-
/**
|
|
1182
|
-
collectNodes(pre: (node:
|
|
1183
|
-
collectNodes(input
|
|
1184
|
-
const pre =
|
|
1185
|
-
|
|
1186
|
-
|
|
1260
|
+
collectNodes(concept: SyntaxNodeConcept): SyntaxNode[];
|
|
1261
|
+
/** 收集断言返回`true`的子节点 */
|
|
1262
|
+
collectNodes(pre: (node: SyntaxNode) => boolean): SyntaxNode[];
|
|
1263
|
+
collectNodes(input?: SyntaxNodeConcept | ((node: SyntaxNode) => boolean)) {
|
|
1264
|
+
const pre =
|
|
1265
|
+
typeof input === 'undefined'
|
|
1266
|
+
? (node: SyntaxNode) => typeof node.concept === 'string'
|
|
1267
|
+
: typeof input === 'string'
|
|
1268
|
+
? (node: SyntaxNode) => node.concept === input
|
|
1269
|
+
: input;
|
|
1270
|
+
const nodes: SyntaxNode[] = [];
|
|
1271
|
+
const self = this as unknown as SyntaxNode;
|
|
1187
1272
|
|
|
1188
1273
|
if (pre(self)) {
|
|
1189
1274
|
nodes.push(self);
|