37 lines
1.0 KiB
Dart
37 lines
1.0 KiB
Dart
/// Module de Dependency Injection pour les membres
|
|
library membres_di;
|
|
|
|
import 'package:get_it/get_it.dart';
|
|
import 'package:dio/dio.dart';
|
|
import '../data/repositories/membre_repository_impl.dart';
|
|
import '../bloc/membres_bloc.dart';
|
|
|
|
/// Configuration de l'injection de dépendances pour le module Membres
|
|
class MembresDI {
|
|
static final GetIt _getIt = GetIt.instance;
|
|
|
|
/// Enregistre toutes les dépendances du module Membres
|
|
static void register() {
|
|
// Repository
|
|
_getIt.registerLazySingleton<MembreRepository>(
|
|
() => MembreRepositoryImpl(_getIt<Dio>()),
|
|
);
|
|
|
|
// BLoC - Factory pour créer une nouvelle instance à chaque fois
|
|
_getIt.registerFactory<MembresBloc>(
|
|
() => MembresBloc(_getIt<MembreRepository>()),
|
|
);
|
|
}
|
|
|
|
/// Désenregistre toutes les dépendances (pour les tests)
|
|
static void unregister() {
|
|
if (_getIt.isRegistered<MembresBloc>()) {
|
|
_getIt.unregister<MembresBloc>();
|
|
}
|
|
if (_getIt.isRegistered<MembreRepository>()) {
|
|
_getIt.unregister<MembreRepository>();
|
|
}
|
|
}
|
|
}
|
|
|