[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fGCo9l1hMtNdUiA6QzdUX5X3kLqaWcC5t2kdz4LrvCvc":3,"module-authorization":2975,"versions":7079},[4,1124,1955,2777],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Docs",null,"i-lucide-book-marked","\u002Fdocs\u002F3.x","docs\u002F3.x",[11,109,246,430,911,1003,1040,1082],{"title":12,"titleTemplate":13,"icon":14,"path":15,"stem":16,"children":17,"page":108},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","\u002Fdocs\u002F3.x\u002Fgetting-started","docs\u002F3.x\u002F1.getting-started",[18,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,103],{"title":19,"path":20,"stem":21,"titleTemplate":6,"icon":22},"Introduction","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fintroduction","docs\u002F3.x\u002F1.getting-started\u002F01.introduction","i-lucide-info",{"title":24,"path":25,"stem":26,"titleTemplate":6,"icon":27},"Installation","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Finstallation","docs\u002F3.x\u002F1.getting-started\u002F02.installation","i-lucide-play",{"title":29,"path":30,"stem":31,"titleTemplate":6,"icon":32},"Configuration","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fconfiguration","docs\u002F3.x\u002F1.getting-started\u002F03.configuration","i-lucide-cog",{"title":34,"path":35,"stem":36,"titleTemplate":6,"icon":37},"Views","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fviews","docs\u002F3.x\u002F1.getting-started\u002F04.views","i-lucide-panels-top-left",{"title":39,"path":40,"stem":41,"titleTemplate":6,"icon":42},"Assets","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fassets","docs\u002F3.x\u002F1.getting-started\u002F05.assets","i-lucide-image",{"title":44,"path":45,"stem":46,"titleTemplate":6,"icon":47},"Styling","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstyling","docs\u002F3.x\u002F1.getting-started\u002F06.styling","i-lucide-palette",{"title":49,"path":50,"stem":51,"titleTemplate":6,"icon":52},"Routing","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Frouting","docs\u002F3.x\u002F1.getting-started\u002F07.routing","i-lucide-milestone",{"title":54,"path":55,"stem":56,"titleTemplate":6,"icon":57},"SEO and Meta","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fseo-meta","docs\u002F3.x\u002F1.getting-started\u002F08.seo-meta","i-lucide-file-search",{"title":59,"path":60,"stem":61,"titleTemplate":6,"icon":62},"Transitions","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftransitions","docs\u002F3.x\u002F1.getting-started\u002F09.transitions","i-lucide-toggle-right",{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"Data Fetching","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F3.x\u002F1.getting-started\u002F10.data-fetching","i-lucide-cable",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"State Management","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstate-management","docs\u002F3.x\u002F1.getting-started\u002F11.state-management","i-lucide-database",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"Error Handling","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ferror-handling","docs\u002F3.x\u002F1.getting-started\u002F12.error-handling","i-lucide-bug-off",{"title":79,"path":80,"stem":81,"titleTemplate":6,"icon":82},"Server","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fserver","docs\u002F3.x\u002F1.getting-started\u002F13.server","i-lucide-pc-case",{"title":84,"path":85,"stem":86,"titleTemplate":6,"icon":87},"Layers","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Flayers","docs\u002F3.x\u002F1.getting-started\u002F14.layers","i-lucide-layers",{"title":89,"path":90,"stem":91,"titleTemplate":6,"icon":92},"Prerendering","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fprerendering","docs\u002F3.x\u002F1.getting-started\u002F15.prerendering","i-lucide-file-code-2",{"title":94,"path":95,"stem":96,"titleTemplate":6,"icon":97},"Deployment","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdeployment","docs\u002F3.x\u002F1.getting-started\u002F16.deployment","i-lucide-cloud",{"title":99,"path":100,"stem":101,"titleTemplate":6,"icon":102},"Testing","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftesting","docs\u002F3.x\u002F1.getting-started\u002F17.testing","i-lucide-circle-check",{"title":104,"path":105,"stem":106,"titleTemplate":6,"icon":107},"Upgrade Guide","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fupgrade","docs\u002F3.x\u002F1.getting-started\u002F18.upgrade","i-lucide-circle-arrow-up",false,{"title":110,"titleTemplate":111,"icon":112,"path":113,"stem":114,"children":115,"page":108},"Directory Structure","%s · Nuxt Directory Structure","i-vscode-icons-default-folder","\u002Fdocs\u002F3.x\u002Fdirectory-structure","docs\u002F3.x\u002F2.directory-structure",[116,121,126,131,136,141,146,151,156,161,165,170,174,179,184,189,194,199,204,209,214,218,223,228,232,236,241],{"title":117,"path":118,"stem":119,"titleTemplate":6,"icon":120},".nuxt","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F3.x\u002F2.directory-structure\u002F0.nuxt","i-vscode-icons-folder-type-temp",{"title":122,"path":123,"stem":124,"titleTemplate":6,"icon":125},".output","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Foutput","docs\u002F3.x\u002F2.directory-structure\u002F0.output","i-vscode-icons-folder-type-package",{"title":127,"path":128,"stem":129,"titleTemplate":6,"icon":130},"assets","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fassets","docs\u002F3.x\u002F2.directory-structure\u002F1.assets","i-vscode-icons-folder-type-asset",{"title":132,"path":133,"stem":134,"titleTemplate":6,"icon":135},"components","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomponents","docs\u002F3.x\u002F2.directory-structure\u002F1.components","i-vscode-icons-folder-type-component",{"title":137,"path":138,"stem":139,"titleTemplate":6,"icon":140},"composables","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomposables","docs\u002F3.x\u002F2.directory-structure\u002F1.composables","i-vscode-icons-folder-type-src",{"title":142,"path":143,"stem":144,"titleTemplate":6,"icon":145},"content","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcontent","docs\u002F3.x\u002F2.directory-structure\u002F1.content","i-vscode-icons-folder-type-log",{"title":147,"path":148,"stem":149,"titleTemplate":6,"icon":150},"layers","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayers","docs\u002F3.x\u002F2.directory-structure\u002F1.layers","i-vscode-icons-folder-type-nuxt",{"title":152,"path":153,"stem":154,"titleTemplate":6,"icon":155},"layouts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayouts","docs\u002F3.x\u002F2.directory-structure\u002F1.layouts","i-vscode-icons-folder-type-view",{"title":157,"path":158,"stem":159,"titleTemplate":6,"icon":160},"middleware","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmiddleware","docs\u002F3.x\u002F2.directory-structure\u002F1.middleware","i-vscode-icons-folder-type-middleware",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":150},"modules","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmodules","docs\u002F3.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":167,"stem":168,"titleTemplate":6,"icon":169},"node_modules","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F3.x\u002F2.directory-structure\u002F1.node_modules","i-vscode-icons-folder-type-node",{"title":171,"path":172,"stem":173,"titleTemplate":6,"icon":155},"pages","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpages","docs\u002F3.x\u002F2.directory-structure\u002F1.pages",{"title":175,"path":176,"stem":177,"titleTemplate":6,"icon":178},"plugins","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fplugins","docs\u002F3.x\u002F2.directory-structure\u002F1.plugins","i-vscode-icons-folder-type-plugin",{"title":180,"path":181,"stem":182,"titleTemplate":6,"icon":183},"public","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpublic","docs\u002F3.x\u002F2.directory-structure\u002F1.public","i-vscode-icons-folder-type-public",{"title":185,"path":186,"stem":187,"titleTemplate":6,"icon":188},"server","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fserver","docs\u002F3.x\u002F2.directory-structure\u002F1.server","i-vscode-icons-folder-type-server",{"title":190,"path":191,"stem":192,"titleTemplate":6,"icon":193},"shared","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fshared","docs\u002F3.x\u002F2.directory-structure\u002F1.shared","i-vscode-icons-folder-type-shared",{"title":195,"path":196,"stem":197,"titleTemplate":6,"icon":198},"utils","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Futils","docs\u002F3.x\u002F2.directory-structure\u002F1.utils","i-vscode-icons-folder-type-tools",{"title":200,"path":201,"stem":202,"titleTemplate":6,"icon":203},".env","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fenv","docs\u002F3.x\u002F2.directory-structure\u002F2.env","i-vscode-icons-file-type-dotenv",{"title":205,"path":206,"stem":207,"titleTemplate":6,"icon":208},".gitignore","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F3.x\u002F2.directory-structure\u002F2.gitignore","i-vscode-icons-file-type-git",{"title":210,"path":211,"stem":212,"titleTemplate":6,"icon":213},".nuxtignore","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F3.x\u002F2.directory-structure\u002F2.nuxtignore","i-vscode-icons-file-type-nuxt",{"title":215,"path":216,"stem":217,"titleTemplate":6,"icon":213},".nuxtrc","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F3.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":219,"path":220,"stem":221,"titleTemplate":6,"icon":222},"app.vue","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp","docs\u002F3.x\u002F2.directory-structure\u002F3.app","i-vscode-icons-file-type-vue",{"title":224,"path":225,"stem":226,"titleTemplate":6,"icon":227},"app.config.ts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp-config","docs\u002F3.x\u002F2.directory-structure\u002F3.app-config","i-vscode-icons-file-type-light-config",{"title":229,"path":230,"stem":231,"titleTemplate":6,"icon":222},"error.vue","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ferror","docs\u002F3.x\u002F2.directory-structure\u002F3.error",{"title":233,"path":234,"stem":235,"titleTemplate":6,"icon":213},"nuxt.config.ts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F3.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":238,"stem":239,"titleTemplate":6,"icon":240},"package.json","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpackage","docs\u002F3.x\u002F2.directory-structure\u002F3.package","i-vscode-icons-file-type-npm",{"title":242,"path":243,"stem":244,"titleTemplate":6,"icon":245},"tsconfig.json","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F3.x\u002F2.directory-structure\u002F3.tsconfig","i-vscode-icons-file-type-tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":249,"stem":250,"children":251,"page":108},"Guide","i-lucide-book-open","\u002Fdocs\u002F3.x\u002Fguide","docs\u002F3.x\u002F3.guide",[252,287,306,321,360,383],{"title":253,"titleTemplate":254,"icon":255,"path":256,"stem":257,"children":258,"page":108},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts","docs\u002F3.x\u002F3.guide\u002F1.concepts",[259,263,267,271,275,279,283],{"title":260,"path":261,"stem":262,"titleTemplate":6},"Rendering Modes","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":265,"stem":266,"titleTemplate":6},"Nuxt Lifecycle","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":269,"stem":270,"titleTemplate":6},"Auto-imports","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":273,"stem":274,"titleTemplate":6},"Server Engine","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":277,"stem":278,"titleTemplate":6},"Modules","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":281,"stem":282,"titleTemplate":6},"TypeScript","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":285,"stem":286,"titleTemplate":6},"Code Style","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":291,"stem":292,"children":293,"page":108},"Best Practices","%s · Best Practices","i-lucide-square-check","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F2.best-practices",[294,298,302],{"title":295,"path":296,"stem":297,"titleTemplate":6},"Nuxt and hydration","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Nuxt Performance","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":304,"stem":305,"titleTemplate":6},"Nuxt Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":310,"stem":311,"children":312,"page":108},"Working with AI","Working with AI: %s","i-lucide-bot","\u002Fdocs\u002F3.x\u002Fguide\u002Fai","docs\u002F3.x\u002F3.guide\u002F3.ai",[313,317],{"title":314,"path":315,"stem":316,"titleTemplate":6},"MCP Server","\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F3.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":319,"stem":320,"titleTemplate":6},"LLMs.txt","\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F3.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":325,"stem":326,"children":327,"page":108},"Module Author Guide","%s · Nuxt Modules Author Guide","i-lucide-box","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules","docs\u002F3.x\u002F3.guide\u002F4.modules",[328,332,336,340,344,348,352,356],{"title":329,"path":330,"stem":331,"titleTemplate":6},"Create Your First Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":334,"stem":335,"titleTemplate":6},"Understand Module Structure","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":338,"stem":339,"titleTemplate":6},"Add Plugins, Components & More","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":342,"stem":343,"titleTemplate":6},"Module Dependencies","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":346,"stem":347,"titleTemplate":6},"Use Hooks & Extend Types","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":350,"stem":351,"titleTemplate":6},"Test Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":354,"stem":355,"titleTemplate":6},"Follow Best Practices","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":358,"stem":359,"titleTemplate":6},"Publish & Share Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":364,"stem":365,"children":366,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes","docs\u002F3.x\u002F3.guide\u002F5.recipes",[367,371,375,379],{"title":368,"path":369,"stem":370,"titleTemplate":6},"Custom Routing","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":373,"stem":374,"titleTemplate":6},"Vite Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":377,"stem":378,"titleTemplate":6},"Custom useFetch","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":381,"stem":382,"titleTemplate":6},"Sessions and Authentication","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":387,"stem":388,"children":389,"page":108},"Going Further","%s · Nuxt Advanced","i-lucide-star","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further","docs\u002F3.x\u002F3.guide\u002F6.going-further",[390,394,398,402,406,410,414,418,422,426],{"title":391,"path":392,"stem":393,"titleTemplate":6},"Custom Events","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":396,"stem":397,"titleTemplate":6},"Experimental Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":400,"stem":401,"titleTemplate":6},"Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":404,"stem":405,"titleTemplate":6},"Runtime Config","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":408,"stem":409,"titleTemplate":6},"Nightly Release Channel","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":412,"stem":413,"titleTemplate":6},"Lifecycle Hooks","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":416,"stem":417,"titleTemplate":6},"Nuxt Kit","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":420,"stem":421,"titleTemplate":6},"NuxtApp","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":424,"stem":425,"titleTemplate":6},"Authoring Nuxt Layers","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":428,"stem":429,"titleTemplate":6},"Debugging","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":434,"stem":435,"children":436,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","\u002Fdocs\u002F3.x\u002Fapi","docs\u002F3.x\u002F4.api",[437,503,626,749,820,893,906],{"title":438,"titleTemplate":439,"icon":324,"path":440,"stem":441,"children":442,"page":108},"Components","%s · Nuxt Components","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F1.components",[443,447,451,455,459,463,467,471,475,479,483,487,491,495,499],{"title":444,"path":445,"stem":446,"titleTemplate":6},"\u003CClientOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":449,"stem":450,"titleTemplate":6},"\u003CDevOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":453,"stem":454,"titleTemplate":6},"\u003CNuxtClientFallback>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":457,"stem":458,"titleTemplate":6},"\u003CNuxtPicture>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F3.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":461,"stem":462,"titleTemplate":6},"\u003CTeleport>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F3.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":465,"stem":466,"titleTemplate":6},"\u003CNuxtRouteAnnouncer>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F3.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":469,"stem":470,"titleTemplate":6},"\u003CNuxtTime>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F3.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":472,"path":473,"stem":474,"titleTemplate":6},"\u003CNuxtPage>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F3.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":477,"stem":478,"titleTemplate":6},"\u003CNuxtLayout>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F3.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":481,"stem":482,"titleTemplate":6},"\u003CNuxtLink>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F3.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":485,"stem":486,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F3.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":489,"stem":490,"titleTemplate":6},"\u003CNuxtErrorBoundary>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F3.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":493,"stem":494,"titleTemplate":6},"\u003CNuxtWelcome>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F3.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":497,"stem":498,"titleTemplate":6},"\u003CNuxtIsland>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F3.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":501,"stem":502,"titleTemplate":6},"\u003CNuxtImg>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F3.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":507,"stem":508,"children":509,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables","docs\u002F3.x\u002F4.api\u002F2.composables",[510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622],{"title":511,"path":512,"stem":513,"titleTemplate":6},"onPrehydrate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":515,"path":516,"stem":517,"titleTemplate":6},"useAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":520,"stem":521,"titleTemplate":6},"useAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":524,"stem":525,"titleTemplate":6},"useCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":528,"stem":529,"titleTemplate":6},"useError","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":532,"stem":533,"titleTemplate":6},"useFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":536,"stem":537,"titleTemplate":6},"useHead","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":540,"stem":541,"titleTemplate":6},"useHeadSafe","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":544,"stem":545,"titleTemplate":6},"useHydration","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":548,"stem":549,"titleTemplate":6},"useLazyAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":552,"stem":553,"titleTemplate":6},"useLazyFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":556,"stem":557,"titleTemplate":6},"useLoadingIndicator","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":560,"stem":561,"titleTemplate":6},"useNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":564,"stem":565,"titleTemplate":6},"useNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":568,"stem":569,"titleTemplate":6},"usePreviewMode","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":572,"stem":573,"titleTemplate":6},"useRequestEvent","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":576,"stem":577,"titleTemplate":6},"useRequestFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":580,"stem":581,"titleTemplate":6},"useRequestHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":584,"stem":585,"titleTemplate":6},"useRequestHeaders","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":588,"stem":589,"titleTemplate":6},"useRequestURL","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":592,"stem":593,"titleTemplate":6},"useResponseHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":596,"stem":597,"titleTemplate":6},"useRoute","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":600,"stem":601,"titleTemplate":6},"useRouteAnnouncer","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":604,"stem":605,"titleTemplate":6},"useRouter","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":608,"stem":609,"titleTemplate":6},"useRuntimeConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":612,"stem":613,"titleTemplate":6},"useRuntimeHook","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":616,"stem":617,"titleTemplate":6},"useSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":620,"stem":621,"titleTemplate":6},"useServerSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":624,"stem":625,"titleTemplate":6},"useState","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":630,"stem":631,"children":632,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","\u002Fdocs\u002F3.x\u002Fapi\u002Futils","docs\u002F3.x\u002F4.api\u002F3.utils",[633,637,641,645,649,653,657,661,665,669,673,677,681,685,689,693,697,701,705,709,713,717,721,725,729,733,737,741,745],{"title":634,"path":635,"stem":636,"titleTemplate":6},"$fetch","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F3.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":639,"stem":640,"titleTemplate":6},"abortNavigation","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":643,"stem":644,"titleTemplate":6},"addRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":647,"stem":648,"titleTemplate":6},"callOnce","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":651,"stem":652,"titleTemplate":6},"clearError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":655,"stem":656,"titleTemplate":6},"clearNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":659,"stem":660,"titleTemplate":6},"clearNuxtState","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":663,"stem":664,"titleTemplate":6},"createError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":667,"stem":668,"titleTemplate":6},"defineLazyHydrationComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":671,"stem":672,"titleTemplate":6},"defineNuxtComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":675,"stem":676,"titleTemplate":6},"defineNuxtPlugin","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":679,"stem":680,"titleTemplate":6},"defineNuxtRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":683,"stem":684,"titleTemplate":6},"definePageMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":687,"stem":688,"titleTemplate":6},"defineRouteRules","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":691,"stem":692,"titleTemplate":6},"navigateTo","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":695,"stem":696,"titleTemplate":6},"onBeforeRouteLeave","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":699,"stem":700,"titleTemplate":6},"onBeforeRouteUpdate","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":703,"stem":704,"titleTemplate":6},"onNuxtReady","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":707,"stem":708,"titleTemplate":6},"prefetchComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":711,"stem":712,"titleTemplate":6},"preloadComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":715,"stem":716,"titleTemplate":6},"preloadRouteComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":719,"stem":720,"titleTemplate":6},"prerenderRoutes","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":723,"stem":724,"titleTemplate":6},"refreshCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":727,"stem":728,"titleTemplate":6},"refreshNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":731,"stem":732,"titleTemplate":6},"reloadNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F3.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":735,"stem":736,"titleTemplate":6},"setPageLayout","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":739,"stem":740,"titleTemplate":6},"setResponseStatus","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":743,"stem":744,"titleTemplate":6},"showError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":747,"stem":748,"titleTemplate":6},"updateAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":753,"stem":754,"children":755,"page":108},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands","docs\u002F3.x\u002F4.api\u002F4.commands",[756,760,764,768,772,776,780,784,788,792,796,800,804,808,812,816],{"title":757,"path":758,"stem":759,"titleTemplate":6},"nuxt add","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":762,"stem":763,"titleTemplate":6},"nuxt analyze","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":766,"stem":767,"titleTemplate":6},"nuxt build","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":770,"stem":771,"titleTemplate":6},"nuxt build-module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":774,"stem":775,"titleTemplate":6},"nuxt cleanup","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":778,"stem":779,"titleTemplate":6},"nuxt dev","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":782,"stem":783,"titleTemplate":6},"nuxt devtools","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":786,"stem":787,"titleTemplate":6},"nuxt generate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":790,"stem":791,"titleTemplate":6},"nuxt info","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":794,"stem":795,"titleTemplate":6},"create nuxt","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":798,"stem":799,"titleTemplate":6},"nuxt module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":802,"stem":803,"titleTemplate":6},"nuxt prepare","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":806,"stem":807,"titleTemplate":6},"nuxt preview","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":810,"stem":811,"titleTemplate":6},"nuxt test","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":814,"stem":815,"titleTemplate":6},"nuxt typecheck","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":818,"stem":819,"titleTemplate":6},"nuxt upgrade","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":823,"stem":824,"children":825,"page":108},"%s · Nuxt Kit","i-lucide-package","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit","docs\u002F3.x\u002F4.api\u002F5.kit",[826,829,832,836,840,844,848,852,856,859,863,867,870,873,877,881,885,889],{"title":276,"path":827,"stem":828,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F3.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":830,"stem":831,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":834,"stem":835,"titleTemplate":6},"Templates","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":837,"path":838,"stem":839,"titleTemplate":6},"Nitro","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F3.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":841,"path":842,"stem":843,"titleTemplate":6},"Resolving","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F3.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":845,"path":846,"stem":847,"titleTemplate":6},"Logging","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F3.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":849,"path":850,"stem":851,"titleTemplate":6},"Builder","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F3.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":853,"path":854,"stem":855,"titleTemplate":6},"Examples","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F3.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":857,"stem":858,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F3.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":860,"path":861,"stem":862,"titleTemplate":6},"Programmatic Usage","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F3.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":865,"stem":866,"titleTemplate":6},"Compatibility","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F3.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":868,"stem":869,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F3.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":871,"stem":872,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":875,"stem":876,"titleTemplate":6},"Context","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F3.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":879,"stem":880,"titleTemplate":6},"Pages","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F3.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":883,"stem":884,"titleTemplate":6},"Layout","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F3.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":887,"stem":888,"titleTemplate":6},"Head","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":891,"stem":892,"titleTemplate":6},"Plugins","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":896,"stem":897,"children":898,"page":108},"Advanced","i-lucide-brain","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced","docs\u002F3.x\u002F4.api\u002F6.advanced",[899,902],{"title":411,"path":900,"stem":901,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":904,"stem":905,"titleTemplate":6},"Import meta","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":908,"stem":909,"titleTemplate":910,"icon":32},"Nuxt Configuration","\u002Fdocs\u002F3.x\u002Fapi\u002Fnuxt-config","docs\u002F3.x\u002F4.api\u002F6.nuxt-config","%s",{"title":853,"titleTemplate":912,"icon":913,"path":914,"stem":915,"children":916,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","\u002Fdocs\u002F3.x\u002Fexamples","docs\u002F3.x\u002F4.examples",[917,921,943,958,994],{"title":918,"path":919,"stem":920,"titleTemplate":6},"Hello World","\u002Fdocs\u002F3.x\u002Fexamples\u002Fhello-world","docs\u002F3.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":922,"stem":923,"children":924,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures","docs\u002F3.x\u002F4.examples\u002F1.features",[925,929,932,935,939],{"title":926,"path":927,"stem":928,"titleTemplate":6},"Auto Imports","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F3.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":930,"stem":931,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F3.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":933,"stem":934,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F3.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":937,"stem":938,"titleTemplate":6},"Meta Tags","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F3.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":941,"stem":942,"titleTemplate":6},"Layouts","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F3.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":944,"stem":945,"children":946,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting","docs\u002F3.x\u002F4.examples\u002F2.routing",[947,951,954],{"title":948,"path":949,"stem":950,"titleTemplate":6},"Middleware","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":952,"stem":953,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":956,"stem":957,"titleTemplate":6},"Universal Router","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":959,"stem":960,"children":961,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced","docs\u002F3.x\u002F4.examples\u002F4.advanced",[962,965,968,972,976,980,984,987,990],{"title":84,"path":963,"stem":964,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":966,"stem":967,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":970,"stem":971,"titleTemplate":6},"JSX \u002F TSX","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":974,"stem":975,"titleTemplate":6},"Locale","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":978,"stem":979,"titleTemplate":6},"Module Extend Pages","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":982,"stem":983,"titleTemplate":6},"Teleport","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":985,"stem":986,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":988,"stem":989,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":992,"stem":993,"titleTemplate":6},"Use Custom Fetch Composable","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":995,"path":996,"stem":997,"children":998,"page":108},"Experimental","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental","docs\u002F3.x\u002F4.examples\u002F7.experimental",[999],{"title":1000,"path":1001,"stem":1002,"titleTemplate":6},"WASM","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F3.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":1007,"stem":1008,"children":1009,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","\u002Fdocs\u002F3.x\u002Fcommunity","docs\u002F3.x\u002F5.community",[1010,1015,1020,1025,1030,1035],{"title":1011,"path":1012,"stem":1013,"titleTemplate":6,"icon":1014},"Getting Help","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fgetting-help","docs\u002F3.x\u002F5.community\u002F2.getting-help","i-lucide-life-buoy",{"title":1016,"path":1017,"stem":1018,"titleTemplate":6,"icon":1019},"Reporting Bugs","\u002Fdocs\u002F3.x\u002Fcommunity\u002Freporting-bugs","docs\u002F3.x\u002F5.community\u002F3.reporting-bugs","i-lucide-bug",{"title":1021,"path":1022,"stem":1023,"titleTemplate":6,"icon":1024},"Contribution","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fcontribution","docs\u002F3.x\u002F5.community\u002F4.contribution","i-lucide-git-pull-request",{"title":1026,"path":1027,"stem":1028,"titleTemplate":6,"icon":1029},"Framework","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fframework-contribution","docs\u002F3.x\u002F5.community\u002F5.framework-contribution","i-lucide-github",{"title":1031,"path":1032,"stem":1033,"titleTemplate":6,"icon":1034},"Roadmap","\u002Fdocs\u002F3.x\u002Fcommunity\u002Froadmap","docs\u002F3.x\u002F5.community\u002F6.roadmap","i-lucide-map",{"title":1036,"path":1037,"stem":1038,"titleTemplate":6,"icon":1039},"Releases","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fchangelog","docs\u002F3.x\u002F5.community\u002F7.changelog","i-lucide-bell-dot",{"title":1041,"titleTemplate":1042,"icon":1043,"path":1044,"stem":1045,"children":1046,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","\u002Fdocs\u002F3.x\u002Fbridge","docs\u002F3.x\u002F6.bridge",[1047,1051,1054,1057,1061,1065,1069,1072,1075,1078],{"title":1048,"path":1049,"stem":1050,"titleTemplate":6},"Overview","\u002Fdocs\u002F3.x\u002Fbridge\u002Foverview","docs\u002F3.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1052,"stem":1053,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fconfiguration","docs\u002F3.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1055,"stem":1056,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Ftypescript","docs\u002F3.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":1059,"stem":1060,"titleTemplate":6},"Legacy Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F3.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":1063,"stem":1064,"titleTemplate":6},"Plugins and Middleware","\u002Fdocs\u002F3.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F3.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":1067,"stem":1068,"titleTemplate":6},"New Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F3.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":1070,"stem":1071,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fmeta","docs\u002F3.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1073,"stem":1074,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fruntime-config","docs\u002F3.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":1076,"stem":1077,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnitro","docs\u002F3.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":1080,"stem":1081,"titleTemplate":6},"Vite","\u002Fdocs\u002F3.x\u002Fbridge\u002Fvite","docs\u002F3.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":1085,"stem":1086,"children":1087,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","\u002Fdocs\u002F3.x\u002Fmigration","docs\u002F3.x\u002F7.migration",[1088,1091,1095,1098,1101,1104,1107,1110,1113,1117,1121],{"title":1048,"path":1089,"stem":1090,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Foverview","docs\u002F3.x\u002F7.migration\u002F1.overview",{"title":1092,"path":1093,"stem":1094,"titleTemplate":6},"Build Tooling","\u002Fdocs\u002F3.x\u002Fmigration\u002Fbundling","docs\u002F3.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1096,"stem":1097,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fserver","docs\u002F3.x\u002F7.migration\u002F11.server",{"title":29,"path":1099,"stem":1100,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fconfiguration","docs\u002F3.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1102,"stem":1103,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmodule-authors","docs\u002F3.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":1105,"stem":1106,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fauto-imports","docs\u002F3.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":1108,"stem":1109,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmeta","docs\u002F3.x\u002F7.migration\u002F4.meta",{"title":1062,"path":1111,"stem":1112,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F3.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":1115,"stem":1116,"titleTemplate":6},"Pages and Layouts","\u002Fdocs\u002F3.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F3.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":1119,"stem":1120,"titleTemplate":6},"Component Options","\u002Fdocs\u002F3.x\u002Fmigration\u002Fcomponent-options","docs\u002F3.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1122,"stem":1123,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fruntime-config","docs\u002F3.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1125,"stem":1126,"children":1127,"page":108},"\u002Fdocs\u002F4.x","docs\u002F4.x",[1128,1186,1280,1411,1785,1862,1884,1918],{"title":12,"titleTemplate":13,"icon":14,"path":1129,"stem":1130,"children":1131,"page":108},"\u002Fdocs\u002F4.x\u002Fgetting-started","docs\u002F4.x\u002F1.getting-started",[1132,1135,1138,1141,1144,1147,1150,1153,1156,1159,1162,1165,1168,1171,1174,1177,1180,1183],{"title":19,"path":1133,"stem":1134,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fintroduction","docs\u002F4.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1136,"stem":1137,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Finstallation","docs\u002F4.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1139,"stem":1140,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration","docs\u002F4.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1142,"stem":1143,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fviews","docs\u002F4.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1145,"stem":1146,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fassets","docs\u002F4.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1148,"stem":1149,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstyling","docs\u002F4.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1151,"stem":1152,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Frouting","docs\u002F4.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1154,"stem":1155,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fseo-meta","docs\u002F4.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1157,"stem":1158,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftransitions","docs\u002F4.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1160,"stem":1161,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F4.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1163,"stem":1164,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstate-management","docs\u002F4.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1166,"stem":1167,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ferror-handling","docs\u002F4.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":1169,"stem":1170,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fserver","docs\u002F4.x\u002F1.getting-started\u002F13.server",{"title":84,"path":1172,"stem":1173,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Flayers","docs\u002F4.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":1175,"stem":1176,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fprerendering","docs\u002F4.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":1178,"stem":1179,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdeployment","docs\u002F4.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":1181,"stem":1182,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting","docs\u002F4.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":1184,"stem":1185,"titleTemplate":6,"icon":107},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade","docs\u002F4.x\u002F1.getting-started\u002F18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":1187,"stem":1188,"children":1189,"page":108},"\u002Fdocs\u002F4.x\u002Fdirectory-structure","docs\u002F4.x\u002F2.directory-structure",[1190,1193,1196,1238,1241,1244,1247,1250,1253,1256,1259,1262,1265,1268,1271,1274,1277],{"title":117,"path":1191,"stem":1192,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F4.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":1194,"stem":1195,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Foutput","docs\u002F4.x\u002F2.directory-structure\u002F0.output",{"title":1197,"titleTemplate":111,"head":1198,"defaultOpen":1200,"icon":1201,"path":1202,"stem":1203,"children":1204,"page":108},"app",{"title":1199},"app\u002F",true,"i-vscode-icons-folder-type-app","\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app",[1205,1208,1211,1214,1217,1220,1223,1226,1229,1232,1235],{"title":127,"path":1206,"stem":1207,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":1209,"stem":1210,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":1212,"stem":1213,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":1215,"stem":1216,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":1218,"stem":1219,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":1221,"stem":1222,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":1224,"stem":1225,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":1227,"stem":1228,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":1230,"stem":1231,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":1233,"stem":1234,"titleTemplate":6,"icon":227},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app-config",{"title":229,"path":1236,"stem":1237,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":1239,"stem":1240,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fcontent","docs\u002F4.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":1242,"stem":1243,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Flayers","docs\u002F4.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":1245,"stem":1246,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fmodules","docs\u002F4.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":1248,"stem":1249,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F4.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":1251,"stem":1252,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpublic","docs\u002F4.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":1254,"stem":1255,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fserver","docs\u002F4.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":1257,"stem":1258,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fshared","docs\u002F4.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":1260,"stem":1261,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fenv","docs\u002F4.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":1263,"stem":1264,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F4.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":1266,"stem":1267,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":1269,"stem":1270,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":1272,"stem":1273,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F4.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":1275,"stem":1276,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpackage","docs\u002F4.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":1278,"stem":1279,"titleTemplate":6,"icon":245},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F4.x\u002F2.directory-structure\u002F3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":1281,"stem":1282,"children":1283,"page":108},"\u002Fdocs\u002F4.x\u002Fguide","docs\u002F4.x\u002F3.guide",[1284,1309,1323,1333,1361,1377],{"title":253,"titleTemplate":254,"icon":255,"path":1285,"stem":1286,"children":1287,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts","docs\u002F4.x\u002F3.guide\u002F1.concepts",[1288,1291,1294,1297,1300,1303,1306],{"title":260,"path":1289,"stem":1290,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":1292,"stem":1293,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":1295,"stem":1296,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":1298,"stem":1299,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":1301,"stem":1302,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":1304,"stem":1305,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":1307,"stem":1308,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":1310,"stem":1311,"children":1312,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F2.best-practices",[1313,1317,1320],{"title":1314,"path":1315,"stem":1316,"titleTemplate":6},"Nuxt and Hydration","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":1318,"stem":1319,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":1321,"stem":1322,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":1324,"stem":1325,"children":1326,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai","docs\u002F4.x\u002F3.guide\u002F3.ai",[1327,1330],{"title":314,"path":1328,"stem":1329,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":1331,"stem":1332,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":1334,"stem":1335,"children":1336,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F4.modules",[1337,1340,1343,1346,1349,1352,1355,1358],{"title":329,"path":1338,"stem":1339,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":1341,"stem":1342,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":1344,"stem":1345,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":1347,"stem":1348,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":1350,"stem":1351,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":1353,"stem":1354,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":1356,"stem":1357,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":1359,"stem":1360,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":1362,"stem":1363,"children":1364,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes","docs\u002F4.x\u002F3.guide\u002F5.recipes",[1365,1368,1371,1374],{"title":368,"path":1366,"stem":1367,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":1369,"stem":1370,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":1372,"stem":1373,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":1375,"stem":1376,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":1378,"stem":1379,"children":1380,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further","docs\u002F4.x\u002F3.guide\u002F6.going-further",[1381,1384,1387,1390,1393,1396,1399,1402,1405,1408],{"title":391,"path":1382,"stem":1383,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":1385,"stem":1386,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":1388,"stem":1389,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":1391,"stem":1392,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":1394,"stem":1395,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":1397,"stem":1398,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":1400,"stem":1401,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":1403,"stem":1404,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":1406,"stem":1407,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":1409,"stem":1410,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":1412,"stem":1413,"children":1414,"page":108},"\u002Fdocs\u002F4.x\u002Fapi","docs\u002F4.x\u002F4.api",[1415,1468,1571,1662,1714,1772,1782],{"title":438,"titleTemplate":439,"icon":324,"path":1416,"stem":1417,"children":1418,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F1.components",[1419,1422,1425,1428,1431,1434,1437,1440,1444,1447,1450,1453,1456,1459,1462,1465],{"title":444,"path":1420,"stem":1421,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":1423,"stem":1424,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":1426,"stem":1427,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":1429,"stem":1430,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F4.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":1432,"stem":1433,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F4.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":1435,"stem":1436,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":1438,"stem":1439,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F4.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1441,"path":1442,"stem":1443,"titleTemplate":6},"\u003CNuxtAnnouncer>","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":1445,"stem":1446,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F4.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":1448,"stem":1449,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F4.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":1451,"stem":1452,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F4.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":1454,"stem":1455,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F4.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":1457,"stem":1458,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F4.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":1460,"stem":1461,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F4.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":1463,"stem":1464,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F4.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":1466,"stem":1467,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F4.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":1469,"stem":1470,"children":1471,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables","docs\u002F4.x\u002F4.api\u002F2.composables",[1472,1476,1480,1483,1487,1490,1493,1496,1499,1502,1505,1508,1511,1514,1517,1520,1523,1526,1529,1532,1535,1538,1541,1544,1547,1550,1553,1556,1559,1562,1565,1568],{"title":1473,"path":1474,"stem":1475,"titleTemplate":6},"createUseAsyncData","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1477,"path":1478,"stem":1479,"titleTemplate":6},"createUseFetch","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":1481,"stem":1482,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1484,"path":1485,"stem":1486,"titleTemplate":6},"useAnnouncer","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":1488,"stem":1489,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":1491,"stem":1492,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":1494,"stem":1495,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":1497,"stem":1498,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":1500,"stem":1501,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":1503,"stem":1504,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":1506,"stem":1507,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":1509,"stem":1510,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":1512,"stem":1513,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":1515,"stem":1516,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":1518,"stem":1519,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":1521,"stem":1522,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":1524,"stem":1525,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":1527,"stem":1528,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":1530,"stem":1531,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":1533,"stem":1534,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":1536,"stem":1537,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":1539,"stem":1540,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":1542,"stem":1543,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":1545,"stem":1546,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":1548,"stem":1549,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":1551,"stem":1552,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":1554,"stem":1555,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":1557,"stem":1558,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":1560,"stem":1561,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":1563,"stem":1564,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":1566,"stem":1567,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":1569,"stem":1570,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":1572,"stem":1573,"children":1574,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils","docs\u002F4.x\u002F4.api\u002F3.utils",[1575,1578,1581,1584,1587,1590,1593,1596,1599,1602,1605,1608,1611,1614,1617,1620,1623,1626,1629,1632,1635,1638,1641,1644,1647,1650,1653,1656,1659],{"title":634,"path":1576,"stem":1577,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F4.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":1579,"stem":1580,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":1582,"stem":1583,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":1585,"stem":1586,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":1588,"stem":1589,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":1591,"stem":1592,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":1594,"stem":1595,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":1597,"stem":1598,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":1600,"stem":1601,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":1603,"stem":1604,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":1606,"stem":1607,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":1609,"stem":1610,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":1612,"stem":1613,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":1615,"stem":1616,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":1618,"stem":1619,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":1621,"stem":1622,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":1624,"stem":1625,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":1627,"stem":1628,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":1630,"stem":1631,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":1633,"stem":1634,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":1636,"stem":1637,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":1639,"stem":1640,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":1642,"stem":1643,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":1645,"stem":1646,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":1648,"stem":1649,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F4.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":1651,"stem":1652,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":1654,"stem":1655,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":1657,"stem":1658,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":1660,"stem":1661,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":1663,"stem":1664,"children":1665,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands","docs\u002F4.x\u002F4.api\u002F4.commands",[1666,1669,1672,1675,1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711],{"title":757,"path":1667,"stem":1668,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":1670,"stem":1671,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":1673,"stem":1674,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":1676,"stem":1677,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":1679,"stem":1680,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":1682,"stem":1683,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":1685,"stem":1686,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":1688,"stem":1689,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":1691,"stem":1692,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":1694,"stem":1695,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":1697,"stem":1698,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":1700,"stem":1701,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":1703,"stem":1704,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":1706,"stem":1707,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":1709,"stem":1710,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":1712,"stem":1713,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":1715,"stem":1716,"children":1717,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit","docs\u002F4.x\u002F4.api\u002F5.kit",[1718,1721,1724,1727,1730,1733,1736,1739,1742,1745,1748,1751,1754,1757,1760,1763,1766,1769],{"title":276,"path":1719,"stem":1720,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F4.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":1722,"stem":1723,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":1725,"stem":1726,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":837,"path":1728,"stem":1729,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F4.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":841,"path":1731,"stem":1732,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F4.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":845,"path":1734,"stem":1735,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F4.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":849,"path":1737,"stem":1738,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F4.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":853,"path":1740,"stem":1741,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F4.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":1743,"stem":1744,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F4.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":860,"path":1746,"stem":1747,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F4.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":1749,"stem":1750,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F4.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":1752,"stem":1753,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F4.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":1755,"stem":1756,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":1758,"stem":1759,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F4.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":1761,"stem":1762,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F4.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":1764,"stem":1765,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F4.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":1767,"stem":1768,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":1770,"stem":1771,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":1773,"stem":1774,"children":1775,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced","docs\u002F4.x\u002F4.api\u002F6.advanced",[1776,1779],{"title":411,"path":1777,"stem":1778,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":1780,"stem":1781,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":1783,"stem":1784,"titleTemplate":910,"icon":32},"\u002Fdocs\u002F4.x\u002Fapi\u002Fnuxt-config","docs\u002F4.x\u002F4.api\u002F6.nuxt-config",{"title":853,"titleTemplate":912,"icon":913,"path":1786,"stem":1787,"children":1788,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples","docs\u002F4.x\u002F4.examples",[1789,1792,1811,1824,1855],{"title":918,"path":1790,"stem":1791,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fhello-world","docs\u002F4.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":1793,"stem":1794,"children":1795,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures","docs\u002F4.x\u002F4.examples\u002F1.features",[1796,1799,1802,1805,1808],{"title":926,"path":1797,"stem":1798,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F4.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":1800,"stem":1801,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F4.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":1803,"stem":1804,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F4.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":1806,"stem":1807,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F4.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":1809,"stem":1810,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F4.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":1812,"stem":1813,"children":1814,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting","docs\u002F4.x\u002F4.examples\u002F2.routing",[1815,1818,1821],{"title":948,"path":1816,"stem":1817,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":1819,"stem":1820,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":1822,"stem":1823,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":1825,"stem":1826,"children":1827,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced","docs\u002F4.x\u002F4.examples\u002F4.advanced",[1828,1831,1834,1837,1840,1843,1846,1849,1852],{"title":84,"path":1829,"stem":1830,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":1832,"stem":1833,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":1835,"stem":1836,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":1838,"stem":1839,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":1841,"stem":1842,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":1844,"stem":1845,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":1847,"stem":1848,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":1850,"stem":1851,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":1853,"stem":1854,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":995,"path":1856,"stem":1857,"children":1858,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental","docs\u002F4.x\u002F4.examples\u002F7.experimental",[1859],{"title":1000,"path":1860,"stem":1861,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F4.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":1863,"stem":1864,"children":1865,"page":108},"\u002Fdocs\u002F4.x\u002Fcommunity","docs\u002F4.x\u002F5.community",[1866,1869,1872,1875,1878,1881],{"title":1011,"path":1867,"stem":1868,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help","docs\u002F4.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":1870,"stem":1871,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs","docs\u002F4.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":1873,"stem":1874,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution","docs\u002F4.x\u002F5.community\u002F4.contribution",{"title":1026,"path":1876,"stem":1877,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution","docs\u002F4.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":1879,"stem":1880,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap","docs\u002F4.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":1882,"stem":1883,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog","docs\u002F4.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":1885,"stem":1886,"children":1887,"page":108},"\u002Fdocs\u002F4.x\u002Fbridge","docs\u002F4.x\u002F6.bridge",[1888,1891,1894,1897,1900,1903,1906,1909,1912,1915],{"title":1048,"path":1889,"stem":1890,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview","docs\u002F4.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1892,"stem":1893,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration","docs\u002F4.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1895,"stem":1896,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript","docs\u002F4.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":1898,"stem":1899,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F4.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":1901,"stem":1902,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F4.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":1904,"stem":1905,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F4.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":1907,"stem":1908,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta","docs\u002F4.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1910,"stem":1911,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config","docs\u002F4.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":1913,"stem":1914,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro","docs\u002F4.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":1916,"stem":1917,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite","docs\u002F4.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":1919,"stem":1920,"children":1921,"page":108},"\u002Fdocs\u002F4.x\u002Fmigration","docs\u002F4.x\u002F7.migration",[1922,1925,1928,1931,1934,1937,1940,1943,1946,1949,1952],{"title":1048,"path":1923,"stem":1924,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview","docs\u002F4.x\u002F7.migration\u002F1.overview",{"title":1092,"path":1926,"stem":1927,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling","docs\u002F4.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1929,"stem":1930,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver","docs\u002F4.x\u002F7.migration\u002F11.server",{"title":29,"path":1932,"stem":1933,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration","docs\u002F4.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1935,"stem":1936,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors","docs\u002F4.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":1938,"stem":1939,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports","docs\u002F4.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":1941,"stem":1942,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta","docs\u002F4.x\u002F7.migration\u002F4.meta",{"title":1062,"path":1944,"stem":1945,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F4.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":1947,"stem":1948,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F4.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":1950,"stem":1951,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options","docs\u002F4.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1953,"stem":1954,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config","docs\u002F4.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1956,"stem":1957,"children":1958,"page":108},"\u002Fdocs\u002F5.x","docs\u002F5.x",[1959,2017,2107,2237,2607,2684,2706,2740],{"title":12,"titleTemplate":13,"icon":14,"path":1960,"stem":1961,"children":1962,"page":108},"\u002Fdocs\u002F5.x\u002Fgetting-started","docs\u002F5.x\u002F1.getting-started",[1963,1966,1969,1972,1975,1978,1981,1984,1987,1990,1993,1996,1999,2002,2005,2008,2011,2014],{"title":19,"path":1964,"stem":1965,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","docs\u002F5.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1967,"stem":1968,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","docs\u002F5.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1970,"stem":1971,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","docs\u002F5.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1973,"stem":1974,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","docs\u002F5.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1976,"stem":1977,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","docs\u002F5.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1979,"stem":1980,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","docs\u002F5.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1982,"stem":1983,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","docs\u002F5.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1985,"stem":1986,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","docs\u002F5.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1988,"stem":1989,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","docs\u002F5.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1991,"stem":1992,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F5.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1994,"stem":1995,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","docs\u002F5.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1997,"stem":1998,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","docs\u002F5.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":2000,"stem":2001,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","docs\u002F5.x\u002F1.getting-started\u002F13.server",{"title":84,"path":2003,"stem":2004,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","docs\u002F5.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":2006,"stem":2007,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","docs\u002F5.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":2009,"stem":2010,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","docs\u002F5.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":2012,"stem":2013,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","docs\u002F5.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":2015,"stem":2016,"titleTemplate":6,"icon":107},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fupgrade","docs\u002F5.x\u002F1.getting-started\u002F18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":2018,"stem":2019,"children":2020,"page":108},"\u002Fdocs\u002F5.x\u002Fdirectory-structure","docs\u002F5.x\u002F2.directory-structure",[2021,2024,2027,2065,2068,2071,2074,2077,2080,2083,2086,2089,2092,2095,2098,2101,2104],{"title":117,"path":2022,"stem":2023,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F5.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":2025,"stem":2026,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","docs\u002F5.x\u002F2.directory-structure\u002F0.output",{"title":1197,"titleTemplate":111,"head":2028,"defaultOpen":1200,"icon":1201,"path":2029,"stem":2030,"children":2031,"page":108},{"title":1199},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app",[2032,2035,2038,2041,2044,2047,2050,2053,2056,2059,2062],{"title":127,"path":2033,"stem":2034,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":2036,"stem":2037,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":2039,"stem":2040,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":2042,"stem":2043,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":2045,"stem":2046,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":2048,"stem":2049,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":2051,"stem":2052,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":2054,"stem":2055,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":2057,"stem":2058,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":2060,"stem":2061,"titleTemplate":6,"icon":227},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app-config",{"title":229,"path":2063,"stem":2064,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":2066,"stem":2067,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","docs\u002F5.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":2069,"stem":2070,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","docs\u002F5.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":2072,"stem":2073,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","docs\u002F5.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":2075,"stem":2076,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F5.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":2078,"stem":2079,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","docs\u002F5.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":2081,"stem":2082,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","docs\u002F5.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":2084,"stem":2085,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","docs\u002F5.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":2087,"stem":2088,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","docs\u002F5.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":2090,"stem":2091,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F5.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":2093,"stem":2094,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":2096,"stem":2097,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":2099,"stem":2100,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F5.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":2102,"stem":2103,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","docs\u002F5.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":2105,"stem":2106,"titleTemplate":6,"icon":245},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F5.x\u002F2.directory-structure\u002F3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":2108,"stem":2109,"children":2110,"page":108},"\u002Fdocs\u002F5.x\u002Fguide","docs\u002F5.x\u002F3.guide",[2111,2136,2149,2159,2187,2203],{"title":253,"titleTemplate":254,"icon":255,"path":2112,"stem":2113,"children":2114,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts","docs\u002F5.x\u002F3.guide\u002F1.concepts",[2115,2118,2121,2124,2127,2130,2133],{"title":260,"path":2116,"stem":2117,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":2119,"stem":2120,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":2122,"stem":2123,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":2125,"stem":2126,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":2128,"stem":2129,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":2131,"stem":2132,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":2134,"stem":2135,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":2137,"stem":2138,"children":2139,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F2.best-practices",[2140,2143,2146],{"title":1314,"path":2141,"stem":2142,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":2144,"stem":2145,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":2147,"stem":2148,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":2150,"stem":2151,"children":2152,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai","docs\u002F5.x\u002F3.guide\u002F3.ai",[2153,2156],{"title":314,"path":2154,"stem":2155,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":2157,"stem":2158,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":2160,"stem":2161,"children":2162,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F4.modules",[2163,2166,2169,2172,2175,2178,2181,2184],{"title":329,"path":2164,"stem":2165,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":2167,"stem":2168,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":2170,"stem":2171,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":2173,"stem":2174,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":2176,"stem":2177,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":2179,"stem":2180,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":2182,"stem":2183,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":2185,"stem":2186,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":2188,"stem":2189,"children":2190,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","docs\u002F5.x\u002F3.guide\u002F5.recipes",[2191,2194,2197,2200],{"title":368,"path":2192,"stem":2193,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":2195,"stem":2196,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":2198,"stem":2199,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":2201,"stem":2202,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":2204,"stem":2205,"children":2206,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","docs\u002F5.x\u002F3.guide\u002F6.going-further",[2207,2210,2213,2216,2219,2222,2225,2228,2231,2234],{"title":391,"path":2208,"stem":2209,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":2211,"stem":2212,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":2214,"stem":2215,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":2217,"stem":2218,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":2220,"stem":2221,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":2223,"stem":2224,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":2226,"stem":2227,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":2229,"stem":2230,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":2232,"stem":2233,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":2235,"stem":2236,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":2238,"stem":2239,"children":2240,"page":108},"\u002Fdocs\u002F5.x\u002Fapi","docs\u002F5.x\u002F4.api",[2241,2293,2393,2484,2536,2594,2604],{"title":438,"titleTemplate":439,"icon":324,"path":2242,"stem":2243,"children":2244,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F1.components",[2245,2248,2251,2254,2257,2260,2263,2266,2269,2272,2275,2278,2281,2284,2287,2290],{"title":444,"path":2246,"stem":2247,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":2249,"stem":2250,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":2252,"stem":2253,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":2255,"stem":2256,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F5.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":2258,"stem":2259,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F5.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":2261,"stem":2262,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":2264,"stem":2265,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F5.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1441,"path":2267,"stem":2268,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":2270,"stem":2271,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F5.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":2273,"stem":2274,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F5.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":2276,"stem":2277,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F5.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":2279,"stem":2280,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F5.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":2282,"stem":2283,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F5.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":2285,"stem":2286,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F5.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":2288,"stem":2289,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F5.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":2291,"stem":2292,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F5.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":2294,"stem":2295,"children":2296,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","docs\u002F5.x\u002F4.api\u002F2.composables",[2297,2300,2303,2306,2309,2312,2315,2318,2321,2324,2327,2330,2333,2336,2339,2342,2345,2348,2351,2354,2357,2360,2363,2366,2369,2372,2375,2378,2381,2384,2387,2390],{"title":1473,"path":2298,"stem":2299,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1477,"path":2301,"stem":2302,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":2304,"stem":2305,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1484,"path":2307,"stem":2308,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":2310,"stem":2311,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":2313,"stem":2314,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":2316,"stem":2317,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":2319,"stem":2320,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":2322,"stem":2323,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":2325,"stem":2326,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":2328,"stem":2329,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":2331,"stem":2332,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":2334,"stem":2335,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":2337,"stem":2338,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":2340,"stem":2341,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":2343,"stem":2344,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":2346,"stem":2347,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":2349,"stem":2350,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":2352,"stem":2353,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":2355,"stem":2356,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":2358,"stem":2359,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":2361,"stem":2362,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":2364,"stem":2365,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":2367,"stem":2368,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":2370,"stem":2371,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":2373,"stem":2374,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":2376,"stem":2377,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":2379,"stem":2380,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":2382,"stem":2383,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":2385,"stem":2386,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":2388,"stem":2389,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":2391,"stem":2392,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":2394,"stem":2395,"children":2396,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils","docs\u002F5.x\u002F4.api\u002F3.utils",[2397,2400,2403,2406,2409,2412,2415,2418,2421,2424,2427,2430,2433,2436,2439,2442,2445,2448,2451,2454,2457,2460,2463,2466,2469,2472,2475,2478,2481],{"title":634,"path":2398,"stem":2399,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F5.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":2401,"stem":2402,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":2404,"stem":2405,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":2407,"stem":2408,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":2410,"stem":2411,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":2413,"stem":2414,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":2416,"stem":2417,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":2419,"stem":2420,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":2422,"stem":2423,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":2425,"stem":2426,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":2428,"stem":2429,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":2431,"stem":2432,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":2434,"stem":2435,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":2437,"stem":2438,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":2440,"stem":2441,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":2443,"stem":2444,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":2446,"stem":2447,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":2449,"stem":2450,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":2452,"stem":2453,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":2455,"stem":2456,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":2458,"stem":2459,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":2461,"stem":2462,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":2464,"stem":2465,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":2467,"stem":2468,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":2470,"stem":2471,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F5.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":2473,"stem":2474,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":2476,"stem":2477,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":2479,"stem":2480,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":2482,"stem":2483,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":2485,"stem":2486,"children":2487,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands","docs\u002F5.x\u002F4.api\u002F4.commands",[2488,2491,2494,2497,2500,2503,2506,2509,2512,2515,2518,2521,2524,2527,2530,2533],{"title":757,"path":2489,"stem":2490,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":2492,"stem":2493,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":2495,"stem":2496,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":2498,"stem":2499,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":2501,"stem":2502,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":2504,"stem":2505,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":2507,"stem":2508,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":2510,"stem":2511,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":2513,"stem":2514,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":2516,"stem":2517,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":2519,"stem":2520,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":2522,"stem":2523,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":2525,"stem":2526,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":2528,"stem":2529,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":2531,"stem":2532,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":2534,"stem":2535,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":2537,"stem":2538,"children":2539,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","docs\u002F5.x\u002F4.api\u002F5.kit",[2540,2543,2546,2549,2552,2555,2558,2561,2564,2567,2570,2573,2576,2579,2582,2585,2588,2591],{"title":276,"path":2541,"stem":2542,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F5.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":2544,"stem":2545,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":2547,"stem":2548,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":837,"path":2550,"stem":2551,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F5.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":841,"path":2553,"stem":2554,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F5.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":845,"path":2556,"stem":2557,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F5.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":849,"path":2559,"stem":2560,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F5.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":853,"path":2562,"stem":2563,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F5.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":2565,"stem":2566,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F5.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":860,"path":2568,"stem":2569,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F5.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":2571,"stem":2572,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F5.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":2574,"stem":2575,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F5.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":2577,"stem":2578,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":2580,"stem":2581,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F5.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":2583,"stem":2584,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F5.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":2586,"stem":2587,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F5.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":2589,"stem":2590,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":2592,"stem":2593,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":2595,"stem":2596,"children":2597,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","docs\u002F5.x\u002F4.api\u002F6.advanced",[2598,2601],{"title":411,"path":2599,"stem":2600,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":2602,"stem":2603,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":2605,"stem":2606,"titleTemplate":910,"icon":32},"\u002Fdocs\u002F5.x\u002Fapi\u002Fnuxt-config","docs\u002F5.x\u002F4.api\u002F6.nuxt-config",{"title":853,"titleTemplate":912,"icon":913,"path":2608,"stem":2609,"children":2610,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples","docs\u002F5.x\u002F4.examples",[2611,2614,2633,2646,2677],{"title":918,"path":2612,"stem":2613,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fhello-world","docs\u002F5.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":2615,"stem":2616,"children":2617,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures","docs\u002F5.x\u002F4.examples\u002F1.features",[2618,2621,2624,2627,2630],{"title":926,"path":2619,"stem":2620,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F5.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":2622,"stem":2623,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F5.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":2625,"stem":2626,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F5.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":2628,"stem":2629,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F5.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":2631,"stem":2632,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F5.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":2634,"stem":2635,"children":2636,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting","docs\u002F5.x\u002F4.examples\u002F2.routing",[2637,2640,2643],{"title":948,"path":2638,"stem":2639,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":2641,"stem":2642,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":2644,"stem":2645,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":2647,"stem":2648,"children":2649,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced","docs\u002F5.x\u002F4.examples\u002F4.advanced",[2650,2653,2656,2659,2662,2665,2668,2671,2674],{"title":84,"path":2651,"stem":2652,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":2654,"stem":2655,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":2657,"stem":2658,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":2660,"stem":2661,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":2663,"stem":2664,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":2666,"stem":2667,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":2669,"stem":2670,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":2672,"stem":2673,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":2675,"stem":2676,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":995,"path":2678,"stem":2679,"children":2680,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental","docs\u002F5.x\u002F4.examples\u002F7.experimental",[2681],{"title":1000,"path":2682,"stem":2683,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F5.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":2685,"stem":2686,"children":2687,"page":108},"\u002Fdocs\u002F5.x\u002Fcommunity","docs\u002F5.x\u002F5.community",[2688,2691,2694,2697,2700,2703],{"title":1011,"path":2689,"stem":2690,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","docs\u002F5.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":2692,"stem":2693,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","docs\u002F5.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":2695,"stem":2696,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","docs\u002F5.x\u002F5.community\u002F4.contribution",{"title":1026,"path":2698,"stem":2699,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","docs\u002F5.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":2701,"stem":2702,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","docs\u002F5.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":2704,"stem":2705,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","docs\u002F5.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":2707,"stem":2708,"children":2709,"page":108},"\u002Fdocs\u002F5.x\u002Fbridge","docs\u002F5.x\u002F6.bridge",[2710,2713,2716,2719,2722,2725,2728,2731,2734,2737],{"title":1048,"path":2711,"stem":2712,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview","docs\u002F5.x\u002F6.bridge\u002F1.overview",{"title":29,"path":2714,"stem":2715,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","docs\u002F5.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":2717,"stem":2718,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","docs\u002F5.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":2720,"stem":2721,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F5.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":2723,"stem":2724,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F5.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":2726,"stem":2727,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F5.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":2729,"stem":2730,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","docs\u002F5.x\u002F6.bridge\u002F6.meta",{"title":403,"path":2732,"stem":2733,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","docs\u002F5.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":2735,"stem":2736,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","docs\u002F5.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":2738,"stem":2739,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","docs\u002F5.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":2741,"stem":2742,"children":2743,"page":108},"\u002Fdocs\u002F5.x\u002Fmigration","docs\u002F5.x\u002F7.migration",[2744,2747,2750,2753,2756,2759,2762,2765,2768,2771,2774],{"title":1048,"path":2745,"stem":2746,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview","docs\u002F5.x\u002F7.migration\u002F1.overview",{"title":1092,"path":2748,"stem":2749,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","docs\u002F5.x\u002F7.migration\u002F10.bundling",{"title":79,"path":2751,"stem":2752,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","docs\u002F5.x\u002F7.migration\u002F11.server",{"title":29,"path":2754,"stem":2755,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","docs\u002F5.x\u002F7.migration\u002F2.configuration",{"title":276,"path":2757,"stem":2758,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","docs\u002F5.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":2760,"stem":2761,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","docs\u002F5.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":2763,"stem":2764,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","docs\u002F5.x\u002F7.migration\u002F4.meta",{"title":1062,"path":2766,"stem":2767,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F5.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":2769,"stem":2770,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F5.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":2772,"stem":2773,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","docs\u002F5.x\u002F7.migration\u002F7.component-options",{"title":403,"path":2775,"stem":2776,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","docs\u002F5.x\u002F7.migration\u002F8.runtime-config",{"title":2778,"icon":2779,"path":2780,"stem":2781,"children":2782,"page":108},"Blog","i-lucide-newspaper","\u002Fblog","blog",[2783,2787,2791,2795,2799,2803,2807,2811,2815,2819,2823,2827,2831,2835,2839,2843,2847,2851,2855,2859,2863,2867,2871,2875,2879,2883,2887,2891,2895,2899,2903,2907,2911,2915,2919,2923,2927,2931,2935,2939,2943,2947,2951,2955,2959,2963,2967,2971],{"title":2784,"path":2785,"stem":2786},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2788,"path":2789,"stem":2790},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2792,"path":2793,"stem":2794},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2796,"path":2797,"stem":2798},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2800,"path":2801,"stem":2802},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2804,"path":2805,"stem":2806},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2808,"path":2809,"stem":2810},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2812,"path":2813,"stem":2814},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2816,"path":2817,"stem":2818},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2820,"path":2821,"stem":2822},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2824,"path":2825,"stem":2826},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2828,"path":2829,"stem":2830},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2832,"path":2833,"stem":2834},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2836,"path":2837,"stem":2838},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2840,"path":2841,"stem":2842},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2844,"path":2845,"stem":2846},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2848,"path":2849,"stem":2850},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2852,"path":2853,"stem":2854},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2856,"path":2857,"stem":2858},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2860,"path":2861,"stem":2862},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2864,"path":2865,"stem":2866},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2868,"path":2869,"stem":2870},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2872,"path":2873,"stem":2874},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2876,"path":2877,"stem":2878},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2880,"path":2881,"stem":2882},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2884,"path":2885,"stem":2886},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2888,"path":2889,"stem":2890},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2892,"path":2893,"stem":2894},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2896,"path":2897,"stem":2898},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2900,"path":2901,"stem":2902},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2904,"path":2905,"stem":2906},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2908,"path":2909,"stem":2910},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":2912,"path":2913,"stem":2914},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":2916,"path":2917,"stem":2918},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":2920,"path":2921,"stem":2922},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2924,"path":2925,"stem":2926},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2928,"path":2929,"stem":2930},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":2932,"path":2933,"stem":2934},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":2936,"path":2937,"stem":2938},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":2940,"path":2941,"stem":2942},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":2944,"path":2945,"stem":2946},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":2948,"path":2949,"stem":2950},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":2952,"path":2953,"stem":2954},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":2956,"path":2957,"stem":2958},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2960,"path":2961,"stem":2962},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":2964,"path":2965,"stem":2966},"Understanding how fetch works in Nuxt 2.12","\u002Fblog\u002Funderstanding-how-fetch-works-in-nuxt-2-12","blog\u002F7.understanding-how-fetch-works-in-nuxt-2-12",{"title":2968,"path":2969,"stem":2970},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":2972,"path":2973,"stem":2974},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"name":2976,"description":2977,"repo":2978,"npm":2979,"icon":2980,"github":2981,"website":2981,"learn_more":2982,"category":2983,"type":2984,"maintainers":2985,"compatibility":2991,"generatedAt":2994,"contributors":2995,"stats":3015,"readme":3023},"authorization","Manage permissions inside the app and the server.","barbapapazes\u002Fnuxt-authorization","nuxt-authorization","","https:\u002F\u002Fgithub.com\u002Fbarbapapazes\u002Fnuxt-authorization","https:\u002F\u002Fsoubiran.dev\u002Fposts\u002Fnuxt-going-full-stack-how-to-handle-authorization","Security","3rd-party",[2986],{"name":2987,"github":2988,"twitter":2989,"bluesky":2990},"Estéban","barbapapazes","soubiran_","soubiran.dev",{"nuxt":2992,"requires":2993},">=3.0.0",{},"2026-06-26T05:33:17.781Z",[2996,3000,3004,3008,3011],{"id":2997,"username":2998,"contributions":2999},45267552,"Barbapapazes",60,{"id":3001,"username":3002,"contributions":3003},41266342,"zAlweNy26",3,{"id":3005,"username":3006,"contributions":3007},7252657,"maartenvanhunsel",2,{"id":3009,"username":3010,"contributions":3007},343392,"madc",{"id":3012,"username":3013,"contributions":3014},5769861,"stanislav-janu",1,{"version":3016,"downloads":3017,"stars":3018,"watchers":3018,"forks":3019,"defaultBranch":3020,"publishedAt":3021,"createdAt":3022},"0.3.5",17176,359,13,"main",1752673833614,1718198976583,{"data":3024,"body":3026,"toc":7066},{"title":3025,"description":2980},"Nuxt Authorization",{"type":3027,"children":3028},"root",[3029,3036,3091,3096,3105,3120,3133,3139,3169,3175,3180,3222,3227,3233,3245,3252,3257,3270,3528,3541,3553,3782,3805,3823,3828,3841,3853,3858,4079,4084,4360,4365,4371,4398,4403,4416,4610,4655,4660,4759,4764,4770,4811,4823,4877,4885,4943,4954,5014,5021,5086,5097,5144,5151,5189,5194,5406,5447,5467,5484,5490,5495,5713,5724,5737,5926,5960,6152,6165,6292,6297,6367,6372,6410,6416,6435,6772,6777,7026,7032,7046,7051,7060],{"type":3030,"tag":3031,"props":3032,"children":3033},"element","h1",{"id":2979},[3034],{"type":3035,"value":3025},"text",{"type":3030,"tag":3037,"props":3038,"children":3039},"p",{},[3040,3053,3062,3071,3081],{"type":3030,"tag":3041,"props":3042,"children":3046},"a",{"href":3043,"rel":3044},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-authorization",[3045],"nofollow",[3047],{"type":3030,"tag":3048,"props":3049,"children":3052},"img",{"alt":3050,"src":3051},"npm version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-authorization\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3030,"tag":3041,"props":3054,"children":3056},{"href":3043,"rel":3055},[3045],[3057],{"type":3030,"tag":3048,"props":3058,"children":3061},{"alt":3059,"src":3060},"npm downloads","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-authorization.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3030,"tag":3041,"props":3063,"children":3065},{"href":3043,"rel":3064},[3045],[3066],{"type":3030,"tag":3048,"props":3067,"children":3070},{"alt":3068,"src":3069},"License","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-authorization.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3030,"tag":3041,"props":3072,"children":3075},{"href":3073,"rel":3074},"https:\u002F\u002Fnuxt.com",[3045],[3076],{"type":3030,"tag":3048,"props":3077,"children":3080},{"alt":3078,"src":3079},"Nuxt","https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt.js",[],{"type":3030,"tag":3041,"props":3082,"children":3085},{"href":3083,"rel":3084},"https:\u002F\u002Fpkg.pr.new\u002F~\u002FBarbapapazes\u002Fnuxt-authorization",[3045],[3086],{"type":3030,"tag":3048,"props":3087,"children":3090},{"alt":3088,"src":3089},"pkg.pr.new","https:\u002F\u002Fpkg.pr.new\u002Fbadge\u002FBarbapapazes\u002Fnuxt-authorization",[],{"type":3030,"tag":3037,"props":3092,"children":3093},{},[3094],{"type":3035,"value":3095},"Handle authorization with ease in both Nuxt and Nitro.",{"type":3030,"tag":3037,"props":3097,"children":3098},{},[3099],{"type":3030,"tag":3100,"props":3101,"children":3102},"em",{},[3103],{"type":3035,"value":3104},"This module does not implement ACL or RBAC. It provides low-level primitives that you can use to implement your own authorization logic.",{"type":3030,"tag":3106,"props":3107,"children":3108},"blockquote",{},[3109],{"type":3030,"tag":3037,"props":3110,"children":3111},{},[3112,3118],{"type":3030,"tag":3113,"props":3114,"children":3115},"span",{},[3116],{"type":3035,"value":3117},"!NOTE",{"type":3035,"value":3119},"\nIn the future, this module could be available as a Nitro module and a Nuxt module, but Nitro module are not yet ready.",{"type":3030,"tag":3037,"props":3121,"children":3122},{},[3123,3125,3131],{"type":3035,"value":3124},"To learn more about this module and which problem it solves, checkout my blog post about ",{"type":3030,"tag":3041,"props":3126,"children":3128},{"href":2982,"rel":3127},[3045],[3129],{"type":3035,"value":3130},"Authorization in Nuxt",{"type":3035,"value":3132},".",{"type":3030,"tag":3134,"props":3135,"children":3137},"h2",{"id":3136},"features",[3138],{"type":3035,"value":399},{"type":3030,"tag":3140,"props":3141,"children":3142},"ul",{},[3143,3149,3154,3159,3164],{"type":3030,"tag":3144,"props":3145,"children":3146},"li",{},[3147],{"type":3035,"value":3148},"⛰  Works on both the client (Nuxt) and the server (Nitro)",{"type":3030,"tag":3144,"props":3150,"children":3151},{},[3152],{"type":3035,"value":3153},"🌟  Write abilities once and use them everywhere",{"type":3030,"tag":3144,"props":3155,"children":3156},{},[3157],{"type":3035,"value":3158},"👨‍👩‍👧‍👦  Agnostic of the authentication layer",{"type":3030,"tag":3144,"props":3160,"children":3161},{},[3162],{"type":3035,"value":3163},"🫸  Use components to conditionally show part of the UI",{"type":3030,"tag":3144,"props":3165,"children":3166},{},[3167],{"type":3035,"value":3168},"💧  Primitives are can be accessed for a full customization",{"type":3030,"tag":3134,"props":3170,"children":3172},{"id":3171},"quick-setup",[3173],{"type":3035,"value":3174},"Quick Setup",{"type":3030,"tag":3037,"props":3176,"children":3177},{},[3178],{"type":3035,"value":3179},"Install the module to your Nuxt application with one command:",{"type":3030,"tag":3181,"props":3182,"children":3186},"pre",{"className":3183,"code":3184,"language":3185,"meta":2980,"style":2980},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi module add nuxt-authorization\n","bash",[3187],{"type":3030,"tag":3188,"props":3189,"children":3190},"code",{"__ignoreMap":2980},[3191],{"type":3030,"tag":3113,"props":3192,"children":3194},{"class":3193,"line":3014},"line",[3195,3201,3207,3212,3217],{"type":3030,"tag":3113,"props":3196,"children":3198},{"style":3197},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[3199],{"type":3035,"value":3200},"npx",{"type":3030,"tag":3113,"props":3202,"children":3204},{"style":3203},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[3205],{"type":3035,"value":3206}," nuxi",{"type":3030,"tag":3113,"props":3208,"children":3209},{"style":3203},[3210],{"type":3035,"value":3211}," module",{"type":3030,"tag":3113,"props":3213,"children":3214},{"style":3203},[3215],{"type":3035,"value":3216}," add",{"type":3030,"tag":3113,"props":3218,"children":3219},{"style":3203},[3220],{"type":3035,"value":3221}," nuxt-authorization\n",{"type":3030,"tag":3037,"props":3223,"children":3224},{},[3225],{"type":3035,"value":3226},"That's it! You can now use the module in your Nuxt app ✨",{"type":3030,"tag":3134,"props":3228,"children":3230},{"id":3229},"documentation",[3231],{"type":3035,"value":3232},"Documentation",{"type":3030,"tag":3106,"props":3234,"children":3235},{},[3236],{"type":3030,"tag":3037,"props":3237,"children":3238},{},[3239,3243],{"type":3030,"tag":3113,"props":3240,"children":3241},{},[3242],{"type":3035,"value":3117},{"type":3035,"value":3244},"\nYou can take a look at the playground to see the module in action.",{"type":3030,"tag":3246,"props":3247,"children":3249},"h3",{"id":3248},"setup",[3250],{"type":3035,"value":3251},"Setup",{"type":3030,"tag":3037,"props":3253,"children":3254},{},[3255],{"type":3035,"value":3256},"Before using the module and defining your first ability, you need to provide 2 resolvers. These functions are used internally to retrieve the user but you must implement them. This allows the module to be agnostic of the authentication layer.",{"type":3030,"tag":3037,"props":3258,"children":3259},{},[3260,3262,3268],{"type":3035,"value":3261},"For the Nuxt app, create a new plugin in ",{"type":3030,"tag":3188,"props":3263,"children":3265},{"className":3264},[],[3266],{"type":3035,"value":3267},"plugins\u002Fauthorization-resolver.ts",{"type":3035,"value":3269},":",{"type":3030,"tag":3181,"props":3271,"children":3275},{"className":3272,"code":3273,"language":3274,"meta":2980,"style":2980},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtPlugin({\n  name: 'authorization-resolver',\n  parallel: true,\n  setup() {\n    return {\n      provide: {\n        authorization: {\n          resolveClientUser: () => {\n            \u002F\u002F Your logic to retrieve the user from the client\n          },\n        },\n      },\n    }\n  },\n})\n","ts",[3276],{"type":3030,"tag":3188,"props":3277,"children":3278},{"__ignoreMap":2980},[3279,3311,3344,3366,3385,3398,3415,3432,3460,3470,3479,3488,3497,3505,3514],{"type":3030,"tag":3113,"props":3280,"children":3281},{"class":3193,"line":3014},[3282,3288,3293,3299,3305],{"type":3030,"tag":3113,"props":3283,"children":3285},{"style":3284},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3286],{"type":3035,"value":3287},"export",{"type":3030,"tag":3113,"props":3289,"children":3290},{"style":3284},[3291],{"type":3035,"value":3292}," default",{"type":3030,"tag":3113,"props":3294,"children":3296},{"style":3295},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[3297],{"type":3035,"value":3298}," defineNuxtPlugin",{"type":3030,"tag":3113,"props":3300,"children":3302},{"style":3301},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[3303],{"type":3035,"value":3304},"(",{"type":3030,"tag":3113,"props":3306,"children":3308},{"style":3307},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[3309],{"type":3035,"value":3310},"{\n",{"type":3030,"tag":3113,"props":3312,"children":3313},{"class":3193,"line":3007},[3314,3320,3324,3329,3334,3339],{"type":3030,"tag":3113,"props":3315,"children":3317},{"style":3316},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[3318],{"type":3035,"value":3319},"  name",{"type":3030,"tag":3113,"props":3321,"children":3322},{"style":3307},[3323],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3325,"children":3326},{"style":3307},[3327],{"type":3035,"value":3328}," '",{"type":3030,"tag":3113,"props":3330,"children":3331},{"style":3203},[3332],{"type":3035,"value":3333},"authorization-resolver",{"type":3030,"tag":3113,"props":3335,"children":3336},{"style":3307},[3337],{"type":3035,"value":3338},"'",{"type":3030,"tag":3113,"props":3340,"children":3341},{"style":3307},[3342],{"type":3035,"value":3343},",\n",{"type":3030,"tag":3113,"props":3345,"children":3346},{"class":3193,"line":3003},[3347,3352,3356,3362],{"type":3030,"tag":3113,"props":3348,"children":3349},{"style":3316},[3350],{"type":3035,"value":3351},"  parallel",{"type":3030,"tag":3113,"props":3353,"children":3354},{"style":3307},[3355],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3357,"children":3359},{"style":3358},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[3360],{"type":3035,"value":3361}," true",{"type":3030,"tag":3113,"props":3363,"children":3364},{"style":3307},[3365],{"type":3035,"value":3343},{"type":3030,"tag":3113,"props":3367,"children":3369},{"class":3193,"line":3368},4,[3370,3375,3380],{"type":3030,"tag":3113,"props":3371,"children":3372},{"style":3316},[3373],{"type":3035,"value":3374},"  setup",{"type":3030,"tag":3113,"props":3376,"children":3377},{"style":3307},[3378],{"type":3035,"value":3379},"()",{"type":3030,"tag":3113,"props":3381,"children":3382},{"style":3307},[3383],{"type":3035,"value":3384}," {\n",{"type":3030,"tag":3113,"props":3386,"children":3388},{"class":3193,"line":3387},5,[3389,3394],{"type":3030,"tag":3113,"props":3390,"children":3391},{"style":3284},[3392],{"type":3035,"value":3393},"    return",{"type":3030,"tag":3113,"props":3395,"children":3396},{"style":3307},[3397],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3399,"children":3401},{"class":3193,"line":3400},6,[3402,3407,3411],{"type":3030,"tag":3113,"props":3403,"children":3404},{"style":3316},[3405],{"type":3035,"value":3406},"      provide",{"type":3030,"tag":3113,"props":3408,"children":3409},{"style":3307},[3410],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3412,"children":3413},{"style":3307},[3414],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3416,"children":3418},{"class":3193,"line":3417},7,[3419,3424,3428],{"type":3030,"tag":3113,"props":3420,"children":3421},{"style":3316},[3422],{"type":3035,"value":3423},"        authorization",{"type":3030,"tag":3113,"props":3425,"children":3426},{"style":3307},[3427],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3429,"children":3430},{"style":3307},[3431],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3433,"children":3435},{"class":3193,"line":3434},8,[3436,3441,3445,3450,3456],{"type":3030,"tag":3113,"props":3437,"children":3438},{"style":3295},[3439],{"type":3035,"value":3440},"          resolveClientUser",{"type":3030,"tag":3113,"props":3442,"children":3443},{"style":3307},[3444],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3446,"children":3447},{"style":3307},[3448],{"type":3035,"value":3449}," ()",{"type":3030,"tag":3113,"props":3451,"children":3453},{"style":3452},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3454],{"type":3035,"value":3455}," =>",{"type":3030,"tag":3113,"props":3457,"children":3458},{"style":3307},[3459],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3461,"children":3463},{"class":3193,"line":3462},9,[3464],{"type":3030,"tag":3113,"props":3465,"children":3467},{"style":3466},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3468],{"type":3035,"value":3469},"            \u002F\u002F Your logic to retrieve the user from the client\n",{"type":3030,"tag":3113,"props":3471,"children":3473},{"class":3193,"line":3472},10,[3474],{"type":3030,"tag":3113,"props":3475,"children":3476},{"style":3307},[3477],{"type":3035,"value":3478},"          },\n",{"type":3030,"tag":3113,"props":3480,"children":3482},{"class":3193,"line":3481},11,[3483],{"type":3030,"tag":3113,"props":3484,"children":3485},{"style":3307},[3486],{"type":3035,"value":3487},"        },\n",{"type":3030,"tag":3113,"props":3489,"children":3491},{"class":3193,"line":3490},12,[3492],{"type":3030,"tag":3113,"props":3493,"children":3494},{"style":3307},[3495],{"type":3035,"value":3496},"      },\n",{"type":3030,"tag":3113,"props":3498,"children":3499},{"class":3193,"line":3019},[3500],{"type":3030,"tag":3113,"props":3501,"children":3502},{"style":3307},[3503],{"type":3035,"value":3504},"    }\n",{"type":3030,"tag":3113,"props":3506,"children":3508},{"class":3193,"line":3507},14,[3509],{"type":3030,"tag":3113,"props":3510,"children":3511},{"style":3307},[3512],{"type":3035,"value":3513},"  },\n",{"type":3030,"tag":3113,"props":3515,"children":3517},{"class":3193,"line":3516},15,[3518,3523],{"type":3030,"tag":3113,"props":3519,"children":3520},{"style":3307},[3521],{"type":3035,"value":3522},"}",{"type":3030,"tag":3113,"props":3524,"children":3525},{"style":3301},[3526],{"type":3035,"value":3527},")\n",{"type":3030,"tag":3037,"props":3529,"children":3530},{},[3531,3533,3539],{"type":3035,"value":3532},"This function is called every time you check for authorization on the client. It should return the user object or ",{"type":3030,"tag":3188,"props":3534,"children":3536},{"className":3535},[],[3537],{"type":3035,"value":3538},"null",{"type":3035,"value":3540}," if the user is not authenticated. It can by async.",{"type":3030,"tag":3037,"props":3542,"children":3543},{},[3544,3546,3552],{"type":3035,"value":3545},"For the Nitro server, create a new plugin in ",{"type":3030,"tag":3188,"props":3547,"children":3549},{"className":3548},[],[3550],{"type":3035,"value":3551},"server\u002Fplugins\u002Fauthorization-resolver.ts",{"type":3035,"value":3269},{"type":3030,"tag":3181,"props":3554,"children":3556},{"className":3272,"code":3555,"language":3274,"meta":2980,"style":2980},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('request', async (event) => {\n    event.context.$authorization = {\n      resolveServerUser: () => {\n        \u002F\u002F Your logic to retrieve the user from the server\n      },\n    }\n  })\n})\n",[3557],{"type":3030,"tag":3188,"props":3558,"children":3559},{"__ignoreMap":2980},[3560,3603,3678,3713,3737,3745,3752,3759,3771],{"type":3030,"tag":3113,"props":3561,"children":3562},{"class":3193,"line":3014},[3563,3567,3571,3576,3580,3584,3590,3595,3599],{"type":3030,"tag":3113,"props":3564,"children":3565},{"style":3284},[3566],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":3568,"children":3569},{"style":3284},[3570],{"type":3035,"value":3292},{"type":3030,"tag":3113,"props":3572,"children":3573},{"style":3295},[3574],{"type":3035,"value":3575}," defineNitroPlugin",{"type":3030,"tag":3113,"props":3577,"children":3578},{"style":3301},[3579],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":3581,"children":3582},{"style":3307},[3583],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":3585,"children":3587},{"style":3586},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3588],{"type":3035,"value":3589},"nitroApp",{"type":3030,"tag":3113,"props":3591,"children":3592},{"style":3307},[3593],{"type":3035,"value":3594},")",{"type":3030,"tag":3113,"props":3596,"children":3597},{"style":3452},[3598],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":3600,"children":3601},{"style":3307},[3602],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3604,"children":3605},{"class":3193,"line":3007},[3606,3611,3615,3620,3624,3629,3633,3637,3642,3646,3651,3656,3661,3666,3670,3674],{"type":3030,"tag":3113,"props":3607,"children":3608},{"style":3301},[3609],{"type":3035,"value":3610},"  nitroApp",{"type":3030,"tag":3113,"props":3612,"children":3613},{"style":3307},[3614],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":3616,"children":3617},{"style":3301},[3618],{"type":3035,"value":3619},"hooks",{"type":3030,"tag":3113,"props":3621,"children":3622},{"style":3307},[3623],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":3625,"children":3626},{"style":3295},[3627],{"type":3035,"value":3628},"hook",{"type":3030,"tag":3113,"props":3630,"children":3631},{"style":3316},[3632],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":3634,"children":3635},{"style":3307},[3636],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":3638,"children":3639},{"style":3203},[3640],{"type":3035,"value":3641},"request",{"type":3030,"tag":3113,"props":3643,"children":3644},{"style":3307},[3645],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":3647,"children":3648},{"style":3307},[3649],{"type":3035,"value":3650},",",{"type":3030,"tag":3113,"props":3652,"children":3653},{"style":3452},[3654],{"type":3035,"value":3655}," async",{"type":3030,"tag":3113,"props":3657,"children":3658},{"style":3307},[3659],{"type":3035,"value":3660}," (",{"type":3030,"tag":3113,"props":3662,"children":3663},{"style":3586},[3664],{"type":3035,"value":3665},"event",{"type":3030,"tag":3113,"props":3667,"children":3668},{"style":3307},[3669],{"type":3035,"value":3594},{"type":3030,"tag":3113,"props":3671,"children":3672},{"style":3452},[3673],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":3675,"children":3676},{"style":3307},[3677],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3679,"children":3680},{"class":3193,"line":3003},[3681,3686,3690,3695,3699,3704,3709],{"type":3030,"tag":3113,"props":3682,"children":3683},{"style":3301},[3684],{"type":3035,"value":3685},"    event",{"type":3030,"tag":3113,"props":3687,"children":3688},{"style":3307},[3689],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":3691,"children":3692},{"style":3301},[3693],{"type":3035,"value":3694},"context",{"type":3030,"tag":3113,"props":3696,"children":3697},{"style":3307},[3698],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":3700,"children":3701},{"style":3301},[3702],{"type":3035,"value":3703},"$authorization",{"type":3030,"tag":3113,"props":3705,"children":3706},{"style":3307},[3707],{"type":3035,"value":3708}," =",{"type":3030,"tag":3113,"props":3710,"children":3711},{"style":3307},[3712],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3714,"children":3715},{"class":3193,"line":3368},[3716,3721,3725,3729,3733],{"type":3030,"tag":3113,"props":3717,"children":3718},{"style":3295},[3719],{"type":3035,"value":3720},"      resolveServerUser",{"type":3030,"tag":3113,"props":3722,"children":3723},{"style":3307},[3724],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3726,"children":3727},{"style":3307},[3728],{"type":3035,"value":3449},{"type":3030,"tag":3113,"props":3730,"children":3731},{"style":3452},[3732],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":3734,"children":3735},{"style":3307},[3736],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3738,"children":3739},{"class":3193,"line":3387},[3740],{"type":3030,"tag":3113,"props":3741,"children":3742},{"style":3466},[3743],{"type":3035,"value":3744},"        \u002F\u002F Your logic to retrieve the user from the server\n",{"type":3030,"tag":3113,"props":3746,"children":3747},{"class":3193,"line":3400},[3748],{"type":3030,"tag":3113,"props":3749,"children":3750},{"style":3307},[3751],{"type":3035,"value":3496},{"type":3030,"tag":3113,"props":3753,"children":3754},{"class":3193,"line":3417},[3755],{"type":3030,"tag":3113,"props":3756,"children":3757},{"style":3307},[3758],{"type":3035,"value":3504},{"type":3030,"tag":3113,"props":3760,"children":3761},{"class":3193,"line":3434},[3762,3767],{"type":3030,"tag":3113,"props":3763,"children":3764},{"style":3307},[3765],{"type":3035,"value":3766},"  }",{"type":3030,"tag":3113,"props":3768,"children":3769},{"style":3316},[3770],{"type":3035,"value":3527},{"type":3030,"tag":3113,"props":3772,"children":3773},{"class":3193,"line":3462},[3774,3778],{"type":3030,"tag":3113,"props":3775,"children":3776},{"style":3307},[3777],{"type":3035,"value":3522},{"type":3030,"tag":3113,"props":3779,"children":3780},{"style":3301},[3781],{"type":3035,"value":3527},{"type":3030,"tag":3106,"props":3783,"children":3784},{},[3785],{"type":3030,"tag":3037,"props":3786,"children":3787},{},[3788,3792,3794],{"type":3030,"tag":3113,"props":3789,"children":3790},{},[3791],{"type":3035,"value":3117},{"type":3035,"value":3793},"\nRead more about the ",{"type":3030,"tag":3041,"props":3795,"children":3798},{"href":3796,"rel":3797},"https:\u002F\u002Fh3.unjs.io\u002Fguide\u002Fevent#eventcontext",[3045],[3799],{"type":3030,"tag":3188,"props":3800,"children":3802},{"className":3801},[],[3803],{"type":3035,"value":3804},"event.context",{"type":3030,"tag":3037,"props":3806,"children":3807},{},[3808,3810,3815,3817,3822],{"type":3035,"value":3809},"This resolver is setup within the hook ",{"type":3030,"tag":3188,"props":3811,"children":3813},{"className":3812},[],[3814],{"type":3035,"value":3641},{"type":3035,"value":3816}," and receive the event. You can use it to retrieve the user from the session or the request. It should return the user object or ",{"type":3030,"tag":3188,"props":3818,"children":3820},{"className":3819},[],[3821],{"type":3035,"value":3538},{"type":3035,"value":3540},{"type":3030,"tag":3037,"props":3824,"children":3825},{},[3826],{"type":3035,"value":3827},"Generally, you use a plugin to fetch the user when the app starts and then store it. Resolver functions should only return the stored user and not fetch it again (otherwise, you could have severe performance issues).",{"type":3030,"tag":3829,"props":3830,"children":3832},"h4",{"id":3831},"example-with-nuxt-auth-utils",[3833,3835],{"type":3035,"value":3834},"Example with ",{"type":3030,"tag":3188,"props":3836,"children":3838},{"className":3837},[],[3839],{"type":3035,"value":3840},"nuxt-auth-utils",{"type":3030,"tag":3037,"props":3842,"children":3843},{},[3844,3846,3851],{"type":3035,"value":3845},"The module ",{"type":3030,"tag":3188,"props":3847,"children":3849},{"className":3848},[],[3850],{"type":3035,"value":3840},{"type":3035,"value":3852}," provides an authentication layer for Nuxt. If you use this module, you can use the following resolvers:",{"type":3030,"tag":3037,"props":3854,"children":3855},{},[3856],{"type":3035,"value":3857},"Nuxt plugin:",{"type":3030,"tag":3181,"props":3859,"children":3861},{"className":3272,"code":3860,"language":3274,"meta":2980,"style":2980},"export default defineNuxtPlugin({\n  name: 'authorization-resolver',\n  parallel: true,\n  setup() {\n    return {\n      provide: {\n        authorization: {\n          resolveClientUser: () => useUserSession().user.value,\n        },\n      },\n    }\n  },\n})\n",[3862],{"type":3030,"tag":3188,"props":3863,"children":3864},{"__ignoreMap":2980},[3865,3888,3915,3934,3949,3960,3975,3990,4040,4047,4054,4061,4068],{"type":3030,"tag":3113,"props":3866,"children":3867},{"class":3193,"line":3014},[3868,3872,3876,3880,3884],{"type":3030,"tag":3113,"props":3869,"children":3870},{"style":3284},[3871],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":3873,"children":3874},{"style":3284},[3875],{"type":3035,"value":3292},{"type":3030,"tag":3113,"props":3877,"children":3878},{"style":3295},[3879],{"type":3035,"value":3298},{"type":3030,"tag":3113,"props":3881,"children":3882},{"style":3301},[3883],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":3885,"children":3886},{"style":3307},[3887],{"type":3035,"value":3310},{"type":3030,"tag":3113,"props":3889,"children":3890},{"class":3193,"line":3007},[3891,3895,3899,3903,3907,3911],{"type":3030,"tag":3113,"props":3892,"children":3893},{"style":3316},[3894],{"type":3035,"value":3319},{"type":3030,"tag":3113,"props":3896,"children":3897},{"style":3307},[3898],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3900,"children":3901},{"style":3307},[3902],{"type":3035,"value":3328},{"type":3030,"tag":3113,"props":3904,"children":3905},{"style":3203},[3906],{"type":3035,"value":3333},{"type":3030,"tag":3113,"props":3908,"children":3909},{"style":3307},[3910],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":3912,"children":3913},{"style":3307},[3914],{"type":3035,"value":3343},{"type":3030,"tag":3113,"props":3916,"children":3917},{"class":3193,"line":3003},[3918,3922,3926,3930],{"type":3030,"tag":3113,"props":3919,"children":3920},{"style":3316},[3921],{"type":3035,"value":3351},{"type":3030,"tag":3113,"props":3923,"children":3924},{"style":3307},[3925],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3927,"children":3928},{"style":3358},[3929],{"type":3035,"value":3361},{"type":3030,"tag":3113,"props":3931,"children":3932},{"style":3307},[3933],{"type":3035,"value":3343},{"type":3030,"tag":3113,"props":3935,"children":3936},{"class":3193,"line":3368},[3937,3941,3945],{"type":3030,"tag":3113,"props":3938,"children":3939},{"style":3316},[3940],{"type":3035,"value":3374},{"type":3030,"tag":3113,"props":3942,"children":3943},{"style":3307},[3944],{"type":3035,"value":3379},{"type":3030,"tag":3113,"props":3946,"children":3947},{"style":3307},[3948],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3950,"children":3951},{"class":3193,"line":3387},[3952,3956],{"type":3030,"tag":3113,"props":3953,"children":3954},{"style":3284},[3955],{"type":3035,"value":3393},{"type":3030,"tag":3113,"props":3957,"children":3958},{"style":3307},[3959],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3961,"children":3962},{"class":3193,"line":3400},[3963,3967,3971],{"type":3030,"tag":3113,"props":3964,"children":3965},{"style":3316},[3966],{"type":3035,"value":3406},{"type":3030,"tag":3113,"props":3968,"children":3969},{"style":3307},[3970],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3972,"children":3973},{"style":3307},[3974],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3976,"children":3977},{"class":3193,"line":3417},[3978,3982,3986],{"type":3030,"tag":3113,"props":3979,"children":3980},{"style":3316},[3981],{"type":3035,"value":3423},{"type":3030,"tag":3113,"props":3983,"children":3984},{"style":3307},[3985],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":3987,"children":3988},{"style":3307},[3989],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":3991,"children":3992},{"class":3193,"line":3434},[3993,3997,4001,4005,4009,4014,4018,4022,4027,4031,4036],{"type":3030,"tag":3113,"props":3994,"children":3995},{"style":3295},[3996],{"type":3035,"value":3440},{"type":3030,"tag":3113,"props":3998,"children":3999},{"style":3307},[4000],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":4002,"children":4003},{"style":3307},[4004],{"type":3035,"value":3449},{"type":3030,"tag":3113,"props":4006,"children":4007},{"style":3452},[4008],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4010,"children":4011},{"style":3295},[4012],{"type":3035,"value":4013}," useUserSession",{"type":3030,"tag":3113,"props":4015,"children":4016},{"style":3316},[4017],{"type":3035,"value":3379},{"type":3030,"tag":3113,"props":4019,"children":4020},{"style":3307},[4021],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4023,"children":4024},{"style":3301},[4025],{"type":3035,"value":4026},"user",{"type":3030,"tag":3113,"props":4028,"children":4029},{"style":3307},[4030],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4032,"children":4033},{"style":3301},[4034],{"type":3035,"value":4035},"value",{"type":3030,"tag":3113,"props":4037,"children":4038},{"style":3307},[4039],{"type":3035,"value":3343},{"type":3030,"tag":3113,"props":4041,"children":4042},{"class":3193,"line":3462},[4043],{"type":3030,"tag":3113,"props":4044,"children":4045},{"style":3307},[4046],{"type":3035,"value":3487},{"type":3030,"tag":3113,"props":4048,"children":4049},{"class":3193,"line":3472},[4050],{"type":3030,"tag":3113,"props":4051,"children":4052},{"style":3307},[4053],{"type":3035,"value":3496},{"type":3030,"tag":3113,"props":4055,"children":4056},{"class":3193,"line":3481},[4057],{"type":3030,"tag":3113,"props":4058,"children":4059},{"style":3307},[4060],{"type":3035,"value":3504},{"type":3030,"tag":3113,"props":4062,"children":4063},{"class":3193,"line":3490},[4064],{"type":3030,"tag":3113,"props":4065,"children":4066},{"style":3307},[4067],{"type":3035,"value":3513},{"type":3030,"tag":3113,"props":4069,"children":4070},{"class":3193,"line":3019},[4071,4075],{"type":3030,"tag":3113,"props":4072,"children":4073},{"style":3307},[4074],{"type":3035,"value":3522},{"type":3030,"tag":3113,"props":4076,"children":4077},{"style":3301},[4078],{"type":3035,"value":3527},{"type":3030,"tag":3037,"props":4080,"children":4081},{},[4082],{"type":3035,"value":4083},"Nitro plugin:",{"type":3030,"tag":3181,"props":4085,"children":4087},{"className":3272,"code":4086,"language":3274,"meta":2980,"style":2980},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('request', async (event) => {\n    event.context.$authorization = {\n      resolveServerUser: async () => {\n        const session = await getUserSession(event)\n        return session.user ?? null\n      },\n    }\n  })\n})\n",[4088],{"type":3030,"tag":3188,"props":4089,"children":4090},{"__ignoreMap":2980},[4091,4130,4197,4228,4255,4294,4324,4331,4338,4349],{"type":3030,"tag":3113,"props":4092,"children":4093},{"class":3193,"line":3014},[4094,4098,4102,4106,4110,4114,4118,4122,4126],{"type":3030,"tag":3113,"props":4095,"children":4096},{"style":3284},[4097],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":4099,"children":4100},{"style":3284},[4101],{"type":3035,"value":3292},{"type":3030,"tag":3113,"props":4103,"children":4104},{"style":3295},[4105],{"type":3035,"value":3575},{"type":3030,"tag":3113,"props":4107,"children":4108},{"style":3301},[4109],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4111,"children":4112},{"style":3307},[4113],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4115,"children":4116},{"style":3586},[4117],{"type":3035,"value":3589},{"type":3030,"tag":3113,"props":4119,"children":4120},{"style":3307},[4121],{"type":3035,"value":3594},{"type":3030,"tag":3113,"props":4123,"children":4124},{"style":3452},[4125],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4127,"children":4128},{"style":3307},[4129],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":4131,"children":4132},{"class":3193,"line":3007},[4133,4137,4141,4145,4149,4153,4157,4161,4165,4169,4173,4177,4181,4185,4189,4193],{"type":3030,"tag":3113,"props":4134,"children":4135},{"style":3301},[4136],{"type":3035,"value":3610},{"type":3030,"tag":3113,"props":4138,"children":4139},{"style":3307},[4140],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4142,"children":4143},{"style":3301},[4144],{"type":3035,"value":3619},{"type":3030,"tag":3113,"props":4146,"children":4147},{"style":3307},[4148],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4150,"children":4151},{"style":3295},[4152],{"type":3035,"value":3628},{"type":3030,"tag":3113,"props":4154,"children":4155},{"style":3316},[4156],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4158,"children":4159},{"style":3307},[4160],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":4162,"children":4163},{"style":3203},[4164],{"type":3035,"value":3641},{"type":3030,"tag":3113,"props":4166,"children":4167},{"style":3307},[4168],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":4170,"children":4171},{"style":3307},[4172],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":4174,"children":4175},{"style":3452},[4176],{"type":3035,"value":3655},{"type":3030,"tag":3113,"props":4178,"children":4179},{"style":3307},[4180],{"type":3035,"value":3660},{"type":3030,"tag":3113,"props":4182,"children":4183},{"style":3586},[4184],{"type":3035,"value":3665},{"type":3030,"tag":3113,"props":4186,"children":4187},{"style":3307},[4188],{"type":3035,"value":3594},{"type":3030,"tag":3113,"props":4190,"children":4191},{"style":3452},[4192],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4194,"children":4195},{"style":3307},[4196],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":4198,"children":4199},{"class":3193,"line":3003},[4200,4204,4208,4212,4216,4220,4224],{"type":3030,"tag":3113,"props":4201,"children":4202},{"style":3301},[4203],{"type":3035,"value":3685},{"type":3030,"tag":3113,"props":4205,"children":4206},{"style":3307},[4207],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4209,"children":4210},{"style":3301},[4211],{"type":3035,"value":3694},{"type":3030,"tag":3113,"props":4213,"children":4214},{"style":3307},[4215],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4217,"children":4218},{"style":3301},[4219],{"type":3035,"value":3703},{"type":3030,"tag":3113,"props":4221,"children":4222},{"style":3307},[4223],{"type":3035,"value":3708},{"type":3030,"tag":3113,"props":4225,"children":4226},{"style":3307},[4227],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":4229,"children":4230},{"class":3193,"line":3368},[4231,4235,4239,4243,4247,4251],{"type":3030,"tag":3113,"props":4232,"children":4233},{"style":3295},[4234],{"type":3035,"value":3720},{"type":3030,"tag":3113,"props":4236,"children":4237},{"style":3307},[4238],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":4240,"children":4241},{"style":3452},[4242],{"type":3035,"value":3655},{"type":3030,"tag":3113,"props":4244,"children":4245},{"style":3307},[4246],{"type":3035,"value":3449},{"type":3030,"tag":3113,"props":4248,"children":4249},{"style":3452},[4250],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4252,"children":4253},{"style":3307},[4254],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":4256,"children":4257},{"class":3193,"line":3387},[4258,4263,4268,4272,4277,4282,4286,4290],{"type":3030,"tag":3113,"props":4259,"children":4260},{"style":3452},[4261],{"type":3035,"value":4262},"        const",{"type":3030,"tag":3113,"props":4264,"children":4265},{"style":3301},[4266],{"type":3035,"value":4267}," session",{"type":3030,"tag":3113,"props":4269,"children":4270},{"style":3307},[4271],{"type":3035,"value":3708},{"type":3030,"tag":3113,"props":4273,"children":4274},{"style":3284},[4275],{"type":3035,"value":4276}," await",{"type":3030,"tag":3113,"props":4278,"children":4279},{"style":3295},[4280],{"type":3035,"value":4281}," getUserSession",{"type":3030,"tag":3113,"props":4283,"children":4284},{"style":3316},[4285],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4287,"children":4288},{"style":3301},[4289],{"type":3035,"value":3665},{"type":3030,"tag":3113,"props":4291,"children":4292},{"style":3316},[4293],{"type":3035,"value":3527},{"type":3030,"tag":3113,"props":4295,"children":4296},{"class":3193,"line":3400},[4297,4302,4306,4310,4314,4319],{"type":3030,"tag":3113,"props":4298,"children":4299},{"style":3284},[4300],{"type":3035,"value":4301},"        return",{"type":3030,"tag":3113,"props":4303,"children":4304},{"style":3301},[4305],{"type":3035,"value":4267},{"type":3030,"tag":3113,"props":4307,"children":4308},{"style":3307},[4309],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4311,"children":4312},{"style":3301},[4313],{"type":3035,"value":4026},{"type":3030,"tag":3113,"props":4315,"children":4316},{"style":3307},[4317],{"type":3035,"value":4318}," ??",{"type":3030,"tag":3113,"props":4320,"children":4321},{"style":3307},[4322],{"type":3035,"value":4323}," null\n",{"type":3030,"tag":3113,"props":4325,"children":4326},{"class":3193,"line":3417},[4327],{"type":3030,"tag":3113,"props":4328,"children":4329},{"style":3307},[4330],{"type":3035,"value":3496},{"type":3030,"tag":3113,"props":4332,"children":4333},{"class":3193,"line":3434},[4334],{"type":3030,"tag":3113,"props":4335,"children":4336},{"style":3307},[4337],{"type":3035,"value":3504},{"type":3030,"tag":3113,"props":4339,"children":4340},{"class":3193,"line":3462},[4341,4345],{"type":3030,"tag":3113,"props":4342,"children":4343},{"style":3307},[4344],{"type":3035,"value":3766},{"type":3030,"tag":3113,"props":4346,"children":4347},{"style":3316},[4348],{"type":3035,"value":3527},{"type":3030,"tag":3113,"props":4350,"children":4351},{"class":3193,"line":3472},[4352,4356],{"type":3030,"tag":3113,"props":4353,"children":4354},{"style":3307},[4355],{"type":3035,"value":3522},{"type":3030,"tag":3113,"props":4357,"children":4358},{"style":3301},[4359],{"type":3035,"value":3527},{"type":3030,"tag":3037,"props":4361,"children":4362},{},[4363],{"type":3035,"value":4364},"Easy!",{"type":3030,"tag":3246,"props":4366,"children":4368},{"id":4367},"define-abilities",[4369],{"type":3035,"value":4370},"Define Abilities",{"type":3030,"tag":3106,"props":4372,"children":4373},{},[4374],{"type":3030,"tag":3037,"props":4375,"children":4376},{},[4377,4381,4383,4388,4390,4397],{"type":3030,"tag":3113,"props":4378,"children":4379},{},[4380],{"type":3035,"value":3117},{"type":3035,"value":4382},"\nWith Nuxt 4, a new ",{"type":3030,"tag":3188,"props":4384,"children":4386},{"className":4385},[],[4387],{"type":3035,"value":190},{"type":3035,"value":4389}," directory will be introduced to easily share code between the client and the server.\nSee ",{"type":3030,"tag":3041,"props":4391,"children":4394},{"href":4392,"rel":4393},"https:\u002F\u002Fyoutu.be\u002F_m5ct5e8nVo?si=2iNcPVMttlIq5fLR",[3045],[4395],{"type":3035,"value":4396},"the video from Alexander Lichter",{"type":3035,"value":3132},{"type":3030,"tag":3037,"props":4399,"children":4400},{},[4401],{"type":3035,"value":4402},"Now the resolvers are set up, you can define your first ability. An ability is a function that takes at least the user, and returns a boolean to indicate if the user can perform the action. It can also take additional arguments.",{"type":3030,"tag":3037,"props":4404,"children":4405},{},[4406,4408,4414],{"type":3035,"value":4407},"I recommend to create a new file ",{"type":3030,"tag":3188,"props":4409,"children":4411},{"className":4410},[],[4412],{"type":3035,"value":4413},"shared\u002Futils\u002Fabilities.ts",{"type":3035,"value":4415}," to create your abilities:",{"type":3030,"tag":3181,"props":4417,"children":4419},{"className":3272,"code":4418,"language":3274,"meta":2980,"style":2980},"export const listPosts = defineAbility(() => true) \u002F\u002F Only authenticated users can list posts\n\nexport const editPost = defineAbility((user: User, post: Post) => {\n  return user.id === post.authorId\n})\n",[4420],{"type":3030,"tag":3188,"props":4421,"children":4422},{"__ignoreMap":2980},[4423,4476,4484,4559,4599],{"type":3030,"tag":3113,"props":4424,"children":4425},{"class":3193,"line":3014},[4426,4430,4435,4440,4445,4450,4454,4458,4462,4466,4471],{"type":3030,"tag":3113,"props":4427,"children":4428},{"style":3284},[4429],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":4431,"children":4432},{"style":3452},[4433],{"type":3035,"value":4434}," const",{"type":3030,"tag":3113,"props":4436,"children":4437},{"style":3301},[4438],{"type":3035,"value":4439}," listPosts ",{"type":3030,"tag":3113,"props":4441,"children":4442},{"style":3307},[4443],{"type":3035,"value":4444},"=",{"type":3030,"tag":3113,"props":4446,"children":4447},{"style":3295},[4448],{"type":3035,"value":4449}," defineAbility",{"type":3030,"tag":3113,"props":4451,"children":4452},{"style":3301},[4453],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4455,"children":4456},{"style":3307},[4457],{"type":3035,"value":3379},{"type":3030,"tag":3113,"props":4459,"children":4460},{"style":3452},[4461],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4463,"children":4464},{"style":3358},[4465],{"type":3035,"value":3361},{"type":3030,"tag":3113,"props":4467,"children":4468},{"style":3301},[4469],{"type":3035,"value":4470},") ",{"type":3030,"tag":3113,"props":4472,"children":4473},{"style":3466},[4474],{"type":3035,"value":4475},"\u002F\u002F Only authenticated users can list posts\n",{"type":3030,"tag":3113,"props":4477,"children":4478},{"class":3193,"line":3007},[4479],{"type":3030,"tag":3113,"props":4480,"children":4481},{"emptyLinePlaceholder":1200},[4482],{"type":3035,"value":4483},"\n",{"type":3030,"tag":3113,"props":4485,"children":4486},{"class":3193,"line":3003},[4487,4491,4495,4500,4504,4508,4512,4516,4520,4524,4529,4533,4538,4542,4547,4551,4555],{"type":3030,"tag":3113,"props":4488,"children":4489},{"style":3284},[4490],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":4492,"children":4493},{"style":3452},[4494],{"type":3035,"value":4434},{"type":3030,"tag":3113,"props":4496,"children":4497},{"style":3301},[4498],{"type":3035,"value":4499}," editPost ",{"type":3030,"tag":3113,"props":4501,"children":4502},{"style":3307},[4503],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":4505,"children":4506},{"style":3295},[4507],{"type":3035,"value":4449},{"type":3030,"tag":3113,"props":4509,"children":4510},{"style":3301},[4511],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4513,"children":4514},{"style":3307},[4515],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4517,"children":4518},{"style":3586},[4519],{"type":3035,"value":4026},{"type":3030,"tag":3113,"props":4521,"children":4522},{"style":3307},[4523],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":4525,"children":4526},{"style":3197},[4527],{"type":3035,"value":4528}," User",{"type":3030,"tag":3113,"props":4530,"children":4531},{"style":3307},[4532],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":4534,"children":4535},{"style":3586},[4536],{"type":3035,"value":4537}," post",{"type":3030,"tag":3113,"props":4539,"children":4540},{"style":3307},[4541],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":4543,"children":4544},{"style":3197},[4545],{"type":3035,"value":4546}," Post",{"type":3030,"tag":3113,"props":4548,"children":4549},{"style":3307},[4550],{"type":3035,"value":3594},{"type":3030,"tag":3113,"props":4552,"children":4553},{"style":3452},[4554],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4556,"children":4557},{"style":3307},[4558],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":4560,"children":4561},{"class":3193,"line":3368},[4562,4567,4572,4576,4581,4586,4590,4594],{"type":3030,"tag":3113,"props":4563,"children":4564},{"style":3284},[4565],{"type":3035,"value":4566},"  return",{"type":3030,"tag":3113,"props":4568,"children":4569},{"style":3301},[4570],{"type":3035,"value":4571}," user",{"type":3030,"tag":3113,"props":4573,"children":4574},{"style":3307},[4575],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4577,"children":4578},{"style":3301},[4579],{"type":3035,"value":4580},"id",{"type":3030,"tag":3113,"props":4582,"children":4583},{"style":3307},[4584],{"type":3035,"value":4585}," ===",{"type":3030,"tag":3113,"props":4587,"children":4588},{"style":3301},[4589],{"type":3035,"value":4537},{"type":3030,"tag":3113,"props":4591,"children":4592},{"style":3307},[4593],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":4595,"children":4596},{"style":3301},[4597],{"type":3035,"value":4598},"authorId\n",{"type":3030,"tag":3113,"props":4600,"children":4601},{"class":3193,"line":3387},[4602,4606],{"type":3030,"tag":3113,"props":4603,"children":4604},{"style":3307},[4605],{"type":3035,"value":3522},{"type":3030,"tag":3113,"props":4607,"children":4608},{"style":3301},[4609],{"type":3035,"value":3527},{"type":3030,"tag":3037,"props":4611,"children":4612},{},[4613,4615,4621,4623,4629,4631,4637,4639,4645,4647,4653],{"type":3035,"value":4614},"If you have many abilities, you could prefer to create a directory ",{"type":3030,"tag":3188,"props":4616,"children":4618},{"className":4617},[],[4619],{"type":3035,"value":4620},"shared\u002Futils\u002Fabilities\u002F",{"type":3035,"value":4622}," and create a file for each ability. Having the abilities in the ",{"type":3030,"tag":3188,"props":4624,"children":4626},{"className":4625},[],[4627],{"type":3035,"value":4628},"shared\u002Futils",{"type":3035,"value":4630}," directory allows auto-import to work in the client while having a simple import in the server ",{"type":3030,"tag":3188,"props":4632,"children":4634},{"className":4633},[],[4635],{"type":3035,"value":4636},"~~\u002Fshared\u002Futils\u002Fabilities",{"type":3035,"value":4638},". ",{"type":3030,"tag":4640,"props":4641,"children":4642},"strong",{},[4643],{"type":3035,"value":4644},"Remember that the shared folder only exports the first level of the directory.",{"type":3035,"value":4646}," So you have to export the abilities in the ",{"type":3030,"tag":3188,"props":4648,"children":4650},{"className":4649},[],[4651],{"type":3035,"value":4652},"shared\u002Futils\u002Fabilities\u002Findex.ts",{"type":3035,"value":4654}," file.",{"type":3030,"tag":3037,"props":4656,"children":4657},{},[4658],{"type":3035,"value":4659},"By default, guests are not allowed to perform any action and the ability is not called. This behavior can be changed per ability:",{"type":3030,"tag":3181,"props":4661,"children":4663},{"className":3272,"code":4662,"language":3274,"meta":2980,"style":2980},"export const listPosts = defineAbility({ allowGuest: true }, (user: User | null) => true)\n",[4664],{"type":3030,"tag":3188,"props":4665,"children":4666},{"__ignoreMap":2980},[4667],{"type":3030,"tag":3113,"props":4668,"children":4669},{"class":3193,"line":3014},[4670,4674,4678,4682,4686,4690,4694,4699,4704,4708,4712,4717,4721,4725,4729,4733,4738,4743,4747,4751,4755],{"type":3030,"tag":3113,"props":4671,"children":4672},{"style":3284},[4673],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":4675,"children":4676},{"style":3452},[4677],{"type":3035,"value":4434},{"type":3030,"tag":3113,"props":4679,"children":4680},{"style":3301},[4681],{"type":3035,"value":4439},{"type":3030,"tag":3113,"props":4683,"children":4684},{"style":3307},[4685],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":4687,"children":4688},{"style":3295},[4689],{"type":3035,"value":4449},{"type":3030,"tag":3113,"props":4691,"children":4692},{"style":3301},[4693],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":4695,"children":4696},{"style":3307},[4697],{"type":3035,"value":4698},"{",{"type":3030,"tag":3113,"props":4700,"children":4701},{"style":3316},[4702],{"type":3035,"value":4703}," allowGuest",{"type":3030,"tag":3113,"props":4705,"children":4706},{"style":3307},[4707],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":4709,"children":4710},{"style":3358},[4711],{"type":3035,"value":3361},{"type":3030,"tag":3113,"props":4713,"children":4714},{"style":3307},[4715],{"type":3035,"value":4716}," },",{"type":3030,"tag":3113,"props":4718,"children":4719},{"style":3307},[4720],{"type":3035,"value":3660},{"type":3030,"tag":3113,"props":4722,"children":4723},{"style":3586},[4724],{"type":3035,"value":4026},{"type":3030,"tag":3113,"props":4726,"children":4727},{"style":3307},[4728],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":4730,"children":4731},{"style":3197},[4732],{"type":3035,"value":4528},{"type":3030,"tag":3113,"props":4734,"children":4735},{"style":3307},[4736],{"type":3035,"value":4737}," |",{"type":3030,"tag":3113,"props":4739,"children":4740},{"style":3197},[4741],{"type":3035,"value":4742}," null",{"type":3030,"tag":3113,"props":4744,"children":4745},{"style":3307},[4746],{"type":3035,"value":3594},{"type":3030,"tag":3113,"props":4748,"children":4749},{"style":3452},[4750],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":4752,"children":4753},{"style":3358},[4754],{"type":3035,"value":3361},{"type":3030,"tag":3113,"props":4756,"children":4757},{"style":3301},[4758],{"type":3035,"value":3527},{"type":3030,"tag":3037,"props":4760,"children":4761},{},[4762],{"type":3035,"value":4763},"Now, unauthenticated users can list posts.",{"type":3030,"tag":3246,"props":4765,"children":4767},{"id":4766},"use-abilities",[4768],{"type":3035,"value":4769},"Use Abilities",{"type":3030,"tag":3037,"props":4771,"children":4772},{},[4773,4775,4781,4783,4789,4791,4797,4799],{"type":3035,"value":4774},"To use ability, you have access to 3 bouncer functions: ",{"type":3030,"tag":3188,"props":4776,"children":4778},{"className":4777},[],[4779],{"type":3035,"value":4780},"allows",{"type":3035,"value":4782},", ",{"type":3030,"tag":3188,"props":4784,"children":4786},{"className":4785},[],[4787],{"type":3035,"value":4788},"denies",{"type":3035,"value":4790},", and ",{"type":3030,"tag":3188,"props":4792,"children":4794},{"className":4793},[],[4795],{"type":3035,"value":4796},"authorize",{"type":3035,"value":4798},". Both of them are available in the client and the server. ",{"type":3030,"tag":3100,"props":4800,"children":4801},{},[4802,4804,4809],{"type":3035,"value":4803},"The implementation is different but the API is (nearly) the same and it's entirely transparent the developer. On the server, the first parameter is the ",{"type":3030,"tag":3188,"props":4805,"children":4807},{"className":4806},[],[4808],{"type":3035,"value":3665},{"type":3035,"value":4810}," from the handler.",{"type":3030,"tag":3037,"props":4812,"children":4813},{},[4814,4816,4821],{"type":3035,"value":4815},"The ",{"type":3030,"tag":3188,"props":4817,"children":4819},{"className":4818},[],[4820],{"type":3035,"value":4780},{"type":3035,"value":4822}," function returns a boolean if the user can perform the action:",{"type":3030,"tag":3181,"props":4824,"children":4826},{"className":3272,"code":4825,"language":3274,"meta":2980,"style":2980},"if (await allows(listPosts)) {\n  \u002F\u002F User can list posts\n}\n",[4827],{"type":3030,"tag":3188,"props":4828,"children":4829},{"__ignoreMap":2980},[4830,4861,4869],{"type":3030,"tag":3113,"props":4831,"children":4832},{"class":3193,"line":3014},[4833,4838,4842,4847,4852,4857],{"type":3030,"tag":3113,"props":4834,"children":4835},{"style":3284},[4836],{"type":3035,"value":4837},"if",{"type":3030,"tag":3113,"props":4839,"children":4840},{"style":3301},[4841],{"type":3035,"value":3660},{"type":3030,"tag":3113,"props":4843,"children":4844},{"style":3284},[4845],{"type":3035,"value":4846},"await",{"type":3030,"tag":3113,"props":4848,"children":4849},{"style":3295},[4850],{"type":3035,"value":4851}," allows",{"type":3030,"tag":3113,"props":4853,"children":4854},{"style":3301},[4855],{"type":3035,"value":4856},"(listPosts)) ",{"type":3030,"tag":3113,"props":4858,"children":4859},{"style":3307},[4860],{"type":3035,"value":3310},{"type":3030,"tag":3113,"props":4862,"children":4863},{"class":3193,"line":3007},[4864],{"type":3030,"tag":3113,"props":4865,"children":4866},{"style":3466},[4867],{"type":3035,"value":4868},"  \u002F\u002F User can list posts\n",{"type":3030,"tag":3113,"props":4870,"children":4871},{"class":3193,"line":3003},[4872],{"type":3030,"tag":3113,"props":4873,"children":4874},{"style":3307},[4875],{"type":3035,"value":4876},"}\n",{"type":3030,"tag":3037,"props":4878,"children":4879},{},[4880],{"type":3030,"tag":3100,"props":4881,"children":4882},{},[4883],{"type":3035,"value":4884},"For the server:",{"type":3030,"tag":3181,"props":4886,"children":4888},{"className":3272,"code":4887,"language":3274,"meta":2980,"style":2980},"if (await allows(event, listPosts)) {\n  \u002F\u002F User can list posts\n}\n",[4889],{"type":3030,"tag":3188,"props":4890,"children":4891},{"__ignoreMap":2980},[4892,4929,4936],{"type":3030,"tag":3113,"props":4893,"children":4894},{"class":3193,"line":3014},[4895,4899,4903,4907,4911,4916,4920,4925],{"type":3030,"tag":3113,"props":4896,"children":4897},{"style":3284},[4898],{"type":3035,"value":4837},{"type":3030,"tag":3113,"props":4900,"children":4901},{"style":3301},[4902],{"type":3035,"value":3660},{"type":3030,"tag":3113,"props":4904,"children":4905},{"style":3284},[4906],{"type":3035,"value":4846},{"type":3030,"tag":3113,"props":4908,"children":4909},{"style":3295},[4910],{"type":3035,"value":4851},{"type":3030,"tag":3113,"props":4912,"children":4913},{"style":3301},[4914],{"type":3035,"value":4915},"(event",{"type":3030,"tag":3113,"props":4917,"children":4918},{"style":3307},[4919],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":4921,"children":4922},{"style":3301},[4923],{"type":3035,"value":4924}," listPosts)) ",{"type":3030,"tag":3113,"props":4926,"children":4927},{"style":3307},[4928],{"type":3035,"value":3310},{"type":3030,"tag":3113,"props":4930,"children":4931},{"class":3193,"line":3007},[4932],{"type":3030,"tag":3113,"props":4933,"children":4934},{"style":3466},[4935],{"type":3035,"value":4868},{"type":3030,"tag":3113,"props":4937,"children":4938},{"class":3193,"line":3003},[4939],{"type":3030,"tag":3113,"props":4940,"children":4941},{"style":3307},[4942],{"type":3035,"value":4876},{"type":3030,"tag":3037,"props":4944,"children":4945},{},[4946,4947,4952],{"type":3035,"value":4815},{"type":3030,"tag":3188,"props":4948,"children":4950},{"className":4949},[],[4951],{"type":3035,"value":4788},{"type":3035,"value":4953}," function returns a boolean if the user cannot perform the action:",{"type":3030,"tag":3181,"props":4955,"children":4957},{"className":3272,"code":4956,"language":3274,"meta":2980,"style":2980},"if (await denies(editPost, post)) {\n  \u002F\u002F User cannot edit the post\n}\n",[4958],{"type":3030,"tag":3188,"props":4959,"children":4960},{"__ignoreMap":2980},[4961,4999,5007],{"type":3030,"tag":3113,"props":4962,"children":4963},{"class":3193,"line":3014},[4964,4968,4972,4976,4981,4986,4990,4995],{"type":3030,"tag":3113,"props":4965,"children":4966},{"style":3284},[4967],{"type":3035,"value":4837},{"type":3030,"tag":3113,"props":4969,"children":4970},{"style":3301},[4971],{"type":3035,"value":3660},{"type":3030,"tag":3113,"props":4973,"children":4974},{"style":3284},[4975],{"type":3035,"value":4846},{"type":3030,"tag":3113,"props":4977,"children":4978},{"style":3295},[4979],{"type":3035,"value":4980}," denies",{"type":3030,"tag":3113,"props":4982,"children":4983},{"style":3301},[4984],{"type":3035,"value":4985},"(editPost",{"type":3030,"tag":3113,"props":4987,"children":4988},{"style":3307},[4989],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":4991,"children":4992},{"style":3301},[4993],{"type":3035,"value":4994}," post)) ",{"type":3030,"tag":3113,"props":4996,"children":4997},{"style":3307},[4998],{"type":3035,"value":3310},{"type":3030,"tag":3113,"props":5000,"children":5001},{"class":3193,"line":3007},[5002],{"type":3030,"tag":3113,"props":5003,"children":5004},{"style":3466},[5005],{"type":3035,"value":5006},"  \u002F\u002F User cannot edit the post\n",{"type":3030,"tag":3113,"props":5008,"children":5009},{"class":3193,"line":3003},[5010],{"type":3030,"tag":3113,"props":5011,"children":5012},{"style":3307},[5013],{"type":3035,"value":4876},{"type":3030,"tag":3037,"props":5015,"children":5016},{},[5017],{"type":3030,"tag":3100,"props":5018,"children":5019},{},[5020],{"type":3035,"value":4884},{"type":3030,"tag":3181,"props":5022,"children":5024},{"className":3272,"code":5023,"language":3274,"meta":2980,"style":2980},"if (await denies(event, editPost, post)) {\n  \u002F\u002F User cannot edit the post\n}\n",[5025],{"type":3030,"tag":3188,"props":5026,"children":5027},{"__ignoreMap":2980},[5028,5072,5079],{"type":3030,"tag":3113,"props":5029,"children":5030},{"class":3193,"line":3014},[5031,5035,5039,5043,5047,5051,5055,5060,5064,5068],{"type":3030,"tag":3113,"props":5032,"children":5033},{"style":3284},[5034],{"type":3035,"value":4837},{"type":3030,"tag":3113,"props":5036,"children":5037},{"style":3301},[5038],{"type":3035,"value":3660},{"type":3030,"tag":3113,"props":5040,"children":5041},{"style":3284},[5042],{"type":3035,"value":4846},{"type":3030,"tag":3113,"props":5044,"children":5045},{"style":3295},[5046],{"type":3035,"value":4980},{"type":3030,"tag":3113,"props":5048,"children":5049},{"style":3301},[5050],{"type":3035,"value":4915},{"type":3030,"tag":3113,"props":5052,"children":5053},{"style":3307},[5054],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5056,"children":5057},{"style":3301},[5058],{"type":3035,"value":5059}," editPost",{"type":3030,"tag":3113,"props":5061,"children":5062},{"style":3307},[5063],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5065,"children":5066},{"style":3301},[5067],{"type":3035,"value":4994},{"type":3030,"tag":3113,"props":5069,"children":5070},{"style":3307},[5071],{"type":3035,"value":3310},{"type":3030,"tag":3113,"props":5073,"children":5074},{"class":3193,"line":3007},[5075],{"type":3030,"tag":3113,"props":5076,"children":5077},{"style":3466},[5078],{"type":3035,"value":5006},{"type":3030,"tag":3113,"props":5080,"children":5081},{"class":3193,"line":3003},[5082],{"type":3030,"tag":3113,"props":5083,"children":5084},{"style":3307},[5085],{"type":3035,"value":4876},{"type":3030,"tag":3037,"props":5087,"children":5088},{},[5089,5090,5095],{"type":3035,"value":4815},{"type":3030,"tag":3188,"props":5091,"children":5093},{"className":5092},[],[5094],{"type":3035,"value":4796},{"type":3035,"value":5096}," function throws an error if the user cannot perform the action:",{"type":3030,"tag":3181,"props":5098,"children":5100},{"className":3272,"code":5099,"language":3274,"meta":2980,"style":2980},"await authorize(editPost, post)\n\n\u002F\u002F User can edit the post\n",[5101],{"type":3030,"tag":3188,"props":5102,"children":5103},{"__ignoreMap":2980},[5104,5129,5136],{"type":3030,"tag":3113,"props":5105,"children":5106},{"class":3193,"line":3014},[5107,5111,5116,5120,5124],{"type":3030,"tag":3113,"props":5108,"children":5109},{"style":3284},[5110],{"type":3035,"value":4846},{"type":3030,"tag":3113,"props":5112,"children":5113},{"style":3295},[5114],{"type":3035,"value":5115}," authorize",{"type":3030,"tag":3113,"props":5117,"children":5118},{"style":3301},[5119],{"type":3035,"value":4985},{"type":3030,"tag":3113,"props":5121,"children":5122},{"style":3307},[5123],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5125,"children":5126},{"style":3301},[5127],{"type":3035,"value":5128}," post)\n",{"type":3030,"tag":3113,"props":5130,"children":5131},{"class":3193,"line":3007},[5132],{"type":3030,"tag":3113,"props":5133,"children":5134},{"emptyLinePlaceholder":1200},[5135],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":5137,"children":5138},{"class":3193,"line":3003},[5139],{"type":3030,"tag":3113,"props":5140,"children":5141},{"style":3466},[5142],{"type":3035,"value":5143},"\u002F\u002F User can edit the post\n",{"type":3030,"tag":3037,"props":5145,"children":5146},{},[5147],{"type":3030,"tag":3100,"props":5148,"children":5149},{},[5150],{"type":3035,"value":4884},{"type":3030,"tag":3181,"props":5152,"children":5154},{"className":3272,"code":5153,"language":3274,"meta":2980,"style":2980},"await authorize(event, editPost, post)\n",[5155],{"type":3030,"tag":3188,"props":5156,"children":5157},{"__ignoreMap":2980},[5158],{"type":3030,"tag":3113,"props":5159,"children":5160},{"class":3193,"line":3014},[5161,5165,5169,5173,5177,5181,5185],{"type":3030,"tag":3113,"props":5162,"children":5163},{"style":3284},[5164],{"type":3035,"value":4846},{"type":3030,"tag":3113,"props":5166,"children":5167},{"style":3295},[5168],{"type":3035,"value":5115},{"type":3030,"tag":3113,"props":5170,"children":5171},{"style":3301},[5172],{"type":3035,"value":4915},{"type":3030,"tag":3113,"props":5174,"children":5175},{"style":3307},[5176],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5178,"children":5179},{"style":3301},[5180],{"type":3035,"value":5059},{"type":3030,"tag":3113,"props":5182,"children":5183},{"style":3307},[5184],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5186,"children":5187},{"style":3301},[5188],{"type":3035,"value":5128},{"type":3030,"tag":3037,"props":5190,"children":5191},{},[5192],{"type":3035,"value":5193},"You can customize the error message and the status code per return value of the ability. This can be useful to return a 404 instead of a 403 to keep the user unaware of the existence of the resource.",{"type":3030,"tag":3181,"props":5195,"children":5197},{"className":3272,"code":5196,"language":3274,"meta":2980,"style":2980},"export const editPost = defineAbility((user: User, post: Post) => {\n  if(user.id === post.authorId) {\n    return true \u002F\u002F or allow()\n  }\n\n  return deny('This post does not exist', 404)\n})\n",[5198],{"type":3030,"tag":3188,"props":5199,"children":5200},{"__ignoreMap":2980},[5201,5272,5321,5337,5345,5352,5395],{"type":3030,"tag":3113,"props":5202,"children":5203},{"class":3193,"line":3014},[5204,5208,5212,5216,5220,5224,5228,5232,5236,5240,5244,5248,5252,5256,5260,5264,5268],{"type":3030,"tag":3113,"props":5205,"children":5206},{"style":3284},[5207],{"type":3035,"value":3287},{"type":3030,"tag":3113,"props":5209,"children":5210},{"style":3452},[5211],{"type":3035,"value":4434},{"type":3030,"tag":3113,"props":5213,"children":5214},{"style":3301},[5215],{"type":3035,"value":4499},{"type":3030,"tag":3113,"props":5217,"children":5218},{"style":3307},[5219],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":5221,"children":5222},{"style":3295},[5223],{"type":3035,"value":4449},{"type":3030,"tag":3113,"props":5225,"children":5226},{"style":3301},[5227],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":5229,"children":5230},{"style":3307},[5231],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":5233,"children":5234},{"style":3586},[5235],{"type":3035,"value":4026},{"type":3030,"tag":3113,"props":5237,"children":5238},{"style":3307},[5239],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":5241,"children":5242},{"style":3197},[5243],{"type":3035,"value":4528},{"type":3030,"tag":3113,"props":5245,"children":5246},{"style":3307},[5247],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5249,"children":5250},{"style":3586},[5251],{"type":3035,"value":4537},{"type":3030,"tag":3113,"props":5253,"children":5254},{"style":3307},[5255],{"type":3035,"value":3269},{"type":3030,"tag":3113,"props":5257,"children":5258},{"style":3197},[5259],{"type":3035,"value":4546},{"type":3030,"tag":3113,"props":5261,"children":5262},{"style":3307},[5263],{"type":3035,"value":3594},{"type":3030,"tag":3113,"props":5265,"children":5266},{"style":3452},[5267],{"type":3035,"value":3455},{"type":3030,"tag":3113,"props":5269,"children":5270},{"style":3307},[5271],{"type":3035,"value":3384},{"type":3030,"tag":3113,"props":5273,"children":5274},{"class":3193,"line":3007},[5275,5280,5284,5288,5292,5296,5300,5304,5308,5313,5317],{"type":3030,"tag":3113,"props":5276,"children":5277},{"style":3284},[5278],{"type":3035,"value":5279},"  if",{"type":3030,"tag":3113,"props":5281,"children":5282},{"style":3316},[5283],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":5285,"children":5286},{"style":3301},[5287],{"type":3035,"value":4026},{"type":3030,"tag":3113,"props":5289,"children":5290},{"style":3307},[5291],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":5293,"children":5294},{"style":3301},[5295],{"type":3035,"value":4580},{"type":3030,"tag":3113,"props":5297,"children":5298},{"style":3307},[5299],{"type":3035,"value":4585},{"type":3030,"tag":3113,"props":5301,"children":5302},{"style":3301},[5303],{"type":3035,"value":4537},{"type":3030,"tag":3113,"props":5305,"children":5306},{"style":3307},[5307],{"type":3035,"value":3132},{"type":3030,"tag":3113,"props":5309,"children":5310},{"style":3301},[5311],{"type":3035,"value":5312},"authorId",{"type":3030,"tag":3113,"props":5314,"children":5315},{"style":3316},[5316],{"type":3035,"value":4470},{"type":3030,"tag":3113,"props":5318,"children":5319},{"style":3307},[5320],{"type":3035,"value":3310},{"type":3030,"tag":3113,"props":5322,"children":5323},{"class":3193,"line":3003},[5324,5328,5332],{"type":3030,"tag":3113,"props":5325,"children":5326},{"style":3284},[5327],{"type":3035,"value":3393},{"type":3030,"tag":3113,"props":5329,"children":5330},{"style":3358},[5331],{"type":3035,"value":3361},{"type":3030,"tag":3113,"props":5333,"children":5334},{"style":3466},[5335],{"type":3035,"value":5336}," \u002F\u002F or allow()\n",{"type":3030,"tag":3113,"props":5338,"children":5339},{"class":3193,"line":3368},[5340],{"type":3030,"tag":3113,"props":5341,"children":5342},{"style":3307},[5343],{"type":3035,"value":5344},"  }\n",{"type":3030,"tag":3113,"props":5346,"children":5347},{"class":3193,"line":3387},[5348],{"type":3030,"tag":3113,"props":5349,"children":5350},{"emptyLinePlaceholder":1200},[5351],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":5353,"children":5354},{"class":3193,"line":3400},[5355,5359,5364,5368,5372,5377,5381,5385,5391],{"type":3030,"tag":3113,"props":5356,"children":5357},{"style":3284},[5358],{"type":3035,"value":4566},{"type":3030,"tag":3113,"props":5360,"children":5361},{"style":3295},[5362],{"type":3035,"value":5363}," deny",{"type":3030,"tag":3113,"props":5365,"children":5366},{"style":3316},[5367],{"type":3035,"value":3304},{"type":3030,"tag":3113,"props":5369,"children":5370},{"style":3307},[5371],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":5373,"children":5374},{"style":3203},[5375],{"type":3035,"value":5376},"This post does not exist",{"type":3030,"tag":3113,"props":5378,"children":5379},{"style":3307},[5380],{"type":3035,"value":3338},{"type":3030,"tag":3113,"props":5382,"children":5383},{"style":3307},[5384],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":5386,"children":5388},{"style":5387},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[5389],{"type":3035,"value":5390}," 404",{"type":3030,"tag":3113,"props":5392,"children":5393},{"style":3316},[5394],{"type":3035,"value":3527},{"type":3030,"tag":3113,"props":5396,"children":5397},{"class":3193,"line":3417},[5398,5402],{"type":3030,"tag":3113,"props":5399,"children":5400},{"style":3307},[5401],{"type":3035,"value":3522},{"type":3030,"tag":3113,"props":5403,"children":5404},{"style":3301},[5405],{"type":3035,"value":3527},{"type":3030,"tag":3037,"props":5407,"children":5408},{},[5409,5415,5417,5423,5425,5431,5432,5438,5440,5445],{"type":3030,"tag":3188,"props":5410,"children":5412},{"className":5411},[],[5413],{"type":3035,"value":5414},"allow",{"type":3035,"value":5416}," and ",{"type":3030,"tag":3188,"props":5418,"children":5420},{"className":5419},[],[5421],{"type":3035,"value":5422},"deny",{"type":3035,"value":5424}," are similar to returning ",{"type":3030,"tag":3188,"props":5426,"children":5428},{"className":5427},[],[5429],{"type":3035,"value":5430},"true",{"type":3035,"value":5416},{"type":3030,"tag":3188,"props":5433,"children":5435},{"className":5434},[],[5436],{"type":3035,"value":5437},"false",{"type":3035,"value":5439}," but ",{"type":3030,"tag":3188,"props":5441,"children":5443},{"className":5442},[],[5444],{"type":3035,"value":5422},{"type":3035,"value":5446}," allows to return a custom message and status code for the error.",{"type":3030,"tag":3037,"props":5448,"children":5449},{},[5450,5452,5457,5459,5465],{"type":3035,"value":5451},"Most of the times, you API endpoints will use the ",{"type":3030,"tag":3188,"props":5453,"children":5455},{"className":5454},[],[5456],{"type":3035,"value":4796},{"type":3035,"value":5458},". This can be the first line of the endpoint if no parameters are needed or after a database query to check if the user can access the resource. You do not need to catch the error since it's a ",{"type":3030,"tag":3188,"props":5460,"children":5462},{"className":5461},[],[5463],{"type":3035,"value":5464},"H3Error",{"type":3035,"value":5466}," and will be caught by the Nitro server.",{"type":3030,"tag":3037,"props":5468,"children":5469},{},[5470,5471,5476,5477,5482],{"type":3035,"value":4815},{"type":3030,"tag":3188,"props":5472,"children":5474},{"className":5473},[],[5475],{"type":3035,"value":4780},{"type":3035,"value":5416},{"type":3030,"tag":3188,"props":5478,"children":5480},{"className":5479},[],[5481],{"type":3035,"value":4788},{"type":3035,"value":5483}," functions are useful in the client to perform conditional rendering or logic. You can also use them to have a fine-grained control on you authorization logic.",{"type":3030,"tag":3246,"props":5485,"children":5487},{"id":5486},"use-components",[5488],{"type":3035,"value":5489},"Use Components",{"type":3030,"tag":3037,"props":5491,"children":5492},{},[5493],{"type":3035,"value":5494},"The module provides 2 components help you to conditionally show part of the UI. Imagine you have a button to edit a post, unauthorized users should not see the button.",{"type":3030,"tag":3181,"props":5496,"children":5500},{"className":5497,"code":5498,"language":5499,"meta":2980,"style":2980},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Ctemplate>\n  \u003CCan\n    :ability=\"editPost\"\n    :args=\"[post]\" \u002F\u002F Optional if the ability does not take any arguments\n  >\n    \u003Cbutton>Edit\u003C\u002Fbutton>\n  \u003C\u002FCan>\n\u003C\u002Ftemplate>\n","vue",[5501],{"type":3030,"tag":3188,"props":5502,"children":5503},{"__ignoreMap":2980},[5504,5522,5535,5562,5637,5645,5681,5698],{"type":3030,"tag":3113,"props":5505,"children":5506},{"class":3193,"line":3014},[5507,5512,5517],{"type":3030,"tag":3113,"props":5508,"children":5509},{"style":3307},[5510],{"type":3035,"value":5511},"\u003C",{"type":3030,"tag":3113,"props":5513,"children":5514},{"style":3316},[5515],{"type":3035,"value":5516},"template",{"type":3030,"tag":3113,"props":5518,"children":5519},{"style":3307},[5520],{"type":3035,"value":5521},">\n",{"type":3030,"tag":3113,"props":5523,"children":5524},{"class":3193,"line":3007},[5525,5530],{"type":3030,"tag":3113,"props":5526,"children":5527},{"style":3307},[5528],{"type":3035,"value":5529},"  \u003C",{"type":3030,"tag":3113,"props":5531,"children":5532},{"style":3316},[5533],{"type":3035,"value":5534},"Can\n",{"type":3030,"tag":3113,"props":5536,"children":5537},{"class":3193,"line":3003},[5538,5543,5547,5552,5557],{"type":3030,"tag":3113,"props":5539,"children":5540},{"style":3452},[5541],{"type":3035,"value":5542},"    :ability",{"type":3030,"tag":3113,"props":5544,"children":5545},{"style":3307},[5546],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":5548,"children":5549},{"style":3307},[5550],{"type":3035,"value":5551},"\"",{"type":3030,"tag":3113,"props":5553,"children":5554},{"style":3203},[5555],{"type":3035,"value":5556},"editPost",{"type":3030,"tag":3113,"props":5558,"children":5559},{"style":3307},[5560],{"type":3035,"value":5561},"\"\n",{"type":3030,"tag":3113,"props":5563,"children":5564},{"class":3193,"line":3368},[5565,5570,5574,5578,5583,5587,5592,5597,5602,5607,5612,5617,5622,5627,5632],{"type":3030,"tag":3113,"props":5566,"children":5567},{"style":3452},[5568],{"type":3035,"value":5569},"    :args",{"type":3030,"tag":3113,"props":5571,"children":5572},{"style":3307},[5573],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":5575,"children":5576},{"style":3307},[5577],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":5579,"children":5580},{"style":3203},[5581],{"type":3035,"value":5582},"[post]",{"type":3030,"tag":3113,"props":5584,"children":5585},{"style":3307},[5586],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":5588,"children":5589},{"style":3307},[5590],{"type":3035,"value":5591}," \u002F\u002F ",{"type":3030,"tag":3113,"props":5593,"children":5594},{"style":3452},[5595],{"type":3035,"value":5596},"Optional",{"type":3030,"tag":3113,"props":5598,"children":5599},{"style":3452},[5600],{"type":3035,"value":5601}," if",{"type":3030,"tag":3113,"props":5603,"children":5604},{"style":3452},[5605],{"type":3035,"value":5606}," the",{"type":3030,"tag":3113,"props":5608,"children":5609},{"style":3452},[5610],{"type":3035,"value":5611}," ability",{"type":3030,"tag":3113,"props":5613,"children":5614},{"style":3452},[5615],{"type":3035,"value":5616}," does",{"type":3030,"tag":3113,"props":5618,"children":5619},{"style":3452},[5620],{"type":3035,"value":5621}," not",{"type":3030,"tag":3113,"props":5623,"children":5624},{"style":3452},[5625],{"type":3035,"value":5626}," take",{"type":3030,"tag":3113,"props":5628,"children":5629},{"style":3452},[5630],{"type":3035,"value":5631}," any",{"type":3030,"tag":3113,"props":5633,"children":5634},{"style":3452},[5635],{"type":3035,"value":5636}," arguments\n",{"type":3030,"tag":3113,"props":5638,"children":5639},{"class":3193,"line":3387},[5640],{"type":3030,"tag":3113,"props":5641,"children":5642},{"style":3307},[5643],{"type":3035,"value":5644},"  >\n",{"type":3030,"tag":3113,"props":5646,"children":5647},{"class":3193,"line":3400},[5648,5653,5658,5663,5668,5673,5677],{"type":3030,"tag":3113,"props":5649,"children":5650},{"style":3307},[5651],{"type":3035,"value":5652},"    \u003C",{"type":3030,"tag":3113,"props":5654,"children":5655},{"style":3316},[5656],{"type":3035,"value":5657},"button",{"type":3030,"tag":3113,"props":5659,"children":5660},{"style":3307},[5661],{"type":3035,"value":5662},">",{"type":3030,"tag":3113,"props":5664,"children":5665},{"style":3301},[5666],{"type":3035,"value":5667},"Edit",{"type":3030,"tag":3113,"props":5669,"children":5670},{"style":3307},[5671],{"type":3035,"value":5672},"\u003C\u002F",{"type":3030,"tag":3113,"props":5674,"children":5675},{"style":3316},[5676],{"type":3035,"value":5657},{"type":3030,"tag":3113,"props":5678,"children":5679},{"style":3307},[5680],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":5682,"children":5683},{"class":3193,"line":3417},[5684,5689,5694],{"type":3030,"tag":3113,"props":5685,"children":5686},{"style":3307},[5687],{"type":3035,"value":5688},"  \u003C\u002F",{"type":3030,"tag":3113,"props":5690,"children":5691},{"style":3316},[5692],{"type":3035,"value":5693},"Can",{"type":3030,"tag":3113,"props":5695,"children":5696},{"style":3307},[5697],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":5699,"children":5700},{"class":3193,"line":3434},[5701,5705,5709],{"type":3030,"tag":3113,"props":5702,"children":5703},{"style":3307},[5704],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":5706,"children":5707},{"style":3316},[5708],{"type":3035,"value":5516},{"type":3030,"tag":3113,"props":5710,"children":5711},{"style":3307},[5712],{"type":3035,"value":5521},{"type":3030,"tag":3037,"props":5714,"children":5715},{},[5716,5717,5722],{"type":3035,"value":4815},{"type":3030,"tag":3188,"props":5718,"children":5720},{"className":5719},[],[5721],{"type":3035,"value":5693},{"type":3035,"value":5723}," component will render the button only if the user can edit the post. If the user cannot edit the post, the button will not be rendered.",{"type":3030,"tag":3037,"props":5725,"children":5726},{},[5727,5729,5735],{"type":3035,"value":5728},"As a counterpart, you can use the ",{"type":3030,"tag":3188,"props":5730,"children":5732},{"className":5731},[],[5733],{"type":3035,"value":5734},"Cannot",{"type":3035,"value":5736}," component to render the button only if the user cannot edit the post.",{"type":3030,"tag":3181,"props":5738,"children":5740},{"className":5497,"code":5739,"language":5499,"meta":2980,"style":2980},"\u003Ctemplate>\n  \u003CCannot\n    :ability=\"editPost\"\n    :args=\"[post]\" \u002F\u002F Optional if the ability does not take any arguments\n  >\n    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n  \u003C\u002FCannot>\n\u003C\u002Ftemplate>\n",[5741],{"type":3030,"tag":3188,"props":5742,"children":5743},{"__ignoreMap":2980},[5744,5759,5771,5794,5857,5864,5896,5911],{"type":3030,"tag":3113,"props":5745,"children":5746},{"class":3193,"line":3014},[5747,5751,5755],{"type":3030,"tag":3113,"props":5748,"children":5749},{"style":3307},[5750],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":5752,"children":5753},{"style":3316},[5754],{"type":3035,"value":5516},{"type":3030,"tag":3113,"props":5756,"children":5757},{"style":3307},[5758],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":5760,"children":5761},{"class":3193,"line":3007},[5762,5766],{"type":3030,"tag":3113,"props":5763,"children":5764},{"style":3307},[5765],{"type":3035,"value":5529},{"type":3030,"tag":3113,"props":5767,"children":5768},{"style":3316},[5769],{"type":3035,"value":5770},"Cannot\n",{"type":3030,"tag":3113,"props":5772,"children":5773},{"class":3193,"line":3003},[5774,5778,5782,5786,5790],{"type":3030,"tag":3113,"props":5775,"children":5776},{"style":3452},[5777],{"type":3035,"value":5542},{"type":3030,"tag":3113,"props":5779,"children":5780},{"style":3307},[5781],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":5783,"children":5784},{"style":3307},[5785],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":5787,"children":5788},{"style":3203},[5789],{"type":3035,"value":5556},{"type":3030,"tag":3113,"props":5791,"children":5792},{"style":3307},[5793],{"type":3035,"value":5561},{"type":3030,"tag":3113,"props":5795,"children":5796},{"class":3193,"line":3368},[5797,5801,5805,5809,5813,5817,5821,5825,5829,5833,5837,5841,5845,5849,5853],{"type":3030,"tag":3113,"props":5798,"children":5799},{"style":3452},[5800],{"type":3035,"value":5569},{"type":3030,"tag":3113,"props":5802,"children":5803},{"style":3307},[5804],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":5806,"children":5807},{"style":3307},[5808],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":5810,"children":5811},{"style":3203},[5812],{"type":3035,"value":5582},{"type":3030,"tag":3113,"props":5814,"children":5815},{"style":3307},[5816],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":5818,"children":5819},{"style":3307},[5820],{"type":3035,"value":5591},{"type":3030,"tag":3113,"props":5822,"children":5823},{"style":3452},[5824],{"type":3035,"value":5596},{"type":3030,"tag":3113,"props":5826,"children":5827},{"style":3452},[5828],{"type":3035,"value":5601},{"type":3030,"tag":3113,"props":5830,"children":5831},{"style":3452},[5832],{"type":3035,"value":5606},{"type":3030,"tag":3113,"props":5834,"children":5835},{"style":3452},[5836],{"type":3035,"value":5611},{"type":3030,"tag":3113,"props":5838,"children":5839},{"style":3452},[5840],{"type":3035,"value":5616},{"type":3030,"tag":3113,"props":5842,"children":5843},{"style":3452},[5844],{"type":3035,"value":5621},{"type":3030,"tag":3113,"props":5846,"children":5847},{"style":3452},[5848],{"type":3035,"value":5626},{"type":3030,"tag":3113,"props":5850,"children":5851},{"style":3452},[5852],{"type":3035,"value":5631},{"type":3030,"tag":3113,"props":5854,"children":5855},{"style":3452},[5856],{"type":3035,"value":5636},{"type":3030,"tag":3113,"props":5858,"children":5859},{"class":3193,"line":3387},[5860],{"type":3030,"tag":3113,"props":5861,"children":5862},{"style":3307},[5863],{"type":3035,"value":5644},{"type":3030,"tag":3113,"props":5865,"children":5866},{"class":3193,"line":3400},[5867,5871,5875,5879,5884,5888,5892],{"type":3030,"tag":3113,"props":5868,"children":5869},{"style":3307},[5870],{"type":3035,"value":5652},{"type":3030,"tag":3113,"props":5872,"children":5873},{"style":3316},[5874],{"type":3035,"value":3037},{"type":3030,"tag":3113,"props":5876,"children":5877},{"style":3307},[5878],{"type":3035,"value":5662},{"type":3030,"tag":3113,"props":5880,"children":5881},{"style":3301},[5882],{"type":3035,"value":5883},"You're not allowed to edit the post.",{"type":3030,"tag":3113,"props":5885,"children":5886},{"style":3307},[5887],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":5889,"children":5890},{"style":3316},[5891],{"type":3035,"value":3037},{"type":3030,"tag":3113,"props":5893,"children":5894},{"style":3307},[5895],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":5897,"children":5898},{"class":3193,"line":3417},[5899,5903,5907],{"type":3030,"tag":3113,"props":5900,"children":5901},{"style":3307},[5902],{"type":3035,"value":5688},{"type":3030,"tag":3113,"props":5904,"children":5905},{"style":3316},[5906],{"type":3035,"value":5734},{"type":3030,"tag":3113,"props":5908,"children":5909},{"style":3307},[5910],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":5912,"children":5913},{"class":3193,"line":3434},[5914,5918,5922],{"type":3030,"tag":3113,"props":5915,"children":5916},{"style":3307},[5917],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":5919,"children":5920},{"style":3316},[5921],{"type":3035,"value":5516},{"type":3030,"tag":3113,"props":5923,"children":5924},{"style":3307},[5925],{"type":3035,"value":5521},{"type":3030,"tag":3037,"props":5927,"children":5928},{},[5929,5930,5936,5938,5943,5944,5949,5951,5958],{"type":3035,"value":4815},{"type":3030,"tag":3188,"props":5931,"children":5933},{"className":5932},[],[5934],{"type":3035,"value":5935},"Bouncer",{"type":3035,"value":5937}," component offers a more flexible and centralized way to handle both can and cannot scenarios within a single component. Instead of using separate ",{"type":3030,"tag":3188,"props":5939,"children":5941},{"className":5940},[],[5942],{"type":3035,"value":5693},{"type":3035,"value":5416},{"type":3030,"tag":3188,"props":5945,"children":5947},{"className":5946},[],[5948],{"type":3035,"value":5734},{"type":3035,"value":5950}," components, you can leverage the Bouncer component and its ",{"type":3030,"tag":3041,"props":5952,"children":5955},{"href":5953,"rel":5954},"https:\u002F\u002Fvuejs.org\u002Fguide\u002Fcomponents\u002Fslots.html#named-slots",[3045],[5956],{"type":3035,"value":5957},"named slots",{"type":3035,"value":5959}," to handle both states in a unified block.",{"type":3030,"tag":3181,"props":5961,"children":5963},{"className":5497,"code":5962,"language":5499,"meta":2980,"style":2980},"\u003CBouncer\n  :ability=\"editPost\"\n  :args=\"[post]\" \u002F\u002F Optional if the ability does not take any arguments\n>\n  \u003Ctemplate #can>\n    \u003Cbutton>Edit\u003C\u002Fbutton>\n  \u003C\u002Ftemplate>\n\n  \u003Ctemplate #cannot>\n    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n  \u003C\u002Ftemplate>\n\u003C\u002FBouncer>\n",[5964],{"type":3030,"tag":3188,"props":5965,"children":5966},{"__ignoreMap":2980},[5967,5979,6008,6076,6083,6091,6099,6107,6114,6122,6130,6137],{"type":3030,"tag":3113,"props":5968,"children":5969},{"class":3193,"line":3014},[5970,5974],{"type":3030,"tag":3113,"props":5971,"children":5972},{"style":3307},[5973],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":5975,"children":5976},{"style":3316},[5977],{"type":3035,"value":5978},"Bouncer\n",{"type":3030,"tag":3113,"props":5980,"children":5981},{"class":3193,"line":3007},[5982,5987,5992,5996,6000,6004],{"type":3030,"tag":3113,"props":5983,"children":5984},{"style":3307},[5985],{"type":3035,"value":5986},"  :",{"type":3030,"tag":3113,"props":5988,"children":5989},{"style":3452},[5990],{"type":3035,"value":5991},"ability",{"type":3030,"tag":3113,"props":5993,"children":5994},{"style":3307},[5995],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":5997,"children":5998},{"style":3307},[5999],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6001,"children":6002},{"style":3301},[6003],{"type":3035,"value":5556},{"type":3030,"tag":3113,"props":6005,"children":6006},{"style":3307},[6007],{"type":3035,"value":5561},{"type":3030,"tag":3113,"props":6009,"children":6010},{"class":3193,"line":3003},[6011,6015,6020,6024,6028,6032,6036,6040,6044,6048,6052,6056,6060,6064,6068,6072],{"type":3030,"tag":3113,"props":6012,"children":6013},{"style":3307},[6014],{"type":3035,"value":5986},{"type":3030,"tag":3113,"props":6016,"children":6017},{"style":3452},[6018],{"type":3035,"value":6019},"args",{"type":3030,"tag":3113,"props":6021,"children":6022},{"style":3307},[6023],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6025,"children":6026},{"style":3307},[6027],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6029,"children":6030},{"style":3301},[6031],{"type":3035,"value":5582},{"type":3030,"tag":3113,"props":6033,"children":6034},{"style":3307},[6035],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6037,"children":6038},{"style":3301},[6039],{"type":3035,"value":5591},{"type":3030,"tag":3113,"props":6041,"children":6042},{"style":3452},[6043],{"type":3035,"value":5596},{"type":3030,"tag":3113,"props":6045,"children":6046},{"style":3452},[6047],{"type":3035,"value":5601},{"type":3030,"tag":3113,"props":6049,"children":6050},{"style":3452},[6051],{"type":3035,"value":5606},{"type":3030,"tag":3113,"props":6053,"children":6054},{"style":3452},[6055],{"type":3035,"value":5611},{"type":3030,"tag":3113,"props":6057,"children":6058},{"style":3452},[6059],{"type":3035,"value":5616},{"type":3030,"tag":3113,"props":6061,"children":6062},{"style":3452},[6063],{"type":3035,"value":5621},{"type":3030,"tag":3113,"props":6065,"children":6066},{"style":3452},[6067],{"type":3035,"value":5626},{"type":3030,"tag":3113,"props":6069,"children":6070},{"style":3452},[6071],{"type":3035,"value":5631},{"type":3030,"tag":3113,"props":6073,"children":6074},{"style":3452},[6075],{"type":3035,"value":5636},{"type":3030,"tag":3113,"props":6077,"children":6078},{"class":3193,"line":3368},[6079],{"type":3030,"tag":3113,"props":6080,"children":6081},{"style":3307},[6082],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":6084,"children":6085},{"class":3193,"line":3387},[6086],{"type":3030,"tag":3113,"props":6087,"children":6088},{"style":3301},[6089],{"type":3035,"value":6090},"  \u003Ctemplate #can>\n",{"type":3030,"tag":3113,"props":6092,"children":6093},{"class":3193,"line":3400},[6094],{"type":3030,"tag":3113,"props":6095,"children":6096},{"style":3301},[6097],{"type":3035,"value":6098},"    \u003Cbutton>Edit\u003C\u002Fbutton>\n",{"type":3030,"tag":3113,"props":6100,"children":6101},{"class":3193,"line":3417},[6102],{"type":3030,"tag":3113,"props":6103,"children":6104},{"style":3301},[6105],{"type":3035,"value":6106},"  \u003C\u002Ftemplate>\n",{"type":3030,"tag":3113,"props":6108,"children":6109},{"class":3193,"line":3434},[6110],{"type":3030,"tag":3113,"props":6111,"children":6112},{"emptyLinePlaceholder":1200},[6113],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6115,"children":6116},{"class":3193,"line":3462},[6117],{"type":3030,"tag":3113,"props":6118,"children":6119},{"style":3301},[6120],{"type":3035,"value":6121},"  \u003Ctemplate #cannot>\n",{"type":3030,"tag":3113,"props":6123,"children":6124},{"class":3193,"line":3472},[6125],{"type":3030,"tag":3113,"props":6126,"children":6127},{"style":3301},[6128],{"type":3035,"value":6129},"    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n",{"type":3030,"tag":3113,"props":6131,"children":6132},{"class":3193,"line":3481},[6133],{"type":3030,"tag":3113,"props":6134,"children":6135},{"style":3301},[6136],{"type":3035,"value":6106},{"type":3030,"tag":3113,"props":6138,"children":6139},{"class":3193,"line":3490},[6140,6144,6148],{"type":3030,"tag":3113,"props":6141,"children":6142},{"style":3307},[6143],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":6145,"children":6146},{"style":3316},[6147],{"type":3035,"value":5935},{"type":3030,"tag":3113,"props":6149,"children":6150},{"style":3307},[6151],{"type":3035,"value":5521},{"type":3030,"tag":3037,"props":6153,"children":6154},{},[6155,6157,6163],{"type":3035,"value":6156},"All of these components accept a prop named ",{"type":3030,"tag":3188,"props":6158,"children":6160},{"className":6159},[],[6161],{"type":3035,"value":6162},"as",{"type":3035,"value":6164}," to define the HTML tag to render. By default, it's a renderless component.",{"type":3030,"tag":3181,"props":6166,"children":6168},{"className":5497,"code":6167,"language":5499,"meta":2980,"style":2980},"\u003CCan\n  :ability=\"editPost\"\n  :args=\"[post]\"\n  as=\"div\"\n>\n  \u003Cbutton>Edit\u003C\u002Fbutton>\n\u003C\u002FCan>\n",[6169],{"type":3030,"tag":3188,"props":6170,"children":6171},{"__ignoreMap":2980},[6172,6183,6210,6237,6262,6269,6277],{"type":3030,"tag":3113,"props":6173,"children":6174},{"class":3193,"line":3014},[6175,6179],{"type":3030,"tag":3113,"props":6176,"children":6177},{"style":3307},[6178],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":6180,"children":6181},{"style":3316},[6182],{"type":3035,"value":5534},{"type":3030,"tag":3113,"props":6184,"children":6185},{"class":3193,"line":3007},[6186,6190,6194,6198,6202,6206],{"type":3030,"tag":3113,"props":6187,"children":6188},{"style":3307},[6189],{"type":3035,"value":5986},{"type":3030,"tag":3113,"props":6191,"children":6192},{"style":3452},[6193],{"type":3035,"value":5991},{"type":3030,"tag":3113,"props":6195,"children":6196},{"style":3307},[6197],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6199,"children":6200},{"style":3307},[6201],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6203,"children":6204},{"style":3301},[6205],{"type":3035,"value":5556},{"type":3030,"tag":3113,"props":6207,"children":6208},{"style":3307},[6209],{"type":3035,"value":5561},{"type":3030,"tag":3113,"props":6211,"children":6212},{"class":3193,"line":3003},[6213,6217,6221,6225,6229,6233],{"type":3030,"tag":3113,"props":6214,"children":6215},{"style":3307},[6216],{"type":3035,"value":5986},{"type":3030,"tag":3113,"props":6218,"children":6219},{"style":3452},[6220],{"type":3035,"value":6019},{"type":3030,"tag":3113,"props":6222,"children":6223},{"style":3307},[6224],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6226,"children":6227},{"style":3307},[6228],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6230,"children":6231},{"style":3301},[6232],{"type":3035,"value":5582},{"type":3030,"tag":3113,"props":6234,"children":6235},{"style":3307},[6236],{"type":3035,"value":5561},{"type":3030,"tag":3113,"props":6238,"children":6239},{"class":3193,"line":3368},[6240,6245,6249,6253,6258],{"type":3030,"tag":3113,"props":6241,"children":6242},{"style":3452},[6243],{"type":3035,"value":6244},"  as",{"type":3030,"tag":3113,"props":6246,"children":6247},{"style":3307},[6248],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6250,"children":6251},{"style":3307},[6252],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6254,"children":6255},{"style":3203},[6256],{"type":3035,"value":6257},"div",{"type":3030,"tag":3113,"props":6259,"children":6260},{"style":3307},[6261],{"type":3035,"value":5561},{"type":3030,"tag":3113,"props":6263,"children":6264},{"class":3193,"line":3387},[6265],{"type":3030,"tag":3113,"props":6266,"children":6267},{"style":3307},[6268],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":6270,"children":6271},{"class":3193,"line":3400},[6272],{"type":3030,"tag":3113,"props":6273,"children":6274},{"style":3301},[6275],{"type":3035,"value":6276},"  \u003Cbutton>Edit\u003C\u002Fbutton>\n",{"type":3030,"tag":3113,"props":6278,"children":6279},{"class":3193,"line":3417},[6280,6284,6288],{"type":3030,"tag":3113,"props":6281,"children":6282},{"style":3307},[6283],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":6285,"children":6286},{"style":3316},[6287],{"type":3035,"value":5693},{"type":3030,"tag":3113,"props":6289,"children":6290},{"style":3307},[6291],{"type":3035,"value":5521},{"type":3030,"tag":3037,"props":6293,"children":6294},{},[6295],{"type":3035,"value":6296},"This will render:",{"type":3030,"tag":3181,"props":6298,"children":6302},{"className":6299,"code":6300,"language":6301,"meta":2980,"style":2980},"language-html shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cdiv>\n  \u003Cbutton>Edit\u003C\u002Fbutton>\n\u003C\u002Fdiv>\n","html",[6303],{"type":3030,"tag":3188,"props":6304,"children":6305},{"__ignoreMap":2980},[6306,6321,6352],{"type":3030,"tag":3113,"props":6307,"children":6308},{"class":3193,"line":3014},[6309,6313,6317],{"type":3030,"tag":3113,"props":6310,"children":6311},{"style":3307},[6312],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":6314,"children":6315},{"style":3316},[6316],{"type":3035,"value":6257},{"type":3030,"tag":3113,"props":6318,"children":6319},{"style":3307},[6320],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":6322,"children":6323},{"class":3193,"line":3007},[6324,6328,6332,6336,6340,6344,6348],{"type":3030,"tag":3113,"props":6325,"children":6326},{"style":3307},[6327],{"type":3035,"value":5529},{"type":3030,"tag":3113,"props":6329,"children":6330},{"style":3316},[6331],{"type":3035,"value":5657},{"type":3030,"tag":3113,"props":6333,"children":6334},{"style":3307},[6335],{"type":3035,"value":5662},{"type":3030,"tag":3113,"props":6337,"children":6338},{"style":3301},[6339],{"type":3035,"value":5667},{"type":3030,"tag":3113,"props":6341,"children":6342},{"style":3307},[6343],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":6345,"children":6346},{"style":3316},[6347],{"type":3035,"value":5657},{"type":3030,"tag":3113,"props":6349,"children":6350},{"style":3307},[6351],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":6353,"children":6354},{"class":3193,"line":3003},[6355,6359,6363],{"type":3030,"tag":3113,"props":6356,"children":6357},{"style":3307},[6358],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":6360,"children":6361},{"style":3316},[6362],{"type":3035,"value":6257},{"type":3030,"tag":3113,"props":6364,"children":6365},{"style":3307},[6366],{"type":3035,"value":5521},{"type":3030,"tag":3037,"props":6368,"children":6369},{},[6370],{"type":3035,"value":6371},"Instead of:",{"type":3030,"tag":3181,"props":6373,"children":6375},{"className":6299,"code":6374,"language":6301,"meta":2980,"style":2980},"\u003Cbutton>Edit\u003C\u002Fbutton>\n",[6376],{"type":3030,"tag":3188,"props":6377,"children":6378},{"__ignoreMap":2980},[6379],{"type":3030,"tag":3113,"props":6380,"children":6381},{"class":3193,"line":3014},[6382,6386,6390,6394,6398,6402,6406],{"type":3030,"tag":3113,"props":6383,"children":6384},{"style":3307},[6385],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":6387,"children":6388},{"style":3316},[6389],{"type":3035,"value":5657},{"type":3030,"tag":3113,"props":6391,"children":6392},{"style":3307},[6393],{"type":3035,"value":5662},{"type":3030,"tag":3113,"props":6395,"children":6396},{"style":3301},[6397],{"type":3035,"value":5667},{"type":3030,"tag":3113,"props":6399,"children":6400},{"style":3307},[6401],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":6403,"children":6404},{"style":3316},[6405],{"type":3035,"value":5657},{"type":3030,"tag":3113,"props":6407,"children":6408},{"style":3307},[6409],{"type":3035,"value":5521},{"type":3030,"tag":3829,"props":6411,"children":6413},{"id":6412},"multiple-abilities",[6414],{"type":3035,"value":6415},"Multiple abilities",{"type":3030,"tag":3037,"props":6417,"children":6418},{},[6419,6421,6426,6428,6433],{"type":3035,"value":6420},"If you possess multiple abilities, you can provide an array of abilities to the components. The component will render only if ",{"type":3030,"tag":4640,"props":6422,"children":6423},{},[6424],{"type":3035,"value":6425},"all",{"type":3035,"value":6427}," of the abilities ",{"type":3030,"tag":4640,"props":6429,"children":6430},{},[6431],{"type":3035,"value":6432},"match",{"type":3035,"value":6434}," the specified requirements of the component.",{"type":3030,"tag":3181,"props":6436,"children":6438},{"className":5497,"code":6437,"language":5499,"meta":2980,"style":2980},"\u003CCan :ability=\"[editPost, deletePost]\" :args=\"[[post], [post]]\" \u002F>\n\n\u003CCannot :ability=\"[editPost, deletePost]\" :args=\"[[post], [post]]\" \u002F>\n\n\u003CBouncer :ability=\"[editPost, deletePost]\" :args=\"[[post], [post]]\">\n  \u003Ctemplate #can>\n    \u003Cbutton>Edit\u003C\u002Fbutton>\n    \u003Cbutton>Delete\u003C\u002Fbutton>\n  \u003C\u002Ftemplate>\n\n  \u003Ctemplate #cannot>\n    \u003Cp>You're not allowed to edit or delete the post.\u003C\u002Fp>\n  \u003C\u002Ftemplate>\n\u003C\u002FBouncer>\n",[6439],{"type":3030,"tag":3188,"props":6440,"children":6441},{"__ignoreMap":2980},[6442,6527,6534,6613,6620,6699,6706,6713,6721,6728,6735,6742,6750,6757],{"type":3030,"tag":3113,"props":6443,"children":6444},{"class":3193,"line":3014},[6445,6449,6453,6458,6462,6466,6470,6475,6479,6484,6488,6492,6496,6500,6504,6509,6513,6518,6522],{"type":3030,"tag":3113,"props":6446,"children":6447},{"style":3307},[6448],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":6450,"children":6451},{"style":3316},[6452],{"type":3035,"value":5693},{"type":3030,"tag":3113,"props":6454,"children":6455},{"style":3307},[6456],{"type":3035,"value":6457}," :",{"type":3030,"tag":3113,"props":6459,"children":6460},{"style":3452},[6461],{"type":3035,"value":5991},{"type":3030,"tag":3113,"props":6463,"children":6464},{"style":3307},[6465],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6467,"children":6468},{"style":3307},[6469],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6471,"children":6472},{"style":3301},[6473],{"type":3035,"value":6474},"[editPost",{"type":3030,"tag":3113,"props":6476,"children":6477},{"style":3307},[6478],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":6480,"children":6481},{"style":3301},[6482],{"type":3035,"value":6483}," deletePost]",{"type":3030,"tag":3113,"props":6485,"children":6486},{"style":3307},[6487],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6489,"children":6490},{"style":3307},[6491],{"type":3035,"value":6457},{"type":3030,"tag":3113,"props":6493,"children":6494},{"style":3452},[6495],{"type":3035,"value":6019},{"type":3030,"tag":3113,"props":6497,"children":6498},{"style":3307},[6499],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6501,"children":6502},{"style":3307},[6503],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6505,"children":6506},{"style":3301},[6507],{"type":3035,"value":6508},"[[post]",{"type":3030,"tag":3113,"props":6510,"children":6511},{"style":3307},[6512],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":6514,"children":6515},{"style":3301},[6516],{"type":3035,"value":6517}," [post]]",{"type":3030,"tag":3113,"props":6519,"children":6520},{"style":3307},[6521],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6523,"children":6524},{"style":3307},[6525],{"type":3035,"value":6526}," \u002F>\n",{"type":3030,"tag":3113,"props":6528,"children":6529},{"class":3193,"line":3007},[6530],{"type":3030,"tag":3113,"props":6531,"children":6532},{"emptyLinePlaceholder":1200},[6533],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6535,"children":6536},{"class":3193,"line":3003},[6537,6541,6545,6549,6553,6557,6561,6565,6569,6573,6577,6581,6585,6589,6593,6597,6601,6605,6609],{"type":3030,"tag":3113,"props":6538,"children":6539},{"style":3307},[6540],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":6542,"children":6543},{"style":3316},[6544],{"type":3035,"value":5734},{"type":3030,"tag":3113,"props":6546,"children":6547},{"style":3307},[6548],{"type":3035,"value":6457},{"type":3030,"tag":3113,"props":6550,"children":6551},{"style":3452},[6552],{"type":3035,"value":5991},{"type":3030,"tag":3113,"props":6554,"children":6555},{"style":3307},[6556],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6558,"children":6559},{"style":3307},[6560],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6562,"children":6563},{"style":3301},[6564],{"type":3035,"value":6474},{"type":3030,"tag":3113,"props":6566,"children":6567},{"style":3307},[6568],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":6570,"children":6571},{"style":3301},[6572],{"type":3035,"value":6483},{"type":3030,"tag":3113,"props":6574,"children":6575},{"style":3307},[6576],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6578,"children":6579},{"style":3307},[6580],{"type":3035,"value":6457},{"type":3030,"tag":3113,"props":6582,"children":6583},{"style":3452},[6584],{"type":3035,"value":6019},{"type":3030,"tag":3113,"props":6586,"children":6587},{"style":3307},[6588],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6590,"children":6591},{"style":3307},[6592],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6594,"children":6595},{"style":3301},[6596],{"type":3035,"value":6508},{"type":3030,"tag":3113,"props":6598,"children":6599},{"style":3307},[6600],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":6602,"children":6603},{"style":3301},[6604],{"type":3035,"value":6517},{"type":3030,"tag":3113,"props":6606,"children":6607},{"style":3307},[6608],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6610,"children":6611},{"style":3307},[6612],{"type":3035,"value":6526},{"type":3030,"tag":3113,"props":6614,"children":6615},{"class":3193,"line":3368},[6616],{"type":3030,"tag":3113,"props":6617,"children":6618},{"emptyLinePlaceholder":1200},[6619],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6621,"children":6622},{"class":3193,"line":3387},[6623,6627,6631,6635,6639,6643,6647,6651,6655,6659,6663,6667,6671,6675,6679,6683,6687,6691,6695],{"type":3030,"tag":3113,"props":6624,"children":6625},{"style":3307},[6626],{"type":3035,"value":5511},{"type":3030,"tag":3113,"props":6628,"children":6629},{"style":3316},[6630],{"type":3035,"value":5935},{"type":3030,"tag":3113,"props":6632,"children":6633},{"style":3307},[6634],{"type":3035,"value":6457},{"type":3030,"tag":3113,"props":6636,"children":6637},{"style":3452},[6638],{"type":3035,"value":5991},{"type":3030,"tag":3113,"props":6640,"children":6641},{"style":3307},[6642],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6644,"children":6645},{"style":3307},[6646],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6648,"children":6649},{"style":3301},[6650],{"type":3035,"value":6474},{"type":3030,"tag":3113,"props":6652,"children":6653},{"style":3307},[6654],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":6656,"children":6657},{"style":3301},[6658],{"type":3035,"value":6483},{"type":3030,"tag":3113,"props":6660,"children":6661},{"style":3307},[6662],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6664,"children":6665},{"style":3307},[6666],{"type":3035,"value":6457},{"type":3030,"tag":3113,"props":6668,"children":6669},{"style":3452},[6670],{"type":3035,"value":6019},{"type":3030,"tag":3113,"props":6672,"children":6673},{"style":3307},[6674],{"type":3035,"value":4444},{"type":3030,"tag":3113,"props":6676,"children":6677},{"style":3307},[6678],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6680,"children":6681},{"style":3301},[6682],{"type":3035,"value":6508},{"type":3030,"tag":3113,"props":6684,"children":6685},{"style":3307},[6686],{"type":3035,"value":3650},{"type":3030,"tag":3113,"props":6688,"children":6689},{"style":3301},[6690],{"type":3035,"value":6517},{"type":3030,"tag":3113,"props":6692,"children":6693},{"style":3307},[6694],{"type":3035,"value":5551},{"type":3030,"tag":3113,"props":6696,"children":6697},{"style":3307},[6698],{"type":3035,"value":5521},{"type":3030,"tag":3113,"props":6700,"children":6701},{"class":3193,"line":3400},[6702],{"type":3030,"tag":3113,"props":6703,"children":6704},{"style":3301},[6705],{"type":3035,"value":6090},{"type":3030,"tag":3113,"props":6707,"children":6708},{"class":3193,"line":3417},[6709],{"type":3030,"tag":3113,"props":6710,"children":6711},{"style":3301},[6712],{"type":3035,"value":6098},{"type":3030,"tag":3113,"props":6714,"children":6715},{"class":3193,"line":3434},[6716],{"type":3030,"tag":3113,"props":6717,"children":6718},{"style":3301},[6719],{"type":3035,"value":6720},"    \u003Cbutton>Delete\u003C\u002Fbutton>\n",{"type":3030,"tag":3113,"props":6722,"children":6723},{"class":3193,"line":3462},[6724],{"type":3030,"tag":3113,"props":6725,"children":6726},{"style":3301},[6727],{"type":3035,"value":6106},{"type":3030,"tag":3113,"props":6729,"children":6730},{"class":3193,"line":3472},[6731],{"type":3030,"tag":3113,"props":6732,"children":6733},{"emptyLinePlaceholder":1200},[6734],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6736,"children":6737},{"class":3193,"line":3481},[6738],{"type":3030,"tag":3113,"props":6739,"children":6740},{"style":3301},[6741],{"type":3035,"value":6121},{"type":3030,"tag":3113,"props":6743,"children":6744},{"class":3193,"line":3490},[6745],{"type":3030,"tag":3113,"props":6746,"children":6747},{"style":3301},[6748],{"type":3035,"value":6749},"    \u003Cp>You're not allowed to edit or delete the post.\u003C\u002Fp>\n",{"type":3030,"tag":3113,"props":6751,"children":6752},{"class":3193,"line":3019},[6753],{"type":3030,"tag":3113,"props":6754,"children":6755},{"style":3301},[6756],{"type":3035,"value":6106},{"type":3030,"tag":3113,"props":6758,"children":6759},{"class":3193,"line":3507},[6760,6764,6768],{"type":3030,"tag":3113,"props":6761,"children":6762},{"style":3307},[6763],{"type":3035,"value":5672},{"type":3030,"tag":3113,"props":6765,"children":6766},{"style":3316},[6767],{"type":3035,"value":5935},{"type":3030,"tag":3113,"props":6769,"children":6770},{"style":3307},[6771],{"type":3035,"value":5521},{"type":3030,"tag":3134,"props":6773,"children":6775},{"id":6774},"contribution",[6776],{"type":3035,"value":1021},{"type":3030,"tag":6778,"props":6779,"children":6780},"details",{},[6781,6783,6789],{"type":3035,"value":6782},"\n  ",{"type":3030,"tag":6784,"props":6785,"children":6786},"summary",{},[6787],{"type":3035,"value":6788},"Local development",{"type":3030,"tag":3181,"props":6790,"children":6792},{"className":3183,"code":6791,"language":3185,"meta":2980,"style":2980},"# Install dependencies\nnpm install\n\n# Generate type stubs\nnpm run dev:prepare\n\n# Develop with the playground\nnpm run dev\n\n# Build the playground\nnpm run dev:build\n\n# Run ESLint\nnpm run lint\n\n# Run Vitest\nnpm run test\nnpm run test:watch\n\n# Release new version\nnpm run release\n",[6793],{"type":3030,"tag":3188,"props":6794,"children":6795},{"__ignoreMap":2980},[6796,6804,6817,6824,6832,6849,6856,6864,6880,6887,6895,6911,6918,6926,6942,6949,6958,6975,6992,7000,7009],{"type":3030,"tag":3113,"props":6797,"children":6798},{"class":3193,"line":3014},[6799],{"type":3030,"tag":3113,"props":6800,"children":6801},{"style":3466},[6802],{"type":3035,"value":6803},"# Install dependencies\n",{"type":3030,"tag":3113,"props":6805,"children":6806},{"class":3193,"line":3007},[6807,6812],{"type":3030,"tag":3113,"props":6808,"children":6809},{"style":3197},[6810],{"type":3035,"value":6811},"npm",{"type":3030,"tag":3113,"props":6813,"children":6814},{"style":3203},[6815],{"type":3035,"value":6816}," install\n",{"type":3030,"tag":3113,"props":6818,"children":6819},{"class":3193,"line":3003},[6820],{"type":3030,"tag":3113,"props":6821,"children":6822},{"emptyLinePlaceholder":1200},[6823],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6825,"children":6826},{"class":3193,"line":3368},[6827],{"type":3030,"tag":3113,"props":6828,"children":6829},{"style":3466},[6830],{"type":3035,"value":6831},"# Generate type stubs\n",{"type":3030,"tag":3113,"props":6833,"children":6834},{"class":3193,"line":3387},[6835,6839,6844],{"type":3030,"tag":3113,"props":6836,"children":6837},{"style":3197},[6838],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":6840,"children":6841},{"style":3203},[6842],{"type":3035,"value":6843}," run",{"type":3030,"tag":3113,"props":6845,"children":6846},{"style":3203},[6847],{"type":3035,"value":6848}," dev:prepare\n",{"type":3030,"tag":3113,"props":6850,"children":6851},{"class":3193,"line":3400},[6852],{"type":3030,"tag":3113,"props":6853,"children":6854},{"emptyLinePlaceholder":1200},[6855],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6857,"children":6858},{"class":3193,"line":3417},[6859],{"type":3030,"tag":3113,"props":6860,"children":6861},{"style":3466},[6862],{"type":3035,"value":6863},"# Develop with the playground\n",{"type":3030,"tag":3113,"props":6865,"children":6866},{"class":3193,"line":3434},[6867,6871,6875],{"type":3030,"tag":3113,"props":6868,"children":6869},{"style":3197},[6870],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":6872,"children":6873},{"style":3203},[6874],{"type":3035,"value":6843},{"type":3030,"tag":3113,"props":6876,"children":6877},{"style":3203},[6878],{"type":3035,"value":6879}," dev\n",{"type":3030,"tag":3113,"props":6881,"children":6882},{"class":3193,"line":3462},[6883],{"type":3030,"tag":3113,"props":6884,"children":6885},{"emptyLinePlaceholder":1200},[6886],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6888,"children":6889},{"class":3193,"line":3472},[6890],{"type":3030,"tag":3113,"props":6891,"children":6892},{"style":3466},[6893],{"type":3035,"value":6894},"# Build the playground\n",{"type":3030,"tag":3113,"props":6896,"children":6897},{"class":3193,"line":3481},[6898,6902,6906],{"type":3030,"tag":3113,"props":6899,"children":6900},{"style":3197},[6901],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":6903,"children":6904},{"style":3203},[6905],{"type":3035,"value":6843},{"type":3030,"tag":3113,"props":6907,"children":6908},{"style":3203},[6909],{"type":3035,"value":6910}," dev:build\n",{"type":3030,"tag":3113,"props":6912,"children":6913},{"class":3193,"line":3490},[6914],{"type":3030,"tag":3113,"props":6915,"children":6916},{"emptyLinePlaceholder":1200},[6917],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6919,"children":6920},{"class":3193,"line":3019},[6921],{"type":3030,"tag":3113,"props":6922,"children":6923},{"style":3466},[6924],{"type":3035,"value":6925},"# Run ESLint\n",{"type":3030,"tag":3113,"props":6927,"children":6928},{"class":3193,"line":3507},[6929,6933,6937],{"type":3030,"tag":3113,"props":6930,"children":6931},{"style":3197},[6932],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":6934,"children":6935},{"style":3203},[6936],{"type":3035,"value":6843},{"type":3030,"tag":3113,"props":6938,"children":6939},{"style":3203},[6940],{"type":3035,"value":6941}," lint\n",{"type":3030,"tag":3113,"props":6943,"children":6944},{"class":3193,"line":3516},[6945],{"type":3030,"tag":3113,"props":6946,"children":6947},{"emptyLinePlaceholder":1200},[6948],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":6950,"children":6952},{"class":3193,"line":6951},16,[6953],{"type":3030,"tag":3113,"props":6954,"children":6955},{"style":3466},[6956],{"type":3035,"value":6957},"# Run Vitest\n",{"type":3030,"tag":3113,"props":6959,"children":6961},{"class":3193,"line":6960},17,[6962,6966,6970],{"type":3030,"tag":3113,"props":6963,"children":6964},{"style":3197},[6965],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":6967,"children":6968},{"style":3203},[6969],{"type":3035,"value":6843},{"type":3030,"tag":3113,"props":6971,"children":6972},{"style":3203},[6973],{"type":3035,"value":6974}," test\n",{"type":3030,"tag":3113,"props":6976,"children":6978},{"class":3193,"line":6977},18,[6979,6983,6987],{"type":3030,"tag":3113,"props":6980,"children":6981},{"style":3197},[6982],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":6984,"children":6985},{"style":3203},[6986],{"type":3035,"value":6843},{"type":3030,"tag":3113,"props":6988,"children":6989},{"style":3203},[6990],{"type":3035,"value":6991}," test:watch\n",{"type":3030,"tag":3113,"props":6993,"children":6995},{"class":3193,"line":6994},19,[6996],{"type":3030,"tag":3113,"props":6997,"children":6998},{"emptyLinePlaceholder":1200},[6999],{"type":3035,"value":4483},{"type":3030,"tag":3113,"props":7001,"children":7003},{"class":3193,"line":7002},20,[7004],{"type":3030,"tag":3113,"props":7005,"children":7006},{"style":3466},[7007],{"type":3035,"value":7008},"# Release new version\n",{"type":3030,"tag":3113,"props":7010,"children":7012},{"class":3193,"line":7011},21,[7013,7017,7021],{"type":3030,"tag":3113,"props":7014,"children":7015},{"style":3197},[7016],{"type":3035,"value":6811},{"type":3030,"tag":3113,"props":7018,"children":7019},{"style":3203},[7020],{"type":3035,"value":6843},{"type":3030,"tag":3113,"props":7022,"children":7023},{"style":3203},[7024],{"type":3035,"value":7025}," release\n",{"type":3030,"tag":3134,"props":7027,"children":7029},{"id":7028},"credits",[7030],{"type":3035,"value":7031},"Credits",{"type":3030,"tag":3037,"props":7033,"children":7034},{},[7035,7037,7044],{"type":3035,"value":7036},"This module, both code and design, is heavily inspired by the ",{"type":3030,"tag":3041,"props":7038,"children":7041},{"href":7039,"rel":7040},"https:\u002F\u002Fdocs.adonisjs.com\u002Fguides\u002Fsecurity\u002Fauthorization",[3045],[7042],{"type":3035,"value":7043},"Adonis Bouncer",{"type":3035,"value":7045},". It's a well written package and I think reinventing the wheel every time is unnecessary.",{"type":3030,"tag":3134,"props":7047,"children":7049},{"id":7048},"license",[7050],{"type":3035,"value":3068},{"type":3030,"tag":3037,"props":7052,"children":7053},{},[7054],{"type":3030,"tag":3041,"props":7055,"children":7057},{"href":7056},".\u002FLICENSE",[7058],{"type":3035,"value":7059},"MIT License",{"type":3030,"tag":7061,"props":7062,"children":7063},"style",{},[7064],{"type":3035,"value":7065},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":2980,"searchDepth":3007,"depth":3007,"links":7067},[7068,7069,7070,7076,7077,7078],{"id":3136,"depth":3007,"text":399},{"id":3171,"depth":3007,"text":3174},{"id":3229,"depth":3007,"text":3232,"children":7071},[7072,7073,7074,7075],{"id":3248,"depth":3003,"text":3251},{"id":4367,"depth":3003,"text":4370},{"id":4766,"depth":3003,"text":4769},{"id":5486,"depth":3003,"text":5489},{"id":6774,"depth":3007,"text":1021},{"id":7028,"depth":3007,"text":7031},{"id":7048,"depth":3007,"text":3068},{"v5":7080,"v4":7081,"v3":7082,"v2":7083},"5 (nightly)","4.4.8","3.21.8","2.18.1"]