mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-23 21:13:35 +00:00
fixed initialization error for singeltone provider
This commit is contained in:
@@ -96,9 +96,6 @@ class Binding<T> {
|
|||||||
///
|
///
|
||||||
/// return [Binding]
|
/// return [Binding]
|
||||||
Binding<T> singeltone() {
|
Binding<T> singeltone() {
|
||||||
if (_mode == Mode.PROVIDER_INSTANCE) {
|
|
||||||
_instance = _provider?.call();
|
|
||||||
}
|
|
||||||
_isSingeltone = true;
|
_isSingeltone = true;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -113,5 +110,11 @@ class Binding<T> {
|
|||||||
/// ENG: Resolve instance.
|
/// ENG: Resolve instance.
|
||||||
///
|
///
|
||||||
/// return [T]
|
/// return [T]
|
||||||
T? get provider => _provider?.call();
|
T? get provider {
|
||||||
|
if (_isSingeltone) {
|
||||||
|
_instance ??= _provider?.call();
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
return _provider?.call();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,9 +112,7 @@ class Scope {
|
|||||||
case Mode.INSTANCE:
|
case Mode.INSTANCE:
|
||||||
return binding.instance;
|
return binding.instance;
|
||||||
case Mode.PROVIDER_INSTANCE:
|
case Mode.PROVIDER_INSTANCE:
|
||||||
return binding.isSingeltone
|
return binding.provider;
|
||||||
? binding.instance
|
|
||||||
: binding.provider;
|
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user