refactor: change singleton registrations to lazySingleton for improved performance

This commit is contained in:
Achintha Isuru
2026-03-09 15:01:18 -04:00
parent 46ca10933a
commit 7a5c130289
10 changed files with 41 additions and 41 deletions

View File

@@ -13,35 +13,35 @@ class CoreModule extends Module {
@override
void exportedBinds(Injector i) {
// 1. Register the base HTTP client
i.addSingleton<Dio>(() => DioClient());
i.addLazySingleton<Dio>(() => DioClient());
// 2. Register the base API service
i.addSingleton<BaseApiService>(() => ApiService(i.get<Dio>()));
i.addLazySingleton<BaseApiService>(() => ApiService(i.get<Dio>()));
// 3. Register Core API Services (Orchestrators)
i.addSingleton<FileUploadService>(
i.addLazySingleton<FileUploadService>(
() => FileUploadService(i.get<BaseApiService>()),
);
i.addSingleton<SignedUrlService>(
i.addLazySingleton<SignedUrlService>(
() => SignedUrlService(i.get<BaseApiService>()),
);
i.addSingleton<VerificationService>(
i.addLazySingleton<VerificationService>(
() => VerificationService(i.get<BaseApiService>()),
);
i.addSingleton<LlmService>(() => LlmService(i.get<BaseApiService>()));
i.addSingleton<RapidOrderService>(
i.addLazySingleton<LlmService>(() => LlmService(i.get<BaseApiService>()));
i.addLazySingleton<RapidOrderService>(
() => RapidOrderService(i.get<BaseApiService>()),
);
// 4. Register Device dependency
i.addSingleton<ImagePicker>(() => ImagePicker());
i.addLazySingleton<ImagePicker>(() => ImagePicker());
// 5. Register Device Services
i.addSingleton<CameraService>(() => CameraService(i.get<ImagePicker>()));
i.addSingleton<GalleryService>(() => GalleryService(i.get<ImagePicker>()));
i.addSingleton<FilePickerService>(FilePickerService.new);
i.addSingleton<AudioRecorderService>(AudioRecorderService.new);
i.addSingleton<DeviceFileUploadService>(
i.addLazySingleton<CameraService>(() => CameraService(i.get<ImagePicker>()));
i.addLazySingleton<GalleryService>(() => GalleryService(i.get<ImagePicker>()));
i.addLazySingleton<FilePickerService>(FilePickerService.new);
i.addLazySingleton<AudioRecorderService>(AudioRecorderService.new);
i.addLazySingleton<DeviceFileUploadService>(
() => DeviceFileUploadService(
cameraService: i.get<CameraService>(),
galleryService: i.get<GalleryService>(),