allRepositories method

  1. @override
Map<Type, EntityRepository<Object>> allRepositories({
  1. Map<Type, EntityRepository<Object>>? allRepositories,
  2. Set<EntityRepositoryProvider>? traversedProviders,
})
override

Implementation

@override
Map<Type, EntityRepository> allRepositories(
    {Map<Type, EntityRepository>? allRepositories,
    Set<EntityRepositoryProvider>? traversedProviders}) {
  allRepositories ??= <Type, EntityRepository>{};
  traversedProviders ??= <EntityRepositoryProvider>{};

  if (traversedProviders.contains(this)) {
    return allRepositories;
  }

  traversedProviders.add(this);

  for (var repo in entityRepositoriesBuildOrder) {
    allRepositories.putIfAbsent(repo.type, () => repo);
  }

  for (var e in _knownEntityRepositoryProviders) {
    e.allRepositories(allRepositories: allRepositories);
  }

  return allRepositories;
}