mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-24 05:25:19 +00:00
upgraded code for nullsafety
This commit is contained in:
@@ -7,5 +7,5 @@ abstract class Resolver<T> {
|
||||
* Разрешает зависимость типа [T]
|
||||
* @return - возвращает объект типа [T]
|
||||
*/
|
||||
T resolve();
|
||||
T? resolve();
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@ import 'package:dart_di/resolvers/value_resolver.dart';
|
||||
|
||||
class ResolvingContext<T> extends Resolver {
|
||||
/// Корневой резолвер
|
||||
Resolver<T> get resolver => _resolver;
|
||||
Resolver<T> get resolver {
|
||||
return _resolver as Resolver<T>;
|
||||
}
|
||||
|
||||
DiContainer _container;
|
||||
|
||||
Resolver _resolver;
|
||||
late Resolver _resolver;
|
||||
|
||||
ResolvingContext(this._container);
|
||||
|
||||
@@ -21,7 +23,7 @@ class ResolvingContext<T> extends Resolver {
|
||||
@override
|
||||
T resolve() {
|
||||
_verify();
|
||||
return _resolver?.resolve();
|
||||
return _resolver.resolve();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -38,7 +40,7 @@ class ResolvingContext<T> extends Resolver {
|
||||
* Создать резолвер значения
|
||||
*/
|
||||
ResolvingContext<T> toValue<TImpl extends T>(T value) {
|
||||
Resolver<TImpl> resolver = ValueResolver(value);
|
||||
Resolver<TImpl> resolver = ValueResolver(value as TImpl);
|
||||
return toResolver<TImpl>(resolver);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ import 'package:dart_di/resolvers/resolver.dart';
|
||||
|
||||
class SingletonResolver<T> extends Resolver<T> {
|
||||
Resolver<T> _decoratedResolver;
|
||||
T _value = null;
|
||||
T? _value = null;
|
||||
|
||||
SingletonResolver(this._decoratedResolver);
|
||||
|
||||
@override
|
||||
T resolve() {
|
||||
T? resolve() {
|
||||
if (_value == null) {
|
||||
_value = _decoratedResolver.resolve();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user