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/websockets/ws_manager.dart'; import 'package:get_it/get_it.dart'; /// Глобальный экземпляр GetIt для внедрения зависимостей final sl = GetIt.instance; /// Инициализация системы внедрения зависимостей Future init({required AppBuildType buildType}) async { // Регистрация AppConfig AppConfigRegistration.registerAppConfig(buildType: buildType); // Регистрация внешних зависимостей (Dio, etc.) ExternalRegistrations.registerAll(); // Регистрация сервисов ServiceRegistrations.registerAll(); // Регистрация репозиториев RepositoryRegistrations.registerAll(); // Регистрация Cubit'ов CubitRegistrations.registerAll(); // Регистрация WebSocket менеджера sl.registerLazySingleton(() => WsManager(wsService: sl())); }