getEntityRepositoryByType<T extends Object> method
EntityRepository<T> ?
getEntityRepositoryByType<T extends Object>(
- Type type, {
- EntityRepositoryProvider? entityRepositoryProvider,
- EntityHandlerProvider? entityHandlerProvider,
- bool removeClosedProviders = false,
Implementation
EntityRepository<T>? getEntityRepositoryByType<T extends Object>(Type type,
{EntityRepositoryProvider? entityRepositoryProvider,
EntityHandlerProvider? entityHandlerProvider,
bool removeClosedProviders = false}) {
var self = this;
if (self is! List<EntityRepositoryProvider> &&
self is! Set<EntityRepositoryProvider>) {
self = self.toList(growable: false);
}
var length = self.length;
if (length == 0) {
return null;
} else if (length == 1) {
return self.first.getEntityRepositoryByType<T>(type);
}
var notClosed = _whereNotClosed(self, length, removeClosedProviders);
var entityRepositories = notClosed
.map((e) => e.getEntityRepositoryByType<T>(type))
.whereNotNull()
.toList();
return _resolveEntityRepository<T>(entityRepositories, type,
entityRepositoryProvider, entityHandlerProvider);
}