add provide typedef

This commit is contained in:
Sergey Penkovsky
2025-05-19 10:36:26 +03:00
parent e6f9b13ea4
commit 53dd4a1005
3 changed files with 9 additions and 6 deletions

View File

@@ -13,6 +13,8 @@
enum Mode { simple, instance, providerInstance, providerInstanceWithParams }
typedef Provider<T> = T? Function();
typedef ProviderWithParams<T> = T Function(dynamic params);
typedef AsyncProvider<T> = Future<T> Function();
@@ -27,11 +29,12 @@ class Binding<T> {
late Type _key;
late String _name;
T? _instance;
T? Function()? _provider;
Provider<T>? _provider;
ProviderWithParams<T>? _providerWithParams;
AsyncProvider<T>? asyncProvider;
AsyncProviderWithParams<T>? asyncProviderWithParams;
ProviderWithParams<T>? _providerWithParams;
late bool _isSingleton = false;
late bool _isNamed = false;
@@ -95,7 +98,7 @@ class Binding<T> {
/// ENG: Initialization instance via provider [value].
///
/// return [Binding]
Binding<T> toProvide(T Function() value) {
Binding<T> toProvide(Provider<T> value) {
_mode = Mode.providerInstance;
_provider = value;
return this;

View File

@@ -31,14 +31,14 @@ packages:
path: "../../cherrypick"
relative: true
source: path
version: "2.1.0-dev.1"
version: "2.1.0"
cherrypick_flutter:
dependency: "direct main"
description:
path: "../../cherrypick_flutter"
relative: true
source: path
version: "1.1.1-dev.1"
version: "1.1.1"
clock:
dependency: transitive
description:

View File

@@ -156,7 +156,7 @@ packages:
path: "../../cherrypick"
relative: true
source: path
version: "2.1.0-dev.1"
version: "2.1.0"
clock:
dependency: transitive
description: