deps_resolver.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:app_flowy/home/application/app/app_bloc.dart';
  2. import 'package:app_flowy/home/application/app/app_watch_bloc.dart';
  3. import 'package:app_flowy/home/application/menu/menu_bloc.dart';
  4. import 'package:app_flowy/home/application/menu/menu_watch.dart';
  5. import 'package:app_flowy/home/infrastructure/i_app_impl.dart';
  6. import 'package:app_flowy/home/infrastructure/i_workspace_impl.dart';
  7. import 'package:app_flowy/home/infrastructure/repos/app_repo.dart';
  8. import 'package:app_flowy/home/infrastructure/repos/workspace_repo.dart';
  9. import 'package:get_it/get_it.dart';
  10. class HomeDepsResolver {
  11. static Future<void> resolve(GetIt getIt) async {
  12. //App
  13. getIt.registerFactoryParam<AppRepository, String, void>(
  14. (appId, _) => AppRepository(appId: appId));
  15. getIt.registerFactoryParam<AppWatchRepository, String, void>(
  16. (appId, _) => AppWatchRepository(appId: appId));
  17. getIt.registerFactoryParam<IApp, String, void>(
  18. (appId, _) => IAppImpl(repo: getIt<AppRepository>(param1: appId)));
  19. getIt.registerFactoryParam<IAppWatch, String, void>((appId, _) =>
  20. IAppWatchImpl(repo: getIt<AppWatchRepository>(param1: appId)));
  21. //workspace
  22. getIt.registerFactoryParam<WorkspaceRepo, String, void>(
  23. (workspaceId, _) => WorkspaceRepo(workspaceId: workspaceId));
  24. getIt.registerFactoryParam<WorkspaceWatchRepo, String, void>(
  25. (workspaceId, _) => WorkspaceWatchRepo(workspaceId: workspaceId));
  26. getIt.registerFactoryParam<IWorkspace, String, void>((workspacId, _) =>
  27. IWorkspaceImpl(repo: getIt<WorkspaceRepo>(param1: workspacId)));
  28. getIt.registerFactoryParam<IWorkspaceWatch, String, void>((workspacId, _) =>
  29. IWorkspaceWatchImpl(
  30. repo: getIt<WorkspaceWatchRepo>(param1: workspacId)));
  31. //Bloc
  32. getIt.registerFactoryParam<MenuBloc, String, void>(
  33. (workspaceId, _) => MenuBloc(getIt<IWorkspace>(param1: workspaceId)));
  34. getIt.registerFactoryParam<MenuWatchBloc, String, void>((workspaceId, _) =>
  35. MenuWatchBloc(getIt<IWorkspaceWatch>(param1: workspaceId)));
  36. getIt.registerFactoryParam<AppBloc, String, void>(
  37. (appId, _) => AppBloc(getIt<IApp>(param1: appId)));
  38. getIt.registerFactoryParam<AppWatchBloc, String, void>(
  39. (appId, _) => AppWatchBloc(getIt<IAppWatch>(param1: appId)));
  40. // AppWatchBloc
  41. }
  42. }