readDI<T extends Object> static method

T? readDI<T extends Object>({
  1. bool nothrow = false,
  2. GetIt? di,
})

Implementation

static T? readDI<T extends Object>({bool nothrow = false, GetIt? di}) {
  di ??= GetIt.I;
  if (di.isRegistered<T>()) {
    final r = di.get<T>();
    log(
      'FrReadContext get Global <$T>[#${shortHash(r)}] ${(r is FrViewModel) ? r.value : ''} ',
      name: 'FlowR',
    );
    return r;
  }
  if (nothrow) return null;
  final tips = _diDevTips[T];
  throw "<$T> not register in GetIt; try use `GetIt.I.registerSingleton<$T>(...)`"
      "${tips == null ? '' : '\nDevTips${' =' * 20}\n$tips'}";
}