infiniteQuery<TPage, TParam> function
BloomInfiniteQuery<TPage, TParam>
infiniteQuery<TPage, TParam>({
- required List key,
- required Future<
TPage> fetch(- TParam pageParam
- required TParam initialPageParam,
- required TParam? getNextPageParam(
- TPage lastPage,
- List<
TPage> allPages
- Duration staleTime = const Duration(minutes: 5),
- Duration cacheTime = const Duration(minutes: 30),
- bool enabled = true,
- List getItems(
- TPage page
- List<
TPage> ? initialData,
Creates a reactive BloomInfiniteQuery configured with pagination parameters.
Convenience factory function for BloomInfiniteQuery.
final feed = infiniteQuery<List<Post>, int>(
key: ['posts'],
initialPageParam: 1,
fetch: (page) => api.fetchPosts(page: page),
getNextPageParam: (lastPage, allPages) =>
lastPage.isNotEmpty ? allPages.length + 1 : null,
);
Implementation
BloomInfiniteQuery<TPage, TParam> infiniteQuery<TPage, TParam>({
required List<dynamic> key,
required Future<TPage> Function(TParam pageParam) fetch,
required TParam initialPageParam,
required TParam? Function(TPage lastPage, List<TPage> allPages) getNextPageParam,
Duration staleTime = const Duration(minutes: 5),
Duration cacheTime = const Duration(minutes: 30),
bool enabled = true,
List<dynamic> Function(TPage page)? getItems,
List<TPage>? initialData,
}) {
return BloomInfiniteQuery<TPage, TParam>(
key: key,
fetch: fetch,
initialPageParam: initialPageParam,
getNextPageParam: getNextPageParam,
staleTime: staleTime,
cacheTime: cacheTime,
enabled: enabled,
getItems: getItems,
initialData: initialData,
);
}