repositoryImpl static method

String repositoryImpl(
  1. String projectName,
  2. String feature
)

Implementation

static String repositoryImpl(String projectName, String feature) {
  final pascal = StringUtils.toPascalCase(feature);
  return '''
import 'package:dartz/dartz.dart';
import 'package:$projectName/core/error/failures.dart';
import 'package:$projectName/features/$feature/domain/entities/${feature}_entity.dart';
import 'package:$projectName/features/$feature/domain/repositories/${feature}_repository.dart';

class ${pascal}RepositoryImpl implements ${pascal}Repository {
@override
Future<Either<Failure, ${pascal}Entity>> get$pascal() async {
  // TODO: replace this stub with a real data source (Dio, local DB, etc.).
  try {
    return const Right(${pascal}Entity(id: 'placeholder'));
  } catch (e) {
    return Left(ServerFailure(e.toString()));
  }
}
}
''';
}