@openapi-qraft/react
Version:
OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.
29 lines (26 loc) • 938 B
text/typescript
'use client';
import type {
OperationSchema,
ServiceOperationUseQuery,
} from '@openapi-qraft/tanstack-query-react-types';
import type { DefaultError, UseQueryResult } from '@tanstack/react-query';
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
import { useQuery as useQueryTanstack } from '@tanstack/react-query';
import { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';
export const useQuery: <TData = unknown, TError = DefaultError>(
qraftOptions: CreateAPIQueryClientOptions,
schema: OperationSchema,
args: Parameters<
ServiceOperationUseQuery<
OperationSchema,
unknown,
unknown,
DefaultError
>['useQuery']
>
) => UseQueryResult<TData, TError> = (qraftOptions, schema, args) => {
return useQueryTanstack(
// @ts-expect-error - Too complex to type
...useComposeUseQueryOptions(qraftOptions, schema, args, false)
) as never;
};