@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
JavaScript
'use client';
;
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