df_generate_dart_models 0.16.2 copy "df_generate_dart_models: ^0.16.2" to clipboard
df_generate_dart_models: ^0.16.2 copied to clipboard

A tool for generating data models and classes from annotations, offering greater flexibility than json_serializable or freezed.

pub tag buymeacoffee sponsor patreon discord instagram license


Generates Dart data models from @GenerateDartModel annotations. Pairs with df_generate_dart_models_core, which supplies the annotations and base Model class.

Install #

Add the runtime dependency to your project:

dependencies:
  df_generate_dart_models_core: ^0.10.0

Install the generator CLI globally:

dart pub global activate df_generate_dart_models

Use #

Define a model template:

import 'package:df_generate_dart_models_core/df_generate_dart_models_core.dart';

part '_model_user.g.dart';

@GenerateDartModel(
  fields: {
    Field(fieldPath: ['id'], fieldType: String),
    Field(fieldPath: ['firstName'], fieldType: String, nullable: true),
    Field(fieldPath: ['lastName'], fieldType: String, nullable: true),
  },
  shouldInherit: true,
)
abstract class _ModelUser extends Model {
  const _ModelUser();
}

From the folder containing the template, run:

df_generate_dart_models --models-min

This writes the generated part file (e.g. _model_user.g.dart) next to it.

A VS Code extension is also available — right-click the folder and pick 🔹 Generate Dart Models (Minimal).


🔍 For more information, refer to the API reference.


💬 Contributing and Discussions #

This is an open-source project, and we warmly welcome contributions from everyone, regardless of experience level. Whether you're a seasoned developer or just starting out, contributing to this project is a fantastic way to learn, share your knowledge, and make a meaningful impact on the community.

☝️ Ways you can contribute #

  • Find us on Discord: Feel free to ask questions and engage with the community here: https://discord.gg/gEQ8y2nfyX.
  • Share your ideas: Every perspective matters, and your ideas can spark innovation.
  • Help others: Engage with other users by offering advice, solutions, or troubleshooting assistance.
  • Report bugs: Help us identify and fix issues to make the project more robust.
  • Suggest improvements or new features: Your ideas can help shape the future of the project.
  • Help clarify documentation: Good documentation is key to accessibility. You can make it easier for others to get started by improving or expanding our documentation.
  • Write articles: Share your knowledge by writing tutorials, guides, or blog posts about your experiences with the project. It's a great way to contribute and help others learn.

No matter how you choose to contribute, your involvement is greatly appreciated and valued!

☕ We drink a lot of coffee... #

If you're enjoying this package and find it valuable, consider showing your appreciation with a small donation. Every bit helps in supporting future development. You can donate here: https://www.buymeacoffee.com/dev_cetera

LICENSE #

This project is released under the MIT License. See LICENSE for more information.

3
likes
120
points
550
downloads

Documentation

API reference

Publisher

verified publisherdev-cetera.com

Weekly Downloads

A tool for generating data models and classes from annotations, offering greater flexibility than json_serializable or freezed.

Homepage
Repository (GitHub)
View/report issues

Topics

#build-runner #cli #codegen #freezed #json-serializable

Funding

Consider supporting this project:

www.buymeacoffee.com
www.patreon.com
github.com

License

MIT (license)

Dependencies

ai_broker, analyzer, df_collection, df_config, df_gen_core, df_generate_dart_models_core, df_log, df_string, df_type, path

More

Packages that depend on df_generate_dart_models