Upgrading provider 2 to 3
Breaking2.0.1+1 → 3.2.0Breaking8Deprecated2New1Changed2Fixed1
BreakingUpgrade verdict
8 breaking changes.
In plain terms
- The default constructor of StreamProvider has now builds a Stream instead of StreamController.
- Providers can no longer be instantiated using const constructors.
- Provider now throws if used with a Listenable/Stream.
- All XXProvider.value constructors now use value as parameter name.
Must act Top 5 of 10 that need code or config changes
What you must change
Breaking8
The default constructor of StreamProvider has now builds a Stream instead of StreamController.
StreamProviderStreamStreamControllerStreamProvider.controllerProviders can no longer be instantiated using const constructors.
constProvider now throws if used with a Listenable/Stream.
ProviderListenableStreamProvider.debugCheckInvalidValueTypenullAll XXProvider.value constructors now use value as parameter name.
XXProvider.valuevalueAdded FutureProvider, which takes a future and updates dependents when the future completes.
FutureProviderAdded ProxyProvider, ListenableProxyProvider, and ChangeNotifierProxyProvider.
ProxyProviderListenableProxyProviderChangeNotifierProxyProviderAdded DelegateWidget and a few related classes to help building custom providers.
DelegateWidgetExposed the internal generic InheritedWidget to help building custom providers.
InheritedWidgetDeprecations to plan for
Deprecated2
Deprecated "builder" of providers in favor to "create".
Deprecated "initialBuilder"/"builder" of proxy providers in favor of respectively "create" and "update".
API changes
Generated by DepDelta from published Dart source. Not mixed with prose notes.
- removed:
field ListenableProvider.dispose: final Disposer<T> - removed:
field Provider.dispose: final Disposer<T> - removed:
method ChangeNotifierProvider.cloneWithChild(Widget child): ChangeNotifierProvider<T> - removed:
method ListenableProvider.createState(): _ListenableProviderState<T> - removed:
method Provider.createState(): _ProviderState<T> - removed:
method StreamProvider.createState(): _StreamProviderState<T> - removed:
method ValueListenableProvider.createState(): _ValueListenableProviderState<T> - changed:
class Consumer2<A, B> extends StatelessWidget → class Consumer2<A, B> extends StatelessWidget implements SingleChildCloneableWidget - changed:
class Consumer3<A, B, C> extends StatelessWidget → class Consumer3<A, B, C> extends StatelessWidget implements SingleChildCloneableWidget - changed:
class Consumer4<A, B, C, D> extends StatelessWidget → class Consumer4<A, B, C, D> extends StatelessWidget implements SingleChildCloneableWidget - changed:
class Consumer5<A, B, C, D, E> extends StatelessWidget → class Consumer5<A, B, C, D, E> extends StatelessWidget implements SingleChildCloneableWidget - changed:
class Consumer6<A, B, C, D, E, F> extends StatelessWidget → class Consumer6<A, B, C, D, E, F> extends StatelessWidget implements SingleChildCloneableWidget - changed:
class Consumer<T> extends StatelessWidget → class Consumer<T> extends StatelessWidget implements SingleChildCloneableWidget - changed:
class ListenableProvider<T extends Listenable> extends AdaptiveBuilderWidget<T, T> implements SingleChildCloneableWidget → class ListenableProvider<T extends Listenable> extends ValueDelegateWidget<T> implements SingleChildCloneableWidget - changed:
class Provider<T> extends AdaptiveBuilderWidget<T, T> implements SingleChildCloneableWidget → class Provider<T> extends ValueDelegateWidget<T> implements SingleChildCloneableWidget - changed:
class StreamProvider<T> extends AdaptiveBuilderWidget<Stream<T>, StreamController<T>> implements SingleChildCloneableWidget → class StreamProvider<T> extends ValueDelegateWidget<Stream<T>> implements SingleChildCloneableWidget - changed:
class ValueListenableProvider<T> extends AdaptiveBuilderWidget<ValueListenable<T>, ValueNotifier<T>> implements SingleChildCloneableWidget → class ValueListenableProvider<T> extends ValueDelegateWidget<ValueListenable<T>> implements SingleChildCloneableWidget - changed:
ctor ChangeNotifierProvider({ Key key, @required ValueBuilder<T> builder, Widget child, }) → ctor ChangeNotifierProvider({ Key key, @required ValueBuilder<T> create, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<T> builder, Widget child, }) - changed:
ctor ChangeNotifierProvider.value({ Key key, @required T notifier, Widget child, }) → ctor ChangeNotifierProvider.value({ Key key, @required T value, Widget child, }) - changed:
ctor ListenableProvider({ Key key, @required ValueBuilder<T> builder, this.dispose, this.child, }) → ctor ListenableProvider({ Key key, @required ValueBuilder<T> create, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<T> builder, Disposer<T> dispose, Widget child, }) - changed:
ctor ListenableProvider.value({ Key key, @required T listenable, this.child, }) → ctor ListenableProvider.value({ Key key, @required T value, Widget child, }) - changed:
ctor Provider({ Key key, @required ValueBuilder<T> builder, this.dispose, this.child, }) → ctor Provider({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<T> builder, @required ValueBuilder<T> create, Disposer<T> dispose, Widget child, }) - changed:
ctor Provider.value({ Key key, @required T value, this.updateShouldNotify, this.child, }) → ctor Provider.value({ Key key, @required T value, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - changed:
ctor StreamProvider({ Key key, @required ValueBuilder<StreamController<T>> builder, this.initialData, this.catchError, this.updateShouldNotify, this.child, }) → ctor StreamProvider({ Key key, @required ValueBuilder<Stream<T>> create, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<Stream<T>> builder, T initialData, ErrorBuilder<T> catchError, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - changed:
ctor StreamProvider.value({ Key key, @required Stream<T> stream, this.initialData, this.catchError, this.updateShouldNotify, this.child, }) → ctor StreamProvider.value({ Key key, @required Stream<T> value, T initialData, ErrorBuilder<T> catchError, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - changed:
ctor ValueListenableProvider({ Key key, @required ValueBuilder<ValueNotifier<T>> builder, this.updateShouldNotify, this.child, }) → ctor ValueListenableProvider({ Key key, @Deprecated('Will be removed as part of 4.0.0, use update instead') ValueBuilder<ValueNotifier<T>> builder, @required ValueBuilder<ValueNotifier<T>> create, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - changed:
ctor ValueListenableProvider.value({ Key key, @required ValueListenable<T> valueListenable, this.updateShouldNotify, this.child, }) → ctor ValueListenableProvider.value({ Key key, @required ValueListenable<T> value, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - changed:
method Consumer2.Function(BuildContext context, A value, B value2, Widget chi): Widget → method Consumer2.Function(BuildContext context, A value, B value2, Widget child): Widget - added:
class BuilderStateDelegate<T> extends ValueStateDelegate<T> - added:
class ChangeNotifierProxyProvider2<T, T2, R extends ChangeNotifier> extends ListenableProxyProvider2<T, T2, R> - added:
class ChangeNotifierProxyProvider3<T, T2, T3, R extends ChangeNotifier> extends ListenableProxyProvider3<T, T2, T3, R> - added:
class ChangeNotifierProxyProvider4<T, T2, T3, T4, R extends ChangeNotifier> extends ListenableProxyProvider4<T, T2, T3, T4, R> - added:
class ChangeNotifierProxyProvider5<T, T2, T3, T4, T5, R extends ChangeNotifier> extends ListenableProxyProvider5<T, T2, T3, T4, T5, R> - added:
class ChangeNotifierProxyProvider6<T, T2, T3, T4, T5, T6, R extends ChangeNotifier> extends ListenableProxyProvider6<T, T2, T3, T4, T5, T6, R> - added:
class ChangeNotifierProxyProvider<T, R extends ChangeNotifier> extends ListenableProxyProvider<T, R> - added:
class DelegateWidget: abstract extends StatefulWidget - added:
class FutureProvider<T> extends ValueDelegateWidget<Future<T>> implements SingleChildCloneableWidget - added:
class InheritedProvider<T> extends InheritedWidget - added:
class ListenableProxyProvider2<T, T2, R extends Listenable> extends _NumericProxyProvider<T, T2, Void, Void, Void, Void, R> - added:
class ListenableProxyProvider3<T, T2, T3, R extends Listenable> extends _NumericProxyProvider<T, T2, T3, Void, Void, Void, R> - added:
class ListenableProxyProvider4<T, T2, T3, T4, R extends Listenable> extends _NumericProxyProvider<T, T2, T3, T4, Void, Void, R> - added:
class ListenableProxyProvider5<T, T2, T3, T4, T5, R extends Listenable> extends _NumericProxyProvider<T, T2, T3, T4, T5, Void, R> - added:
class ListenableProxyProvider6<T, T2, T3, T4, T5, T6, R extends Listenable> extends _NumericProxyProvider<T, T2, T3, T4, T5, T6, R> - added:
class ListenableProxyProvider<T, R extends Listenable> extends _NumericProxyProvider<T, Void, Void, Void, Void, Void, R> - added:
class ProxyProvider2<T, T2, R> extends NumericProxyProvider<T, T2, Void, Void, Void, Void, R> - added:
class ProxyProvider3<T, T2, T3, R> extends NumericProxyProvider<T, T2, T3, Void, Void, Void, R> - added:
class ProxyProvider4<T, T2, T3, T4, R> extends NumericProxyProvider<T, T2, T3, T4, Void, Void, R> - added:
class ProxyProvider5<T, T2, T3, T4, T5, R> extends NumericProxyProvider<T, T2, T3, T4, T5, Void, R> - added:
class ProxyProvider6<T, T2, T3, T4, T5, T6, R> extends NumericProxyProvider<T, T2, T3, T4, T5, T6, R> - added:
class ProxyProvider<T, R> extends NumericProxyProvider<T, Void, Void, Void, Void, Void, R> - added:
class ProxyProviderElement extends StatefulElement - added:
class ProxyProviderState<T extends ProxyProviderWidget>: abstract extends State<T> - added:
class ProxyProviderWidget: abstract extends StatefulWidget - added:
class Selector0<T> extends StatefulWidget implements SingleChildCloneableWidget - added:
class Selector2<A, B, S> extends Selector0<S> - added:
class Selector3<A, B, C, S> extends Selector0<S> - added:
class Selector4<A, B, C, D, S> extends Selector0<S> - added:
class Selector5<A, B, C, D, E, S> extends Selector0<S> - added:
class Selector6<A, B, C, D, E, F, S> extends Selector0<S> - added:
class Selector<A, S> extends Selector0<S> - added:
class SingleValueDelegate<T> extends ValueStateDelegate<T> - added:
class StateDelegate: abstract - added:
class ValueDelegateWidget<T>: abstract extends DelegateWidget - added:
class ValueStateDelegate<T>: abstract extends StateDelegate - added:
ctor BuilderStateDelegate(this._builder, {Disposer<T> dispose}) - added:
ctor ChangeNotifierProxyProvider({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder<T, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder<T, R> builder, Widget child, }) - added:
ctor ChangeNotifierProxyProvider2({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder2<T, T2, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder2<T, T2, R> builder, Widget child, }) - added:
ctor ChangeNotifierProxyProvider3({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder3<T, T2, T3, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder3<T, T2, T3, R> builder, Widget child, }) - added:
ctor ChangeNotifierProxyProvider4({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder4<T, T2, T3, T4, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder4<T, T2, T3, T4, R> builder, Widget child, }) - added:
ctor ChangeNotifierProxyProvider5({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder5<T, T2, T3, T4, T5, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder5<T, T2, T3, T4, T5, R> builder, Widget child, }) - added:
ctor ChangeNotifierProxyProvider6({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> builder, Widget child, }) - added:
ctor DelegateWidget({ Key key, this.delegate, }) - added:
ctor FutureProvider({ Key key, @required ValueBuilder<Future<T>> create, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<Future<T>> builder, T initialData, ErrorBuilder<T> catchError, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - added:
ctor FutureProvider.value({ Key key, @required Future<T> value, T initialData, ErrorBuilder<T> catchError, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - added:
ctor InheritedProvider({ Key key, @required T value, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - added:
ctor ListenableProxyProvider({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder<T, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder<T, R> builder, Disposer<R> dispose, Widget child, }) - added:
ctor ListenableProxyProvider2({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder2<T, T2, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder2<T, T2, R> builder, Disposer<R> dispose, Widget child, }) - added:
ctor ListenableProxyProvider3({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder3<T, T2, T3, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder3<T, T2, T3, R> builder, Disposer<R> dispose, Widget child, }) - added:
ctor ListenableProxyProvider4({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder4<T, T2, T3, T4, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder4<T, T2, T3, T4, R> builder, Disposer<R> dispose, Widget child, }) - added:
ctor ListenableProxyProvider5({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder5<T, T2, T3, T4, T5, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder5<T, T2, T3, T4, T5, R> builder, Disposer<R> dispose, Widget child, }) - added:
ctor ListenableProxyProvider6({ Key key, @required ValueBuilder<R> create, @required ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> update, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<R> initialBuilder, @Deprecated('will be removed in 4.0.0, use update instead') ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> builder, Disposer<R> dispose, Widget child, }) - added:
ctor ProxyProvider({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<R> initialBuilder, ValueBuilder<R> create, @Deprecated('Will be removed as part of 4.0.0, use update instead') ProxyProviderBuilder<T, R> builder, @required ProxyProviderBuilder<T, R> update, UpdateShouldNotify<R> updateShouldNotify, Disposer<R> dispose, Widget child, }) - added:
ctor ProxyProvider2({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<R> initialBuilder, ValueBuilder<R> create, @Deprecated('Will be removed as part of 4.0.0, use update instead') ProxyProviderBuilder2<T, T2, R> builder, @required ProxyProviderBuilder2<T, T2, R> update, UpdateShouldNotify<R> updateShouldNotify, Disposer<R> dispose, Widget child, }) - added:
ctor ProxyProvider3({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<R> initialBuilder, ValueBuilder<R> create, @Deprecated('Will be removed as part of 4.0.0, use update instead') ProxyProviderBuilder3<T, T2, T3, R> builder, @required ProxyProviderBuilder3<T, T2, T3, R> update, UpdateShouldNotify<R> updateShouldNotify, Disposer<R> dispose, Widget child,… - added:
ctor ProxyProvider4({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<R> initialBuilder, ValueBuilder<R> create, @Deprecated('Will be removed as part of 4.0.0, use update instead') ProxyProviderBuilder4<T, T2, T3, T4, R> builder, @required ProxyProviderBuilder4<T, T2, T3, T4, R> update, UpdateShouldNotify<R> updateShouldNotify, Disposer<R> dispose, Widget… - added:
ctor ProxyProvider5({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<R> initialBuilder, ValueBuilder<R> create, @Deprecated('Will be removed as part of 4.0.0, use update instead') ProxyProviderBuilder5<T, T2, T3, T4, T5, R> builder, @required ProxyProviderBuilder5<T, T2, T3, T4, T5, R> update, UpdateShouldNotify<R> updateShouldNotify, Disposer<R> dispose… - added:
ctor ProxyProvider6({ Key key, @Deprecated('Will be removed as part of 4.0.0, use create instead') ValueBuilder<R> initialBuilder, ValueBuilder<R> create, @Deprecated('Will be removed as part of 4.0.0, use update instead') ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> builder, @required ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> update, UpdateShouldNotify<R> updateShouldNotify, Disposer<R>… - added:
ctor ProxyProviderElement(ProxyProviderWidget widget) - added:
ctor ProxyProviderWidget({Key key}) - added:
ctor Selector({ Key key, @required ValueWidgetBuilder<S> builder, @required S Function(BuildContext, A) selector, Widget child, }) - added:
ctor Selector0({ Key key, @required this.builder, @required this.selector, this.child, }) - added:
ctor Selector2({ Key key, @required ValueWidgetBuilder<S> builder, @required S Function(BuildContext, A, B) selector, Widget child, }) - added:
ctor Selector3({ Key key, @required ValueWidgetBuilder<S> builder, @required S Function(BuildContext, A, B, C) selector, Widget child, }) - added:
ctor Selector4({ Key key, @required ValueWidgetBuilder<S> builder, @required S Function(BuildContext, A, B, C, D) selector, Widget child, }) - added:
ctor Selector5({ Key key, @required ValueWidgetBuilder<S> builder, @required S Function(BuildContext, A, B, C, D, E) selector, Widget child, }) - added:
ctor Selector6({ Key key, @required ValueWidgetBuilder<S> builder, @required S Function(BuildContext, A, B, C, D, E, F) selector, Widget child, }) - added:
ctor SingleValueDelegate(this.value) - added:
ctor StreamProvider.controller({ Key key, @required ValueBuilder<StreamController<T>> create, @Deprecated('will be removed in 4.0.0, use create instead') ValueBuilder<StreamController<T>> builder, T initialData, ErrorBuilder<T> catchError, UpdateShouldNotify<T> updateShouldNotify, Widget child, }) - added:
ctor ValueDelegateWidget({ Key key, @required ValueStateDelegate<T> delegate, }) - added:
field DelegateWidget.delegate: final StateDelegate - added:
field FutureProvider.catchError: final ErrorBuilder<T> - added:
field FutureProvider.child: final Widget - added:
field FutureProvider.initialData: final T - added:
field FutureProvider.updateShouldNotify: final UpdateShouldNotify<T> - added:
field Selector0.builder: final ValueWidgetBuilder<T> - added:
field Selector0.child: final Widget - added:
field Selector0.selector: final ValueBuilder<T> - added:
field SingleValueDelegate.value: final T - added:
get BuilderStateDelegate.value: T - added:
get ListenableProxyProvider.builder: ProxyProviderBuilder<T, R> - added:
get ListenableProxyProvider2.builder: ProxyProviderBuilder2<T, T2, R> - added:
get ListenableProxyProvider3.builder: ProxyProviderBuilder3<T, T2, T3, R> - added:
get ListenableProxyProvider4.builder: ProxyProviderBuilder4<T, T2, T3, T4, R> - added:
get ListenableProxyProvider5.builder: ProxyProviderBuilder5<T, T2, T3, T4, T5, R> - added:
get ListenableProxyProvider6.builder: ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> - added:
get ProxyProvider.builder: ProxyProviderBuilder<T, R> - added:
get ProxyProvider2.builder: ProxyProviderBuilder2<T, T2, R> - added:
get ProxyProvider3.builder: ProxyProviderBuilder3<T, T2, T3, R> - added:
get ProxyProvider4.builder: ProxyProviderBuilder4<T, T2, T3, T4, R> - added:
get ProxyProvider5.builder: ProxyProviderBuilder5<T, T2, T3, T4, T5, R> - added:
get ProxyProvider6.builder: ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> - added:
get ProxyProviderElement.state: ProxyProviderState<ProxyProviderWidget> - added:
get ProxyProviderElement.widget: ProxyProviderWidget - added:
get StateDelegate.context: BuildContext - added:
get StateDelegate.setState: StateSetter - added:
get ValueDelegateWidget.delegate: ValueStateDelegate<T> - added:
get ValueStateDelegate.value: T - added:
method BuilderStateDelegate.didUpdateDelegate(BuilderStateDelegate<T> old): void - added:
method BuilderStateDelegate.dispose(): void - added:
method BuilderStateDelegate.initDelegate(): void - added:
method Consumer.cloneWithChild(Widget child): Consumer<T> - added:
method Consumer2.cloneWithChild(Widget child): Consumer2<A, B> - added:
method Consumer3.cloneWithChild(Widget child): Consumer3<A, B, C> - added:
method Consumer4.cloneWithChild(Widget child): Consumer4<A, B, C, D> - added:
method Consumer5.cloneWithChild(Widget child): Consumer5<A, B, C, D, E> - added:
method Consumer6.cloneWithChild(Widget child): Consumer6<A, B, C, D, E, F> - added:
method DelegateWidget.build(BuildContext context): Widget - added:
method DelegateWidget.createElement(): StatefulElement - added:
method DelegateWidget.createState(): _DelegateWidgetState - added:
method FutureProvider.build(BuildContext context): Widget - added:
method FutureProvider.cloneWithChild(Widget child): FutureProvider<T> - added:
method InheritedProvider.updateShouldNotify(InheritedProvider<T> oldWidget): bool - added:
method ListenableProvider.build(BuildContext context): Widget - added:
method Provider.build(BuildContext context): Widget - added:
method ProxyProviderElement.build(): Widget - added:
method ProxyProviderElement.didChangeDependencies(): void - added:
method ProxyProviderState.didUpdateDependencies(): void - added:
method ProxyProviderWidget.createElement(): ProxyProviderElement - added:
method ProxyProviderWidget.createState(): ProxyProviderState<ProxyProviderWidget> - added:
method Selector0.cloneWithChild(Widget child): Selector0<T> - added:
method Selector0.createState(): _Selector0State<T> - added:
method StateDelegate.didUpdateDelegate(covariant StateDelegate old): void - added:
method StateDelegate.dispose(): void - added:
method StateDelegate.initDelegate(): void - added:
method StreamProvider.build(BuildContext context): Widget - added:
method ValueListenableProvider.build(BuildContext context): Widget - added:
static method Provider.Function<T>(T value): void - added:
typedef ProviderBuilder<R> = Widget Function( BuildContext context, R value, Widget child) - added:
typedef ProxyProviderBuilder2<T, T2, R> = R Function( BuildContext context, T value, T2 value2, R previous) - added:
typedef ProxyProviderBuilder3<T, T2, T3, R> = R Function( BuildContext context, T value, T2 value2, T3 value3, R previous) - added:
typedef ProxyProviderBuilder4<T, T2, T3, T4, R> = R Function( BuildContext context, T value, T2 value2, T3 value3, T4 value4, R previous) - added:
typedef ProxyProviderBuilder5<T, T2, T3, T4, T5, R> = R Function( BuildContext context, T value, T2 value2, T3 value3, T4 value4, T5 value5, R previous, ) - added:
typedef ProxyProviderBuilder6<T, T2, T3, T4, T5, T6, R> = R Function( BuildContext context, T value, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, R previous, ) - added:
typedef ProxyProviderBuilder<T, R> = R Function( BuildContext context, T value, R previous)