Files
flutter_server_box/lib/locator.dart
2021-10-26 07:31:42 +08:00

43 lines
1.3 KiB
Dart

import 'package:get_it/get_it.dart';
import 'package:toolbox/data/provider/app.dart';
import 'package:toolbox/data/provider/debug.dart';
import 'package:toolbox/data/provider/private_key.dart';
import 'package:toolbox/data/provider/server.dart';
import 'package:toolbox/data/service/app.dart';
import 'package:toolbox/data/store/private_key.dart';
import 'package:toolbox/data/store/server.dart';
import 'package:toolbox/data/store/setting.dart';
GetIt locator = GetIt.instance;
void setupLocatorForServices() {
locator.registerLazySingleton(() => AppService());
}
void setupLocatorForProviders() {
locator.registerSingleton(AppProvider());
locator.registerSingleton(DebugProvider());
locator.registerSingleton(ServerProvider());
locator.registerSingleton(PrivateKeyProvider());
}
Future<void> setupLocatorForStores() async {
final setting = SettingStore();
await setting.init(boxName: 'setting');
locator.registerSingleton(setting);
final server = ServerStore();
await server.init(boxName: 'server');
locator.registerSingleton(server);
final key = PrivateKeyStore();
await key.init(boxName: 'key');
locator.registerSingleton(key);
}
Future<void> setupLocator() async {
await setupLocatorForStores();
setupLocatorForProviders();
setupLocatorForServices();
}