isRegisteredK method

bool isRegisteredK(
  1. Entity typeEntity, {
  2. Entity groupEntity = const DefaultEntity(),
  3. bool traverse = true,
  4. Set<DI>? visited,
})
inherited

Returns whether a dependency keyed under exact typeEntity is registered. Strict: a Lazy<...> variant is NOT matched — pass TypeEntity(Lazy, [typeEntity]) explicitly to check for that.

visited is for internal cycle-detection on misconfigured hierarchies.

Implementation

bool isRegisteredK(
  Entity typeEntity, {
  Entity groupEntity = const DefaultEntity(),
  bool traverse = true,
  Set<DI>? visited,
}) {
  final v = visited ?? <DI>{};
  if (!v.add(this as DI)) return false;
  final g = groupEntity.preferOverDefault(focusGroup);
  if (registry.containsDependencyK(typeEntity, groupEntity: g)) {
    return true;
  }
  if (traverse) {
    for (final parent in parents) {
      if ((parent as SupportsMixinK).isRegisteredK(
        typeEntity,
        groupEntity: g,
        traverse: true,
        visited: v,
      )) {
        return true;
      }
    }
  }
  return false;
}