getOrCreate<TBloc extends BlocBase> method

TBloc getOrCreate<TBloc extends BlocBase>({
  1. required String cacheKey,
  2. required TBloc create(),
})

Implementation

TBloc getOrCreate<TBloc extends BlocBase<dynamic>>({required String cacheKey, required TBloc Function() create}) {
  final key = _FeatureBlocCacheKey(type: TBloc, key: cacheKey);
  final existing = _items[key];
  if (existing != null) {
    return existing as TBloc;
  }
  final created = create();
  _items[key] = created;
  return created;
}