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.49 kB
'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