@kappys/react-query-suspense
Version:
Library to avoid render complex items when the state or data is not ready yet.
12 lines (9 loc) • 836 B
JavaScript
var reactQuery = require('@tanstack/react-query');
var a = require('react');
var u=({queryKeys:o,context:s=void 0})=>{let t=reactQuery.useQueryClient();return new reactQuery.QueriesObserver(s!==void 0?s:t,o.map(e=>({queryKey:e}))).getCurrentResult().map(e=>e.fetchStatus==="fetching"&&e.status==="loading"||e.isError).some(e=>e)};var n=({context:o,queryKeys:s,deferredFetch:t=!1})=>{let r=u({queryKeys:s,context:o}),m=a.useRef(r);return r&&(m.current=!0),t?!(!r&&m.current):r};var b=({queryKeys:o,Fallback:s,deferredFetch:t,children:r,context:m})=>{let e=n({queryKeys:o,context:m,deferredFetch:t});return a.createElement(a.Fragment,null,e?s:r)};
exports.ReactQuerySuspense = b;
exports.useReactQueryPromiseTracker = u;
exports.useReactQuerySuspense = n;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.js.map
;