add<T extends Service<State, RepositoryProvider>> method

void add<T extends Service<State, RepositoryProvider>>(
  1. FeatureBloCCreator<T> creator
)

Implementation

void add<T extends Service>(FeatureBloCCreator<T> creator) {
  providers.add(
    BlocProvider<T>(
      create: (BuildContext context) {
        final service = creator(context);

        final i = services.indexWhere((s) => s is T);
        if (i != -1) {
          services.removeAt(i);
        }
        services.add(service);
        AppNotifications.hub().register(service);

        return service;
      },
      lazy: false,
    ),
  );
}