UNPKG

@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
'use strict'; 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