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.

39 lines (35 loc) 1.48 kB
'use strict'; var composeBaseQueryKey = require('./composeBaseQueryKey.cjs'); var composeInfiniteQueryKey = require('./composeInfiniteQueryKey.cjs'); var composeQueryKey = require('./composeQueryKey.cjs'); /** * Replaces the `parameters` field in the filters with a `queryKey` field based on the schema. * If no filters are provided, a `queryKey` will be composed schema's base query key. * @param schema * @param filters */ function composeQueryFilters(schema, filters) { if (!filters) { return { queryKey: composeBaseQueryKey.composeBaseQueryKey(schema, undefined, undefined) }; } if ('queryKey' in filters && 'parameters' in filters) { throw new Error(`'composeQueryFilters': 'queryKey' and 'parameters' cannot be used together`); } const { infinite, parameters, ...filtersRest } = filters; if ('queryKey' in filtersRest) { return filtersRest; } if (parameters) { Object.assign(filtersRest, { queryKey: infinite ? composeInfiniteQueryKey.composeInfiniteQueryKey(schema, parameters) : composeQueryKey.composeQueryKey(schema, parameters) }); return filtersRest; } return { ...filtersRest, queryKey: infinite ? composeInfiniteQueryKey.composeInfiniteQueryKey(schema, undefined) : composeQueryKey.composeQueryKey(schema, undefined) }; } exports.composeQueryFilters = composeQueryFilters; //# sourceMappingURL=composeQueryFilters.cjs.map