@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.49 kB
JavaScript
'use client';
import { useQueries as useQueries$1 } from '@tanstack/react-query';
import { composeQueryKey } from '../lib/composeQueryKey.js';
import { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';
import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';
const useQueries = (qraftOptions, schema, args)=>{
const [options] = args;
return useQueries$1({
...options,
queries: options.queries.map((queryOptions)=>{
const optionsWithQueryKey = 'parameters' in queryOptions ? (()=>{
const queryOptionsCopy = Object.assign({
queryKey: composeQueryKey(schema, queryOptions.parameters)
}, queryOptions);
delete queryOptionsCopy.parameters;
return queryOptionsCopy;
})() : queryOptions;
return {
...optionsWithQueryKey,
queryFn: optionsWithQueryKey.queryFn ?? function({ queryKey: [, queryParams], signal, meta }) {
return qraftOptions.requestFn(schema, {
parameters: queryParams,
baseUrl: qraftOptions.baseUrl,
signal,
meta
}).then(requestFnResponseResolver, requestFnResponseRejecter);
}
};
})
}, qraftOptions.queryClient);
};
export { useQueries };
//# sourceMappingURL=useQueries.js.map