createInfiniteQuery<DataType, ErrorType, PageType> method
InfiniteQuery<DataType, ErrorType, PageType>
createInfiniteQuery<DataType, ErrorType, PageType>(
- String key,
- InfiniteQueryFn<
DataType, PageType> queryFn, { - required InfiniteQueryNextPage<
DataType, PageType> nextPage, - required PageType initialPage,
- RetryConfig? retryConfig,
- RefreshConfig? refreshConfig,
- JsonConfig<
DataType> ? jsonConfig,
Creates + stores an InfiniteQuery
If InfinityQuery
already exists, it'll return the existing one
and update the configuration if changed
Implementation
InfiniteQuery<DataType, ErrorType, PageType>
createInfiniteQuery<DataType, ErrorType, PageType>(
String key,
InfiniteQueryFn<DataType, PageType> queryFn, {
required InfiniteQueryNextPage<DataType, PageType> nextPage,
required PageType initialPage,
RetryConfig? retryConfig,
RefreshConfig? refreshConfig,
JsonConfig<DataType>? jsonConfig,
}) {
final query = cache.infiniteQueries
.firstWhere(
(query) => query.key == key,
orElse: () => InfiniteQuery<DataType, ErrorType, PageType>(
key,
queryFn,
nextPage: nextPage,
initialPage: initialPage,
retryConfig: retryConfig ?? this.retryConfig,
refreshConfig: refreshConfig ?? this.refreshConfig,
jsonConfig: jsonConfig,
),
)
.cast<DataType, ErrorType, PageType>();
query.updateQueryFn(queryFn);
query.updateNextPageFn(nextPage);
cache.addInfiniteQuery(query);
return query;
}