getBindByKey method

MapEntry<AutoInjectorImpl, Bind>? getBindByKey(
  1. AutoInjectorImpl startInjector, {
  2. required String bindKey,
})

Returns a MapEntry. The value is the found Bind and the key is the AutoInjectorImpl that have this bind.

NOTE: Algorithm based on BFS (breadth-first search)

Implementation

MapEntry<AutoInjectorImpl, Bind>? getBindByKey(
  AutoInjectorImpl startInjector, {
  required String bindKey,
}) {
  final injector = getFirstInjectorWhere(startInjector, (currentInjector) {
    for (final Bind bind in currentInjector.binds) {
      if (bind.key == bindKey) return true;
    }
    return false;
  });
  if (injector == null) return null;
  final bind = injector.binds.firstWhere((bind) => bind.key == bindKey);
  return MapEntry(injector, bind);
}