createCubitClass function

void createCubitClass(
  1. String cubitName, {
  2. bool useFreezed = false,
})

Implementation

void createCubitClass(String cubitName, {bool useFreezed = false}) {
  final cubitPath = path.join('lib', 'features', cubitName.toLowerCase());
  final cubitNameCapitalized = _toPascalCase(cubitName.toLowerCase());

  final cubitFilePath = path.join(cubitPath,
      '${cubitName.toLowerCase()}_cubit.dart');
  final stateFilePath = path.join(cubitPath,
      '${cubitName.toLowerCase()}_state.dart');

  // Check if cubit files already exist
  if (File(cubitFilePath).existsSync() || File(stateFilePath).existsSync()) {
    print("Cubit files for $cubitNameCapitalized already exist!");
    return;
  }

  // Ensure the feature directory exists
  Directory(cubitPath).createSync(recursive: true);

  if (useFreezed) {
    _createFreezedCubitFiles(cubitName, cubitNameCapitalized, cubitFilePath, stateFilePath);
  } else {
    _createRegularCubitFiles(cubitName, cubitNameCapitalized, cubitFilePath, stateFilePath);
  }

  print("Cubit files created for $cubitNameCapitalized${useFreezed ? ' (with Freezed)' : ''}!");
}