mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-23 21:13:35 +00:00
33 lines
812 B
Dart
33 lines
812 B
Dart
|
|
import 'package:get_it/get_it.dart';
|
||
|
|
import 'di_adapter.dart';
|
||
|
|
|
||
|
|
class GetItAdapter implements DIAdapter {
|
||
|
|
late GetIt _getIt;
|
||
|
|
|
||
|
|
@override
|
||
|
|
void setupDependencies(void Function(dynamic container) registration) {
|
||
|
|
_getIt = GetIt.asNewInstance();
|
||
|
|
registration(_getIt);
|
||
|
|
}
|
||
|
|
|
||
|
|
@override
|
||
|
|
T resolve<T extends Object>({String? named}) => _getIt<T>(instanceName: named);
|
||
|
|
|
||
|
|
@override
|
||
|
|
Future<T> resolveAsync<T extends Object>({String? named}) async => _getIt<T>(instanceName: named);
|
||
|
|
|
||
|
|
@override
|
||
|
|
void teardown() => _getIt.reset();
|
||
|
|
|
||
|
|
@override
|
||
|
|
DIAdapter openSubScope(String name) {
|
||
|
|
// get_it не поддерживает scope, возвращаем новый инстанс
|
||
|
|
return GetItAdapter();
|
||
|
|
}
|
||
|
|
|
||
|
|
@override
|
||
|
|
Future<void> waitForAsyncReady() async {
|
||
|
|
await _getIt.allReady();
|
||
|
|
}
|
||
|
|
}
|