@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
JavaScript
;
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