docs: update architecture diagrams
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
graph TD
|
||||
Adapters[Adapters]
|
||||
Domain[Domain]
|
||||
Presentation[Presentation]
|
||||
Adapters[Adapters]
|
||||
Application[Application]
|
||||
Adapters --> Domain
|
||||
Application --> Domain
|
||||
Adapters --> Domain
|
||||
Presentation --> Domain
|
||||
Presentation --> Adapters
|
||||
Presentation --> Application
|
||||
@@ -13,16 +13,16 @@ graph TD
|
||||
archlens_cargo_workspace[archlens-cargo-workspace]
|
||||
end
|
||||
archlens_application --> archlens_domain
|
||||
archlens --> archlens_ascii
|
||||
archlens --> archlens_toml_config
|
||||
archlens --> archlens_file_writer
|
||||
archlens --> archlens_tree_sitter
|
||||
archlens --> archlens_cargo_workspace
|
||||
archlens --> archlens_stdout_writer
|
||||
archlens --> archlens_ascii
|
||||
archlens --> archlens_domain
|
||||
archlens --> archlens_application
|
||||
archlens --> archlens_mermaid
|
||||
archlens --> archlens_tree_sitter
|
||||
archlens --> archlens_file_writer
|
||||
archlens --> archlens_stdout_writer
|
||||
archlens --> archlens_walkdir
|
||||
archlens --> archlens_mermaid
|
||||
archlens_tree_sitter --> archlens_domain
|
||||
archlens_walkdir --> archlens_domain
|
||||
archlens_mermaid --> archlens_domain
|
||||
|
||||
@@ -1,31 +1,5 @@
|
||||
classDiagram
|
||||
namespace Adapters {
|
||||
class AsciiRenderer
|
||||
AsciiRenderer : +new()
|
||||
AsciiRenderer : -format_kind()
|
||||
class CargoWorkspaceAnalyzer
|
||||
CargoWorkspaceAnalyzer : +new()
|
||||
class WorkspaceToml
|
||||
<<private>> WorkspaceToml
|
||||
WorkspaceToml : workspace: Option
|
||||
class WorkspaceSection
|
||||
<<private>> WorkspaceSection
|
||||
WorkspaceSection : members: Vec
|
||||
class MemberToml
|
||||
<<private>> MemberToml
|
||||
MemberToml : package: Option
|
||||
MemberToml : dependencies: HashMap
|
||||
class PackageSection
|
||||
<<private>> PackageSection
|
||||
PackageSection : name: String
|
||||
class StdoutOutputWriter
|
||||
StdoutOutputWriter : +new()
|
||||
class FileOutputWriter
|
||||
FileOutputWriter : output_path: OutputPath
|
||||
FileOutputWriter : +new()
|
||||
FileOutputWriter : +single_file()
|
||||
class OutputPath
|
||||
<<private>> OutputPath
|
||||
class MermaidRenderer
|
||||
MermaidRenderer : level: DiagramLevel
|
||||
MermaidRenderer : +new()
|
||||
@@ -37,18 +11,29 @@ classDiagram
|
||||
MermaidRenderer : -render_module_flowchart()
|
||||
MermaidRenderer : -render_project_flowchart()
|
||||
MermaidRenderer : -sanitize_id()
|
||||
class LanguageExtractor
|
||||
class AsciiRenderer
|
||||
AsciiRenderer : +new()
|
||||
AsciiRenderer : -format_kind()
|
||||
class WalkdirDiscovery
|
||||
WalkdirDiscovery : +new()
|
||||
WalkdirDiscovery : -detect_language()
|
||||
WalkdirDiscovery : -is_excluded()
|
||||
class TreeSitterAnalyzer
|
||||
TreeSitterAnalyzer : rust: RustExtractor
|
||||
TreeSitterAnalyzer : python: PythonExtractor
|
||||
TreeSitterAnalyzer : +new()
|
||||
TreeSitterAnalyzer : -extractor_for()
|
||||
class LanguageExtractor
|
||||
class RustExtractor
|
||||
class PythonExtractor
|
||||
class WalkdirDiscovery
|
||||
WalkdirDiscovery : +new()
|
||||
WalkdirDiscovery : -detect_language()
|
||||
WalkdirDiscovery : -is_excluded()
|
||||
class FileOutputWriter
|
||||
FileOutputWriter : output_path: OutputPath
|
||||
FileOutputWriter : +new()
|
||||
FileOutputWriter : +single_file()
|
||||
class OutputPath
|
||||
<<private>> OutputPath
|
||||
class StdoutOutputWriter
|
||||
StdoutOutputWriter : +new()
|
||||
class RawConfig
|
||||
<<private>> RawConfig
|
||||
RawConfig : analysis: RawAnalysis
|
||||
@@ -67,12 +52,27 @@ classDiagram
|
||||
TomlConfigLoader : raw: RawConfig
|
||||
TomlConfigLoader : +from_path()
|
||||
TomlConfigLoader : -parse_level()
|
||||
class CargoWorkspaceAnalyzer
|
||||
CargoWorkspaceAnalyzer : +new()
|
||||
class WorkspaceToml
|
||||
<<private>> WorkspaceToml
|
||||
WorkspaceToml : workspace: Option
|
||||
class WorkspaceSection
|
||||
<<private>> WorkspaceSection
|
||||
WorkspaceSection : members: Vec
|
||||
class MemberToml
|
||||
<<private>> MemberToml
|
||||
MemberToml : package: Option
|
||||
MemberToml : dependencies: HashMap
|
||||
class PackageSection
|
||||
<<private>> PackageSection
|
||||
PackageSection : name: String
|
||||
}
|
||||
FileOutputWriter --> OutputPath
|
||||
TreeSitterAnalyzer --> RustExtractor
|
||||
TreeSitterAnalyzer --> PythonExtractor
|
||||
RustExtractor <|-- LanguageExtractor
|
||||
PythonExtractor <|-- LanguageExtractor
|
||||
FileOutputWriter --> OutputPath
|
||||
RawConfig --> RawAnalysis
|
||||
RawConfig --> RawOutput
|
||||
TomlConfigLoader --> RawConfig
|
||||
@@ -10,6 +10,14 @@ classDiagram
|
||||
AnalyzeCodebaseResult : warnings: Vec
|
||||
AnalyzeCodebaseResult : +graph()
|
||||
AnalyzeCodebaseResult : +warnings()
|
||||
class FakeFileDiscovery
|
||||
FakeFileDiscovery : files: Vec
|
||||
FakeFileDiscovery : +new()
|
||||
FakeFileDiscovery : +empty()
|
||||
class FakeOutputWriter
|
||||
FakeOutputWriter : written: RefCell
|
||||
FakeOutputWriter : +new()
|
||||
FakeOutputWriter : +written_outputs()
|
||||
class FakeDiagramRenderer
|
||||
FakeDiagramRenderer : +new()
|
||||
class FakeResponse
|
||||
@@ -19,12 +27,4 @@ classDiagram
|
||||
FakeSourceAnalyzer : +new()
|
||||
FakeSourceAnalyzer : +with_result()
|
||||
FakeSourceAnalyzer : +with_error()
|
||||
class FakeFileDiscovery
|
||||
FakeFileDiscovery : files: Vec
|
||||
FakeFileDiscovery : +new()
|
||||
FakeFileDiscovery : +empty()
|
||||
class FakeOutputWriter
|
||||
FakeOutputWriter : written: RefCell
|
||||
FakeOutputWriter : +new()
|
||||
FakeOutputWriter : +written_outputs()
|
||||
}
|
||||
@@ -1,5 +1,74 @@
|
||||
classDiagram
|
||||
namespace Domain {
|
||||
class OutputConfig
|
||||
OutputConfig : split_by_module: bool
|
||||
OutputConfig : output_path: Option
|
||||
OutputConfig : +with_split_by_module()
|
||||
OutputConfig : +with_output_path()
|
||||
OutputConfig : +split_by_module()
|
||||
OutputConfig : +output_path()
|
||||
class DiagramLevel
|
||||
class RenderOutput
|
||||
RenderOutput : files: Vec
|
||||
RenderOutput : +new()
|
||||
RenderOutput : +single()
|
||||
RenderOutput : +files()
|
||||
class RenderedFile
|
||||
RenderedFile : name: String
|
||||
RenderedFile : content: String
|
||||
RenderedFile : +new()
|
||||
RenderedFile : +name()
|
||||
RenderedFile : +content()
|
||||
class SourceFile
|
||||
SourceFile : path: FilePath
|
||||
SourceFile : language: Language
|
||||
SourceFile : +new()
|
||||
SourceFile : +path()
|
||||
SourceFile : +language()
|
||||
class ModuleName
|
||||
ModuleName : +new()
|
||||
ModuleName : +from_path()
|
||||
ModuleName : +from_directory_group()
|
||||
ModuleName : +capitalize()
|
||||
ModuleName : +as_str()
|
||||
class Language
|
||||
Language : +name()
|
||||
class FilePath
|
||||
FilePath : +new()
|
||||
FilePath : +as_str()
|
||||
class RelationshipKind
|
||||
class Visibility
|
||||
class CodeElementKind
|
||||
class AnalysisConfig
|
||||
AnalysisConfig : excludes: Vec
|
||||
AnalysisConfig : level: DiagramLevel
|
||||
AnalysisConfig : module_mappings: HashMap
|
||||
AnalysisConfig : scope: Option
|
||||
AnalysisConfig : +with_excludes()
|
||||
AnalysisConfig : +with_level()
|
||||
AnalysisConfig : +with_module_mappings()
|
||||
AnalysisConfig : +excludes()
|
||||
AnalysisConfig : +level()
|
||||
AnalysisConfig : +with_scope()
|
||||
AnalysisConfig : +module_mappings()
|
||||
AnalysisConfig : +scope()
|
||||
class AnalysisResult
|
||||
AnalysisResult : elements: Vec
|
||||
AnalysisResult : relationships: Vec
|
||||
AnalysisResult : warnings: Vec
|
||||
AnalysisResult : +new()
|
||||
AnalysisResult : +empty()
|
||||
AnalysisResult : +elements()
|
||||
AnalysisResult : +relationships()
|
||||
AnalysisResult : +warnings()
|
||||
class AnalysisWarning
|
||||
AnalysisWarning : file_path: FilePath
|
||||
AnalysisWarning : line: usize
|
||||
AnalysisWarning : message: String
|
||||
AnalysisWarning : +new()
|
||||
AnalysisWarning : +file_path()
|
||||
AnalysisWarning : +line()
|
||||
AnalysisWarning : +message()
|
||||
class Relationship
|
||||
Relationship : source: String
|
||||
Relationship : target: String
|
||||
@@ -39,82 +108,12 @@ classDiagram
|
||||
CodeElement : +with_methods()
|
||||
CodeElement : +fields()
|
||||
CodeElement : +methods()
|
||||
class DomainError
|
||||
class DiagramRenderer
|
||||
class SourceAnalyzer
|
||||
class ConfigLoader
|
||||
class FileDiscovery
|
||||
class ConfigLoader
|
||||
class ProjectAnalyzer
|
||||
class OutputWriter
|
||||
class AnalysisResult
|
||||
AnalysisResult : elements: Vec
|
||||
AnalysisResult : relationships: Vec
|
||||
AnalysisResult : warnings: Vec
|
||||
AnalysisResult : +new()
|
||||
AnalysisResult : +empty()
|
||||
AnalysisResult : +elements()
|
||||
AnalysisResult : +relationships()
|
||||
AnalysisResult : +warnings()
|
||||
class AnalysisConfig
|
||||
AnalysisConfig : excludes: Vec
|
||||
AnalysisConfig : level: DiagramLevel
|
||||
AnalysisConfig : module_mappings: HashMap
|
||||
AnalysisConfig : scope: Option
|
||||
AnalysisConfig : +with_excludes()
|
||||
AnalysisConfig : +with_level()
|
||||
AnalysisConfig : +with_module_mappings()
|
||||
AnalysisConfig : +excludes()
|
||||
AnalysisConfig : +level()
|
||||
AnalysisConfig : +with_scope()
|
||||
AnalysisConfig : +module_mappings()
|
||||
AnalysisConfig : +scope()
|
||||
class AnalysisWarning
|
||||
AnalysisWarning : file_path: FilePath
|
||||
AnalysisWarning : line: usize
|
||||
AnalysisWarning : message: String
|
||||
AnalysisWarning : +new()
|
||||
AnalysisWarning : +file_path()
|
||||
AnalysisWarning : +line()
|
||||
AnalysisWarning : +message()
|
||||
class CodeElementKind
|
||||
class RelationshipKind
|
||||
class Visibility
|
||||
class DiagramLevel
|
||||
class OutputConfig
|
||||
OutputConfig : split_by_module: bool
|
||||
OutputConfig : output_path: Option
|
||||
OutputConfig : +with_split_by_module()
|
||||
OutputConfig : +with_output_path()
|
||||
OutputConfig : +split_by_module()
|
||||
OutputConfig : +output_path()
|
||||
class RenderedFile
|
||||
RenderedFile : name: String
|
||||
RenderedFile : content: String
|
||||
RenderedFile : +new()
|
||||
RenderedFile : +name()
|
||||
RenderedFile : +content()
|
||||
class RenderOutput
|
||||
RenderOutput : files: Vec
|
||||
RenderOutput : +new()
|
||||
RenderOutput : +single()
|
||||
RenderOutput : +files()
|
||||
class ModuleName
|
||||
ModuleName : +new()
|
||||
ModuleName : +from_path()
|
||||
ModuleName : +from_directory_group()
|
||||
ModuleName : +capitalize()
|
||||
ModuleName : +as_str()
|
||||
class Language
|
||||
Language : +name()
|
||||
class SourceFile
|
||||
SourceFile : path: FilePath
|
||||
SourceFile : language: Language
|
||||
SourceFile : +new()
|
||||
SourceFile : +path()
|
||||
SourceFile : +language()
|
||||
class FilePath
|
||||
FilePath : +new()
|
||||
FilePath : +as_str()
|
||||
class DiagramRenderer
|
||||
class SourceAnalyzer
|
||||
class CodeGraph
|
||||
CodeGraph : elements: Vec
|
||||
CodeGraph : relationships: Vec
|
||||
@@ -128,12 +127,13 @@ classDiagram
|
||||
CodeGraph : +resolve_relationships()
|
||||
CodeGraph : +filter_external_imports()
|
||||
CodeGraph : +subgraph_by_module()
|
||||
class DomainError
|
||||
}
|
||||
SourceFile --> FilePath
|
||||
SourceFile --> Language
|
||||
AnalysisConfig --> DiagramLevel
|
||||
AnalysisWarning --> FilePath
|
||||
Relationship --> RelationshipKind
|
||||
CodeElement --> CodeElementKind
|
||||
CodeElement --> FilePath
|
||||
CodeElement --> Visibility
|
||||
AnalysisConfig --> DiagramLevel
|
||||
AnalysisWarning --> FilePath
|
||||
SourceFile --> FilePath
|
||||
SourceFile --> Language
|
||||
@@ -1,50 +1,143 @@
|
||||
classDiagram
|
||||
namespace Presentation {
|
||||
class Cli
|
||||
Cli : command: Option
|
||||
Cli : path: PathBuf
|
||||
Cli : level: String
|
||||
Cli : format: String
|
||||
Cli : output: Option
|
||||
Cli : config: Option
|
||||
Cli : scope: Option
|
||||
Cli : exclude: Vec
|
||||
Cli : split_by_module: bool
|
||||
Cli : strict: bool
|
||||
Cli : check: bool
|
||||
Cli : verbose: u8
|
||||
class Command
|
||||
}
|
||||
namespace Application {
|
||||
class AnalyzeCodebase
|
||||
AnalyzeCodebase : file_discovery: F
|
||||
AnalyzeCodebase : source_analyzer: S
|
||||
AnalyzeCodebase : +new()
|
||||
AnalyzeCodebase : +execute()
|
||||
class AnalyzeCodebaseResult
|
||||
AnalyzeCodebaseResult : graph: CodeGraph
|
||||
AnalyzeCodebaseResult : warnings: Vec
|
||||
AnalyzeCodebaseResult : +graph()
|
||||
AnalyzeCodebaseResult : +warnings()
|
||||
class FakeDiagramRenderer
|
||||
FakeDiagramRenderer : +new()
|
||||
class FakeResponse
|
||||
<<private>> FakeResponse
|
||||
class FakeSourceAnalyzer
|
||||
FakeSourceAnalyzer : results: HashMap
|
||||
FakeSourceAnalyzer : +new()
|
||||
FakeSourceAnalyzer : +with_result()
|
||||
FakeSourceAnalyzer : +with_error()
|
||||
class FakeFileDiscovery
|
||||
FakeFileDiscovery : files: Vec
|
||||
FakeFileDiscovery : +new()
|
||||
FakeFileDiscovery : +empty()
|
||||
class FakeOutputWriter
|
||||
FakeOutputWriter : written: RefCell
|
||||
FakeOutputWriter : +new()
|
||||
FakeOutputWriter : +written_outputs()
|
||||
namespace Adapters {
|
||||
class MermaidRenderer
|
||||
MermaidRenderer : level: DiagramLevel
|
||||
MermaidRenderer : +new()
|
||||
MermaidRenderer : +with_level()
|
||||
MermaidRenderer : -format_element_name()
|
||||
MermaidRenderer : -format_visibility()
|
||||
MermaidRenderer : -render_class_diagram()
|
||||
MermaidRenderer : -push_class_lines()
|
||||
MermaidRenderer : -render_module_flowchart()
|
||||
MermaidRenderer : -render_project_flowchart()
|
||||
MermaidRenderer : -sanitize_id()
|
||||
class AsciiRenderer
|
||||
AsciiRenderer : +new()
|
||||
AsciiRenderer : -format_kind()
|
||||
class WalkdirDiscovery
|
||||
WalkdirDiscovery : +new()
|
||||
WalkdirDiscovery : -detect_language()
|
||||
WalkdirDiscovery : -is_excluded()
|
||||
class TreeSitterAnalyzer
|
||||
TreeSitterAnalyzer : rust: RustExtractor
|
||||
TreeSitterAnalyzer : python: PythonExtractor
|
||||
TreeSitterAnalyzer : +new()
|
||||
TreeSitterAnalyzer : -extractor_for()
|
||||
class LanguageExtractor
|
||||
class RustExtractor
|
||||
class PythonExtractor
|
||||
class FileOutputWriter
|
||||
FileOutputWriter : output_path: OutputPath
|
||||
FileOutputWriter : +new()
|
||||
FileOutputWriter : +single_file()
|
||||
class OutputPath
|
||||
<<private>> OutputPath
|
||||
class StdoutOutputWriter
|
||||
StdoutOutputWriter : +new()
|
||||
class RawConfig
|
||||
<<private>> RawConfig
|
||||
RawConfig : analysis: RawAnalysis
|
||||
RawConfig : output: RawOutput
|
||||
RawConfig : modules: HashMap
|
||||
class RawAnalysis
|
||||
<<private>> RawAnalysis
|
||||
RawAnalysis : exclude: Vec
|
||||
RawAnalysis : level: Option
|
||||
class RawOutput
|
||||
<<private>> RawOutput
|
||||
RawOutput : format: Option
|
||||
RawOutput : path: Option
|
||||
RawOutput : split_by_module: bool
|
||||
class TomlConfigLoader
|
||||
TomlConfigLoader : raw: RawConfig
|
||||
TomlConfigLoader : +from_path()
|
||||
TomlConfigLoader : -parse_level()
|
||||
class CargoWorkspaceAnalyzer
|
||||
CargoWorkspaceAnalyzer : +new()
|
||||
class WorkspaceToml
|
||||
<<private>> WorkspaceToml
|
||||
WorkspaceToml : workspace: Option
|
||||
class WorkspaceSection
|
||||
<<private>> WorkspaceSection
|
||||
WorkspaceSection : members: Vec
|
||||
class MemberToml
|
||||
<<private>> MemberToml
|
||||
MemberToml : package: Option
|
||||
MemberToml : dependencies: HashMap
|
||||
class PackageSection
|
||||
<<private>> PackageSection
|
||||
PackageSection : name: String
|
||||
}
|
||||
namespace Domain {
|
||||
class OutputConfig
|
||||
OutputConfig : split_by_module: bool
|
||||
OutputConfig : output_path: Option
|
||||
OutputConfig : +with_split_by_module()
|
||||
OutputConfig : +with_output_path()
|
||||
OutputConfig : +split_by_module()
|
||||
OutputConfig : +output_path()
|
||||
class DiagramLevel
|
||||
class RenderOutput
|
||||
RenderOutput : files: Vec
|
||||
RenderOutput : +new()
|
||||
RenderOutput : +single()
|
||||
RenderOutput : +files()
|
||||
class RenderedFile
|
||||
RenderedFile : name: String
|
||||
RenderedFile : content: String
|
||||
RenderedFile : +new()
|
||||
RenderedFile : +name()
|
||||
RenderedFile : +content()
|
||||
class SourceFile
|
||||
SourceFile : path: FilePath
|
||||
SourceFile : language: Language
|
||||
SourceFile : +new()
|
||||
SourceFile : +path()
|
||||
SourceFile : +language()
|
||||
class ModuleName
|
||||
ModuleName : +new()
|
||||
ModuleName : +from_path()
|
||||
ModuleName : +from_directory_group()
|
||||
ModuleName : +capitalize()
|
||||
ModuleName : +as_str()
|
||||
class Language
|
||||
Language : +name()
|
||||
class FilePath
|
||||
FilePath : +new()
|
||||
FilePath : +as_str()
|
||||
class RelationshipKind
|
||||
class Visibility
|
||||
class CodeElementKind
|
||||
class AnalysisConfig
|
||||
AnalysisConfig : excludes: Vec
|
||||
AnalysisConfig : level: DiagramLevel
|
||||
AnalysisConfig : module_mappings: HashMap
|
||||
AnalysisConfig : scope: Option
|
||||
AnalysisConfig : +with_excludes()
|
||||
AnalysisConfig : +with_level()
|
||||
AnalysisConfig : +with_module_mappings()
|
||||
AnalysisConfig : +excludes()
|
||||
AnalysisConfig : +level()
|
||||
AnalysisConfig : +with_scope()
|
||||
AnalysisConfig : +module_mappings()
|
||||
AnalysisConfig : +scope()
|
||||
class AnalysisResult
|
||||
AnalysisResult : elements: Vec
|
||||
AnalysisResult : relationships: Vec
|
||||
AnalysisResult : warnings: Vec
|
||||
AnalysisResult : +new()
|
||||
AnalysisResult : +empty()
|
||||
AnalysisResult : +elements()
|
||||
AnalysisResult : +relationships()
|
||||
AnalysisResult : +warnings()
|
||||
class AnalysisWarning
|
||||
AnalysisWarning : file_path: FilePath
|
||||
AnalysisWarning : line: usize
|
||||
AnalysisWarning : message: String
|
||||
AnalysisWarning : +new()
|
||||
AnalysisWarning : +file_path()
|
||||
AnalysisWarning : +line()
|
||||
AnalysisWarning : +message()
|
||||
class Relationship
|
||||
Relationship : source: String
|
||||
Relationship : target: String
|
||||
@@ -84,82 +177,12 @@ classDiagram
|
||||
CodeElement : +with_methods()
|
||||
CodeElement : +fields()
|
||||
CodeElement : +methods()
|
||||
class DomainError
|
||||
class DiagramRenderer
|
||||
class SourceAnalyzer
|
||||
class ConfigLoader
|
||||
class FileDiscovery
|
||||
class ConfigLoader
|
||||
class ProjectAnalyzer
|
||||
class OutputWriter
|
||||
class AnalysisResult
|
||||
AnalysisResult : elements: Vec
|
||||
AnalysisResult : relationships: Vec
|
||||
AnalysisResult : warnings: Vec
|
||||
AnalysisResult : +new()
|
||||
AnalysisResult : +empty()
|
||||
AnalysisResult : +elements()
|
||||
AnalysisResult : +relationships()
|
||||
AnalysisResult : +warnings()
|
||||
class AnalysisConfig
|
||||
AnalysisConfig : excludes: Vec
|
||||
AnalysisConfig : level: DiagramLevel
|
||||
AnalysisConfig : module_mappings: HashMap
|
||||
AnalysisConfig : scope: Option
|
||||
AnalysisConfig : +with_excludes()
|
||||
AnalysisConfig : +with_level()
|
||||
AnalysisConfig : +with_module_mappings()
|
||||
AnalysisConfig : +excludes()
|
||||
AnalysisConfig : +level()
|
||||
AnalysisConfig : +with_scope()
|
||||
AnalysisConfig : +module_mappings()
|
||||
AnalysisConfig : +scope()
|
||||
class AnalysisWarning
|
||||
AnalysisWarning : file_path: FilePath
|
||||
AnalysisWarning : line: usize
|
||||
AnalysisWarning : message: String
|
||||
AnalysisWarning : +new()
|
||||
AnalysisWarning : +file_path()
|
||||
AnalysisWarning : +line()
|
||||
AnalysisWarning : +message()
|
||||
class CodeElementKind
|
||||
class RelationshipKind
|
||||
class Visibility
|
||||
class DiagramLevel
|
||||
class OutputConfig
|
||||
OutputConfig : split_by_module: bool
|
||||
OutputConfig : output_path: Option
|
||||
OutputConfig : +with_split_by_module()
|
||||
OutputConfig : +with_output_path()
|
||||
OutputConfig : +split_by_module()
|
||||
OutputConfig : +output_path()
|
||||
class RenderedFile
|
||||
RenderedFile : name: String
|
||||
RenderedFile : content: String
|
||||
RenderedFile : +new()
|
||||
RenderedFile : +name()
|
||||
RenderedFile : +content()
|
||||
class RenderOutput
|
||||
RenderOutput : files: Vec
|
||||
RenderOutput : +new()
|
||||
RenderOutput : +single()
|
||||
RenderOutput : +files()
|
||||
class ModuleName
|
||||
ModuleName : +new()
|
||||
ModuleName : +from_path()
|
||||
ModuleName : +from_directory_group()
|
||||
ModuleName : +capitalize()
|
||||
ModuleName : +as_str()
|
||||
class Language
|
||||
Language : +name()
|
||||
class SourceFile
|
||||
SourceFile : path: FilePath
|
||||
SourceFile : language: Language
|
||||
SourceFile : +new()
|
||||
SourceFile : +path()
|
||||
SourceFile : +language()
|
||||
class FilePath
|
||||
FilePath : +new()
|
||||
FilePath : +as_str()
|
||||
class DiagramRenderer
|
||||
class SourceAnalyzer
|
||||
class CodeGraph
|
||||
CodeGraph : elements: Vec
|
||||
CodeGraph : relationships: Vec
|
||||
@@ -173,103 +196,80 @@ classDiagram
|
||||
CodeGraph : +resolve_relationships()
|
||||
CodeGraph : +filter_external_imports()
|
||||
CodeGraph : +subgraph_by_module()
|
||||
class DomainError
|
||||
}
|
||||
namespace Adapters {
|
||||
class AsciiRenderer
|
||||
AsciiRenderer : +new()
|
||||
AsciiRenderer : -format_kind()
|
||||
class CargoWorkspaceAnalyzer
|
||||
CargoWorkspaceAnalyzer : +new()
|
||||
class WorkspaceToml
|
||||
<<private>> WorkspaceToml
|
||||
WorkspaceToml : workspace: Option
|
||||
class WorkspaceSection
|
||||
<<private>> WorkspaceSection
|
||||
WorkspaceSection : members: Vec
|
||||
class MemberToml
|
||||
<<private>> MemberToml
|
||||
MemberToml : package: Option
|
||||
MemberToml : dependencies: HashMap
|
||||
class PackageSection
|
||||
<<private>> PackageSection
|
||||
PackageSection : name: String
|
||||
class StdoutOutputWriter
|
||||
StdoutOutputWriter : +new()
|
||||
class FileOutputWriter
|
||||
FileOutputWriter : output_path: OutputPath
|
||||
FileOutputWriter : +new()
|
||||
FileOutputWriter : +single_file()
|
||||
class OutputPath
|
||||
<<private>> OutputPath
|
||||
class MermaidRenderer
|
||||
MermaidRenderer : level: DiagramLevel
|
||||
MermaidRenderer : +new()
|
||||
MermaidRenderer : +with_level()
|
||||
MermaidRenderer : -format_element_name()
|
||||
MermaidRenderer : -format_visibility()
|
||||
MermaidRenderer : -render_class_diagram()
|
||||
MermaidRenderer : -push_class_lines()
|
||||
MermaidRenderer : -render_module_flowchart()
|
||||
MermaidRenderer : -render_project_flowchart()
|
||||
MermaidRenderer : -sanitize_id()
|
||||
class LanguageExtractor
|
||||
class TreeSitterAnalyzer
|
||||
TreeSitterAnalyzer : rust: RustExtractor
|
||||
TreeSitterAnalyzer : python: PythonExtractor
|
||||
TreeSitterAnalyzer : +new()
|
||||
TreeSitterAnalyzer : -extractor_for()
|
||||
class RustExtractor
|
||||
class PythonExtractor
|
||||
class WalkdirDiscovery
|
||||
WalkdirDiscovery : +new()
|
||||
WalkdirDiscovery : -detect_language()
|
||||
WalkdirDiscovery : -is_excluded()
|
||||
class RawConfig
|
||||
<<private>> RawConfig
|
||||
RawConfig : analysis: RawAnalysis
|
||||
RawConfig : output: RawOutput
|
||||
RawConfig : modules: HashMap
|
||||
class RawAnalysis
|
||||
<<private>> RawAnalysis
|
||||
RawAnalysis : exclude: Vec
|
||||
RawAnalysis : level: Option
|
||||
class RawOutput
|
||||
<<private>> RawOutput
|
||||
RawOutput : format: Option
|
||||
RawOutput : path: Option
|
||||
RawOutput : split_by_module: bool
|
||||
class TomlConfigLoader
|
||||
TomlConfigLoader : raw: RawConfig
|
||||
TomlConfigLoader : +from_path()
|
||||
TomlConfigLoader : -parse_level()
|
||||
namespace Application {
|
||||
class AnalyzeCodebase
|
||||
AnalyzeCodebase : file_discovery: F
|
||||
AnalyzeCodebase : source_analyzer: S
|
||||
AnalyzeCodebase : +new()
|
||||
AnalyzeCodebase : +execute()
|
||||
class AnalyzeCodebaseResult
|
||||
AnalyzeCodebaseResult : graph: CodeGraph
|
||||
AnalyzeCodebaseResult : warnings: Vec
|
||||
AnalyzeCodebaseResult : +graph()
|
||||
AnalyzeCodebaseResult : +warnings()
|
||||
class FakeFileDiscovery
|
||||
FakeFileDiscovery : files: Vec
|
||||
FakeFileDiscovery : +new()
|
||||
FakeFileDiscovery : +empty()
|
||||
class FakeOutputWriter
|
||||
FakeOutputWriter : written: RefCell
|
||||
FakeOutputWriter : +new()
|
||||
FakeOutputWriter : +written_outputs()
|
||||
class FakeDiagramRenderer
|
||||
FakeDiagramRenderer : +new()
|
||||
class FakeResponse
|
||||
<<private>> FakeResponse
|
||||
class FakeSourceAnalyzer
|
||||
FakeSourceAnalyzer : results: HashMap
|
||||
FakeSourceAnalyzer : +new()
|
||||
FakeSourceAnalyzer : +with_result()
|
||||
FakeSourceAnalyzer : +with_error()
|
||||
}
|
||||
AsciiRenderer <|-- DiagramRenderer
|
||||
CargoWorkspaceAnalyzer <|-- ProjectAnalyzer
|
||||
StdoutOutputWriter <|-- OutputWriter
|
||||
FileOutputWriter --> OutputPath
|
||||
FileOutputWriter <|-- OutputWriter
|
||||
namespace Presentation {
|
||||
class Cli
|
||||
Cli : command: Option
|
||||
Cli : path: PathBuf
|
||||
Cli : level: String
|
||||
Cli : format: String
|
||||
Cli : output: Option
|
||||
Cli : config: Option
|
||||
Cli : scope: Option
|
||||
Cli : exclude: Vec
|
||||
Cli : split_by_module: bool
|
||||
Cli : strict: bool
|
||||
Cli : check: bool
|
||||
Cli : verbose: u8
|
||||
class Command
|
||||
}
|
||||
SourceFile --> FilePath
|
||||
SourceFile --> Language
|
||||
AnalysisConfig --> DiagramLevel
|
||||
AnalysisWarning --> FilePath
|
||||
Relationship --> RelationshipKind
|
||||
CodeElement --> CodeElementKind
|
||||
CodeElement --> FilePath
|
||||
CodeElement --> Visibility
|
||||
MermaidRenderer --> DiagramLevel
|
||||
MermaidRenderer <|-- DiagramRenderer
|
||||
AsciiRenderer <|-- DiagramRenderer
|
||||
WalkdirDiscovery <|-- FileDiscovery
|
||||
TreeSitterAnalyzer --> RustExtractor
|
||||
TreeSitterAnalyzer --> PythonExtractor
|
||||
TreeSitterAnalyzer <|-- SourceAnalyzer
|
||||
RustExtractor <|-- LanguageExtractor
|
||||
PythonExtractor <|-- LanguageExtractor
|
||||
WalkdirDiscovery <|-- FileDiscovery
|
||||
FileOutputWriter --> OutputPath
|
||||
FileOutputWriter <|-- OutputWriter
|
||||
StdoutOutputWriter <|-- OutputWriter
|
||||
RawConfig --> RawAnalysis
|
||||
RawConfig --> RawOutput
|
||||
TomlConfigLoader --> RawConfig
|
||||
TomlConfigLoader <|-- ConfigLoader
|
||||
CargoWorkspaceAnalyzer <|-- ProjectAnalyzer
|
||||
AnalyzeCodebaseResult --> CodeGraph
|
||||
FakeDiagramRenderer <|-- DiagramRenderer
|
||||
FakeSourceAnalyzer <|-- SourceAnalyzer
|
||||
FakeFileDiscovery <|-- FileDiscovery
|
||||
FakeOutputWriter <|-- OutputWriter
|
||||
Relationship --> RelationshipKind
|
||||
CodeElement --> CodeElementKind
|
||||
CodeElement --> FilePath
|
||||
CodeElement --> Visibility
|
||||
AnalysisConfig --> DiagramLevel
|
||||
AnalysisWarning --> FilePath
|
||||
SourceFile --> FilePath
|
||||
SourceFile --> Language
|
||||
FakeDiagramRenderer <|-- DiagramRenderer
|
||||
FakeSourceAnalyzer <|-- SourceAnalyzer
|
||||
Reference in New Issue
Block a user