fromScoped<T> function

T fromScoped<T>({
  1. required String scope,
  2. String? tag,
  3. dynamic parm,
})

Implementation

T fromScoped<T>({required String scope, String? tag, dynamic parm}) {
  final list = _scopedInjectors[scope];
  if (list != null) {
    var elements = list.whereType<_PlexInjector<T>>().cast<_PlexInjector>().toList();
    if (tag != null) {
      elements = elements.where((element) => element.tag == tag).toList();
    } else {
      elements = elements.where((element) => element.tag == null).toList();
    }
    if (elements.isNotEmpty) return elements.first.getValue(parm: parm);
  }
  return fromPlex<T>(tag: tag, parm: parm);
}