[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"versions":3007,"module-auth-utils":3012},[4,1124,1971,2805],{"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,1419,1801,1878,1900,1934],{"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,1327,1337,1365,1381],{"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,1321,1324],{"title":1314,"path":1315,"stem":1316,"titleTemplate":6},"Dev Containers","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":1318,"path":1319,"stem":1320,"titleTemplate":6},"Nuxt and Hydration","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":1322,"stem":1323,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":1325,"stem":1326,"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":1328,"stem":1329,"children":1330,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai","docs\u002F4.x\u002F3.guide\u002F3.ai",[1331,1334],{"title":314,"path":1332,"stem":1333,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":1335,"stem":1336,"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":1338,"stem":1339,"children":1340,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F4.modules",[1341,1344,1347,1350,1353,1356,1359,1362],{"title":329,"path":1342,"stem":1343,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":1345,"stem":1346,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":1348,"stem":1349,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":1351,"stem":1352,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":1354,"stem":1355,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":1357,"stem":1358,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":1360,"stem":1361,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":1363,"stem":1364,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":1366,"stem":1367,"children":1368,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes","docs\u002F4.x\u002F3.guide\u002F5.recipes",[1369,1372,1375,1378],{"title":368,"path":1370,"stem":1371,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":1373,"stem":1374,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":1376,"stem":1377,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":1379,"stem":1380,"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":1382,"stem":1383,"children":1384,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further","docs\u002F4.x\u002F3.guide\u002F6.going-further",[1385,1388,1391,1394,1397,1400,1403,1406,1409,1412,1416],{"title":391,"path":1386,"stem":1387,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":1389,"stem":1390,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":1392,"stem":1393,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":1395,"stem":1396,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":1398,"stem":1399,"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":1401,"stem":1402,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":1404,"stem":1405,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":1407,"stem":1408,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":1410,"stem":1411,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":1413,"path":1414,"stem":1415,"titleTemplate":6},"Creating a Builder","\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fbuilders","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F8.builders",{"title":427,"path":1417,"stem":1418,"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":1420,"stem":1421,"children":1422,"page":108},"\u002Fdocs\u002F4.x\u002Fapi","docs\u002F4.x\u002F4.api",[1423,1476,1583,1674,1726,1788,1798],{"title":438,"titleTemplate":439,"icon":324,"path":1424,"stem":1425,"children":1426,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F1.components",[1427,1430,1433,1436,1439,1442,1445,1448,1452,1455,1458,1461,1464,1467,1470,1473],{"title":444,"path":1428,"stem":1429,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":1431,"stem":1432,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":1434,"stem":1435,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":1437,"stem":1438,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F4.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":1440,"stem":1441,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F4.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":1443,"stem":1444,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":1446,"stem":1447,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F4.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1449,"path":1450,"stem":1451,"titleTemplate":6},"\u003CNuxtAnnouncer>","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":1453,"stem":1454,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F4.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":1456,"stem":1457,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F4.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":1459,"stem":1460,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F4.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":1462,"stem":1463,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F4.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":1465,"stem":1466,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F4.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":1468,"stem":1469,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F4.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":1471,"stem":1472,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F4.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":1474,"stem":1475,"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":1477,"stem":1478,"children":1479,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables","docs\u002F4.x\u002F4.api\u002F2.composables",[1480,1484,1488,1491,1495,1498,1501,1504,1507,1510,1513,1516,1519,1523,1526,1529,1532,1535,1538,1541,1544,1547,1550,1553,1556,1559,1562,1565,1568,1571,1574,1577,1580],{"title":1481,"path":1482,"stem":1483,"titleTemplate":6},"createUseAsyncData","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1485,"path":1486,"stem":1487,"titleTemplate":6},"createUseFetch","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":1489,"stem":1490,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1492,"path":1493,"stem":1494,"titleTemplate":6},"useAnnouncer","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":1496,"stem":1497,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":1499,"stem":1500,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":1502,"stem":1503,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":1505,"stem":1506,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":1508,"stem":1509,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":1511,"stem":1512,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":1514,"stem":1515,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":1517,"stem":1518,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":1520,"path":1521,"stem":1522,"titleTemplate":6},"useLayout","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-layout","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-layout",{"title":547,"path":1524,"stem":1525,"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":1527,"stem":1528,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":1530,"stem":1531,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":1533,"stem":1534,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":1536,"stem":1537,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":1539,"stem":1540,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":1542,"stem":1543,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":1545,"stem":1546,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":1548,"stem":1549,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":1551,"stem":1552,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":1554,"stem":1555,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":1557,"stem":1558,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":1560,"stem":1561,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":1563,"stem":1564,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":1566,"stem":1567,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":1569,"stem":1570,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":1572,"stem":1573,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":1575,"stem":1576,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":1578,"stem":1579,"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":1581,"stem":1582,"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":1584,"stem":1585,"children":1586,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils","docs\u002F4.x\u002F4.api\u002F3.utils",[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,1662,1665,1668,1671],{"title":634,"path":1588,"stem":1589,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F4.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":1591,"stem":1592,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":1594,"stem":1595,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":1597,"stem":1598,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":1600,"stem":1601,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":1603,"stem":1604,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":1606,"stem":1607,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":1609,"stem":1610,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":1612,"stem":1613,"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":1615,"stem":1616,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":1618,"stem":1619,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":1621,"stem":1622,"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":1624,"stem":1625,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":1627,"stem":1628,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":1630,"stem":1631,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":1633,"stem":1634,"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":1636,"stem":1637,"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":1639,"stem":1640,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":1642,"stem":1643,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":1645,"stem":1646,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":1648,"stem":1649,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":1651,"stem":1652,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":1654,"stem":1655,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":1657,"stem":1658,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":1660,"stem":1661,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F4.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":1663,"stem":1664,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":1666,"stem":1667,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":1669,"stem":1670,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":1672,"stem":1673,"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":1675,"stem":1676,"children":1677,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands","docs\u002F4.x\u002F4.api\u002F4.commands",[1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711,1714,1717,1720,1723],{"title":757,"path":1679,"stem":1680,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":1682,"stem":1683,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":1685,"stem":1686,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":1688,"stem":1689,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":1691,"stem":1692,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":1694,"stem":1695,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":1697,"stem":1698,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":1700,"stem":1701,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":1703,"stem":1704,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":1706,"stem":1707,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":1709,"stem":1710,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":1712,"stem":1713,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":1715,"stem":1716,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":1718,"stem":1719,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":1721,"stem":1722,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":1724,"stem":1725,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":1727,"stem":1728,"children":1729,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit","docs\u002F4.x\u002F4.api\u002F5.kit",[1730,1733,1736,1739,1743,1746,1749,1752,1755,1758,1761,1764,1767,1770,1773,1776,1779,1782,1785],{"title":276,"path":1731,"stem":1732,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F4.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":1734,"stem":1735,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":1737,"stem":1738,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":1740,"path":1741,"stem":1742,"titleTemplate":6},"App Config","\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fapp-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F11.app-config",{"title":837,"path":1744,"stem":1745,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F4.x\u002F4.api\u002F5.kit\u002F12.nitro",{"title":841,"path":1747,"stem":1748,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F4.x\u002F4.api\u002F5.kit\u002F13.resolving",{"title":845,"path":1750,"stem":1751,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F4.x\u002F4.api\u002F5.kit\u002F14.logging",{"title":849,"path":1753,"stem":1754,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F4.x\u002F4.api\u002F5.kit\u002F15.builder",{"title":853,"path":1756,"stem":1757,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F4.x\u002F4.api\u002F5.kit\u002F16.examples",{"title":84,"path":1759,"stem":1760,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F4.x\u002F4.api\u002F5.kit\u002F17.layers",{"title":860,"path":1762,"stem":1763,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F4.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":1765,"stem":1766,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F4.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":1768,"stem":1769,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F4.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":1771,"stem":1772,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":1774,"stem":1775,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F4.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":1777,"stem":1778,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F4.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":1780,"stem":1781,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F4.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":1783,"stem":1784,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":1786,"stem":1787,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":1789,"stem":1790,"children":1791,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced","docs\u002F4.x\u002F4.api\u002F6.advanced",[1792,1795],{"title":411,"path":1793,"stem":1794,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":1796,"stem":1797,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":1799,"stem":1800,"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":1802,"stem":1803,"children":1804,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples","docs\u002F4.x\u002F4.examples",[1805,1808,1827,1840,1871],{"title":918,"path":1806,"stem":1807,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fhello-world","docs\u002F4.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":1809,"stem":1810,"children":1811,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures","docs\u002F4.x\u002F4.examples\u002F1.features",[1812,1815,1818,1821,1824],{"title":926,"path":1813,"stem":1814,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F4.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":1816,"stem":1817,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F4.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":1819,"stem":1820,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F4.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":1822,"stem":1823,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F4.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":1825,"stem":1826,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F4.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":1828,"stem":1829,"children":1830,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting","docs\u002F4.x\u002F4.examples\u002F2.routing",[1831,1834,1837],{"title":948,"path":1832,"stem":1833,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":1835,"stem":1836,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":1838,"stem":1839,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":1841,"stem":1842,"children":1843,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced","docs\u002F4.x\u002F4.examples\u002F4.advanced",[1844,1847,1850,1853,1856,1859,1862,1865,1868],{"title":84,"path":1845,"stem":1846,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":1848,"stem":1849,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":1851,"stem":1852,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":1854,"stem":1855,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":1857,"stem":1858,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":1860,"stem":1861,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":1863,"stem":1864,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":1866,"stem":1867,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":1869,"stem":1870,"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":1872,"stem":1873,"children":1874,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental","docs\u002F4.x\u002F4.examples\u002F7.experimental",[1875],{"title":1000,"path":1876,"stem":1877,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F4.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":1879,"stem":1880,"children":1881,"page":108},"\u002Fdocs\u002F4.x\u002Fcommunity","docs\u002F4.x\u002F5.community",[1882,1885,1888,1891,1894,1897],{"title":1011,"path":1883,"stem":1884,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help","docs\u002F4.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":1886,"stem":1887,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs","docs\u002F4.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":1889,"stem":1890,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution","docs\u002F4.x\u002F5.community\u002F4.contribution",{"title":1026,"path":1892,"stem":1893,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution","docs\u002F4.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":1895,"stem":1896,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap","docs\u002F4.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":1898,"stem":1899,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog","docs\u002F4.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":1901,"stem":1902,"children":1903,"page":108},"\u002Fdocs\u002F4.x\u002Fbridge","docs\u002F4.x\u002F6.bridge",[1904,1907,1910,1913,1916,1919,1922,1925,1928,1931],{"title":1048,"path":1905,"stem":1906,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview","docs\u002F4.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1908,"stem":1909,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration","docs\u002F4.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1911,"stem":1912,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript","docs\u002F4.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":1914,"stem":1915,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F4.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":1917,"stem":1918,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F4.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":1920,"stem":1921,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F4.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":1923,"stem":1924,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta","docs\u002F4.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1926,"stem":1927,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config","docs\u002F4.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":1929,"stem":1930,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro","docs\u002F4.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":1932,"stem":1933,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite","docs\u002F4.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":1935,"stem":1936,"children":1937,"page":108},"\u002Fdocs\u002F4.x\u002Fmigration","docs\u002F4.x\u002F7.migration",[1938,1941,1944,1947,1950,1953,1956,1959,1962,1965,1968],{"title":1048,"path":1939,"stem":1940,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview","docs\u002F4.x\u002F7.migration\u002F1.overview",{"title":1092,"path":1942,"stem":1943,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling","docs\u002F4.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1945,"stem":1946,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver","docs\u002F4.x\u002F7.migration\u002F11.server",{"title":29,"path":1948,"stem":1949,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration","docs\u002F4.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1951,"stem":1952,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors","docs\u002F4.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":1954,"stem":1955,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports","docs\u002F4.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":1957,"stem":1958,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta","docs\u002F4.x\u002F7.migration\u002F4.meta",{"title":1062,"path":1960,"stem":1961,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F4.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":1963,"stem":1964,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F4.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":1966,"stem":1967,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options","docs\u002F4.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1969,"stem":1970,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config","docs\u002F4.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1972,"stem":1973,"children":1974,"page":108},"\u002Fdocs\u002F5.x","docs\u002F5.x",[1975,2033,2123,2259,2635,2712,2734,2768],{"title":12,"titleTemplate":13,"icon":14,"path":1976,"stem":1977,"children":1978,"page":108},"\u002Fdocs\u002F5.x\u002Fgetting-started","docs\u002F5.x\u002F1.getting-started",[1979,1982,1985,1988,1991,1994,1997,2000,2003,2006,2009,2012,2015,2018,2021,2024,2027,2030],{"title":19,"path":1980,"stem":1981,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","docs\u002F5.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1983,"stem":1984,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","docs\u002F5.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1986,"stem":1987,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","docs\u002F5.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1989,"stem":1990,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","docs\u002F5.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1992,"stem":1993,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","docs\u002F5.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1995,"stem":1996,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","docs\u002F5.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1998,"stem":1999,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","docs\u002F5.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":2001,"stem":2002,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","docs\u002F5.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":2004,"stem":2005,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","docs\u002F5.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":2007,"stem":2008,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F5.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":2010,"stem":2011,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","docs\u002F5.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":2013,"stem":2014,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","docs\u002F5.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":2016,"stem":2017,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","docs\u002F5.x\u002F1.getting-started\u002F13.server",{"title":84,"path":2019,"stem":2020,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","docs\u002F5.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":2022,"stem":2023,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","docs\u002F5.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":2025,"stem":2026,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","docs\u002F5.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":2028,"stem":2029,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","docs\u002F5.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":2031,"stem":2032,"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":2034,"stem":2035,"children":2036,"page":108},"\u002Fdocs\u002F5.x\u002Fdirectory-structure","docs\u002F5.x\u002F2.directory-structure",[2037,2040,2043,2081,2084,2087,2090,2093,2096,2099,2102,2105,2108,2111,2114,2117,2120],{"title":117,"path":2038,"stem":2039,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F5.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":2041,"stem":2042,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","docs\u002F5.x\u002F2.directory-structure\u002F0.output",{"title":1197,"titleTemplate":111,"head":2044,"defaultOpen":1200,"icon":1201,"path":2045,"stem":2046,"children":2047,"page":108},{"title":1199},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app",[2048,2051,2054,2057,2060,2063,2066,2069,2072,2075,2078],{"title":127,"path":2049,"stem":2050,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":2052,"stem":2053,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":2055,"stem":2056,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":2058,"stem":2059,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":2061,"stem":2062,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":2064,"stem":2065,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":2067,"stem":2068,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":2070,"stem":2071,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":2073,"stem":2074,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":2076,"stem":2077,"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":2079,"stem":2080,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":2082,"stem":2083,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","docs\u002F5.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":2085,"stem":2086,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","docs\u002F5.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":2088,"stem":2089,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","docs\u002F5.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":2091,"stem":2092,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F5.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":2094,"stem":2095,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","docs\u002F5.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":2097,"stem":2098,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","docs\u002F5.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":2100,"stem":2101,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","docs\u002F5.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":2103,"stem":2104,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","docs\u002F5.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":2106,"stem":2107,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F5.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":2109,"stem":2110,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":2112,"stem":2113,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":2115,"stem":2116,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F5.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":2118,"stem":2119,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","docs\u002F5.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":2121,"stem":2122,"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":2124,"stem":2125,"children":2126,"page":108},"\u002Fdocs\u002F5.x\u002Fguide","docs\u002F5.x\u002F3.guide",[2127,2152,2168,2178,2206,2222],{"title":253,"titleTemplate":254,"icon":255,"path":2128,"stem":2129,"children":2130,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts","docs\u002F5.x\u002F3.guide\u002F1.concepts",[2131,2134,2137,2140,2143,2146,2149],{"title":260,"path":2132,"stem":2133,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":2135,"stem":2136,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":2138,"stem":2139,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":2141,"stem":2142,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":2144,"stem":2145,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":2147,"stem":2148,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":2150,"stem":2151,"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":2153,"stem":2154,"children":2155,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F2.best-practices",[2156,2159,2162,2165],{"title":1314,"path":2157,"stem":2158,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":1318,"path":2160,"stem":2161,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":2163,"stem":2164,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":2166,"stem":2167,"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":2169,"stem":2170,"children":2171,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai","docs\u002F5.x\u002F3.guide\u002F3.ai",[2172,2175],{"title":314,"path":2173,"stem":2174,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":2176,"stem":2177,"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":2179,"stem":2180,"children":2181,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F4.modules",[2182,2185,2188,2191,2194,2197,2200,2203],{"title":329,"path":2183,"stem":2184,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":2186,"stem":2187,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":2189,"stem":2190,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":2192,"stem":2193,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":2195,"stem":2196,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":2198,"stem":2199,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":2201,"stem":2202,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":2204,"stem":2205,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":2207,"stem":2208,"children":2209,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","docs\u002F5.x\u002F3.guide\u002F5.recipes",[2210,2213,2216,2219],{"title":368,"path":2211,"stem":2212,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":2214,"stem":2215,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":2217,"stem":2218,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":2220,"stem":2221,"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":2223,"stem":2224,"children":2225,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","docs\u002F5.x\u002F3.guide\u002F6.going-further",[2226,2229,2232,2235,2238,2241,2244,2247,2250,2253,2256],{"title":391,"path":2227,"stem":2228,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":2230,"stem":2231,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":2233,"stem":2234,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":2236,"stem":2237,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":2239,"stem":2240,"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":2242,"stem":2243,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":2245,"stem":2246,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":2248,"stem":2249,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":2251,"stem":2252,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":1413,"path":2254,"stem":2255,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fbuilders","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F8.builders",{"title":427,"path":2257,"stem":2258,"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":2260,"stem":2261,"children":2262,"page":108},"\u002Fdocs\u002F5.x\u002Fapi","docs\u002F5.x\u002F4.api",[2263,2315,2418,2509,2561,2622,2632],{"title":438,"titleTemplate":439,"icon":324,"path":2264,"stem":2265,"children":2266,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F1.components",[2267,2270,2273,2276,2279,2282,2285,2288,2291,2294,2297,2300,2303,2306,2309,2312],{"title":444,"path":2268,"stem":2269,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":2271,"stem":2272,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":2274,"stem":2275,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":2277,"stem":2278,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F5.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":2280,"stem":2281,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F5.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":2283,"stem":2284,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":2286,"stem":2287,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F5.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1449,"path":2289,"stem":2290,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":2292,"stem":2293,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F5.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":2295,"stem":2296,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F5.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":2298,"stem":2299,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F5.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":2301,"stem":2302,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F5.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":2304,"stem":2305,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F5.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":2307,"stem":2308,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F5.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":2310,"stem":2311,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F5.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":2313,"stem":2314,"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":2316,"stem":2317,"children":2318,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","docs\u002F5.x\u002F4.api\u002F2.composables",[2319,2322,2325,2328,2331,2334,2337,2340,2343,2346,2349,2352,2355,2358,2361,2364,2367,2370,2373,2376,2379,2382,2385,2388,2391,2394,2397,2400,2403,2406,2409,2412,2415],{"title":1481,"path":2320,"stem":2321,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1485,"path":2323,"stem":2324,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":2326,"stem":2327,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1492,"path":2329,"stem":2330,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":2332,"stem":2333,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":2335,"stem":2336,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":2338,"stem":2339,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":2341,"stem":2342,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":2344,"stem":2345,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":2347,"stem":2348,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":2350,"stem":2351,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":2353,"stem":2354,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":1520,"path":2356,"stem":2357,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-layout","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-layout",{"title":547,"path":2359,"stem":2360,"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":2362,"stem":2363,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":2365,"stem":2366,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":2368,"stem":2369,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":2371,"stem":2372,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":2374,"stem":2375,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":2377,"stem":2378,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":2380,"stem":2381,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":2383,"stem":2384,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":2386,"stem":2387,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":2389,"stem":2390,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":2392,"stem":2393,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":2395,"stem":2396,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":2398,"stem":2399,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":2401,"stem":2402,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":2404,"stem":2405,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":2407,"stem":2408,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":2410,"stem":2411,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":2413,"stem":2414,"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":2416,"stem":2417,"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":2419,"stem":2420,"children":2421,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils","docs\u002F5.x\u002F4.api\u002F3.utils",[2422,2425,2428,2431,2434,2437,2440,2443,2446,2449,2452,2455,2458,2461,2464,2467,2470,2473,2476,2479,2482,2485,2488,2491,2494,2497,2500,2503,2506],{"title":634,"path":2423,"stem":2424,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F5.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":2426,"stem":2427,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":2429,"stem":2430,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":2432,"stem":2433,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":2435,"stem":2436,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":2438,"stem":2439,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":2441,"stem":2442,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":2444,"stem":2445,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":2447,"stem":2448,"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":2450,"stem":2451,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":2453,"stem":2454,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":2456,"stem":2457,"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":2459,"stem":2460,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":2462,"stem":2463,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":2465,"stem":2466,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":2468,"stem":2469,"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":2471,"stem":2472,"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":2474,"stem":2475,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":2477,"stem":2478,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":2480,"stem":2481,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":2483,"stem":2484,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":2486,"stem":2487,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":2489,"stem":2490,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":2492,"stem":2493,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":2495,"stem":2496,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F5.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":2498,"stem":2499,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":2501,"stem":2502,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":2504,"stem":2505,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":2507,"stem":2508,"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":2510,"stem":2511,"children":2512,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands","docs\u002F5.x\u002F4.api\u002F4.commands",[2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543,2546,2549,2552,2555,2558],{"title":757,"path":2514,"stem":2515,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":2517,"stem":2518,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":2520,"stem":2521,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":2523,"stem":2524,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":2526,"stem":2527,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":2529,"stem":2530,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":2532,"stem":2533,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":2535,"stem":2536,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":2538,"stem":2539,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":2541,"stem":2542,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":2544,"stem":2545,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":2547,"stem":2548,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":2550,"stem":2551,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":2553,"stem":2554,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":2556,"stem":2557,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":2559,"stem":2560,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":2562,"stem":2563,"children":2564,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","docs\u002F5.x\u002F4.api\u002F5.kit",[2565,2568,2571,2574,2577,2580,2583,2586,2589,2592,2595,2598,2601,2604,2607,2610,2613,2616,2619],{"title":276,"path":2566,"stem":2567,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F5.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":2569,"stem":2570,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":2572,"stem":2573,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":1740,"path":2575,"stem":2576,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fapp-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F11.app-config",{"title":837,"path":2578,"stem":2579,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F5.x\u002F4.api\u002F5.kit\u002F12.nitro",{"title":841,"path":2581,"stem":2582,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F5.x\u002F4.api\u002F5.kit\u002F13.resolving",{"title":845,"path":2584,"stem":2585,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F5.x\u002F4.api\u002F5.kit\u002F14.logging",{"title":849,"path":2587,"stem":2588,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F5.x\u002F4.api\u002F5.kit\u002F15.builder",{"title":853,"path":2590,"stem":2591,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F5.x\u002F4.api\u002F5.kit\u002F16.examples",{"title":84,"path":2593,"stem":2594,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F5.x\u002F4.api\u002F5.kit\u002F17.layers",{"title":860,"path":2596,"stem":2597,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F5.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":2599,"stem":2600,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F5.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":2602,"stem":2603,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F5.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":2605,"stem":2606,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":2608,"stem":2609,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F5.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":2611,"stem":2612,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F5.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":2614,"stem":2615,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F5.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":2617,"stem":2618,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":2620,"stem":2621,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":2623,"stem":2624,"children":2625,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","docs\u002F5.x\u002F4.api\u002F6.advanced",[2626,2629],{"title":411,"path":2627,"stem":2628,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":2630,"stem":2631,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":2633,"stem":2634,"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":2636,"stem":2637,"children":2638,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples","docs\u002F5.x\u002F4.examples",[2639,2642,2661,2674,2705],{"title":918,"path":2640,"stem":2641,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fhello-world","docs\u002F5.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":2643,"stem":2644,"children":2645,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures","docs\u002F5.x\u002F4.examples\u002F1.features",[2646,2649,2652,2655,2658],{"title":926,"path":2647,"stem":2648,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F5.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":2650,"stem":2651,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F5.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":2653,"stem":2654,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F5.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":2656,"stem":2657,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F5.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":2659,"stem":2660,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F5.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":2662,"stem":2663,"children":2664,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting","docs\u002F5.x\u002F4.examples\u002F2.routing",[2665,2668,2671],{"title":948,"path":2666,"stem":2667,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":2669,"stem":2670,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":2672,"stem":2673,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":2675,"stem":2676,"children":2677,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced","docs\u002F5.x\u002F4.examples\u002F4.advanced",[2678,2681,2684,2687,2690,2693,2696,2699,2702],{"title":84,"path":2679,"stem":2680,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":2682,"stem":2683,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":2685,"stem":2686,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":2688,"stem":2689,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":2691,"stem":2692,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":2694,"stem":2695,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":2697,"stem":2698,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":2700,"stem":2701,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":2703,"stem":2704,"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":2706,"stem":2707,"children":2708,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental","docs\u002F5.x\u002F4.examples\u002F7.experimental",[2709],{"title":1000,"path":2710,"stem":2711,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F5.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":2713,"stem":2714,"children":2715,"page":108},"\u002Fdocs\u002F5.x\u002Fcommunity","docs\u002F5.x\u002F5.community",[2716,2719,2722,2725,2728,2731],{"title":1011,"path":2717,"stem":2718,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","docs\u002F5.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":2720,"stem":2721,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","docs\u002F5.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":2723,"stem":2724,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","docs\u002F5.x\u002F5.community\u002F4.contribution",{"title":1026,"path":2726,"stem":2727,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","docs\u002F5.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":2729,"stem":2730,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","docs\u002F5.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":2732,"stem":2733,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","docs\u002F5.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":2735,"stem":2736,"children":2737,"page":108},"\u002Fdocs\u002F5.x\u002Fbridge","docs\u002F5.x\u002F6.bridge",[2738,2741,2744,2747,2750,2753,2756,2759,2762,2765],{"title":1048,"path":2739,"stem":2740,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview","docs\u002F5.x\u002F6.bridge\u002F1.overview",{"title":29,"path":2742,"stem":2743,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","docs\u002F5.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":2745,"stem":2746,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","docs\u002F5.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":2748,"stem":2749,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F5.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":2751,"stem":2752,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F5.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":2754,"stem":2755,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F5.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":2757,"stem":2758,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","docs\u002F5.x\u002F6.bridge\u002F6.meta",{"title":403,"path":2760,"stem":2761,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","docs\u002F5.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":2763,"stem":2764,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","docs\u002F5.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":2766,"stem":2767,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","docs\u002F5.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":2769,"stem":2770,"children":2771,"page":108},"\u002Fdocs\u002F5.x\u002Fmigration","docs\u002F5.x\u002F7.migration",[2772,2775,2778,2781,2784,2787,2790,2793,2796,2799,2802],{"title":1048,"path":2773,"stem":2774,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview","docs\u002F5.x\u002F7.migration\u002F1.overview",{"title":1092,"path":2776,"stem":2777,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","docs\u002F5.x\u002F7.migration\u002F10.bundling",{"title":79,"path":2779,"stem":2780,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","docs\u002F5.x\u002F7.migration\u002F11.server",{"title":29,"path":2782,"stem":2783,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","docs\u002F5.x\u002F7.migration\u002F2.configuration",{"title":276,"path":2785,"stem":2786,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","docs\u002F5.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":2788,"stem":2789,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","docs\u002F5.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":2791,"stem":2792,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","docs\u002F5.x\u002F7.migration\u002F4.meta",{"title":1062,"path":2794,"stem":2795,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F5.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":2797,"stem":2798,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F5.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":2800,"stem":2801,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","docs\u002F5.x\u002F7.migration\u002F7.component-options",{"title":403,"path":2803,"stem":2804,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","docs\u002F5.x\u002F7.migration\u002F8.runtime-config",{"title":2806,"icon":2807,"path":2808,"stem":2809,"children":2810,"page":108},"Blog","i-lucide-newspaper","\u002Fblog","blog",[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,2975,2979,2983,2987,2991,2995,2999,3003],{"title":2812,"path":2813,"stem":2814},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2816,"path":2817,"stem":2818},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2820,"path":2821,"stem":2822},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2824,"path":2825,"stem":2826},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2828,"path":2829,"stem":2830},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2832,"path":2833,"stem":2834},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2836,"path":2837,"stem":2838},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2840,"path":2841,"stem":2842},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2844,"path":2845,"stem":2846},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2848,"path":2849,"stem":2850},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2852,"path":2853,"stem":2854},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2856,"path":2857,"stem":2858},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2860,"path":2861,"stem":2862},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2864,"path":2865,"stem":2866},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2868,"path":2869,"stem":2870},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2872,"path":2873,"stem":2874},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2876,"path":2877,"stem":2878},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2880,"path":2881,"stem":2882},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2884,"path":2885,"stem":2886},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2888,"path":2889,"stem":2890},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2892,"path":2893,"stem":2894},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2896,"path":2897,"stem":2898},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2900,"path":2901,"stem":2902},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2904,"path":2905,"stem":2906},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2908,"path":2909,"stem":2910},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2912,"path":2913,"stem":2914},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2916,"path":2917,"stem":2918},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2920,"path":2921,"stem":2922},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2924,"path":2925,"stem":2926},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2928,"path":2929,"stem":2930},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2932,"path":2933,"stem":2934},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2936,"path":2937,"stem":2938},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":2940,"path":2941,"stem":2942},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":2944,"path":2945,"stem":2946},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":2948,"path":2949,"stem":2950},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2952,"path":2953,"stem":2954},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2956,"path":2957,"stem":2958},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":2960,"path":2961,"stem":2962},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":2964,"path":2965,"stem":2966},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":2968,"path":2969,"stem":2970},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":2972,"path":2973,"stem":2974},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":2976,"path":2977,"stem":2978},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":2980,"path":2981,"stem":2982},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":2984,"path":2985,"stem":2986},"Nuxt 4.5","\u002Fblog\u002Fv4-5","blog\u002F46.v4-5",{"title":2988,"path":2989,"stem":2990},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2992,"path":2993,"stem":2994},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":2996,"path":2997,"stem":2998},"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":3000,"path":3001,"stem":3002},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":3004,"path":3005,"stem":3006},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"v5":3008,"v4":3009,"v3":3010,"v2":3011},"5 (nightly)","4.5.0","3.21.9","2.18.1",{"name":3013,"description":3014,"repo":3015,"npm":3016,"icon":3017,"github":3018,"website":3018,"learn_more":3017,"category":3019,"type":3020,"maintainers":3021,"compatibility":3026,"generatedAt":3029,"contributors":3030,"stats":3128,"readme":3137},"auth-utils","Add Authentication to Nuxt applications with secured & sealed cookies sessions.","atinux\u002Fnuxt-auth-utils","nuxt-auth-utils","","https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils","Security","3rd-party",[3022],{"name":3023,"github":3024,"twitter":3024,"bluesky":3025},"Sébastien Chopin","atinux","atinux.com",{"nuxt":3027,"requires":3028},">=3.0.0",{},"2026-07-25T23:59:52.172Z",[3031,3034,3038,3042,3046,3050,3054,3057,3060,3063,3066,3070,3073,3076,3079,3082,3085,3088,3091,3094,3097,3100,3104,3107,3110,3113,3116,3119,3122,3125],{"id":3032,"username":3024,"contributions":3033},904724,197,{"id":3035,"username":3036,"contributions":3037},28706372,"danielroe",16,{"id":3039,"username":3040,"contributions":3041},50090595,"ahmedrangel",9,{"id":3043,"username":3044,"contributions":3045},12988935,"Gerbuuun",8,{"id":3047,"username":3048,"contributions":3049},45267552,"Barbapapazes",7,{"id":3051,"username":3052,"contributions":3053},13056429,"sandros94",3,{"id":3055,"username":3056,"contributions":3053},16264115,"Yizack",{"id":3058,"username":3059,"contributions":3053},967369,"acidjazz",{"id":3061,"username":3062,"contributions":3053},15887916,"blumgart",{"id":3064,"username":3065,"contributions":3053},67746033,"justserdar",{"id":3067,"username":3068,"contributions":3069},10636392,"brianacdev",2,{"id":3071,"username":3072,"contributions":3069},67898185,"larsrickert",{"id":3074,"username":3075,"contributions":3069},40021217,"kingyue737",{"id":3077,"username":3078,"contributions":3069},59120414,"cth-latest",{"id":3080,"username":3081,"contributions":3069},19751938,"noook",{"id":3083,"username":3084,"contributions":3069},1409645,"mariosant",{"id":3086,"username":3087,"contributions":3069},24661232,"Jorgagu",{"id":3089,"username":3090,"contributions":3069},5326365,"harlan-zw",{"id":3092,"username":3093,"contributions":3069},61092270,"stranavad",{"id":3095,"username":3096,"contributions":3069},1592441,"mendrinos",{"id":3098,"username":3099,"contributions":3069},376963,"bisand",{"id":3101,"username":3102,"contributions":3103},18315316,"Syrex-o",1,{"id":3105,"username":3106,"contributions":3103},3109921,"silvio-e",{"id":3108,"username":3109,"contributions":3103},18753964,"sifferhans",{"id":3111,"username":3112,"contributions":3103},17186421,"samulefevre",{"id":3114,"username":3115,"contributions":3103},15785987,"samydoesit",{"id":3117,"username":3118,"contributions":3103},31662219,"rudokemper",{"id":3120,"username":3121,"contributions":3103},29805551,"RobertHaba",{"id":3123,"username":3124,"contributions":3103},1231105,"SteinRobert",{"id":3126,"username":3127,"contributions":3103},5472296,"robert-hoffmann",{"version":3129,"downloads":3130,"stars":3131,"watchers":3132,"forks":3133,"defaultBranch":3134,"publishedAt":3135,"createdAt":3136},"0.5.29",338309,1584,11,187,"main",1771335673386,1699356484873,{"data":3138,"body":3140,"toc":14128},{"title":3139,"description":3017},"Nuxt Auth Utils",{"type":3141,"children":3142},"root",[3143,3150,3196,3200,3234,3240,3339,3353,3359,3371,3383,3394,3400,3416,3458,3480,3515,3527,3535,3541,3546,3553,4094,4103,4606,4628,4634,4647,4653,5030,5050,5229,5241,5247,5252,5272,5293,5320,5498,5503,5524,5532,5539,5782,5795,5801,5812,6217,6229,6242,6247,6277,6403,6416,6527,6538,6694,6700,6705,6710,6718,6752,6765,6844,6849,6854,6859,6866,6898,6910,6989,6994,6999,7013,7333,7473,7503,8431,8466,9303,9337,9850,9855,10694,10712,10718,10747,10758,10764,10769,11051,11057,11076,11302,11326,11331,11351,11356,11364,11383,11471,11497,11503,11520,11607,11625,11635,11647,11652,11905,11917,11929,12302,12330,12336,12349,12367,12470,12490,12840,12854,13354,13359,13386,13397,13567,13572,13718,13738,13841,13859,13865,13885,13891,14122],{"type":3144,"tag":3145,"props":3146,"children":3147},"element","h1",{"id":3016},[3148],{"type":3149,"value":3139},"text",{"type":3144,"tag":3151,"props":3152,"children":3153},"p",{},[3154,3167,3177,3186],{"type":3144,"tag":3155,"props":3156,"children":3160},"a",{"href":3157,"rel":3158},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-auth-utils",[3159],"nofollow",[3161],{"type":3144,"tag":3162,"props":3163,"children":3166},"img",{"alt":3164,"src":3165},"npm version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-auth-utils\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3144,"tag":3155,"props":3168,"children":3171},{"href":3169,"rel":3170},"https:\u002F\u002Fnpm.chart.dev\u002Fnuxt-auth-utils",[3159],[3172],{"type":3144,"tag":3162,"props":3173,"children":3176},{"alt":3174,"src":3175},"npm downloads","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-auth-utils.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3144,"tag":3155,"props":3178,"children":3180},{"href":3157,"rel":3179},[3159],[3181],{"type":3144,"tag":3162,"props":3182,"children":3185},{"alt":3183,"src":3184},"License","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-auth-utils.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3144,"tag":3155,"props":3187,"children":3190},{"href":3188,"rel":3189},"https:\u002F\u002Fnuxt.com",[3159],[3191],{"type":3144,"tag":3162,"props":3192,"children":3195},{"alt":3193,"src":3194},"Nuxt","https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt.js",[],{"type":3144,"tag":3151,"props":3197,"children":3198},{},[3199],{"type":3149,"value":3014},{"type":3144,"tag":3201,"props":3202,"children":3203},"ul",{},[3204,3214,3224],{"type":3144,"tag":3205,"props":3206,"children":3207},"li",{},[3208],{"type":3144,"tag":3155,"props":3209,"children":3211},{"href":3210},"\u002FCHANGELOG.md",[3212],{"type":3149,"value":3213},"Release Notes",{"type":3144,"tag":3205,"props":3215,"children":3216},{},[3217],{"type":3144,"tag":3155,"props":3218,"children":3221},{"href":3219,"rel":3220},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fatidone",[3159],[3222],{"type":3149,"value":3223},"Demo with OAuth",{"type":3144,"tag":3205,"props":3225,"children":3226},{},[3227],{"type":3144,"tag":3155,"props":3228,"children":3231},{"href":3229,"rel":3230},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Ftodo-passkeys",[3159],[3232],{"type":3149,"value":3233},"Demo with Passkeys",{"type":3144,"tag":3235,"props":3236,"children":3238},"h2",{"id":3237},"features",[3239],{"type":3149,"value":399},{"type":3144,"tag":3201,"props":3241,"children":3242},{},[3243,3254,3263,3272,3281,3297,3306,3321,3330],{"type":3144,"tag":3205,"props":3244,"children":3245},{},[3246,3252],{"type":3144,"tag":3155,"props":3247,"children":3249},{"href":3248},"#hybrid-rendering",[3250],{"type":3149,"value":3251},"Hybrid Rendering",{"type":3149,"value":3253}," support (SSR \u002F CSR \u002F SWR \u002F Prerendering)",{"type":3144,"tag":3205,"props":3255,"children":3256},{},[3257],{"type":3144,"tag":3155,"props":3258,"children":3260},{"href":3259},"#supported-oauth-providers",[3261],{"type":3149,"value":3262},"40+ OAuth Providers",{"type":3144,"tag":3205,"props":3264,"children":3265},{},[3266],{"type":3144,"tag":3155,"props":3267,"children":3269},{"href":3268},"#password-hashing",[3270],{"type":3149,"value":3271},"Password Hashing",{"type":3144,"tag":3205,"props":3273,"children":3274},{},[3275],{"type":3144,"tag":3155,"props":3276,"children":3278},{"href":3277},"#webauthn-passkey",[3279],{"type":3149,"value":3280},"WebAuthn (passkey)",{"type":3144,"tag":3205,"props":3282,"children":3283},{},[3284],{"type":3144,"tag":3155,"props":3285,"children":3287},{"href":3286},"#vue-composable",[3288,3295],{"type":3144,"tag":3289,"props":3290,"children":3292},"code",{"className":3291},[],[3293],{"type":3149,"value":3294},"useUserSession()",{"type":3149,"value":3296}," Vue composable",{"type":3144,"tag":3205,"props":3298,"children":3299},{},[3300],{"type":3144,"tag":3155,"props":3301,"children":3303},{"href":3302},"#server-utils",[3304],{"type":3149,"value":3305},"Tree-shakable server utils",{"type":3144,"tag":3205,"props":3307,"children":3308},{},[3309],{"type":3144,"tag":3155,"props":3310,"children":3312},{"href":3311},"#authstate-component",[3313,3319],{"type":3144,"tag":3289,"props":3314,"children":3316},{"className":3315},[],[3317],{"type":3149,"value":3318},"\u003CAuthState>",{"type":3149,"value":3320}," component",{"type":3144,"tag":3205,"props":3322,"children":3323},{},[3324],{"type":3144,"tag":3155,"props":3325,"children":3327},{"href":3326},"#extend-session",[3328],{"type":3149,"value":3329},"Extendable with hooks",{"type":3144,"tag":3205,"props":3331,"children":3332},{},[3333],{"type":3144,"tag":3155,"props":3334,"children":3336},{"href":3335},"#websocket-support",[3337],{"type":3149,"value":3338},"WebSocket support",{"type":3144,"tag":3151,"props":3340,"children":3341},{},[3342,3344,3351],{"type":3149,"value":3343},"It has few dependencies (only from ",{"type":3144,"tag":3155,"props":3345,"children":3348},{"href":3346,"rel":3347},"https:\u002F\u002Fgithub.com\u002Funjs",[3159],[3349],{"type":3149,"value":3350},"UnJS",{"type":3149,"value":3352},"), run on multiple JS environments (Node, Deno, Workers) and is fully typed with TypeScript.",{"type":3144,"tag":3235,"props":3354,"children":3356},{"id":3355},"requirements",[3357],{"type":3149,"value":3358},"Requirements",{"type":3144,"tag":3151,"props":3360,"children":3361},{},[3362,3364,3369],{"type":3149,"value":3363},"This module only works with a Nuxt server running as it uses server API routes (",{"type":3144,"tag":3289,"props":3365,"children":3367},{"className":3366},[],[3368],{"type":3149,"value":765},{"type":3149,"value":3370},").",{"type":3144,"tag":3151,"props":3372,"children":3373},{},[3374,3376,3381],{"type":3149,"value":3375},"This means that you cannot use this module with ",{"type":3144,"tag":3289,"props":3377,"children":3379},{"className":3378},[],[3380],{"type":3149,"value":785},{"type":3149,"value":3382},".",{"type":3144,"tag":3151,"props":3384,"children":3385},{},[3386,3388,3392],{"type":3149,"value":3387},"You can anyway use ",{"type":3144,"tag":3155,"props":3389,"children":3390},{"href":3248},[3391],{"type":3149,"value":3251},{"type":3149,"value":3393}," to pre-render pages of your application or disable server-side rendering completely.",{"type":3144,"tag":3235,"props":3395,"children":3397},{"id":3396},"quick-setup",[3398],{"type":3149,"value":3399},"Quick Setup",{"type":3144,"tag":3401,"props":3402,"children":3403},"ol",{},[3404],{"type":3144,"tag":3205,"props":3405,"children":3406},{},[3407,3409,3414],{"type":3149,"value":3408},"Add ",{"type":3144,"tag":3289,"props":3410,"children":3412},{"className":3411},[],[3413],{"type":3149,"value":3016},{"type":3149,"value":3415}," in your Nuxt project",{"type":3144,"tag":3417,"props":3418,"children":3422},"pre",{"className":3419,"code":3420,"language":3421,"meta":3017,"style":3017},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi@latest module add auth-utils\n","bash",[3423],{"type":3144,"tag":3289,"props":3424,"children":3425},{"__ignoreMap":3017},[3426],{"type":3144,"tag":3427,"props":3428,"children":3430},"span",{"class":3429,"line":3103},"line",[3431,3437,3443,3448,3453],{"type":3144,"tag":3427,"props":3432,"children":3434},{"style":3433},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[3435],{"type":3149,"value":3436},"npx",{"type":3144,"tag":3427,"props":3438,"children":3440},{"style":3439},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[3441],{"type":3149,"value":3442}," nuxi@latest",{"type":3144,"tag":3427,"props":3444,"children":3445},{"style":3439},[3446],{"type":3149,"value":3447}," module",{"type":3144,"tag":3427,"props":3449,"children":3450},{"style":3439},[3451],{"type":3149,"value":3452}," add",{"type":3144,"tag":3427,"props":3454,"children":3455},{"style":3439},[3456],{"type":3149,"value":3457}," auth-utils\n",{"type":3144,"tag":3401,"props":3459,"children":3460},{"start":3069},[3461],{"type":3144,"tag":3205,"props":3462,"children":3463},{},[3464,3466,3472,3474,3479],{"type":3149,"value":3465},"Add a ",{"type":3144,"tag":3289,"props":3467,"children":3469},{"className":3468},[],[3470],{"type":3149,"value":3471},"NUXT_SESSION_PASSWORD",{"type":3149,"value":3473}," env variable with at least 32 characters in the ",{"type":3144,"tag":3289,"props":3475,"children":3477},{"className":3476},[],[3478],{"type":3149,"value":200},{"type":3149,"value":3382},{"type":3144,"tag":3417,"props":3481,"children":3483},{"className":3419,"code":3482,"language":3421,"meta":3017,"style":3017},"# .env\nNUXT_SESSION_PASSWORD=password-with-at-least-32-characters\n",[3484],{"type":3144,"tag":3289,"props":3485,"children":3486},{"__ignoreMap":3017},[3487,3496],{"type":3144,"tag":3427,"props":3488,"children":3489},{"class":3429,"line":3103},[3490],{"type":3144,"tag":3427,"props":3491,"children":3493},{"style":3492},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3494],{"type":3149,"value":3495},"# .env\n",{"type":3144,"tag":3427,"props":3497,"children":3498},{"class":3429,"line":3069},[3499,3504,3510],{"type":3144,"tag":3427,"props":3500,"children":3502},{"style":3501},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[3503],{"type":3149,"value":3471},{"type":3144,"tag":3427,"props":3505,"children":3507},{"style":3506},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[3508],{"type":3149,"value":3509},"=",{"type":3144,"tag":3427,"props":3511,"children":3512},{"style":3439},[3513],{"type":3149,"value":3514},"password-with-at-least-32-characters\n",{"type":3144,"tag":3151,"props":3516,"children":3517},{},[3518,3520,3525],{"type":3149,"value":3519},"Nuxt Auth Utils generates one for you when running Nuxt in development the first time if no ",{"type":3144,"tag":3289,"props":3521,"children":3523},{"className":3522},[],[3524],{"type":3149,"value":3471},{"type":3149,"value":3526}," is set.",{"type":3144,"tag":3401,"props":3528,"children":3529},{"start":3053},[3530],{"type":3144,"tag":3205,"props":3531,"children":3532},{},[3533],{"type":3149,"value":3534},"That's it! You can now add authentication to your Nuxt app ✨",{"type":3144,"tag":3235,"props":3536,"children":3538},{"id":3537},"vue-composable",[3539],{"type":3149,"value":3540},"Vue Composable",{"type":3144,"tag":3151,"props":3542,"children":3543},{},[3544],{"type":3149,"value":3545},"Nuxt Auth Utils automatically adds some plugins to fetch the current user session to let you access it from your Vue components.",{"type":3144,"tag":3547,"props":3548,"children":3550},"h3",{"id":3549},"user-session",[3551],{"type":3149,"value":3552},"User Session",{"type":3144,"tag":3417,"props":3554,"children":3558},{"className":3555,"code":3556,"language":3557,"meta":3017,"style":3017},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cscript setup>\nconst { loggedIn, user, session, fetch, clear, openInPopup } = useUserSession()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-if=\"loggedIn\">\n    \u003Ch1>Welcome {{ user.login }}!\u003C\u002Fh1>\n    \u003Cp>Logged in since {{ session.loggedInAt }}\u003C\u002Fp>\n    \u003Cbutton @click=\"clear\">Logout\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv v-else>\n    \u003Ch1>Not logged in\u003C\u002Fh1>\n    \u003Ca href=\"\u002Fauth\u002Fgithub\">Login with GitHub\u003C\u002Fa>\n    \u003C!-- or open the OAuth route in a popup -->\n    \u003Cbutton @click=\"openInPopup('\u002Fauth\u002Fgithub')\">Login with GitHub\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","vue",[3559],{"type":3144,"tag":3289,"props":3560,"children":3561},{"__ignoreMap":3017},[3562,3587,3672,3688,3697,3714,3755,3789,3821,3876,3893,3913,3946,4001,4010,4063,4078],{"type":3144,"tag":3427,"props":3563,"children":3564},{"class":3429,"line":3103},[3565,3570,3576,3582],{"type":3144,"tag":3427,"props":3566,"children":3567},{"style":3506},[3568],{"type":3149,"value":3569},"\u003C",{"type":3144,"tag":3427,"props":3571,"children":3573},{"style":3572},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[3574],{"type":3149,"value":3575},"script",{"type":3144,"tag":3427,"props":3577,"children":3579},{"style":3578},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3580],{"type":3149,"value":3581}," setup",{"type":3144,"tag":3427,"props":3583,"children":3584},{"style":3506},[3585],{"type":3149,"value":3586},">\n",{"type":3144,"tag":3427,"props":3588,"children":3589},{"class":3429,"line":3069},[3590,3595,3600,3605,3610,3615,3619,3624,3628,3633,3637,3642,3646,3651,3656,3661,3667],{"type":3144,"tag":3427,"props":3591,"children":3592},{"style":3578},[3593],{"type":3149,"value":3594},"const",{"type":3144,"tag":3427,"props":3596,"children":3597},{"style":3506},[3598],{"type":3149,"value":3599}," {",{"type":3144,"tag":3427,"props":3601,"children":3602},{"style":3501},[3603],{"type":3149,"value":3604}," loggedIn",{"type":3144,"tag":3427,"props":3606,"children":3607},{"style":3506},[3608],{"type":3149,"value":3609},",",{"type":3144,"tag":3427,"props":3611,"children":3612},{"style":3501},[3613],{"type":3149,"value":3614}," user",{"type":3144,"tag":3427,"props":3616,"children":3617},{"style":3506},[3618],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":3620,"children":3621},{"style":3501},[3622],{"type":3149,"value":3623}," session",{"type":3144,"tag":3427,"props":3625,"children":3626},{"style":3506},[3627],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":3629,"children":3630},{"style":3501},[3631],{"type":3149,"value":3632}," fetch",{"type":3144,"tag":3427,"props":3634,"children":3635},{"style":3506},[3636],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":3638,"children":3639},{"style":3501},[3640],{"type":3149,"value":3641}," clear",{"type":3144,"tag":3427,"props":3643,"children":3644},{"style":3506},[3645],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":3647,"children":3648},{"style":3501},[3649],{"type":3149,"value":3650}," openInPopup ",{"type":3144,"tag":3427,"props":3652,"children":3653},{"style":3506},[3654],{"type":3149,"value":3655},"}",{"type":3144,"tag":3427,"props":3657,"children":3658},{"style":3506},[3659],{"type":3149,"value":3660}," =",{"type":3144,"tag":3427,"props":3662,"children":3664},{"style":3663},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[3665],{"type":3149,"value":3666}," useUserSession",{"type":3144,"tag":3427,"props":3668,"children":3669},{"style":3501},[3670],{"type":3149,"value":3671},"()\n",{"type":3144,"tag":3427,"props":3673,"children":3674},{"class":3429,"line":3053},[3675,3680,3684],{"type":3144,"tag":3427,"props":3676,"children":3677},{"style":3506},[3678],{"type":3149,"value":3679},"\u003C\u002F",{"type":3144,"tag":3427,"props":3681,"children":3682},{"style":3572},[3683],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":3685,"children":3686},{"style":3506},[3687],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3689,"children":3691},{"class":3429,"line":3690},4,[3692],{"type":3144,"tag":3427,"props":3693,"children":3694},{"emptyLinePlaceholder":1200},[3695],{"type":3149,"value":3696},"\n",{"type":3144,"tag":3427,"props":3698,"children":3700},{"class":3429,"line":3699},5,[3701,3705,3710],{"type":3144,"tag":3427,"props":3702,"children":3703},{"style":3506},[3704],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":3706,"children":3707},{"style":3572},[3708],{"type":3149,"value":3709},"template",{"type":3144,"tag":3427,"props":3711,"children":3712},{"style":3506},[3713],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3715,"children":3717},{"class":3429,"line":3716},6,[3718,3723,3728,3733,3737,3742,3747,3751],{"type":3144,"tag":3427,"props":3719,"children":3720},{"style":3506},[3721],{"type":3149,"value":3722},"  \u003C",{"type":3144,"tag":3427,"props":3724,"children":3725},{"style":3572},[3726],{"type":3149,"value":3727},"div",{"type":3144,"tag":3427,"props":3729,"children":3730},{"style":3578},[3731],{"type":3149,"value":3732}," v-if",{"type":3144,"tag":3427,"props":3734,"children":3735},{"style":3506},[3736],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":3738,"children":3739},{"style":3506},[3740],{"type":3149,"value":3741},"\"",{"type":3144,"tag":3427,"props":3743,"children":3744},{"style":3439},[3745],{"type":3149,"value":3746},"loggedIn",{"type":3144,"tag":3427,"props":3748,"children":3749},{"style":3506},[3750],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":3752,"children":3753},{"style":3506},[3754],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3756,"children":3757},{"class":3429,"line":3049},[3758,3763,3767,3772,3777,3781,3785],{"type":3144,"tag":3427,"props":3759,"children":3760},{"style":3506},[3761],{"type":3149,"value":3762},"    \u003C",{"type":3144,"tag":3427,"props":3764,"children":3765},{"style":3572},[3766],{"type":3149,"value":3145},{"type":3144,"tag":3427,"props":3768,"children":3769},{"style":3506},[3770],{"type":3149,"value":3771},">",{"type":3144,"tag":3427,"props":3773,"children":3774},{"style":3501},[3775],{"type":3149,"value":3776},"Welcome {{ user.login }}!",{"type":3144,"tag":3427,"props":3778,"children":3779},{"style":3506},[3780],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":3782,"children":3783},{"style":3572},[3784],{"type":3149,"value":3145},{"type":3144,"tag":3427,"props":3786,"children":3787},{"style":3506},[3788],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3790,"children":3791},{"class":3429,"line":3045},[3792,3796,3800,3804,3809,3813,3817],{"type":3144,"tag":3427,"props":3793,"children":3794},{"style":3506},[3795],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":3797,"children":3798},{"style":3572},[3799],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":3801,"children":3802},{"style":3506},[3803],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":3805,"children":3806},{"style":3501},[3807],{"type":3149,"value":3808},"Logged in since {{ session.loggedInAt }}",{"type":3144,"tag":3427,"props":3810,"children":3811},{"style":3506},[3812],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":3814,"children":3815},{"style":3572},[3816],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":3818,"children":3819},{"style":3506},[3820],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3822,"children":3823},{"class":3429,"line":3041},[3824,3828,3833,3838,3842,3846,3851,3855,3859,3864,3868,3872],{"type":3144,"tag":3427,"props":3825,"children":3826},{"style":3506},[3827],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":3829,"children":3830},{"style":3572},[3831],{"type":3149,"value":3832},"button",{"type":3144,"tag":3427,"props":3834,"children":3835},{"style":3578},[3836],{"type":3149,"value":3837}," @click",{"type":3144,"tag":3427,"props":3839,"children":3840},{"style":3506},[3841],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":3843,"children":3844},{"style":3506},[3845],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":3847,"children":3848},{"style":3439},[3849],{"type":3149,"value":3850},"clear",{"type":3144,"tag":3427,"props":3852,"children":3853},{"style":3506},[3854],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":3856,"children":3857},{"style":3506},[3858],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":3860,"children":3861},{"style":3501},[3862],{"type":3149,"value":3863},"Logout",{"type":3144,"tag":3427,"props":3865,"children":3866},{"style":3506},[3867],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":3869,"children":3870},{"style":3572},[3871],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":3873,"children":3874},{"style":3506},[3875],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3877,"children":3879},{"class":3429,"line":3878},10,[3880,3885,3889],{"type":3144,"tag":3427,"props":3881,"children":3882},{"style":3506},[3883],{"type":3149,"value":3884},"  \u003C\u002F",{"type":3144,"tag":3427,"props":3886,"children":3887},{"style":3572},[3888],{"type":3149,"value":3727},{"type":3144,"tag":3427,"props":3890,"children":3891},{"style":3506},[3892],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3894,"children":3895},{"class":3429,"line":3132},[3896,3900,3904,3909],{"type":3144,"tag":3427,"props":3897,"children":3898},{"style":3506},[3899],{"type":3149,"value":3722},{"type":3144,"tag":3427,"props":3901,"children":3902},{"style":3572},[3903],{"type":3149,"value":3727},{"type":3144,"tag":3427,"props":3905,"children":3906},{"style":3578},[3907],{"type":3149,"value":3908}," v-else",{"type":3144,"tag":3427,"props":3910,"children":3911},{"style":3506},[3912],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3914,"children":3916},{"class":3429,"line":3915},12,[3917,3921,3925,3929,3934,3938,3942],{"type":3144,"tag":3427,"props":3918,"children":3919},{"style":3506},[3920],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":3922,"children":3923},{"style":3572},[3924],{"type":3149,"value":3145},{"type":3144,"tag":3427,"props":3926,"children":3927},{"style":3506},[3928],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":3930,"children":3931},{"style":3501},[3932],{"type":3149,"value":3933},"Not logged in",{"type":3144,"tag":3427,"props":3935,"children":3936},{"style":3506},[3937],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":3939,"children":3940},{"style":3572},[3941],{"type":3149,"value":3145},{"type":3144,"tag":3427,"props":3943,"children":3944},{"style":3506},[3945],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":3947,"children":3949},{"class":3429,"line":3948},13,[3950,3954,3958,3963,3967,3971,3976,3980,3984,3989,3993,3997],{"type":3144,"tag":3427,"props":3951,"children":3952},{"style":3506},[3953],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":3955,"children":3956},{"style":3572},[3957],{"type":3149,"value":3155},{"type":3144,"tag":3427,"props":3959,"children":3960},{"style":3578},[3961],{"type":3149,"value":3962}," href",{"type":3144,"tag":3427,"props":3964,"children":3965},{"style":3506},[3966],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":3968,"children":3969},{"style":3506},[3970],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":3972,"children":3973},{"style":3439},[3974],{"type":3149,"value":3975},"\u002Fauth\u002Fgithub",{"type":3144,"tag":3427,"props":3977,"children":3978},{"style":3506},[3979],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":3981,"children":3982},{"style":3506},[3983],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":3985,"children":3986},{"style":3501},[3987],{"type":3149,"value":3988},"Login with GitHub",{"type":3144,"tag":3427,"props":3990,"children":3991},{"style":3506},[3992],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":3994,"children":3995},{"style":3572},[3996],{"type":3149,"value":3155},{"type":3144,"tag":3427,"props":3998,"children":3999},{"style":3506},[4000],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4002,"children":4004},{"class":3429,"line":4003},14,[4005],{"type":3144,"tag":3427,"props":4006,"children":4007},{"style":3492},[4008],{"type":3149,"value":4009},"    \u003C!-- or open the OAuth route in a popup -->\n",{"type":3144,"tag":3427,"props":4011,"children":4013},{"class":3429,"line":4012},15,[4014,4018,4022,4026,4030,4034,4039,4043,4047,4051,4055,4059],{"type":3144,"tag":3427,"props":4015,"children":4016},{"style":3506},[4017],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":4019,"children":4020},{"style":3572},[4021],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":4023,"children":4024},{"style":3578},[4025],{"type":3149,"value":3837},{"type":3144,"tag":3427,"props":4027,"children":4028},{"style":3506},[4029],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":4031,"children":4032},{"style":3506},[4033],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":4035,"children":4036},{"style":3439},[4037],{"type":3149,"value":4038},"openInPopup('\u002Fauth\u002Fgithub')",{"type":3144,"tag":3427,"props":4040,"children":4041},{"style":3506},[4042],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":4044,"children":4045},{"style":3506},[4046],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":4048,"children":4049},{"style":3501},[4050],{"type":3149,"value":3988},{"type":3144,"tag":3427,"props":4052,"children":4053},{"style":3506},[4054],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":4056,"children":4057},{"style":3572},[4058],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":4060,"children":4061},{"style":3506},[4062],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4064,"children":4065},{"class":3429,"line":3037},[4066,4070,4074],{"type":3144,"tag":3427,"props":4067,"children":4068},{"style":3506},[4069],{"type":3149,"value":3884},{"type":3144,"tag":3427,"props":4071,"children":4072},{"style":3572},[4073],{"type":3149,"value":3727},{"type":3144,"tag":3427,"props":4075,"children":4076},{"style":3506},[4077],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4079,"children":4081},{"class":3429,"line":4080},17,[4082,4086,4090],{"type":3144,"tag":3427,"props":4083,"children":4084},{"style":3506},[4085],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":4087,"children":4088},{"style":3572},[4089],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":4091,"children":4092},{"style":3506},[4093],{"type":3149,"value":3586},{"type":3144,"tag":3151,"props":4095,"children":4096},{},[4097],{"type":3144,"tag":4098,"props":4099,"children":4100},"strong",{},[4101],{"type":3149,"value":4102},"TypeScript Signature:",{"type":3144,"tag":3417,"props":4104,"children":4108},{"className":4105,"code":4106,"language":4107,"meta":3017,"style":3017},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","interface UserSessionComposable {\n  \u002F**\n   * Computed indicating if the auth session is ready\n   *\u002F\n  ready: ComputedRef\u003Cboolean>\n  \u002F**\n   * Computed indicating if the user is logged in.\n   *\u002F\n  loggedIn: ComputedRef\u003Cboolean>\n  \u002F**\n   * The user object if logged in, null otherwise.\n   *\u002F\n  user: ComputedRef\u003CUser | null>\n  \u002F**\n   * The session object.\n   *\u002F\n  session: Ref\u003CUserSession>\n  \u002F**\n   * Fetch the user session from the server.\n   *\u002F\n  fetch: () => Promise\u003Cvoid>\n  \u002F**\n   * Clear the user session and remove the session cookie.\n   *\u002F\n  clear: () => Promise\u003Cvoid>\n  \u002F**\n   * Open the OAuth route in a popup that auto-closes when successful.\n   *\u002F\n  openInPopup: (route: string, size?: { width?: number, height?: number }) => void\n}\n","ts",[4109],{"type":3144,"tag":3289,"props":4110,"children":4111},{"__ignoreMap":3017},[4112,4130,4138,4146,4154,4185,4192,4200,4207,4235,4242,4250,4257,4296,4303,4311,4318,4348,4356,4365,4373,4414,4422,4431,4439,4476,4484,4493,4501,4597],{"type":3144,"tag":3427,"props":4113,"children":4114},{"class":3429,"line":3103},[4115,4120,4125],{"type":3144,"tag":3427,"props":4116,"children":4117},{"style":3578},[4118],{"type":3149,"value":4119},"interface",{"type":3144,"tag":3427,"props":4121,"children":4122},{"style":3433},[4123],{"type":3149,"value":4124}," UserSessionComposable",{"type":3144,"tag":3427,"props":4126,"children":4127},{"style":3506},[4128],{"type":3149,"value":4129}," {\n",{"type":3144,"tag":3427,"props":4131,"children":4132},{"class":3429,"line":3069},[4133],{"type":3144,"tag":3427,"props":4134,"children":4135},{"style":3492},[4136],{"type":3149,"value":4137},"  \u002F**\n",{"type":3144,"tag":3427,"props":4139,"children":4140},{"class":3429,"line":3053},[4141],{"type":3144,"tag":3427,"props":4142,"children":4143},{"style":3492},[4144],{"type":3149,"value":4145},"   * Computed indicating if the auth session is ready\n",{"type":3144,"tag":3427,"props":4147,"children":4148},{"class":3429,"line":3690},[4149],{"type":3144,"tag":3427,"props":4150,"children":4151},{"style":3492},[4152],{"type":3149,"value":4153},"   *\u002F\n",{"type":3144,"tag":3427,"props":4155,"children":4156},{"class":3429,"line":3699},[4157,4162,4167,4172,4176,4181],{"type":3144,"tag":3427,"props":4158,"children":4159},{"style":3572},[4160],{"type":3149,"value":4161},"  ready",{"type":3144,"tag":3427,"props":4163,"children":4164},{"style":3506},[4165],{"type":3149,"value":4166},":",{"type":3144,"tag":3427,"props":4168,"children":4169},{"style":3433},[4170],{"type":3149,"value":4171}," ComputedRef",{"type":3144,"tag":3427,"props":4173,"children":4174},{"style":3506},[4175],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":4177,"children":4178},{"style":3433},[4179],{"type":3149,"value":4180},"boolean",{"type":3144,"tag":3427,"props":4182,"children":4183},{"style":3506},[4184],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4186,"children":4187},{"class":3429,"line":3716},[4188],{"type":3144,"tag":3427,"props":4189,"children":4190},{"style":3492},[4191],{"type":3149,"value":4137},{"type":3144,"tag":3427,"props":4193,"children":4194},{"class":3429,"line":3049},[4195],{"type":3144,"tag":3427,"props":4196,"children":4197},{"style":3492},[4198],{"type":3149,"value":4199},"   * Computed indicating if the user is logged in.\n",{"type":3144,"tag":3427,"props":4201,"children":4202},{"class":3429,"line":3045},[4203],{"type":3144,"tag":3427,"props":4204,"children":4205},{"style":3492},[4206],{"type":3149,"value":4153},{"type":3144,"tag":3427,"props":4208,"children":4209},{"class":3429,"line":3041},[4210,4215,4219,4223,4227,4231],{"type":3144,"tag":3427,"props":4211,"children":4212},{"style":3572},[4213],{"type":3149,"value":4214},"  loggedIn",{"type":3144,"tag":3427,"props":4216,"children":4217},{"style":3506},[4218],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4220,"children":4221},{"style":3433},[4222],{"type":3149,"value":4171},{"type":3144,"tag":3427,"props":4224,"children":4225},{"style":3506},[4226],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":4228,"children":4229},{"style":3433},[4230],{"type":3149,"value":4180},{"type":3144,"tag":3427,"props":4232,"children":4233},{"style":3506},[4234],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4236,"children":4237},{"class":3429,"line":3878},[4238],{"type":3144,"tag":3427,"props":4239,"children":4240},{"style":3492},[4241],{"type":3149,"value":4137},{"type":3144,"tag":3427,"props":4243,"children":4244},{"class":3429,"line":3132},[4245],{"type":3144,"tag":3427,"props":4246,"children":4247},{"style":3492},[4248],{"type":3149,"value":4249},"   * The user object if logged in, null otherwise.\n",{"type":3144,"tag":3427,"props":4251,"children":4252},{"class":3429,"line":3915},[4253],{"type":3144,"tag":3427,"props":4254,"children":4255},{"style":3492},[4256],{"type":3149,"value":4153},{"type":3144,"tag":3427,"props":4258,"children":4259},{"class":3429,"line":3948},[4260,4265,4269,4273,4277,4282,4287,4292],{"type":3144,"tag":3427,"props":4261,"children":4262},{"style":3572},[4263],{"type":3149,"value":4264},"  user",{"type":3144,"tag":3427,"props":4266,"children":4267},{"style":3506},[4268],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4270,"children":4271},{"style":3433},[4272],{"type":3149,"value":4171},{"type":3144,"tag":3427,"props":4274,"children":4275},{"style":3506},[4276],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":4278,"children":4279},{"style":3433},[4280],{"type":3149,"value":4281},"User",{"type":3144,"tag":3427,"props":4283,"children":4284},{"style":3506},[4285],{"type":3149,"value":4286}," |",{"type":3144,"tag":3427,"props":4288,"children":4289},{"style":3433},[4290],{"type":3149,"value":4291}," null",{"type":3144,"tag":3427,"props":4293,"children":4294},{"style":3506},[4295],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4297,"children":4298},{"class":3429,"line":4003},[4299],{"type":3144,"tag":3427,"props":4300,"children":4301},{"style":3492},[4302],{"type":3149,"value":4137},{"type":3144,"tag":3427,"props":4304,"children":4305},{"class":3429,"line":4012},[4306],{"type":3144,"tag":3427,"props":4307,"children":4308},{"style":3492},[4309],{"type":3149,"value":4310},"   * The session object.\n",{"type":3144,"tag":3427,"props":4312,"children":4313},{"class":3429,"line":3037},[4314],{"type":3144,"tag":3427,"props":4315,"children":4316},{"style":3492},[4317],{"type":3149,"value":4153},{"type":3144,"tag":3427,"props":4319,"children":4320},{"class":3429,"line":4080},[4321,4326,4330,4335,4339,4344],{"type":3144,"tag":3427,"props":4322,"children":4323},{"style":3572},[4324],{"type":3149,"value":4325},"  session",{"type":3144,"tag":3427,"props":4327,"children":4328},{"style":3506},[4329],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4331,"children":4332},{"style":3433},[4333],{"type":3149,"value":4334}," Ref",{"type":3144,"tag":3427,"props":4336,"children":4337},{"style":3506},[4338],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":4340,"children":4341},{"style":3433},[4342],{"type":3149,"value":4343},"UserSession",{"type":3144,"tag":3427,"props":4345,"children":4346},{"style":3506},[4347],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4349,"children":4351},{"class":3429,"line":4350},18,[4352],{"type":3144,"tag":3427,"props":4353,"children":4354},{"style":3492},[4355],{"type":3149,"value":4137},{"type":3144,"tag":3427,"props":4357,"children":4359},{"class":3429,"line":4358},19,[4360],{"type":3144,"tag":3427,"props":4361,"children":4362},{"style":3492},[4363],{"type":3149,"value":4364},"   * Fetch the user session from the server.\n",{"type":3144,"tag":3427,"props":4366,"children":4368},{"class":3429,"line":4367},20,[4369],{"type":3144,"tag":3427,"props":4370,"children":4371},{"style":3492},[4372],{"type":3149,"value":4153},{"type":3144,"tag":3427,"props":4374,"children":4376},{"class":3429,"line":4375},21,[4377,4382,4386,4391,4396,4401,4405,4410],{"type":3144,"tag":3427,"props":4378,"children":4379},{"style":3572},[4380],{"type":3149,"value":4381},"  fetch",{"type":3144,"tag":3427,"props":4383,"children":4384},{"style":3506},[4385],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4387,"children":4388},{"style":3506},[4389],{"type":3149,"value":4390}," ()",{"type":3144,"tag":3427,"props":4392,"children":4393},{"style":3578},[4394],{"type":3149,"value":4395}," =>",{"type":3144,"tag":3427,"props":4397,"children":4398},{"style":3433},[4399],{"type":3149,"value":4400}," Promise",{"type":3144,"tag":3427,"props":4402,"children":4403},{"style":3506},[4404],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":4406,"children":4407},{"style":3433},[4408],{"type":3149,"value":4409},"void",{"type":3144,"tag":3427,"props":4411,"children":4412},{"style":3506},[4413],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4415,"children":4417},{"class":3429,"line":4416},22,[4418],{"type":3144,"tag":3427,"props":4419,"children":4420},{"style":3492},[4421],{"type":3149,"value":4137},{"type":3144,"tag":3427,"props":4423,"children":4425},{"class":3429,"line":4424},23,[4426],{"type":3144,"tag":3427,"props":4427,"children":4428},{"style":3492},[4429],{"type":3149,"value":4430},"   * Clear the user session and remove the session cookie.\n",{"type":3144,"tag":3427,"props":4432,"children":4434},{"class":3429,"line":4433},24,[4435],{"type":3144,"tag":3427,"props":4436,"children":4437},{"style":3492},[4438],{"type":3149,"value":4153},{"type":3144,"tag":3427,"props":4440,"children":4442},{"class":3429,"line":4441},25,[4443,4448,4452,4456,4460,4464,4468,4472],{"type":3144,"tag":3427,"props":4444,"children":4445},{"style":3572},[4446],{"type":3149,"value":4447},"  clear",{"type":3144,"tag":3427,"props":4449,"children":4450},{"style":3506},[4451],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4453,"children":4454},{"style":3506},[4455],{"type":3149,"value":4390},{"type":3144,"tag":3427,"props":4457,"children":4458},{"style":3578},[4459],{"type":3149,"value":4395},{"type":3144,"tag":3427,"props":4461,"children":4462},{"style":3433},[4463],{"type":3149,"value":4400},{"type":3144,"tag":3427,"props":4465,"children":4466},{"style":3506},[4467],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":4469,"children":4470},{"style":3433},[4471],{"type":3149,"value":4409},{"type":3144,"tag":3427,"props":4473,"children":4474},{"style":3506},[4475],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":4477,"children":4479},{"class":3429,"line":4478},26,[4480],{"type":3144,"tag":3427,"props":4481,"children":4482},{"style":3492},[4483],{"type":3149,"value":4137},{"type":3144,"tag":3427,"props":4485,"children":4487},{"class":3429,"line":4486},27,[4488],{"type":3144,"tag":3427,"props":4489,"children":4490},{"style":3492},[4491],{"type":3149,"value":4492},"   * Open the OAuth route in a popup that auto-closes when successful.\n",{"type":3144,"tag":3427,"props":4494,"children":4496},{"class":3429,"line":4495},28,[4497],{"type":3144,"tag":3427,"props":4498,"children":4499},{"style":3492},[4500],{"type":3149,"value":4153},{"type":3144,"tag":3427,"props":4502,"children":4504},{"class":3429,"line":4503},29,[4505,4510,4514,4519,4525,4529,4534,4538,4543,4548,4552,4557,4561,4566,4570,4575,4579,4583,4588,4592],{"type":3144,"tag":3427,"props":4506,"children":4507},{"style":3572},[4508],{"type":3149,"value":4509},"  openInPopup",{"type":3144,"tag":3427,"props":4511,"children":4512},{"style":3506},[4513],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4515,"children":4516},{"style":3506},[4517],{"type":3149,"value":4518}," (",{"type":3144,"tag":3427,"props":4520,"children":4522},{"style":4521},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[4523],{"type":3149,"value":4524},"route",{"type":3144,"tag":3427,"props":4526,"children":4527},{"style":3506},[4528],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4530,"children":4531},{"style":3433},[4532],{"type":3149,"value":4533}," string",{"type":3144,"tag":3427,"props":4535,"children":4536},{"style":3506},[4537],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":4539,"children":4540},{"style":4521},[4541],{"type":3149,"value":4542}," size",{"type":3144,"tag":3427,"props":4544,"children":4545},{"style":3506},[4546],{"type":3149,"value":4547},"?:",{"type":3144,"tag":3427,"props":4549,"children":4550},{"style":3506},[4551],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":4553,"children":4554},{"style":3572},[4555],{"type":3149,"value":4556}," width",{"type":3144,"tag":3427,"props":4558,"children":4559},{"style":3506},[4560],{"type":3149,"value":4547},{"type":3144,"tag":3427,"props":4562,"children":4563},{"style":3433},[4564],{"type":3149,"value":4565}," number",{"type":3144,"tag":3427,"props":4567,"children":4568},{"style":3506},[4569],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":4571,"children":4572},{"style":3572},[4573],{"type":3149,"value":4574}," height",{"type":3144,"tag":3427,"props":4576,"children":4577},{"style":3506},[4578],{"type":3149,"value":4547},{"type":3144,"tag":3427,"props":4580,"children":4581},{"style":3433},[4582],{"type":3149,"value":4565},{"type":3144,"tag":3427,"props":4584,"children":4585},{"style":3506},[4586],{"type":3149,"value":4587}," })",{"type":3144,"tag":3427,"props":4589,"children":4590},{"style":3578},[4591],{"type":3149,"value":4395},{"type":3144,"tag":3427,"props":4593,"children":4594},{"style":3433},[4595],{"type":3149,"value":4596}," void\n",{"type":3144,"tag":3427,"props":4598,"children":4600},{"class":3429,"line":4599},30,[4601],{"type":3144,"tag":3427,"props":4602,"children":4603},{"style":3506},[4604],{"type":3149,"value":4605},"}\n",{"type":3144,"tag":4607,"props":4608,"children":4609},"blockquote",{},[4610],{"type":3144,"tag":3151,"props":4611,"children":4612},{},[4613,4618,4620,4626],{"type":3144,"tag":3427,"props":4614,"children":4615},{},[4616],{"type":3149,"value":4617},"!IMPORTANT",{"type":3149,"value":4619},"\nNuxt Auth Utils uses the ",{"type":3144,"tag":3289,"props":4621,"children":4623},{"className":4622},[],[4624],{"type":3149,"value":4625},"\u002Fapi\u002F_auth\u002Fsession",{"type":3149,"value":4627}," route for session management. Ensure your API route middleware doesn't interfere with this path.",{"type":3144,"tag":3235,"props":4629,"children":4631},{"id":4630},"server-utils",[4632],{"type":3149,"value":4633},"Server Utils",{"type":3144,"tag":3151,"props":4635,"children":4636},{},[4637,4639,4645],{"type":3149,"value":4638},"The following helpers are auto-imported in your ",{"type":3144,"tag":3289,"props":4640,"children":4642},{"className":4641},[],[4643],{"type":3149,"value":4644},"server\u002F",{"type":3149,"value":4646}," directory.",{"type":3144,"tag":3547,"props":4648,"children":4650},{"id":4649},"session-management",[4651],{"type":3149,"value":4652},"Session Management",{"type":3144,"tag":3417,"props":4654,"children":4656},{"className":4105,"code":4655,"language":4107,"meta":3017,"style":3017},"\u002F\u002F Set a user session, note that this data is encrypted in the cookie but can be decrypted with an API call\n\u002F\u002F Only store the data that allow you to recognize a user, but do not store sensitive data\n\u002F\u002F Merges new data with existing data using unjs\u002Fdefu library\nawait setUserSession(event, {\n  \u002F\u002F User data\n  user: {\n    login: 'atinux'\n  },\n  \u002F\u002F Private data accessible only on server\u002F routes\n  secure: {\n    apiToken: '1234567890'\n  },\n  \u002F\u002F Any extra fields for the session data\n  loggedInAt: new Date()\n})\n\n\u002F\u002F Replace a user session. Same behaviour as setUserSession, except it does not merge data with existing data\nawait replaceUserSession(event, data)\n\n\u002F\u002F Get the current user session\nconst session = await getUserSession(event)\n\n\u002F\u002F Clear the current user session\nawait clearUserSession(event)\n\n\u002F\u002F Require a user session (send back 401 if no `user` key in session)\nconst session = await requireUserSession(event)\n",[4657],{"type":3144,"tag":3289,"props":4658,"children":4659},{"__ignoreMap":3017},[4660,4668,4676,4684,4711,4719,4734,4760,4768,4776,4792,4817,4824,4832,4858,4870,4877,4885,4910,4917,4925,4956,4963,4971,4987,4994,5002],{"type":3144,"tag":3427,"props":4661,"children":4662},{"class":3429,"line":3103},[4663],{"type":3144,"tag":3427,"props":4664,"children":4665},{"style":3492},[4666],{"type":3149,"value":4667},"\u002F\u002F Set a user session, note that this data is encrypted in the cookie but can be decrypted with an API call\n",{"type":3144,"tag":3427,"props":4669,"children":4670},{"class":3429,"line":3069},[4671],{"type":3144,"tag":3427,"props":4672,"children":4673},{"style":3492},[4674],{"type":3149,"value":4675},"\u002F\u002F Only store the data that allow you to recognize a user, but do not store sensitive data\n",{"type":3144,"tag":3427,"props":4677,"children":4678},{"class":3429,"line":3053},[4679],{"type":3144,"tag":3427,"props":4680,"children":4681},{"style":3492},[4682],{"type":3149,"value":4683},"\u002F\u002F Merges new data with existing data using unjs\u002Fdefu library\n",{"type":3144,"tag":3427,"props":4685,"children":4686},{"class":3429,"line":3690},[4687,4693,4698,4703,4707],{"type":3144,"tag":3427,"props":4688,"children":4690},{"style":4689},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[4691],{"type":3149,"value":4692},"await",{"type":3144,"tag":3427,"props":4694,"children":4695},{"style":3663},[4696],{"type":3149,"value":4697}," setUserSession",{"type":3144,"tag":3427,"props":4699,"children":4700},{"style":3501},[4701],{"type":3149,"value":4702},"(event",{"type":3144,"tag":3427,"props":4704,"children":4705},{"style":3506},[4706],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":4708,"children":4709},{"style":3506},[4710],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":4712,"children":4713},{"class":3429,"line":3699},[4714],{"type":3144,"tag":3427,"props":4715,"children":4716},{"style":3492},[4717],{"type":3149,"value":4718},"  \u002F\u002F User data\n",{"type":3144,"tag":3427,"props":4720,"children":4721},{"class":3429,"line":3716},[4722,4726,4730],{"type":3144,"tag":3427,"props":4723,"children":4724},{"style":3572},[4725],{"type":3149,"value":4264},{"type":3144,"tag":3427,"props":4727,"children":4728},{"style":3506},[4729],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4731,"children":4732},{"style":3506},[4733],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":4735,"children":4736},{"class":3429,"line":3049},[4737,4742,4746,4751,4755],{"type":3144,"tag":3427,"props":4738,"children":4739},{"style":3572},[4740],{"type":3149,"value":4741},"    login",{"type":3144,"tag":3427,"props":4743,"children":4744},{"style":3506},[4745],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4747,"children":4748},{"style":3506},[4749],{"type":3149,"value":4750}," '",{"type":3144,"tag":3427,"props":4752,"children":4753},{"style":3439},[4754],{"type":3149,"value":3024},{"type":3144,"tag":3427,"props":4756,"children":4757},{"style":3506},[4758],{"type":3149,"value":4759},"'\n",{"type":3144,"tag":3427,"props":4761,"children":4762},{"class":3429,"line":3045},[4763],{"type":3144,"tag":3427,"props":4764,"children":4765},{"style":3506},[4766],{"type":3149,"value":4767},"  },\n",{"type":3144,"tag":3427,"props":4769,"children":4770},{"class":3429,"line":3041},[4771],{"type":3144,"tag":3427,"props":4772,"children":4773},{"style":3492},[4774],{"type":3149,"value":4775},"  \u002F\u002F Private data accessible only on server\u002F routes\n",{"type":3144,"tag":3427,"props":4777,"children":4778},{"class":3429,"line":3878},[4779,4784,4788],{"type":3144,"tag":3427,"props":4780,"children":4781},{"style":3572},[4782],{"type":3149,"value":4783},"  secure",{"type":3144,"tag":3427,"props":4785,"children":4786},{"style":3506},[4787],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4789,"children":4790},{"style":3506},[4791],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":4793,"children":4794},{"class":3429,"line":3132},[4795,4800,4804,4808,4813],{"type":3144,"tag":3427,"props":4796,"children":4797},{"style":3572},[4798],{"type":3149,"value":4799},"    apiToken",{"type":3144,"tag":3427,"props":4801,"children":4802},{"style":3506},[4803],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4805,"children":4806},{"style":3506},[4807],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":4809,"children":4810},{"style":3439},[4811],{"type":3149,"value":4812},"1234567890",{"type":3144,"tag":3427,"props":4814,"children":4815},{"style":3506},[4816],{"type":3149,"value":4759},{"type":3144,"tag":3427,"props":4818,"children":4819},{"class":3429,"line":3915},[4820],{"type":3144,"tag":3427,"props":4821,"children":4822},{"style":3506},[4823],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":4825,"children":4826},{"class":3429,"line":3948},[4827],{"type":3144,"tag":3427,"props":4828,"children":4829},{"style":3492},[4830],{"type":3149,"value":4831},"  \u002F\u002F Any extra fields for the session data\n",{"type":3144,"tag":3427,"props":4833,"children":4834},{"class":3429,"line":4003},[4835,4840,4844,4849,4854],{"type":3144,"tag":3427,"props":4836,"children":4837},{"style":3572},[4838],{"type":3149,"value":4839},"  loggedInAt",{"type":3144,"tag":3427,"props":4841,"children":4842},{"style":3506},[4843],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":4845,"children":4846},{"style":3506},[4847],{"type":3149,"value":4848}," new",{"type":3144,"tag":3427,"props":4850,"children":4851},{"style":3663},[4852],{"type":3149,"value":4853}," Date",{"type":3144,"tag":3427,"props":4855,"children":4856},{"style":3501},[4857],{"type":3149,"value":3671},{"type":3144,"tag":3427,"props":4859,"children":4860},{"class":3429,"line":4012},[4861,4865],{"type":3144,"tag":3427,"props":4862,"children":4863},{"style":3506},[4864],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":4866,"children":4867},{"style":3501},[4868],{"type":3149,"value":4869},")\n",{"type":3144,"tag":3427,"props":4871,"children":4872},{"class":3429,"line":3037},[4873],{"type":3144,"tag":3427,"props":4874,"children":4875},{"emptyLinePlaceholder":1200},[4876],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":4878,"children":4879},{"class":3429,"line":4080},[4880],{"type":3144,"tag":3427,"props":4881,"children":4882},{"style":3492},[4883],{"type":3149,"value":4884},"\u002F\u002F Replace a user session. Same behaviour as setUserSession, except it does not merge data with existing data\n",{"type":3144,"tag":3427,"props":4886,"children":4887},{"class":3429,"line":4350},[4888,4892,4897,4901,4905],{"type":3144,"tag":3427,"props":4889,"children":4890},{"style":4689},[4891],{"type":3149,"value":4692},{"type":3144,"tag":3427,"props":4893,"children":4894},{"style":3663},[4895],{"type":3149,"value":4896}," replaceUserSession",{"type":3144,"tag":3427,"props":4898,"children":4899},{"style":3501},[4900],{"type":3149,"value":4702},{"type":3144,"tag":3427,"props":4902,"children":4903},{"style":3506},[4904],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":4906,"children":4907},{"style":3501},[4908],{"type":3149,"value":4909}," data)\n",{"type":3144,"tag":3427,"props":4911,"children":4912},{"class":3429,"line":4358},[4913],{"type":3144,"tag":3427,"props":4914,"children":4915},{"emptyLinePlaceholder":1200},[4916],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":4918,"children":4919},{"class":3429,"line":4367},[4920],{"type":3144,"tag":3427,"props":4921,"children":4922},{"style":3492},[4923],{"type":3149,"value":4924},"\u002F\u002F Get the current user session\n",{"type":3144,"tag":3427,"props":4926,"children":4927},{"class":3429,"line":4375},[4928,4932,4937,4941,4946,4951],{"type":3144,"tag":3427,"props":4929,"children":4930},{"style":3578},[4931],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":4933,"children":4934},{"style":3501},[4935],{"type":3149,"value":4936}," session ",{"type":3144,"tag":3427,"props":4938,"children":4939},{"style":3506},[4940],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":4942,"children":4943},{"style":4689},[4944],{"type":3149,"value":4945}," await",{"type":3144,"tag":3427,"props":4947,"children":4948},{"style":3663},[4949],{"type":3149,"value":4950}," getUserSession",{"type":3144,"tag":3427,"props":4952,"children":4953},{"style":3501},[4954],{"type":3149,"value":4955},"(event)\n",{"type":3144,"tag":3427,"props":4957,"children":4958},{"class":3429,"line":4416},[4959],{"type":3144,"tag":3427,"props":4960,"children":4961},{"emptyLinePlaceholder":1200},[4962],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":4964,"children":4965},{"class":3429,"line":4424},[4966],{"type":3144,"tag":3427,"props":4967,"children":4968},{"style":3492},[4969],{"type":3149,"value":4970},"\u002F\u002F Clear the current user session\n",{"type":3144,"tag":3427,"props":4972,"children":4973},{"class":3429,"line":4433},[4974,4978,4983],{"type":3144,"tag":3427,"props":4975,"children":4976},{"style":4689},[4977],{"type":3149,"value":4692},{"type":3144,"tag":3427,"props":4979,"children":4980},{"style":3663},[4981],{"type":3149,"value":4982}," clearUserSession",{"type":3144,"tag":3427,"props":4984,"children":4985},{"style":3501},[4986],{"type":3149,"value":4955},{"type":3144,"tag":3427,"props":4988,"children":4989},{"class":3429,"line":4441},[4990],{"type":3144,"tag":3427,"props":4991,"children":4992},{"emptyLinePlaceholder":1200},[4993],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":4995,"children":4996},{"class":3429,"line":4478},[4997],{"type":3144,"tag":3427,"props":4998,"children":4999},{"style":3492},[5000],{"type":3149,"value":5001},"\u002F\u002F Require a user session (send back 401 if no `user` key in session)\n",{"type":3144,"tag":3427,"props":5003,"children":5004},{"class":3429,"line":4486},[5005,5009,5013,5017,5021,5026],{"type":3144,"tag":3427,"props":5006,"children":5007},{"style":3578},[5008],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":5010,"children":5011},{"style":3501},[5012],{"type":3149,"value":4936},{"type":3144,"tag":3427,"props":5014,"children":5015},{"style":3506},[5016],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":5018,"children":5019},{"style":4689},[5020],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":5022,"children":5023},{"style":3663},[5024],{"type":3149,"value":5025}," requireUserSession",{"type":3144,"tag":3427,"props":5027,"children":5028},{"style":3501},[5029],{"type":3149,"value":4955},{"type":3144,"tag":3151,"props":5031,"children":5032},{},[5033,5035,5041,5043,5048],{"type":3149,"value":5034},"You can define the type for your user session by creating a type declaration file (for example, ",{"type":3144,"tag":3289,"props":5036,"children":5038},{"className":5037},[],[5039],{"type":3149,"value":5040},"auth.d.ts",{"type":3149,"value":5042},") in your project to augment the ",{"type":3144,"tag":3289,"props":5044,"children":5046},{"className":5045},[],[5047],{"type":3149,"value":4343},{"type":3149,"value":5049}," type:",{"type":3144,"tag":3417,"props":5051,"children":5053},{"className":4105,"code":5052,"language":4107,"meta":3017,"style":3017},"\u002F\u002F shared\u002Ftypes\u002Fauth.d.ts\ndeclare module '#auth-utils' {\n  interface User {\n    \u002F\u002F Add your own fields\n  }\n\n  interface UserSession {\n    \u002F\u002F Add your own fields\n  }\n\n  interface SecureSessionData {\n    \u002F\u002F Add your own fields\n  }\n}\n\nexport {}\n",[5054],{"type":3144,"tag":3289,"props":5055,"children":5056},{"__ignoreMap":3017},[5057,5065,5095,5112,5120,5128,5135,5151,5158,5165,5172,5188,5195,5202,5209,5216],{"type":3144,"tag":3427,"props":5058,"children":5059},{"class":3429,"line":3103},[5060],{"type":3144,"tag":3427,"props":5061,"children":5062},{"style":3492},[5063],{"type":3149,"value":5064},"\u002F\u002F shared\u002Ftypes\u002Fauth.d.ts\n",{"type":3144,"tag":3427,"props":5066,"children":5067},{"class":3429,"line":3069},[5068,5073,5077,5081,5086,5091],{"type":3144,"tag":3427,"props":5069,"children":5070},{"style":3578},[5071],{"type":3149,"value":5072},"declare",{"type":3144,"tag":3427,"props":5074,"children":5075},{"style":3578},[5076],{"type":3149,"value":3447},{"type":3144,"tag":3427,"props":5078,"children":5079},{"style":3506},[5080],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":5082,"children":5083},{"style":3439},[5084],{"type":3149,"value":5085},"#auth-utils",{"type":3144,"tag":3427,"props":5087,"children":5088},{"style":3506},[5089],{"type":3149,"value":5090},"'",{"type":3144,"tag":3427,"props":5092,"children":5093},{"style":3506},[5094],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5096,"children":5097},{"class":3429,"line":3053},[5098,5103,5108],{"type":3144,"tag":3427,"props":5099,"children":5100},{"style":3578},[5101],{"type":3149,"value":5102},"  interface",{"type":3144,"tag":3427,"props":5104,"children":5105},{"style":3433},[5106],{"type":3149,"value":5107}," User",{"type":3144,"tag":3427,"props":5109,"children":5110},{"style":3506},[5111],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5113,"children":5114},{"class":3429,"line":3690},[5115],{"type":3144,"tag":3427,"props":5116,"children":5117},{"style":3492},[5118],{"type":3149,"value":5119},"    \u002F\u002F Add your own fields\n",{"type":3144,"tag":3427,"props":5121,"children":5122},{"class":3429,"line":3699},[5123],{"type":3144,"tag":3427,"props":5124,"children":5125},{"style":3506},[5126],{"type":3149,"value":5127},"  }\n",{"type":3144,"tag":3427,"props":5129,"children":5130},{"class":3429,"line":3716},[5131],{"type":3144,"tag":3427,"props":5132,"children":5133},{"emptyLinePlaceholder":1200},[5134],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":5136,"children":5137},{"class":3429,"line":3049},[5138,5142,5147],{"type":3144,"tag":3427,"props":5139,"children":5140},{"style":3578},[5141],{"type":3149,"value":5102},{"type":3144,"tag":3427,"props":5143,"children":5144},{"style":3433},[5145],{"type":3149,"value":5146}," UserSession",{"type":3144,"tag":3427,"props":5148,"children":5149},{"style":3506},[5150],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5152,"children":5153},{"class":3429,"line":3045},[5154],{"type":3144,"tag":3427,"props":5155,"children":5156},{"style":3492},[5157],{"type":3149,"value":5119},{"type":3144,"tag":3427,"props":5159,"children":5160},{"class":3429,"line":3041},[5161],{"type":3144,"tag":3427,"props":5162,"children":5163},{"style":3506},[5164],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":5166,"children":5167},{"class":3429,"line":3878},[5168],{"type":3144,"tag":3427,"props":5169,"children":5170},{"emptyLinePlaceholder":1200},[5171],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":5173,"children":5174},{"class":3429,"line":3132},[5175,5179,5184],{"type":3144,"tag":3427,"props":5176,"children":5177},{"style":3578},[5178],{"type":3149,"value":5102},{"type":3144,"tag":3427,"props":5180,"children":5181},{"style":3433},[5182],{"type":3149,"value":5183}," SecureSessionData",{"type":3144,"tag":3427,"props":5185,"children":5186},{"style":3506},[5187],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5189,"children":5190},{"class":3429,"line":3915},[5191],{"type":3144,"tag":3427,"props":5192,"children":5193},{"style":3492},[5194],{"type":3149,"value":5119},{"type":3144,"tag":3427,"props":5196,"children":5197},{"class":3429,"line":3948},[5198],{"type":3144,"tag":3427,"props":5199,"children":5200},{"style":3506},[5201],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":5203,"children":5204},{"class":3429,"line":4003},[5205],{"type":3144,"tag":3427,"props":5206,"children":5207},{"style":3506},[5208],{"type":3149,"value":4605},{"type":3144,"tag":3427,"props":5210,"children":5211},{"class":3429,"line":4012},[5212],{"type":3144,"tag":3427,"props":5213,"children":5214},{"emptyLinePlaceholder":1200},[5215],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":5217,"children":5218},{"class":3429,"line":3037},[5219,5224],{"type":3144,"tag":3427,"props":5220,"children":5221},{"style":4689},[5222],{"type":3149,"value":5223},"export",{"type":3144,"tag":3427,"props":5225,"children":5226},{"style":3506},[5227],{"type":3149,"value":5228}," {}\n",{"type":3144,"tag":4607,"props":5230,"children":5231},{},[5232],{"type":3144,"tag":3151,"props":5233,"children":5234},{},[5235,5239],{"type":3144,"tag":3427,"props":5236,"children":5237},{},[5238],{"type":3149,"value":4617},{"type":3149,"value":5240},"\nSince we encrypt and store session data in cookies, we're constrained by the 4096-byte cookie size limit. Store only essential information.",{"type":3144,"tag":3547,"props":5242,"children":5244},{"id":5243},"oauth-event-handlers",[5245],{"type":3149,"value":5246},"OAuth Event Handlers",{"type":3144,"tag":3151,"props":5248,"children":5249},{},[5250],{"type":3149,"value":5251},"All handlers can be auto-imported and used in your server routes or API routes.",{"type":3144,"tag":3151,"props":5253,"children":5254},{},[5255,5257,5263,5265,5271],{"type":3149,"value":5256},"The pattern is ",{"type":3144,"tag":3289,"props":5258,"children":5260},{"className":5259},[],[5261],{"type":3149,"value":5262},"defineOAuth\u003CProvider>EventHandler({ onSuccess, config?, onError? })",{"type":3149,"value":5264},", example: ",{"type":3144,"tag":3289,"props":5266,"children":5268},{"className":5267},[],[5269],{"type":3149,"value":5270},"defineOAuthGitHubEventHandler",{"type":3149,"value":3382},{"type":3144,"tag":3151,"props":5273,"children":5274},{},[5275,5277,5283,5285,5291],{"type":3149,"value":5276},"The helper returns an event handler that automatically redirects to the provider authorization page and then calls ",{"type":3144,"tag":3289,"props":5278,"children":5280},{"className":5279},[],[5281],{"type":3149,"value":5282},"onSuccess",{"type":3149,"value":5284}," or ",{"type":3144,"tag":3289,"props":5286,"children":5288},{"className":5287},[],[5289],{"type":3149,"value":5290},"onError",{"type":3149,"value":5292}," depending on the result.",{"type":3144,"tag":3151,"props":5294,"children":5295},{},[5296,5298,5304,5306,5312,5314,5319],{"type":3149,"value":5297},"The ",{"type":3144,"tag":3289,"props":5299,"children":5301},{"className":5300},[],[5302],{"type":3149,"value":5303},"config",{"type":3149,"value":5305}," can be defined directly from the ",{"type":3144,"tag":3289,"props":5307,"children":5309},{"className":5308},[],[5310],{"type":3149,"value":5311},"runtimeConfig",{"type":3149,"value":5313}," in your ",{"type":3144,"tag":3289,"props":5315,"children":5317},{"className":5316},[],[5318],{"type":3149,"value":233},{"type":3149,"value":4166},{"type":3144,"tag":3417,"props":5321,"children":5323},{"className":4105,"code":5322,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  runtimeConfig: {\n    oauth: {\n      \u002F\u002F provider in lowercase (github, google, etc.)\n      \u003Cprovider>: {\n        clientId: '...',\n        clientSecret: '...'\n      }\n    }\n  }\n})\n",[5324],{"type":3144,"tag":3289,"props":5325,"children":5326},{"__ignoreMap":3017},[5327,5354,5370,5386,5394,5410,5440,5464,5472,5480,5487],{"type":3144,"tag":3427,"props":5328,"children":5329},{"class":3429,"line":3103},[5330,5334,5339,5344,5349],{"type":3144,"tag":3427,"props":5331,"children":5332},{"style":4689},[5333],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":5335,"children":5336},{"style":4689},[5337],{"type":3149,"value":5338}," default",{"type":3144,"tag":3427,"props":5340,"children":5341},{"style":3663},[5342],{"type":3149,"value":5343}," defineNuxtConfig",{"type":3144,"tag":3427,"props":5345,"children":5346},{"style":3501},[5347],{"type":3149,"value":5348},"(",{"type":3144,"tag":3427,"props":5350,"children":5351},{"style":3506},[5352],{"type":3149,"value":5353},"{\n",{"type":3144,"tag":3427,"props":5355,"children":5356},{"class":3429,"line":3069},[5357,5362,5366],{"type":3144,"tag":3427,"props":5358,"children":5359},{"style":3572},[5360],{"type":3149,"value":5361},"  runtimeConfig",{"type":3144,"tag":3427,"props":5363,"children":5364},{"style":3506},[5365],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5367,"children":5368},{"style":3506},[5369],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5371,"children":5372},{"class":3429,"line":3053},[5373,5378,5382],{"type":3144,"tag":3427,"props":5374,"children":5375},{"style":3572},[5376],{"type":3149,"value":5377},"    oauth",{"type":3144,"tag":3427,"props":5379,"children":5380},{"style":3506},[5381],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5383,"children":5384},{"style":3506},[5385],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5387,"children":5388},{"class":3429,"line":3690},[5389],{"type":3144,"tag":3427,"props":5390,"children":5391},{"style":3492},[5392],{"type":3149,"value":5393},"      \u002F\u002F provider in lowercase (github, google, etc.)\n",{"type":3144,"tag":3427,"props":5395,"children":5396},{"class":3429,"line":3699},[5397,5402,5406],{"type":3144,"tag":3427,"props":5398,"children":5399},{"style":3501},[5400],{"type":3149,"value":5401},"      \u003Cprovider>",{"type":3144,"tag":3427,"props":5403,"children":5404},{"style":3506},[5405],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5407,"children":5408},{"style":3506},[5409],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5411,"children":5412},{"class":3429,"line":3716},[5413,5418,5422,5426,5431,5435],{"type":3144,"tag":3427,"props":5414,"children":5415},{"style":3572},[5416],{"type":3149,"value":5417},"        clientId",{"type":3144,"tag":3427,"props":5419,"children":5420},{"style":3506},[5421],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5423,"children":5424},{"style":3506},[5425],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":5427,"children":5428},{"style":3439},[5429],{"type":3149,"value":5430},"...",{"type":3144,"tag":3427,"props":5432,"children":5433},{"style":3506},[5434],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":5436,"children":5437},{"style":3506},[5438],{"type":3149,"value":5439},",\n",{"type":3144,"tag":3427,"props":5441,"children":5442},{"class":3429,"line":3049},[5443,5448,5452,5456,5460],{"type":3144,"tag":3427,"props":5444,"children":5445},{"style":3572},[5446],{"type":3149,"value":5447},"        clientSecret",{"type":3144,"tag":3427,"props":5449,"children":5450},{"style":3506},[5451],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5453,"children":5454},{"style":3506},[5455],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":5457,"children":5458},{"style":3439},[5459],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":5461,"children":5462},{"style":3506},[5463],{"type":3149,"value":4759},{"type":3144,"tag":3427,"props":5465,"children":5466},{"class":3429,"line":3045},[5467],{"type":3144,"tag":3427,"props":5468,"children":5469},{"style":3506},[5470],{"type":3149,"value":5471},"      }\n",{"type":3144,"tag":3427,"props":5473,"children":5474},{"class":3429,"line":3041},[5475],{"type":3144,"tag":3427,"props":5476,"children":5477},{"style":3506},[5478],{"type":3149,"value":5479},"    }\n",{"type":3144,"tag":3427,"props":5481,"children":5482},{"class":3429,"line":3878},[5483],{"type":3144,"tag":3427,"props":5484,"children":5485},{"style":3506},[5486],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":5488,"children":5489},{"class":3429,"line":3132},[5490,5494],{"type":3144,"tag":3427,"props":5491,"children":5492},{"style":3506},[5493],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":5495,"children":5496},{"style":3501},[5497],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":5499,"children":5500},{},[5501],{"type":3149,"value":5502},"It can also be set using environment variables:",{"type":3144,"tag":3201,"props":5504,"children":5505},{},[5506,5515],{"type":3144,"tag":3205,"props":5507,"children":5508},{},[5509],{"type":3144,"tag":3289,"props":5510,"children":5512},{"className":5511},[],[5513],{"type":3149,"value":5514},"NUXT_OAUTH_\u003CPROVIDER>_CLIENT_ID",{"type":3144,"tag":3205,"props":5516,"children":5517},{},[5518],{"type":3144,"tag":3289,"props":5519,"children":5521},{"className":5520},[],[5522],{"type":3149,"value":5523},"NUXT_OAUTH_\u003CPROVIDER>_CLIENT_SECRET",{"type":3144,"tag":4607,"props":5525,"children":5526},{},[5527],{"type":3144,"tag":3151,"props":5528,"children":5529},{},[5530],{"type":3149,"value":5531},"Provider is in uppercase (GITHUB, GOOGLE, etc.)",{"type":3144,"tag":5533,"props":5534,"children":5536},"h4",{"id":5535},"supported-oauth-providers",[5537],{"type":3149,"value":5538},"Supported OAuth Providers",{"type":3144,"tag":3201,"props":5540,"children":5541},{},[5542,5547,5552,5557,5562,5567,5572,5577,5582,5587,5592,5597,5602,5607,5612,5617,5622,5627,5632,5637,5642,5647,5652,5657,5662,5667,5672,5677,5682,5687,5692,5697,5702,5707,5712,5717,5722,5727,5732,5737,5742,5747,5752,5757,5762,5767,5772,5777],{"type":3144,"tag":3205,"props":5543,"children":5544},{},[5545],{"type":3149,"value":5546},"Apple",{"type":3144,"tag":3205,"props":5548,"children":5549},{},[5550],{"type":3149,"value":5551},"Atlassian",{"type":3144,"tag":3205,"props":5553,"children":5554},{},[5555],{"type":3149,"value":5556},"Auth0",{"type":3144,"tag":3205,"props":5558,"children":5559},{},[5560],{"type":3149,"value":5561},"Authentik",{"type":3144,"tag":3205,"props":5563,"children":5564},{},[5565],{"type":3149,"value":5566},"AWS Cognito",{"type":3144,"tag":3205,"props":5568,"children":5569},{},[5570],{"type":3149,"value":5571},"Azure B2C",{"type":3144,"tag":3205,"props":5573,"children":5574},{},[5575],{"type":3149,"value":5576},"Battle.net",{"type":3144,"tag":3205,"props":5578,"children":5579},{},[5580],{"type":3149,"value":5581},"Bluesky (AT Protocol)",{"type":3144,"tag":3205,"props":5583,"children":5584},{},[5585],{"type":3149,"value":5586},"Box.com",{"type":3144,"tag":3205,"props":5588,"children":5589},{},[5590],{"type":3149,"value":5591},"Discord",{"type":3144,"tag":3205,"props":5593,"children":5594},{},[5595],{"type":3149,"value":5596},"Dropbox",{"type":3144,"tag":3205,"props":5598,"children":5599},{},[5600],{"type":3149,"value":5601},"Facebook",{"type":3144,"tag":3205,"props":5603,"children":5604},{},[5605],{"type":3149,"value":5606},"GitHub",{"type":3144,"tag":3205,"props":5608,"children":5609},{},[5610],{"type":3149,"value":5611},"GitLab",{"type":3144,"tag":3205,"props":5613,"children":5614},{},[5615],{"type":3149,"value":5616},"Gitea",{"type":3144,"tag":3205,"props":5618,"children":5619},{},[5620],{"type":3149,"value":5621},"Google",{"type":3144,"tag":3205,"props":5623,"children":5624},{},[5625],{"type":3149,"value":5626},"Heroku",{"type":3144,"tag":3205,"props":5628,"children":5629},{},[5630],{"type":3149,"value":5631},"Hubspot",{"type":3144,"tag":3205,"props":5633,"children":5634},{},[5635],{"type":3149,"value":5636},"Instagram",{"type":3144,"tag":3205,"props":5638,"children":5639},{},[5640],{"type":3149,"value":5641},"Kick",{"type":3144,"tag":3205,"props":5643,"children":5644},{},[5645],{"type":3149,"value":5646},"Keycloak",{"type":3144,"tag":3205,"props":5648,"children":5649},{},[5650],{"type":3149,"value":5651},"Line",{"type":3144,"tag":3205,"props":5653,"children":5654},{},[5655],{"type":3149,"value":5656},"Linear",{"type":3144,"tag":3205,"props":5658,"children":5659},{},[5660],{"type":3149,"value":5661},"LinkedIn",{"type":3144,"tag":3205,"props":5663,"children":5664},{},[5665],{"type":3149,"value":5666},"LiveChat",{"type":3144,"tag":3205,"props":5668,"children":5669},{},[5670],{"type":3149,"value":5671},"Microsoft",{"type":3144,"tag":3205,"props":5673,"children":5674},{},[5675],{"type":3149,"value":5676},"OIDC \u002F OpenID Connect (Generic)",{"type":3144,"tag":3205,"props":5678,"children":5679},{},[5680],{"type":3149,"value":5681},"Okta",{"type":3144,"tag":3205,"props":5683,"children":5684},{},[5685],{"type":3149,"value":5686},"Ory",{"type":3144,"tag":3205,"props":5688,"children":5689},{},[5690],{"type":3149,"value":5691},"osu!",{"type":3144,"tag":3205,"props":5693,"children":5694},{},[5695],{"type":3149,"value":5696},"PayPal",{"type":3144,"tag":3205,"props":5698,"children":5699},{},[5700],{"type":3149,"value":5701},"Polar",{"type":3144,"tag":3205,"props":5703,"children":5704},{},[5705],{"type":3149,"value":5706},"Riot Games",{"type":3144,"tag":3205,"props":5708,"children":5709},{},[5710],{"type":3149,"value":5711},"Salesforce",{"type":3144,"tag":3205,"props":5713,"children":5714},{},[5715],{"type":3149,"value":5716},"Seznam",{"type":3144,"tag":3205,"props":5718,"children":5719},{},[5720],{"type":3149,"value":5721},"Shopify Customer",{"type":3144,"tag":3205,"props":5723,"children":5724},{},[5725],{"type":3149,"value":5726},"Slack",{"type":3144,"tag":3205,"props":5728,"children":5729},{},[5730],{"type":3149,"value":5731},"Spotify",{"type":3144,"tag":3205,"props":5733,"children":5734},{},[5735],{"type":3149,"value":5736},"Steam",{"type":3144,"tag":3205,"props":5738,"children":5739},{},[5740],{"type":3149,"value":5741},"Strava",{"type":3144,"tag":3205,"props":5743,"children":5744},{},[5745],{"type":3149,"value":5746},"TikTok",{"type":3144,"tag":3205,"props":5748,"children":5749},{},[5750],{"type":3149,"value":5751},"Twitch",{"type":3144,"tag":3205,"props":5753,"children":5754},{},[5755],{"type":3149,"value":5756},"VK",{"type":3144,"tag":3205,"props":5758,"children":5759},{},[5760],{"type":3149,"value":5761},"WorkOS",{"type":3144,"tag":3205,"props":5763,"children":5764},{},[5765],{"type":3149,"value":5766},"X (Twitter)",{"type":3144,"tag":3205,"props":5768,"children":5769},{},[5770],{"type":3149,"value":5771},"XSUAA",{"type":3144,"tag":3205,"props":5773,"children":5774},{},[5775],{"type":3149,"value":5776},"Yandex",{"type":3144,"tag":3205,"props":5778,"children":5779},{},[5780],{"type":3149,"value":5781},"Zitadel",{"type":3144,"tag":3151,"props":5783,"children":5784},{},[5785,5787,5794],{"type":3149,"value":5786},"You can add your favorite provider by creating a new file in ",{"type":3144,"tag":3155,"props":5788,"children":5791},{"href":5789,"rel":5790},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Ftree\u002Fmain\u002Fsrc\u002Fruntime\u002Fserver\u002Flib\u002Foauth",[3159],[5792],{"type":3149,"value":5793},"src\u002Fruntime\u002Fserver\u002Flib\u002Foauth\u002F",{"type":3149,"value":3382},{"type":3144,"tag":5533,"props":5796,"children":5798},{"id":5797},"example",[5799],{"type":3149,"value":5800},"Example",{"type":3144,"tag":3151,"props":5802,"children":5803},{},[5804,5806],{"type":3149,"value":5805},"Example: ",{"type":3144,"tag":3289,"props":5807,"children":5809},{"className":5808},[],[5810],{"type":3149,"value":5811},"~\u002Fserver\u002Froutes\u002Fauth\u002Fgithub.get.ts",{"type":3144,"tag":3417,"props":5813,"children":5815},{"className":4105,"code":5814,"language":4107,"meta":3017,"style":3017},"export default defineOAuthGitHubEventHandler({\n  config: {\n    emailRequired: true\n  },\n  async onSuccess(event, { user, tokens }) {\n    await setUserSession(event, {\n      user: {\n        githubId: user.id\n      }\n    })\n    return sendRedirect(event, '\u002F')\n  },\n  \u002F\u002F Optional, will return a json error and 401 status code by default\n  onError(event, error) {\n    console.error('GitHub OAuth error:', error)\n    return sendRedirect(event, '\u002F')\n  },\n})\n",[5816],{"type":3144,"tag":3289,"props":5817,"children":5818},{"__ignoreMap":3017},[5819,5843,5859,5877,5884,5935,5963,5979,6004,6011,6023,6065,6072,6080,6114,6160,6199,6206],{"type":3144,"tag":3427,"props":5820,"children":5821},{"class":3429,"line":3103},[5822,5826,5830,5835,5839],{"type":3144,"tag":3427,"props":5823,"children":5824},{"style":4689},[5825],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":5827,"children":5828},{"style":4689},[5829],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":5831,"children":5832},{"style":3663},[5833],{"type":3149,"value":5834}," defineOAuthGitHubEventHandler",{"type":3144,"tag":3427,"props":5836,"children":5837},{"style":3501},[5838],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":5840,"children":5841},{"style":3506},[5842],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":5844,"children":5845},{"class":3429,"line":3069},[5846,5851,5855],{"type":3144,"tag":3427,"props":5847,"children":5848},{"style":3572},[5849],{"type":3149,"value":5850},"  config",{"type":3144,"tag":3427,"props":5852,"children":5853},{"style":3506},[5854],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5856,"children":5857},{"style":3506},[5858],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5860,"children":5861},{"class":3429,"line":3053},[5862,5867,5871],{"type":3144,"tag":3427,"props":5863,"children":5864},{"style":3572},[5865],{"type":3149,"value":5866},"    emailRequired",{"type":3144,"tag":3427,"props":5868,"children":5869},{"style":3506},[5870],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5872,"children":5874},{"style":5873},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[5875],{"type":3149,"value":5876}," true\n",{"type":3144,"tag":3427,"props":5878,"children":5879},{"class":3429,"line":3690},[5880],{"type":3144,"tag":3427,"props":5881,"children":5882},{"style":3506},[5883],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":5885,"children":5886},{"class":3429,"line":3699},[5887,5892,5897,5901,5906,5910,5914,5918,5922,5927,5931],{"type":3144,"tag":3427,"props":5888,"children":5889},{"style":3578},[5890],{"type":3149,"value":5891},"  async",{"type":3144,"tag":3427,"props":5893,"children":5894},{"style":3572},[5895],{"type":3149,"value":5896}," onSuccess",{"type":3144,"tag":3427,"props":5898,"children":5899},{"style":3506},[5900],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":5902,"children":5903},{"style":4521},[5904],{"type":3149,"value":5905},"event",{"type":3144,"tag":3427,"props":5907,"children":5908},{"style":3506},[5909],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":5911,"children":5912},{"style":3506},[5913],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":5915,"children":5916},{"style":4521},[5917],{"type":3149,"value":3614},{"type":3144,"tag":3427,"props":5919,"children":5920},{"style":3506},[5921],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":5923,"children":5924},{"style":4521},[5925],{"type":3149,"value":5926}," tokens",{"type":3144,"tag":3427,"props":5928,"children":5929},{"style":3506},[5930],{"type":3149,"value":4587},{"type":3144,"tag":3427,"props":5932,"children":5933},{"style":3506},[5934],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5936,"children":5937},{"class":3429,"line":3716},[5938,5943,5947,5951,5955,5959],{"type":3144,"tag":3427,"props":5939,"children":5940},{"style":4689},[5941],{"type":3149,"value":5942},"    await",{"type":3144,"tag":3427,"props":5944,"children":5945},{"style":3663},[5946],{"type":3149,"value":4697},{"type":3144,"tag":3427,"props":5948,"children":5949},{"style":3572},[5950],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":5952,"children":5953},{"style":3501},[5954],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":5956,"children":5957},{"style":3506},[5958],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":5960,"children":5961},{"style":3506},[5962],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5964,"children":5965},{"class":3429,"line":3049},[5966,5971,5975],{"type":3144,"tag":3427,"props":5967,"children":5968},{"style":3572},[5969],{"type":3149,"value":5970},"      user",{"type":3144,"tag":3427,"props":5972,"children":5973},{"style":3506},[5974],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5976,"children":5977},{"style":3506},[5978],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":5980,"children":5981},{"class":3429,"line":3045},[5982,5987,5991,5995,5999],{"type":3144,"tag":3427,"props":5983,"children":5984},{"style":3572},[5985],{"type":3149,"value":5986},"        githubId",{"type":3144,"tag":3427,"props":5988,"children":5989},{"style":3506},[5990],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":5992,"children":5993},{"style":3501},[5994],{"type":3149,"value":3614},{"type":3144,"tag":3427,"props":5996,"children":5997},{"style":3506},[5998],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":6000,"children":6001},{"style":3501},[6002],{"type":3149,"value":6003},"id\n",{"type":3144,"tag":3427,"props":6005,"children":6006},{"class":3429,"line":3041},[6007],{"type":3144,"tag":3427,"props":6008,"children":6009},{"style":3506},[6010],{"type":3149,"value":5471},{"type":3144,"tag":3427,"props":6012,"children":6013},{"class":3429,"line":3878},[6014,6019],{"type":3144,"tag":3427,"props":6015,"children":6016},{"style":3506},[6017],{"type":3149,"value":6018},"    }",{"type":3144,"tag":3427,"props":6020,"children":6021},{"style":3572},[6022],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":6024,"children":6025},{"class":3429,"line":3132},[6026,6031,6036,6040,6044,6048,6052,6057,6061],{"type":3144,"tag":3427,"props":6027,"children":6028},{"style":4689},[6029],{"type":3149,"value":6030},"    return",{"type":3144,"tag":3427,"props":6032,"children":6033},{"style":3663},[6034],{"type":3149,"value":6035}," sendRedirect",{"type":3144,"tag":3427,"props":6037,"children":6038},{"style":3572},[6039],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6041,"children":6042},{"style":3501},[6043],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":6045,"children":6046},{"style":3506},[6047],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":6049,"children":6050},{"style":3506},[6051],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":6053,"children":6054},{"style":3439},[6055],{"type":3149,"value":6056},"\u002F",{"type":3144,"tag":3427,"props":6058,"children":6059},{"style":3506},[6060],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6062,"children":6063},{"style":3572},[6064],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":6066,"children":6067},{"class":3429,"line":3915},[6068],{"type":3144,"tag":3427,"props":6069,"children":6070},{"style":3506},[6071],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":6073,"children":6074},{"class":3429,"line":3948},[6075],{"type":3144,"tag":3427,"props":6076,"children":6077},{"style":3492},[6078],{"type":3149,"value":6079},"  \u002F\u002F Optional, will return a json error and 401 status code by default\n",{"type":3144,"tag":3427,"props":6081,"children":6082},{"class":3429,"line":4003},[6083,6088,6092,6096,6100,6105,6110],{"type":3144,"tag":3427,"props":6084,"children":6085},{"style":3572},[6086],{"type":3149,"value":6087},"  onError",{"type":3144,"tag":3427,"props":6089,"children":6090},{"style":3506},[6091],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6093,"children":6094},{"style":4521},[6095],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":6097,"children":6098},{"style":3506},[6099],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":6101,"children":6102},{"style":4521},[6103],{"type":3149,"value":6104}," error",{"type":3144,"tag":3427,"props":6106,"children":6107},{"style":3506},[6108],{"type":3149,"value":6109},")",{"type":3144,"tag":3427,"props":6111,"children":6112},{"style":3506},[6113],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":6115,"children":6116},{"class":3429,"line":4012},[6117,6122,6126,6131,6135,6139,6144,6148,6152,6156],{"type":3144,"tag":3427,"props":6118,"children":6119},{"style":3501},[6120],{"type":3149,"value":6121},"    console",{"type":3144,"tag":3427,"props":6123,"children":6124},{"style":3506},[6125],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":6127,"children":6128},{"style":3663},[6129],{"type":3149,"value":6130},"error",{"type":3144,"tag":3427,"props":6132,"children":6133},{"style":3572},[6134],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6136,"children":6137},{"style":3506},[6138],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6140,"children":6141},{"style":3439},[6142],{"type":3149,"value":6143},"GitHub OAuth error:",{"type":3144,"tag":3427,"props":6145,"children":6146},{"style":3506},[6147],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6149,"children":6150},{"style":3506},[6151],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":6153,"children":6154},{"style":3501},[6155],{"type":3149,"value":6104},{"type":3144,"tag":3427,"props":6157,"children":6158},{"style":3572},[6159],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":6161,"children":6162},{"class":3429,"line":3037},[6163,6167,6171,6175,6179,6183,6187,6191,6195],{"type":3144,"tag":3427,"props":6164,"children":6165},{"style":4689},[6166],{"type":3149,"value":6030},{"type":3144,"tag":3427,"props":6168,"children":6169},{"style":3663},[6170],{"type":3149,"value":6035},{"type":3144,"tag":3427,"props":6172,"children":6173},{"style":3572},[6174],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6176,"children":6177},{"style":3501},[6178],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":6180,"children":6181},{"style":3506},[6182],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":6184,"children":6185},{"style":3506},[6186],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":6188,"children":6189},{"style":3439},[6190],{"type":3149,"value":6056},{"type":3144,"tag":3427,"props":6192,"children":6193},{"style":3506},[6194],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6196,"children":6197},{"style":3572},[6198],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":6200,"children":6201},{"class":3429,"line":4080},[6202],{"type":3144,"tag":3427,"props":6203,"children":6204},{"style":3506},[6205],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":6207,"children":6208},{"class":3429,"line":4350},[6209,6213],{"type":3144,"tag":3427,"props":6210,"children":6211},{"style":3506},[6212],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":6214,"children":6215},{"style":3501},[6216],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":6218,"children":6219},{},[6220,6222,6228],{"type":3149,"value":6221},"Make sure to set the callback URL in your OAuth app settings as ",{"type":3144,"tag":3289,"props":6223,"children":6225},{"className":6224},[],[6226],{"type":3149,"value":6227},"\u003Cyour-domain>\u002Fauth\u002Fgithub",{"type":3149,"value":3382},{"type":3144,"tag":3151,"props":6230,"children":6231},{},[6232,6234,6240],{"type":3149,"value":6233},"If the redirect URL mismatch in production, this means that the module cannot guess the right redirect URL. You can set the ",{"type":3144,"tag":3289,"props":6235,"children":6237},{"className":6236},[],[6238],{"type":3149,"value":6239},"NUXT_OAUTH_\u003CPROVIDER>_REDIRECT_URL",{"type":3149,"value":6241}," env variable to overwrite the default one.",{"type":3144,"tag":3547,"props":6243,"children":6245},{"id":6244},"password-hashing",[6246],{"type":3149,"value":3271},{"type":3144,"tag":3151,"props":6248,"children":6249},{},[6250,6252,6258,6260,6266,6268,6275],{"type":3149,"value":6251},"Nuxt Auth Utils provides password hashing utilities like ",{"type":3144,"tag":3289,"props":6253,"children":6255},{"className":6254},[],[6256],{"type":3149,"value":6257},"hashPassword",{"type":3149,"value":6259}," and ",{"type":3144,"tag":3289,"props":6261,"children":6263},{"className":6262},[],[6264],{"type":3149,"value":6265},"verifyPassword",{"type":3149,"value":6267}," to hash and verify passwords by using ",{"type":3144,"tag":3155,"props":6269,"children":6272},{"href":6270,"rel":6271},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FScrypt",[3159],[6273],{"type":3149,"value":6274},"scrypt",{"type":3149,"value":6276}," as it is supported in many JS runtime.",{"type":3144,"tag":3417,"props":6278,"children":6280},{"className":4105,"code":6279,"language":4107,"meta":3017,"style":3017},"const hashedPassword = await hashPassword('user_password')\n\nif (await verifyPassword(hashedPassword, 'user_password')) {\n  \u002F\u002F Password is valid\n}\n",[6281],{"type":3144,"tag":3289,"props":6282,"children":6283},{"__ignoreMap":3017},[6284,6330,6337,6388,6396],{"type":3144,"tag":3427,"props":6285,"children":6286},{"class":3429,"line":3103},[6287,6291,6296,6300,6304,6309,6313,6317,6322,6326],{"type":3144,"tag":3427,"props":6288,"children":6289},{"style":3578},[6290],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":6292,"children":6293},{"style":3501},[6294],{"type":3149,"value":6295}," hashedPassword ",{"type":3144,"tag":3427,"props":6297,"children":6298},{"style":3506},[6299],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":6301,"children":6302},{"style":4689},[6303],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":6305,"children":6306},{"style":3663},[6307],{"type":3149,"value":6308}," hashPassword",{"type":3144,"tag":3427,"props":6310,"children":6311},{"style":3501},[6312],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6314,"children":6315},{"style":3506},[6316],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6318,"children":6319},{"style":3439},[6320],{"type":3149,"value":6321},"user_password",{"type":3144,"tag":3427,"props":6323,"children":6324},{"style":3506},[6325],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6327,"children":6328},{"style":3501},[6329],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":6331,"children":6332},{"class":3429,"line":3069},[6333],{"type":3144,"tag":3427,"props":6334,"children":6335},{"emptyLinePlaceholder":1200},[6336],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":6338,"children":6339},{"class":3429,"line":3053},[6340,6345,6349,6353,6358,6363,6367,6371,6375,6379,6384],{"type":3144,"tag":3427,"props":6341,"children":6342},{"style":4689},[6343],{"type":3149,"value":6344},"if",{"type":3144,"tag":3427,"props":6346,"children":6347},{"style":3501},[6348],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":6350,"children":6351},{"style":4689},[6352],{"type":3149,"value":4692},{"type":3144,"tag":3427,"props":6354,"children":6355},{"style":3663},[6356],{"type":3149,"value":6357}," verifyPassword",{"type":3144,"tag":3427,"props":6359,"children":6360},{"style":3501},[6361],{"type":3149,"value":6362},"(hashedPassword",{"type":3144,"tag":3427,"props":6364,"children":6365},{"style":3506},[6366],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":6368,"children":6369},{"style":3506},[6370],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":6372,"children":6373},{"style":3439},[6374],{"type":3149,"value":6321},{"type":3144,"tag":3427,"props":6376,"children":6377},{"style":3506},[6378],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6380,"children":6381},{"style":3501},[6382],{"type":3149,"value":6383},")) ",{"type":3144,"tag":3427,"props":6385,"children":6386},{"style":3506},[6387],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":6389,"children":6390},{"class":3429,"line":3690},[6391],{"type":3144,"tag":3427,"props":6392,"children":6393},{"style":3492},[6394],{"type":3149,"value":6395},"  \u002F\u002F Password is valid\n",{"type":3144,"tag":3427,"props":6397,"children":6398},{"class":3429,"line":3699},[6399],{"type":3144,"tag":3427,"props":6400,"children":6401},{"style":3506},[6402],{"type":3149,"value":4605},{"type":3144,"tag":3151,"props":6404,"children":6405},{},[6406,6408,6414],{"type":3149,"value":6407},"It also provides a ",{"type":3144,"tag":3289,"props":6409,"children":6411},{"className":6410},[],[6412],{"type":3149,"value":6413},"passwordNeedsRehash",{"type":3149,"value":6415}," function to check if a password needs to be rehashed. This is useful when the hash settings are changed, such as as increasing the scrypt cost parameters.",{"type":3144,"tag":3417,"props":6417,"children":6419},{"className":4105,"code":6418,"language":4107,"meta":3017,"style":3017},"const needsRehash = passwordNeedsRehash(hashedPassword)\n\nif (needsRehash) {\n  \u002F\u002F Password needs to be rehashed\n  hashedPassword = await hashPassword('user_password')\n}\n",[6420],{"type":3144,"tag":3289,"props":6421,"children":6422},{"__ignoreMap":3017},[6423,6449,6456,6472,6480,6520],{"type":3144,"tag":3427,"props":6424,"children":6425},{"class":3429,"line":3103},[6426,6430,6435,6439,6444],{"type":3144,"tag":3427,"props":6427,"children":6428},{"style":3578},[6429],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":6431,"children":6432},{"style":3501},[6433],{"type":3149,"value":6434}," needsRehash ",{"type":3144,"tag":3427,"props":6436,"children":6437},{"style":3506},[6438],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":6440,"children":6441},{"style":3663},[6442],{"type":3149,"value":6443}," passwordNeedsRehash",{"type":3144,"tag":3427,"props":6445,"children":6446},{"style":3501},[6447],{"type":3149,"value":6448},"(hashedPassword)\n",{"type":3144,"tag":3427,"props":6450,"children":6451},{"class":3429,"line":3069},[6452],{"type":3144,"tag":3427,"props":6453,"children":6454},{"emptyLinePlaceholder":1200},[6455],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":6457,"children":6458},{"class":3429,"line":3053},[6459,6463,6468],{"type":3144,"tag":3427,"props":6460,"children":6461},{"style":4689},[6462],{"type":3149,"value":6344},{"type":3144,"tag":3427,"props":6464,"children":6465},{"style":3501},[6466],{"type":3149,"value":6467}," (needsRehash) ",{"type":3144,"tag":3427,"props":6469,"children":6470},{"style":3506},[6471],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":6473,"children":6474},{"class":3429,"line":3690},[6475],{"type":3144,"tag":3427,"props":6476,"children":6477},{"style":3492},[6478],{"type":3149,"value":6479},"  \u002F\u002F Password needs to be rehashed\n",{"type":3144,"tag":3427,"props":6481,"children":6482},{"class":3429,"line":3699},[6483,6488,6492,6496,6500,6504,6508,6512,6516],{"type":3144,"tag":3427,"props":6484,"children":6485},{"style":3501},[6486],{"type":3149,"value":6487},"  hashedPassword",{"type":3144,"tag":3427,"props":6489,"children":6490},{"style":3506},[6491],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":6493,"children":6494},{"style":4689},[6495],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":6497,"children":6498},{"style":3663},[6499],{"type":3149,"value":6308},{"type":3144,"tag":3427,"props":6501,"children":6502},{"style":3572},[6503],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6505,"children":6506},{"style":3506},[6507],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6509,"children":6510},{"style":3439},[6511],{"type":3149,"value":6321},{"type":3144,"tag":3427,"props":6513,"children":6514},{"style":3506},[6515],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6517,"children":6518},{"style":3572},[6519],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":6521,"children":6522},{"class":3429,"line":3716},[6523],{"type":3144,"tag":3427,"props":6524,"children":6525},{"style":3506},[6526],{"type":3149,"value":4605},{"type":3144,"tag":3151,"props":6528,"children":6529},{},[6530,6532,6537],{"type":3149,"value":6531},"You can configure the scrypt options in your ",{"type":3144,"tag":3289,"props":6533,"children":6535},{"className":6534},[],[6536],{"type":3149,"value":233},{"type":3149,"value":4166},{"type":3144,"tag":3417,"props":6539,"children":6541},{"className":4105,"code":6540,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  modules: ['nuxt-auth-utils'],\n  auth: {\n    hash: {\n      scrypt: {\n        \u002F\u002F See https:\u002F\u002Fgithub.com\u002Fadonisjs\u002Fhash\u002Fblob\u002F94637029cd526783ac0a763ec581306d98db2036\u002Fsrc\u002Ftypes.ts#L144\n      }\n    }\n  }\n})\n",[6542],{"type":3144,"tag":3289,"props":6543,"children":6544},{"__ignoreMap":3017},[6545,6568,6606,6622,6638,6654,6662,6669,6676,6683],{"type":3144,"tag":3427,"props":6546,"children":6547},{"class":3429,"line":3103},[6548,6552,6556,6560,6564],{"type":3144,"tag":3427,"props":6549,"children":6550},{"style":4689},[6551],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":6553,"children":6554},{"style":4689},[6555],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":6557,"children":6558},{"style":3663},[6559],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":6561,"children":6562},{"style":3501},[6563],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6565,"children":6566},{"style":3506},[6567],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":6569,"children":6570},{"class":3429,"line":3069},[6571,6576,6580,6585,6589,6593,6597,6602],{"type":3144,"tag":3427,"props":6572,"children":6573},{"style":3572},[6574],{"type":3149,"value":6575},"  modules",{"type":3144,"tag":3427,"props":6577,"children":6578},{"style":3506},[6579],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6581,"children":6582},{"style":3501},[6583],{"type":3149,"value":6584}," [",{"type":3144,"tag":3427,"props":6586,"children":6587},{"style":3506},[6588],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6590,"children":6591},{"style":3439},[6592],{"type":3149,"value":3016},{"type":3144,"tag":3427,"props":6594,"children":6595},{"style":3506},[6596],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":6598,"children":6599},{"style":3501},[6600],{"type":3149,"value":6601},"]",{"type":3144,"tag":3427,"props":6603,"children":6604},{"style":3506},[6605],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":6607,"children":6608},{"class":3429,"line":3053},[6609,6614,6618],{"type":3144,"tag":3427,"props":6610,"children":6611},{"style":3572},[6612],{"type":3149,"value":6613},"  auth",{"type":3144,"tag":3427,"props":6615,"children":6616},{"style":3506},[6617],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6619,"children":6620},{"style":3506},[6621],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":6623,"children":6624},{"class":3429,"line":3690},[6625,6630,6634],{"type":3144,"tag":3427,"props":6626,"children":6627},{"style":3572},[6628],{"type":3149,"value":6629},"    hash",{"type":3144,"tag":3427,"props":6631,"children":6632},{"style":3506},[6633],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6635,"children":6636},{"style":3506},[6637],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":6639,"children":6640},{"class":3429,"line":3699},[6641,6646,6650],{"type":3144,"tag":3427,"props":6642,"children":6643},{"style":3572},[6644],{"type":3149,"value":6645},"      scrypt",{"type":3144,"tag":3427,"props":6647,"children":6648},{"style":3506},[6649],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6651,"children":6652},{"style":3506},[6653],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":6655,"children":6656},{"class":3429,"line":3716},[6657],{"type":3144,"tag":3427,"props":6658,"children":6659},{"style":3492},[6660],{"type":3149,"value":6661},"        \u002F\u002F See https:\u002F\u002Fgithub.com\u002Fadonisjs\u002Fhash\u002Fblob\u002F94637029cd526783ac0a763ec581306d98db2036\u002Fsrc\u002Ftypes.ts#L144\n",{"type":3144,"tag":3427,"props":6663,"children":6664},{"class":3429,"line":3049},[6665],{"type":3144,"tag":3427,"props":6666,"children":6667},{"style":3506},[6668],{"type":3149,"value":5471},{"type":3144,"tag":3427,"props":6670,"children":6671},{"class":3429,"line":3045},[6672],{"type":3144,"tag":3427,"props":6673,"children":6674},{"style":3506},[6675],{"type":3149,"value":5479},{"type":3144,"tag":3427,"props":6677,"children":6678},{"class":3429,"line":3041},[6679],{"type":3144,"tag":3427,"props":6680,"children":6681},{"style":3506},[6682],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":6684,"children":6685},{"class":3429,"line":3878},[6686,6690],{"type":3144,"tag":3427,"props":6687,"children":6688},{"style":3506},[6689],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":6691,"children":6692},{"style":3501},[6693],{"type":3149,"value":4869},{"type":3144,"tag":3547,"props":6695,"children":6697},{"id":6696},"at-protocol",[6698],{"type":3149,"value":6699},"AT Protocol",{"type":3144,"tag":3151,"props":6701,"children":6702},{},[6703],{"type":3149,"value":6704},"Social networks that rely on AT Protocol (e.g., Bluesky) slightly differ from a regular OAuth flow.",{"type":3144,"tag":3151,"props":6706,"children":6707},{},[6708],{"type":3149,"value":6709},"To enable OAuth with AT Protocol, you need to:",{"type":3144,"tag":3401,"props":6711,"children":6712},{},[6713],{"type":3144,"tag":3205,"props":6714,"children":6715},{},[6716],{"type":3149,"value":6717},"Install the peer dependencies:",{"type":3144,"tag":3417,"props":6719,"children":6721},{"className":3419,"code":6720,"language":3421,"meta":3017,"style":3017},"npx nypm i @atproto\u002Foauth-client-node @atproto\u002Fapi\n",[6722],{"type":3144,"tag":3289,"props":6723,"children":6724},{"__ignoreMap":3017},[6725],{"type":3144,"tag":3427,"props":6726,"children":6727},{"class":3429,"line":3103},[6728,6732,6737,6742,6747],{"type":3144,"tag":3427,"props":6729,"children":6730},{"style":3433},[6731],{"type":3149,"value":3436},{"type":3144,"tag":3427,"props":6733,"children":6734},{"style":3439},[6735],{"type":3149,"value":6736}," nypm",{"type":3144,"tag":3427,"props":6738,"children":6739},{"style":3439},[6740],{"type":3149,"value":6741}," i",{"type":3144,"tag":3427,"props":6743,"children":6744},{"style":3439},[6745],{"type":3149,"value":6746}," @atproto\u002Foauth-client-node",{"type":3144,"tag":3427,"props":6748,"children":6749},{"style":3439},[6750],{"type":3149,"value":6751}," @atproto\u002Fapi\n",{"type":3144,"tag":3401,"props":6753,"children":6754},{"start":3069},[6755],{"type":3144,"tag":3205,"props":6756,"children":6757},{},[6758,6760],{"type":3149,"value":6759},"Enable it in your ",{"type":3144,"tag":3289,"props":6761,"children":6763},{"className":6762},[],[6764],{"type":3149,"value":233},{"type":3144,"tag":3417,"props":6766,"children":6768},{"className":4105,"code":6767,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  auth: {\n    atproto: true\n  }\n})\n",[6769],{"type":3144,"tag":3289,"props":6770,"children":6771},{"__ignoreMap":3017},[6772,6795,6810,6826,6833],{"type":3144,"tag":3427,"props":6773,"children":6774},{"class":3429,"line":3103},[6775,6779,6783,6787,6791],{"type":3144,"tag":3427,"props":6776,"children":6777},{"style":4689},[6778],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":6780,"children":6781},{"style":4689},[6782],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":6784,"children":6785},{"style":3663},[6786],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":6788,"children":6789},{"style":3501},[6790],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6792,"children":6793},{"style":3506},[6794],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":6796,"children":6797},{"class":3429,"line":3069},[6798,6802,6806],{"type":3144,"tag":3427,"props":6799,"children":6800},{"style":3572},[6801],{"type":3149,"value":6613},{"type":3144,"tag":3427,"props":6803,"children":6804},{"style":3506},[6805],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6807,"children":6808},{"style":3506},[6809],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":6811,"children":6812},{"class":3429,"line":3053},[6813,6818,6822],{"type":3144,"tag":3427,"props":6814,"children":6815},{"style":3572},[6816],{"type":3149,"value":6817},"    atproto",{"type":3144,"tag":3427,"props":6819,"children":6820},{"style":3506},[6821],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6823,"children":6824},{"style":5873},[6825],{"type":3149,"value":5876},{"type":3144,"tag":3427,"props":6827,"children":6828},{"class":3429,"line":3690},[6829],{"type":3144,"tag":3427,"props":6830,"children":6831},{"style":3506},[6832],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":6834,"children":6835},{"class":3429,"line":3699},[6836,6840],{"type":3144,"tag":3427,"props":6837,"children":6838},{"style":3506},[6839],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":6841,"children":6842},{"style":3501},[6843],{"type":3149,"value":4869},{"type":3144,"tag":3547,"props":6845,"children":6847},{"id":6846},"webauthn-passkey",[6848],{"type":3149,"value":3280},{"type":3144,"tag":3151,"props":6850,"children":6851},{},[6852],{"type":3149,"value":6853},"WebAuthn (Web Authentication) is a web standard that enhances security by replacing passwords with passkeys using public key cryptography. Users can authenticate with biometric data (like fingerprints or facial recognition) or physical devices (like USB keys), reducing the risk of phishing and password breaches. This approach offers a more secure and user-friendly authentication method, supported by major browsers and platforms.",{"type":3144,"tag":3151,"props":6855,"children":6856},{},[6857],{"type":3149,"value":6858},"To enable WebAuthn you need to:",{"type":3144,"tag":3401,"props":6860,"children":6861},{},[6862],{"type":3144,"tag":3205,"props":6863,"children":6864},{},[6865],{"type":3149,"value":6717},{"type":3144,"tag":3417,"props":6867,"children":6869},{"className":3419,"code":6868,"language":3421,"meta":3017,"style":3017},"npx nypm i @simplewebauthn\u002Fserver@11 @simplewebauthn\u002Fbrowser@11\n",[6870],{"type":3144,"tag":3289,"props":6871,"children":6872},{"__ignoreMap":3017},[6873],{"type":3144,"tag":3427,"props":6874,"children":6875},{"class":3429,"line":3103},[6876,6880,6884,6888,6893],{"type":3144,"tag":3427,"props":6877,"children":6878},{"style":3433},[6879],{"type":3149,"value":3436},{"type":3144,"tag":3427,"props":6881,"children":6882},{"style":3439},[6883],{"type":3149,"value":6736},{"type":3144,"tag":3427,"props":6885,"children":6886},{"style":3439},[6887],{"type":3149,"value":6741},{"type":3144,"tag":3427,"props":6889,"children":6890},{"style":3439},[6891],{"type":3149,"value":6892}," @simplewebauthn\u002Fserver@11",{"type":3144,"tag":3427,"props":6894,"children":6895},{"style":3439},[6896],{"type":3149,"value":6897}," @simplewebauthn\u002Fbrowser@11\n",{"type":3144,"tag":3401,"props":6899,"children":6900},{"start":3069},[6901],{"type":3144,"tag":3205,"props":6902,"children":6903},{},[6904,6905],{"type":3149,"value":6759},{"type":3144,"tag":3289,"props":6906,"children":6908},{"className":6907},[],[6909],{"type":3149,"value":233},{"type":3144,"tag":3417,"props":6911,"children":6913},{"className":4105,"code":6912,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  auth: {\n    webAuthn: true\n  }\n})\n",[6914],{"type":3144,"tag":3289,"props":6915,"children":6916},{"__ignoreMap":3017},[6917,6940,6955,6971,6978],{"type":3144,"tag":3427,"props":6918,"children":6919},{"class":3429,"line":3103},[6920,6924,6928,6932,6936],{"type":3144,"tag":3427,"props":6921,"children":6922},{"style":4689},[6923],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":6925,"children":6926},{"style":4689},[6927],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":6929,"children":6930},{"style":3663},[6931],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":6933,"children":6934},{"style":3501},[6935],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":6937,"children":6938},{"style":3506},[6939],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":6941,"children":6942},{"class":3429,"line":3069},[6943,6947,6951],{"type":3144,"tag":3427,"props":6944,"children":6945},{"style":3572},[6946],{"type":3149,"value":6613},{"type":3144,"tag":3427,"props":6948,"children":6949},{"style":3506},[6950],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6952,"children":6953},{"style":3506},[6954],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":6956,"children":6957},{"class":3429,"line":3053},[6958,6963,6967],{"type":3144,"tag":3427,"props":6959,"children":6960},{"style":3572},[6961],{"type":3149,"value":6962},"    webAuthn",{"type":3144,"tag":3427,"props":6964,"children":6965},{"style":3506},[6966],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":6968,"children":6969},{"style":5873},[6970],{"type":3149,"value":5876},{"type":3144,"tag":3427,"props":6972,"children":6973},{"class":3429,"line":3690},[6974],{"type":3144,"tag":3427,"props":6975,"children":6976},{"style":3506},[6977],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":6979,"children":6980},{"class":3429,"line":3699},[6981,6985],{"type":3144,"tag":3427,"props":6982,"children":6983},{"style":3506},[6984],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":6986,"children":6987},{"style":3501},[6988],{"type":3149,"value":4869},{"type":3144,"tag":5533,"props":6990,"children":6992},{"id":6991},"example-1",[6993],{"type":3149,"value":5800},{"type":3144,"tag":3151,"props":6995,"children":6996},{},[6997],{"type":3149,"value":6998},"In this example we will implement the very basic steps to register and authenticate a credential.",{"type":3144,"tag":3151,"props":7000,"children":7001},{},[7002,7004,7011],{"type":3149,"value":7003},"The full code can be found in the ",{"type":3144,"tag":3155,"props":7005,"children":7008},{"href":7006,"rel":7007},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fapi\u002Fwebauthn",[3159],[7009],{"type":3149,"value":7010},"playground",{"type":3149,"value":7012},". The example uses a SQLite database with the following minimal tables:",{"type":3144,"tag":3417,"props":7014,"children":7018},{"className":7015,"code":7016,"language":7017,"meta":3017,"style":3017},"language-sql shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","CREATE TABLE users (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  email TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS credentials (\n  userId INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,\n  id TEXT UNIQUE NOT NULL,\n  publicKey TEXT NOT NULL,\n  counter INTEGER NOT NULL,\n  backedUp INTEGER NOT NULL,\n  transports TEXT NOT NULL,\n  PRIMARY KEY (\"userId\", \"id\")\n);\n","sql",[7019],{"type":3144,"tag":3289,"props":7020,"children":7021},{"__ignoreMap":3017},[7022,7046,7069,7087,7095,7102,7133,7174,7198,7218,7239,7259,7279,7326],{"type":3144,"tag":3427,"props":7023,"children":7024},{"class":3429,"line":3103},[7025,7031,7036,7041],{"type":3144,"tag":3427,"props":7026,"children":7028},{"style":7027},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[7029],{"type":3149,"value":7030},"CREATE",{"type":3144,"tag":3427,"props":7032,"children":7033},{"style":7027},[7034],{"type":3149,"value":7035}," TABLE",{"type":3144,"tag":3427,"props":7037,"children":7038},{"style":3663},[7039],{"type":3149,"value":7040}," users",{"type":3144,"tag":3427,"props":7042,"children":7043},{"style":3501},[7044],{"type":3149,"value":7045}," (\n",{"type":3144,"tag":3427,"props":7047,"children":7048},{"class":3429,"line":3069},[7049,7054,7059,7064],{"type":3144,"tag":3427,"props":7050,"children":7051},{"style":3501},[7052],{"type":3149,"value":7053},"  id ",{"type":3144,"tag":3427,"props":7055,"children":7056},{"style":3578},[7057],{"type":3149,"value":7058},"INTEGER",{"type":3144,"tag":3427,"props":7060,"children":7061},{"style":3578},[7062],{"type":3149,"value":7063}," PRIMARY KEY",{"type":3144,"tag":3427,"props":7065,"children":7066},{"style":3501},[7067],{"type":3149,"value":7068}," AUTOINCREMENT,\n",{"type":3144,"tag":3427,"props":7070,"children":7071},{"class":3429,"line":3053},[7072,7077,7082],{"type":3144,"tag":3427,"props":7073,"children":7074},{"style":3501},[7075],{"type":3149,"value":7076},"  email ",{"type":3144,"tag":3427,"props":7078,"children":7079},{"style":3578},[7080],{"type":3149,"value":7081},"TEXT",{"type":3144,"tag":3427,"props":7083,"children":7084},{"style":7027},[7085],{"type":3149,"value":7086}," NOT NULL\n",{"type":3144,"tag":3427,"props":7088,"children":7089},{"class":3429,"line":3690},[7090],{"type":3144,"tag":3427,"props":7091,"children":7092},{"style":3501},[7093],{"type":3149,"value":7094},");\n",{"type":3144,"tag":3427,"props":7096,"children":7097},{"class":3429,"line":3699},[7098],{"type":3144,"tag":3427,"props":7099,"children":7100},{"emptyLinePlaceholder":1200},[7101],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":7103,"children":7104},{"class":3429,"line":3716},[7105,7109,7113,7118,7123,7128],{"type":3144,"tag":3427,"props":7106,"children":7107},{"style":7027},[7108],{"type":3149,"value":7030},{"type":3144,"tag":3427,"props":7110,"children":7111},{"style":7027},[7112],{"type":3149,"value":7035},{"type":3144,"tag":3427,"props":7114,"children":7115},{"style":3663},[7116],{"type":3149,"value":7117}," IF",{"type":3144,"tag":3427,"props":7119,"children":7120},{"style":7027},[7121],{"type":3149,"value":7122}," NOT",{"type":3144,"tag":3427,"props":7124,"children":7125},{"style":7027},[7126],{"type":3149,"value":7127}," EXISTS",{"type":3144,"tag":3427,"props":7129,"children":7130},{"style":3501},[7131],{"type":3149,"value":7132}," credentials (\n",{"type":3144,"tag":3427,"props":7134,"children":7135},{"class":3429,"line":3049},[7136,7141,7145,7150,7155,7160,7165,7170],{"type":3144,"tag":3427,"props":7137,"children":7138},{"style":3501},[7139],{"type":3149,"value":7140},"  userId ",{"type":3144,"tag":3427,"props":7142,"children":7143},{"style":3578},[7144],{"type":3149,"value":7058},{"type":3144,"tag":3427,"props":7146,"children":7147},{"style":7027},[7148],{"type":3149,"value":7149}," NOT NULL",{"type":3144,"tag":3427,"props":7151,"children":7152},{"style":3578},[7153],{"type":3149,"value":7154}," REFERENCES",{"type":3144,"tag":3427,"props":7156,"children":7157},{"style":3501},[7158],{"type":3149,"value":7159}," users(id) ",{"type":3144,"tag":3427,"props":7161,"children":7162},{"style":3578},[7163],{"type":3149,"value":7164},"ON DELETE CASCADE",{"type":3144,"tag":3427,"props":7166,"children":7167},{"style":3578},[7168],{"type":3149,"value":7169}," ON UPDATE CASCADE",{"type":3144,"tag":3427,"props":7171,"children":7172},{"style":3501},[7173],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":7175,"children":7176},{"class":3429,"line":3045},[7177,7181,7185,7190,7194],{"type":3144,"tag":3427,"props":7178,"children":7179},{"style":3501},[7180],{"type":3149,"value":7053},{"type":3144,"tag":3427,"props":7182,"children":7183},{"style":3578},[7184],{"type":3149,"value":7081},{"type":3144,"tag":3427,"props":7186,"children":7187},{"style":7027},[7188],{"type":3149,"value":7189}," UNIQUE",{"type":3144,"tag":3427,"props":7191,"children":7192},{"style":7027},[7193],{"type":3149,"value":7149},{"type":3144,"tag":3427,"props":7195,"children":7196},{"style":3501},[7197],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":7199,"children":7200},{"class":3429,"line":3041},[7201,7206,7210,7214],{"type":3144,"tag":3427,"props":7202,"children":7203},{"style":3501},[7204],{"type":3149,"value":7205},"  publicKey ",{"type":3144,"tag":3427,"props":7207,"children":7208},{"style":3578},[7209],{"type":3149,"value":7081},{"type":3144,"tag":3427,"props":7211,"children":7212},{"style":7027},[7213],{"type":3149,"value":7149},{"type":3144,"tag":3427,"props":7215,"children":7216},{"style":3501},[7217],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":7219,"children":7220},{"class":3429,"line":3878},[7221,7226,7231,7235],{"type":3144,"tag":3427,"props":7222,"children":7223},{"style":7027},[7224],{"type":3149,"value":7225},"  counter",{"type":3144,"tag":3427,"props":7227,"children":7228},{"style":3578},[7229],{"type":3149,"value":7230}," INTEGER",{"type":3144,"tag":3427,"props":7232,"children":7233},{"style":7027},[7234],{"type":3149,"value":7149},{"type":3144,"tag":3427,"props":7236,"children":7237},{"style":3501},[7238],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":7240,"children":7241},{"class":3429,"line":3132},[7242,7247,7251,7255],{"type":3144,"tag":3427,"props":7243,"children":7244},{"style":3501},[7245],{"type":3149,"value":7246},"  backedUp ",{"type":3144,"tag":3427,"props":7248,"children":7249},{"style":3578},[7250],{"type":3149,"value":7058},{"type":3144,"tag":3427,"props":7252,"children":7253},{"style":7027},[7254],{"type":3149,"value":7149},{"type":3144,"tag":3427,"props":7256,"children":7257},{"style":3501},[7258],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":7260,"children":7261},{"class":3429,"line":3915},[7262,7267,7271,7275],{"type":3144,"tag":3427,"props":7263,"children":7264},{"style":3501},[7265],{"type":3149,"value":7266},"  transports ",{"type":3144,"tag":3427,"props":7268,"children":7269},{"style":3578},[7270],{"type":3149,"value":7081},{"type":3144,"tag":3427,"props":7272,"children":7273},{"style":7027},[7274],{"type":3149,"value":7149},{"type":3144,"tag":3427,"props":7276,"children":7277},{"style":3501},[7278],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":7280,"children":7281},{"class":3429,"line":3948},[7282,7287,7291,7295,7300,7304,7309,7313,7318,7322],{"type":3144,"tag":3427,"props":7283,"children":7284},{"style":3578},[7285],{"type":3149,"value":7286},"  PRIMARY KEY",{"type":3144,"tag":3427,"props":7288,"children":7289},{"style":3501},[7290],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":7292,"children":7293},{"style":3506},[7294],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":7296,"children":7297},{"style":3439},[7298],{"type":3149,"value":7299},"userId",{"type":3144,"tag":3427,"props":7301,"children":7302},{"style":3506},[7303],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":7305,"children":7306},{"style":3501},[7307],{"type":3149,"value":7308},", ",{"type":3144,"tag":3427,"props":7310,"children":7311},{"style":3506},[7312],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":7314,"children":7315},{"style":3439},[7316],{"type":3149,"value":7317},"id",{"type":3144,"tag":3427,"props":7319,"children":7320},{"style":3506},[7321],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":7323,"children":7324},{"style":3501},[7325],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":7327,"children":7328},{"class":3429,"line":4003},[7329],{"type":3144,"tag":3427,"props":7330,"children":7331},{"style":3501},[7332],{"type":3149,"value":7094},{"type":3144,"tag":3201,"props":7334,"children":7335},{},[7336,7349],{"type":3144,"tag":3205,"props":7337,"children":7338},{},[7339,7341,7347],{"type":3149,"value":7340},"For the ",{"type":3144,"tag":3289,"props":7342,"children":7344},{"className":7343},[],[7345],{"type":3149,"value":7346},"users",{"type":3149,"value":7348}," table it is important to have a unique identifier such as a username or email (here we use email). When creating a new credential, this identifier is required and stored with the passkey on the user's device, password manager, or authenticator.",{"type":3144,"tag":3205,"props":7350,"children":7351},{},[7352,7353,7359,7361],{"type":3149,"value":5297},{"type":3144,"tag":3289,"props":7354,"children":7356},{"className":7355},[],[7357],{"type":3149,"value":7358},"credentials",{"type":3149,"value":7360}," table stores:\n",{"type":3144,"tag":3201,"props":7362,"children":7363},{},[7364,7382,7394,7404,7433,7454],{"type":3144,"tag":3205,"props":7365,"children":7366},{},[7367,7368,7373,7375,7380],{"type":3149,"value":5297},{"type":3144,"tag":3289,"props":7369,"children":7371},{"className":7370},[],[7372],{"type":3149,"value":7299},{"type":3149,"value":7374}," from the ",{"type":3144,"tag":3289,"props":7376,"children":7378},{"className":7377},[],[7379],{"type":3149,"value":7346},{"type":3149,"value":7381}," table.",{"type":3144,"tag":3205,"props":7383,"children":7384},{},[7385,7387,7392],{"type":3149,"value":7386},"The credential ",{"type":3144,"tag":3289,"props":7388,"children":7390},{"className":7389},[],[7391],{"type":3149,"value":7317},{"type":3149,"value":7393}," (as unique index)",{"type":3144,"tag":3205,"props":7395,"children":7396},{},[7397,7398],{"type":3149,"value":7386},{"type":3144,"tag":3289,"props":7399,"children":7401},{"className":7400},[],[7402],{"type":3149,"value":7403},"publicKey",{"type":3144,"tag":3205,"props":7405,"children":7406},{},[7407,7409,7415,7417,7422,7424,7431],{"type":3149,"value":7408},"A ",{"type":3144,"tag":3289,"props":7410,"children":7412},{"className":7411},[],[7413],{"type":3149,"value":7414},"counter",{"type":3149,"value":7416},". Each time a credential is used, the counter is incremented. We can use this value to perform extra security checks. More about ",{"type":3144,"tag":3289,"props":7418,"children":7420},{"className":7419},[],[7421],{"type":3149,"value":7414},{"type":3149,"value":7423}," can be read ",{"type":3144,"tag":3155,"props":7425,"children":7428},{"href":7426,"rel":7427},"https:\u002F\u002Fsimplewebauthn.dev\u002Fdocs\u002Fpackages\u002Fserver#3-post-registration-responsibilities",[3159],[7429],{"type":3149,"value":7430},"here",{"type":3149,"value":7432},". For this example, we won't be using the counter. But you should update the counter in your database with the new value.",{"type":3144,"tag":3205,"props":7434,"children":7435},{},[7436,7437,7443,7445,7452],{"type":3149,"value":7408},{"type":3144,"tag":3289,"props":7438,"children":7440},{"className":7439},[],[7441],{"type":3149,"value":7442},"backedUp",{"type":3149,"value":7444}," flag. Normally, credentials are stored on the generating device. When you use a password manager or authenticator, the credential is \"backed up\" because it can be used on multiple devices. See ",{"type":3144,"tag":3155,"props":7446,"children":7449},{"href":7447,"rel":7448},"https:\u002F\u002Farc.net\u002Fl\u002Fquote\u002Fugaemxot",[3159],[7450],{"type":3149,"value":7451},"this section",{"type":3149,"value":7453}," for more details.",{"type":3144,"tag":3205,"props":7455,"children":7456},{},[7457,7458,7464,7466,7472],{"type":3149,"value":7386},{"type":3144,"tag":3289,"props":7459,"children":7461},{"className":7460},[],[7462],{"type":3149,"value":7463},"transports",{"type":3149,"value":7465},". It is an array of strings that indicate how the credential communicates with the client. It is used to show the correct UI for the user to utilize the credential. Again, see ",{"type":3144,"tag":3155,"props":7467,"children":7470},{"href":7468,"rel":7469},"https:\u002F\u002Farc.net\u002Fl\u002Fquote\u002Fycxtiorp",[3159],[7471],{"type":3149,"value":7451},{"type":3149,"value":7453},{"type":3144,"tag":3151,"props":7474,"children":7475},{},[7476,7478,7485,7486,7493,7495,7502],{"type":3149,"value":7477},"The following code does not include the actual database queries, but shows the general steps to follow. The full example can be found in the playground: ",{"type":3144,"tag":3155,"props":7479,"children":7482},{"href":7480,"rel":7481},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fapi\u002Fwebauthn\u002Fregister.post.ts",[3159],[7483],{"type":3149,"value":7484},"registration",{"type":3149,"value":7308},{"type":3144,"tag":3155,"props":7487,"children":7490},{"href":7488,"rel":7489},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fapi\u002Fwebauthn\u002Fauthenticate.post.ts",[3159],[7491],{"type":3149,"value":7492},"authentication",{"type":3149,"value":7494}," and the ",{"type":3144,"tag":3155,"props":7496,"children":7499},{"href":7497,"rel":7498},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fplugins\u002Fdatabase.ts",[3159],[7500],{"type":3149,"value":7501},"database setup",{"type":3149,"value":3382},{"type":3144,"tag":3417,"props":7504,"children":7506},{"className":4105,"code":7505,"language":4107,"meta":3017,"style":3017},"\u002F\u002F server\u002Fapi\u002Fwebauthn\u002Fregister.post.ts\nimport { z } from 'zod'\nexport default defineWebAuthnRegisterEventHandler({\n  \u002F\u002F optional\n  async validateUser(userBody, event) {\n    \u002F\u002F bonus: check if the user is already authenticated to link a credential to his account\n    \u002F\u002F We first check if the user is already authenticated by getting the session\n    \u002F\u002F And verify that the email is the same as the one in session\n    const session = await getUserSession(event)\n    if (session.user?.email && session.user.email !== userBody.userName) {\n      throw createError({ statusCode: 400, message: 'Email not matching curent session' })\n    }\n\n    \u002F\u002F If he registers a new account with credentials\n    return z.object({\n      \u002F\u002F we want the userName to be a valid email\n      userName: z.string().email()\n    }).parse(userBody)\n  },\n  async onSuccess(event, { credential, user }) {\n    \u002F\u002F The credential creation has been successful\n    \u002F\u002F We need to create a user if it does not exist\n    const db = useDatabase()\n\n    \u002F\u002F Get the user from the database\n    let dbUser = await db.sql`...`\n    if (!dbUser) {\n      \u002F\u002F Store new user in database & its credentials\n      dbUser = await db.sql`...`\n    }\n\n    \u002F\u002F we now need to store the credential in our database and link it to the user\n    await db.sql`...`\n\n    \u002F\u002F Set the user session\n    await setUserSession(event, {\n      user: {\n        id: dbUser.id\n      },\n      loggedInAt: Date.now(),\n    })\n  },\n})\n",[7507],{"type":3144,"tag":3289,"props":7508,"children":7509},{"__ignoreMap":3017},[7510,7518,7558,7582,7590,7628,7636,7644,7652,7688,7777,7847,7854,7861,7869,7897,7905,7947,7979,7986,8034,8042,8050,8075,8082,8090,8137,8166,8174,8214,8221,8229,8238,8270,8278,8287,8315,8331,8356,8365,8399,8411,8419],{"type":3144,"tag":3427,"props":7511,"children":7512},{"class":3429,"line":3103},[7513],{"type":3144,"tag":3427,"props":7514,"children":7515},{"style":3492},[7516],{"type":3149,"value":7517},"\u002F\u002F server\u002Fapi\u002Fwebauthn\u002Fregister.post.ts\n",{"type":3144,"tag":3427,"props":7519,"children":7520},{"class":3429,"line":3069},[7521,7526,7530,7535,7540,7545,7549,7554],{"type":3144,"tag":3427,"props":7522,"children":7523},{"style":4689},[7524],{"type":3149,"value":7525},"import",{"type":3144,"tag":3427,"props":7527,"children":7528},{"style":3506},[7529],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":7531,"children":7532},{"style":3501},[7533],{"type":3149,"value":7534}," z",{"type":3144,"tag":3427,"props":7536,"children":7537},{"style":3506},[7538],{"type":3149,"value":7539}," }",{"type":3144,"tag":3427,"props":7541,"children":7542},{"style":4689},[7543],{"type":3149,"value":7544}," from",{"type":3144,"tag":3427,"props":7546,"children":7547},{"style":3506},[7548],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":7550,"children":7551},{"style":3439},[7552],{"type":3149,"value":7553},"zod",{"type":3144,"tag":3427,"props":7555,"children":7556},{"style":3506},[7557],{"type":3149,"value":4759},{"type":3144,"tag":3427,"props":7559,"children":7560},{"class":3429,"line":3053},[7561,7565,7569,7574,7578],{"type":3144,"tag":3427,"props":7562,"children":7563},{"style":4689},[7564],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":7566,"children":7567},{"style":4689},[7568],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":7570,"children":7571},{"style":3663},[7572],{"type":3149,"value":7573}," defineWebAuthnRegisterEventHandler",{"type":3144,"tag":3427,"props":7575,"children":7576},{"style":3501},[7577],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":7579,"children":7580},{"style":3506},[7581],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":7583,"children":7584},{"class":3429,"line":3690},[7585],{"type":3144,"tag":3427,"props":7586,"children":7587},{"style":3492},[7588],{"type":3149,"value":7589},"  \u002F\u002F optional\n",{"type":3144,"tag":3427,"props":7591,"children":7592},{"class":3429,"line":3699},[7593,7597,7602,7606,7611,7615,7620,7624],{"type":3144,"tag":3427,"props":7594,"children":7595},{"style":3578},[7596],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":7598,"children":7599},{"style":3572},[7600],{"type":3149,"value":7601}," validateUser",{"type":3144,"tag":3427,"props":7603,"children":7604},{"style":3506},[7605],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":7607,"children":7608},{"style":4521},[7609],{"type":3149,"value":7610},"userBody",{"type":3144,"tag":3427,"props":7612,"children":7613},{"style":3506},[7614],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":7616,"children":7617},{"style":4521},[7618],{"type":3149,"value":7619}," event",{"type":3144,"tag":3427,"props":7621,"children":7622},{"style":3506},[7623],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":7625,"children":7626},{"style":3506},[7627],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":7629,"children":7630},{"class":3429,"line":3716},[7631],{"type":3144,"tag":3427,"props":7632,"children":7633},{"style":3492},[7634],{"type":3149,"value":7635},"    \u002F\u002F bonus: check if the user is already authenticated to link a credential to his account\n",{"type":3144,"tag":3427,"props":7637,"children":7638},{"class":3429,"line":3049},[7639],{"type":3144,"tag":3427,"props":7640,"children":7641},{"style":3492},[7642],{"type":3149,"value":7643},"    \u002F\u002F We first check if the user is already authenticated by getting the session\n",{"type":3144,"tag":3427,"props":7645,"children":7646},{"class":3429,"line":3045},[7647],{"type":3144,"tag":3427,"props":7648,"children":7649},{"style":3492},[7650],{"type":3149,"value":7651},"    \u002F\u002F And verify that the email is the same as the one in session\n",{"type":3144,"tag":3427,"props":7653,"children":7654},{"class":3429,"line":3041},[7655,7660,7664,7668,7672,7676,7680,7684],{"type":3144,"tag":3427,"props":7656,"children":7657},{"style":3578},[7658],{"type":3149,"value":7659},"    const",{"type":3144,"tag":3427,"props":7661,"children":7662},{"style":3501},[7663],{"type":3149,"value":3623},{"type":3144,"tag":3427,"props":7665,"children":7666},{"style":3506},[7667],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":7669,"children":7670},{"style":4689},[7671],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":7673,"children":7674},{"style":3663},[7675],{"type":3149,"value":4950},{"type":3144,"tag":3427,"props":7677,"children":7678},{"style":3572},[7679],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":7681,"children":7682},{"style":3501},[7683],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":7685,"children":7686},{"style":3572},[7687],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":7689,"children":7690},{"class":3429,"line":3878},[7691,7696,7700,7705,7709,7714,7719,7724,7729,7733,7737,7741,7745,7749,7754,7759,7763,7768,7773],{"type":3144,"tag":3427,"props":7692,"children":7693},{"style":4689},[7694],{"type":3149,"value":7695},"    if",{"type":3144,"tag":3427,"props":7697,"children":7698},{"style":3572},[7699],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":7701,"children":7702},{"style":3501},[7703],{"type":3149,"value":7704},"session",{"type":3144,"tag":3427,"props":7706,"children":7707},{"style":3506},[7708],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7710,"children":7711},{"style":3501},[7712],{"type":3149,"value":7713},"user",{"type":3144,"tag":3427,"props":7715,"children":7716},{"style":3506},[7717],{"type":3149,"value":7718},"?.",{"type":3144,"tag":3427,"props":7720,"children":7721},{"style":3501},[7722],{"type":3149,"value":7723},"email",{"type":3144,"tag":3427,"props":7725,"children":7726},{"style":3506},[7727],{"type":3149,"value":7728}," &&",{"type":3144,"tag":3427,"props":7730,"children":7731},{"style":3501},[7732],{"type":3149,"value":3623},{"type":3144,"tag":3427,"props":7734,"children":7735},{"style":3506},[7736],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7738,"children":7739},{"style":3501},[7740],{"type":3149,"value":7713},{"type":3144,"tag":3427,"props":7742,"children":7743},{"style":3506},[7744],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7746,"children":7747},{"style":3501},[7748],{"type":3149,"value":7723},{"type":3144,"tag":3427,"props":7750,"children":7751},{"style":3506},[7752],{"type":3149,"value":7753}," !==",{"type":3144,"tag":3427,"props":7755,"children":7756},{"style":3501},[7757],{"type":3149,"value":7758}," userBody",{"type":3144,"tag":3427,"props":7760,"children":7761},{"style":3506},[7762],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7764,"children":7765},{"style":3501},[7766],{"type":3149,"value":7767},"userName",{"type":3144,"tag":3427,"props":7769,"children":7770},{"style":3572},[7771],{"type":3149,"value":7772},") ",{"type":3144,"tag":3427,"props":7774,"children":7775},{"style":3506},[7776],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":7778,"children":7779},{"class":3429,"line":3132},[7780,7785,7790,7794,7799,7804,7808,7813,7817,7822,7826,7830,7835,7839,7843],{"type":3144,"tag":3427,"props":7781,"children":7782},{"style":4689},[7783],{"type":3149,"value":7784},"      throw",{"type":3144,"tag":3427,"props":7786,"children":7787},{"style":3663},[7788],{"type":3149,"value":7789}," createError",{"type":3144,"tag":3427,"props":7791,"children":7792},{"style":3572},[7793],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":7795,"children":7796},{"style":3506},[7797],{"type":3149,"value":7798},"{",{"type":3144,"tag":3427,"props":7800,"children":7801},{"style":3572},[7802],{"type":3149,"value":7803}," statusCode",{"type":3144,"tag":3427,"props":7805,"children":7806},{"style":3506},[7807],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":7809,"children":7810},{"style":7027},[7811],{"type":3149,"value":7812}," 400",{"type":3144,"tag":3427,"props":7814,"children":7815},{"style":3506},[7816],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":7818,"children":7819},{"style":3572},[7820],{"type":3149,"value":7821}," message",{"type":3144,"tag":3427,"props":7823,"children":7824},{"style":3506},[7825],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":7827,"children":7828},{"style":3506},[7829],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":7831,"children":7832},{"style":3439},[7833],{"type":3149,"value":7834},"Email not matching curent session",{"type":3144,"tag":3427,"props":7836,"children":7837},{"style":3506},[7838],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":7840,"children":7841},{"style":3506},[7842],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":7844,"children":7845},{"style":3572},[7846],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":7848,"children":7849},{"class":3429,"line":3915},[7850],{"type":3144,"tag":3427,"props":7851,"children":7852},{"style":3506},[7853],{"type":3149,"value":5479},{"type":3144,"tag":3427,"props":7855,"children":7856},{"class":3429,"line":3948},[7857],{"type":3144,"tag":3427,"props":7858,"children":7859},{"emptyLinePlaceholder":1200},[7860],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":7862,"children":7863},{"class":3429,"line":4003},[7864],{"type":3144,"tag":3427,"props":7865,"children":7866},{"style":3492},[7867],{"type":3149,"value":7868},"    \u002F\u002F If he registers a new account with credentials\n",{"type":3144,"tag":3427,"props":7870,"children":7871},{"class":3429,"line":4012},[7872,7876,7880,7884,7889,7893],{"type":3144,"tag":3427,"props":7873,"children":7874},{"style":4689},[7875],{"type":3149,"value":6030},{"type":3144,"tag":3427,"props":7877,"children":7878},{"style":3501},[7879],{"type":3149,"value":7534},{"type":3144,"tag":3427,"props":7881,"children":7882},{"style":3506},[7883],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7885,"children":7886},{"style":3663},[7887],{"type":3149,"value":7888},"object",{"type":3144,"tag":3427,"props":7890,"children":7891},{"style":3572},[7892],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":7894,"children":7895},{"style":3506},[7896],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":7898,"children":7899},{"class":3429,"line":3037},[7900],{"type":3144,"tag":3427,"props":7901,"children":7902},{"style":3492},[7903],{"type":3149,"value":7904},"      \u002F\u002F we want the userName to be a valid email\n",{"type":3144,"tag":3427,"props":7906,"children":7907},{"class":3429,"line":4080},[7908,7913,7917,7921,7925,7930,7935,7939,7943],{"type":3144,"tag":3427,"props":7909,"children":7910},{"style":3572},[7911],{"type":3149,"value":7912},"      userName",{"type":3144,"tag":3427,"props":7914,"children":7915},{"style":3506},[7916],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":7918,"children":7919},{"style":3501},[7920],{"type":3149,"value":7534},{"type":3144,"tag":3427,"props":7922,"children":7923},{"style":3506},[7924],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7926,"children":7927},{"style":3663},[7928],{"type":3149,"value":7929},"string",{"type":3144,"tag":3427,"props":7931,"children":7932},{"style":3572},[7933],{"type":3149,"value":7934},"()",{"type":3144,"tag":3427,"props":7936,"children":7937},{"style":3506},[7938],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7940,"children":7941},{"style":3663},[7942],{"type":3149,"value":7723},{"type":3144,"tag":3427,"props":7944,"children":7945},{"style":3572},[7946],{"type":3149,"value":3671},{"type":3144,"tag":3427,"props":7948,"children":7949},{"class":3429,"line":4350},[7950,7954,7958,7962,7967,7971,7975],{"type":3144,"tag":3427,"props":7951,"children":7952},{"style":3506},[7953],{"type":3149,"value":6018},{"type":3144,"tag":3427,"props":7955,"children":7956},{"style":3572},[7957],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":7959,"children":7960},{"style":3506},[7961],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":7963,"children":7964},{"style":3663},[7965],{"type":3149,"value":7966},"parse",{"type":3144,"tag":3427,"props":7968,"children":7969},{"style":3572},[7970],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":7972,"children":7973},{"style":3501},[7974],{"type":3149,"value":7610},{"type":3144,"tag":3427,"props":7976,"children":7977},{"style":3572},[7978],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":7980,"children":7981},{"class":3429,"line":4358},[7982],{"type":3144,"tag":3427,"props":7983,"children":7984},{"style":3506},[7985],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":7987,"children":7988},{"class":3429,"line":4367},[7989,7993,7997,8001,8005,8009,8013,8018,8022,8026,8030],{"type":3144,"tag":3427,"props":7990,"children":7991},{"style":3578},[7992],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":7994,"children":7995},{"style":3572},[7996],{"type":3149,"value":5896},{"type":3144,"tag":3427,"props":7998,"children":7999},{"style":3506},[8000],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8002,"children":8003},{"style":4521},[8004],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":8006,"children":8007},{"style":3506},[8008],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8010,"children":8011},{"style":3506},[8012],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":8014,"children":8015},{"style":4521},[8016],{"type":3149,"value":8017}," credential",{"type":3144,"tag":3427,"props":8019,"children":8020},{"style":3506},[8021],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8023,"children":8024},{"style":4521},[8025],{"type":3149,"value":3614},{"type":3144,"tag":3427,"props":8027,"children":8028},{"style":3506},[8029],{"type":3149,"value":4587},{"type":3144,"tag":3427,"props":8031,"children":8032},{"style":3506},[8033],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":8035,"children":8036},{"class":3429,"line":4375},[8037],{"type":3144,"tag":3427,"props":8038,"children":8039},{"style":3492},[8040],{"type":3149,"value":8041},"    \u002F\u002F The credential creation has been successful\n",{"type":3144,"tag":3427,"props":8043,"children":8044},{"class":3429,"line":4416},[8045],{"type":3144,"tag":3427,"props":8046,"children":8047},{"style":3492},[8048],{"type":3149,"value":8049},"    \u002F\u002F We need to create a user if it does not exist\n",{"type":3144,"tag":3427,"props":8051,"children":8052},{"class":3429,"line":4424},[8053,8057,8062,8066,8071],{"type":3144,"tag":3427,"props":8054,"children":8055},{"style":3578},[8056],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":8058,"children":8059},{"style":3501},[8060],{"type":3149,"value":8061}," db",{"type":3144,"tag":3427,"props":8063,"children":8064},{"style":3506},[8065],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":8067,"children":8068},{"style":3663},[8069],{"type":3149,"value":8070}," useDatabase",{"type":3144,"tag":3427,"props":8072,"children":8073},{"style":3572},[8074],{"type":3149,"value":3671},{"type":3144,"tag":3427,"props":8076,"children":8077},{"class":3429,"line":4433},[8078],{"type":3144,"tag":3427,"props":8079,"children":8080},{"emptyLinePlaceholder":1200},[8081],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":8083,"children":8084},{"class":3429,"line":4441},[8085],{"type":3144,"tag":3427,"props":8086,"children":8087},{"style":3492},[8088],{"type":3149,"value":8089},"    \u002F\u002F Get the user from the database\n",{"type":3144,"tag":3427,"props":8091,"children":8092},{"class":3429,"line":4478},[8093,8098,8103,8107,8111,8115,8119,8123,8128,8132],{"type":3144,"tag":3427,"props":8094,"children":8095},{"style":3578},[8096],{"type":3149,"value":8097},"    let",{"type":3144,"tag":3427,"props":8099,"children":8100},{"style":3501},[8101],{"type":3149,"value":8102}," dbUser",{"type":3144,"tag":3427,"props":8104,"children":8105},{"style":3506},[8106],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":8108,"children":8109},{"style":4689},[8110],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":8112,"children":8113},{"style":3501},[8114],{"type":3149,"value":8061},{"type":3144,"tag":3427,"props":8116,"children":8117},{"style":3506},[8118],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8120,"children":8121},{"style":3663},[8122],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":8124,"children":8125},{"style":3506},[8126],{"type":3149,"value":8127},"`",{"type":3144,"tag":3427,"props":8129,"children":8130},{"style":3439},[8131],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":8133,"children":8134},{"style":3506},[8135],{"type":3149,"value":8136},"`\n",{"type":3144,"tag":3427,"props":8138,"children":8139},{"class":3429,"line":4486},[8140,8144,8148,8153,8158,8162],{"type":3144,"tag":3427,"props":8141,"children":8142},{"style":4689},[8143],{"type":3149,"value":7695},{"type":3144,"tag":3427,"props":8145,"children":8146},{"style":3572},[8147],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":8149,"children":8150},{"style":3506},[8151],{"type":3149,"value":8152},"!",{"type":3144,"tag":3427,"props":8154,"children":8155},{"style":3501},[8156],{"type":3149,"value":8157},"dbUser",{"type":3144,"tag":3427,"props":8159,"children":8160},{"style":3572},[8161],{"type":3149,"value":7772},{"type":3144,"tag":3427,"props":8163,"children":8164},{"style":3506},[8165],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":8167,"children":8168},{"class":3429,"line":4495},[8169],{"type":3144,"tag":3427,"props":8170,"children":8171},{"style":3492},[8172],{"type":3149,"value":8173},"      \u002F\u002F Store new user in database & its credentials\n",{"type":3144,"tag":3427,"props":8175,"children":8176},{"class":3429,"line":4503},[8177,8182,8186,8190,8194,8198,8202,8206,8210],{"type":3144,"tag":3427,"props":8178,"children":8179},{"style":3501},[8180],{"type":3149,"value":8181},"      dbUser",{"type":3144,"tag":3427,"props":8183,"children":8184},{"style":3506},[8185],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":8187,"children":8188},{"style":4689},[8189],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":8191,"children":8192},{"style":3501},[8193],{"type":3149,"value":8061},{"type":3144,"tag":3427,"props":8195,"children":8196},{"style":3506},[8197],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8199,"children":8200},{"style":3663},[8201],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":8203,"children":8204},{"style":3506},[8205],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":8207,"children":8208},{"style":3439},[8209],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":8211,"children":8212},{"style":3506},[8213],{"type":3149,"value":8136},{"type":3144,"tag":3427,"props":8215,"children":8216},{"class":3429,"line":4599},[8217],{"type":3144,"tag":3427,"props":8218,"children":8219},{"style":3506},[8220],{"type":3149,"value":5479},{"type":3144,"tag":3427,"props":8222,"children":8224},{"class":3429,"line":8223},31,[8225],{"type":3144,"tag":3427,"props":8226,"children":8227},{"emptyLinePlaceholder":1200},[8228],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":8230,"children":8232},{"class":3429,"line":8231},32,[8233],{"type":3144,"tag":3427,"props":8234,"children":8235},{"style":3492},[8236],{"type":3149,"value":8237},"    \u002F\u002F we now need to store the credential in our database and link it to the user\n",{"type":3144,"tag":3427,"props":8239,"children":8241},{"class":3429,"line":8240},33,[8242,8246,8250,8254,8258,8262,8266],{"type":3144,"tag":3427,"props":8243,"children":8244},{"style":4689},[8245],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":8247,"children":8248},{"style":3501},[8249],{"type":3149,"value":8061},{"type":3144,"tag":3427,"props":8251,"children":8252},{"style":3506},[8253],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8255,"children":8256},{"style":3663},[8257],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":8259,"children":8260},{"style":3506},[8261],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":8263,"children":8264},{"style":3439},[8265],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":8267,"children":8268},{"style":3506},[8269],{"type":3149,"value":8136},{"type":3144,"tag":3427,"props":8271,"children":8273},{"class":3429,"line":8272},34,[8274],{"type":3144,"tag":3427,"props":8275,"children":8276},{"emptyLinePlaceholder":1200},[8277],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":8279,"children":8281},{"class":3429,"line":8280},35,[8282],{"type":3144,"tag":3427,"props":8283,"children":8284},{"style":3492},[8285],{"type":3149,"value":8286},"    \u002F\u002F Set the user session\n",{"type":3144,"tag":3427,"props":8288,"children":8290},{"class":3429,"line":8289},36,[8291,8295,8299,8303,8307,8311],{"type":3144,"tag":3427,"props":8292,"children":8293},{"style":4689},[8294],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":8296,"children":8297},{"style":3663},[8298],{"type":3149,"value":4697},{"type":3144,"tag":3427,"props":8300,"children":8301},{"style":3572},[8302],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8304,"children":8305},{"style":3501},[8306],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":8308,"children":8309},{"style":3506},[8310],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8312,"children":8313},{"style":3506},[8314],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":8316,"children":8318},{"class":3429,"line":8317},37,[8319,8323,8327],{"type":3144,"tag":3427,"props":8320,"children":8321},{"style":3572},[8322],{"type":3149,"value":5970},{"type":3144,"tag":3427,"props":8324,"children":8325},{"style":3506},[8326],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8328,"children":8329},{"style":3506},[8330],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":8332,"children":8334},{"class":3429,"line":8333},38,[8335,8340,8344,8348,8352],{"type":3144,"tag":3427,"props":8336,"children":8337},{"style":3572},[8338],{"type":3149,"value":8339},"        id",{"type":3144,"tag":3427,"props":8341,"children":8342},{"style":3506},[8343],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8345,"children":8346},{"style":3501},[8347],{"type":3149,"value":8102},{"type":3144,"tag":3427,"props":8349,"children":8350},{"style":3506},[8351],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8353,"children":8354},{"style":3501},[8355],{"type":3149,"value":6003},{"type":3144,"tag":3427,"props":8357,"children":8359},{"class":3429,"line":8358},39,[8360],{"type":3144,"tag":3427,"props":8361,"children":8362},{"style":3506},[8363],{"type":3149,"value":8364},"      },\n",{"type":3144,"tag":3427,"props":8366,"children":8368},{"class":3429,"line":8367},40,[8369,8374,8378,8382,8386,8391,8395],{"type":3144,"tag":3427,"props":8370,"children":8371},{"style":3572},[8372],{"type":3149,"value":8373},"      loggedInAt",{"type":3144,"tag":3427,"props":8375,"children":8376},{"style":3506},[8377],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8379,"children":8380},{"style":3501},[8381],{"type":3149,"value":4853},{"type":3144,"tag":3427,"props":8383,"children":8384},{"style":3506},[8385],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8387,"children":8388},{"style":3663},[8389],{"type":3149,"value":8390},"now",{"type":3144,"tag":3427,"props":8392,"children":8393},{"style":3572},[8394],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":8396,"children":8397},{"style":3506},[8398],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":8400,"children":8402},{"class":3429,"line":8401},41,[8403,8407],{"type":3144,"tag":3427,"props":8404,"children":8405},{"style":3506},[8406],{"type":3149,"value":6018},{"type":3144,"tag":3427,"props":8408,"children":8409},{"style":3572},[8410],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":8412,"children":8414},{"class":3429,"line":8413},42,[8415],{"type":3144,"tag":3427,"props":8416,"children":8417},{"style":3506},[8418],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":8420,"children":8422},{"class":3429,"line":8421},43,[8423,8427],{"type":3144,"tag":3427,"props":8424,"children":8425},{"style":3506},[8426],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":8428,"children":8429},{"style":3501},[8430],{"type":3149,"value":4869},{"type":3144,"tag":4607,"props":8432,"children":8433},{},[8434],{"type":3144,"tag":3151,"props":8435,"children":8436},{},[8437,8442,8444,8451,8453,8459,8461],{"type":3144,"tag":3427,"props":8438,"children":8439},{},[8440],{"type":3149,"value":8441},"!TIP",{"type":3149,"value":8443},"\nIf you want to plug in and use the ",{"type":3144,"tag":3155,"props":8445,"children":8448},{"href":8446,"rel":8447},"https:\u002F\u002Fgithub.com\u002Fpasskeydeveloper\u002Fpasskey-authenticator-aaguids",[3159],[8449],{"type":3149,"value":8450},"Community sourced list of AAGUIDS",{"type":3149,"value":8452}," to decorate your display of added passkeys, you can access the the ID via ",{"type":3144,"tag":3289,"props":8454,"children":8456},{"className":8455},[],[8457],{"type":3149,"value":8458},"credential.aaguid",{"type":3149,"value":8460}," inside ",{"type":3144,"tag":3289,"props":8462,"children":8464},{"className":8463},[],[8465],{"type":3149,"value":5282},{"type":3144,"tag":3417,"props":8467,"children":8469},{"className":4105,"code":8468,"language":4107,"meta":3017,"style":3017},"\u002F\u002F server\u002Fapi\u002Fwebauthn\u002Fauthenticate.post.ts\nexport default defineWebAuthnAuthenticateEventHandler({\n  \u002F\u002F Optionally, we can prefetch the credentials if the user gives their userName during login\n  async allowCredentials(event, userName) {\n    const credentials = await useDatabase().sql`...`\n    \u002F\u002F If no credentials are found, the authentication cannot be completed\n    if (!credentials.length)\n      throw createError({ statusCode: 400, message: 'User not found' })\n\n    \u002F\u002F If user is found, only allow credentials that are registered\n    \u002F\u002F The browser will automatically try to use the credential that it knows about\n    \u002F\u002F Skipping the step for the user to select a credential for a better user experience\n    return credentials\n    \u002F\u002F example: [{ id: '...' }]\n  },\n  async getCredential(event, credentialId) {\n    \u002F\u002F Look for the credential in our database\n    const credential = await useDatabase().sql`...`\n\n    \u002F\u002F If the credential is not found, there is no account to log in to\n    if (!credential)\n      throw createError({ statusCode: 400, message: 'Credential not found' })\n\n    return credential\n  },\n  async onSuccess(event, { credential, authenticationInfo }) {\n    \u002F\u002F The credential authentication has been successful\n    \u002F\u002F We can look it up in our database and get the corresponding user\n    const db = useDatabase()\n    const user = await db.sql`...`\n\n    \u002F\u002F Update the counter in the database (authenticationInfo.newCounter)\n    await db.sql`...`\n\n    \u002F\u002F Set the user session\n    await setUserSession(event, {\n      user: {\n        id: user.id\n      },\n      loggedInAt: Date.now(),\n    })\n  },\n})\n",[8470],{"type":3144,"tag":3289,"props":8471,"children":8472},{"__ignoreMap":3017},[8473,8481,8505,8513,8550,8598,8606,8638,8702,8709,8717,8725,8733,8745,8753,8760,8797,8805,8852,8859,8867,8891,8955,8962,8974,8981,9029,9037,9045,9068,9111,9118,9126,9157,9164,9171,9198,9213,9236,9243,9274,9285,9292],{"type":3144,"tag":3427,"props":8474,"children":8475},{"class":3429,"line":3103},[8476],{"type":3144,"tag":3427,"props":8477,"children":8478},{"style":3492},[8479],{"type":3149,"value":8480},"\u002F\u002F server\u002Fapi\u002Fwebauthn\u002Fauthenticate.post.ts\n",{"type":3144,"tag":3427,"props":8482,"children":8483},{"class":3429,"line":3069},[8484,8488,8492,8497,8501],{"type":3144,"tag":3427,"props":8485,"children":8486},{"style":4689},[8487],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":8489,"children":8490},{"style":4689},[8491],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":8493,"children":8494},{"style":3663},[8495],{"type":3149,"value":8496}," defineWebAuthnAuthenticateEventHandler",{"type":3144,"tag":3427,"props":8498,"children":8499},{"style":3501},[8500],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8502,"children":8503},{"style":3506},[8504],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":8506,"children":8507},{"class":3429,"line":3053},[8508],{"type":3144,"tag":3427,"props":8509,"children":8510},{"style":3492},[8511],{"type":3149,"value":8512},"  \u002F\u002F Optionally, we can prefetch the credentials if the user gives their userName during login\n",{"type":3144,"tag":3427,"props":8514,"children":8515},{"class":3429,"line":3690},[8516,8520,8525,8529,8533,8537,8542,8546],{"type":3144,"tag":3427,"props":8517,"children":8518},{"style":3578},[8519],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":8521,"children":8522},{"style":3572},[8523],{"type":3149,"value":8524}," allowCredentials",{"type":3144,"tag":3427,"props":8526,"children":8527},{"style":3506},[8528],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8530,"children":8531},{"style":4521},[8532],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":8534,"children":8535},{"style":3506},[8536],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8538,"children":8539},{"style":4521},[8540],{"type":3149,"value":8541}," userName",{"type":3144,"tag":3427,"props":8543,"children":8544},{"style":3506},[8545],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":8547,"children":8548},{"style":3506},[8549],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":8551,"children":8552},{"class":3429,"line":3699},[8553,8557,8562,8566,8570,8574,8578,8582,8586,8590,8594],{"type":3144,"tag":3427,"props":8554,"children":8555},{"style":3578},[8556],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":8558,"children":8559},{"style":3501},[8560],{"type":3149,"value":8561}," credentials",{"type":3144,"tag":3427,"props":8563,"children":8564},{"style":3506},[8565],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":8567,"children":8568},{"style":4689},[8569],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":8571,"children":8572},{"style":3663},[8573],{"type":3149,"value":8070},{"type":3144,"tag":3427,"props":8575,"children":8576},{"style":3572},[8577],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":8579,"children":8580},{"style":3506},[8581],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8583,"children":8584},{"style":3663},[8585],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":8587,"children":8588},{"style":3506},[8589],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":8591,"children":8592},{"style":3439},[8593],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":8595,"children":8596},{"style":3506},[8597],{"type":3149,"value":8136},{"type":3144,"tag":3427,"props":8599,"children":8600},{"class":3429,"line":3716},[8601],{"type":3144,"tag":3427,"props":8602,"children":8603},{"style":3492},[8604],{"type":3149,"value":8605},"    \u002F\u002F If no credentials are found, the authentication cannot be completed\n",{"type":3144,"tag":3427,"props":8607,"children":8608},{"class":3429,"line":3049},[8609,8613,8617,8621,8625,8629,8634],{"type":3144,"tag":3427,"props":8610,"children":8611},{"style":4689},[8612],{"type":3149,"value":7695},{"type":3144,"tag":3427,"props":8614,"children":8615},{"style":3572},[8616],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":8618,"children":8619},{"style":3506},[8620],{"type":3149,"value":8152},{"type":3144,"tag":3427,"props":8622,"children":8623},{"style":3501},[8624],{"type":3149,"value":7358},{"type":3144,"tag":3427,"props":8626,"children":8627},{"style":3506},[8628],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8630,"children":8631},{"style":3501},[8632],{"type":3149,"value":8633},"length",{"type":3144,"tag":3427,"props":8635,"children":8636},{"style":3572},[8637],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":8639,"children":8640},{"class":3429,"line":3045},[8641,8645,8649,8653,8657,8661,8665,8669,8673,8677,8681,8685,8690,8694,8698],{"type":3144,"tag":3427,"props":8642,"children":8643},{"style":4689},[8644],{"type":3149,"value":7784},{"type":3144,"tag":3427,"props":8646,"children":8647},{"style":3663},[8648],{"type":3149,"value":7789},{"type":3144,"tag":3427,"props":8650,"children":8651},{"style":3572},[8652],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8654,"children":8655},{"style":3506},[8656],{"type":3149,"value":7798},{"type":3144,"tag":3427,"props":8658,"children":8659},{"style":3572},[8660],{"type":3149,"value":7803},{"type":3144,"tag":3427,"props":8662,"children":8663},{"style":3506},[8664],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8666,"children":8667},{"style":7027},[8668],{"type":3149,"value":7812},{"type":3144,"tag":3427,"props":8670,"children":8671},{"style":3506},[8672],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8674,"children":8675},{"style":3572},[8676],{"type":3149,"value":7821},{"type":3144,"tag":3427,"props":8678,"children":8679},{"style":3506},[8680],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8682,"children":8683},{"style":3506},[8684],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":8686,"children":8687},{"style":3439},[8688],{"type":3149,"value":8689},"User not found",{"type":3144,"tag":3427,"props":8691,"children":8692},{"style":3506},[8693],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":8695,"children":8696},{"style":3506},[8697],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":8699,"children":8700},{"style":3572},[8701],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":8703,"children":8704},{"class":3429,"line":3041},[8705],{"type":3144,"tag":3427,"props":8706,"children":8707},{"emptyLinePlaceholder":1200},[8708],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":8710,"children":8711},{"class":3429,"line":3878},[8712],{"type":3144,"tag":3427,"props":8713,"children":8714},{"style":3492},[8715],{"type":3149,"value":8716},"    \u002F\u002F If user is found, only allow credentials that are registered\n",{"type":3144,"tag":3427,"props":8718,"children":8719},{"class":3429,"line":3132},[8720],{"type":3144,"tag":3427,"props":8721,"children":8722},{"style":3492},[8723],{"type":3149,"value":8724},"    \u002F\u002F The browser will automatically try to use the credential that it knows about\n",{"type":3144,"tag":3427,"props":8726,"children":8727},{"class":3429,"line":3915},[8728],{"type":3144,"tag":3427,"props":8729,"children":8730},{"style":3492},[8731],{"type":3149,"value":8732},"    \u002F\u002F Skipping the step for the user to select a credential for a better user experience\n",{"type":3144,"tag":3427,"props":8734,"children":8735},{"class":3429,"line":3948},[8736,8740],{"type":3144,"tag":3427,"props":8737,"children":8738},{"style":4689},[8739],{"type":3149,"value":6030},{"type":3144,"tag":3427,"props":8741,"children":8742},{"style":3501},[8743],{"type":3149,"value":8744}," credentials\n",{"type":3144,"tag":3427,"props":8746,"children":8747},{"class":3429,"line":4003},[8748],{"type":3144,"tag":3427,"props":8749,"children":8750},{"style":3492},[8751],{"type":3149,"value":8752},"    \u002F\u002F example: [{ id: '...' }]\n",{"type":3144,"tag":3427,"props":8754,"children":8755},{"class":3429,"line":4012},[8756],{"type":3144,"tag":3427,"props":8757,"children":8758},{"style":3506},[8759],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":8761,"children":8762},{"class":3429,"line":3037},[8763,8767,8772,8776,8780,8784,8789,8793],{"type":3144,"tag":3427,"props":8764,"children":8765},{"style":3578},[8766],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":8768,"children":8769},{"style":3572},[8770],{"type":3149,"value":8771}," getCredential",{"type":3144,"tag":3427,"props":8773,"children":8774},{"style":3506},[8775],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8777,"children":8778},{"style":4521},[8779],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":8781,"children":8782},{"style":3506},[8783],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8785,"children":8786},{"style":4521},[8787],{"type":3149,"value":8788}," credentialId",{"type":3144,"tag":3427,"props":8790,"children":8791},{"style":3506},[8792],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":8794,"children":8795},{"style":3506},[8796],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":8798,"children":8799},{"class":3429,"line":4080},[8800],{"type":3144,"tag":3427,"props":8801,"children":8802},{"style":3492},[8803],{"type":3149,"value":8804},"    \u002F\u002F Look for the credential in our database\n",{"type":3144,"tag":3427,"props":8806,"children":8807},{"class":3429,"line":4350},[8808,8812,8816,8820,8824,8828,8832,8836,8840,8844,8848],{"type":3144,"tag":3427,"props":8809,"children":8810},{"style":3578},[8811],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":8813,"children":8814},{"style":3501},[8815],{"type":3149,"value":8017},{"type":3144,"tag":3427,"props":8817,"children":8818},{"style":3506},[8819],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":8821,"children":8822},{"style":4689},[8823],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":8825,"children":8826},{"style":3663},[8827],{"type":3149,"value":8070},{"type":3144,"tag":3427,"props":8829,"children":8830},{"style":3572},[8831],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":8833,"children":8834},{"style":3506},[8835],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":8837,"children":8838},{"style":3663},[8839],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":8841,"children":8842},{"style":3506},[8843],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":8845,"children":8846},{"style":3439},[8847],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":8849,"children":8850},{"style":3506},[8851],{"type":3149,"value":8136},{"type":3144,"tag":3427,"props":8853,"children":8854},{"class":3429,"line":4358},[8855],{"type":3144,"tag":3427,"props":8856,"children":8857},{"emptyLinePlaceholder":1200},[8858],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":8860,"children":8861},{"class":3429,"line":4367},[8862],{"type":3144,"tag":3427,"props":8863,"children":8864},{"style":3492},[8865],{"type":3149,"value":8866},"    \u002F\u002F If the credential is not found, there is no account to log in to\n",{"type":3144,"tag":3427,"props":8868,"children":8869},{"class":3429,"line":4375},[8870,8874,8878,8882,8887],{"type":3144,"tag":3427,"props":8871,"children":8872},{"style":4689},[8873],{"type":3149,"value":7695},{"type":3144,"tag":3427,"props":8875,"children":8876},{"style":3572},[8877],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":8879,"children":8880},{"style":3506},[8881],{"type":3149,"value":8152},{"type":3144,"tag":3427,"props":8883,"children":8884},{"style":3501},[8885],{"type":3149,"value":8886},"credential",{"type":3144,"tag":3427,"props":8888,"children":8889},{"style":3572},[8890],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":8892,"children":8893},{"class":3429,"line":4416},[8894,8898,8902,8906,8910,8914,8918,8922,8926,8930,8934,8938,8943,8947,8951],{"type":3144,"tag":3427,"props":8895,"children":8896},{"style":4689},[8897],{"type":3149,"value":7784},{"type":3144,"tag":3427,"props":8899,"children":8900},{"style":3663},[8901],{"type":3149,"value":7789},{"type":3144,"tag":3427,"props":8903,"children":8904},{"style":3572},[8905],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8907,"children":8908},{"style":3506},[8909],{"type":3149,"value":7798},{"type":3144,"tag":3427,"props":8911,"children":8912},{"style":3572},[8913],{"type":3149,"value":7803},{"type":3144,"tag":3427,"props":8915,"children":8916},{"style":3506},[8917],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8919,"children":8920},{"style":7027},[8921],{"type":3149,"value":7812},{"type":3144,"tag":3427,"props":8923,"children":8924},{"style":3506},[8925],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":8927,"children":8928},{"style":3572},[8929],{"type":3149,"value":7821},{"type":3144,"tag":3427,"props":8931,"children":8932},{"style":3506},[8933],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":8935,"children":8936},{"style":3506},[8937],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":8939,"children":8940},{"style":3439},[8941],{"type":3149,"value":8942},"Credential not found",{"type":3144,"tag":3427,"props":8944,"children":8945},{"style":3506},[8946],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":8948,"children":8949},{"style":3506},[8950],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":8952,"children":8953},{"style":3572},[8954],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":8956,"children":8957},{"class":3429,"line":4424},[8958],{"type":3144,"tag":3427,"props":8959,"children":8960},{"emptyLinePlaceholder":1200},[8961],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":8963,"children":8964},{"class":3429,"line":4433},[8965,8969],{"type":3144,"tag":3427,"props":8966,"children":8967},{"style":4689},[8968],{"type":3149,"value":6030},{"type":3144,"tag":3427,"props":8970,"children":8971},{"style":3501},[8972],{"type":3149,"value":8973}," credential\n",{"type":3144,"tag":3427,"props":8975,"children":8976},{"class":3429,"line":4441},[8977],{"type":3144,"tag":3427,"props":8978,"children":8979},{"style":3506},[8980],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":8982,"children":8983},{"class":3429,"line":4478},[8984,8988,8992,8996,9000,9004,9008,9012,9016,9021,9025],{"type":3144,"tag":3427,"props":8985,"children":8986},{"style":3578},[8987],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":8989,"children":8990},{"style":3572},[8991],{"type":3149,"value":5896},{"type":3144,"tag":3427,"props":8993,"children":8994},{"style":3506},[8995],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":8997,"children":8998},{"style":4521},[8999],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":9001,"children":9002},{"style":3506},[9003],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9005,"children":9006},{"style":3506},[9007],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":9009,"children":9010},{"style":4521},[9011],{"type":3149,"value":8017},{"type":3144,"tag":3427,"props":9013,"children":9014},{"style":3506},[9015],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9017,"children":9018},{"style":4521},[9019],{"type":3149,"value":9020}," authenticationInfo",{"type":3144,"tag":3427,"props":9022,"children":9023},{"style":3506},[9024],{"type":3149,"value":4587},{"type":3144,"tag":3427,"props":9026,"children":9027},{"style":3506},[9028],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":9030,"children":9031},{"class":3429,"line":4486},[9032],{"type":3144,"tag":3427,"props":9033,"children":9034},{"style":3492},[9035],{"type":3149,"value":9036},"    \u002F\u002F The credential authentication has been successful\n",{"type":3144,"tag":3427,"props":9038,"children":9039},{"class":3429,"line":4495},[9040],{"type":3144,"tag":3427,"props":9041,"children":9042},{"style":3492},[9043],{"type":3149,"value":9044},"    \u002F\u002F We can look it up in our database and get the corresponding user\n",{"type":3144,"tag":3427,"props":9046,"children":9047},{"class":3429,"line":4503},[9048,9052,9056,9060,9064],{"type":3144,"tag":3427,"props":9049,"children":9050},{"style":3578},[9051],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":9053,"children":9054},{"style":3501},[9055],{"type":3149,"value":8061},{"type":3144,"tag":3427,"props":9057,"children":9058},{"style":3506},[9059],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":9061,"children":9062},{"style":3663},[9063],{"type":3149,"value":8070},{"type":3144,"tag":3427,"props":9065,"children":9066},{"style":3572},[9067],{"type":3149,"value":3671},{"type":3144,"tag":3427,"props":9069,"children":9070},{"class":3429,"line":4599},[9071,9075,9079,9083,9087,9091,9095,9099,9103,9107],{"type":3144,"tag":3427,"props":9072,"children":9073},{"style":3578},[9074],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":9076,"children":9077},{"style":3501},[9078],{"type":3149,"value":3614},{"type":3144,"tag":3427,"props":9080,"children":9081},{"style":3506},[9082],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":9084,"children":9085},{"style":4689},[9086],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":9088,"children":9089},{"style":3501},[9090],{"type":3149,"value":8061},{"type":3144,"tag":3427,"props":9092,"children":9093},{"style":3506},[9094],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9096,"children":9097},{"style":3663},[9098],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":9100,"children":9101},{"style":3506},[9102],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":9104,"children":9105},{"style":3439},[9106],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":9108,"children":9109},{"style":3506},[9110],{"type":3149,"value":8136},{"type":3144,"tag":3427,"props":9112,"children":9113},{"class":3429,"line":8223},[9114],{"type":3144,"tag":3427,"props":9115,"children":9116},{"emptyLinePlaceholder":1200},[9117],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":9119,"children":9120},{"class":3429,"line":8231},[9121],{"type":3144,"tag":3427,"props":9122,"children":9123},{"style":3492},[9124],{"type":3149,"value":9125},"    \u002F\u002F Update the counter in the database (authenticationInfo.newCounter)\n",{"type":3144,"tag":3427,"props":9127,"children":9128},{"class":3429,"line":8240},[9129,9133,9137,9141,9145,9149,9153],{"type":3144,"tag":3427,"props":9130,"children":9131},{"style":4689},[9132],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":9134,"children":9135},{"style":3501},[9136],{"type":3149,"value":8061},{"type":3144,"tag":3427,"props":9138,"children":9139},{"style":3506},[9140],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9142,"children":9143},{"style":3663},[9144],{"type":3149,"value":7017},{"type":3144,"tag":3427,"props":9146,"children":9147},{"style":3506},[9148],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":9150,"children":9151},{"style":3439},[9152],{"type":3149,"value":5430},{"type":3144,"tag":3427,"props":9154,"children":9155},{"style":3506},[9156],{"type":3149,"value":8136},{"type":3144,"tag":3427,"props":9158,"children":9159},{"class":3429,"line":8272},[9160],{"type":3144,"tag":3427,"props":9161,"children":9162},{"emptyLinePlaceholder":1200},[9163],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":9165,"children":9166},{"class":3429,"line":8280},[9167],{"type":3144,"tag":3427,"props":9168,"children":9169},{"style":3492},[9170],{"type":3149,"value":8286},{"type":3144,"tag":3427,"props":9172,"children":9173},{"class":3429,"line":8289},[9174,9178,9182,9186,9190,9194],{"type":3144,"tag":3427,"props":9175,"children":9176},{"style":4689},[9177],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":9179,"children":9180},{"style":3663},[9181],{"type":3149,"value":4697},{"type":3144,"tag":3427,"props":9183,"children":9184},{"style":3572},[9185],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9187,"children":9188},{"style":3501},[9189],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":9191,"children":9192},{"style":3506},[9193],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9195,"children":9196},{"style":3506},[9197],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":9199,"children":9200},{"class":3429,"line":8317},[9201,9205,9209],{"type":3144,"tag":3427,"props":9202,"children":9203},{"style":3572},[9204],{"type":3149,"value":5970},{"type":3144,"tag":3427,"props":9206,"children":9207},{"style":3506},[9208],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9210,"children":9211},{"style":3506},[9212],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":9214,"children":9215},{"class":3429,"line":8333},[9216,9220,9224,9228,9232],{"type":3144,"tag":3427,"props":9217,"children":9218},{"style":3572},[9219],{"type":3149,"value":8339},{"type":3144,"tag":3427,"props":9221,"children":9222},{"style":3506},[9223],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9225,"children":9226},{"style":3501},[9227],{"type":3149,"value":3614},{"type":3144,"tag":3427,"props":9229,"children":9230},{"style":3506},[9231],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9233,"children":9234},{"style":3501},[9235],{"type":3149,"value":6003},{"type":3144,"tag":3427,"props":9237,"children":9238},{"class":3429,"line":8358},[9239],{"type":3144,"tag":3427,"props":9240,"children":9241},{"style":3506},[9242],{"type":3149,"value":8364},{"type":3144,"tag":3427,"props":9244,"children":9245},{"class":3429,"line":8367},[9246,9250,9254,9258,9262,9266,9270],{"type":3144,"tag":3427,"props":9247,"children":9248},{"style":3572},[9249],{"type":3149,"value":8373},{"type":3144,"tag":3427,"props":9251,"children":9252},{"style":3506},[9253],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9255,"children":9256},{"style":3501},[9257],{"type":3149,"value":4853},{"type":3144,"tag":3427,"props":9259,"children":9260},{"style":3506},[9261],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9263,"children":9264},{"style":3663},[9265],{"type":3149,"value":8390},{"type":3144,"tag":3427,"props":9267,"children":9268},{"style":3572},[9269],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":9271,"children":9272},{"style":3506},[9273],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":9275,"children":9276},{"class":3429,"line":8401},[9277,9281],{"type":3144,"tag":3427,"props":9278,"children":9279},{"style":3506},[9280],{"type":3149,"value":6018},{"type":3144,"tag":3427,"props":9282,"children":9283},{"style":3572},[9284],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":9286,"children":9287},{"class":3429,"line":8413},[9288],{"type":3144,"tag":3427,"props":9289,"children":9290},{"style":3506},[9291],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":9293,"children":9294},{"class":3429,"line":8421},[9295,9299],{"type":3144,"tag":3427,"props":9296,"children":9297},{"style":3506},[9298],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":9300,"children":9301},{"style":3501},[9302],{"type":3149,"value":4869},{"type":3144,"tag":4607,"props":9304,"children":9305},{},[9306],{"type":3144,"tag":3151,"props":9307,"children":9308},{},[9309,9313,9315,9320,9322,9328,9329,9335],{"type":3144,"tag":3427,"props":9310,"children":9311},{},[9312],{"type":3149,"value":4617},{"type":3149,"value":9314},"\nWebauthn uses challenges to prevent replay attacks. By default, this module does not make use if this feature. If you want to use challenges (",{"type":3144,"tag":4098,"props":9316,"children":9317},{},[9318],{"type":3149,"value":9319},"which is highly recommended",{"type":3149,"value":9321},"), the ",{"type":3144,"tag":3289,"props":9323,"children":9325},{"className":9324},[],[9326],{"type":3149,"value":9327},"storeChallenge",{"type":3149,"value":6259},{"type":3144,"tag":3289,"props":9330,"children":9332},{"className":9331},[],[9333],{"type":3149,"value":9334},"getChallenge",{"type":3149,"value":9336}," functions are provided. An attempt ID is created and sent with each authentication request. You can use this ID to store the challenge in a database or KV store as shown in the example below.",{"type":3144,"tag":4607,"props":9338,"children":9339},{},[9340],{"type":3144,"tag":3417,"props":9341,"children":9343},{"className":4105,"code":9342,"language":4107,"meta":3017,"style":3017},"export default defineWebAuthnAuthenticateEventHandler({\n  async storeChallenge(event, challenge, attemptId) {\n    \u002F\u002F Store the challenge in a KV store or DB\n    await useStorage().setItem(`attempt:${attemptId}`, challenge)\n  },\n  async getChallenge(event, attemptId) {\n    const challenge = await useStorage().getItem(`attempt:${attemptId}`)\n\n    \u002F\u002F Make sure to always remove the attempt because they are single use only!\n    await useStorage().removeItem(`attempt:${attemptId}`)\n\n    if (!challenge)\n      throw createError({ statusCode: 400, message: 'Challenge expired' })\n\n    return challenge\n  },\n  async onSuccess(event, { authenticator }) {\n    \u002F\u002F ...\n  },\n})\n",[9344],{"type":3144,"tag":3289,"props":9345,"children":9346},{"__ignoreMap":3017},[9347,9370,9416,9424,9489,9496,9532,9596,9603,9611,9663,9670,9694,9758,9765,9777,9784,9824,9832,9839],{"type":3144,"tag":3427,"props":9348,"children":9349},{"class":3429,"line":3103},[9350,9354,9358,9362,9366],{"type":3144,"tag":3427,"props":9351,"children":9352},{"style":4689},[9353],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":9355,"children":9356},{"style":4689},[9357],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":9359,"children":9360},{"style":3663},[9361],{"type":3149,"value":8496},{"type":3144,"tag":3427,"props":9363,"children":9364},{"style":3501},[9365],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9367,"children":9368},{"style":3506},[9369],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":9371,"children":9372},{"class":3429,"line":3069},[9373,9377,9382,9386,9390,9394,9399,9403,9408,9412],{"type":3144,"tag":3427,"props":9374,"children":9375},{"style":3578},[9376],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":9378,"children":9379},{"style":3572},[9380],{"type":3149,"value":9381}," storeChallenge",{"type":3144,"tag":3427,"props":9383,"children":9384},{"style":3506},[9385],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9387,"children":9388},{"style":4521},[9389],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":9391,"children":9392},{"style":3506},[9393],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9395,"children":9396},{"style":4521},[9397],{"type":3149,"value":9398}," challenge",{"type":3144,"tag":3427,"props":9400,"children":9401},{"style":3506},[9402],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9404,"children":9405},{"style":4521},[9406],{"type":3149,"value":9407}," attemptId",{"type":3144,"tag":3427,"props":9409,"children":9410},{"style":3506},[9411],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":9413,"children":9414},{"style":3506},[9415],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":9417,"children":9418},{"class":3429,"line":3053},[9419],{"type":3144,"tag":3427,"props":9420,"children":9421},{"style":3492},[9422],{"type":3149,"value":9423},"    \u002F\u002F Store the challenge in a KV store or DB\n",{"type":3144,"tag":3427,"props":9425,"children":9426},{"class":3429,"line":3690},[9427,9431,9436,9440,9444,9449,9453,9457,9462,9467,9472,9477,9481,9485],{"type":3144,"tag":3427,"props":9428,"children":9429},{"style":4689},[9430],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":9432,"children":9433},{"style":3663},[9434],{"type":3149,"value":9435}," useStorage",{"type":3144,"tag":3427,"props":9437,"children":9438},{"style":3572},[9439],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":9441,"children":9442},{"style":3506},[9443],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9445,"children":9446},{"style":3663},[9447],{"type":3149,"value":9448},"setItem",{"type":3144,"tag":3427,"props":9450,"children":9451},{"style":3572},[9452],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9454,"children":9455},{"style":3506},[9456],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":9458,"children":9459},{"style":3439},[9460],{"type":3149,"value":9461},"attempt:",{"type":3144,"tag":3427,"props":9463,"children":9464},{"style":3506},[9465],{"type":3149,"value":9466},"${",{"type":3144,"tag":3427,"props":9468,"children":9469},{"style":3501},[9470],{"type":3149,"value":9471},"attemptId",{"type":3144,"tag":3427,"props":9473,"children":9474},{"style":3506},[9475],{"type":3149,"value":9476},"}`",{"type":3144,"tag":3427,"props":9478,"children":9479},{"style":3506},[9480],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9482,"children":9483},{"style":3501},[9484],{"type":3149,"value":9398},{"type":3144,"tag":3427,"props":9486,"children":9487},{"style":3572},[9488],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":9490,"children":9491},{"class":3429,"line":3699},[9492],{"type":3144,"tag":3427,"props":9493,"children":9494},{"style":3506},[9495],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":9497,"children":9498},{"class":3429,"line":3716},[9499,9503,9508,9512,9516,9520,9524,9528],{"type":3144,"tag":3427,"props":9500,"children":9501},{"style":3578},[9502],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":9504,"children":9505},{"style":3572},[9506],{"type":3149,"value":9507}," getChallenge",{"type":3144,"tag":3427,"props":9509,"children":9510},{"style":3506},[9511],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9513,"children":9514},{"style":4521},[9515],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":9517,"children":9518},{"style":3506},[9519],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9521,"children":9522},{"style":4521},[9523],{"type":3149,"value":9407},{"type":3144,"tag":3427,"props":9525,"children":9526},{"style":3506},[9527],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":9529,"children":9530},{"style":3506},[9531],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":9533,"children":9534},{"class":3429,"line":3049},[9535,9539,9543,9547,9551,9555,9559,9563,9568,9572,9576,9580,9584,9588,9592],{"type":3144,"tag":3427,"props":9536,"children":9537},{"style":3578},[9538],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":9540,"children":9541},{"style":3501},[9542],{"type":3149,"value":9398},{"type":3144,"tag":3427,"props":9544,"children":9545},{"style":3506},[9546],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":9548,"children":9549},{"style":4689},[9550],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":9552,"children":9553},{"style":3663},[9554],{"type":3149,"value":9435},{"type":3144,"tag":3427,"props":9556,"children":9557},{"style":3572},[9558],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":9560,"children":9561},{"style":3506},[9562],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9564,"children":9565},{"style":3663},[9566],{"type":3149,"value":9567},"getItem",{"type":3144,"tag":3427,"props":9569,"children":9570},{"style":3572},[9571],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9573,"children":9574},{"style":3506},[9575],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":9577,"children":9578},{"style":3439},[9579],{"type":3149,"value":9461},{"type":3144,"tag":3427,"props":9581,"children":9582},{"style":3506},[9583],{"type":3149,"value":9466},{"type":3144,"tag":3427,"props":9585,"children":9586},{"style":3501},[9587],{"type":3149,"value":9471},{"type":3144,"tag":3427,"props":9589,"children":9590},{"style":3506},[9591],{"type":3149,"value":9476},{"type":3144,"tag":3427,"props":9593,"children":9594},{"style":3572},[9595],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":9597,"children":9598},{"class":3429,"line":3045},[9599],{"type":3144,"tag":3427,"props":9600,"children":9601},{"emptyLinePlaceholder":1200},[9602],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":9604,"children":9605},{"class":3429,"line":3041},[9606],{"type":3144,"tag":3427,"props":9607,"children":9608},{"style":3492},[9609],{"type":3149,"value":9610},"    \u002F\u002F Make sure to always remove the attempt because they are single use only!\n",{"type":3144,"tag":3427,"props":9612,"children":9613},{"class":3429,"line":3878},[9614,9618,9622,9626,9630,9635,9639,9643,9647,9651,9655,9659],{"type":3144,"tag":3427,"props":9615,"children":9616},{"style":4689},[9617],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":9619,"children":9620},{"style":3663},[9621],{"type":3149,"value":9435},{"type":3144,"tag":3427,"props":9623,"children":9624},{"style":3572},[9625],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":9627,"children":9628},{"style":3506},[9629],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":9631,"children":9632},{"style":3663},[9633],{"type":3149,"value":9634},"removeItem",{"type":3144,"tag":3427,"props":9636,"children":9637},{"style":3572},[9638],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9640,"children":9641},{"style":3506},[9642],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":9644,"children":9645},{"style":3439},[9646],{"type":3149,"value":9461},{"type":3144,"tag":3427,"props":9648,"children":9649},{"style":3506},[9650],{"type":3149,"value":9466},{"type":3144,"tag":3427,"props":9652,"children":9653},{"style":3501},[9654],{"type":3149,"value":9471},{"type":3144,"tag":3427,"props":9656,"children":9657},{"style":3506},[9658],{"type":3149,"value":9476},{"type":3144,"tag":3427,"props":9660,"children":9661},{"style":3572},[9662],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":9664,"children":9665},{"class":3429,"line":3132},[9666],{"type":3144,"tag":3427,"props":9667,"children":9668},{"emptyLinePlaceholder":1200},[9669],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":9671,"children":9672},{"class":3429,"line":3915},[9673,9677,9681,9685,9690],{"type":3144,"tag":3427,"props":9674,"children":9675},{"style":4689},[9676],{"type":3149,"value":7695},{"type":3144,"tag":3427,"props":9678,"children":9679},{"style":3572},[9680],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":9682,"children":9683},{"style":3506},[9684],{"type":3149,"value":8152},{"type":3144,"tag":3427,"props":9686,"children":9687},{"style":3501},[9688],{"type":3149,"value":9689},"challenge",{"type":3144,"tag":3427,"props":9691,"children":9692},{"style":3572},[9693],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":9695,"children":9696},{"class":3429,"line":3948},[9697,9701,9705,9709,9713,9717,9721,9725,9729,9733,9737,9741,9746,9750,9754],{"type":3144,"tag":3427,"props":9698,"children":9699},{"style":4689},[9700],{"type":3149,"value":7784},{"type":3144,"tag":3427,"props":9702,"children":9703},{"style":3663},[9704],{"type":3149,"value":7789},{"type":3144,"tag":3427,"props":9706,"children":9707},{"style":3572},[9708],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9710,"children":9711},{"style":3506},[9712],{"type":3149,"value":7798},{"type":3144,"tag":3427,"props":9714,"children":9715},{"style":3572},[9716],{"type":3149,"value":7803},{"type":3144,"tag":3427,"props":9718,"children":9719},{"style":3506},[9720],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9722,"children":9723},{"style":7027},[9724],{"type":3149,"value":7812},{"type":3144,"tag":3427,"props":9726,"children":9727},{"style":3506},[9728],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9730,"children":9731},{"style":3572},[9732],{"type":3149,"value":7821},{"type":3144,"tag":3427,"props":9734,"children":9735},{"style":3506},[9736],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9738,"children":9739},{"style":3506},[9740],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":9742,"children":9743},{"style":3439},[9744],{"type":3149,"value":9745},"Challenge expired",{"type":3144,"tag":3427,"props":9747,"children":9748},{"style":3506},[9749],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":9751,"children":9752},{"style":3506},[9753],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":9755,"children":9756},{"style":3572},[9757],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":9759,"children":9760},{"class":3429,"line":4003},[9761],{"type":3144,"tag":3427,"props":9762,"children":9763},{"emptyLinePlaceholder":1200},[9764],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":9766,"children":9767},{"class":3429,"line":4012},[9768,9772],{"type":3144,"tag":3427,"props":9769,"children":9770},{"style":4689},[9771],{"type":3149,"value":6030},{"type":3144,"tag":3427,"props":9773,"children":9774},{"style":3501},[9775],{"type":3149,"value":9776}," challenge\n",{"type":3144,"tag":3427,"props":9778,"children":9779},{"class":3429,"line":3037},[9780],{"type":3144,"tag":3427,"props":9781,"children":9782},{"style":3506},[9783],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":9785,"children":9786},{"class":3429,"line":4080},[9787,9791,9795,9799,9803,9807,9811,9816,9820],{"type":3144,"tag":3427,"props":9788,"children":9789},{"style":3578},[9790],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":9792,"children":9793},{"style":3572},[9794],{"type":3149,"value":5896},{"type":3144,"tag":3427,"props":9796,"children":9797},{"style":3506},[9798],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9800,"children":9801},{"style":4521},[9802],{"type":3149,"value":5905},{"type":3144,"tag":3427,"props":9804,"children":9805},{"style":3506},[9806],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9808,"children":9809},{"style":3506},[9810],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":9812,"children":9813},{"style":4521},[9814],{"type":3149,"value":9815}," authenticator",{"type":3144,"tag":3427,"props":9817,"children":9818},{"style":3506},[9819],{"type":3149,"value":4587},{"type":3144,"tag":3427,"props":9821,"children":9822},{"style":3506},[9823],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":9825,"children":9826},{"class":3429,"line":4350},[9827],{"type":3144,"tag":3427,"props":9828,"children":9829},{"style":3492},[9830],{"type":3149,"value":9831},"    \u002F\u002F ...\n",{"type":3144,"tag":3427,"props":9833,"children":9834},{"class":3429,"line":4358},[9835],{"type":3144,"tag":3427,"props":9836,"children":9837},{"style":3506},[9838],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":9840,"children":9841},{"class":3429,"line":4367},[9842,9846],{"type":3144,"tag":3427,"props":9843,"children":9844},{"style":3506},[9845],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":9847,"children":9848},{"style":3501},[9849],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":9851,"children":9852},{},[9853],{"type":3149,"value":9854},"On the frontend it is as simple as:",{"type":3144,"tag":3417,"props":9856,"children":9858},{"className":3555,"code":9857,"language":3557,"meta":3017,"style":3017},"\u003Cscript setup lang=\"ts\">\nconst { register, authenticate } = useWebAuthn({\n  registerEndpoint: '\u002Fapi\u002Fwebauthn\u002Fregister', \u002F\u002F Default\n  authenticateEndpoint: '\u002Fapi\u002Fwebauthn\u002Fauthenticate', \u002F\u002F Default\n})\nconst { fetch: fetchUserSession } = useUserSession()\n\nconst userName = ref('')\nasync function signUp() {\n  await register({ userName: userName.value })\n    .then(fetchUserSession) \u002F\u002F refetch the user session\n}\n\nasync function signIn() {\n  await authenticate(userName.value)\n    .then(fetchUserSession) \u002F\u002F refetch the user session\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"signUp\">\n    \u003Cinput v-model=\"userName\" placeholder=\"Email or username\" \u002F>\n    \u003Cbutton type=\"submit\">Sign up\u003C\u002Fbutton>\n  \u003C\u002Fform>\n  \u003Cform @submit.prevent=\"signIn\">\n    \u003Cinput v-model=\"userName\" placeholder=\"Email or username\" \u002F>\n    \u003Cbutton type=\"submit\">Sign in\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[9859],{"type":3144,"tag":3289,"props":9860,"children":9861},{"__ignoreMap":3017},[9862,9902,9948,9982,10015,10026,10066,10073,10107,10133,10182,10213,10220,10227,10251,10283,10310,10317,10332,10339,10354,10392,10452,10506,10521,10557,10612,10664,10679],{"type":3144,"tag":3427,"props":9863,"children":9864},{"class":3429,"line":3103},[9865,9869,9873,9877,9882,9886,9890,9894,9898],{"type":3144,"tag":3427,"props":9866,"children":9867},{"style":3506},[9868],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":9870,"children":9871},{"style":3572},[9872],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":9874,"children":9875},{"style":3578},[9876],{"type":3149,"value":3581},{"type":3144,"tag":3427,"props":9878,"children":9879},{"style":3578},[9880],{"type":3149,"value":9881}," lang",{"type":3144,"tag":3427,"props":9883,"children":9884},{"style":3506},[9885],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":9887,"children":9888},{"style":3506},[9889],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":9891,"children":9892},{"style":3439},[9893],{"type":3149,"value":4107},{"type":3144,"tag":3427,"props":9895,"children":9896},{"style":3506},[9897],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":9899,"children":9900},{"style":3506},[9901],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":9903,"children":9904},{"class":3429,"line":3069},[9905,9909,9913,9918,9922,9927,9931,9935,9940,9944],{"type":3144,"tag":3427,"props":9906,"children":9907},{"style":3578},[9908],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":9910,"children":9911},{"style":3506},[9912],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":9914,"children":9915},{"style":3501},[9916],{"type":3149,"value":9917}," register",{"type":3144,"tag":3427,"props":9919,"children":9920},{"style":3506},[9921],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9923,"children":9924},{"style":3501},[9925],{"type":3149,"value":9926}," authenticate ",{"type":3144,"tag":3427,"props":9928,"children":9929},{"style":3506},[9930],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":9932,"children":9933},{"style":3506},[9934],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":9936,"children":9937},{"style":3663},[9938],{"type":3149,"value":9939}," useWebAuthn",{"type":3144,"tag":3427,"props":9941,"children":9942},{"style":3501},[9943],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":9945,"children":9946},{"style":3506},[9947],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":9949,"children":9950},{"class":3429,"line":3053},[9951,9956,9960,9964,9969,9973,9977],{"type":3144,"tag":3427,"props":9952,"children":9953},{"style":3572},[9954],{"type":3149,"value":9955},"  registerEndpoint",{"type":3144,"tag":3427,"props":9957,"children":9958},{"style":3506},[9959],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9961,"children":9962},{"style":3506},[9963],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":9965,"children":9966},{"style":3439},[9967],{"type":3149,"value":9968},"\u002Fapi\u002Fwebauthn\u002Fregister",{"type":3144,"tag":3427,"props":9970,"children":9971},{"style":3506},[9972],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":9974,"children":9975},{"style":3506},[9976],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":9978,"children":9979},{"style":3492},[9980],{"type":3149,"value":9981}," \u002F\u002F Default\n",{"type":3144,"tag":3427,"props":9983,"children":9984},{"class":3429,"line":3690},[9985,9990,9994,9998,10003,10007,10011],{"type":3144,"tag":3427,"props":9986,"children":9987},{"style":3572},[9988],{"type":3149,"value":9989},"  authenticateEndpoint",{"type":3144,"tag":3427,"props":9991,"children":9992},{"style":3506},[9993],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":9995,"children":9996},{"style":3506},[9997],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":9999,"children":10000},{"style":3439},[10001],{"type":3149,"value":10002},"\u002Fapi\u002Fwebauthn\u002Fauthenticate",{"type":3144,"tag":3427,"props":10004,"children":10005},{"style":3506},[10006],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":10008,"children":10009},{"style":3506},[10010],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":10012,"children":10013},{"style":3492},[10014],{"type":3149,"value":9981},{"type":3144,"tag":3427,"props":10016,"children":10017},{"class":3429,"line":3699},[10018,10022],{"type":3144,"tag":3427,"props":10019,"children":10020},{"style":3506},[10021],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":10023,"children":10024},{"style":3501},[10025],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":10027,"children":10028},{"class":3429,"line":3716},[10029,10033,10037,10041,10045,10050,10054,10058,10062],{"type":3144,"tag":3427,"props":10030,"children":10031},{"style":3578},[10032],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":10034,"children":10035},{"style":3506},[10036],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":10038,"children":10039},{"style":3572},[10040],{"type":3149,"value":3632},{"type":3144,"tag":3427,"props":10042,"children":10043},{"style":3506},[10044],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":10046,"children":10047},{"style":3501},[10048],{"type":3149,"value":10049}," fetchUserSession ",{"type":3144,"tag":3427,"props":10051,"children":10052},{"style":3506},[10053],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":10055,"children":10056},{"style":3506},[10057],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":10059,"children":10060},{"style":3663},[10061],{"type":3149,"value":3666},{"type":3144,"tag":3427,"props":10063,"children":10064},{"style":3501},[10065],{"type":3149,"value":3671},{"type":3144,"tag":3427,"props":10067,"children":10068},{"class":3429,"line":3049},[10069],{"type":3144,"tag":3427,"props":10070,"children":10071},{"emptyLinePlaceholder":1200},[10072],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":10074,"children":10075},{"class":3429,"line":3045},[10076,10080,10085,10089,10094,10098,10103],{"type":3144,"tag":3427,"props":10077,"children":10078},{"style":3578},[10079],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":10081,"children":10082},{"style":3501},[10083],{"type":3149,"value":10084}," userName ",{"type":3144,"tag":3427,"props":10086,"children":10087},{"style":3506},[10088],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10090,"children":10091},{"style":3663},[10092],{"type":3149,"value":10093}," ref",{"type":3144,"tag":3427,"props":10095,"children":10096},{"style":3501},[10097],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10099,"children":10100},{"style":3506},[10101],{"type":3149,"value":10102},"''",{"type":3144,"tag":3427,"props":10104,"children":10105},{"style":3501},[10106],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":10108,"children":10109},{"class":3429,"line":3041},[10110,10115,10120,10125,10129],{"type":3144,"tag":3427,"props":10111,"children":10112},{"style":3578},[10113],{"type":3149,"value":10114},"async",{"type":3144,"tag":3427,"props":10116,"children":10117},{"style":3578},[10118],{"type":3149,"value":10119}," function",{"type":3144,"tag":3427,"props":10121,"children":10122},{"style":3663},[10123],{"type":3149,"value":10124}," signUp",{"type":3144,"tag":3427,"props":10126,"children":10127},{"style":3506},[10128],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":10130,"children":10131},{"style":3506},[10132],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":10134,"children":10135},{"class":3429,"line":3878},[10136,10141,10145,10149,10153,10157,10161,10165,10169,10174,10178],{"type":3144,"tag":3427,"props":10137,"children":10138},{"style":4689},[10139],{"type":3149,"value":10140},"  await",{"type":3144,"tag":3427,"props":10142,"children":10143},{"style":3663},[10144],{"type":3149,"value":9917},{"type":3144,"tag":3427,"props":10146,"children":10147},{"style":3572},[10148],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10150,"children":10151},{"style":3506},[10152],{"type":3149,"value":7798},{"type":3144,"tag":3427,"props":10154,"children":10155},{"style":3572},[10156],{"type":3149,"value":8541},{"type":3144,"tag":3427,"props":10158,"children":10159},{"style":3506},[10160],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":10162,"children":10163},{"style":3501},[10164],{"type":3149,"value":8541},{"type":3144,"tag":3427,"props":10166,"children":10167},{"style":3506},[10168],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":10170,"children":10171},{"style":3501},[10172],{"type":3149,"value":10173},"value",{"type":3144,"tag":3427,"props":10175,"children":10176},{"style":3506},[10177],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":10179,"children":10180},{"style":3572},[10181],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":10183,"children":10184},{"class":3429,"line":3132},[10185,10190,10195,10199,10204,10208],{"type":3144,"tag":3427,"props":10186,"children":10187},{"style":3506},[10188],{"type":3149,"value":10189},"    .",{"type":3144,"tag":3427,"props":10191,"children":10192},{"style":3663},[10193],{"type":3149,"value":10194},"then",{"type":3144,"tag":3427,"props":10196,"children":10197},{"style":3572},[10198],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10200,"children":10201},{"style":3501},[10202],{"type":3149,"value":10203},"fetchUserSession",{"type":3144,"tag":3427,"props":10205,"children":10206},{"style":3572},[10207],{"type":3149,"value":7772},{"type":3144,"tag":3427,"props":10209,"children":10210},{"style":3492},[10211],{"type":3149,"value":10212},"\u002F\u002F refetch the user session\n",{"type":3144,"tag":3427,"props":10214,"children":10215},{"class":3429,"line":3915},[10216],{"type":3144,"tag":3427,"props":10217,"children":10218},{"style":3506},[10219],{"type":3149,"value":4605},{"type":3144,"tag":3427,"props":10221,"children":10222},{"class":3429,"line":3948},[10223],{"type":3144,"tag":3427,"props":10224,"children":10225},{"emptyLinePlaceholder":1200},[10226],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":10228,"children":10229},{"class":3429,"line":4003},[10230,10234,10238,10243,10247],{"type":3144,"tag":3427,"props":10231,"children":10232},{"style":3578},[10233],{"type":3149,"value":10114},{"type":3144,"tag":3427,"props":10235,"children":10236},{"style":3578},[10237],{"type":3149,"value":10119},{"type":3144,"tag":3427,"props":10239,"children":10240},{"style":3663},[10241],{"type":3149,"value":10242}," signIn",{"type":3144,"tag":3427,"props":10244,"children":10245},{"style":3506},[10246],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":10248,"children":10249},{"style":3506},[10250],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":10252,"children":10253},{"class":3429,"line":4012},[10254,10258,10263,10267,10271,10275,10279],{"type":3144,"tag":3427,"props":10255,"children":10256},{"style":4689},[10257],{"type":3149,"value":10140},{"type":3144,"tag":3427,"props":10259,"children":10260},{"style":3663},[10261],{"type":3149,"value":10262}," authenticate",{"type":3144,"tag":3427,"props":10264,"children":10265},{"style":3572},[10266],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10268,"children":10269},{"style":3501},[10270],{"type":3149,"value":7767},{"type":3144,"tag":3427,"props":10272,"children":10273},{"style":3506},[10274],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":10276,"children":10277},{"style":3501},[10278],{"type":3149,"value":10173},{"type":3144,"tag":3427,"props":10280,"children":10281},{"style":3572},[10282],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":10284,"children":10285},{"class":3429,"line":3037},[10286,10290,10294,10298,10302,10306],{"type":3144,"tag":3427,"props":10287,"children":10288},{"style":3506},[10289],{"type":3149,"value":10189},{"type":3144,"tag":3427,"props":10291,"children":10292},{"style":3663},[10293],{"type":3149,"value":10194},{"type":3144,"tag":3427,"props":10295,"children":10296},{"style":3572},[10297],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10299,"children":10300},{"style":3501},[10301],{"type":3149,"value":10203},{"type":3144,"tag":3427,"props":10303,"children":10304},{"style":3572},[10305],{"type":3149,"value":7772},{"type":3144,"tag":3427,"props":10307,"children":10308},{"style":3492},[10309],{"type":3149,"value":10212},{"type":3144,"tag":3427,"props":10311,"children":10312},{"class":3429,"line":4080},[10313],{"type":3144,"tag":3427,"props":10314,"children":10315},{"style":3506},[10316],{"type":3149,"value":4605},{"type":3144,"tag":3427,"props":10318,"children":10319},{"class":3429,"line":4350},[10320,10324,10328],{"type":3144,"tag":3427,"props":10321,"children":10322},{"style":3506},[10323],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":10325,"children":10326},{"style":3572},[10327],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":10329,"children":10330},{"style":3506},[10331],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10333,"children":10334},{"class":3429,"line":4358},[10335],{"type":3144,"tag":3427,"props":10336,"children":10337},{"emptyLinePlaceholder":1200},[10338],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":10340,"children":10341},{"class":3429,"line":4367},[10342,10346,10350],{"type":3144,"tag":3427,"props":10343,"children":10344},{"style":3506},[10345],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":10347,"children":10348},{"style":3572},[10349],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":10351,"children":10352},{"style":3506},[10353],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10355,"children":10356},{"class":3429,"line":4375},[10357,10361,10366,10371,10375,10379,10384,10388],{"type":3144,"tag":3427,"props":10358,"children":10359},{"style":3506},[10360],{"type":3149,"value":3722},{"type":3144,"tag":3427,"props":10362,"children":10363},{"style":3572},[10364],{"type":3149,"value":10365},"form",{"type":3144,"tag":3427,"props":10367,"children":10368},{"style":3578},[10369],{"type":3149,"value":10370}," @submit.prevent",{"type":3144,"tag":3427,"props":10372,"children":10373},{"style":3506},[10374],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10376,"children":10377},{"style":3506},[10378],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10380,"children":10381},{"style":3439},[10382],{"type":3149,"value":10383},"signUp",{"type":3144,"tag":3427,"props":10385,"children":10386},{"style":3506},[10387],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10389,"children":10390},{"style":3506},[10391],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10393,"children":10394},{"class":3429,"line":4416},[10395,10399,10404,10409,10413,10417,10421,10425,10430,10434,10438,10443,10447],{"type":3144,"tag":3427,"props":10396,"children":10397},{"style":3506},[10398],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":10400,"children":10401},{"style":3572},[10402],{"type":3149,"value":10403},"input",{"type":3144,"tag":3427,"props":10405,"children":10406},{"style":3578},[10407],{"type":3149,"value":10408}," v-model",{"type":3144,"tag":3427,"props":10410,"children":10411},{"style":3506},[10412],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10414,"children":10415},{"style":3506},[10416],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10418,"children":10419},{"style":3439},[10420],{"type":3149,"value":7767},{"type":3144,"tag":3427,"props":10422,"children":10423},{"style":3506},[10424],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10426,"children":10427},{"style":3578},[10428],{"type":3149,"value":10429}," placeholder",{"type":3144,"tag":3427,"props":10431,"children":10432},{"style":3506},[10433],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10435,"children":10436},{"style":3506},[10437],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10439,"children":10440},{"style":3439},[10441],{"type":3149,"value":10442},"Email or username",{"type":3144,"tag":3427,"props":10444,"children":10445},{"style":3506},[10446],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10448,"children":10449},{"style":3506},[10450],{"type":3149,"value":10451}," \u002F>\n",{"type":3144,"tag":3427,"props":10453,"children":10454},{"class":3429,"line":4424},[10455,10459,10463,10468,10472,10476,10481,10485,10489,10494,10498,10502],{"type":3144,"tag":3427,"props":10456,"children":10457},{"style":3506},[10458],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":10460,"children":10461},{"style":3572},[10462],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":10464,"children":10465},{"style":3578},[10466],{"type":3149,"value":10467}," type",{"type":3144,"tag":3427,"props":10469,"children":10470},{"style":3506},[10471],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10473,"children":10474},{"style":3506},[10475],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10477,"children":10478},{"style":3439},[10479],{"type":3149,"value":10480},"submit",{"type":3144,"tag":3427,"props":10482,"children":10483},{"style":3506},[10484],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10486,"children":10487},{"style":3506},[10488],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":10490,"children":10491},{"style":3501},[10492],{"type":3149,"value":10493},"Sign up",{"type":3144,"tag":3427,"props":10495,"children":10496},{"style":3506},[10497],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":10499,"children":10500},{"style":3572},[10501],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":10503,"children":10504},{"style":3506},[10505],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10507,"children":10508},{"class":3429,"line":4433},[10509,10513,10517],{"type":3144,"tag":3427,"props":10510,"children":10511},{"style":3506},[10512],{"type":3149,"value":3884},{"type":3144,"tag":3427,"props":10514,"children":10515},{"style":3572},[10516],{"type":3149,"value":10365},{"type":3144,"tag":3427,"props":10518,"children":10519},{"style":3506},[10520],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10522,"children":10523},{"class":3429,"line":4441},[10524,10528,10532,10536,10540,10544,10549,10553],{"type":3144,"tag":3427,"props":10525,"children":10526},{"style":3506},[10527],{"type":3149,"value":3722},{"type":3144,"tag":3427,"props":10529,"children":10530},{"style":3572},[10531],{"type":3149,"value":10365},{"type":3144,"tag":3427,"props":10533,"children":10534},{"style":3578},[10535],{"type":3149,"value":10370},{"type":3144,"tag":3427,"props":10537,"children":10538},{"style":3506},[10539],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10541,"children":10542},{"style":3506},[10543],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10545,"children":10546},{"style":3439},[10547],{"type":3149,"value":10548},"signIn",{"type":3144,"tag":3427,"props":10550,"children":10551},{"style":3506},[10552],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10554,"children":10555},{"style":3506},[10556],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10558,"children":10559},{"class":3429,"line":4478},[10560,10564,10568,10572,10576,10580,10584,10588,10592,10596,10600,10604,10608],{"type":3144,"tag":3427,"props":10561,"children":10562},{"style":3506},[10563],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":10565,"children":10566},{"style":3572},[10567],{"type":3149,"value":10403},{"type":3144,"tag":3427,"props":10569,"children":10570},{"style":3578},[10571],{"type":3149,"value":10408},{"type":3144,"tag":3427,"props":10573,"children":10574},{"style":3506},[10575],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10577,"children":10578},{"style":3506},[10579],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10581,"children":10582},{"style":3439},[10583],{"type":3149,"value":7767},{"type":3144,"tag":3427,"props":10585,"children":10586},{"style":3506},[10587],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10589,"children":10590},{"style":3578},[10591],{"type":3149,"value":10429},{"type":3144,"tag":3427,"props":10593,"children":10594},{"style":3506},[10595],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10597,"children":10598},{"style":3506},[10599],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10601,"children":10602},{"style":3439},[10603],{"type":3149,"value":10442},{"type":3144,"tag":3427,"props":10605,"children":10606},{"style":3506},[10607],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10609,"children":10610},{"style":3506},[10611],{"type":3149,"value":10451},{"type":3144,"tag":3427,"props":10613,"children":10614},{"class":3429,"line":4486},[10615,10619,10623,10627,10631,10635,10639,10643,10647,10652,10656,10660],{"type":3144,"tag":3427,"props":10616,"children":10617},{"style":3506},[10618],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":10620,"children":10621},{"style":3572},[10622],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":10624,"children":10625},{"style":3578},[10626],{"type":3149,"value":10467},{"type":3144,"tag":3427,"props":10628,"children":10629},{"style":3506},[10630],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":10632,"children":10633},{"style":3506},[10634],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10636,"children":10637},{"style":3439},[10638],{"type":3149,"value":10480},{"type":3144,"tag":3427,"props":10640,"children":10641},{"style":3506},[10642],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":10644,"children":10645},{"style":3506},[10646],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":10648,"children":10649},{"style":3501},[10650],{"type":3149,"value":10651},"Sign in",{"type":3144,"tag":3427,"props":10653,"children":10654},{"style":3506},[10655],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":10657,"children":10658},{"style":3572},[10659],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":10661,"children":10662},{"style":3506},[10663],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10665,"children":10666},{"class":3429,"line":4495},[10667,10671,10675],{"type":3144,"tag":3427,"props":10668,"children":10669},{"style":3506},[10670],{"type":3149,"value":3884},{"type":3144,"tag":3427,"props":10672,"children":10673},{"style":3572},[10674],{"type":3149,"value":10365},{"type":3144,"tag":3427,"props":10676,"children":10677},{"style":3506},[10678],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":10680,"children":10681},{"class":3429,"line":4503},[10682,10686,10690],{"type":3144,"tag":3427,"props":10683,"children":10684},{"style":3506},[10685],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":10687,"children":10688},{"style":3572},[10689],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":10691,"children":10692},{"style":3506},[10693],{"type":3149,"value":3586},{"type":3144,"tag":3151,"props":10695,"children":10696},{},[10697,10699,10710],{"type":3149,"value":10698},"Take a look at the ",{"type":3144,"tag":3155,"props":10700,"children":10703},{"href":10701,"rel":10702},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fcomponents\u002FWebAuthnModal.vue",[3159],[10704],{"type":3144,"tag":3289,"props":10705,"children":10707},{"className":10706},[],[10708],{"type":3149,"value":10709},"WebAuthnModal.vue",{"type":3149,"value":10711}," for a full example.",{"type":3144,"tag":5533,"props":10713,"children":10715},{"id":10714},"demo",[10716],{"type":3149,"value":10717},"Demo",{"type":3144,"tag":3151,"props":10719,"children":10720},{},[10721,10723,10729,10731,10738,10739,10746],{"type":3149,"value":10722},"A full demo can be found on ",{"type":3144,"tag":3155,"props":10724,"children":10727},{"href":10725,"rel":10726},"https:\u002F\u002Ftodo-passkeys.nuxt.dev",[3159],[10728],{"type":3149,"value":10725},{"type":3149,"value":10730}," using ",{"type":3144,"tag":3155,"props":10732,"children":10735},{"href":10733,"rel":10734},"https:\u002F\u002Form.drizzle.team\u002F",[3159],[10736],{"type":3149,"value":10737},"Drizzle ORM",{"type":3149,"value":6259},{"type":3144,"tag":3155,"props":10740,"children":10743},{"href":10741,"rel":10742},"https:\u002F\u002Fhub.nuxt.com",[3159],[10744],{"type":3149,"value":10745},"NuxtHub",{"type":3149,"value":3382},{"type":3144,"tag":3151,"props":10748,"children":10749},{},[10750,10752,10757],{"type":3149,"value":10751},"The source code of the demo is available on ",{"type":3144,"tag":3155,"props":10753,"children":10755},{"href":3229,"rel":10754},[3159],[10756],{"type":3149,"value":3229},{"type":3149,"value":3382},{"type":3144,"tag":3547,"props":10759,"children":10761},{"id":10760},"extend-session",[10762],{"type":3149,"value":10763},"Extend Session",{"type":3144,"tag":3151,"props":10765,"children":10766},{},[10767],{"type":3149,"value":10768},"We leverage hooks to let you extend the session data with your own data or log when the user clears the session.",{"type":3144,"tag":3417,"props":10770,"children":10772},{"className":4105,"code":10771,"language":4107,"meta":3017,"style":3017},"\u002F\u002F server\u002Fplugins\u002Fsession.ts\nexport default defineNitroPlugin(() => {\n  \u002F\u002F Called when the session is fetched during SSR for the Vue composable (\u002Fapi\u002F_auth\u002Fsession)\n  \u002F\u002F Or when we call useUserSession().fetch()\n  sessionHooks.hook('fetch', async (session, event) => {\n    \u002F\u002F extend User Session by calling your database\n    \u002F\u002F or\n    \u002F\u002F throw createError({ ... }) if session is invalid for example\n  })\n\n  \u002F\u002F Called when we call useUserSession().clear() or clearUserSession(event)\n  sessionHooks.hook('clear', async (session, event) => {\n    \u002F\u002F Log that user logged out\n  })\n})\n",[10773],{"type":3144,"tag":3289,"props":10774,"children":10775},{"__ignoreMap":3017},[10776,10784,10816,10824,10832,10903,10911,10919,10927,10939,10946,10954,11021,11029,11040],{"type":3144,"tag":3427,"props":10777,"children":10778},{"class":3429,"line":3103},[10779],{"type":3144,"tag":3427,"props":10780,"children":10781},{"style":3492},[10782],{"type":3149,"value":10783},"\u002F\u002F server\u002Fplugins\u002Fsession.ts\n",{"type":3144,"tag":3427,"props":10785,"children":10786},{"class":3429,"line":3069},[10787,10791,10795,10800,10804,10808,10812],{"type":3144,"tag":3427,"props":10788,"children":10789},{"style":4689},[10790],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":10792,"children":10793},{"style":4689},[10794],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":10796,"children":10797},{"style":3663},[10798],{"type":3149,"value":10799}," defineNitroPlugin",{"type":3144,"tag":3427,"props":10801,"children":10802},{"style":3501},[10803],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10805,"children":10806},{"style":3506},[10807],{"type":3149,"value":7934},{"type":3144,"tag":3427,"props":10809,"children":10810},{"style":3578},[10811],{"type":3149,"value":4395},{"type":3144,"tag":3427,"props":10813,"children":10814},{"style":3506},[10815],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":10817,"children":10818},{"class":3429,"line":3053},[10819],{"type":3144,"tag":3427,"props":10820,"children":10821},{"style":3492},[10822],{"type":3149,"value":10823},"  \u002F\u002F Called when the session is fetched during SSR for the Vue composable (\u002Fapi\u002F_auth\u002Fsession)\n",{"type":3144,"tag":3427,"props":10825,"children":10826},{"class":3429,"line":3690},[10827],{"type":3144,"tag":3427,"props":10828,"children":10829},{"style":3492},[10830],{"type":3149,"value":10831},"  \u002F\u002F Or when we call useUserSession().fetch()\n",{"type":3144,"tag":3427,"props":10833,"children":10834},{"class":3429,"line":3699},[10835,10840,10844,10849,10853,10857,10862,10866,10870,10875,10879,10883,10887,10891,10895,10899],{"type":3144,"tag":3427,"props":10836,"children":10837},{"style":3501},[10838],{"type":3149,"value":10839},"  sessionHooks",{"type":3144,"tag":3427,"props":10841,"children":10842},{"style":3506},[10843],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":10845,"children":10846},{"style":3663},[10847],{"type":3149,"value":10848},"hook",{"type":3144,"tag":3427,"props":10850,"children":10851},{"style":3572},[10852],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10854,"children":10855},{"style":3506},[10856],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":10858,"children":10859},{"style":3439},[10860],{"type":3149,"value":10861},"fetch",{"type":3144,"tag":3427,"props":10863,"children":10864},{"style":3506},[10865],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":10867,"children":10868},{"style":3506},[10869],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":10871,"children":10872},{"style":3578},[10873],{"type":3149,"value":10874}," async",{"type":3144,"tag":3427,"props":10876,"children":10877},{"style":3506},[10878],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":10880,"children":10881},{"style":4521},[10882],{"type":3149,"value":7704},{"type":3144,"tag":3427,"props":10884,"children":10885},{"style":3506},[10886],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":10888,"children":10889},{"style":4521},[10890],{"type":3149,"value":7619},{"type":3144,"tag":3427,"props":10892,"children":10893},{"style":3506},[10894],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":10896,"children":10897},{"style":3578},[10898],{"type":3149,"value":4395},{"type":3144,"tag":3427,"props":10900,"children":10901},{"style":3506},[10902],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":10904,"children":10905},{"class":3429,"line":3716},[10906],{"type":3144,"tag":3427,"props":10907,"children":10908},{"style":3492},[10909],{"type":3149,"value":10910},"    \u002F\u002F extend User Session by calling your database\n",{"type":3144,"tag":3427,"props":10912,"children":10913},{"class":3429,"line":3049},[10914],{"type":3144,"tag":3427,"props":10915,"children":10916},{"style":3492},[10917],{"type":3149,"value":10918},"    \u002F\u002F or\n",{"type":3144,"tag":3427,"props":10920,"children":10921},{"class":3429,"line":3045},[10922],{"type":3144,"tag":3427,"props":10923,"children":10924},{"style":3492},[10925],{"type":3149,"value":10926},"    \u002F\u002F throw createError({ ... }) if session is invalid for example\n",{"type":3144,"tag":3427,"props":10928,"children":10929},{"class":3429,"line":3041},[10930,10935],{"type":3144,"tag":3427,"props":10931,"children":10932},{"style":3506},[10933],{"type":3149,"value":10934},"  }",{"type":3144,"tag":3427,"props":10936,"children":10937},{"style":3572},[10938],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":10940,"children":10941},{"class":3429,"line":3878},[10942],{"type":3144,"tag":3427,"props":10943,"children":10944},{"emptyLinePlaceholder":1200},[10945],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":10947,"children":10948},{"class":3429,"line":3132},[10949],{"type":3144,"tag":3427,"props":10950,"children":10951},{"style":3492},[10952],{"type":3149,"value":10953},"  \u002F\u002F Called when we call useUserSession().clear() or clearUserSession(event)\n",{"type":3144,"tag":3427,"props":10955,"children":10956},{"class":3429,"line":3915},[10957,10961,10965,10969,10973,10977,10981,10985,10989,10993,10997,11001,11005,11009,11013,11017],{"type":3144,"tag":3427,"props":10958,"children":10959},{"style":3501},[10960],{"type":3149,"value":10839},{"type":3144,"tag":3427,"props":10962,"children":10963},{"style":3506},[10964],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":10966,"children":10967},{"style":3663},[10968],{"type":3149,"value":10848},{"type":3144,"tag":3427,"props":10970,"children":10971},{"style":3572},[10972],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":10974,"children":10975},{"style":3506},[10976],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":10978,"children":10979},{"style":3439},[10980],{"type":3149,"value":3850},{"type":3144,"tag":3427,"props":10982,"children":10983},{"style":3506},[10984],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":10986,"children":10987},{"style":3506},[10988],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":10990,"children":10991},{"style":3578},[10992],{"type":3149,"value":10874},{"type":3144,"tag":3427,"props":10994,"children":10995},{"style":3506},[10996],{"type":3149,"value":4518},{"type":3144,"tag":3427,"props":10998,"children":10999},{"style":4521},[11000],{"type":3149,"value":7704},{"type":3144,"tag":3427,"props":11002,"children":11003},{"style":3506},[11004],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":11006,"children":11007},{"style":4521},[11008],{"type":3149,"value":7619},{"type":3144,"tag":3427,"props":11010,"children":11011},{"style":3506},[11012],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":11014,"children":11015},{"style":3578},[11016],{"type":3149,"value":4395},{"type":3144,"tag":3427,"props":11018,"children":11019},{"style":3506},[11020],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":11022,"children":11023},{"class":3429,"line":3948},[11024],{"type":3144,"tag":3427,"props":11025,"children":11026},{"style":3492},[11027],{"type":3149,"value":11028},"    \u002F\u002F Log that user logged out\n",{"type":3144,"tag":3427,"props":11030,"children":11031},{"class":3429,"line":4003},[11032,11036],{"type":3144,"tag":3427,"props":11033,"children":11034},{"style":3506},[11035],{"type":3149,"value":10934},{"type":3144,"tag":3427,"props":11037,"children":11038},{"style":3572},[11039],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":11041,"children":11042},{"class":3429,"line":4012},[11043,11047],{"type":3144,"tag":3427,"props":11044,"children":11045},{"style":3506},[11046],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":11048,"children":11049},{"style":3501},[11050],{"type":3149,"value":4869},{"type":3144,"tag":3235,"props":11052,"children":11054},{"id":11053},"server-side-rendering",[11055],{"type":3149,"value":11056},"Server-Side Rendering",{"type":3144,"tag":3151,"props":11058,"children":11059},{},[11060,11062,11068,11070],{"type":3149,"value":11061},"You can make authenticated requests both from the client and the server. However, you must use ",{"type":3144,"tag":3289,"props":11063,"children":11065},{"className":11064},[],[11066],{"type":3149,"value":11067},"useRequestFetch()",{"type":3149,"value":11069}," to make authenticated requests during SSR if you are not using ",{"type":3144,"tag":3289,"props":11071,"children":11073},{"className":11072},[],[11074],{"type":3149,"value":11075},"useFetch()",{"type":3144,"tag":3417,"props":11077,"children":11079},{"className":3555,"code":11078,"language":3557,"meta":3017,"style":3017},"\u003Cscript setup lang=\"ts\">\n\u002F\u002F When using useAsyncData\nconst { data } = await useAsyncData('team', () => useRequestFetch()('\u002Fapi\u002Fprotected-endpoint'))\n\n\u002F\u002F useFetch will automatically use useRequestFetch during SSR\nconst { data } = await useFetch('\u002Fapi\u002Fprotected-endpoint')\n\u003C\u002Fscript>\n",[11080],{"type":3144,"tag":3289,"props":11081,"children":11082},{"__ignoreMap":3017},[11083,11122,11130,11220,11227,11235,11287],{"type":3144,"tag":3427,"props":11084,"children":11085},{"class":3429,"line":3103},[11086,11090,11094,11098,11102,11106,11110,11114,11118],{"type":3144,"tag":3427,"props":11087,"children":11088},{"style":3506},[11089],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":11091,"children":11092},{"style":3572},[11093],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":11095,"children":11096},{"style":3578},[11097],{"type":3149,"value":3581},{"type":3144,"tag":3427,"props":11099,"children":11100},{"style":3578},[11101],{"type":3149,"value":9881},{"type":3144,"tag":3427,"props":11103,"children":11104},{"style":3506},[11105],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":11107,"children":11108},{"style":3506},[11109],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11111,"children":11112},{"style":3439},[11113],{"type":3149,"value":4107},{"type":3144,"tag":3427,"props":11115,"children":11116},{"style":3506},[11117],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11119,"children":11120},{"style":3506},[11121],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11123,"children":11124},{"class":3429,"line":3069},[11125],{"type":3144,"tag":3427,"props":11126,"children":11127},{"style":3492},[11128],{"type":3149,"value":11129},"\u002F\u002F When using useAsyncData\n",{"type":3144,"tag":3427,"props":11131,"children":11132},{"class":3429,"line":3053},[11133,11137,11141,11146,11150,11154,11158,11163,11167,11171,11176,11180,11184,11188,11192,11197,11202,11206,11211,11215],{"type":3144,"tag":3427,"props":11134,"children":11135},{"style":3578},[11136],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":11138,"children":11139},{"style":3506},[11140],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":11142,"children":11143},{"style":3501},[11144],{"type":3149,"value":11145}," data ",{"type":3144,"tag":3427,"props":11147,"children":11148},{"style":3506},[11149],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":11151,"children":11152},{"style":3506},[11153],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":11155,"children":11156},{"style":4689},[11157],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":11159,"children":11160},{"style":3663},[11161],{"type":3149,"value":11162}," useAsyncData",{"type":3144,"tag":3427,"props":11164,"children":11165},{"style":3501},[11166],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":11168,"children":11169},{"style":3506},[11170],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":11172,"children":11173},{"style":3439},[11174],{"type":3149,"value":11175},"team",{"type":3144,"tag":3427,"props":11177,"children":11178},{"style":3506},[11179],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":11181,"children":11182},{"style":3506},[11183],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":11185,"children":11186},{"style":3506},[11187],{"type":3149,"value":4390},{"type":3144,"tag":3427,"props":11189,"children":11190},{"style":3578},[11191],{"type":3149,"value":4395},{"type":3144,"tag":3427,"props":11193,"children":11194},{"style":3663},[11195],{"type":3149,"value":11196}," useRequestFetch",{"type":3144,"tag":3427,"props":11198,"children":11199},{"style":3501},[11200],{"type":3149,"value":11201},"()(",{"type":3144,"tag":3427,"props":11203,"children":11204},{"style":3506},[11205],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":11207,"children":11208},{"style":3439},[11209],{"type":3149,"value":11210},"\u002Fapi\u002Fprotected-endpoint",{"type":3144,"tag":3427,"props":11212,"children":11213},{"style":3506},[11214],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":11216,"children":11217},{"style":3501},[11218],{"type":3149,"value":11219},"))\n",{"type":3144,"tag":3427,"props":11221,"children":11222},{"class":3429,"line":3690},[11223],{"type":3144,"tag":3427,"props":11224,"children":11225},{"emptyLinePlaceholder":1200},[11226],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":11228,"children":11229},{"class":3429,"line":3699},[11230],{"type":3144,"tag":3427,"props":11231,"children":11232},{"style":3492},[11233],{"type":3149,"value":11234},"\u002F\u002F useFetch will automatically use useRequestFetch during SSR\n",{"type":3144,"tag":3427,"props":11236,"children":11237},{"class":3429,"line":3716},[11238,11242,11246,11250,11254,11258,11262,11267,11271,11275,11279,11283],{"type":3144,"tag":3427,"props":11239,"children":11240},{"style":3578},[11241],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":11243,"children":11244},{"style":3506},[11245],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":11247,"children":11248},{"style":3501},[11249],{"type":3149,"value":11145},{"type":3144,"tag":3427,"props":11251,"children":11252},{"style":3506},[11253],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":11255,"children":11256},{"style":3506},[11257],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":11259,"children":11260},{"style":4689},[11261],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":11263,"children":11264},{"style":3663},[11265],{"type":3149,"value":11266}," useFetch",{"type":3144,"tag":3427,"props":11268,"children":11269},{"style":3501},[11270],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":11272,"children":11273},{"style":3506},[11274],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":11276,"children":11277},{"style":3439},[11278],{"type":3149,"value":11210},{"type":3144,"tag":3427,"props":11280,"children":11281},{"style":3506},[11282],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":11284,"children":11285},{"style":3501},[11286],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":11288,"children":11289},{"class":3429,"line":3049},[11290,11294,11298],{"type":3144,"tag":3427,"props":11291,"children":11292},{"style":3506},[11293],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":11295,"children":11296},{"style":3572},[11297],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":11299,"children":11300},{"style":3506},[11301],{"type":3149,"value":3586},{"type":3144,"tag":4607,"props":11303,"children":11304},{},[11305],{"type":3144,"tag":3151,"props":11306,"children":11307},{},[11308,11310,11317,11319,11324],{"type":3149,"value":11309},"There's ",{"type":3144,"tag":3155,"props":11311,"children":11314},{"href":11312,"rel":11313},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fissues\u002F24813",[3159],[11315],{"type":3149,"value":11316},"an open issue",{"type":3149,"value":11318}," to include credentials in ",{"type":3144,"tag":3289,"props":11320,"children":11322},{"className":11321},[],[11323],{"type":3149,"value":634},{"type":3149,"value":11325}," in Nuxt.",{"type":3144,"tag":3235,"props":11327,"children":11329},{"id":11328},"hybrid-rendering",[11330],{"type":3149,"value":3251},{"type":3144,"tag":3151,"props":11332,"children":11333},{},[11334,11336,11349],{"type":3149,"value":11335},"When using ",{"type":3144,"tag":3155,"props":11337,"children":11340},{"href":11338,"rel":11339},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fguide\u002Fconcepts\u002Frendering#hybrid-rendering",[3159],[11341,11343],{"type":3149,"value":11342},"Nuxt ",{"type":3144,"tag":3289,"props":11344,"children":11346},{"className":11345},[],[11347],{"type":3149,"value":11348},"routeRules",{"type":3149,"value":11350}," to prerender or cache your pages, Nuxt Auth Utils will not fetch the user session during prerendering but instead fetch it on the client-side (after hydration).",{"type":3144,"tag":3151,"props":11352,"children":11353},{},[11354],{"type":3149,"value":11355},"This is because the user session is stored in a secure cookie and cannot be accessed during prerendering.",{"type":3144,"tag":3151,"props":11357,"children":11358},{},[11359],{"type":3144,"tag":4098,"props":11360,"children":11361},{},[11362],{"type":3149,"value":11363},"This means that you should not rely on the user session during prerendering.",{"type":3144,"tag":3151,"props":11365,"children":11366},{},[11367,11369,11375,11377,11382],{"type":3149,"value":11368},"You may also choose to instruct Nuxt Auth Utils to fetch the user session only on the client side, with the ",{"type":3144,"tag":3289,"props":11370,"children":11372},{"className":11371},[],[11373],{"type":3149,"value":11374},"loadStrategy",{"type":3149,"value":11376}," option in your ",{"type":3144,"tag":3289,"props":11378,"children":11380},{"className":11379},[],[11381],{"type":3149,"value":233},{"type":3149,"value":4166},{"type":3144,"tag":3417,"props":11384,"children":11386},{"className":4105,"code":11385,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  auth: {\n    loadStrategy: 'client-only'\n  }\n})\n",[11387],{"type":3144,"tag":3289,"props":11388,"children":11389},{"__ignoreMap":3017},[11390,11413,11428,11453,11460],{"type":3144,"tag":3427,"props":11391,"children":11392},{"class":3429,"line":3103},[11393,11397,11401,11405,11409],{"type":3144,"tag":3427,"props":11394,"children":11395},{"style":4689},[11396],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":11398,"children":11399},{"style":4689},[11400],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":11402,"children":11403},{"style":3663},[11404],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":11406,"children":11407},{"style":3501},[11408],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":11410,"children":11411},{"style":3506},[11412],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":11414,"children":11415},{"class":3429,"line":3069},[11416,11420,11424],{"type":3144,"tag":3427,"props":11417,"children":11418},{"style":3572},[11419],{"type":3149,"value":6613},{"type":3144,"tag":3427,"props":11421,"children":11422},{"style":3506},[11423],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":11425,"children":11426},{"style":3506},[11427],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":11429,"children":11430},{"class":3429,"line":3053},[11431,11436,11440,11444,11449],{"type":3144,"tag":3427,"props":11432,"children":11433},{"style":3572},[11434],{"type":3149,"value":11435},"    loadStrategy",{"type":3144,"tag":3427,"props":11437,"children":11438},{"style":3506},[11439],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":11441,"children":11442},{"style":3506},[11443],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":11445,"children":11446},{"style":3439},[11447],{"type":3149,"value":11448},"client-only",{"type":3144,"tag":3427,"props":11450,"children":11451},{"style":3506},[11452],{"type":3149,"value":4759},{"type":3144,"tag":3427,"props":11454,"children":11455},{"class":3429,"line":3690},[11456],{"type":3144,"tag":3427,"props":11457,"children":11458},{"style":3506},[11459],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":11461,"children":11462},{"class":3429,"line":3699},[11463,11467],{"type":3144,"tag":3427,"props":11464,"children":11465},{"style":3506},[11466],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":11468,"children":11469},{"style":3501},[11470],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":11472,"children":11473},{},[11474,11476,11481,11483,11488,11489,11495],{"type":3149,"value":11475},"When using the ",{"type":3144,"tag":3289,"props":11477,"children":11479},{"className":11478},[],[11480],{"type":3149,"value":11448},{"type":3149,"value":11482}," load strategy, the user session can still be manually fetched on the server side by calling ",{"type":3144,"tag":3289,"props":11484,"children":11486},{"className":11485},[],[11487],{"type":3149,"value":10861},{"type":3149,"value":7374},{"type":3144,"tag":3289,"props":11490,"children":11492},{"className":11491},[],[11493],{"type":3149,"value":11494},"useUserSession",{"type":3149,"value":11496}," composable.",{"type":3144,"tag":3547,"props":11498,"children":11500},{"id":11499},"disable-session-loading",[11501],{"type":3149,"value":11502},"Disable session loading",{"type":3144,"tag":3151,"props":11504,"children":11505},{},[11506,11508,11513,11514,11519],{"type":3149,"value":11507},"You may also choose to disable session loading entirely, with the ",{"type":3144,"tag":3289,"props":11509,"children":11511},{"className":11510},[],[11512],{"type":3149,"value":11374},{"type":3149,"value":11376},{"type":3144,"tag":3289,"props":11515,"children":11517},{"className":11516},[],[11518],{"type":3149,"value":233},{"type":3149,"value":4166},{"type":3144,"tag":3417,"props":11521,"children":11523},{"className":4105,"code":11522,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  auth: {\n    loadStrategy: 'none'\n  }\n})\n",[11524],{"type":3144,"tag":3289,"props":11525,"children":11526},{"__ignoreMap":3017},[11527,11550,11565,11589,11596],{"type":3144,"tag":3427,"props":11528,"children":11529},{"class":3429,"line":3103},[11530,11534,11538,11542,11546],{"type":3144,"tag":3427,"props":11531,"children":11532},{"style":4689},[11533],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":11535,"children":11536},{"style":4689},[11537],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":11539,"children":11540},{"style":3663},[11541],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":11543,"children":11544},{"style":3501},[11545],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":11547,"children":11548},{"style":3506},[11549],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":11551,"children":11552},{"class":3429,"line":3069},[11553,11557,11561],{"type":3144,"tag":3427,"props":11554,"children":11555},{"style":3572},[11556],{"type":3149,"value":6613},{"type":3144,"tag":3427,"props":11558,"children":11559},{"style":3506},[11560],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":11562,"children":11563},{"style":3506},[11564],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":11566,"children":11567},{"class":3429,"line":3053},[11568,11572,11576,11580,11585],{"type":3144,"tag":3427,"props":11569,"children":11570},{"style":3572},[11571],{"type":3149,"value":11435},{"type":3144,"tag":3427,"props":11573,"children":11574},{"style":3506},[11575],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":11577,"children":11578},{"style":3506},[11579],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":11581,"children":11582},{"style":3439},[11583],{"type":3149,"value":11584},"none",{"type":3144,"tag":3427,"props":11586,"children":11587},{"style":3506},[11588],{"type":3149,"value":4759},{"type":3144,"tag":3427,"props":11590,"children":11591},{"class":3429,"line":3690},[11592],{"type":3144,"tag":3427,"props":11593,"children":11594},{"style":3506},[11595],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":11597,"children":11598},{"class":3429,"line":3699},[11599,11603],{"type":3144,"tag":3427,"props":11600,"children":11601},{"style":3506},[11602],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":11604,"children":11605},{"style":3501},[11606],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":11608,"children":11609},{},[11610,11611,11616,11618,11624],{"type":3149,"value":11475},{"type":3144,"tag":3289,"props":11612,"children":11614},{"className":11613},[],[11615],{"type":3149,"value":11584},{"type":3149,"value":11617}," load strategy, the user session can still be manually fetched by calling ",{"type":3144,"tag":3289,"props":11619,"children":11621},{"className":11620},[],[11622],{"type":3149,"value":11623},"useUserSession().fetch()",{"type":3149,"value":3382},{"type":3144,"tag":3547,"props":11626,"children":11628},{"id":11627},"authstate-component",[11629,11634],{"type":3144,"tag":3289,"props":11630,"children":11632},{"className":11631},[],[11633],{"type":3149,"value":3318},{"type":3149,"value":3320},{"type":3144,"tag":3151,"props":11636,"children":11637},{},[11638,11640,11645],{"type":3149,"value":11639},"You can use the ",{"type":3144,"tag":3289,"props":11641,"children":11643},{"className":11642},[],[11644],{"type":3149,"value":3318},{"type":3149,"value":11646}," component to safely display auth-related data in your components without worrying about the rendering mode.",{"type":3144,"tag":3151,"props":11648,"children":11649},{},[11650],{"type":3149,"value":11651},"One common use case if the Login button in the header:",{"type":3144,"tag":3417,"props":11653,"children":11655},{"className":3555,"code":11654,"language":3557,"meta":3017,"style":3017},"\u003Ctemplate>\n  \u003Cheader>\n    \u003CAuthState v-slot=\"{ loggedIn, clear }\">\n      \u003Cbutton v-if=\"loggedIn\" @click=\"clear\">Logout\u003C\u002Fbutton>\n      \u003CNuxtLink v-else to=\"\u002Flogin\">Login\u003C\u002FNuxtLink>\n    \u003C\u002FAuthState>\n  \u003C\u002Fheader>\n\u003C\u002Ftemplate>\n",[11656],{"type":3144,"tag":3289,"props":11657,"children":11658},{"__ignoreMap":3017},[11659,11674,11690,11728,11800,11859,11875,11890],{"type":3144,"tag":3427,"props":11660,"children":11661},{"class":3429,"line":3103},[11662,11666,11670],{"type":3144,"tag":3427,"props":11663,"children":11664},{"style":3506},[11665],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":11667,"children":11668},{"style":3572},[11669],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":11671,"children":11672},{"style":3506},[11673],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11675,"children":11676},{"class":3429,"line":3069},[11677,11681,11686],{"type":3144,"tag":3427,"props":11678,"children":11679},{"style":3506},[11680],{"type":3149,"value":3722},{"type":3144,"tag":3427,"props":11682,"children":11683},{"style":3572},[11684],{"type":3149,"value":11685},"header",{"type":3144,"tag":3427,"props":11687,"children":11688},{"style":3506},[11689],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11691,"children":11692},{"class":3429,"line":3053},[11693,11697,11702,11707,11711,11715,11720,11724],{"type":3144,"tag":3427,"props":11694,"children":11695},{"style":3506},[11696],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":11698,"children":11699},{"style":3572},[11700],{"type":3149,"value":11701},"AuthState",{"type":3144,"tag":3427,"props":11703,"children":11704},{"style":3578},[11705],{"type":3149,"value":11706}," v-slot",{"type":3144,"tag":3427,"props":11708,"children":11709},{"style":3506},[11710],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":11712,"children":11713},{"style":3506},[11714],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11716,"children":11717},{"style":3439},[11718],{"type":3149,"value":11719},"{ loggedIn, clear }",{"type":3144,"tag":3427,"props":11721,"children":11722},{"style":3506},[11723],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11725,"children":11726},{"style":3506},[11727],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11729,"children":11730},{"class":3429,"line":3690},[11731,11736,11740,11744,11748,11752,11756,11760,11764,11768,11772,11776,11780,11784,11788,11792,11796],{"type":3144,"tag":3427,"props":11732,"children":11733},{"style":3506},[11734],{"type":3149,"value":11735},"      \u003C",{"type":3144,"tag":3427,"props":11737,"children":11738},{"style":3572},[11739],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":11741,"children":11742},{"style":3578},[11743],{"type":3149,"value":3732},{"type":3144,"tag":3427,"props":11745,"children":11746},{"style":3506},[11747],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":11749,"children":11750},{"style":3506},[11751],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11753,"children":11754},{"style":3439},[11755],{"type":3149,"value":3746},{"type":3144,"tag":3427,"props":11757,"children":11758},{"style":3506},[11759],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11761,"children":11762},{"style":3578},[11763],{"type":3149,"value":3837},{"type":3144,"tag":3427,"props":11765,"children":11766},{"style":3506},[11767],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":11769,"children":11770},{"style":3506},[11771],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11773,"children":11774},{"style":3439},[11775],{"type":3149,"value":3850},{"type":3144,"tag":3427,"props":11777,"children":11778},{"style":3506},[11779],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11781,"children":11782},{"style":3506},[11783],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":11785,"children":11786},{"style":3501},[11787],{"type":3149,"value":3863},{"type":3144,"tag":3427,"props":11789,"children":11790},{"style":3506},[11791],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":11793,"children":11794},{"style":3572},[11795],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":11797,"children":11798},{"style":3506},[11799],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11801,"children":11802},{"class":3429,"line":3699},[11803,11807,11812,11816,11821,11825,11829,11834,11838,11842,11847,11851,11855],{"type":3144,"tag":3427,"props":11804,"children":11805},{"style":3506},[11806],{"type":3149,"value":11735},{"type":3144,"tag":3427,"props":11808,"children":11809},{"style":3572},[11810],{"type":3149,"value":11811},"NuxtLink",{"type":3144,"tag":3427,"props":11813,"children":11814},{"style":3578},[11815],{"type":3149,"value":3908},{"type":3144,"tag":3427,"props":11817,"children":11818},{"style":3578},[11819],{"type":3149,"value":11820}," to",{"type":3144,"tag":3427,"props":11822,"children":11823},{"style":3506},[11824],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":11826,"children":11827},{"style":3506},[11828],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11830,"children":11831},{"style":3439},[11832],{"type":3149,"value":11833},"\u002Flogin",{"type":3144,"tag":3427,"props":11835,"children":11836},{"style":3506},[11837],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":11839,"children":11840},{"style":3506},[11841],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":11843,"children":11844},{"style":3501},[11845],{"type":3149,"value":11846},"Login",{"type":3144,"tag":3427,"props":11848,"children":11849},{"style":3506},[11850],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":11852,"children":11853},{"style":3572},[11854],{"type":3149,"value":11811},{"type":3144,"tag":3427,"props":11856,"children":11857},{"style":3506},[11858],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11860,"children":11861},{"class":3429,"line":3716},[11862,11867,11871],{"type":3144,"tag":3427,"props":11863,"children":11864},{"style":3506},[11865],{"type":3149,"value":11866},"    \u003C\u002F",{"type":3144,"tag":3427,"props":11868,"children":11869},{"style":3572},[11870],{"type":3149,"value":11701},{"type":3144,"tag":3427,"props":11872,"children":11873},{"style":3506},[11874],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11876,"children":11877},{"class":3429,"line":3049},[11878,11882,11886],{"type":3144,"tag":3427,"props":11879,"children":11880},{"style":3506},[11881],{"type":3149,"value":3884},{"type":3144,"tag":3427,"props":11883,"children":11884},{"style":3572},[11885],{"type":3149,"value":11685},{"type":3144,"tag":3427,"props":11887,"children":11888},{"style":3506},[11889],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11891,"children":11892},{"class":3429,"line":3045},[11893,11897,11901],{"type":3144,"tag":3427,"props":11894,"children":11895},{"style":3506},[11896],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":11898,"children":11899},{"style":3572},[11900],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":11902,"children":11903},{"style":3506},[11904],{"type":3149,"value":3586},{"type":3144,"tag":3151,"props":11906,"children":11907},{},[11908,11910,11915],{"type":3149,"value":11909},"If the page is cached or prerendered or the load strategy set as ",{"type":3144,"tag":3289,"props":11911,"children":11913},{"className":11912},[],[11914],{"type":3149,"value":11448},{"type":3149,"value":11916},", nothing will be rendered until the user session is fetched on the client-side.",{"type":3144,"tag":3151,"props":11918,"children":11919},{},[11920,11921,11927],{"type":3149,"value":11639},{"type":3144,"tag":3289,"props":11922,"children":11924},{"className":11923},[],[11925],{"type":3149,"value":11926},"placeholder",{"type":3149,"value":11928}," slot to show a placeholder on server-side and while the user session is being fetched on client-side for the prerendered pages:",{"type":3144,"tag":3417,"props":11930,"children":11932},{"className":3555,"code":11931,"language":3557,"meta":3017,"style":3017},"\u003Ctemplate>\n  \u003Cheader>\n    \u003CAuthState>\n      \u003Ctemplate #default=\"{ loggedIn, clear }\">\n        \u003Cbutton v-if=\"loggedIn\" @click=\"clear\">Logout\u003C\u002Fbutton>\n        \u003CNuxtLink v-else to=\"\u002Flogin\">Login\u003C\u002FNuxtLink>\n      \u003C\u002Ftemplate>\n      \u003Ctemplate #placeholder>\n        \u003Cbutton disabled>Loading...\u003C\u002Fbutton>\n      \u003C\u002Ftemplate>\n    \u003C\u002FAuthState>\n  \u003C\u002Fheader>\n\u003C\u002Ftemplate>\n",[11933],{"type":3144,"tag":3289,"props":11934,"children":11935},{"__ignoreMap":3017},[11936,11951,11966,11981,12039,12111,12166,12182,12205,12242,12257,12272,12287],{"type":3144,"tag":3427,"props":11937,"children":11938},{"class":3429,"line":3103},[11939,11943,11947],{"type":3144,"tag":3427,"props":11940,"children":11941},{"style":3506},[11942],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":11944,"children":11945},{"style":3572},[11946],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":11948,"children":11949},{"style":3506},[11950],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11952,"children":11953},{"class":3429,"line":3069},[11954,11958,11962],{"type":3144,"tag":3427,"props":11955,"children":11956},{"style":3506},[11957],{"type":3149,"value":3722},{"type":3144,"tag":3427,"props":11959,"children":11960},{"style":3572},[11961],{"type":3149,"value":11685},{"type":3144,"tag":3427,"props":11963,"children":11964},{"style":3506},[11965],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11967,"children":11968},{"class":3429,"line":3053},[11969,11973,11977],{"type":3144,"tag":3427,"props":11970,"children":11971},{"style":3506},[11972],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":11974,"children":11975},{"style":3572},[11976],{"type":3149,"value":11701},{"type":3144,"tag":3427,"props":11978,"children":11979},{"style":3506},[11980],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":11982,"children":11983},{"class":3429,"line":3690},[11984,11988,11992,11997,12002,12006,12010,12014,12018,12022,12027,12031,12035],{"type":3144,"tag":3427,"props":11985,"children":11986},{"style":3506},[11987],{"type":3149,"value":11735},{"type":3144,"tag":3427,"props":11989,"children":11990},{"style":3572},[11991],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":11993,"children":11994},{"style":3506},[11995],{"type":3149,"value":11996}," #",{"type":3144,"tag":3427,"props":11998,"children":11999},{"style":3578},[12000],{"type":3149,"value":12001},"default",{"type":3144,"tag":3427,"props":12003,"children":12004},{"style":3506},[12005],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":12007,"children":12008},{"style":3506},[12009],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12011,"children":12012},{"style":3506},[12013],{"type":3149,"value":7798},{"type":3144,"tag":3427,"props":12015,"children":12016},{"style":3501},[12017],{"type":3149,"value":3604},{"type":3144,"tag":3427,"props":12019,"children":12020},{"style":3506},[12021],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12023,"children":12024},{"style":3501},[12025],{"type":3149,"value":12026}," clear ",{"type":3144,"tag":3427,"props":12028,"children":12029},{"style":3506},[12030],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":12032,"children":12033},{"style":3506},[12034],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12036,"children":12037},{"style":3506},[12038],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12040,"children":12041},{"class":3429,"line":3699},[12042,12047,12051,12055,12059,12063,12067,12071,12075,12079,12083,12087,12091,12095,12099,12103,12107],{"type":3144,"tag":3427,"props":12043,"children":12044},{"style":3506},[12045],{"type":3149,"value":12046},"        \u003C",{"type":3144,"tag":3427,"props":12048,"children":12049},{"style":3572},[12050],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":12052,"children":12053},{"style":3578},[12054],{"type":3149,"value":3732},{"type":3144,"tag":3427,"props":12056,"children":12057},{"style":3506},[12058],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":12060,"children":12061},{"style":3506},[12062],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12064,"children":12065},{"style":3439},[12066],{"type":3149,"value":3746},{"type":3144,"tag":3427,"props":12068,"children":12069},{"style":3506},[12070],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12072,"children":12073},{"style":3578},[12074],{"type":3149,"value":3837},{"type":3144,"tag":3427,"props":12076,"children":12077},{"style":3506},[12078],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":12080,"children":12081},{"style":3506},[12082],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12084,"children":12085},{"style":3439},[12086],{"type":3149,"value":3850},{"type":3144,"tag":3427,"props":12088,"children":12089},{"style":3506},[12090],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12092,"children":12093},{"style":3506},[12094],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":12096,"children":12097},{"style":3501},[12098],{"type":3149,"value":3863},{"type":3144,"tag":3427,"props":12100,"children":12101},{"style":3506},[12102],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":12104,"children":12105},{"style":3572},[12106],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":12108,"children":12109},{"style":3506},[12110],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12112,"children":12113},{"class":3429,"line":3716},[12114,12118,12122,12126,12130,12134,12138,12142,12146,12150,12154,12158,12162],{"type":3144,"tag":3427,"props":12115,"children":12116},{"style":3506},[12117],{"type":3149,"value":12046},{"type":3144,"tag":3427,"props":12119,"children":12120},{"style":3572},[12121],{"type":3149,"value":11811},{"type":3144,"tag":3427,"props":12123,"children":12124},{"style":3578},[12125],{"type":3149,"value":3908},{"type":3144,"tag":3427,"props":12127,"children":12128},{"style":3578},[12129],{"type":3149,"value":11820},{"type":3144,"tag":3427,"props":12131,"children":12132},{"style":3506},[12133],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":12135,"children":12136},{"style":3506},[12137],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12139,"children":12140},{"style":3439},[12141],{"type":3149,"value":11833},{"type":3144,"tag":3427,"props":12143,"children":12144},{"style":3506},[12145],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":12147,"children":12148},{"style":3506},[12149],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":12151,"children":12152},{"style":3501},[12153],{"type":3149,"value":11846},{"type":3144,"tag":3427,"props":12155,"children":12156},{"style":3506},[12157],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":12159,"children":12160},{"style":3572},[12161],{"type":3149,"value":11811},{"type":3144,"tag":3427,"props":12163,"children":12164},{"style":3506},[12165],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12167,"children":12168},{"class":3429,"line":3049},[12169,12174,12178],{"type":3144,"tag":3427,"props":12170,"children":12171},{"style":3506},[12172],{"type":3149,"value":12173},"      \u003C\u002F",{"type":3144,"tag":3427,"props":12175,"children":12176},{"style":3572},[12177],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":12179,"children":12180},{"style":3506},[12181],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12183,"children":12184},{"class":3429,"line":3045},[12185,12189,12193,12197,12201],{"type":3144,"tag":3427,"props":12186,"children":12187},{"style":3506},[12188],{"type":3149,"value":11735},{"type":3144,"tag":3427,"props":12190,"children":12191},{"style":3572},[12192],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":12194,"children":12195},{"style":3506},[12196],{"type":3149,"value":11996},{"type":3144,"tag":3427,"props":12198,"children":12199},{"style":3578},[12200],{"type":3149,"value":11926},{"type":3144,"tag":3427,"props":12202,"children":12203},{"style":3506},[12204],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12206,"children":12207},{"class":3429,"line":3041},[12208,12212,12216,12221,12225,12230,12234,12238],{"type":3144,"tag":3427,"props":12209,"children":12210},{"style":3506},[12211],{"type":3149,"value":12046},{"type":3144,"tag":3427,"props":12213,"children":12214},{"style":3572},[12215],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":12217,"children":12218},{"style":3578},[12219],{"type":3149,"value":12220}," disabled",{"type":3144,"tag":3427,"props":12222,"children":12223},{"style":3506},[12224],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":12226,"children":12227},{"style":3501},[12228],{"type":3149,"value":12229},"Loading...",{"type":3144,"tag":3427,"props":12231,"children":12232},{"style":3506},[12233],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":12235,"children":12236},{"style":3572},[12237],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":12239,"children":12240},{"style":3506},[12241],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12243,"children":12244},{"class":3429,"line":3878},[12245,12249,12253],{"type":3144,"tag":3427,"props":12246,"children":12247},{"style":3506},[12248],{"type":3149,"value":12173},{"type":3144,"tag":3427,"props":12250,"children":12251},{"style":3572},[12252],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":12254,"children":12255},{"style":3506},[12256],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12258,"children":12259},{"class":3429,"line":3132},[12260,12264,12268],{"type":3144,"tag":3427,"props":12261,"children":12262},{"style":3506},[12263],{"type":3149,"value":11866},{"type":3144,"tag":3427,"props":12265,"children":12266},{"style":3572},[12267],{"type":3149,"value":11701},{"type":3144,"tag":3427,"props":12269,"children":12270},{"style":3506},[12271],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12273,"children":12274},{"class":3429,"line":3915},[12275,12279,12283],{"type":3144,"tag":3427,"props":12276,"children":12277},{"style":3506},[12278],{"type":3149,"value":3884},{"type":3144,"tag":3427,"props":12280,"children":12281},{"style":3572},[12282],{"type":3149,"value":11685},{"type":3144,"tag":3427,"props":12284,"children":12285},{"style":3506},[12286],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12288,"children":12289},{"class":3429,"line":3948},[12290,12294,12298],{"type":3144,"tag":3427,"props":12291,"children":12292},{"style":3506},[12293],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":12295,"children":12296},{"style":3572},[12297],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":12299,"children":12300},{"style":3506},[12301],{"type":3149,"value":3586},{"type":3144,"tag":3151,"props":12303,"children":12304},{},[12305,12307,12312,12314,12320,12322,12328],{"type":3149,"value":12306},"If you are caching your routes with ",{"type":3144,"tag":3289,"props":12308,"children":12310},{"className":12309},[],[12311],{"type":3149,"value":11348},{"type":3149,"value":12313},", please make sure to use ",{"type":3144,"tag":3155,"props":12315,"children":12318},{"href":12316,"rel":12317},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fnitro",[3159],[12319],{"type":3149,"value":837},{"type":3149,"value":12321}," >= ",{"type":3144,"tag":3289,"props":12323,"children":12325},{"className":12324},[],[12326],{"type":3149,"value":12327},"2.9.7",{"type":3149,"value":12329}," to support the client-side fetching of the user session.",{"type":3144,"tag":3235,"props":12331,"children":12333},{"id":12332},"websocket-support",[12334],{"type":3149,"value":12335},"WebSocket Support",{"type":3144,"tag":3151,"props":12337,"children":12338},{},[12339,12341,12348],{"type":3149,"value":12340},"Nuxt Auth Utils is compatible with ",{"type":3144,"tag":3155,"props":12342,"children":12345},{"href":12343,"rel":12344},"https:\u002F\u002Fnitro.build\u002Fguide\u002Fwebsocket",[3159],[12346],{"type":3149,"value":12347},"Nitro WebSockets",{"type":3149,"value":3382},{"type":3144,"tag":3151,"props":12350,"children":12351},{},[12352,12354,12360,12361,12366],{"type":3149,"value":12353},"Make sure to enable the ",{"type":3144,"tag":3289,"props":12355,"children":12357},{"className":12356},[],[12358],{"type":3149,"value":12359},"experimental.websocket",{"type":3149,"value":11376},{"type":3144,"tag":3289,"props":12362,"children":12364},{"className":12363},[],[12365],{"type":3149,"value":233},{"type":3149,"value":4166},{"type":3144,"tag":3417,"props":12368,"children":12370},{"className":4105,"code":12369,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  nitro: {\n    experimental: {\n      websocket: true\n    }\n  }\n})\n",[12371],{"type":3144,"tag":3289,"props":12372,"children":12373},{"__ignoreMap":3017},[12374,12397,12413,12429,12445,12452,12459],{"type":3144,"tag":3427,"props":12375,"children":12376},{"class":3429,"line":3103},[12377,12381,12385,12389,12393],{"type":3144,"tag":3427,"props":12378,"children":12379},{"style":4689},[12380],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":12382,"children":12383},{"style":4689},[12384],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":12386,"children":12387},{"style":3663},[12388],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":12390,"children":12391},{"style":3501},[12392],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12394,"children":12395},{"style":3506},[12396],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":12398,"children":12399},{"class":3429,"line":3069},[12400,12405,12409],{"type":3144,"tag":3427,"props":12401,"children":12402},{"style":3572},[12403],{"type":3149,"value":12404},"  nitro",{"type":3144,"tag":3427,"props":12406,"children":12407},{"style":3506},[12408],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":12410,"children":12411},{"style":3506},[12412],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":12414,"children":12415},{"class":3429,"line":3053},[12416,12421,12425],{"type":3144,"tag":3427,"props":12417,"children":12418},{"style":3572},[12419],{"type":3149,"value":12420},"    experimental",{"type":3144,"tag":3427,"props":12422,"children":12423},{"style":3506},[12424],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":12426,"children":12427},{"style":3506},[12428],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":12430,"children":12431},{"class":3429,"line":3690},[12432,12437,12441],{"type":3144,"tag":3427,"props":12433,"children":12434},{"style":3572},[12435],{"type":3149,"value":12436},"      websocket",{"type":3144,"tag":3427,"props":12438,"children":12439},{"style":3506},[12440],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":12442,"children":12443},{"style":5873},[12444],{"type":3149,"value":5876},{"type":3144,"tag":3427,"props":12446,"children":12447},{"class":3429,"line":3699},[12448],{"type":3144,"tag":3427,"props":12449,"children":12450},{"style":3506},[12451],{"type":3149,"value":5479},{"type":3144,"tag":3427,"props":12453,"children":12454},{"class":3429,"line":3716},[12455],{"type":3144,"tag":3427,"props":12456,"children":12457},{"style":3506},[12458],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":12460,"children":12461},{"class":3429,"line":3049},[12462,12466],{"type":3144,"tag":3427,"props":12463,"children":12464},{"style":3506},[12465],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":12467,"children":12468},{"style":3501},[12469],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":12471,"children":12472},{},[12473,12474,12480,12482,12488],{"type":3149,"value":11639},{"type":3144,"tag":3289,"props":12475,"children":12477},{"className":12476},[],[12478],{"type":3149,"value":12479},"requireUserSession",{"type":3149,"value":12481}," function in the ",{"type":3144,"tag":3289,"props":12483,"children":12485},{"className":12484},[],[12486],{"type":3149,"value":12487},"upgrade",{"type":3149,"value":12489}," function to check if the user is authenticated before upgrading the WebSocket connection.",{"type":3144,"tag":3417,"props":12491,"children":12493},{"className":4105,"code":12492,"language":4107,"meta":3017,"style":3017},"\u002F\u002F server\u002Froutes\u002Fws.ts\nexport default defineWebSocketHandler({\n  async upgrade(request) {\n    \u002F\u002F Make sure the user is authenticated before upgrading the WebSocket connection\n    await requireUserSession(request)\n  },\n  async open(peer) {\n    const { user } = await requireUserSession(peer)\n\n    peer.send(`Hello, ${user.name}!`)\n  },\n  message(peer, message) {\n    peer.send(`Echo: ${message}`)\n  },\n})\n",[12494],{"type":3144,"tag":3289,"props":12495,"children":12496},{"__ignoreMap":3017},[12497,12505,12529,12558,12566,12589,12596,12625,12668,12675,12738,12745,12777,12822,12829],{"type":3144,"tag":3427,"props":12498,"children":12499},{"class":3429,"line":3103},[12500],{"type":3144,"tag":3427,"props":12501,"children":12502},{"style":3492},[12503],{"type":3149,"value":12504},"\u002F\u002F server\u002Froutes\u002Fws.ts\n",{"type":3144,"tag":3427,"props":12506,"children":12507},{"class":3429,"line":3069},[12508,12512,12516,12521,12525],{"type":3144,"tag":3427,"props":12509,"children":12510},{"style":4689},[12511],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":12513,"children":12514},{"style":4689},[12515],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":12517,"children":12518},{"style":3663},[12519],{"type":3149,"value":12520}," defineWebSocketHandler",{"type":3144,"tag":3427,"props":12522,"children":12523},{"style":3501},[12524],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12526,"children":12527},{"style":3506},[12528],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":12530,"children":12531},{"class":3429,"line":3053},[12532,12536,12541,12545,12550,12554],{"type":3144,"tag":3427,"props":12533,"children":12534},{"style":3578},[12535],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":12537,"children":12538},{"style":3572},[12539],{"type":3149,"value":12540}," upgrade",{"type":3144,"tag":3427,"props":12542,"children":12543},{"style":3506},[12544],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12546,"children":12547},{"style":4521},[12548],{"type":3149,"value":12549},"request",{"type":3144,"tag":3427,"props":12551,"children":12552},{"style":3506},[12553],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":12555,"children":12556},{"style":3506},[12557],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":12559,"children":12560},{"class":3429,"line":3690},[12561],{"type":3144,"tag":3427,"props":12562,"children":12563},{"style":3492},[12564],{"type":3149,"value":12565},"    \u002F\u002F Make sure the user is authenticated before upgrading the WebSocket connection\n",{"type":3144,"tag":3427,"props":12567,"children":12568},{"class":3429,"line":3699},[12569,12573,12577,12581,12585],{"type":3144,"tag":3427,"props":12570,"children":12571},{"style":4689},[12572],{"type":3149,"value":5942},{"type":3144,"tag":3427,"props":12574,"children":12575},{"style":3663},[12576],{"type":3149,"value":5025},{"type":3144,"tag":3427,"props":12578,"children":12579},{"style":3572},[12580],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12582,"children":12583},{"style":3501},[12584],{"type":3149,"value":12549},{"type":3144,"tag":3427,"props":12586,"children":12587},{"style":3572},[12588],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":12590,"children":12591},{"class":3429,"line":3716},[12592],{"type":3144,"tag":3427,"props":12593,"children":12594},{"style":3506},[12595],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":12597,"children":12598},{"class":3429,"line":3049},[12599,12603,12608,12612,12617,12621],{"type":3144,"tag":3427,"props":12600,"children":12601},{"style":3578},[12602],{"type":3149,"value":5891},{"type":3144,"tag":3427,"props":12604,"children":12605},{"style":3572},[12606],{"type":3149,"value":12607}," open",{"type":3144,"tag":3427,"props":12609,"children":12610},{"style":3506},[12611],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12613,"children":12614},{"style":4521},[12615],{"type":3149,"value":12616},"peer",{"type":3144,"tag":3427,"props":12618,"children":12619},{"style":3506},[12620],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":12622,"children":12623},{"style":3506},[12624],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":12626,"children":12627},{"class":3429,"line":3045},[12628,12632,12636,12640,12644,12648,12652,12656,12660,12664],{"type":3144,"tag":3427,"props":12629,"children":12630},{"style":3578},[12631],{"type":3149,"value":7659},{"type":3144,"tag":3427,"props":12633,"children":12634},{"style":3506},[12635],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":12637,"children":12638},{"style":3501},[12639],{"type":3149,"value":3614},{"type":3144,"tag":3427,"props":12641,"children":12642},{"style":3506},[12643],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":12645,"children":12646},{"style":3506},[12647],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":12649,"children":12650},{"style":4689},[12651],{"type":3149,"value":4945},{"type":3144,"tag":3427,"props":12653,"children":12654},{"style":3663},[12655],{"type":3149,"value":5025},{"type":3144,"tag":3427,"props":12657,"children":12658},{"style":3572},[12659],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12661,"children":12662},{"style":3501},[12663],{"type":3149,"value":12616},{"type":3144,"tag":3427,"props":12665,"children":12666},{"style":3572},[12667],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":12669,"children":12670},{"class":3429,"line":3041},[12671],{"type":3144,"tag":3427,"props":12672,"children":12673},{"emptyLinePlaceholder":1200},[12674],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":12676,"children":12677},{"class":3429,"line":3878},[12678,12683,12687,12692,12696,12700,12705,12709,12713,12717,12722,12726,12730,12734],{"type":3144,"tag":3427,"props":12679,"children":12680},{"style":3501},[12681],{"type":3149,"value":12682},"    peer",{"type":3144,"tag":3427,"props":12684,"children":12685},{"style":3506},[12686],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":12688,"children":12689},{"style":3663},[12690],{"type":3149,"value":12691},"send",{"type":3144,"tag":3427,"props":12693,"children":12694},{"style":3572},[12695],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12697,"children":12698},{"style":3506},[12699],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":12701,"children":12702},{"style":3439},[12703],{"type":3149,"value":12704},"Hello, ",{"type":3144,"tag":3427,"props":12706,"children":12707},{"style":3506},[12708],{"type":3149,"value":9466},{"type":3144,"tag":3427,"props":12710,"children":12711},{"style":3501},[12712],{"type":3149,"value":7713},{"type":3144,"tag":3427,"props":12714,"children":12715},{"style":3506},[12716],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":12718,"children":12719},{"style":3501},[12720],{"type":3149,"value":12721},"name",{"type":3144,"tag":3427,"props":12723,"children":12724},{"style":3506},[12725],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":12727,"children":12728},{"style":3439},[12729],{"type":3149,"value":8152},{"type":3144,"tag":3427,"props":12731,"children":12732},{"style":3506},[12733],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":12735,"children":12736},{"style":3572},[12737],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":12739,"children":12740},{"class":3429,"line":3132},[12741],{"type":3144,"tag":3427,"props":12742,"children":12743},{"style":3506},[12744],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":12746,"children":12747},{"class":3429,"line":3915},[12748,12753,12757,12761,12765,12769,12773],{"type":3144,"tag":3427,"props":12749,"children":12750},{"style":3572},[12751],{"type":3149,"value":12752},"  message",{"type":3144,"tag":3427,"props":12754,"children":12755},{"style":3506},[12756],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12758,"children":12759},{"style":4521},[12760],{"type":3149,"value":12616},{"type":3144,"tag":3427,"props":12762,"children":12763},{"style":3506},[12764],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12766,"children":12767},{"style":4521},[12768],{"type":3149,"value":7821},{"type":3144,"tag":3427,"props":12770,"children":12771},{"style":3506},[12772],{"type":3149,"value":6109},{"type":3144,"tag":3427,"props":12774,"children":12775},{"style":3506},[12776],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":12778,"children":12779},{"class":3429,"line":3948},[12780,12784,12788,12792,12796,12800,12805,12809,12814,12818],{"type":3144,"tag":3427,"props":12781,"children":12782},{"style":3501},[12783],{"type":3149,"value":12682},{"type":3144,"tag":3427,"props":12785,"children":12786},{"style":3506},[12787],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":12789,"children":12790},{"style":3663},[12791],{"type":3149,"value":12691},{"type":3144,"tag":3427,"props":12793,"children":12794},{"style":3572},[12795],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12797,"children":12798},{"style":3506},[12799],{"type":3149,"value":8127},{"type":3144,"tag":3427,"props":12801,"children":12802},{"style":3439},[12803],{"type":3149,"value":12804},"Echo: ",{"type":3144,"tag":3427,"props":12806,"children":12807},{"style":3506},[12808],{"type":3149,"value":9466},{"type":3144,"tag":3427,"props":12810,"children":12811},{"style":3501},[12812],{"type":3149,"value":12813},"message",{"type":3144,"tag":3427,"props":12815,"children":12816},{"style":3506},[12817],{"type":3149,"value":9476},{"type":3144,"tag":3427,"props":12819,"children":12820},{"style":3572},[12821],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":12823,"children":12824},{"class":3429,"line":4003},[12825],{"type":3144,"tag":3427,"props":12826,"children":12827},{"style":3506},[12828],{"type":3149,"value":4767},{"type":3144,"tag":3427,"props":12830,"children":12831},{"class":3429,"line":4012},[12832,12836],{"type":3144,"tag":3427,"props":12833,"children":12834},{"style":3506},[12835],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":12837,"children":12838},{"style":3501},[12839],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":12841,"children":12842},{},[12843,12845,12852],{"type":3149,"value":12844},"Then, in your application, you can use the ",{"type":3144,"tag":3155,"props":12846,"children":12849},{"href":12847,"rel":12848},"https:\u002F\u002Fvueuse.org\u002Fcore\u002FuseWebSocket\u002F",[3159],[12850],{"type":3149,"value":12851},"useWebSocket",{"type":3149,"value":12853}," composable to connect to the WebSocket:",{"type":3144,"tag":3417,"props":12855,"children":12857},{"className":3555,"code":12856,"language":3557,"meta":3017,"style":3017},"\u003Cscript setup>\nconst { status, data, send, open, close } = useWebSocket('\u002Fws', { immediate: false })\n\n\u002F\u002F Only open the websocket after the page is hydrated (client-only)\nonMounted(open)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp>Status: {{ status }}\u003C\u002Fp>\n    \u003Cp>Data: {{ data }}\u003C\u002Fp>\n    \u003Cp>\n      \u003Cbutton @click=\"open\">Open\u003C\u002Fbutton>\n      \u003Cbutton @click=\"close(1000, 'Closing')\">Close\u003C\u002Fbutton>\n      \u003Cbutton @click=\"send('hello')\">Send hello\u003C\u002Fbutton>\n    \u003C\u002Fp>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[12858],{"type":3144,"tag":3289,"props":12859,"children":12860},{"__ignoreMap":3017},[12861,12880,12991,12998,13006,13019,13034,13041,13056,13071,13103,13135,13150,13203,13256,13309,13324,13339],{"type":3144,"tag":3427,"props":12862,"children":12863},{"class":3429,"line":3103},[12864,12868,12872,12876],{"type":3144,"tag":3427,"props":12865,"children":12866},{"style":3506},[12867],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":12869,"children":12870},{"style":3572},[12871],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":12873,"children":12874},{"style":3578},[12875],{"type":3149,"value":3581},{"type":3144,"tag":3427,"props":12877,"children":12878},{"style":3506},[12879],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":12881,"children":12882},{"class":3429,"line":3069},[12883,12887,12891,12896,12900,12905,12909,12914,12918,12922,12926,12931,12935,12939,12944,12948,12952,12957,12961,12965,12969,12974,12978,12983,12987],{"type":3144,"tag":3427,"props":12884,"children":12885},{"style":3578},[12886],{"type":3149,"value":3594},{"type":3144,"tag":3427,"props":12888,"children":12889},{"style":3506},[12890],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":12892,"children":12893},{"style":3501},[12894],{"type":3149,"value":12895}," status",{"type":3144,"tag":3427,"props":12897,"children":12898},{"style":3506},[12899],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12901,"children":12902},{"style":3501},[12903],{"type":3149,"value":12904}," data",{"type":3144,"tag":3427,"props":12906,"children":12907},{"style":3506},[12908],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12910,"children":12911},{"style":3501},[12912],{"type":3149,"value":12913}," send",{"type":3144,"tag":3427,"props":12915,"children":12916},{"style":3506},[12917],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12919,"children":12920},{"style":3501},[12921],{"type":3149,"value":12607},{"type":3144,"tag":3427,"props":12923,"children":12924},{"style":3506},[12925],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12927,"children":12928},{"style":3501},[12929],{"type":3149,"value":12930}," close ",{"type":3144,"tag":3427,"props":12932,"children":12933},{"style":3506},[12934],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":12936,"children":12937},{"style":3506},[12938],{"type":3149,"value":3660},{"type":3144,"tag":3427,"props":12940,"children":12941},{"style":3663},[12942],{"type":3149,"value":12943}," useWebSocket",{"type":3144,"tag":3427,"props":12945,"children":12946},{"style":3501},[12947],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":12949,"children":12950},{"style":3506},[12951],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":12953,"children":12954},{"style":3439},[12955],{"type":3149,"value":12956},"\u002Fws",{"type":3144,"tag":3427,"props":12958,"children":12959},{"style":3506},[12960],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":12962,"children":12963},{"style":3506},[12964],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":12966,"children":12967},{"style":3506},[12968],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":12970,"children":12971},{"style":3572},[12972],{"type":3149,"value":12973}," immediate",{"type":3144,"tag":3427,"props":12975,"children":12976},{"style":3506},[12977],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":12979,"children":12980},{"style":5873},[12981],{"type":3149,"value":12982}," false",{"type":3144,"tag":3427,"props":12984,"children":12985},{"style":3506},[12986],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":12988,"children":12989},{"style":3501},[12990],{"type":3149,"value":4869},{"type":3144,"tag":3427,"props":12992,"children":12993},{"class":3429,"line":3053},[12994],{"type":3144,"tag":3427,"props":12995,"children":12996},{"emptyLinePlaceholder":1200},[12997],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":12999,"children":13000},{"class":3429,"line":3690},[13001],{"type":3144,"tag":3427,"props":13002,"children":13003},{"style":3492},[13004],{"type":3149,"value":13005},"\u002F\u002F Only open the websocket after the page is hydrated (client-only)\n",{"type":3144,"tag":3427,"props":13007,"children":13008},{"class":3429,"line":3699},[13009,13014],{"type":3144,"tag":3427,"props":13010,"children":13011},{"style":3663},[13012],{"type":3149,"value":13013},"onMounted",{"type":3144,"tag":3427,"props":13015,"children":13016},{"style":3501},[13017],{"type":3149,"value":13018},"(open)\n",{"type":3144,"tag":3427,"props":13020,"children":13021},{"class":3429,"line":3716},[13022,13026,13030],{"type":3144,"tag":3427,"props":13023,"children":13024},{"style":3506},[13025],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13027,"children":13028},{"style":3572},[13029],{"type":3149,"value":3575},{"type":3144,"tag":3427,"props":13031,"children":13032},{"style":3506},[13033],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13035,"children":13036},{"class":3429,"line":3049},[13037],{"type":3144,"tag":3427,"props":13038,"children":13039},{"emptyLinePlaceholder":1200},[13040],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":13042,"children":13043},{"class":3429,"line":3045},[13044,13048,13052],{"type":3144,"tag":3427,"props":13045,"children":13046},{"style":3506},[13047],{"type":3149,"value":3569},{"type":3144,"tag":3427,"props":13049,"children":13050},{"style":3572},[13051],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":13053,"children":13054},{"style":3506},[13055],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13057,"children":13058},{"class":3429,"line":3041},[13059,13063,13067],{"type":3144,"tag":3427,"props":13060,"children":13061},{"style":3506},[13062],{"type":3149,"value":3722},{"type":3144,"tag":3427,"props":13064,"children":13065},{"style":3572},[13066],{"type":3149,"value":3727},{"type":3144,"tag":3427,"props":13068,"children":13069},{"style":3506},[13070],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13072,"children":13073},{"class":3429,"line":3878},[13074,13078,13082,13086,13091,13095,13099],{"type":3144,"tag":3427,"props":13075,"children":13076},{"style":3506},[13077],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":13079,"children":13080},{"style":3572},[13081],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":13083,"children":13084},{"style":3506},[13085],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":13087,"children":13088},{"style":3501},[13089],{"type":3149,"value":13090},"Status: {{ status }}",{"type":3144,"tag":3427,"props":13092,"children":13093},{"style":3506},[13094],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13096,"children":13097},{"style":3572},[13098],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":13100,"children":13101},{"style":3506},[13102],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13104,"children":13105},{"class":3429,"line":3132},[13106,13110,13114,13118,13123,13127,13131],{"type":3144,"tag":3427,"props":13107,"children":13108},{"style":3506},[13109],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":13111,"children":13112},{"style":3572},[13113],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":13115,"children":13116},{"style":3506},[13117],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":13119,"children":13120},{"style":3501},[13121],{"type":3149,"value":13122},"Data: {{ data }}",{"type":3144,"tag":3427,"props":13124,"children":13125},{"style":3506},[13126],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13128,"children":13129},{"style":3572},[13130],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":13132,"children":13133},{"style":3506},[13134],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13136,"children":13137},{"class":3429,"line":3915},[13138,13142,13146],{"type":3144,"tag":3427,"props":13139,"children":13140},{"style":3506},[13141],{"type":3149,"value":3762},{"type":3144,"tag":3427,"props":13143,"children":13144},{"style":3572},[13145],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":13147,"children":13148},{"style":3506},[13149],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13151,"children":13152},{"class":3429,"line":3948},[13153,13157,13161,13165,13169,13173,13178,13182,13186,13191,13195,13199],{"type":3144,"tag":3427,"props":13154,"children":13155},{"style":3506},[13156],{"type":3149,"value":11735},{"type":3144,"tag":3427,"props":13158,"children":13159},{"style":3572},[13160],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":13162,"children":13163},{"style":3578},[13164],{"type":3149,"value":3837},{"type":3144,"tag":3427,"props":13166,"children":13167},{"style":3506},[13168],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":13170,"children":13171},{"style":3506},[13172],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":13174,"children":13175},{"style":3439},[13176],{"type":3149,"value":13177},"open",{"type":3144,"tag":3427,"props":13179,"children":13180},{"style":3506},[13181],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":13183,"children":13184},{"style":3506},[13185],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":13187,"children":13188},{"style":3501},[13189],{"type":3149,"value":13190},"Open",{"type":3144,"tag":3427,"props":13192,"children":13193},{"style":3506},[13194],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13196,"children":13197},{"style":3572},[13198],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":13200,"children":13201},{"style":3506},[13202],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13204,"children":13205},{"class":3429,"line":4003},[13206,13210,13214,13218,13222,13226,13231,13235,13239,13244,13248,13252],{"type":3144,"tag":3427,"props":13207,"children":13208},{"style":3506},[13209],{"type":3149,"value":11735},{"type":3144,"tag":3427,"props":13211,"children":13212},{"style":3572},[13213],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":13215,"children":13216},{"style":3578},[13217],{"type":3149,"value":3837},{"type":3144,"tag":3427,"props":13219,"children":13220},{"style":3506},[13221],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":13223,"children":13224},{"style":3506},[13225],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":13227,"children":13228},{"style":3439},[13229],{"type":3149,"value":13230},"close(1000, 'Closing')",{"type":3144,"tag":3427,"props":13232,"children":13233},{"style":3506},[13234],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":13236,"children":13237},{"style":3506},[13238],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":13240,"children":13241},{"style":3501},[13242],{"type":3149,"value":13243},"Close",{"type":3144,"tag":3427,"props":13245,"children":13246},{"style":3506},[13247],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13249,"children":13250},{"style":3572},[13251],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":13253,"children":13254},{"style":3506},[13255],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13257,"children":13258},{"class":3429,"line":4012},[13259,13263,13267,13271,13275,13279,13284,13288,13292,13297,13301,13305],{"type":3144,"tag":3427,"props":13260,"children":13261},{"style":3506},[13262],{"type":3149,"value":11735},{"type":3144,"tag":3427,"props":13264,"children":13265},{"style":3572},[13266],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":13268,"children":13269},{"style":3578},[13270],{"type":3149,"value":3837},{"type":3144,"tag":3427,"props":13272,"children":13273},{"style":3506},[13274],{"type":3149,"value":3509},{"type":3144,"tag":3427,"props":13276,"children":13277},{"style":3506},[13278],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":13280,"children":13281},{"style":3439},[13282],{"type":3149,"value":13283},"send('hello')",{"type":3144,"tag":3427,"props":13285,"children":13286},{"style":3506},[13287],{"type":3149,"value":3741},{"type":3144,"tag":3427,"props":13289,"children":13290},{"style":3506},[13291],{"type":3149,"value":3771},{"type":3144,"tag":3427,"props":13293,"children":13294},{"style":3501},[13295],{"type":3149,"value":13296},"Send hello",{"type":3144,"tag":3427,"props":13298,"children":13299},{"style":3506},[13300],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13302,"children":13303},{"style":3572},[13304],{"type":3149,"value":3832},{"type":3144,"tag":3427,"props":13306,"children":13307},{"style":3506},[13308],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13310,"children":13311},{"class":3429,"line":3037},[13312,13316,13320],{"type":3144,"tag":3427,"props":13313,"children":13314},{"style":3506},[13315],{"type":3149,"value":11866},{"type":3144,"tag":3427,"props":13317,"children":13318},{"style":3572},[13319],{"type":3149,"value":3151},{"type":3144,"tag":3427,"props":13321,"children":13322},{"style":3506},[13323],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13325,"children":13326},{"class":3429,"line":4080},[13327,13331,13335],{"type":3144,"tag":3427,"props":13328,"children":13329},{"style":3506},[13330],{"type":3149,"value":3884},{"type":3144,"tag":3427,"props":13332,"children":13333},{"style":3572},[13334],{"type":3149,"value":3727},{"type":3144,"tag":3427,"props":13336,"children":13337},{"style":3506},[13338],{"type":3149,"value":3586},{"type":3144,"tag":3427,"props":13340,"children":13341},{"class":3429,"line":4350},[13342,13346,13350],{"type":3144,"tag":3427,"props":13343,"children":13344},{"style":3506},[13345],{"type":3149,"value":3679},{"type":3144,"tag":3427,"props":13347,"children":13348},{"style":3572},[13349],{"type":3149,"value":3709},{"type":3144,"tag":3427,"props":13351,"children":13352},{"style":3506},[13353],{"type":3149,"value":3586},{"type":3144,"tag":3235,"props":13355,"children":13357},{"id":13356},"configuration",[13358],{"type":3149,"value":29},{"type":3144,"tag":3151,"props":13360,"children":13361},{},[13362,13364,13370,13372,13385],{"type":3149,"value":13363},"We leverage ",{"type":3144,"tag":3289,"props":13365,"children":13367},{"className":13366},[],[13368],{"type":3149,"value":13369},"runtimeConfig.session",{"type":3149,"value":13371}," to give the defaults option to ",{"type":3144,"tag":3155,"props":13373,"children":13376},{"href":13374,"rel":13375},"https:\u002F\u002Fh3.unjs.io\u002Fexamples\u002Fhandle-session",[3159],[13377,13379],{"type":3149,"value":13378},"h3 ",{"type":3144,"tag":3289,"props":13380,"children":13382},{"className":13381},[],[13383],{"type":3149,"value":13384},"useSession",{"type":3149,"value":3382},{"type":3144,"tag":3151,"props":13387,"children":13388},{},[13389,13391,13396],{"type":3149,"value":13390},"You can overwrite the options in your ",{"type":3144,"tag":3289,"props":13392,"children":13394},{"className":13393},[],[13395],{"type":3149,"value":233},{"type":3149,"value":4166},{"type":3144,"tag":3417,"props":13398,"children":13400},{"className":4105,"code":13399,"language":4107,"meta":3017,"style":3017},"export default defineNuxtConfig({\n  modules: ['nuxt-auth-utils'],\n  runtimeConfig: {\n    session: {\n      maxAge: 60 * 60 * 24 * 7 \u002F\u002F 1 week\n    }\n  }\n})\n",[13401],{"type":3144,"tag":3289,"props":13402,"children":13403},{"__ignoreMap":3017},[13404,13427,13462,13477,13493,13542,13549,13556],{"type":3144,"tag":3427,"props":13405,"children":13406},{"class":3429,"line":3103},[13407,13411,13415,13419,13423],{"type":3144,"tag":3427,"props":13408,"children":13409},{"style":4689},[13410],{"type":3149,"value":5223},{"type":3144,"tag":3427,"props":13412,"children":13413},{"style":4689},[13414],{"type":3149,"value":5338},{"type":3144,"tag":3427,"props":13416,"children":13417},{"style":3663},[13418],{"type":3149,"value":5343},{"type":3144,"tag":3427,"props":13420,"children":13421},{"style":3501},[13422],{"type":3149,"value":5348},{"type":3144,"tag":3427,"props":13424,"children":13425},{"style":3506},[13426],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":13428,"children":13429},{"class":3429,"line":3069},[13430,13434,13438,13442,13446,13450,13454,13458],{"type":3144,"tag":3427,"props":13431,"children":13432},{"style":3572},[13433],{"type":3149,"value":6575},{"type":3144,"tag":3427,"props":13435,"children":13436},{"style":3506},[13437],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13439,"children":13440},{"style":3501},[13441],{"type":3149,"value":6584},{"type":3144,"tag":3427,"props":13443,"children":13444},{"style":3506},[13445],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":13447,"children":13448},{"style":3439},[13449],{"type":3149,"value":3016},{"type":3144,"tag":3427,"props":13451,"children":13452},{"style":3506},[13453],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":13455,"children":13456},{"style":3501},[13457],{"type":3149,"value":6601},{"type":3144,"tag":3427,"props":13459,"children":13460},{"style":3506},[13461],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":13463,"children":13464},{"class":3429,"line":3053},[13465,13469,13473],{"type":3144,"tag":3427,"props":13466,"children":13467},{"style":3572},[13468],{"type":3149,"value":5361},{"type":3144,"tag":3427,"props":13470,"children":13471},{"style":3506},[13472],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13474,"children":13475},{"style":3506},[13476],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":13478,"children":13479},{"class":3429,"line":3690},[13480,13485,13489],{"type":3144,"tag":3427,"props":13481,"children":13482},{"style":3572},[13483],{"type":3149,"value":13484},"    session",{"type":3144,"tag":3427,"props":13486,"children":13487},{"style":3506},[13488],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13490,"children":13491},{"style":3506},[13492],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":13494,"children":13495},{"class":3429,"line":3699},[13496,13501,13505,13510,13515,13519,13523,13528,13532,13537],{"type":3144,"tag":3427,"props":13497,"children":13498},{"style":3572},[13499],{"type":3149,"value":13500},"      maxAge",{"type":3144,"tag":3427,"props":13502,"children":13503},{"style":3506},[13504],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13506,"children":13507},{"style":7027},[13508],{"type":3149,"value":13509}," 60",{"type":3144,"tag":3427,"props":13511,"children":13512},{"style":3506},[13513],{"type":3149,"value":13514}," *",{"type":3144,"tag":3427,"props":13516,"children":13517},{"style":7027},[13518],{"type":3149,"value":13509},{"type":3144,"tag":3427,"props":13520,"children":13521},{"style":3506},[13522],{"type":3149,"value":13514},{"type":3144,"tag":3427,"props":13524,"children":13525},{"style":7027},[13526],{"type":3149,"value":13527}," 24",{"type":3144,"tag":3427,"props":13529,"children":13530},{"style":3506},[13531],{"type":3149,"value":13514},{"type":3144,"tag":3427,"props":13533,"children":13534},{"style":7027},[13535],{"type":3149,"value":13536}," 7",{"type":3144,"tag":3427,"props":13538,"children":13539},{"style":3492},[13540],{"type":3149,"value":13541}," \u002F\u002F 1 week\n",{"type":3144,"tag":3427,"props":13543,"children":13544},{"class":3429,"line":3716},[13545],{"type":3144,"tag":3427,"props":13546,"children":13547},{"style":3506},[13548],{"type":3149,"value":5479},{"type":3144,"tag":3427,"props":13550,"children":13551},{"class":3429,"line":3049},[13552],{"type":3144,"tag":3427,"props":13553,"children":13554},{"style":3506},[13555],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":13557,"children":13558},{"class":3429,"line":3045},[13559,13563],{"type":3144,"tag":3427,"props":13560,"children":13561},{"style":3506},[13562],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":13564,"children":13565},{"style":3501},[13566],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":13568,"children":13569},{},[13570],{"type":3149,"value":13571},"Our defaults are:",{"type":3144,"tag":3417,"props":13573,"children":13575},{"className":4105,"code":13574,"language":4107,"meta":3017,"style":3017},"{\n  name: 'nuxt-session',\n  password: process.env.NUXT_SESSION_PASSWORD || '',\n  cookie: {\n    sameSite: 'lax'\n  }\n}\n",[13576],{"type":3144,"tag":3289,"props":13577,"children":13578},{"__ignoreMap":3017},[13579,13586,13615,13663,13679,13704,13711],{"type":3144,"tag":3427,"props":13580,"children":13581},{"class":3429,"line":3103},[13582],{"type":3144,"tag":3427,"props":13583,"children":13584},{"style":3506},[13585],{"type":3149,"value":5353},{"type":3144,"tag":3427,"props":13587,"children":13588},{"class":3429,"line":3069},[13589,13594,13598,13602,13607,13611],{"type":3144,"tag":3427,"props":13590,"children":13591},{"style":3433},[13592],{"type":3149,"value":13593},"  name",{"type":3144,"tag":3427,"props":13595,"children":13596},{"style":3506},[13597],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13599,"children":13600},{"style":3506},[13601],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":13603,"children":13604},{"style":3439},[13605],{"type":3149,"value":13606},"nuxt-session",{"type":3144,"tag":3427,"props":13608,"children":13609},{"style":3506},[13610],{"type":3149,"value":5090},{"type":3144,"tag":3427,"props":13612,"children":13613},{"style":3506},[13614],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":13616,"children":13617},{"class":3429,"line":3053},[13618,13623,13627,13632,13636,13641,13645,13649,13654,13659],{"type":3144,"tag":3427,"props":13619,"children":13620},{"style":3433},[13621],{"type":3149,"value":13622},"  password",{"type":3144,"tag":3427,"props":13624,"children":13625},{"style":3506},[13626],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13628,"children":13629},{"style":3501},[13630],{"type":3149,"value":13631}," process",{"type":3144,"tag":3427,"props":13633,"children":13634},{"style":3506},[13635],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":13637,"children":13638},{"style":3501},[13639],{"type":3149,"value":13640},"env",{"type":3144,"tag":3427,"props":13642,"children":13643},{"style":3506},[13644],{"type":3149,"value":3382},{"type":3144,"tag":3427,"props":13646,"children":13647},{"style":3501},[13648],{"type":3149,"value":3471},{"type":3144,"tag":3427,"props":13650,"children":13651},{"style":3506},[13652],{"type":3149,"value":13653}," ||",{"type":3144,"tag":3427,"props":13655,"children":13656},{"style":3506},[13657],{"type":3149,"value":13658}," ''",{"type":3144,"tag":3427,"props":13660,"children":13661},{"style":3506},[13662],{"type":3149,"value":5439},{"type":3144,"tag":3427,"props":13664,"children":13665},{"class":3429,"line":3690},[13666,13671,13675],{"type":3144,"tag":3427,"props":13667,"children":13668},{"style":3433},[13669],{"type":3149,"value":13670},"  cookie",{"type":3144,"tag":3427,"props":13672,"children":13673},{"style":3506},[13674],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13676,"children":13677},{"style":3506},[13678],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":13680,"children":13681},{"class":3429,"line":3699},[13682,13687,13691,13695,13700],{"type":3144,"tag":3427,"props":13683,"children":13684},{"style":3433},[13685],{"type":3149,"value":13686},"    sameSite",{"type":3144,"tag":3427,"props":13688,"children":13689},{"style":3506},[13690],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13692,"children":13693},{"style":3506},[13694],{"type":3149,"value":4750},{"type":3144,"tag":3427,"props":13696,"children":13697},{"style":3439},[13698],{"type":3149,"value":13699},"lax",{"type":3144,"tag":3427,"props":13701,"children":13702},{"style":3506},[13703],{"type":3149,"value":4759},{"type":3144,"tag":3427,"props":13705,"children":13706},{"class":3429,"line":3716},[13707],{"type":3144,"tag":3427,"props":13708,"children":13709},{"style":3506},[13710],{"type":3149,"value":5127},{"type":3144,"tag":3427,"props":13712,"children":13713},{"class":3429,"line":3049},[13714],{"type":3144,"tag":3427,"props":13715,"children":13716},{"style":3506},[13717],{"type":3149,"value":4605},{"type":3144,"tag":3151,"props":13719,"children":13720},{},[13721,13723,13729,13730,13736],{"type":3149,"value":13722},"You can also overwrite the session config by passing it as 3rd argument of the ",{"type":3144,"tag":3289,"props":13724,"children":13726},{"className":13725},[],[13727],{"type":3149,"value":13728},"setUserSession",{"type":3149,"value":6259},{"type":3144,"tag":3289,"props":13731,"children":13733},{"className":13732},[],[13734],{"type":3149,"value":13735},"replaceUserSession",{"type":3149,"value":13737}," functions:",{"type":3144,"tag":3417,"props":13739,"children":13741},{"className":4105,"code":13740,"language":4107,"meta":3017,"style":3017},"await setUserSession(event, { ... } , {\n  maxAge: 60 * 60 * 24 * 7 \u002F\u002F 1 week\n})\n",[13742],{"type":3144,"tag":3289,"props":13743,"children":13744},{"__ignoreMap":3017},[13745,13786,13830],{"type":3144,"tag":3427,"props":13746,"children":13747},{"class":3429,"line":3103},[13748,13752,13756,13760,13764,13768,13773,13777,13782],{"type":3144,"tag":3427,"props":13749,"children":13750},{"style":4689},[13751],{"type":3149,"value":4692},{"type":3144,"tag":3427,"props":13753,"children":13754},{"style":3663},[13755],{"type":3149,"value":4697},{"type":3144,"tag":3427,"props":13757,"children":13758},{"style":3501},[13759],{"type":3149,"value":4702},{"type":3144,"tag":3427,"props":13761,"children":13762},{"style":3506},[13763],{"type":3149,"value":3609},{"type":3144,"tag":3427,"props":13765,"children":13766},{"style":3506},[13767],{"type":3149,"value":3599},{"type":3144,"tag":3427,"props":13769,"children":13770},{"style":3506},[13771],{"type":3149,"value":13772}," ...",{"type":3144,"tag":3427,"props":13774,"children":13775},{"style":3506},[13776],{"type":3149,"value":7539},{"type":3144,"tag":3427,"props":13778,"children":13779},{"style":3506},[13780],{"type":3149,"value":13781}," ,",{"type":3144,"tag":3427,"props":13783,"children":13784},{"style":3506},[13785],{"type":3149,"value":4129},{"type":3144,"tag":3427,"props":13787,"children":13788},{"class":3429,"line":3069},[13789,13794,13798,13802,13806,13810,13814,13818,13822,13826],{"type":3144,"tag":3427,"props":13790,"children":13791},{"style":3572},[13792],{"type":3149,"value":13793},"  maxAge",{"type":3144,"tag":3427,"props":13795,"children":13796},{"style":3506},[13797],{"type":3149,"value":4166},{"type":3144,"tag":3427,"props":13799,"children":13800},{"style":7027},[13801],{"type":3149,"value":13509},{"type":3144,"tag":3427,"props":13803,"children":13804},{"style":3506},[13805],{"type":3149,"value":13514},{"type":3144,"tag":3427,"props":13807,"children":13808},{"style":7027},[13809],{"type":3149,"value":13509},{"type":3144,"tag":3427,"props":13811,"children":13812},{"style":3506},[13813],{"type":3149,"value":13514},{"type":3144,"tag":3427,"props":13815,"children":13816},{"style":7027},[13817],{"type":3149,"value":13527},{"type":3144,"tag":3427,"props":13819,"children":13820},{"style":3506},[13821],{"type":3149,"value":13514},{"type":3144,"tag":3427,"props":13823,"children":13824},{"style":7027},[13825],{"type":3149,"value":13536},{"type":3144,"tag":3427,"props":13827,"children":13828},{"style":3492},[13829],{"type":3149,"value":13541},{"type":3144,"tag":3427,"props":13831,"children":13832},{"class":3429,"line":3053},[13833,13837],{"type":3144,"tag":3427,"props":13834,"children":13835},{"style":3506},[13836],{"type":3149,"value":3655},{"type":3144,"tag":3427,"props":13838,"children":13839},{"style":3501},[13840],{"type":3149,"value":4869},{"type":3144,"tag":3151,"props":13842,"children":13843},{},[13844,13846,13857],{"type":3149,"value":13845},"Checkout the ",{"type":3144,"tag":3155,"props":13847,"children":13850},{"href":13848,"rel":13849},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fh3\u002Fblob\u002Fc04c458810e34eb15c1647e1369e7d7ef19f567d\u002Fsrc\u002Futils\u002Fsession.ts#L20",[3159],[13851],{"type":3144,"tag":3289,"props":13852,"children":13854},{"className":13853},[],[13855],{"type":3149,"value":13856},"SessionConfig",{"type":3149,"value":13858}," for all options.",{"type":3144,"tag":3235,"props":13860,"children":13862},{"id":13861},"more",[13863],{"type":3149,"value":13864},"More",{"type":3144,"tag":3201,"props":13866,"children":13867},{},[13868],{"type":3144,"tag":3205,"props":13869,"children":13870},{},[13871,13878,13880],{"type":3144,"tag":3155,"props":13872,"children":13875},{"href":13873,"rel":13874},"https:\u002F\u002Fgithub.com\u002Fbarbapapazes\u002Fnuxt-authorization",[3159],[13876],{"type":3149,"value":13877},"nuxt-authorization",{"type":3149,"value":13879},": Authorization module for managing permissions inside a Nuxt app, compatible with ",{"type":3144,"tag":3289,"props":13881,"children":13883},{"className":13882},[],[13884],{"type":3149,"value":3016},{"type":3144,"tag":3235,"props":13886,"children":13888},{"id":13887},"development",[13889],{"type":3149,"value":13890},"Development",{"type":3144,"tag":3417,"props":13892,"children":13894},{"className":3419,"code":13893,"language":3421,"meta":3017,"style":3017},"# Install dependencies\npnpm install\n\n# Generate type stubs\npnpm run dev:prepare\n\n# Develop with the playground\npnpm run dev\n\n# Build the playground\npnpm run dev:build\n\n# Run ESLint\npnpm run lint\n\n# Run Vitest\npnpm run test\npnpm run test:watch\n\n# Release new version\npnpm run release\n",[13895],{"type":3144,"tag":3289,"props":13896,"children":13897},{"__ignoreMap":3017},[13898,13906,13919,13926,13934,13951,13958,13966,13982,13989,13997,14013,14020,14028,14044,14051,14059,14075,14091,14098,14106],{"type":3144,"tag":3427,"props":13899,"children":13900},{"class":3429,"line":3103},[13901],{"type":3144,"tag":3427,"props":13902,"children":13903},{"style":3492},[13904],{"type":3149,"value":13905},"# Install dependencies\n",{"type":3144,"tag":3427,"props":13907,"children":13908},{"class":3429,"line":3069},[13909,13914],{"type":3144,"tag":3427,"props":13910,"children":13911},{"style":3433},[13912],{"type":3149,"value":13913},"pnpm",{"type":3144,"tag":3427,"props":13915,"children":13916},{"style":3439},[13917],{"type":3149,"value":13918}," install\n",{"type":3144,"tag":3427,"props":13920,"children":13921},{"class":3429,"line":3053},[13922],{"type":3144,"tag":3427,"props":13923,"children":13924},{"emptyLinePlaceholder":1200},[13925],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":13927,"children":13928},{"class":3429,"line":3690},[13929],{"type":3144,"tag":3427,"props":13930,"children":13931},{"style":3492},[13932],{"type":3149,"value":13933},"# Generate type stubs\n",{"type":3144,"tag":3427,"props":13935,"children":13936},{"class":3429,"line":3699},[13937,13941,13946],{"type":3144,"tag":3427,"props":13938,"children":13939},{"style":3433},[13940],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":13942,"children":13943},{"style":3439},[13944],{"type":3149,"value":13945}," run",{"type":3144,"tag":3427,"props":13947,"children":13948},{"style":3439},[13949],{"type":3149,"value":13950}," dev:prepare\n",{"type":3144,"tag":3427,"props":13952,"children":13953},{"class":3429,"line":3716},[13954],{"type":3144,"tag":3427,"props":13955,"children":13956},{"emptyLinePlaceholder":1200},[13957],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":13959,"children":13960},{"class":3429,"line":3049},[13961],{"type":3144,"tag":3427,"props":13962,"children":13963},{"style":3492},[13964],{"type":3149,"value":13965},"# Develop with the playground\n",{"type":3144,"tag":3427,"props":13967,"children":13968},{"class":3429,"line":3045},[13969,13973,13977],{"type":3144,"tag":3427,"props":13970,"children":13971},{"style":3433},[13972],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":13974,"children":13975},{"style":3439},[13976],{"type":3149,"value":13945},{"type":3144,"tag":3427,"props":13978,"children":13979},{"style":3439},[13980],{"type":3149,"value":13981}," dev\n",{"type":3144,"tag":3427,"props":13983,"children":13984},{"class":3429,"line":3041},[13985],{"type":3144,"tag":3427,"props":13986,"children":13987},{"emptyLinePlaceholder":1200},[13988],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":13990,"children":13991},{"class":3429,"line":3878},[13992],{"type":3144,"tag":3427,"props":13993,"children":13994},{"style":3492},[13995],{"type":3149,"value":13996},"# Build the playground\n",{"type":3144,"tag":3427,"props":13998,"children":13999},{"class":3429,"line":3132},[14000,14004,14008],{"type":3144,"tag":3427,"props":14001,"children":14002},{"style":3433},[14003],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":14005,"children":14006},{"style":3439},[14007],{"type":3149,"value":13945},{"type":3144,"tag":3427,"props":14009,"children":14010},{"style":3439},[14011],{"type":3149,"value":14012}," dev:build\n",{"type":3144,"tag":3427,"props":14014,"children":14015},{"class":3429,"line":3915},[14016],{"type":3144,"tag":3427,"props":14017,"children":14018},{"emptyLinePlaceholder":1200},[14019],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":14021,"children":14022},{"class":3429,"line":3948},[14023],{"type":3144,"tag":3427,"props":14024,"children":14025},{"style":3492},[14026],{"type":3149,"value":14027},"# Run ESLint\n",{"type":3144,"tag":3427,"props":14029,"children":14030},{"class":3429,"line":4003},[14031,14035,14039],{"type":3144,"tag":3427,"props":14032,"children":14033},{"style":3433},[14034],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":14036,"children":14037},{"style":3439},[14038],{"type":3149,"value":13945},{"type":3144,"tag":3427,"props":14040,"children":14041},{"style":3439},[14042],{"type":3149,"value":14043}," lint\n",{"type":3144,"tag":3427,"props":14045,"children":14046},{"class":3429,"line":4012},[14047],{"type":3144,"tag":3427,"props":14048,"children":14049},{"emptyLinePlaceholder":1200},[14050],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":14052,"children":14053},{"class":3429,"line":3037},[14054],{"type":3144,"tag":3427,"props":14055,"children":14056},{"style":3492},[14057],{"type":3149,"value":14058},"# Run Vitest\n",{"type":3144,"tag":3427,"props":14060,"children":14061},{"class":3429,"line":4080},[14062,14066,14070],{"type":3144,"tag":3427,"props":14063,"children":14064},{"style":3433},[14065],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":14067,"children":14068},{"style":3439},[14069],{"type":3149,"value":13945},{"type":3144,"tag":3427,"props":14071,"children":14072},{"style":3439},[14073],{"type":3149,"value":14074}," test\n",{"type":3144,"tag":3427,"props":14076,"children":14077},{"class":3429,"line":4350},[14078,14082,14086],{"type":3144,"tag":3427,"props":14079,"children":14080},{"style":3433},[14081],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":14083,"children":14084},{"style":3439},[14085],{"type":3149,"value":13945},{"type":3144,"tag":3427,"props":14087,"children":14088},{"style":3439},[14089],{"type":3149,"value":14090}," test:watch\n",{"type":3144,"tag":3427,"props":14092,"children":14093},{"class":3429,"line":4358},[14094],{"type":3144,"tag":3427,"props":14095,"children":14096},{"emptyLinePlaceholder":1200},[14097],{"type":3149,"value":3696},{"type":3144,"tag":3427,"props":14099,"children":14100},{"class":3429,"line":4367},[14101],{"type":3144,"tag":3427,"props":14102,"children":14103},{"style":3492},[14104],{"type":3149,"value":14105},"# Release new version\n",{"type":3144,"tag":3427,"props":14107,"children":14108},{"class":3429,"line":4375},[14109,14113,14117],{"type":3144,"tag":3427,"props":14110,"children":14111},{"style":3433},[14112],{"type":3149,"value":13913},{"type":3144,"tag":3427,"props":14114,"children":14115},{"style":3439},[14116],{"type":3149,"value":13945},{"type":3144,"tag":3427,"props":14118,"children":14119},{"style":3439},[14120],{"type":3149,"value":14121}," release\n",{"type":3144,"tag":14123,"props":14124,"children":14125},"style",{},[14126],{"type":3149,"value":14127},"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":3017,"searchDepth":3069,"depth":3069,"links":14129},[14130,14131,14132,14133,14136,14144,14145,14150,14151,14152,14153],{"id":3237,"depth":3069,"text":399},{"id":3355,"depth":3069,"text":3358},{"id":3396,"depth":3069,"text":3399},{"id":3537,"depth":3069,"text":3540,"children":14134},[14135],{"id":3549,"depth":3053,"text":3552},{"id":4630,"depth":3069,"text":4633,"children":14137},[14138,14139,14140,14141,14142,14143],{"id":4649,"depth":3053,"text":4652},{"id":5243,"depth":3053,"text":5246},{"id":6244,"depth":3053,"text":3271},{"id":6696,"depth":3053,"text":6699},{"id":6846,"depth":3053,"text":3280},{"id":10760,"depth":3053,"text":10763},{"id":11053,"depth":3069,"text":11056},{"id":11328,"depth":3069,"text":3251,"children":14146},[14147,14148],{"id":11499,"depth":3053,"text":11502},{"id":11627,"depth":3053,"text":14149},"\u003CAuthState> component",{"id":12332,"depth":3069,"text":12335},{"id":13356,"depth":3069,"text":29},{"id":13861,"depth":3069,"text":13864},{"id":13887,"depth":3069,"text":13890}]