@openapi-qraft/react
Version:
OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.
41 lines (38 loc) • 1.15 kB
text/typescript
'use client';
import type {
OperationSchema,
ServiceOperationUseSuspenseInfiniteQuery,
} from '@openapi-qraft/tanstack-query-react-types';
import type {
DefaultError,
InfiniteData,
UseSuspenseInfiniteQueryResult,
} from '@tanstack/react-query';
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
import { useSuspenseInfiniteQuery as useSuspenseInfiniteQueryTanstack } from '@tanstack/react-query';
import { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';
export const useSuspenseInfiniteQuery: <
TQueryFnData,
TError = DefaultError,
TData = InfiniteData<TQueryFnData>,
>(
qraftOptions: CreateAPIQueryClientOptions,
schema: OperationSchema,
args: Parameters<
ServiceOperationUseSuspenseInfiniteQuery<
OperationSchema,
unknown,
unknown,
DefaultError
>['useSuspenseInfiniteQuery']
>
) => UseSuspenseInfiniteQueryResult<TData, TError> = (
qraftOptions,
schema,
args
) => {
return useSuspenseInfiniteQueryTanstack(
// @ts-expect-error - Too complex to type
...useComposeUseQueryOptions(qraftOptions, schema, args, true)
) as never;
};