createBlocClass function
void
createBlocClass(
- String blocName, {
- bool useFreezed = false,
})
Implementation
void createBlocClass(String blocName, {bool useFreezed = false}) {
final blocPath = path.join('lib', 'features', blocName.toLowerCase());
final blocNameCapitalized = _toPascalCase(blocName.toLowerCase());
final blocFilePath = path.join(blocPath,
'${blocName.toLowerCase()}_bloc.dart');
final eventFilePath = path.join(blocPath,
'${blocName.toLowerCase()}_event.dart');
final stateFilePath = path.join(blocPath,
'${blocName.toLowerCase()}_state.dart');
// Check if bloc files already exist
if (File(blocFilePath).existsSync() || File(eventFilePath).existsSync() || File(stateFilePath).existsSync()) {
print("Bloc files for $blocNameCapitalized already exist!");
return;
}
// Ensure the feature directory exists
Directory(blocPath).createSync(recursive: true);
if (useFreezed) {
_createFreezedBlocFiles(blocName, blocNameCapitalized, blocFilePath, eventFilePath, stateFilePath);
} else {
_createRegularBlocFiles(blocName, blocNameCapitalized, blocFilePath, eventFilePath, stateFilePath);
}
print("Bloc files created for $blocNameCapitalized${useFreezed ? ' (with Freezed)' : ''}!");
}