createUsecaseFiles method
void
createUsecaseFiles(
- String featureName,
- String basePath
)
Implementation
void createUsecaseFiles(String featureName, String basePath) {
final snakeCaseName = toSnakeCase(featureName);
final classNamePrefix =
featureName[0].toUpperCase() + featureName.substring(1);
final packageName = getPackageName(basePath);
final usecaseFile =
File('$basePath/domain/usecases/get_$snakeCaseName.dart');
if (!usecaseFile.existsSync()) {
usecaseFile.writeAsStringSync('''
import 'package:dartz/dartz.dart';
import 'package:$packageName/core/error/failures.dart';
import 'package:$packageName/features/$featureName/domain/entities/$snakeCaseName.dart';
import 'package:$packageName/features/$featureName/domain/repositories/${snakeCaseName}_repository.dart';
class Get$classNamePrefix {
final ${classNamePrefix}Repository repository;
Get$classNamePrefix(this.repository);
Future<Either<Failure, $classNamePrefix>> call() async {
return await repository.get$classNamePrefix();
}
}
''');
print('Created usecase file: get_$snakeCaseName.dart');
}
}