generateBlocResource function
Generates a provider-based resource structure.
Includes:
- Bloc
- Events
- State
- Repository
- Model & DTOs
entity is the name of the resource (e.g., User).
isRepoAbstract determines if repository methods are abstract.
Implementation
void generateBlocResource(String entity, bool isRepoAbstract) {
final lower = entity.toLowerCase();
final pascal = entity;
final baseDir = Directory('lib/blocs/$lower');
final modelDir = Directory('lib/blocs/$lower/model');
baseDir.createSync(recursive: true);
modelDir.createSync(recursive: true);
generateBloc(baseDir.path, pascal, lower);
generateEvent(baseDir.path, pascal);
generateState(baseDir.path, pascal);
generateRepository(baseDir.path, pascal, lower, isRepoAbstract);
generateModel(modelDir.path, pascal, lower);
generateDtos(modelDir.path, pascal, lower);
print("✅ BLoC resource for $entity generated");
}