react-query-factory
Version:
Create API client for your React app with just one line of code, using React Query!
3 lines (2 loc) • 820 B
JavaScript
import{useMutation as e,useQuery as n}from"@tanstack/react-query";function t(n){return function(t){return e(Object.assign({mutationFn:n},t))}}function r(e){const{queryKey:t,expectsParams:r,serviceFn:u}=e;return function(e,s){const c=(null==t?void 0:t(e))||(null==s?void 0:s.queryKey)||[];return n(Object.assign(Object.assign({queryFn:()=>u(e)},r?s:e),{queryKey:c}))}}function u(e,n){const u={};return Object.keys(e).forEach((s=>{const c=e[s];if("function"==typeof c){const e=c.length>0;u[s]=e?{useQuery:r({expectsParams:!0,serviceFn:c,queryKey:e=>[n,s,e]}),useMutation:t(c),queryKey:e=>[n,s,e]}:{useQuery:r({expectsParams:!1,serviceFn:c,queryKey:e=>[n,s,e]}),useMutation:t(c),queryKey:e=>[n,s,e]}}})),u}export{u as createQueriesFromService,t as createUseMutation,r as createUseQuery};
//# sourceMappingURL=bundle.js.map