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.

37 lines (34 loc) 1.58 kB
'use client'; import { useSuspenseQueries as useSuspenseQueries$1 } from '@tanstack/react-query'; import { composeQueryKey } from '../lib/composeQueryKey.js'; import { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js'; import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js'; const useSuspenseQueries = (qraftOptions, schema, args)=>{ const [options] = args; return useSuspenseQueries$1({ ...options, // @ts-expect-error - Too complex to type 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 { useSuspenseQueries }; //# sourceMappingURL=useSuspenseQueries.js.map