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.

38 lines (34 loc) 1.57 kB
'use client'; 'use strict'; 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