collection_providers 0.2.1 copy "collection_providers: ^0.2.1" to clipboard
collection_providers: ^0.2.1 copied to clipboard

A group of pre-built providers the wrap the basic dart collections - list, set, map

Codemagic build status Pub Version

A wrapper around Provider to add common dart collection providers for quick and easy use.

The package includes wrappers for list, map, and set. It allows you to use the providers as if they were native dart collections, with all available interface methods.

Usage #

Exposing a value #

You can expose a value just like you normally would with Provider or, if you want type safety, you can use the CollectionProvider as a drop-in replacement to guarantee that the ChangeNotifier is for one of the Collection types in this library.

Reading a value #

Just like with Provider, the easiest way to read a value is by using the extension methods on BuildContext.

  •<T>(), which makes the widget listen to changes on T
  •<T>(), which returns T without listening to it
  •<T, R>(R cb(T value)), which allows a widget to listen to only a small part of T.

Or to use the static method Provider.of<T>(context), which will behave similarly to watch/read.

You can also use Provider's Consumer and Selector, or CollectionConsumer.

With typed collections, T must include the type of the collection as well.

For example, if your provider is created using CollectionProvider(create: (_) => ListChangeNotifier(['default', 'values'])) orCollectionProvider(create: (_) => ListChangeNotifier<String>()) then you will need to use<ListChangeNotifier<String>> as the proper template type to properly look up the provider.

If you do not specify a default collection, or a type, then it defaults to dynamic and you can leave ignore the type declaration on the ChangeNotifier.

Additional Reading #

To read more about using Providers, see its documentation here.

pub points



A group of pre-built providers the wrap the basic dart collections - list, set, map

Repository (GitHub)
View/report issues


API reference


BSD-3-Clause (LICENSE)


flutter, provider


Packages that depend on collection_providers