initial_binding.dart
1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import 'package:get/get.dart';
import '../../core/config/app_environment_config.dart';
import '../../core/network/dio_client.dart';
import '../../data/local/local_storage.dart';
import '../../data/local/user_account_storage.dart';
import '../../data/local/user_preferences_storage.dart';
import 'dependency_registrars.dart';
/// Core dependencies required at cold start (splash + session).
class InitialBinding extends Bindings {
InitialBinding({
required this.environmentConfig,
required this.userPreferencesStorage,
required this.userAccountStorage,
required this.localStorage,
});
final AppEnvironmentConfig environmentConfig;
final UserPreferencesStorage userPreferencesStorage;
final UserAccountStorage userAccountStorage;
final LocalStorage localStorage;
@override
void dependencies() {
registerCoreDeps(
environmentConfig: environmentConfig,
userPreferencesStorage: userPreferencesStorage,
userAccountStorage: userAccountStorage,
localStorage: localStorage,
);
registerUserSessionDeps();
final dioClient = Get.find<DioClient>();
final userPrefs = Get.find<UserPreferencesStorage>();
registerHealthDeps(dioClient);
registerPayDeps(dioClient);
registerConfigDeps(dioClient);
registerThemeDeps(dioClient);
registerInteractionDeps(dioClient, userPrefs);
registerObsDeps(dioClient);
}
}