import{C as e,T as t,g as n,n as r,w as i}from"./useQuery-CQCUTxAw.js";function a(n){return{onFetch:(r,a)=>{let c=r.options,l=r.fetchOptions?.meta?.fetchMore?.direction,u=r.state.data?.pages||[],d=r.state.data?.pageParams||[],f={pages:[],pageParams:[]},p=0,m=async()=>{let a=!1,m=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(r.signal.aborted?a=!0:r.signal.addEventListener(`abort`,()=>{a=!0}),r.signal)})},h=t(r.options,r.fetchOptions),g=async(t,n,o)=>{if(a)return Promise.reject();if(n==null&&t.pages.length)return Promise.resolve(t);let s={client:r.client,queryKey:r.queryKey,pageParam:n,direction:o?`backward`:`forward`,meta:r.options.meta};m(s);let c=await h(s),{maxPages:l}=r.options,u=o?i:e;return{pages:u(t.pages,c,l),pageParams:u(t.pageParams,n,l)}};if(l&&u.length){let e=l===`backward`,t=e?s:o,n={pages:u,pageParams:d};f=await g(n,t(c,n),e)}else{let e=n??u.length;do{let e=p===0?d[0]??c.initialPageParam:o(c,f);if(p>0&&e==null)break;f=await g(f,e),p++}while(pr.options.persister?.(m,{client:r.client,queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},a):r.fetchFn=m}}}function o(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function s(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function c(e,t){return t?o(e,t)!=null:!1}function l(e,t){return!t||!e.getPreviousPageParam?!1:s(e,t)!=null}var u=class extends n{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:a()})}getOptimisticResult(e){return e.behavior=a(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,u=n.fetchMeta?.fetchMore?.direction,d=o&&u===`forward`,f=i&&u===`forward`,p=o&&u===`backward`,m=i&&u===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:c(t,n.data),hasPreviousPage:l(t,n.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:s&&!d&&!p,isRefetching:a&&!f&&!m}}};function d(e,t){return r(e,u,t)}export{a as n,d as t};