demo_hive/lib/service_locator.dart

21 lines
1009 B
Dart

import 'package:demo_hive/bloc/reminder_bloc.dart';
import 'package:demo_hive/data/repositories/reminder_repo_impl.dart';
import 'package:demo_hive/domain/repositories/reminder_repository.dart';
import 'package:demo_hive/domain/use_case/reminders_use_case.dart';
import 'package:get_it/get_it.dart';
import 'data/data_source/local/local_database-set_up.dart';
import 'data/data_source/local/local_init.dart';
GetIt locator = GetIt.instance;
void setup() {
locator.registerLazySingleton<ReminderBloc>(
() => ReminderBloc(remindersUseCase: locator<RemindersUseCase>()));
locator.registerFactory<RemindersUseCase>(() =>
RemindersUseCase(reminderRepository: locator<ReminderRepository>()));
locator.registerFactory<ReminderRepository>(() => ReminderRepoImpl(localDatabaseSetUp: locator<LocalDatabaseSetUp>()));
locator.registerLazySingleton<LocalDatabaseSetUp>(()=>LocalDatabaseSetUp(init:
locator<LocalDBInit>()));
locator.registerLazySingleton<LocalDBInit>(() => LocalDBInit());
}