UNPKG

react-query-kit

Version:

🕊️ A toolkit for ReactQuery that make ReactQuery hooks more reusable and typesafe

29 lines (26 loc) • 1.04 kB
import * as TanstackReactQuery from '@tanstack/react-query'; const ReactQuery = TanstackReactQuery; const isV5 = !!ReactQuery.useSuspenseQuery; const suspenseOptions = { enabled: true, suspense: true, keepPreviousData: undefined, useErrorBoundary: (_error, query) => query.state.data === undefined }; const withMiddleware = (hook, defaultOptions, type) => { return function useMiddleware(options, queryClient) { const [uses, opts] = [ReactQuery.useQueryClient( // @ts-ignore Compatible with ReactQuery v4 isV5 ? queryClient : options).getDefaultOptions()[type], defaultOptions, options].reduce(([u1, o1], { use: u2 = [], ...o2 } = {}) => [[...u1, ...u2], { ...o1, ...o2 }], [[]]); return uses.reduceRight((next, use) => use(next), hook)(opts, queryClient); }; }; const getKey = (queryKey, variables) => { return variables === undefined ? queryKey : [...queryKey, variables]; }; export { ReactQuery, getKey, isV5, suspenseOptions, withMiddleware }; //# sourceMappingURL=utils.esm.js.map