Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a78b8ca

Browse files
chore(publish): updated readme and license
1 parent 7a21db0 commit a78b8ca

File tree

2 files changed

+183
-71
lines changed

2 files changed

+183
-71
lines changed

‎LICENSE‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Hafiz Furqon Presanabel
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎README.md‎

Lines changed: 162 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,162 @@
1-
# neuma-api-dart README
2-
3-
This is the README for your extension "neuma-api-dart". After writing up a brief description, we recommend including the following sections.
4-
5-
## Features
6-
7-
Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.
8-
9-
For example if there is an image subfolder under your extension project workspace:
10-
11-
\!\[feature X\]\(images/feature-x.png\)
12-
13-
> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow.
14-
15-
## Requirements
16-
17-
If you have any requirements or dependencies, add a section describing those and how to install and configure them.
18-
19-
## Extension Settings
20-
21-
Include if your extension adds any VS Code settings through the `contributes.configuration` extension point.
22-
23-
For example:
24-
25-
This extension contributes the following settings:
26-
27-
* `myExtension.enable`: Enable/disable this extension.
28-
* `myExtension.thing`: Set to `blah` to do something.
29-
30-
## Known Issues
31-
32-
Calling out known issues can help limit users opening duplicate issues against your extension.
33-
34-
## Release Notes
35-
36-
Users appreciate release notes as you update your extension.
37-
38-
### 1.0.0
39-
40-
Initial release of ...
41-
42-
### 1.0.1
43-
44-
Fixed issue #.
45-
46-
### 1.1.0
47-
48-
Added features X, Y, and Z.
49-
50-
---
51-
52-
## Following extension guidelines
53-
54-
Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.
55-
56-
* [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines)
57-
58-
## Working with Markdown
59-
60-
You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
61-
62-
* Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux).
63-
* Toggle preview (`Shift+Cmd+V` on macOS or `Shift+Ctrl+V` on Windows and Linux).
64-
* Press `Ctrl+Space` (Windows, Linux, macOS) to see a list of Markdown snippets.
65-
66-
## For more information
67-
68-
* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
69-
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)
70-
71-
**Enjoy!**
1+
![neuma-dart-header](https://res.cloudinary.com/dp3fqnmmg/image/upload/v1752827195/GitHub_-_Neuma_Base_Flutter_1_fpg9be.png)
2+
3+
## ✨ What is Neuma API Dart?
4+
5+
**Neuma API Dart** is a powerful VS Code extension designed to simplify your Flutter backend integration process by automatically creating folders and Dart files for you.
6+
7+
This extension is suitable for any Dart project. Although it is made to pair seamlessly with [Neuma Base Flutter](https://github.com/abelherl/neuma-base-flutter), this tool allows you to **generate Dart models instantly from JSON**, complete with support for:
8+
9+
* `fromJson` and `toJson` for request and response
10+
* Deeply nested classes
11+
* CamelCase field conversion
12+
* Freezed & Equatable (optional)
13+
* ```copyWith()``` / ```toString()``` generation
14+
15+
Whether you’re building requests or parsing responses, **Neuma API Dart** keeps your workflow rapid, consistent, and efficient.
16+
17+
## ⚙️ Features
18+
19+
* 🔧 Generate Dart models with one command
20+
* 🧠 Smart type inference with nested class generation
21+
* 📦 Support for arrays and objects of any depth
22+
* 🎯 Choose between **Request** or **Response** generation
23+
* 🧩 Optional: Freezed, JsonSerializable, Equatable, CopyWith
24+
25+
## 🚀 Getting Started
26+
### 1. Install the Extension
27+
From VS Code:
28+
29+
* Search for `Neuma API Dart` in the extensions marketplace and install
30+
31+
Or via CLI:
32+
33+
```bash
34+
code --install-extension neuma-api-dart-x.x.x.vsix
35+
```
36+
37+
### 2. Use the Command
38+
Press `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux), then run:
39+
40+
```
41+
Neuma API: Convert JSON to Dart Model
42+
```
43+
44+
You will be prompted to:
45+
46+
* Paste your JSON
47+
* Choose **Request** or **Response**
48+
* Enter a class name
49+
50+
The Dart model is automatically generated and copied to your clipboard! 🥳✨
51+
52+
## 📄 Example: Input & Output
53+
54+
### 🔁 Response Input
55+
```json
56+
{
57+
"id": 42,
58+
"title": "Sample Post",
59+
"author": {
60+
"id": 1,
61+
"name": "Jane Doe"
62+
},
63+
"tags": ["flutter", "dart"]
64+
}
65+
```
66+
67+
### ✅ Generated Dart (Response)
68+
```dart
69+
class SampleResponse {
70+
final int id;
71+
final String title;
72+
final SampleAuthorResponse author;
73+
final List<String> tags;
74+
75+
const SampleResponse({
76+
required this.id,
77+
required this.title,
78+
required this.author,
79+
required this.tags,
80+
});
81+
82+
factory SampleResponse.fromJson(Map<String, dynamic> json) {
83+
return SampleResponse(
84+
id: json['id'],
85+
title: json['title'],
86+
author: SampleAuthorResponse.fromJson(json['author']),
87+
tags: List<String>.from(json['tags']),
88+
);
89+
}
90+
}
91+
92+
class SampleAuthorResponse {
93+
final int id;
94+
final String name;
95+
96+
const SampleAuthorResponse({
97+
required this.id,
98+
required this.name,
99+
});
100+
101+
factory SampleAuthorResponse.fromJson(Map<String, dynamic> json) {
102+
return SampleAuthorResponse(
103+
id: json['id'],
104+
name: json['name'],
105+
);
106+
}
107+
}
108+
```
109+
110+
### 📤 Request Input
111+
```json
112+
{
113+
"title": "Create New Post",
114+
"body": "This is the body of the new post",
115+
"tags": ["flutter", "api"]
116+
}
117+
```
118+
119+
### ✅ Generated Dart (Request)
120+
```dart
121+
class CreatePostRequest {
122+
final String title;
123+
final String body;
124+
final List<String> tags;
125+
126+
const CreatePostRequest({
127+
required this.title,
128+
required this.body,
129+
required this.tags,
130+
});
131+
132+
Map<String, dynamic> toJson() {
133+
return {
134+
'title': title,
135+
'body': body,
136+
'tags': tags,
137+
};
138+
}
139+
}
140+
```
141+
142+
### 📁 Folder Structure
143+
144+
You can customize the generation folder if you need to.
145+
146+
```
147+
📁 lib/
148+
├── 📁 models/
149+
│ ├── 📁 create_post/
150+
│ │ ├── create_post_request.dart
151+
│ │ ├── create_post_response.dart
152+
│ │── 📁 sample/
153+
│ │ ├── sample_request.dart
154+
│ │ ├── sample_response.dart
155+
```
156+
157+
## 🛠️ Future Plans
158+
* ⏳ Convert from Postman or Swagger JSON collection
159+
160+
161+
## 📄 License
162+
Licensed under the [MIT License](./LICENSE)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /