generateEntity method
Generates a domain entity class following Clean Architecture principles.
name
- The name of the entity to generate.
Creates an entity class with proper structure, optional Freezed/Equatable integration, and appropriate imports based on configuration settings.
Implementation
String generateEntity(String name) {
final className = toPascalCase(name);
if (config.useFreezed) {
return '''
import 'package:freezed_annotation/freezed_annotation.dart';
part '${toSnakeCase(name)}_entity.freezed.dart';
@freezed
class ${className}Entity with _\$${className}Entity {
const factory ${className}Entity({
required String id,
// Add your entity properties here
}) = _${className}Entity;
}
''';
}
if (config.useEquatable) {
return '''
import 'package:equatable/equatable.dart';
class ${className}Entity extends Equatable {
const ${className}Entity({
required this.id,
// Add your entity properties here
});
final String id;
@override
List<Object?> get props => [id];
}
''';
}
return '''
class ${className}Entity {
const ${className}Entity({
required this.id,
// Add your entity properties here
});
final String id;
}
''';
}