From e67ebbe2ab8c45efbccd750b7e3871558a66e67d Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Tue, 24 Mar 2026 10:40:49 +0300 Subject: [PATCH 1/2] rename Provider typedef to ProviderFactory --- cherrypick/lib/src/binding.dart | 4 ++-- cherrypick/lib/src/binding_resolver.dart | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cherrypick/lib/src/binding.dart b/cherrypick/lib/src/binding.dart index 502f8d3..afbc1ac 100644 --- a/cherrypick/lib/src/binding.dart +++ b/cherrypick/lib/src/binding.dart @@ -205,7 +205,7 @@ class Binding { /// bind().toProvide(() => ApiService()); /// bind().toProvide(() async => await openDb()); /// ``` - Binding toProvide(Provider value) { + Binding toProvide(ProviderFactory value) { _resolver = ProviderResolver((_) => value.call(), withParams: false); return this; } @@ -227,7 +227,7 @@ class Binding { } @Deprecated('Use toProvide instead of toProvideAsync') - Binding toProvideAsync(Provider value) { + Binding toProvideAsync(ProviderFactory value) { return toProvide(value); } diff --git a/cherrypick/lib/src/binding_resolver.dart b/cherrypick/lib/src/binding_resolver.dart index 0689933..44ab767 100644 --- a/cherrypick/lib/src/binding_resolver.dart +++ b/cherrypick/lib/src/binding_resolver.dart @@ -28,10 +28,10 @@ typedef Instance = FutureOr; /// /// Example: /// ```dart -/// Provider provider = () => MyService(); -/// Provider asyncProvider = () async => await Api.connect(); +/// ProviderFactory provider = () => MyService(); +/// ProviderFactory asyncProvider = () async => await Api.connect(); /// ``` -typedef Provider = FutureOr Function(); +typedef ProviderFactory = FutureOr Function(); /// Provider function type that accepts a dynamic parameter, for factory/parametrized injection. /// Returns [T] or [Future]. From 72e1e91b9601f2b22d1d20c4d06c1c0f0d1f5058 Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Tue, 24 Mar 2026 10:54:01 +0300 Subject: [PATCH 2/2] docs: sync references after ProviderFactory rename --- cherrypick/CHANGELOG.md | 6 +++++- doc/full_tutorial_ru.md | 2 +- doc/quick_start_en.md | 2 +- website/docs/intro.md | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cherrypick/CHANGELOG.md b/cherrypick/CHANGELOG.md index 64a33bb..886d088 100644 --- a/cherrypick/CHANGELOG.md +++ b/cherrypick/CHANGELOG.md @@ -1,3 +1,7 @@ +## Unreleased + + - **BREAKING** **REFACTOR**(binding): rename `Provider` typedef to `ProviderFactory` to avoid naming conflicts with `package:provider`. + ## 3.0.2 - **FIX**(test): fix warning. @@ -188,4 +192,4 @@ - **MAINT**: Updated pubspec. ## 0.1.0 -- **INIT**: Initial release. \ No newline at end of file +- **INIT**: Initial release. diff --git a/doc/full_tutorial_ru.md b/doc/full_tutorial_ru.md index 52b758d..83ee95d 100644 --- a/doc/full_tutorial_ru.md +++ b/doc/full_tutorial_ru.md @@ -550,4 +550,4 @@ void main() { - [cherrypick](https://pub.dev/packages/cherrypick) - [cherrypick_annotations](https://pub.dev/packages/cherrypick_annotations) - [cherrypick_generator](https://pub.dev/packages/cherrypick_generator) -- [Исходники на GitHub](https://github.com/pese-git/cherrypick) \ No newline at end of file +- [Исходники на GitHub](https://github.com/pese-git/cherrypick) diff --git a/doc/quick_start_en.md b/doc/quick_start_en.md index 48fe15c..f165295 100644 --- a/doc/quick_start_en.md +++ b/doc/quick_start_en.md @@ -255,4 +255,4 @@ class ApiClientImpl implements ApiClient { return 'Network data'; } } -``` \ No newline at end of file +``` diff --git a/website/docs/intro.md b/website/docs/intro.md index a7144ec..3ba0dea 100644 --- a/website/docs/intro.md +++ b/website/docs/intro.md @@ -38,4 +38,4 @@ See [Installation](installation.md) for instructions on adding CherryPick to you CherryPick is open-source. Contributions and questions are welcome! ---- \ No newline at end of file +---