UNPKG

@openapi-qraft/react

Version:

OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.

36 lines (33 loc) 1.46 kB
'use client'; import { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js'; import { composeQueryKey } from './composeQueryKey.js'; import { prepareRequestFnParameters } from './prepareRequestFnParameters.js'; import { requestFnResponseRejecter } from './requestFnResponseRejecter.js'; import { requestFnResponseResolver } from './requestFnResponseResolver.js'; /** * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries. * @internal */ function useComposeUseQueryOptions(qraftOptions, schema, args, infinite) { const [parameters, options] = args; const queryFn = options?.queryFn ?? function({ queryKey: [, queryParams], signal, meta, pageParam }) { const { parameters, body } = prepareRequestFnParameters(queryParams, pageParam, infinite); return qraftOptions.requestFn(schema, { parameters: parameters, baseUrl: qraftOptions.baseUrl, body, signal, meta }).then(requestFnResponseResolver, requestFnResponseRejecter); }; const queryKey = Array.isArray(parameters) ? parameters : infinite ? composeInfiniteQueryKey(schema, parameters) : composeQueryKey(schema, parameters); return [ { ...options, queryFn, queryKey }, qraftOptions.queryClient ]; } export { useComposeUseQueryOptions }; //# sourceMappingURL=useComposeUseQueryOptions.js.map