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.

45 lines (42 loc) 1.57 kB
import { shelfMerge } from './shelfMerge.js'; /** * Prepares parameters and body for requestFn calls, handling infinite query logic * @param queryParams - The query parameters that may contain body * @param pageParam - The page parameter for infinite queries * @param infinite - Whether this is for an infinite query * @returns Object with prepared parameters and body */ function prepareRequestFnParameters(queryParams, pageParam, infinite) { const { body, ...parameters } = queryParams; if (!infinite) { return { parameters: parameters, body: body }; } // Handle infinite query parameters const processedParameters = shelfMerge(2, parameters, omitBodyFromPageParam(pageParam)); const processedBody = mergeBodyWithPageParam(body, pageParam); return { parameters: processedParameters, body: processedBody }; } /** * Remove body from pageParam if it exists */ function omitBodyFromPageParam(pageParam) { if (pageParam && typeof pageParam === 'object' && 'body' in pageParam) { const { body: _body, ...pageParameters } = pageParam; return pageParameters; } return pageParam; } /** * Merge body with pageParam.body if pageParam contains body */ function mergeBodyWithPageParam(body, pageParam) { if (pageParam && typeof pageParam === 'object' && 'body' in pageParam) { return shelfMerge(1, body, pageParam.body); } return body; } export { prepareRequestFnParameters }; //# sourceMappingURL=prepareRequestFnParameters.js.map