generateRepositories function
void
generateRepositories({
- required Map<
String, Map< groupedPaths,String, dynamic> > - required String packageName,
- required String featureName,
- required RepositoryGenerator repoGen,
- required RepositoryImplGenerator implGen,
- required Map<
String, dynamic> components, - required String domainPath,
- required String dataPath,
- required Set<
String> usedEntities,
Implementation
void generateRepositories({
required Map<String, Map<String, dynamic>> groupedPaths,
required String packageName,
required String featureName,
required RepositoryGenerator repoGen,
required RepositoryImplGenerator implGen,
required Map<String, dynamic> components,
required String domainPath,
required String dataPath,
required Set<String> usedEntities,
}) {
for (final entry in groupedPaths.entries) {
final className =
entry.key == 'default' ? packageName.pascalCase : entry.key.pascalCase;
final repoResult = repoGen.generateRepository(
className,
entry.value,
components,
);
usedEntities.addAll(repoResult.usedEntities);
final implCode = implGen.generateRepositoryImpl(
className,
entry.value,
components,
featureName,
);
File(
'$domainPath/${className.snakeCase}_repository.dart',
).writeAsStringSync(repoResult.code);
File(
'$dataPath/${className.snakeCase}_repository.dart',
).writeAsStringSync(implCode);
}
print('✅ Repositories generated');
}