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.

38 lines (34 loc) 1.62 kB
'use client'; 'use strict'; var composeInfiniteQueryKey = require('./composeInfiniteQueryKey.cjs'); var composeQueryKey = require('./composeQueryKey.cjs'); var prepareRequestFnParameters = require('./prepareRequestFnParameters.cjs'); var requestFnResponseRejecter = require('./requestFnResponseRejecter.cjs'); var requestFnResponseResolver = require('./requestFnResponseResolver.cjs'); /** * 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.prepareRequestFnParameters(queryParams, pageParam, infinite); return qraftOptions.requestFn(schema, { parameters: parameters, baseUrl: qraftOptions.baseUrl, body, signal, meta }).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter); }; const queryKey = Array.isArray(parameters) ? parameters : infinite ? composeInfiniteQueryKey.composeInfiniteQueryKey(schema, parameters) : composeQueryKey.composeQueryKey(schema, parameters); return [ { ...options, queryFn, queryKey }, qraftOptions.queryClient ]; } exports.useComposeUseQueryOptions = useComposeUseQueryOptions; //# sourceMappingURL=useComposeUseQueryOptions.cjs.map