@lcap/nasl-language-server-core 3.9.0-beta.2 → 3.9.0-beta.20
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/module/graph.d.ts +16 -5
- package/out/module/graph.d.ts.map +1 -1
- package/out/module/graph.js +132 -23
- package/out/module/graph.js.map +1 -1
- package/out/module/index.d.ts +1 -0
- package/out/module/index.d.ts.map +1 -1
- package/out/module/index.js +1 -0
- package/out/module/index.js.map +1 -1
- package/out/module/module.d.ts +15 -6
- package/out/module/module.d.ts.map +1 -1
- package/out/module/module.js +51 -8
- package/out/module/module.js.map +1 -1
- package/out/module/types.d.ts +11 -0
- package/out/module/types.d.ts.map +1 -0
- package/out/module/types.js +6 -0
- package/out/module/types.js.map +1 -0
- package/out/symbol/namespace.d.ts +2 -0
- package/out/symbol/namespace.d.ts.map +1 -1
- package/out/symbol/namespace.js +24 -1
- package/out/symbol/namespace.js.map +1 -1
- package/out/symbol/symbol.d.ts +1 -0
- package/out/symbol/symbol.d.ts.map +1 -1
- package/out/symbol/symbol.js +2 -0
- package/out/symbol/symbol.js.map +1 -1
- package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.d.ts +7 -0
- package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.js +12 -0
- package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.js.map +1 -0
- package/out/symbol/traverse/concepts/auth/auth-logic.d.ts +7 -0
- package/out/symbol/traverse/concepts/auth/auth-logic.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/auth/auth-logic.js +12 -0
- package/out/symbol/traverse/concepts/auth/auth-logic.js.map +1 -0
- package/out/symbol/traverse/concepts/auth/index.d.ts +3 -0
- package/out/symbol/traverse/concepts/auth/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/auth/index.js +19 -0
- package/out/symbol/traverse/concepts/auth/index.js.map +1 -0
- package/out/symbol/traverse/concepts/connection/connection.d.ts +7 -0
- package/out/symbol/traverse/concepts/connection/connection.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/connection/connection.js +12 -0
- package/out/symbol/traverse/concepts/connection/connection.js.map +1 -0
- package/out/symbol/traverse/concepts/connection/connector-trigger.d.ts +7 -0
- package/out/symbol/traverse/concepts/connection/connector-trigger.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/connection/connector-trigger.js +26 -0
- package/out/symbol/traverse/concepts/connection/connector-trigger.js.map +1 -0
- package/out/symbol/traverse/concepts/connection/index.d.ts +3 -0
- package/out/symbol/traverse/concepts/connection/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/connection/index.js +19 -0
- package/out/symbol/traverse/concepts/connection/index.js.map +1 -0
- package/out/symbol/traverse/concepts/{entity.d.ts → data-source/entity.d.ts} +2 -2
- package/out/symbol/traverse/concepts/data-source/entity.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/data-source/entity.js +41 -0
- package/out/symbol/traverse/concepts/data-source/entity.js.map +1 -0
- package/out/symbol/traverse/concepts/data-source/index.d.ts +2 -0
- package/out/symbol/traverse/concepts/data-source/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/data-source/index.js +18 -0
- package/out/symbol/traverse/concepts/data-source/index.js.map +1 -0
- package/out/symbol/traverse/concepts/{enum.d.ts → enum/enum.d.ts} +2 -2
- package/out/symbol/traverse/concepts/enum/enum.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{enum.js → enum/enum.js} +3 -3
- package/out/symbol/traverse/concepts/enum/enum.js.map +1 -0
- package/out/symbol/traverse/concepts/enum/index.d.ts +2 -0
- package/out/symbol/traverse/concepts/enum/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/enum/index.js +18 -0
- package/out/symbol/traverse/concepts/enum/index.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-attr.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/bind-attr.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-attr.js +30 -0
- package/out/symbol/traverse/concepts/frontend/bind-attr.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-directive.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/bind-directive.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-directive.js +14 -0
- package/out/symbol/traverse/concepts/frontend/bind-directive.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-event.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/bind-event.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-event.js +14 -0
- package/out/symbol/traverse/concepts/frontend/bind-event.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-style.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/bind-style.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/bind-style.js +14 -0
- package/out/symbol/traverse/concepts/frontend/bind-style.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/business-components.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/business-components.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/business-components.js +44 -0
- package/out/symbol/traverse/concepts/frontend/business-components.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/frontend-type.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/frontend-type.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{frontend-type.js → frontend/frontend-type.js} +11 -6
- package/out/symbol/traverse/concepts/frontend/frontend-type.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/frontend.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/frontend.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{frontend.js → frontend/frontend.js} +7 -7
- package/out/symbol/traverse/concepts/frontend/frontend.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/index.d.ts +10 -0
- package/out/symbol/traverse/concepts/frontend/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/index.js +26 -0
- package/out/symbol/traverse/concepts/frontend/index.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/validation-rule.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/validation-rule.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/frontend/validation-rule.js +17 -0
- package/out/symbol/traverse/concepts/frontend/validation-rule.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/view-element.d.ts +7 -0
- package/out/symbol/traverse/concepts/frontend/view-element.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{view-element.js → frontend/view-element.js} +8 -8
- package/out/symbol/traverse/concepts/frontend/view-element.js.map +1 -0
- package/out/symbol/traverse/concepts/frontend/view.d.ts +8 -0
- package/out/symbol/traverse/concepts/frontend/view.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{view.js → frontend/view.js} +14 -10
- package/out/symbol/traverse/concepts/frontend/view.js.map +1 -0
- package/out/symbol/traverse/concepts/index.d.ts +1 -1
- package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/index.js +4 -3
- package/out/symbol/traverse/concepts/index.js.map +1 -1
- package/out/symbol/traverse/concepts/logic/expression/anchor.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/anchor.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/anchor.js +14 -0
- package/out/symbol/traverse/concepts/logic/expression/anchor.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/anonymous-function.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/anonymous-function.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{anonymous-function.js → logic/expression/anonymous-function.js} +4 -4
- package/out/symbol/traverse/concepts/logic/expression/anonymous-function.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/argument.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/argument.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/argument.js +14 -0
- package/out/symbol/traverse/concepts/logic/expression/argument.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/binary-expression.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/binary-expression.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/binary-expression.js +13 -0
- package/out/symbol/traverse/concepts/logic/expression/binary-expression.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-connector.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/call-connector.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-connector.js +14 -0
- package/out/symbol/traverse/concepts/logic/expression/call-connector.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-function.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/call-function.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-function.js +16 -0
- package/out/symbol/traverse/concepts/logic/expression/call-function.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-interface.d.ts +9 -0
- package/out/symbol/traverse/concepts/logic/expression/call-interface.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-interface.js +21 -0
- package/out/symbol/traverse/concepts/logic/expression/call-interface.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-logic.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/call-logic.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-logic.js +42 -0
- package/out/symbol/traverse/concepts/logic/expression/call-logic.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-query-component.d.ts +39 -0
- package/out/symbol/traverse/concepts/logic/expression/call-query-component.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/call-query-component.js +140 -0
- package/out/symbol/traverse/concepts/logic/expression/call-query-component.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/default-value.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/default-value.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/default-value.js +14 -0
- package/out/symbol/traverse/concepts/logic/expression/default-value.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/destination.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/destination.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{destination.js → logic/expression/destination.js} +4 -4
- package/out/symbol/traverse/concepts/logic/expression/destination.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/expression.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/expression.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/expression.js +191 -0
- package/out/symbol/traverse/concepts/logic/expression/expression.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/external-destination.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/external-destination.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/external-destination.js +18 -0
- package/out/symbol/traverse/concepts/logic/expression/external-destination.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/function.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/function.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/function.js +22 -0
- package/out/symbol/traverse/concepts/logic/expression/function.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/identifier.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/identifier.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/identifier.js +12 -0
- package/out/symbol/traverse/concepts/logic/expression/identifier.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/index.d.ts +28 -0
- package/out/symbol/traverse/concepts/logic/expression/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/index.js +44 -0
- package/out/symbol/traverse/concepts/logic/expression/index.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/literal.d.ts +2 -0
- package/out/symbol/traverse/concepts/logic/expression/literal.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/literal.js +6 -0
- package/out/symbol/traverse/concepts/logic/expression/literal.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/match.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/match.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/match.js +27 -0
- package/out/symbol/traverse/concepts/logic/expression/match.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/member-expression.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/member-expression.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/member-expression.js +12 -0
- package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-composite.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/new-composite.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-composite.js +21 -0
- package/out/symbol/traverse/concepts/logic/expression/new-composite.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-list.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/new-list.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-list.js +18 -0
- package/out/symbol/traverse/concepts/logic/expression/new-list.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-map.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/new-map.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-map.js +21 -0
- package/out/symbol/traverse/concepts/logic/expression/new-map.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-structure.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/new-structure.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new-structure.js +18 -0
- package/out/symbol/traverse/concepts/logic/expression/new-structure.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/new.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/new.js +11 -0
- package/out/symbol/traverse/concepts/logic/expression/new.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/oql-query-component.d.ts +9 -0
- package/out/symbol/traverse/concepts/logic/expression/oql-query-component.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{oql-query-component.js → logic/expression/oql-query-component.js} +6 -4
- package/out/symbol/traverse/concepts/logic/expression/oql-query-component.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/paginate.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/paginate.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/paginate.js +14 -0
- package/out/symbol/traverse/concepts/logic/expression/paginate.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/select-members.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/select-members.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{select-members.js → logic/expression/select-members.js} +4 -4
- package/out/symbol/traverse/concepts/logic/expression/select-members.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/string-interpolation.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/string-interpolation.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/string-interpolation.js +14 -0
- package/out/symbol/traverse/concepts/logic/expression/string-interpolation.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/unary-expression.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/expression/unary-expression.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/expression/unary-expression.js +12 -0
- package/out/symbol/traverse/concepts/logic/expression/unary-expression.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/function.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/function.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{function.js → logic/function.js} +7 -7
- package/out/symbol/traverse/concepts/logic/function.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/index.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/index.js +23 -0
- package/out/symbol/traverse/concepts/logic/index.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/interface.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/interface.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/interface.js +38 -0
- package/out/symbol/traverse/concepts/logic/interface.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/logic.d.ts +8 -0
- package/out/symbol/traverse/concepts/logic/logic.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/logic.js +36 -0
- package/out/symbol/traverse/concepts/logic/logic.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/overridden-logic.d.ts +8 -0
- package/out/symbol/traverse/concepts/logic/overridden-logic.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/overridden-logic.js +29 -0
- package/out/symbol/traverse/concepts/logic/overridden-logic.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/assignment.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/assignment.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{assignment.js → logic/statement/assignment.js} +7 -9
- package/out/symbol/traverse/concepts/logic/statement/assignment.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/batch-assignment.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/batch-assignment.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/batch-assignment.js +15 -0
- package/out/symbol/traverse/concepts/logic/statement/batch-assignment.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/block.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/block.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{block.js → logic/statement/block.js} +4 -4
- package/out/symbol/traverse/concepts/logic/statement/block.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/for-each-statement.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/for-each-statement.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/for-each-statement.js +31 -0
- package/out/symbol/traverse/concepts/logic/statement/for-each-statement.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/if-statement.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/if-statement.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/if-statement.js +19 -0
- package/out/symbol/traverse/concepts/logic/statement/if-statement.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/index.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/index.js +23 -0
- package/out/symbol/traverse/concepts/logic/statement/index.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/statement.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/statement.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{statement.js → logic/statement/statement.js} +17 -19
- package/out/symbol/traverse/concepts/logic/statement/statement.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/switch-statement.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/switch-statement.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/switch-statement.js +20 -0
- package/out/symbol/traverse/concepts/logic/statement/switch-statement.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/while-statement.d.ts +7 -0
- package/out/symbol/traverse/concepts/logic/statement/while-statement.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/statement/while-statement.js +16 -0
- package/out/symbol/traverse/concepts/logic/statement/while-statement.js.map +1 -0
- package/out/symbol/traverse/concepts/logic/variable.d.ts +11 -0
- package/out/symbol/traverse/concepts/logic/variable.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/logic/variable.js +25 -0
- package/out/symbol/traverse/concepts/logic/variable.js.map +1 -0
- package/out/symbol/traverse/concepts/other/app.d.ts +11 -0
- package/out/symbol/traverse/concepts/other/app.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/other/app.js +118 -0
- package/out/symbol/traverse/concepts/other/app.js.map +1 -0
- package/out/symbol/traverse/concepts/other/backend.d.ts +15 -0
- package/out/symbol/traverse/concepts/other/backend.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/other/backend.js +65 -0
- package/out/symbol/traverse/concepts/other/backend.js.map +1 -0
- package/out/symbol/traverse/concepts/other/connector.d.ts +15 -0
- package/out/symbol/traverse/concepts/other/connector.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/other/connector.js +56 -0
- package/out/symbol/traverse/concepts/other/connector.js.map +1 -0
- package/out/symbol/traverse/concepts/other/index.d.ts +6 -0
- package/out/symbol/traverse/concepts/other/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/other/index.js +22 -0
- package/out/symbol/traverse/concepts/other/index.js.map +1 -0
- package/out/symbol/traverse/concepts/other/module.d.ts +15 -0
- package/out/symbol/traverse/concepts/other/module.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/other/module.js +39 -0
- package/out/symbol/traverse/concepts/other/module.js.map +1 -0
- package/out/symbol/traverse/concepts/other/namespace.d.ts +9 -0
- package/out/symbol/traverse/concepts/other/namespace.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/other/namespace.js +48 -0
- package/out/symbol/traverse/concepts/other/namespace.js.map +1 -0
- package/out/symbol/traverse/concepts/other/type-annotation.d.ts +7 -0
- package/out/symbol/traverse/concepts/other/type-annotation.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{type-annotation.js → other/type-annotation.js} +7 -7
- package/out/symbol/traverse/concepts/other/type-annotation.js.map +1 -0
- package/out/symbol/traverse/concepts/structure/index.d.ts +2 -0
- package/out/symbol/traverse/concepts/structure/index.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/structure/index.js +18 -0
- package/out/symbol/traverse/concepts/structure/index.js.map +1 -0
- package/out/symbol/traverse/concepts/{structure.d.ts → structure/structure.d.ts} +2 -2
- package/out/symbol/traverse/concepts/structure/structure.d.ts.map +1 -0
- package/out/symbol/traverse/concepts/{structure.js → structure/structure.js} +7 -7
- package/out/symbol/traverse/concepts/structure/structure.js.map +1 -0
- package/out/symbol/traverse/concepts/utils.d.ts +3 -2
- package/out/symbol/traverse/concepts/utils.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/utils.js +3 -1
- package/out/symbol/traverse/concepts/utils.js.map +1 -1
- package/out/utils/array.d.ts +7 -0
- package/out/utils/array.d.ts.map +1 -0
- package/out/utils/array.js +17 -0
- package/out/utils/array.js.map +1 -0
- package/package.json +7 -8
- package/out/symbol/traverse/concepts/anchor.d.ts +0 -7
- package/out/symbol/traverse/concepts/anchor.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/anchor.js +0 -14
- package/out/symbol/traverse/concepts/anchor.js.map +0 -1
- package/out/symbol/traverse/concepts/anonymous-function.d.ts +0 -7
- package/out/symbol/traverse/concepts/anonymous-function.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/anonymous-function.js.map +0 -1
- package/out/symbol/traverse/concepts/app.d.ts +0 -11
- package/out/symbol/traverse/concepts/app.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/app.js +0 -115
- package/out/symbol/traverse/concepts/app.js.map +0 -1
- package/out/symbol/traverse/concepts/argument.d.ts +0 -7
- package/out/symbol/traverse/concepts/argument.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/argument.js +0 -14
- package/out/symbol/traverse/concepts/argument.js.map +0 -1
- package/out/symbol/traverse/concepts/assignment.d.ts +0 -7
- package/out/symbol/traverse/concepts/assignment.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/assignment.js.map +0 -1
- package/out/symbol/traverse/concepts/auth-logic.d.ts +0 -11
- package/out/symbol/traverse/concepts/auth-logic.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/auth-logic.js +0 -17
- package/out/symbol/traverse/concepts/auth-logic.js.map +0 -1
- package/out/symbol/traverse/concepts/backend.d.ts +0 -15
- package/out/symbol/traverse/concepts/backend.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/backend.js +0 -46
- package/out/symbol/traverse/concepts/backend.js.map +0 -1
- package/out/symbol/traverse/concepts/batch-assignment.d.ts +0 -7
- package/out/symbol/traverse/concepts/batch-assignment.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/batch-assignment.js +0 -15
- package/out/symbol/traverse/concepts/batch-assignment.js.map +0 -1
- package/out/symbol/traverse/concepts/binary-expression.d.ts +0 -7
- package/out/symbol/traverse/concepts/binary-expression.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/binary-expression.js +0 -13
- package/out/symbol/traverse/concepts/binary-expression.js.map +0 -1
- package/out/symbol/traverse/concepts/bind-attr.d.ts +0 -7
- package/out/symbol/traverse/concepts/bind-attr.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/bind-attr.js +0 -26
- package/out/symbol/traverse/concepts/bind-attr.js.map +0 -1
- package/out/symbol/traverse/concepts/bind-directive.d.ts +0 -7
- package/out/symbol/traverse/concepts/bind-directive.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/bind-directive.js +0 -14
- package/out/symbol/traverse/concepts/bind-directive.js.map +0 -1
- package/out/symbol/traverse/concepts/bind-event.d.ts +0 -7
- package/out/symbol/traverse/concepts/bind-event.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/bind-event.js +0 -14
- package/out/symbol/traverse/concepts/bind-event.js.map +0 -1
- package/out/symbol/traverse/concepts/bind-style.d.ts +0 -7
- package/out/symbol/traverse/concepts/bind-style.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/bind-style.js +0 -14
- package/out/symbol/traverse/concepts/bind-style.js.map +0 -1
- package/out/symbol/traverse/concepts/block.d.ts +0 -7
- package/out/symbol/traverse/concepts/block.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/block.js.map +0 -1
- package/out/symbol/traverse/concepts/call-connector.d.ts +0 -7
- package/out/symbol/traverse/concepts/call-connector.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/call-connector.js +0 -11
- package/out/symbol/traverse/concepts/call-connector.js.map +0 -1
- package/out/symbol/traverse/concepts/call-function.d.ts +0 -7
- package/out/symbol/traverse/concepts/call-function.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/call-function.js +0 -11
- package/out/symbol/traverse/concepts/call-function.js.map +0 -1
- package/out/symbol/traverse/concepts/call-interface.d.ts +0 -7
- package/out/symbol/traverse/concepts/call-interface.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/call-interface.js +0 -13
- package/out/symbol/traverse/concepts/call-interface.js.map +0 -1
- package/out/symbol/traverse/concepts/call-logic.d.ts +0 -7
- package/out/symbol/traverse/concepts/call-logic.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/call-logic.js +0 -30
- package/out/symbol/traverse/concepts/call-logic.js.map +0 -1
- package/out/symbol/traverse/concepts/call-query-component.d.ts +0 -11
- package/out/symbol/traverse/concepts/call-query-component.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/call-query-component.js +0 -19
- package/out/symbol/traverse/concepts/call-query-component.js.map +0 -1
- package/out/symbol/traverse/concepts/default-value.d.ts +0 -7
- package/out/symbol/traverse/concepts/default-value.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/default-value.js +0 -14
- package/out/symbol/traverse/concepts/default-value.js.map +0 -1
- package/out/symbol/traverse/concepts/destination.d.ts +0 -7
- package/out/symbol/traverse/concepts/destination.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/destination.js.map +0 -1
- package/out/symbol/traverse/concepts/entity.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/entity.js +0 -38
- package/out/symbol/traverse/concepts/entity.js.map +0 -1
- package/out/symbol/traverse/concepts/enum.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/enum.js.map +0 -1
- package/out/symbol/traverse/concepts/expression.d.ts +0 -7
- package/out/symbol/traverse/concepts/expression.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/expression.js +0 -126
- package/out/symbol/traverse/concepts/expression.js.map +0 -1
- package/out/symbol/traverse/concepts/external-destination.d.ts +0 -7
- package/out/symbol/traverse/concepts/external-destination.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/external-destination.js +0 -18
- package/out/symbol/traverse/concepts/external-destination.js.map +0 -1
- package/out/symbol/traverse/concepts/for-each-statement.d.ts +0 -7
- package/out/symbol/traverse/concepts/for-each-statement.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/for-each-statement.js +0 -31
- package/out/symbol/traverse/concepts/for-each-statement.js.map +0 -1
- package/out/symbol/traverse/concepts/frontend-type.d.ts +0 -7
- package/out/symbol/traverse/concepts/frontend-type.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/frontend-type.js.map +0 -1
- package/out/symbol/traverse/concepts/frontend.d.ts +0 -7
- package/out/symbol/traverse/concepts/frontend.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/frontend.js.map +0 -1
- package/out/symbol/traverse/concepts/function.d.ts +0 -7
- package/out/symbol/traverse/concepts/function.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/function.js.map +0 -1
- package/out/symbol/traverse/concepts/identifier.d.ts +0 -7
- package/out/symbol/traverse/concepts/identifier.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/identifier.js +0 -12
- package/out/symbol/traverse/concepts/identifier.js.map +0 -1
- package/out/symbol/traverse/concepts/if-statement.d.ts +0 -7
- package/out/symbol/traverse/concepts/if-statement.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/if-statement.js +0 -19
- package/out/symbol/traverse/concepts/if-statement.js.map +0 -1
- package/out/symbol/traverse/concepts/interface.d.ts +0 -7
- package/out/symbol/traverse/concepts/interface.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/interface.js +0 -18
- package/out/symbol/traverse/concepts/interface.js.map +0 -1
- package/out/symbol/traverse/concepts/logic.d.ts +0 -7
- package/out/symbol/traverse/concepts/logic.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/logic.js +0 -29
- package/out/symbol/traverse/concepts/logic.js.map +0 -1
- package/out/symbol/traverse/concepts/match-statement.d.ts +0 -7
- package/out/symbol/traverse/concepts/match-statement.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/match-statement.js +0 -28
- package/out/symbol/traverse/concepts/match-statement.js.map +0 -1
- package/out/symbol/traverse/concepts/member-expression.d.ts +0 -7
- package/out/symbol/traverse/concepts/member-expression.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/member-expression.js +0 -12
- package/out/symbol/traverse/concepts/member-expression.js.map +0 -1
- package/out/symbol/traverse/concepts/module.d.ts +0 -15
- package/out/symbol/traverse/concepts/module.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/module.js +0 -32
- package/out/symbol/traverse/concepts/module.js.map +0 -1
- package/out/symbol/traverse/concepts/namespace.d.ts +0 -9
- package/out/symbol/traverse/concepts/namespace.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/namespace.js +0 -48
- package/out/symbol/traverse/concepts/namespace.js.map +0 -1
- package/out/symbol/traverse/concepts/new-list.d.ts +0 -7
- package/out/symbol/traverse/concepts/new-list.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/new-list.js +0 -18
- package/out/symbol/traverse/concepts/new-list.js.map +0 -1
- package/out/symbol/traverse/concepts/oql-query-component.d.ts +0 -7
- package/out/symbol/traverse/concepts/oql-query-component.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/oql-query-component.js.map +0 -1
- package/out/symbol/traverse/concepts/paginate.d.ts +0 -7
- package/out/symbol/traverse/concepts/paginate.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/paginate.js +0 -14
- package/out/symbol/traverse/concepts/paginate.js.map +0 -1
- package/out/symbol/traverse/concepts/select-members.d.ts +0 -7
- package/out/symbol/traverse/concepts/select-members.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/select-members.js.map +0 -1
- package/out/symbol/traverse/concepts/statement.d.ts +0 -7
- package/out/symbol/traverse/concepts/statement.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/statement.js.map +0 -1
- package/out/symbol/traverse/concepts/string-interpolation.d.ts +0 -7
- package/out/symbol/traverse/concepts/string-interpolation.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/string-interpolation.js +0 -14
- package/out/symbol/traverse/concepts/string-interpolation.js.map +0 -1
- package/out/symbol/traverse/concepts/structure.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/structure.js.map +0 -1
- package/out/symbol/traverse/concepts/switch-statement.d.ts +0 -7
- package/out/symbol/traverse/concepts/switch-statement.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/switch-statement.js +0 -20
- package/out/symbol/traverse/concepts/switch-statement.js.map +0 -1
- package/out/symbol/traverse/concepts/type-annotation.d.ts +0 -7
- package/out/symbol/traverse/concepts/type-annotation.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/type-annotation.js.map +0 -1
- package/out/symbol/traverse/concepts/unary-expression.d.ts +0 -7
- package/out/symbol/traverse/concepts/unary-expression.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/unary-expression.js +0 -12
- package/out/symbol/traverse/concepts/unary-expression.js.map +0 -1
- package/out/symbol/traverse/concepts/variable.d.ts +0 -9
- package/out/symbol/traverse/concepts/variable.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/variable.js +0 -27
- package/out/symbol/traverse/concepts/variable.js.map +0 -1
- package/out/symbol/traverse/concepts/view-element.d.ts +0 -7
- package/out/symbol/traverse/concepts/view-element.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/view-element.js.map +0 -1
- package/out/symbol/traverse/concepts/view.d.ts +0 -7
- package/out/symbol/traverse/concepts/view.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/view.js.map +0 -1
- package/out/symbol/traverse/concepts/while-statement.d.ts +0 -7
- package/out/symbol/traverse/concepts/while-statement.d.ts.map +0 -1
- package/out/symbol/traverse/concepts/while-statement.js +0 -16
- package/out/symbol/traverse/concepts/while-statement.js.map +0 -1
package/out/module/graph.d.ts
CHANGED
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { type SyntaxNode } from '@lcap/nasl-concepts';
|
|
1
|
+
import { Module as Type } from '@lcap/nasl-types';
|
|
2
|
+
import { type App, type SyntaxNode } from '@lcap/nasl-concepts';
|
|
3
3
|
import { SymbolGraph, Symbol } from '../symbol';
|
|
4
|
+
import type { TopologicalSortContext } from './types';
|
|
4
5
|
import { Module } from './module';
|
|
5
6
|
export declare class ModuleGraph implements Type.ModuleGraph {
|
|
6
|
-
static
|
|
7
|
+
static fromNaslData(data: object | App): ModuleGraph;
|
|
7
8
|
readonly createTime: number;
|
|
9
|
+
/** 符号表 */
|
|
8
10
|
private symbolGraph;
|
|
11
|
+
/** 节点模块映射表 */
|
|
9
12
|
private moduleMap;
|
|
13
|
+
/** 节点路径映射表 */
|
|
14
|
+
private moduleNodeMap;
|
|
10
15
|
constructor(symbolGraph: SymbolGraph);
|
|
11
|
-
|
|
16
|
+
/** 当前 Nasl 根节点 */
|
|
17
|
+
get app(): App;
|
|
12
18
|
private init;
|
|
19
|
+
/**
|
|
20
|
+
* 获取循环引用
|
|
21
|
+
*/
|
|
22
|
+
private getCircular;
|
|
13
23
|
getModuleByNode(node: SyntaxNode): Module;
|
|
24
|
+
getModuleByNodePath(nodePath: string): Module | undefined;
|
|
14
25
|
getModuleMapBySymbol(symbol: Symbol): void;
|
|
15
26
|
getModules(): Module[];
|
|
16
|
-
|
|
27
|
+
topologicalSort(context: TopologicalSortContext): Promise<Module[]>;
|
|
17
28
|
toData(): Type.ModuleGraphData;
|
|
18
29
|
}
|
|
19
30
|
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;IAClD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAStC,QAAQ,CAAC,UAAU,SAAc;IAEjC,UAAU;IACV,OAAO,CAAC,WAAW,CAAc;IACjC,cAAc;IACd,OAAO,CAAC,SAAS,CAA+B;IAChD,cAAc;IACd,OAAO,CAAC,aAAa,CAA2B;gBAEpC,WAAW,EAAE,WAAW;IAKpC,kBAAkB;IAClB,IAAI,GAAG,QAEN;IAED,OAAO,CAAC,IAAI;IAmBZ;;OAEG;IACH,OAAO,CAAC,WAAW;IAgDnB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAezC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1C,UAAU;IAIJ,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0EzE,MAAM,IAAI,IAAI,CAAC,eAAe;CAc/B"}
|
package/out/module/graph.js
CHANGED
|
@@ -1,50 +1,94 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ModuleGraph = void 0;
|
|
4
|
+
const nasl_types_1 = require("@lcap/nasl-types");
|
|
4
5
|
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
6
|
+
const asserts_1 = require("@lcap/nasl-concepts/asserts");
|
|
7
|
+
const service_1 = require("@lcap/nasl-concepts/service");
|
|
5
8
|
const symbol_1 = require("../symbol");
|
|
6
9
|
const module_1 = require("./module");
|
|
10
|
+
const array_1 = require("../utils/array");
|
|
7
11
|
class ModuleGraph {
|
|
8
|
-
static
|
|
9
|
-
const
|
|
10
|
-
|
|
12
|
+
static fromNaslData(data) {
|
|
13
|
+
const app = (0, asserts_1.isStrictApp)(data)
|
|
14
|
+
? data
|
|
15
|
+
: new ((0, nasl_concepts_1.getConceptConstructor)('App'))(data);
|
|
11
16
|
const symbolGraph = new symbol_1.SymbolGraph(app);
|
|
12
17
|
const moduleGraph = new ModuleGraph(symbolGraph);
|
|
13
18
|
return moduleGraph;
|
|
14
19
|
}
|
|
15
20
|
constructor(symbolGraph) {
|
|
16
21
|
this.createTime = Date.now();
|
|
22
|
+
/** 节点模块映射表 */
|
|
17
23
|
this.moduleMap = new Map;
|
|
24
|
+
/** 节点路径映射表 */
|
|
25
|
+
this.moduleNodeMap = new Map;
|
|
18
26
|
this.symbolGraph = symbolGraph;
|
|
19
27
|
this.init();
|
|
20
28
|
}
|
|
29
|
+
/** 当前 Nasl 根节点 */
|
|
21
30
|
get app() {
|
|
22
|
-
return this.symbolGraph
|
|
31
|
+
return this.symbolGraph?.app;
|
|
23
32
|
}
|
|
24
33
|
init() {
|
|
25
|
-
const { app, moduleMap } = this;
|
|
26
|
-
const moduleConcepts =
|
|
34
|
+
const { app, moduleMap, moduleNodeMap } = this;
|
|
35
|
+
const moduleConcepts = (0, service_1.getFileNodesByNasl)(app);
|
|
27
36
|
// 记录所有模块
|
|
28
|
-
moduleConcepts.forEach((
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// 当前节点是别的模块根节点,则剪枝
|
|
34
|
-
if (moduleMap.has(child)) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
if (child.changedTime && child.changedTime > mod.lastModifyTime) {
|
|
38
|
-
mod.lastModifyTime = child.changedTime;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}));
|
|
37
|
+
moduleConcepts.forEach((node) => {
|
|
38
|
+
const mod = new module_1.Module(node);
|
|
39
|
+
moduleMap.set(node, mod);
|
|
40
|
+
moduleNodeMap.set(node.nodePath, mod);
|
|
41
|
+
});
|
|
42
42
|
const symbols = this.symbolGraph.getSymbols()
|
|
43
43
|
.filter((item) => item.isUsed && item.declaration);
|
|
44
44
|
for (const symbol of symbols) {
|
|
45
45
|
this.getModuleMapBySymbol(symbol);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* 获取循环引用
|
|
50
|
+
*/
|
|
51
|
+
getCircular() {
|
|
52
|
+
/** 未访问模块 */
|
|
53
|
+
const allVisit = new Set(this.moduleMap.values());
|
|
54
|
+
/** 循环引用 */
|
|
55
|
+
const circular = [];
|
|
56
|
+
/** 合并集合 */
|
|
57
|
+
const mergeSet = (set1, set2) => {
|
|
58
|
+
for (const item of set2) {
|
|
59
|
+
set1.add(item);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
function dfs(mod, visitStack) {
|
|
63
|
+
// 循环引用
|
|
64
|
+
if (visitStack.has(mod)) {
|
|
65
|
+
circular.push(visitStack);
|
|
66
|
+
}
|
|
67
|
+
// 非循环引用,且已经被访问过
|
|
68
|
+
else if (!allVisit.has(mod)) {
|
|
69
|
+
const circularSet = circular.find((set) => set.has(mod));
|
|
70
|
+
// 是循环引用节点,则合并路径
|
|
71
|
+
if (circularSet) {
|
|
72
|
+
mergeSet(circularSet, visitStack);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const deps = mod.getDependencyModules();
|
|
77
|
+
allVisit.delete(mod);
|
|
78
|
+
if (deps.length > 0) {
|
|
79
|
+
const newVisitStack = new Set(visitStack);
|
|
80
|
+
newVisitStack.add(mod);
|
|
81
|
+
for (const dep of deps) {
|
|
82
|
+
dfs(dep.dependency, newVisitStack);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
while (allVisit.size > 0) {
|
|
88
|
+
dfs(allVisit.values().next().value, new Set());
|
|
89
|
+
}
|
|
90
|
+
return circular;
|
|
91
|
+
}
|
|
48
92
|
getModuleByNode(node) {
|
|
49
93
|
let currentNode = node;
|
|
50
94
|
while (currentNode.parentNode) {
|
|
@@ -56,6 +100,9 @@ class ModuleGraph {
|
|
|
56
100
|
// 兜底返回 App 的模块
|
|
57
101
|
return this.moduleMap.get(node.app);
|
|
58
102
|
}
|
|
103
|
+
getModuleByNodePath(nodePath) {
|
|
104
|
+
return this.moduleNodeMap.get(nodePath);
|
|
105
|
+
}
|
|
59
106
|
getModuleMapBySymbol(symbol) {
|
|
60
107
|
if (!symbol.declaration) {
|
|
61
108
|
throw new Error(`未找到此符号的声明语句: ${symbol.name}`);
|
|
@@ -63,7 +110,7 @@ class ModuleGraph {
|
|
|
63
110
|
const current = this.getModuleByNode(symbol.declaration);
|
|
64
111
|
for (const refNode of symbol.references) {
|
|
65
112
|
const refModule = this.getModuleByNode(refNode);
|
|
66
|
-
if (refModule !== current) {
|
|
113
|
+
if (refModule && refModule !== current) {
|
|
67
114
|
refModule.addDependency(current);
|
|
68
115
|
}
|
|
69
116
|
}
|
|
@@ -71,8 +118,70 @@ class ModuleGraph {
|
|
|
71
118
|
getModules() {
|
|
72
119
|
return Array.from(this.moduleMap.values());
|
|
73
120
|
}
|
|
74
|
-
|
|
75
|
-
|
|
121
|
+
async topologicalSort(context) {
|
|
122
|
+
/**
|
|
123
|
+
* 模块状态表
|
|
124
|
+
*
|
|
125
|
+
* @description 在集合内表示未标注
|
|
126
|
+
*/
|
|
127
|
+
const waitAnnotationModules = new Set(this.moduleMap.values());
|
|
128
|
+
/**
|
|
129
|
+
* 模块是否更新签名
|
|
130
|
+
*/
|
|
131
|
+
const updatedModules = new Set();
|
|
132
|
+
/** 循环引用模块 */
|
|
133
|
+
const circularSets = this.getCircular();
|
|
134
|
+
/** 查询模块状态 */
|
|
135
|
+
const getModuleStatus = (mod) => {
|
|
136
|
+
if (!waitAnnotationModules.has(mod)) {
|
|
137
|
+
return nasl_types_1.Module.ModuleStatusInTopologicalSort.NotVisit;
|
|
138
|
+
}
|
|
139
|
+
else if (updatedModules.has(mod)) {
|
|
140
|
+
return nasl_types_1.Module.ModuleStatusInTopologicalSort.VisitedWithModify;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
return nasl_types_1.Module.ModuleStatusInTopologicalSort.VisitedWithNoModify;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
/** 是否可以进行标注 */
|
|
147
|
+
const canAnnotation = (modules) => {
|
|
148
|
+
return (
|
|
149
|
+
// 没有依赖
|
|
150
|
+
modules.length === 0 ||
|
|
151
|
+
// 有依赖但是所有依赖已经标注完成
|
|
152
|
+
modules.every((mod) => !waitAnnotationModules.has(mod)));
|
|
153
|
+
};
|
|
154
|
+
// 循环,直到队列为空
|
|
155
|
+
while (waitAnnotationModules.size > 0) {
|
|
156
|
+
// 普通模块
|
|
157
|
+
const normalModules = Array.from(waitAnnotationModules.values()).filter((mod) => {
|
|
158
|
+
const dependencies = mod.getDependencyModules();
|
|
159
|
+
return (
|
|
160
|
+
// 非循环引用模块
|
|
161
|
+
circularSets.every((set) => !set.has(mod)) &&
|
|
162
|
+
// 允许标注
|
|
163
|
+
canAnnotation(dependencies.map((mod) => mod.dependency)));
|
|
164
|
+
});
|
|
165
|
+
// 循环引用集合
|
|
166
|
+
const circularSet = circularSets.filter((set) => {
|
|
167
|
+
/** 除开循环模块之外的所有依赖 */
|
|
168
|
+
const allDependencies = Array.from(set)
|
|
169
|
+
.map((mod) => (mod.getDependencyModules().map((item) => item.dependency)))
|
|
170
|
+
.reduce((ans, item) => ans.concat(item), [])
|
|
171
|
+
.filter((mod) => !set.has(mod));
|
|
172
|
+
return canAnnotation(allDependencies);
|
|
173
|
+
});
|
|
174
|
+
// 循环模块
|
|
175
|
+
const circularModules = circularSet.map((set) => Array.from(set)).reduce((ans, item) => ans.concat(item), []);
|
|
176
|
+
// 本轮待标注模块
|
|
177
|
+
const currentModules = normalModules.concat(circularModules);
|
|
178
|
+
// 标注模块
|
|
179
|
+
const changedModules = await context.getModulesSignature(currentModules, getModuleStatus);
|
|
180
|
+
circularSet.forEach((set) => (0, array_1.removeItem)(circularSets, set));
|
|
181
|
+
changedModules.forEach((mod) => updatedModules.add(mod));
|
|
182
|
+
currentModules.forEach((mod) => waitAnnotationModules.delete(mod));
|
|
183
|
+
}
|
|
184
|
+
return Array.from(updatedModules);
|
|
76
185
|
}
|
|
77
186
|
toData() {
|
|
78
187
|
const result = {
|
package/out/module/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAClD,uDAAuF;AACvF,yDAA0D;AAC1D,yDAAiE;AACjE,sCAAgD;AAEhD,qCAAkC;AAClC,0CAA4C;AAE5C,MAAa,WAAW;IACtB,MAAM,CAAC,YAAY,CAAC,IAAkB;QACpC,MAAM,GAAG,GAAG,IAAA,qBAAW,EAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,IAAA,qCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,WAAW,CAAC;IACrB,CAAC;IAWD,YAAY,WAAwB;QAT3B,eAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAIjC,cAAc;QACN,cAAS,GAAG,IAAI,GAAuB,CAAC;QAChD,cAAc;QACN,kBAAa,GAAG,IAAI,GAAmB,CAAC;QAG9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,WAAW,EAAE,GAAU,CAAC;IACtC,CAAC;IAEO,IAAI;QACV,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAA,4BAAkB,EAAC,GAAG,CAAC,CAAC;QAE/C,SAAS;QACT,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACzB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;aAC1C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,YAAY;QACZ,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,WAAW;QACX,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,WAAW;QACX,MAAM,QAAQ,GAAG,CAAC,IAAiB,EAAE,IAAiB,EAAE,EAAE;YACxD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QAEF,SAAS,GAAG,CAAC,GAAW,EAAE,UAAuB;YAC/C,OAAO;YACP,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YACD,gBAAgB;iBACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,gBAAgB;gBAChB,IAAI,WAAW,EAAE,CAAC;oBAChB,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBAExC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAErB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC1C,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,IAAgB;QAC9B,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,OAAO,WAAW,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAC1C,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,UAAW,CAAC;QACxC,CAAC;QAED,eAAe;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;IACvC,CAAC;IAED,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAY,CAAC,CAAC;QAE1D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,SAAS,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD;;;;WAIG;QACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE;;WAEG;QACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,aAAa;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,aAAa;QACb,MAAM,eAAe,GAAG,CAAC,GAAW,EAAsC,EAAE;YAC1E,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,mBAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;YACrD,CAAC;iBACI,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,mBAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC;YAC9D,CAAC;iBACI,CAAC;gBACJ,OAAO,mBAAI,CAAC,6BAA6B,CAAC,mBAAmB,CAAC;YAChE,CAAC;QACH,CAAC,CAAC;QACF,eAAe;QACf,MAAM,aAAa,GAAG,CAAC,OAAiB,EAAE,EAAE;YAC1C,OAAO;YACL,OAAO;YACP,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,kBAAkB;gBAClB,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACxD,CAAC;QACJ,CAAC,CAAC;QAEF,YAAY;QACZ,OAAO,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO;YACP,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9E,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBAChD,OAAO;gBACL,UAAU;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC1C,OAAO;oBACP,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CACzD,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,SAAS;YACT,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9C,oBAAoB;gBACpB,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;qBACpC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACZ,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAC1D,CAAC;qBACD,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;qBAC3C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAElC,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO;YACP,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9G,UAAU;YACV,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7D,OAAO;YACP,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAE1F,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5D,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAlOD,kCAkOC"}
|
package/out/module/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/out/module/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./dependency"), exports);
|
|
18
18
|
__exportStar(require("./graph"), exports);
|
|
19
19
|
__exportStar(require("./module"), exports);
|
|
20
|
+
__exportStar(require("./types"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/out/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB"}
|
package/out/module/module.d.ts
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import type { Module as Type } from '@lcap/nasl-types';
|
|
2
|
-
import type { SyntaxNode } from '@lcap/nasl-concepts';
|
|
2
|
+
import type { SyntaxNode, App } from '@lcap/nasl-concepts';
|
|
3
3
|
import { ModuleDependency } from './dependency';
|
|
4
4
|
export declare class Module implements Type.Module {
|
|
5
|
-
|
|
5
|
+
static from(app: App, data: Type.ModuleData): Module;
|
|
6
6
|
private readonly imported;
|
|
7
7
|
private readonly dependencyModules;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
private _node;
|
|
9
|
+
private _count;
|
|
10
|
+
private _signature;
|
|
11
|
+
private _lastModifyTime;
|
|
12
|
+
private _lastSignatureTime;
|
|
13
|
+
constructor(node: SyntaxNode, options?: Partial<Type.ModuleData>);
|
|
12
14
|
get name(): string;
|
|
15
|
+
get count(): number;
|
|
16
|
+
get signature(): string;
|
|
17
|
+
get lastModifyTime(): number;
|
|
18
|
+
get isLastSignature(): boolean;
|
|
19
|
+
get node(): SyntaxNode;
|
|
13
20
|
toData(): Type.ModuleData;
|
|
21
|
+
updateNode(node: SyntaxNode): void;
|
|
22
|
+
updateSignature(signature: string): void;
|
|
14
23
|
addDependency(dependency: Module): void;
|
|
15
24
|
getImported(): Module[];
|
|
16
25
|
getDependencyModules(): ModuleDependency[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,qBAAa,MAAO,YAAW,IAAI,CAAC,MAAM;IACxC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM;IAMpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,kBAAkB,CAAM;gBAEpB,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAchE,IAAI,IAAI,WAEP;IAED,IAAI,KAAK,WAER;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,eAAe,YAElB;IAED,IAAI,IAAI,eAEP;IAED,MAAM,IAAI,IAAI,CAAC,UAAU;IAWzB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIlC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASxC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOvC,WAAW,IAAI,MAAM,EAAE;IAIvB,oBAAoB,IAAI,gBAAgB,EAAE;CAG3C"}
|
package/out/module/module.js
CHANGED
|
@@ -1,29 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Module = void 0;
|
|
4
|
+
const asserts_1 = require("@lcap/nasl-concepts/asserts");
|
|
5
|
+
const service_1 = require("@lcap/nasl-concepts/service");
|
|
4
6
|
const dependency_1 = require("./dependency");
|
|
5
7
|
const lodash_1 = require("lodash");
|
|
6
8
|
class Module {
|
|
7
|
-
|
|
9
|
+
static from(app, data) {
|
|
10
|
+
const findNode = app.findNodeByPath(data.node);
|
|
11
|
+
(0, asserts_1.assertBaseNode)(findNode);
|
|
12
|
+
return new Module(findNode, data);
|
|
13
|
+
}
|
|
14
|
+
constructor(node, options) {
|
|
8
15
|
this.imported = [];
|
|
9
16
|
this.dependencyModules = [];
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
17
|
+
this._count = -1;
|
|
18
|
+
this._signature = '';
|
|
19
|
+
this._lastModifyTime = -1;
|
|
20
|
+
this._lastSignatureTime = -1;
|
|
21
|
+
this._node = node;
|
|
22
|
+
this._count = options?.count && options.count > 0 ? options.count : -1;
|
|
23
|
+
this._lastModifyTime = options?.lastModifyTime && options.lastModifyTime > -1 ? options.lastModifyTime : -1;
|
|
24
|
+
this._signature = options?.signature ?? '';
|
|
25
|
+
this._lastSignatureTime = options?.isLastSignature ? this.lastModifyTime : -1;
|
|
26
|
+
if (this._count === -1 || this._lastModifyTime == -1) {
|
|
27
|
+
const data = (0, service_1.getModuleSubTreeData)(node);
|
|
28
|
+
this._count = data.count,
|
|
29
|
+
this._lastModifyTime = data.lastModifyTime;
|
|
30
|
+
}
|
|
14
31
|
}
|
|
15
32
|
get name() {
|
|
16
33
|
return this.node.nodePath;
|
|
17
34
|
}
|
|
35
|
+
get count() {
|
|
36
|
+
return this._count;
|
|
37
|
+
}
|
|
38
|
+
get signature() {
|
|
39
|
+
return this._signature;
|
|
40
|
+
}
|
|
41
|
+
get lastModifyTime() {
|
|
42
|
+
return this._lastModifyTime;
|
|
43
|
+
}
|
|
44
|
+
get isLastSignature() {
|
|
45
|
+
return this._lastSignatureTime !== -1 && this.lastModifyTime === this._lastSignatureTime;
|
|
46
|
+
}
|
|
47
|
+
get node() {
|
|
48
|
+
return this._node;
|
|
49
|
+
}
|
|
18
50
|
toData() {
|
|
19
51
|
return {
|
|
20
52
|
node: this.node.nodePath,
|
|
21
|
-
|
|
53
|
+
count: this.count,
|
|
54
|
+
dependency: (0, lodash_1.union)(this.dependencyModules.map((dep) => dep.dependency.name)),
|
|
22
55
|
lastModifyTime: this.lastModifyTime,
|
|
23
|
-
|
|
56
|
+
isLastSignature: this.isLastSignature,
|
|
24
57
|
signature: this.signature,
|
|
25
58
|
};
|
|
26
59
|
}
|
|
60
|
+
updateNode(node) {
|
|
61
|
+
this._node = node;
|
|
62
|
+
}
|
|
63
|
+
updateSignature(signature) {
|
|
64
|
+
this._signature = signature;
|
|
65
|
+
if (this.lastModifyTime === -1) {
|
|
66
|
+
this._lastSignatureTime = 0;
|
|
67
|
+
this._lastModifyTime = 0;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
27
70
|
addDependency(dependency) {
|
|
28
71
|
if (this.dependencyModules.every(({ dependency: item }) => dependency !== item)) {
|
|
29
72
|
this.dependencyModules.push(new dependency_1.ModuleDependency(this, dependency));
|
|
@@ -31,7 +74,7 @@ class Module {
|
|
|
31
74
|
}
|
|
32
75
|
}
|
|
33
76
|
getImported() {
|
|
34
|
-
return
|
|
77
|
+
return this.imported.slice();
|
|
35
78
|
}
|
|
36
79
|
getDependencyModules() {
|
|
37
80
|
return this.dependencyModules.slice();
|
package/out/module/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":";;;AAEA,6CAAgD;AAChD,mCAA+B;AAE/B,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Module } from './module';
|
|
2
|
+
import { Module as Type } from '@lcap/nasl-types';
|
|
3
|
+
export type ModuleData = Type.ModuleData;
|
|
4
|
+
export type ModuleGraphData = Type.ModuleGraphData;
|
|
5
|
+
export type ModuleStatusInTopologicalSort = Type.ModuleStatusInTopologicalSort;
|
|
6
|
+
export declare const ModuleStatusInTopologicalSort: typeof Type.ModuleStatusInTopologicalSort;
|
|
7
|
+
export type GetModuleStatus = (module: Module) => Type.ModuleStatusInTopologicalSort;
|
|
8
|
+
export interface TopologicalSortContext {
|
|
9
|
+
getModulesSignature(modules: Module[], getModuleStatus: GetModuleStatus): Promise<Module[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/module/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACzC,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AACnD,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC;AAC/E,eAAO,MAAM,6BAA6B,2CAAqC,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,6BAA6B,CAAC;AAErF,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7F"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleStatusInTopologicalSort = void 0;
|
|
4
|
+
const nasl_types_1 = require("@lcap/nasl-types");
|
|
5
|
+
exports.ModuleStatusInTopologicalSort = nasl_types_1.Module.ModuleStatusInTopologicalSort;
|
|
6
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/module/types.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAKrC,QAAA,6BAA6B,GAAG,mBAAI,CAAC,6BAA6B,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare class Namespace implements Type.Namespace {
|
|
|
8
8
|
readonly defaultExport?: Symbol | undefined;
|
|
9
9
|
readonly parent?: Namespace | undefined;
|
|
10
10
|
readonly isExport: boolean;
|
|
11
|
+
readonly id: number;
|
|
11
12
|
readonly children: Namespace[];
|
|
12
13
|
/** 本地符号集合 */
|
|
13
14
|
private readonly localSymbols;
|
|
@@ -22,6 +23,7 @@ export declare class Namespace implements Type.Namespace {
|
|
|
22
23
|
getExportTopNamespace(): Namespace;
|
|
23
24
|
getParentNamespace(cb: (namespace: Namespace) => boolean): Namespace | undefined;
|
|
24
25
|
getSymbolByToken(token: string): Symbol | undefined;
|
|
26
|
+
getSymbolByCb(cb: (token: string) => boolean): Symbol | undefined;
|
|
25
27
|
getNamespaceSymbols(): Map<string, Symbol>;
|
|
26
28
|
getLocalSymbols(): Map<string, Symbol>;
|
|
27
29
|
getStrictLocalSymbols(): Map<string, Symbol>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,SAAU,YAAW,IAAI,CAAC,SAAS;IAS5C,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,QAAQ;IAZnB,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAM;IACpC,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAGnD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,aAAa,CAAC,oBAAQ,EACtB,MAAM,CAAC,uBAAW,EAClB,QAAQ,UAAO;IAe1B,IAAI,MAAM,YAET;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,cAQP;IAED,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAUtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B,qBAAqB,IAAI,SAAS;IAMlC,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS;IAgBhF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA4BnD,aAAa,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS;IAQjE,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAuB1C,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAqBtC,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS;CAkB1F"}
|
package/out/symbol/namespace.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Namespace = void 0;
|
|
4
|
+
let id = 0;
|
|
4
5
|
class Namespace {
|
|
5
6
|
constructor(graph, node, defaultExport, parent, isExport = true) {
|
|
6
7
|
this.graph = graph;
|
|
@@ -8,6 +9,7 @@ class Namespace {
|
|
|
8
9
|
this.defaultExport = defaultExport;
|
|
9
10
|
this.parent = parent;
|
|
10
11
|
this.isExport = isExport;
|
|
12
|
+
this.id = id++;
|
|
11
13
|
this.children = [];
|
|
12
14
|
/** 本地符号集合 */
|
|
13
15
|
this.localSymbols = new Map();
|
|
@@ -91,8 +93,29 @@ class Namespace {
|
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
}
|
|
96
|
+
getSymbolByCb(cb) {
|
|
97
|
+
for (const [token, symbol] of this.getNamespaceSymbols()) {
|
|
98
|
+
if (cb(token)) {
|
|
99
|
+
return symbol;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
94
103
|
getNamespaceSymbols() {
|
|
95
|
-
|
|
104
|
+
const rootNamespace = this.root;
|
|
105
|
+
const exportTopNamespace = this.getExportTopNamespace();
|
|
106
|
+
if (rootNamespace === exportTopNamespace) {
|
|
107
|
+
return new Map(rootNamespace.namespaceSymbols);
|
|
108
|
+
}
|
|
109
|
+
const { namespaceSymbols: rootNamespaceSymbols } = rootNamespace;
|
|
110
|
+
const { namespaceSymbols: exportTopNamespaceSymbols } = exportTopNamespace;
|
|
111
|
+
const result = new Map();
|
|
112
|
+
for (const [key, val] of rootNamespaceSymbols.entries()) {
|
|
113
|
+
result.set(key, val);
|
|
114
|
+
}
|
|
115
|
+
for (const [key, val] of exportTopNamespaceSymbols.entries()) {
|
|
116
|
+
result.set(key, val);
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
96
119
|
}
|
|
97
120
|
getLocalSymbols() {
|
|
98
121
|
const result = this.getStrictLocalSymbols();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":";;;AAKA,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"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"}
|
package/out/symbol/symbol.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare class Symbol implements SymbolType.Symbol {
|
|
|
9
9
|
readonly declaration?: SyntaxNode | undefined;
|
|
10
10
|
readonly isVirtual: boolean;
|
|
11
11
|
readonly isExport: boolean;
|
|
12
|
+
readonly id: number;
|
|
12
13
|
readonly references: SyntaxNode[];
|
|
13
14
|
readonly naslName?: string;
|
|
14
15
|
readonly semanticName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,MAAO,YAAW,UAAU,CAAC,MAAM;aAO5B,KAAK,EAAE,WAAW;aAClB,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,SAAS;aACpB,WAAW,CAAC;aACZ,SAAS;aACT,QAAQ;IAX1B,QAAQ,CAAC,EAAE,SAAQ;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGb,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,wBAAY,EACxB,SAAS,UAAQ,EACjB,QAAQ,UAAO;IAajC,IAAI,MAAM,YAET;CACF"}
|
package/out/symbol/symbol.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Symbol = void 0;
|
|
4
|
+
let id = 0;
|
|
4
5
|
class Symbol {
|
|
5
6
|
constructor(graph, name, namespace, declaration, isVirtual = false, isExport = true) {
|
|
6
7
|
this.graph = graph;
|
|
@@ -9,6 +10,7 @@ class Symbol {
|
|
|
9
10
|
this.declaration = declaration;
|
|
10
11
|
this.isVirtual = isVirtual;
|
|
11
12
|
this.isExport = isExport;
|
|
13
|
+
this.id = id++;
|
|
12
14
|
this.references = [];
|
|
13
15
|
if (declaration) {
|
|
14
16
|
this.naslName = declaration.nodePath;
|
package/out/symbol/symbol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":";;;AAKA,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,MAAa,MAAM;IAMjB,YACkB,KAAkB,EAClB,IAAY,EACZ,SAAoB,EACpB,WAAwB,EACxB,YAAY,KAAK,EACjB,WAAW,IAAI;QALf,UAAK,GAAL,KAAK,CAAa;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAO;QAXxB,OAAE,GAAG,EAAE,EAAE,CAAC;QACV,eAAU,GAAiB,EAAE,CAAC;QAYrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;CACF;AA5BD,wBA4BC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AuthLogicForCallInterface } from '@lcap/nasl-concepts';
|
|
2
|
+
import type { Traverse } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* AuthLogic 节点迭代
|
|
5
|
+
*/
|
|
6
|
+
export declare const traverseAuthLogicForCallInterface: Traverse<AuthLogicForCallInterface>;
|
|
7
|
+
//# sourceMappingURL=auth-logic-for-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-logic-for-interface.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/auth/auth-logic-for-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,yBAAyB,CAEjF,CAAC"}
|