import { InfiniteQueryPageParamsOptions } from './infiniteQueryBehavior' import { PrimitiveQuery, PrimitiveQueryOptions, primitiveQuery, } from './primitiveQuery' import { QueryFunction } from './typeUtils' import { InfiniteData } from './types' export interface QueryWithInfiniteOptions< TFetcherData = unknown, TVars = void, TError = Error > extends Omit< PrimitiveQueryOptions< TFetcherData, TVars, TError, InfiniteData >, '_default' >, InfiniteQueryPageParamsOptions { fetcher: QueryFunction } export interface InfiniteQuery< TFetcherData = unknown, TVars = void, TError = Error > extends PrimitiveQuery< TFetcherData, TVars, TError, InfiniteData > { $inf$: true } export const queryWithInfinite = < TFetcherData = unknown, TVars = void, TError = Error >( options: QueryWithInfiniteOptions ): InfiniteQuery => { return primitiveQuery({ ...options, $inf$: true, }) as InfiniteQuery }