createStateManagementTemplates method

  1. @override
Future<void> createStateManagementTemplates(
  1. String projectName,
  2. StateManagementType stateManagement,
  3. bool includeFreezed
)
override

Implementation

@override
Future<void> createStateManagementTemplates(String projectName, StateManagementType stateManagement, bool includeFreezed) async {
  switch (stateManagement) {
    case StateManagementType.bloc:
      final mainFile = File(path.join(projectName, 'lib/main.dart'));
      if (await mainFile.exists()) {
        await mainFile.delete();
      }

      final oldDiFile = File(path.join(projectName, 'lib/core/di/dependency_injection.dart'));
      if (await oldDiFile.exists()) {
        await oldDiFile.delete();
      }

      final oldDiDir = Directory(path.join(projectName, 'lib/core/di'));
      if (await oldDiDir.exists()) {
        try {
          final contents = await oldDiDir.list().toList();
          if (contents.isEmpty) {
            await oldDiDir.delete(recursive: true);
          }
        } catch (e) {
          // Ignore errors
        }
      }

      await templateGenerator.generateProjectTemplates(
        projectName: projectName,
        projectPath: projectName,
      );
      break;
    case StateManagementType.provider:
      break;
    case StateManagementType.none:
      break;
  }
}