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