import 'package:hadi_hoda_flutter/core/network/http_request.dart'; import 'package:hadi_hoda_flutter/core/network/http_request_impl.dart'; import 'package:hadi_hoda_flutter/features/home/data/datasource/home_datasource.dart'; import 'package:hadi_hoda_flutter/features/home/data/repository_impl/home_repository_impl.dart'; import 'package:hadi_hoda_flutter/features/home/domain/repository/home_repository.dart'; import 'package:hadi_hoda_flutter/features/home/domain/usecases/get_home_usecase.dart'; import 'package:hadi_hoda_flutter/features/intro/data/datasource/intro_datasource.dart'; import 'package:hadi_hoda_flutter/features/intro/data/repository_impl/intro_repository_impl.dart'; import 'package:hadi_hoda_flutter/features/intro/domain/repository/intro_repository.dart'; import 'package:hadi_hoda_flutter/features/intro/domain/usecases/get_intro_usecase.dart'; import 'package:hadi_hoda_flutter/features/question/data/datasource/question_datasource.dart'; import 'package:hadi_hoda_flutter/features/question/data/repository_impl/question_repository_impl.dart'; import 'package:hadi_hoda_flutter/features/question/domain/repository/question_repository.dart'; import 'package:hadi_hoda_flutter/features/question/domain/usecases/get_question_usecase.dart'; import 'package:hadi_hoda_flutter/features/sample/data/datasource/sample_datasource.dart'; import 'package:hadi_hoda_flutter/features/sample/data/repository_impl/sample_repository_impl.dart'; import 'package:hadi_hoda_flutter/features/sample/domain/repository/sample_repository.dart'; import 'package:hadi_hoda_flutter/features/sample/domain/usecases/get_sample_usecase.dart'; import 'package:get_it/get_it.dart'; final GetIt locator = GetIt.I; void initBindings() { /// Classes locator.registerSingleton(HttpRequestImpl()); /// Sample Feature locator.registerLazySingleton(() => SampleDatasourceImpl(locator())); locator.registerLazySingleton(() => SampleRepositoryImpl(locator())); locator.registerLazySingleton(() => GetSampleUseCase(locator())); /// Intro Feature locator.registerLazySingleton(() => IntroDatasourceImpl(locator())); locator.registerLazySingleton(() => IntroRepositoryImpl(locator())); locator.registerLazySingleton(() => GetIntroUseCase(locator())); /// Question Feature locator.registerLazySingleton(() => QuestionDatasourceImpl(locator())); locator.registerLazySingleton(() => QuestionRepositoryImpl(locator())); locator.registerLazySingleton(() => GetQuestionUseCase(locator())); /// Home Feature locator.registerLazySingleton(() => HomeDatasourceImpl(locator())); locator.registerLazySingleton(() => HomeRepositoryImpl(locator())); locator.registerLazySingleton(() => GetHomeUseCase(locator())); }