import{_ as e,f as t,h as n,u as r}from"./axios-GfLWCH1-.js";import{x as i}from"./notification-DWCxP4WF.js";import{p as a}from"./slicedToArray-YLaz90ka.js";var o=`tanstack-query`;function s({storage:i,buster:a=``,maxAge:s=1e3*60*60*24,serialize:c=JSON.stringify,deserialize:l=JSON.parse,prefix:u=o,refetchOnRestore:d=!0,filters:f}){function p(e){if(e.state.dataUpdatedAt){let t=Date.now()-e.state.dataUpdatedAt>s,n=e.buster!==a;return!!(t||n)}return!0}async function m(e,t){if(i!=null){let n=`${u}-${e}`;try{let e=await i.getItem(n);if(e){let a;try{a=await l(e)}catch{await i.removeItem(n);return}if(p(a))await i.removeItem(n);else return t&&r.schedule(()=>t(a)),a.state.data}}catch{await i.removeItem(n)}}}async function h(e,t){if(i!=null){let n=t.getQueryCache().find({queryKey:e});n&&await g(n)}}async function g(e){if(i!=null){let t=`${u}-${e.queryHash}`;i.setItem(t,await c({state:e.state,queryKey:e.queryKey,queryHash:e.queryHash,buster:a}))}}async function _(e,t,a){let o=f?n(f,a):!0;if(o&&a.state.data===void 0&&i!=null){let e=await m(a.queryHash,e=>{a.setState({dataUpdatedAt:e.state.dataUpdatedAt,errorUpdatedAt:e.state.errorUpdatedAt}),(d===`always`||d===!0&&a.isStale())&&a.fetch()});if(e!==void 0)return Promise.resolve(e)}let s=await e(t);return o&&i!=null&&r.schedule(()=>{g(a)}),Promise.resolve(s)}async function v(){if(i?.entries){let e=`${u}-`,t=await i.entries();for(let[n,r]of t)if(n.startsWith(e)){let e;try{e=await l(r)}catch{await i.removeItem(n);continue}p(e)&&await i.removeItem(n)}}}async function y(n,r={}){let{exact:a,queryKey:o}=r;if(i?.entries){let r=`${u}-`,s=await i.entries();for(let[c,u]of s)if(c.startsWith(r)){let r;try{r=await l(u)}catch{await i.removeItem(c);continue}if(p(r)){await i.removeItem(c);continue}if(o){if(a){if(r.queryHash!==t(o))continue}else if(!e(r.queryKey,o))continue}n.setQueryData(r.queryKey,r.state.data,{updatedAt:r.state.dataUpdatedAt})}}}async function b(n={}){let{exact:r,queryKey:a}=n;if(i?.entries){let n=await i.entries(),o=`${u}-`;for(let[s,c]of n)if(s.startsWith(o)){if(!a){await i.removeItem(s);continue}let n;try{n=await l(c)}catch{await i.removeItem(s);continue}if(r){if(n.queryHash!==t(a))continue}else if(!e(n.queryKey,a))continue;await i.removeItem(s)}}}return{persisterFn:_,persistQuery:g,persistQueryByKey:h,retrieveQuery:m,persisterGc:v,restoreQueries:y,removeQueries:b}}var c=6,l=e=>{let t=new Date(e);t.getHours(){let t=new Date(e);return t.setHours(c,0,0,0),t<=e&&t.setDate(t.getDate()+1),t.getTime()-e.getTime()},f=(e,t)=>{if(!t.startsWith(`${e}-`))return null;try{return JSON.parse(t.slice(e.length+1))}catch{return null}},p={perQuery:{persistCount:0,restoreCount:0,persistMsTotal:0,writeErrorCount:0,lastWriteError:null,lastOpsByHash:new Map}},m=(e,t)=>{let n=p.perQuery.lastOpsByHash.get(e)??{};p.perQuery.lastOpsByHash.set(e,{...n,...t})},h=`ctiQuery`,g=1e3*60*60*12,_=`v1-${u}`,v=e=>JSON.parse(a.inflate(e,{to:`string`})),y=e=>{let t=performance.now(),n=a.inflate(e,{to:`string`}),r=performance.now(),i=JSON.parse(n),o=performance.now();return p.perQuery.restoreCount+=1,m(i.queryHash,{restoredAt:Date.now(),restoreMs:o-t,inflateMs:r-t,parseMs:o-r}),i},b=e=>s({storage:{getItem:e=>i.getItem(e),setItem:async(e,t)=>{try{await i.setItem(e,t)}catch(t){p.perQuery.writeErrorCount+=1,p.perQuery.lastWriteError={at:Date.now(),storageKey:e,message:t instanceof Error?`${t.name}: ${t.message}`:String(t)}}},removeItem:e=>i.removeItem(e),entries:async()=>{let e=(await i.keys()).filter(e=>e.startsWith(`${h}-`));return(await Promise.all(e.map(async e=>[e,await i.getItem(e)]))).filter(e=>e[1]!=null)}},prefix:h,maxAge:g,buster:_,serialize:e=>{let t=performance.now(),n=JSON.stringify(e),r=performance.now(),i=a.deflate(n),o=performance.now();return p.perQuery.persistCount+=1,p.perQuery.persistMsTotal+=o-t,m(e.queryHash,{persistedAt:Date.now(),persistMs:o-t,stringifyMs:r-t,deflateMs:o-r}),i},deserialize:e}),x=b(y),S=b(v),C=()=>S.persisterGc(),w=e=>f(h,e),T=async({queryKey:t})=>{let n=(await i.keys()).filter(n=>{let r=w(n);return r!==null&&e(r,t)});await Promise.all(n.map(e=>i.removeItem(e)))};export{w as a,T as c,u as d,l as f,v as i,p as l,g as n,C as o,d as p,h as r,x as s,_ as t,f as u};