- adding debounce as extenstion method on
Listenable
- Following the findings of #13 we no longer destroy the listener chain when the last listener is removed. Because this might change the behavior of your app this is seen as a breaking change and therefore the change to 4.0.0. Please observe if this leads to increasing memory usage
- added optional error handler for CustomValueNotifier in case one of the listeners throws an Exception
- added
listen() extension method for normal Listenable
- added
async()
extension method
/// ValueListenable are inherently synchronous. In most cases this is what you
/// want. But if for example your ValueListenable gets updated inside a build
/// method of a widget which would trigger a rebuild because your widgets is
/// listening to the ValueListenable you get an exception that you called setState
/// inside a build method.
/// By using [async] you push the update of the ValueListenable to the next
/// frame. This way you can update the ValueListenable inside a build method
/// without getting an exception.
ValueListenable<T> async();
CustomValueNotifier
got a new property asyncNotification
which if set to true postpones the notifications of listeners to the end of the frame which can be helpful if you run into Exceptions about 'calling setState inside a build function' e.g. if you monitor the CustomValueNotifier
with the get_it_mixin and you update it inside the build function. Default is false.
- added listenerCount to CustomValueNotfier
- merged several PRs with bugfixes
- adds the
select()
method see the readme
- adds more
combineLates()
variants up to 6 input Listenables
- Bugfix: If you resubscribed to one of the Listenables that are returned from the extension functions in this package and then resubscribed it did not rebuild the subcription to it's previous in chain.
- Added public
notifyListeners
to CustomValueNotfier
- Fixes in documentation and tests
- Added mergeWith() function
- Added package description
- Added Example and some bug fixes