# ultramarcante-inc/dart-data-class-generator-fork architecture

> Architecture diagram of the GitHub repository ultramarcante-inc/dart-data-class-generator-fork, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ultramarcante-inc/dart-data-class-generator-fork
- Repository: https://github.com/ultramarcante-inc/dart-data-class-generator-fork

## Overview

This VS Code extension generates Dart data classes from existing class properties or raw JSON, edits the active document or creates files, and offers quick fixes including import sorting. The runtime is concentrated in `src/extension.js`; conceptual components below share that source path. The excerpt omits command-registration and file-writing details, so those connections are not expanded beyond the documented workflows.

Main entry points: [`src/extension.js`](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js) (Data class generator)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["VS Code integration"]
  node_extension["Extension runtime<br/>[extension.js]"]
  node_commands["Generator commands<br/>[extension.js]"]
  node_quickfix["Quick-fix actions<br/>[extension.js]"]
end

subgraph group_generation["Class generation"]
  node_classmodel["Class and field model<br/>[extension.js]"]
  node_classgen["Data class generator<br/>[extension.js]"]
end

subgraph group_json["JSON generation"]
  node_jsonreader["JSON reader<br/>[extension.js]"]
  node_dartfiles["Dart file output<br/>[extension.js]"]
end

subgraph group_editing["Editor changes"]
  node_importfix["Import refactoring<br/>[extension.js]"]
  node_document["Dart documents"]
end

node_developer(("Dart developer"))
node_vscode["VS Code"]
node_equatable["Equatable package"]

node_developer -->|"invokes commands"| node_vscode
node_vscode -->|"activates"| node_extension
node_extension -->|"registers commands"| node_commands
node_vscode -->|"requests fixes"| node_quickfix
node_quickfix -->|"generates selections"| node_classgen
node_commands -->|"generates from properties"| node_classgen
node_commands -->|"generates from JSON"| node_jsonreader
node_classgen -->|"reads classes"| node_classmodel
node_classgen -->|"inserts generated code"| node_document
node_jsonreader -->|"produces class files"| node_dartfiles
node_dartfiles -->|"writes generated classes"| node_document
node_quickfix -->|"offers import sorting"| node_importfix
node_importfix -->|"refactors imports"| node_document
node_classgen -.->|"adds optional integration"| node_equatable

click node_extension "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_commands "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_quickfix "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_classmodel "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_classgen "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_jsonreader "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_dartfiles "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"
click node_importfix "https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_extension,node_commands,node_quickfix toneBlue
class node_classmodel,node_classgen toneAmber
class node_jsonreader,node_dartfiles toneMint
class node_importfix,node_document toneRose
class node_developer,node_vscode,node_equatable toneIndigo
```

## Components

### VS Code integration

- [Extension runtime](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`
- [Generator commands](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`
- [Quick-fix actions](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`

### Class generation

- [Class and field model](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`
- [Data class generator](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`

### JSON generation

- [JSON reader](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`
- [Dart file output](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`

### Editor changes

- [Import refactoring](https://github.com/ultramarcante-inc/dart-data-class-generator-fork/blob/master/src/extension.js): `src/extension.js`
- **Dart documents**

### Other components

- **Dart developer**
- **VS Code**
- **Equatable package**

## Connections

- Dart developer → VS Code: invokes commands
- VS Code → Extension runtime: activates
- Extension runtime → Generator commands: registers commands
- VS Code → Quick-fix actions: requests fixes
- Quick-fix actions → Data class generator: generates selections
- Generator commands → Data class generator: generates from properties
- Generator commands → JSON reader: generates from JSON
- Data class generator → Class and field model: reads classes
- Data class generator → Dart documents: inserts generated code
- JSON reader → Dart file output: produces class files
- Dart file output → Dart documents: writes generated classes
- Quick-fix actions → Import refactoring: offers import sorting
- Import refactoring → Dart documents: refactors imports
- Data class generator → Equatable package: adds optional integration
