iteratorLatestValueProvider<T> function
OffsetIteratorValue<Option<T> > Function(OffsetIterator<T> iterator)
iteratorLatestValueProvider<T>(
- ProviderRef<
OffsetIteratorValue< refOption< >T> >
Listens to an OffsetIterator, and updates the exposed OffsetIteratorValue whenever it changes.
Implementation
OffsetIteratorValue<Option<T>> Function(
OffsetIterator<T> iterator,
) iteratorLatestValueProvider<T>(
ProviderRef<OffsetIteratorValue<Option<T>>> ref,
) =>
(iterator) {
final cancel = iterator.listen((item) {
ref.state =
OffsetIteratorValue(O.Some(item), iterator.hasMore(), false);
}, onDone: () {
ref.state = OffsetIteratorValue(ref.state.value, false, false);
});
ref.onDispose(cancel);
return OffsetIteratorValue(iterator.value, iterator.hasMore(), true);
};