var We=Object.defineProperty,De=Object.defineProperties;var Ke=Object.getOwnPropertyDescriptors;var ie=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,Re=Object.prototype.propertyIsEnumerable;var Oe=(e,n,t)=>n in e?We(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,A=(e,n)=>{for(var t in n||(n={}))be.call(n,t)&&Oe(e,t,n[t]);if(ie)for(var t of ie(n))Re.call(n,t)&&Oe(e,t,n[t]);return e},Ie=(e,n)=>De(e,Ke(n));var ae=(e,n)=>{var t={};for(var r in e)be.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&ie)for(var r of ie(e))n.indexOf(r)<0&&Re.call(e,r)&&(t[r]=e[r]);return t};import{d as qe,J as xe,r as s,K as Ue,b as Z,c as Ce,l as fe,L as Be,g as Me}from"./index.9ed4dad3.js";const Ve={},Se=Symbol("GLOBAL_OPTIONS_PROVIDE_KEY"),He=()=>Ve;qe({name:"RequestConfig",props:{config:{type:Object,required:!0}},setup(e,{slots:n}){const{config:t}=e;return xe(Se,t),()=>{var r;return(r=n.default)===null||r===void 0?void 0:r.call(n)}}});const Ye=Object.prototype.toString,je=e=>Ye.call(e),Ge=e=>je(e)==="[object String]",$e=e=>je(e)==="[object Object]",Ee=e=>e!==null&&typeof e=="object",Je=e=>Ee(e)&&de(e.then)&&de(e.catch),de=e=>e instanceof Function,se=e=>e==null,Te=typeof window=="undefined",he=()=>{var e,n;return!Te&&((e=window)===null||e===void 0||(n=e.document)===null||n===void 0?void 0:n.visibilityState)==="visible"},_e=()=>{var e,n,t;return(e=!Te&&((n=window)===null||n===void 0||(t=n.navigator)===null||t===void 0?void 0:t.onLine))!==null&&e!==void 0?e:!0},ze=e=>{const n={};return Object.keys(e).forEach(t=>{n[t]=Me(e[t])}),n},ee=Promise.resolve(null),Le=async(...e)=>{const n=await fetch(...e);if(n.ok)return n.json();throw new Error(n.statusText)};function Xe(e,n){const t=Object.assign({},e);for(const r of n)delete t[r];return t}const Ze=(e,n=!1)=>{const t=`Warning: [vue-request] ${e}`;if(n)return new Error(t);console.error(t)},en=(e,n)=>{let t=!1;return(...r)=>{t||(t=!0,e(...r),setTimeout(()=>{t=!1},n))}};var ve;const Ne=new Set,Ae=new Set,Fe=new Set,ue=(e,n)=>{let t;switch(e){case"FOCUS_LISTENER":t=Ne;break;case"RECONNECT_LISTENER":t=Fe;break;case"VISIBLE_LISTENER":t=Ae;break}if(!t.has(n))return t.add(n),()=>{t.delete(n)}},me=e=>{e.forEach(n=>{n()})};!Te&&(ve=window)!==null&&ve!==void 0&&ve.addEventListener&&(window.addEventListener("visibilitychange",()=>{he()&&me(Ae)},!1),window.addEventListener("focus",()=>me(Ne),!1),window.addEventListener("online",()=>me(Fe),!1));function Pe(e,n,t){let r,l,E,m,c,v,T=0,L=!1,C=!1,F=!0;const M=!n&&n!==0&&typeof window.requestAnimationFrame=="function";if(typeof e!="function")throw new TypeError("Expected a function");n=+n||0,Ee(t)&&(L=!!t.leading,C="maxWait"in t,E=C?Math.max(+t.maxWait||0,n):E,F="trailing"in t?!!t.trailing:F);function b(a){const u=r,g=l;return r=l=void 0,T=a,m=e.apply(g,u),m}function R(a,u){return M?(window.cancelAnimationFrame(c),window.requestAnimationFrame(a)):setTimeout(a,u)}function k(a){if(M)return window.cancelAnimationFrame(a);clearTimeout(a)}function p(a){return T=a,c=R(I,n),L?b(a):m}function W(a){const u=a-v,g=a-T,y=n-u;return C?Math.min(y,E-g):y}function V(a){const u=a-v,g=a-T;return v===void 0||u>=n||u<0||C&&g>=E}function I(){const a=Date.now();if(V(a))return J(a);c=R(I,W(a))}function J(a){return c=void 0,F&&r?b(a):(r=l=void 0,m)}function S(){c!==void 0&&k(c),T=0,r=v=l=c=void 0}function D(){return c===void 0?m:J(Date.now())}function K(){return c!==void 0}function w(...a){const u=Date.now(),g=V(u);if(r=a,l=this,v=u,g){if(c===void 0)return p(v);if(C)return c=R(I,n),b(v)}return c===void 0&&(c=R(I,n)),m}return w.cancel=S,w.flush=D,w.pending=K,w}function nn(e,n,t){let r=!0,l=!0;if(typeof e!="function")throw new TypeError("Expected a function");return Ee(t)&&(r="leading"in t?!!t.leading:r,l="trailing"in t?!!t.trailing:l),Pe(e,n,{leading:r,trailing:l,maxWait:n})}const tn=(e,n)=>t=>{Object.keys(t).forEach(r=>{e[r].value=t[r]}),n.forEach(r=>r(e))},le=(e,n,t)=>{var r,l,E;const{initialAutoRunFlag:m,initialData:c,loadingDelay:v,pollingInterval:T,debounceInterval:L,debounceOptions:C,throttleInterval:F,throttleOptions:M,pollingWhenHidden:b,pollingWhenOffline:R,errorRetryCount:k,errorRetryInterval:p,stopPollingWhenHiddenOrOffline:W,refreshOnWindowFocus:V,refocusTimespan:I,updateCache:J,formatResult:S,onSuccess:D,onError:K,onBefore:w,onAfter:a}=n,u=s(0),g=s((r=t==null?void 0:t.loading)!==null&&r!==void 0?r:!1),y=s((l=t==null?void 0:t.data)!==null&&l!==void 0?l:c),P=s(t==null?void 0:t.error),q=s((E=t==null?void 0:t.params)!==null&&E!==void 0?E:[]),j=tn({loading:g,data:y,error:P,params:q},[i=>J(i)]),H=()=>{u.value=0},Q=s(0),Y=s(),z=s(),G=s(),ne=()=>{Y.value&&Y.value(),G.value&&G.value(),z.value&&z.value()},X=()=>{let i;return v&&(i=setTimeout(j,v,{loading:!0})),()=>i&&clearTimeout(i)},te=i=>{if(P.value&&k!==0)return;let h;if(!se(T)&&T>=0)if((b||he())&&(R||_e()))h=setTimeout(i,T);else{W.value=!0;return}return()=>h&&clearTimeout(h)},re=Ce(()=>{if(p)return p;const i=1e3,h=1,O=9,B=Math.floor(Math.random()*2**Math.min(u.value,O)+h);return i*B}),o=i=>{let h;const O=k===-1,B=u.valueh&&clearTimeout(h)},f=(...i)=>{j({loading:!v,params:i}),G.value=X(),Q.value+=1;const h=Q.value;return w==null||w(i),e(...i).then(O=>{if(h===Q.value){const B=S?S(O):O;return j({data:B,loading:!1,error:void 0}),D&&D(B,i),H(),B}return ee}).catch(O=>(h===Q.value&&(j({data:void 0,loading:!1,error:O}),K&&K(O,i),console.error(O)),ee)).finally(()=>{h===Q.value&&(G.value(),z.value=o(()=>f(...i)),Y.value=te(()=>f(...i)),a==null||a(i))})},d=!se(L)&&Pe(f,L,C),_=!se(F)&&nn(f,F,M),N=(...i)=>(ne(),!m.value&&d?(d(...i),ee):_?(_(...i),ee):(H(),f(...i))),x=()=>{Q.value+=1,j({loading:!1}),d&&d.cancel(),_&&_.cancel(),ne()},U=()=>N(...q.value),ke=i=>{const h=de(i)?i(y.value):i;j({data:h})},ye=[],oe=i=>{i&&ye.push(i)},pe=()=>{W.value&&(b||he())&&(R||_e())&&(U(),W.value=!1)};b||oe(ue("VISIBLE_LISTENER",pe)),R||oe(ue("RECONNECT_LISTENER",pe));const we=en(U,I);return V&&(oe(ue("VISIBLE_LISTENER",we)),oe(ue("FOCUS_LISTENER",we))),{loading:g,data:y,error:P,params:q,run:N,cancel:x,refresh:U,mutate:ke,unmount:()=>{ye.forEach(i=>i())}}},ce=new Map,ge=e=>{if(se(e))return;const n=ce.get(e);if(!!n)return{data:n.data,cacheTime:n.cacheTime}},rn=(e,n,t)=>{const r=ce.get(e);r!=null&&r.timer&&clearTimeout(r.timer);const l=setTimeout(()=>ce.delete(e),t);ce.set(e,{data:n,timer:l,cacheTime:new Date().getTime()})},$="__QUERY_DEFAULT_KEY__";function on(e,n){const t=Ue(Se,{}),re=A(A(A({},He()),t),n),{cacheKey:r,defaultParams:l=[],manual:E=!1,ready:m=s(!0),refreshDeps:c=[],loadingDelay:v=0,pollingWhenHidden:T=!1,pollingWhenOffline:L=!1,refreshOnWindowFocus:C=!1,refocusTimespan:F=5e3,cacheTime:M=6e5,staleTime:b=0,errorRetryCount:R=0,errorRetryInterval:k=0,queryKey:p}=re,W=ae(re,["cacheKey","defaultParams","manual","ready","refreshDeps","loadingDelay","pollingWhenHidden","pollingWhenOffline","refreshOnWindowFocus","refocusTimespan","cacheTime","staleTime","errorRetryCount","errorRetryInterval","queryKey"]),V=s(!1),I=s(!1),S=A({initialAutoRunFlag:I,loadingDelay:v,pollingWhenHidden:T,pollingWhenOffline:L,stopPollingWhenHiddenOrOffline:V,cacheKey:r,errorRetryCount:R,errorRetryInterval:k,refreshOnWindowFocus:C,refocusTimespan:F,updateCache:o=>{var f,d;if(!r)return;const _=(f=ge(r))===null||f===void 0?void 0:f.data,N=_==null?void 0:_.queries,x=ze(o),U=(d=p==null?void 0:p(...o.params.value))!==null&&d!==void 0?d:$;rn(r,{queries:Ie(A({},N),{[U]:A(A({},N==null?void 0:N[U]),x)}),latestQueriesKey:U},M)}},Xe(W,["pagination","listKey"])),D=s(!1),K=s(),w=s(),a=s(),u=Z({[$]:Z(le(e,S))}),g=s($),y=Ce(()=>{var o;return(o=u[g.value])!==null&&o!==void 0?o:{}});if(fe(y,o=>{D.value=o.loading,K.value=o.data,w.value=o.error,a.value=o.params},{immediate:!0,deep:!0}),r){var P;const o=ge(r);o!=null&&(P=o.data)!==null&&P!==void 0&&P.queries&&(Object.keys(o.data.queries).forEach(f=>{const d=o.data.queries[f];u[f]=Z(le(e,S,{loading:d.loading,params:d.params,data:d.data,error:d.error}))}),o.data.latestQueriesKey&&(g.value=o.data.latestQueriesKey))}const q=s(),j=s(!1),H=(...o)=>{var f;if(!m.value&&!j.value)return q.value=o,ee;const d=(f=p==null?void 0:p(...o))!==null&&f!==void 0?f:$;return u[d]||(u[d]=Z(le(e,S))),g.value=d,y.value.run(...o)},Q=()=>{Y(),g.value=$,u[$]=Z(le(e,S))},Y=()=>{Object.keys(u).forEach(o=>{u[o].cancel(),u[o].unmount(),delete u[o]})},z=()=>y.value.cancel(),G=()=>y.value.refresh(),ne=o=>y.value.mutate(o);if(!E){var X;I.value=!0;const o=ge(r),f=(X=o==null?void 0:o.data.queries)!==null&&X!==void 0?X:{},d=o&&(b===-1||o.cacheTime+b>new Date().getTime()),_=Object.keys(f).length>0;d||(_?Object.keys(u).forEach(N=>{var x;(x=u[N])===null||x===void 0||x.refresh()}):H(...l)),I.value=!1}const te=s();return te.value=fe(m,o=>{j.value=!0,o&&q.value&&(H(...q.value),te.value())},{flush:"sync"}),c.length&&fe(c,()=>{!E&&y.value.refresh()}),Be(()=>{Y()}),{loading:D,data:K,error:w,params:a,cancel:z,refresh:G,mutate:ne,run:H,reset:Q,queries:u}}const Qe=e=>(...n)=>{if(de(e))return Qe(e(...n))();if(Je(e))return e;if($e(e)){const t=e,{url:r}=t,l=ae(t,["url"]);return Le(r,l)}else{if(Ge(e))return Le(e);throw Ze("Unknown service type",!0)}};function sn(e,n){const t=Qe(e),v=on(t,n!=null?n:{}),{reset:r,run:l}=v,E=ae(v,["reset","run"]),m=s(!1);return A({reload:async()=>{const{defaultParams:T=[],manual:L}=n;r(),L||(m.value=!0,await l(...T),m.value=!1)},run:l,reloading:m},E)}export{sn as u};