import{h as O}from"./index.QHQq_OEs.js";import{a0 as k,r as b,O as E,y as R,a1 as F,M as P,N as M,a2 as T,a3 as j,i as B,Q as U,g as $,a4 as y,P as z,a5 as A}from"./entry.onmN7qZl.js";const H=n=>n==="defer"||n===!1;function L(...n){var D;const u=typeof n[n.length-1]=="string"?n.pop():void 0;typeof n[0]!="string"&&n.unshift(u);let[a,o,e={}]=n;if(typeof a!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof o!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const t=T(),f=()=>null,p=()=>t.isHydrating?t.payload.data[a]:t.static.data[a];e.server=e.server??!0,e.default=e.default??f,e.getCachedData=e.getCachedData??p,e.lazy=e.lazy??!1,e.immediate=e.immediate??!0,e.deep=e.deep??k.deep,e.dedupe=e.dedupe??"cancel";const m=()=>![null,void 0].includes(e.getCachedData(a));if(!t._asyncData[a]||!e.immediate){(D=t.payload._errors)[a]??(D[a]=null);const i=e.deep?b:E;t._asyncData[a]={data:i(e.getCachedData(a)??e.default()),pending:b(!m()),error:R(t.payload._errors,a),status:b("idle")}}const s={...t._asyncData[a]};s.refresh=s.execute=(i={})=>{if(t._asyncDataPromises[a]){if(H(i.dedupe??e.dedupe))return t._asyncDataPromises[a];t._asyncDataPromises[a].cancelled=!0}if((i._initial||t.isHydrating&&i._initial!==!1)&&m())return Promise.resolve(e.getCachedData(a));s.pending.value=!0,s.status.value="pending";const l=new Promise((r,c)=>{try{r(o(t))}catch(_){c(_)}}).then(r=>{if(l.cancelled)return t._asyncDataPromises[a];let c=r;e.transform&&(c=e.transform(r)),e.pick&&(c=q(c,e.pick)),t.payload.data[a]=c,s.data.value=c,s.error.value=null,s.status.value="success"}).catch(r=>{if(l.cancelled)return t._asyncDataPromises[a];s.error.value=j(r),s.data.value=B(e.default()),s.status.value="error"}).finally(()=>{l.cancelled||(s.pending.value=!1,delete t._asyncDataPromises[a])});return t._asyncDataPromises[a]=l,t._asyncDataPromises[a]};const g=()=>s.refresh({_initial:!0}),w=e.server!==!1&&t.payload.serverRendered;{const i=U();if(i&&!i._nuxtOnBeforeMountCbs){i._nuxtOnBeforeMountCbs=[];const r=i._nuxtOnBeforeMountCbs;i&&(F(()=>{r.forEach(c=>{c()}),r.splice(0,r.length)}),P(()=>r.splice(0,r.length)))}w&&t.isHydrating&&(s.error.value||m())?(s.pending.value=!1,s.status.value=s.error.value?"error":"success"):i&&(t.payload.serverRendered&&t.isHydrating||e.lazy)&&e.immediate?i._nuxtOnBeforeMountCbs.push(g):e.immediate&&g(),e.watch&&M(e.watch,()=>s.refresh());const l=t.hook("app:data:refresh",async r=>{(!r||r.includes(a))&&await s.refresh()});i&&P(l)}const v=Promise.resolve(t._asyncDataPromises[a]).then(()=>s);return Object.assign(v,s),v}function q(n,u){const a={};for(const o of u)a[o]=n[o];return a}function Q(n,u,a){const[o={},e]=typeof u=="string"?[{},u]:[u,a],t=$(()=>{let h=n;return typeof h=="function"&&(h=h()),y(h)}),f=o.key||O([e,typeof t.value=="string"?t.value:"",...K(o)]);if(!f||typeof f!="string")throw new TypeError("[nuxt] [useFetch] key must be a string: "+f);if(!n)throw new Error("[nuxt] [useFetch] request is missing.");const p=f===e?"$f"+f:f;if(!o.baseURL&&typeof t.value=="string"&&t.value[0]==="/"&&t.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:m,lazy:s,default:g,transform:w,pick:v,watch:D,immediate:i,getCachedData:l,deep:r,...c}=o,_=z({...A,...c,cache:typeof o.cache=="boolean"?void 0:o.cache}),x={server:m,lazy:s,default:g,transform:w,pick:v,immediate:i,getCachedData:l,deep:r,watch:D===!1?[]:[_,t,...D||[]]};let d;return L(p,()=>{var C;(C=d==null?void 0:d.abort)==null||C.call(d),d=typeof AbortController<"u"?new AbortController:{};const h=y(o.timeout);return h&&setTimeout(()=>d.abort(),h),(o.$fetch||globalThis.$fetch)(t.value,{signal:d.signal,..._})},x)}function K(n){var a;const u=[((a=y(n.method))==null?void 0:a.toUpperCase())||"GET",y(n.baseURL)];for(const o of[n.params||n.query]){const e=y(o);if(!e)continue;const t={};for(const[f,p]of Object.entries(e))t[y(f)]=y(p);u.push(t)}return u}export{Q as u};