Entityfy Generator
Build-time code generator for the entityfy
package. This dev dependency automatically generates complete Entity classes, UI Model classes, and their mapping methods using the @Entityfy
annotation during build time.
Note: This is a development tool that runs during build time using
build_runner
. It does not add any runtime dependencies to your application.
Installation
dependencies:
entityfy: ^2.1.0
dev_dependencies:
entityfy_generator: ^2.1.0
build_runner: ^2.4.9
Features
- π― Dual Class Generation: Generate both Entity and UI Model classes from a single source
- π Complete Class Creation: Auto-generates constructors,
fromJson()
, andtoJson()
methods - π Bidirectional Mapping: Creates both
toEntity()
andtoUiModel()
extension methods - βοΈ Flexible Configuration: Configure what to generate with boolean flags
- π Smart Type Conversion: Intelligent handling of nested models, lists, and primitive types
- π‘οΈ Type-Safe Mapping: Full compile-time type checking and validation
- ποΈ Combined Output: All code generated in a single
.entityfy.g.dart
file - π DateTime Support: Automatic ISO8601 DateTime serialization
- π Nested Model Support: Recursive conversion of annotated nested models
- π§ͺ Fake Data Generation: Static
fakeList()
methods for creating realistic test data (v2.1.0+) - π CopyWith Methods: Immutable update methods with nullable parameters (v2.1.0+)
- π― Testing Support: Configurable mock data generation for development and testing (v2.1.0+)
Running the Generator
# Generate code once
dart run build_runner build
# Watch for changes and rebuild automatically
dart run build_runner watch
# Clean previous builds
dart run build_runner clean
Libraries
- entityfy_generator
- A code generation library for automatically creating entity mapping methods.