generateFeature method

Future<void> generateFeature(
  1. String projectPath,
  2. String featureName
)

Implementation

Future<void> generateFeature(
  String projectPath,
  String featureName,
) async {
  final baseDir = projectPath.endsWith('/')
      ? projectPath.substring(0, projectPath.length - 1)
      : projectPath;

  final directories = [
    'lib/features/$featureName/data/datasources',
    'lib/features/$featureName/data/models',
    'lib/features/$featureName/data/repositories',
    'lib/features/$featureName/domain/entities',
    'lib/features/$featureName/domain/repositories',
    'lib/features/$featureName/domain/usecases',
    'lib/features/$featureName/presentation/screens',
    'lib/features/$featureName/presentation/state',
    'lib/features/$featureName/presentation/widgets',
  ];

  for (final dirPath in directories) {
    final dir = Directory('$baseDir/$dirPath');
    if (!await dir.exists()) {
      await dir.create(recursive: true);
    }
  }
}