provider static method

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

Implementation

static String provider(String projectName, String feature) {
  final pascal = StringUtils.toPascalCase(feature);
  return '''
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:$projectName/features/$feature/data/repositories/${feature}_repository_impl.dart';
import 'package:$projectName/features/$feature/domain/entities/${feature}_entity.dart';
import 'package:$projectName/features/$feature/domain/repositories/${feature}_repository.dart';

final ${feature}RepositoryProvider = Provider<${pascal}Repository>((ref) {
return ${pascal}RepositoryImpl();
});

final ${feature}Provider = FutureProvider<${pascal}Entity>((ref) async {
final repo = ref.watch(${feature}RepositoryProvider);
final result = await repo.get$pascal();
return result.fold(
  (failure) => throw Exception(failure.message),
  (entity) => entity,
);
});
''';
}