createBlocClass function

void createBlocClass(
  1. String blocName, {
  2. 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)' : ''}!");
}