import{aR as x,r as d,aO as C,aS as b,U as O,aM as m,s as k,q as D,aT as A,j as z,aQ as M,az as R}from"./entry.BWtf2SiU.js";function B(t){return Array.isArray(t)?t:[t]}const H=t=>t==="defer"||t===!1;function E(...t){var h;const c=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(c);let[a,u,e={}]=t;if(typeof a!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof u!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const n=D(),v=u,_=()=>null,g=()=>n.isHydrating?n.payload.data[a]:n.static.data[a];e.server=e.server??!0,e.default=e.default??_,e.getCachedData=e.getCachedData??g,e.lazy=e.lazy??!1,e.immediate=e.immediate??!0,e.deep=e.deep??x.deep,e.dedupe=e.dedupe??"cancel";const f=()=>![null,void 0].includes(e.getCachedData(a));if(!n._asyncData[a]||!e.immediate){(h=n.payload._errors)[a]??(h[a]=null);const o=e.deep?d:C;n._asyncData[a]={data:o(e.getCachedData(a)??e.default()),pending:d(!f()),error:b(n.payload._errors,a),status:d("idle")}}const s={...n._asyncData[a]};s.refresh=s.execute=(o={})=>{if(n._asyncDataPromises[a]){if(H(o.dedupe??e.dedupe))return n._asyncDataPromises[a];n._asyncDataPromises[a].cancelled=!0}if((o._initial||n.isHydrating&&o._initial!==!1)&&f())return Promise.resolve(e.getCachedData(a));s.pending.value=!0,s.status.value="pending";const l=new Promise((r,i)=>{try{r(v(n))}catch(w){i(w)}}).then(r=>{if(l.cancelled)return n._asyncDataPromises[a];let i=r;e.transform&&(i=e.transform(r)),e.pick&&(i=j(i,e.pick)),n.payload.data[a]=i,s.data.value=i,s.error.value=null,s.status.value="success"}).catch(r=>{if(l.cancelled)return n._asyncDataPromises[a];s.error.value=A(r),s.data.value=z(e.default()),s.status.value="error"}).finally(()=>{l.cancelled||(s.pending.value=!1,delete n._asyncDataPromises[a])});return n._asyncDataPromises[a]=l,n._asyncDataPromises[a]};const y=()=>s.refresh({_initial:!0}),P=e.server!==!1&&n.payload.serverRendered;{const o=M();if(o&&!o._nuxtOnBeforeMountCbs){o._nuxtOnBeforeMountCbs=[];const r=o._nuxtOnBeforeMountCbs;o&&(O(()=>{r.forEach(i=>{i()}),r.splice(0,r.length)}),m(()=>r.splice(0,r.length)))}P&&n.isHydrating&&(s.error.value||f())?(s.pending.value=!1,s.status.value=s.error.value?"error":"success"):o&&(n.payload.serverRendered&&n.isHydrating||e.lazy)&&e.immediate?o._nuxtOnBeforeMountCbs.push(y):e.immediate&&y(),e.watch&&k(e.watch,()=>s.refresh());const l=n.hook("app:data:refresh",async r=>{(!r||r.includes(a))&&await s.refresh()});o&&m(l)}const p=Promise.resolve(n._asyncDataPromises[a]).then(()=>s);return Object.assign(p,s),p}function T(...t){const c=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(c);const[a,u,e={}]=t;return E(a,u,{...e,lazy:!0},null)}async function K(t){await new Promise(a=>R(a));const c=t?B(t):void 0;await D().hooks.callHookParallel("app:data:refresh",c)}function j(t,c){const a={};for(const u of c)a[u]=t[u];return a}export{T as a,K as r,E as u};