forked from eatvio/eatvio_app
37 lines
1.5 KiB
Dart
37 lines
1.5 KiB
Dart
import 'package:eatvio_app/core/app_initializer.dart';
|
|
import 'package:eatvio_app/core/di/app_config_registration.dart';
|
|
import 'package:eatvio_app/core/di/cubit_registrations.dart';
|
|
import 'package:eatvio_app/core/di/external_registrations.dart';
|
|
import 'package:eatvio_app/core/di/repository_registrations.dart';
|
|
import 'package:eatvio_app/core/di/service_registrations.dart';
|
|
import 'package:eatvio_app/core/prefs.dart';
|
|
import 'package:eatvio_app/core/websockets/ws_manager.dart';
|
|
import 'package:get_it/get_it.dart';
|
|
|
|
/// Глобальный экземпляр GetIt для внедрения зависимостей
|
|
final sl = GetIt.instance;
|
|
|
|
/// Инициализация системы внедрения зависимостей
|
|
Future<void> init({required AppBuildType buildType}) async {
|
|
// Регистрация AppConfig
|
|
AppConfigRegistration.registerAppConfig(buildType: buildType);
|
|
|
|
// Регистрация внешних зависимостей (Dio, etc.)
|
|
ExternalRegistrations.registerAll();
|
|
|
|
// Ожидание инициализации асинхронных зависимостей
|
|
await sl.getAsync<Prefs>();
|
|
|
|
// Регистрация сервисов
|
|
ServiceRegistrations.registerAll();
|
|
|
|
// Регистрация репозиториев
|
|
RepositoryRegistrations.registerAll();
|
|
|
|
// Регистрация Cubit'ов
|
|
CubitRegistrations.registerAll();
|
|
|
|
// Регистрация WebSocket менеджера
|
|
sl.registerLazySingleton<WsManager>(() => WsManager(wsService: sl(), errorReporter: sl()));
|
|
}
|