UNPKG

@preact-signals/query

Version:

A reactive utility for React/Preact that simplifies the handling of data fetching and state management. Powered by Preact Signals, it provides hooks and functions to create reactive resources and manage their state seamlessly.

102 lines (99 loc) 2.23 kB
'use client' import type { QueryFunction, QueryKey, QueryObserver, } from '@tanstack/query-core' import { InfiniteQueryObserver, parseQueryArgs } from '@tanstack/query-core' import type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types' import { useBaseQuery } from './useBaseQuery' // HOOK export function useInfiniteQuery< TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, >( options: UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryFnData, TQueryKey >, ): UseInfiniteQueryResult<TData, TError> export function useInfiniteQuery< TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, >( queryKey: TQueryKey, options?: Omit< UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryFnData, TQueryKey >, 'queryKey' >, ): UseInfiniteQueryResult<TData, TError> export function useInfiniteQuery< TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, >( queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: Omit< UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryFnData, TQueryKey >, 'queryKey' | 'queryFn' >, ): UseInfiniteQueryResult<TData, TError> export function useInfiniteQuery< TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, >( arg1: | TQueryKey | UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryFnData, TQueryKey >, arg2?: | QueryFunction<TQueryFnData, TQueryKey> | UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryFnData, TQueryKey >, arg3?: UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryFnData, TQueryKey >, ): UseInfiniteQueryResult<TData, TError> { const options = parseQueryArgs(arg1, arg2, arg3) return useBaseQuery( options, InfiniteQueryObserver as typeof QueryObserver, ) as UseInfiniteQueryResult<TData, TError> }