@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.57 kB
JavaScript
'use client';
;
var reactQuery = require('@tanstack/react-query');
var composeQueryKey = require('../lib/composeQueryKey.cjs');
var requestFnResponseRejecter = require('../lib/requestFnResponseRejecter.cjs');
var requestFnResponseResolver = require('../lib/requestFnResponseResolver.cjs');
const useQueries = (qraftOptions, schema, args)=>{
const [options] = args;
return reactQuery.useQueries({
...options,
queries: options.queries.map((queryOptions)=>{
const optionsWithQueryKey = 'parameters' in queryOptions ? (()=>{
const queryOptionsCopy = Object.assign({
queryKey: composeQueryKey.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.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
}
};
})
}, qraftOptions.queryClient);
};
exports.useQueries = useQueries;
//# sourceMappingURL=useQueries.cjs.map