[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"module-auth-utils":3011,"versions":14153},[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,3007],{"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},"Nuxt Security Patch Releases","\u002Fblog\u002Fv4-5-security","blog\u002F47.v4-5-security",{"title":2992,"path":2993,"stem":2994},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2996,"path":2997,"stem":2998},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":3000,"path":3001,"stem":3002},"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":3004,"path":3005,"stem":3006},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":3008,"path":3009,"stem":3010},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"name":3012,"description":3013,"repo":3014,"npm":3015,"icon":3016,"github":3017,"website":3017,"learn_more":3016,"category":3018,"type":3019,"maintainers":3020,"compatibility":3025,"generatedAt":3028,"contributors":3029,"stats":3127,"readme":3136},"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",[3021],{"name":3022,"github":3023,"twitter":3023,"bluesky":3024},"Sébastien Chopin","atinux","atinux.com",{"nuxt":3026,"requires":3027},">=3.0.0",{},"2026-07-27T18:01:57.402Z",[3030,3033,3037,3041,3045,3049,3053,3056,3059,3062,3065,3069,3072,3075,3078,3081,3084,3087,3090,3093,3096,3099,3103,3106,3109,3112,3115,3118,3121,3124],{"id":3031,"username":3023,"contributions":3032},904724,197,{"id":3034,"username":3035,"contributions":3036},28706372,"danielroe",16,{"id":3038,"username":3039,"contributions":3040},50090595,"ahmedrangel",9,{"id":3042,"username":3043,"contributions":3044},12988935,"Gerbuuun",8,{"id":3046,"username":3047,"contributions":3048},45267552,"Barbapapazes",7,{"id":3050,"username":3051,"contributions":3052},13056429,"sandros94",3,{"id":3054,"username":3055,"contributions":3052},16264115,"Yizack",{"id":3057,"username":3058,"contributions":3052},967369,"acidjazz",{"id":3060,"username":3061,"contributions":3052},15887916,"blumgart",{"id":3063,"username":3064,"contributions":3052},67746033,"justserdar",{"id":3066,"username":3067,"contributions":3068},10636392,"brianacdev",2,{"id":3070,"username":3071,"contributions":3068},67898185,"larsrickert",{"id":3073,"username":3074,"contributions":3068},40021217,"kingyue737",{"id":3076,"username":3077,"contributions":3068},59120414,"cth-latest",{"id":3079,"username":3080,"contributions":3068},19751938,"noook",{"id":3082,"username":3083,"contributions":3068},1409645,"mariosant",{"id":3085,"username":3086,"contributions":3068},24661232,"Jorgagu",{"id":3088,"username":3089,"contributions":3068},5326365,"harlan-zw",{"id":3091,"username":3092,"contributions":3068},61092270,"stranavad",{"id":3094,"username":3095,"contributions":3068},1592441,"mendrinos",{"id":3097,"username":3098,"contributions":3068},376963,"bisand",{"id":3100,"username":3101,"contributions":3102},18315316,"Syrex-o",1,{"id":3104,"username":3105,"contributions":3102},3109921,"silvio-e",{"id":3107,"username":3108,"contributions":3102},18753964,"sifferhans",{"id":3110,"username":3111,"contributions":3102},17186421,"samulefevre",{"id":3113,"username":3114,"contributions":3102},15785987,"samydoesit",{"id":3116,"username":3117,"contributions":3102},31662219,"rudokemper",{"id":3119,"username":3120,"contributions":3102},29805551,"RobertHaba",{"id":3122,"username":3123,"contributions":3102},1231105,"SteinRobert",{"id":3125,"username":3126,"contributions":3102},5472296,"robert-hoffmann",{"version":3128,"downloads":3129,"stars":3130,"watchers":3131,"forks":3132,"defaultBranch":3133,"publishedAt":3134,"createdAt":3135},"0.5.29",338309,1586,11,187,"main",1771335673386,1699356484873,{"data":3137,"body":3139,"toc":14127},{"title":3138,"description":3016},"Nuxt Auth Utils",{"type":3140,"children":3141},"root",[3142,3149,3195,3199,3233,3239,3338,3352,3358,3370,3382,3393,3399,3415,3457,3479,3514,3526,3534,3540,3545,3552,4093,4102,4605,4627,4633,4646,4652,5029,5049,5228,5240,5246,5251,5271,5292,5319,5497,5502,5523,5531,5538,5781,5794,5800,5811,6216,6228,6241,6246,6276,6402,6415,6526,6537,6693,6699,6704,6709,6717,6751,6764,6843,6848,6853,6858,6865,6897,6909,6988,6993,6998,7012,7332,7472,7502,8430,8465,9302,9336,9849,9854,10693,10711,10717,10746,10757,10763,10768,11050,11056,11075,11301,11325,11330,11350,11355,11363,11382,11470,11496,11502,11519,11606,11624,11634,11646,11651,11904,11916,11928,12301,12329,12335,12348,12366,12469,12489,12839,12853,13353,13358,13385,13396,13566,13571,13717,13737,13840,13858,13864,13884,13890,14121],{"type":3143,"tag":3144,"props":3145,"children":3146},"element","h1",{"id":3015},[3147],{"type":3148,"value":3138},"text",{"type":3143,"tag":3150,"props":3151,"children":3152},"p",{},[3153,3166,3176,3185],{"type":3143,"tag":3154,"props":3155,"children":3159},"a",{"href":3156,"rel":3157},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-auth-utils",[3158],"nofollow",[3160],{"type":3143,"tag":3161,"props":3162,"children":3165},"img",{"alt":3163,"src":3164},"npm version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-auth-utils\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3143,"tag":3154,"props":3167,"children":3170},{"href":3168,"rel":3169},"https:\u002F\u002Fnpm.chart.dev\u002Fnuxt-auth-utils",[3158],[3171],{"type":3143,"tag":3161,"props":3172,"children":3175},{"alt":3173,"src":3174},"npm downloads","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-auth-utils.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3143,"tag":3154,"props":3177,"children":3179},{"href":3156,"rel":3178},[3158],[3180],{"type":3143,"tag":3161,"props":3181,"children":3184},{"alt":3182,"src":3183},"License","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-auth-utils.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3143,"tag":3154,"props":3186,"children":3189},{"href":3187,"rel":3188},"https:\u002F\u002Fnuxt.com",[3158],[3190],{"type":3143,"tag":3161,"props":3191,"children":3194},{"alt":3192,"src":3193},"Nuxt","https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt.js",[],{"type":3143,"tag":3150,"props":3196,"children":3197},{},[3198],{"type":3148,"value":3013},{"type":3143,"tag":3200,"props":3201,"children":3202},"ul",{},[3203,3213,3223],{"type":3143,"tag":3204,"props":3205,"children":3206},"li",{},[3207],{"type":3143,"tag":3154,"props":3208,"children":3210},{"href":3209},"\u002FCHANGELOG.md",[3211],{"type":3148,"value":3212},"Release Notes",{"type":3143,"tag":3204,"props":3214,"children":3215},{},[3216],{"type":3143,"tag":3154,"props":3217,"children":3220},{"href":3218,"rel":3219},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fatidone",[3158],[3221],{"type":3148,"value":3222},"Demo with OAuth",{"type":3143,"tag":3204,"props":3224,"children":3225},{},[3226],{"type":3143,"tag":3154,"props":3227,"children":3230},{"href":3228,"rel":3229},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Ftodo-passkeys",[3158],[3231],{"type":3148,"value":3232},"Demo with Passkeys",{"type":3143,"tag":3234,"props":3235,"children":3237},"h2",{"id":3236},"features",[3238],{"type":3148,"value":399},{"type":3143,"tag":3200,"props":3240,"children":3241},{},[3242,3253,3262,3271,3280,3296,3305,3320,3329],{"type":3143,"tag":3204,"props":3243,"children":3244},{},[3245,3251],{"type":3143,"tag":3154,"props":3246,"children":3248},{"href":3247},"#hybrid-rendering",[3249],{"type":3148,"value":3250},"Hybrid Rendering",{"type":3148,"value":3252}," support (SSR \u002F CSR \u002F SWR \u002F Prerendering)",{"type":3143,"tag":3204,"props":3254,"children":3255},{},[3256],{"type":3143,"tag":3154,"props":3257,"children":3259},{"href":3258},"#supported-oauth-providers",[3260],{"type":3148,"value":3261},"40+ OAuth Providers",{"type":3143,"tag":3204,"props":3263,"children":3264},{},[3265],{"type":3143,"tag":3154,"props":3266,"children":3268},{"href":3267},"#password-hashing",[3269],{"type":3148,"value":3270},"Password Hashing",{"type":3143,"tag":3204,"props":3272,"children":3273},{},[3274],{"type":3143,"tag":3154,"props":3275,"children":3277},{"href":3276},"#webauthn-passkey",[3278],{"type":3148,"value":3279},"WebAuthn (passkey)",{"type":3143,"tag":3204,"props":3281,"children":3282},{},[3283],{"type":3143,"tag":3154,"props":3284,"children":3286},{"href":3285},"#vue-composable",[3287,3294],{"type":3143,"tag":3288,"props":3289,"children":3291},"code",{"className":3290},[],[3292],{"type":3148,"value":3293},"useUserSession()",{"type":3148,"value":3295}," Vue composable",{"type":3143,"tag":3204,"props":3297,"children":3298},{},[3299],{"type":3143,"tag":3154,"props":3300,"children":3302},{"href":3301},"#server-utils",[3303],{"type":3148,"value":3304},"Tree-shakable server utils",{"type":3143,"tag":3204,"props":3306,"children":3307},{},[3308],{"type":3143,"tag":3154,"props":3309,"children":3311},{"href":3310},"#authstate-component",[3312,3318],{"type":3143,"tag":3288,"props":3313,"children":3315},{"className":3314},[],[3316],{"type":3148,"value":3317},"\u003CAuthState>",{"type":3148,"value":3319}," component",{"type":3143,"tag":3204,"props":3321,"children":3322},{},[3323],{"type":3143,"tag":3154,"props":3324,"children":3326},{"href":3325},"#extend-session",[3327],{"type":3148,"value":3328},"Extendable with hooks",{"type":3143,"tag":3204,"props":3330,"children":3331},{},[3332],{"type":3143,"tag":3154,"props":3333,"children":3335},{"href":3334},"#websocket-support",[3336],{"type":3148,"value":3337},"WebSocket support",{"type":3143,"tag":3150,"props":3339,"children":3340},{},[3341,3343,3350],{"type":3148,"value":3342},"It has few dependencies (only from ",{"type":3143,"tag":3154,"props":3344,"children":3347},{"href":3345,"rel":3346},"https:\u002F\u002Fgithub.com\u002Funjs",[3158],[3348],{"type":3148,"value":3349},"UnJS",{"type":3148,"value":3351},"), run on multiple JS environments (Node, Deno, Workers) and is fully typed with TypeScript.",{"type":3143,"tag":3234,"props":3353,"children":3355},{"id":3354},"requirements",[3356],{"type":3148,"value":3357},"Requirements",{"type":3143,"tag":3150,"props":3359,"children":3360},{},[3361,3363,3368],{"type":3148,"value":3362},"This module only works with a Nuxt server running as it uses server API routes (",{"type":3143,"tag":3288,"props":3364,"children":3366},{"className":3365},[],[3367],{"type":3148,"value":765},{"type":3148,"value":3369},").",{"type":3143,"tag":3150,"props":3371,"children":3372},{},[3373,3375,3380],{"type":3148,"value":3374},"This means that you cannot use this module with ",{"type":3143,"tag":3288,"props":3376,"children":3378},{"className":3377},[],[3379],{"type":3148,"value":785},{"type":3148,"value":3381},".",{"type":3143,"tag":3150,"props":3383,"children":3384},{},[3385,3387,3391],{"type":3148,"value":3386},"You can anyway use ",{"type":3143,"tag":3154,"props":3388,"children":3389},{"href":3247},[3390],{"type":3148,"value":3250},{"type":3148,"value":3392}," to pre-render pages of your application or disable server-side rendering completely.",{"type":3143,"tag":3234,"props":3394,"children":3396},{"id":3395},"quick-setup",[3397],{"type":3148,"value":3398},"Quick Setup",{"type":3143,"tag":3400,"props":3401,"children":3402},"ol",{},[3403],{"type":3143,"tag":3204,"props":3404,"children":3405},{},[3406,3408,3413],{"type":3148,"value":3407},"Add ",{"type":3143,"tag":3288,"props":3409,"children":3411},{"className":3410},[],[3412],{"type":3148,"value":3015},{"type":3148,"value":3414}," in your Nuxt project",{"type":3143,"tag":3416,"props":3417,"children":3421},"pre",{"className":3418,"code":3419,"language":3420,"meta":3016,"style":3016},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi@latest module add auth-utils\n","bash",[3422],{"type":3143,"tag":3288,"props":3423,"children":3424},{"__ignoreMap":3016},[3425],{"type":3143,"tag":3426,"props":3427,"children":3429},"span",{"class":3428,"line":3102},"line",[3430,3436,3442,3447,3452],{"type":3143,"tag":3426,"props":3431,"children":3433},{"style":3432},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[3434],{"type":3148,"value":3435},"npx",{"type":3143,"tag":3426,"props":3437,"children":3439},{"style":3438},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[3440],{"type":3148,"value":3441}," nuxi@latest",{"type":3143,"tag":3426,"props":3443,"children":3444},{"style":3438},[3445],{"type":3148,"value":3446}," module",{"type":3143,"tag":3426,"props":3448,"children":3449},{"style":3438},[3450],{"type":3148,"value":3451}," add",{"type":3143,"tag":3426,"props":3453,"children":3454},{"style":3438},[3455],{"type":3148,"value":3456}," auth-utils\n",{"type":3143,"tag":3400,"props":3458,"children":3459},{"start":3068},[3460],{"type":3143,"tag":3204,"props":3461,"children":3462},{},[3463,3465,3471,3473,3478],{"type":3148,"value":3464},"Add a ",{"type":3143,"tag":3288,"props":3466,"children":3468},{"className":3467},[],[3469],{"type":3148,"value":3470},"NUXT_SESSION_PASSWORD",{"type":3148,"value":3472}," env variable with at least 32 characters in the ",{"type":3143,"tag":3288,"props":3474,"children":3476},{"className":3475},[],[3477],{"type":3148,"value":200},{"type":3148,"value":3381},{"type":3143,"tag":3416,"props":3480,"children":3482},{"className":3418,"code":3481,"language":3420,"meta":3016,"style":3016},"# .env\nNUXT_SESSION_PASSWORD=password-with-at-least-32-characters\n",[3483],{"type":3143,"tag":3288,"props":3484,"children":3485},{"__ignoreMap":3016},[3486,3495],{"type":3143,"tag":3426,"props":3487,"children":3488},{"class":3428,"line":3102},[3489],{"type":3143,"tag":3426,"props":3490,"children":3492},{"style":3491},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3493],{"type":3148,"value":3494},"# .env\n",{"type":3143,"tag":3426,"props":3496,"children":3497},{"class":3428,"line":3068},[3498,3503,3509],{"type":3143,"tag":3426,"props":3499,"children":3501},{"style":3500},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[3502],{"type":3148,"value":3470},{"type":3143,"tag":3426,"props":3504,"children":3506},{"style":3505},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[3507],{"type":3148,"value":3508},"=",{"type":3143,"tag":3426,"props":3510,"children":3511},{"style":3438},[3512],{"type":3148,"value":3513},"password-with-at-least-32-characters\n",{"type":3143,"tag":3150,"props":3515,"children":3516},{},[3517,3519,3524],{"type":3148,"value":3518},"Nuxt Auth Utils generates one for you when running Nuxt in development the first time if no ",{"type":3143,"tag":3288,"props":3520,"children":3522},{"className":3521},[],[3523],{"type":3148,"value":3470},{"type":3148,"value":3525}," is set.",{"type":3143,"tag":3400,"props":3527,"children":3528},{"start":3052},[3529],{"type":3143,"tag":3204,"props":3530,"children":3531},{},[3532],{"type":3148,"value":3533},"That's it! You can now add authentication to your Nuxt app ✨",{"type":3143,"tag":3234,"props":3535,"children":3537},{"id":3536},"vue-composable",[3538],{"type":3148,"value":3539},"Vue Composable",{"type":3143,"tag":3150,"props":3541,"children":3542},{},[3543],{"type":3148,"value":3544},"Nuxt Auth Utils automatically adds some plugins to fetch the current user session to let you access it from your Vue components.",{"type":3143,"tag":3546,"props":3547,"children":3549},"h3",{"id":3548},"user-session",[3550],{"type":3148,"value":3551},"User Session",{"type":3143,"tag":3416,"props":3553,"children":3557},{"className":3554,"code":3555,"language":3556,"meta":3016,"style":3016},"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",[3558],{"type":3143,"tag":3288,"props":3559,"children":3560},{"__ignoreMap":3016},[3561,3586,3671,3687,3696,3713,3754,3788,3820,3875,3892,3912,3945,4000,4009,4062,4077],{"type":3143,"tag":3426,"props":3562,"children":3563},{"class":3428,"line":3102},[3564,3569,3575,3581],{"type":3143,"tag":3426,"props":3565,"children":3566},{"style":3505},[3567],{"type":3148,"value":3568},"\u003C",{"type":3143,"tag":3426,"props":3570,"children":3572},{"style":3571},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[3573],{"type":3148,"value":3574},"script",{"type":3143,"tag":3426,"props":3576,"children":3578},{"style":3577},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3579],{"type":3148,"value":3580}," setup",{"type":3143,"tag":3426,"props":3582,"children":3583},{"style":3505},[3584],{"type":3148,"value":3585},">\n",{"type":3143,"tag":3426,"props":3587,"children":3588},{"class":3428,"line":3068},[3589,3594,3599,3604,3609,3614,3618,3623,3627,3632,3636,3641,3645,3650,3655,3660,3666],{"type":3143,"tag":3426,"props":3590,"children":3591},{"style":3577},[3592],{"type":3148,"value":3593},"const",{"type":3143,"tag":3426,"props":3595,"children":3596},{"style":3505},[3597],{"type":3148,"value":3598}," {",{"type":3143,"tag":3426,"props":3600,"children":3601},{"style":3500},[3602],{"type":3148,"value":3603}," loggedIn",{"type":3143,"tag":3426,"props":3605,"children":3606},{"style":3505},[3607],{"type":3148,"value":3608},",",{"type":3143,"tag":3426,"props":3610,"children":3611},{"style":3500},[3612],{"type":3148,"value":3613}," user",{"type":3143,"tag":3426,"props":3615,"children":3616},{"style":3505},[3617],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":3619,"children":3620},{"style":3500},[3621],{"type":3148,"value":3622}," session",{"type":3143,"tag":3426,"props":3624,"children":3625},{"style":3505},[3626],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":3628,"children":3629},{"style":3500},[3630],{"type":3148,"value":3631}," fetch",{"type":3143,"tag":3426,"props":3633,"children":3634},{"style":3505},[3635],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":3637,"children":3638},{"style":3500},[3639],{"type":3148,"value":3640}," clear",{"type":3143,"tag":3426,"props":3642,"children":3643},{"style":3505},[3644],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":3646,"children":3647},{"style":3500},[3648],{"type":3148,"value":3649}," openInPopup ",{"type":3143,"tag":3426,"props":3651,"children":3652},{"style":3505},[3653],{"type":3148,"value":3654},"}",{"type":3143,"tag":3426,"props":3656,"children":3657},{"style":3505},[3658],{"type":3148,"value":3659}," =",{"type":3143,"tag":3426,"props":3661,"children":3663},{"style":3662},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[3664],{"type":3148,"value":3665}," useUserSession",{"type":3143,"tag":3426,"props":3667,"children":3668},{"style":3500},[3669],{"type":3148,"value":3670},"()\n",{"type":3143,"tag":3426,"props":3672,"children":3673},{"class":3428,"line":3052},[3674,3679,3683],{"type":3143,"tag":3426,"props":3675,"children":3676},{"style":3505},[3677],{"type":3148,"value":3678},"\u003C\u002F",{"type":3143,"tag":3426,"props":3680,"children":3681},{"style":3571},[3682],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":3684,"children":3685},{"style":3505},[3686],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3688,"children":3690},{"class":3428,"line":3689},4,[3691],{"type":3143,"tag":3426,"props":3692,"children":3693},{"emptyLinePlaceholder":1200},[3694],{"type":3148,"value":3695},"\n",{"type":3143,"tag":3426,"props":3697,"children":3699},{"class":3428,"line":3698},5,[3700,3704,3709],{"type":3143,"tag":3426,"props":3701,"children":3702},{"style":3505},[3703],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":3705,"children":3706},{"style":3571},[3707],{"type":3148,"value":3708},"template",{"type":3143,"tag":3426,"props":3710,"children":3711},{"style":3505},[3712],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3714,"children":3716},{"class":3428,"line":3715},6,[3717,3722,3727,3732,3736,3741,3746,3750],{"type":3143,"tag":3426,"props":3718,"children":3719},{"style":3505},[3720],{"type":3148,"value":3721},"  \u003C",{"type":3143,"tag":3426,"props":3723,"children":3724},{"style":3571},[3725],{"type":3148,"value":3726},"div",{"type":3143,"tag":3426,"props":3728,"children":3729},{"style":3577},[3730],{"type":3148,"value":3731}," v-if",{"type":3143,"tag":3426,"props":3733,"children":3734},{"style":3505},[3735],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":3737,"children":3738},{"style":3505},[3739],{"type":3148,"value":3740},"\"",{"type":3143,"tag":3426,"props":3742,"children":3743},{"style":3438},[3744],{"type":3148,"value":3745},"loggedIn",{"type":3143,"tag":3426,"props":3747,"children":3748},{"style":3505},[3749],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":3751,"children":3752},{"style":3505},[3753],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3755,"children":3756},{"class":3428,"line":3048},[3757,3762,3766,3771,3776,3780,3784],{"type":3143,"tag":3426,"props":3758,"children":3759},{"style":3505},[3760],{"type":3148,"value":3761},"    \u003C",{"type":3143,"tag":3426,"props":3763,"children":3764},{"style":3571},[3765],{"type":3148,"value":3144},{"type":3143,"tag":3426,"props":3767,"children":3768},{"style":3505},[3769],{"type":3148,"value":3770},">",{"type":3143,"tag":3426,"props":3772,"children":3773},{"style":3500},[3774],{"type":3148,"value":3775},"Welcome {{ user.login }}!",{"type":3143,"tag":3426,"props":3777,"children":3778},{"style":3505},[3779],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":3781,"children":3782},{"style":3571},[3783],{"type":3148,"value":3144},{"type":3143,"tag":3426,"props":3785,"children":3786},{"style":3505},[3787],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3789,"children":3790},{"class":3428,"line":3044},[3791,3795,3799,3803,3808,3812,3816],{"type":3143,"tag":3426,"props":3792,"children":3793},{"style":3505},[3794],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":3796,"children":3797},{"style":3571},[3798],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":3800,"children":3801},{"style":3505},[3802],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":3804,"children":3805},{"style":3500},[3806],{"type":3148,"value":3807},"Logged in since {{ session.loggedInAt }}",{"type":3143,"tag":3426,"props":3809,"children":3810},{"style":3505},[3811],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":3813,"children":3814},{"style":3571},[3815],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":3817,"children":3818},{"style":3505},[3819],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3821,"children":3822},{"class":3428,"line":3040},[3823,3827,3832,3837,3841,3845,3850,3854,3858,3863,3867,3871],{"type":3143,"tag":3426,"props":3824,"children":3825},{"style":3505},[3826],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":3828,"children":3829},{"style":3571},[3830],{"type":3148,"value":3831},"button",{"type":3143,"tag":3426,"props":3833,"children":3834},{"style":3577},[3835],{"type":3148,"value":3836}," @click",{"type":3143,"tag":3426,"props":3838,"children":3839},{"style":3505},[3840],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":3842,"children":3843},{"style":3505},[3844],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":3846,"children":3847},{"style":3438},[3848],{"type":3148,"value":3849},"clear",{"type":3143,"tag":3426,"props":3851,"children":3852},{"style":3505},[3853],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":3855,"children":3856},{"style":3505},[3857],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":3859,"children":3860},{"style":3500},[3861],{"type":3148,"value":3862},"Logout",{"type":3143,"tag":3426,"props":3864,"children":3865},{"style":3505},[3866],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":3868,"children":3869},{"style":3571},[3870],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":3872,"children":3873},{"style":3505},[3874],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3876,"children":3878},{"class":3428,"line":3877},10,[3879,3884,3888],{"type":3143,"tag":3426,"props":3880,"children":3881},{"style":3505},[3882],{"type":3148,"value":3883},"  \u003C\u002F",{"type":3143,"tag":3426,"props":3885,"children":3886},{"style":3571},[3887],{"type":3148,"value":3726},{"type":3143,"tag":3426,"props":3889,"children":3890},{"style":3505},[3891],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3893,"children":3894},{"class":3428,"line":3131},[3895,3899,3903,3908],{"type":3143,"tag":3426,"props":3896,"children":3897},{"style":3505},[3898],{"type":3148,"value":3721},{"type":3143,"tag":3426,"props":3900,"children":3901},{"style":3571},[3902],{"type":3148,"value":3726},{"type":3143,"tag":3426,"props":3904,"children":3905},{"style":3577},[3906],{"type":3148,"value":3907}," v-else",{"type":3143,"tag":3426,"props":3909,"children":3910},{"style":3505},[3911],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3913,"children":3915},{"class":3428,"line":3914},12,[3916,3920,3924,3928,3933,3937,3941],{"type":3143,"tag":3426,"props":3917,"children":3918},{"style":3505},[3919],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":3921,"children":3922},{"style":3571},[3923],{"type":3148,"value":3144},{"type":3143,"tag":3426,"props":3925,"children":3926},{"style":3505},[3927],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":3929,"children":3930},{"style":3500},[3931],{"type":3148,"value":3932},"Not logged in",{"type":3143,"tag":3426,"props":3934,"children":3935},{"style":3505},[3936],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":3938,"children":3939},{"style":3571},[3940],{"type":3148,"value":3144},{"type":3143,"tag":3426,"props":3942,"children":3943},{"style":3505},[3944],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":3946,"children":3948},{"class":3428,"line":3947},13,[3949,3953,3957,3962,3966,3970,3975,3979,3983,3988,3992,3996],{"type":3143,"tag":3426,"props":3950,"children":3951},{"style":3505},[3952],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":3954,"children":3955},{"style":3571},[3956],{"type":3148,"value":3154},{"type":3143,"tag":3426,"props":3958,"children":3959},{"style":3577},[3960],{"type":3148,"value":3961}," href",{"type":3143,"tag":3426,"props":3963,"children":3964},{"style":3505},[3965],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":3967,"children":3968},{"style":3505},[3969],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":3971,"children":3972},{"style":3438},[3973],{"type":3148,"value":3974},"\u002Fauth\u002Fgithub",{"type":3143,"tag":3426,"props":3976,"children":3977},{"style":3505},[3978],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":3980,"children":3981},{"style":3505},[3982],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":3984,"children":3985},{"style":3500},[3986],{"type":3148,"value":3987},"Login with GitHub",{"type":3143,"tag":3426,"props":3989,"children":3990},{"style":3505},[3991],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":3993,"children":3994},{"style":3571},[3995],{"type":3148,"value":3154},{"type":3143,"tag":3426,"props":3997,"children":3998},{"style":3505},[3999],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4001,"children":4003},{"class":3428,"line":4002},14,[4004],{"type":3143,"tag":3426,"props":4005,"children":4006},{"style":3491},[4007],{"type":3148,"value":4008},"    \u003C!-- or open the OAuth route in a popup -->\n",{"type":3143,"tag":3426,"props":4010,"children":4012},{"class":3428,"line":4011},15,[4013,4017,4021,4025,4029,4033,4038,4042,4046,4050,4054,4058],{"type":3143,"tag":3426,"props":4014,"children":4015},{"style":3505},[4016],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":4018,"children":4019},{"style":3571},[4020],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":4022,"children":4023},{"style":3577},[4024],{"type":3148,"value":3836},{"type":3143,"tag":3426,"props":4026,"children":4027},{"style":3505},[4028],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":4030,"children":4031},{"style":3505},[4032],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":4034,"children":4035},{"style":3438},[4036],{"type":3148,"value":4037},"openInPopup('\u002Fauth\u002Fgithub')",{"type":3143,"tag":3426,"props":4039,"children":4040},{"style":3505},[4041],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":4043,"children":4044},{"style":3505},[4045],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":4047,"children":4048},{"style":3500},[4049],{"type":3148,"value":3987},{"type":3143,"tag":3426,"props":4051,"children":4052},{"style":3505},[4053],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":4055,"children":4056},{"style":3571},[4057],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":4059,"children":4060},{"style":3505},[4061],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4063,"children":4064},{"class":3428,"line":3036},[4065,4069,4073],{"type":3143,"tag":3426,"props":4066,"children":4067},{"style":3505},[4068],{"type":3148,"value":3883},{"type":3143,"tag":3426,"props":4070,"children":4071},{"style":3571},[4072],{"type":3148,"value":3726},{"type":3143,"tag":3426,"props":4074,"children":4075},{"style":3505},[4076],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4078,"children":4080},{"class":3428,"line":4079},17,[4081,4085,4089],{"type":3143,"tag":3426,"props":4082,"children":4083},{"style":3505},[4084],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":4086,"children":4087},{"style":3571},[4088],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":4090,"children":4091},{"style":3505},[4092],{"type":3148,"value":3585},{"type":3143,"tag":3150,"props":4094,"children":4095},{},[4096],{"type":3143,"tag":4097,"props":4098,"children":4099},"strong",{},[4100],{"type":3148,"value":4101},"TypeScript Signature:",{"type":3143,"tag":3416,"props":4103,"children":4107},{"className":4104,"code":4105,"language":4106,"meta":3016,"style":3016},"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",[4108],{"type":3143,"tag":3288,"props":4109,"children":4110},{"__ignoreMap":3016},[4111,4129,4137,4145,4153,4184,4191,4199,4206,4234,4241,4249,4256,4295,4302,4310,4317,4347,4355,4364,4372,4413,4421,4430,4438,4475,4483,4492,4500,4596],{"type":3143,"tag":3426,"props":4112,"children":4113},{"class":3428,"line":3102},[4114,4119,4124],{"type":3143,"tag":3426,"props":4115,"children":4116},{"style":3577},[4117],{"type":3148,"value":4118},"interface",{"type":3143,"tag":3426,"props":4120,"children":4121},{"style":3432},[4122],{"type":3148,"value":4123}," UserSessionComposable",{"type":3143,"tag":3426,"props":4125,"children":4126},{"style":3505},[4127],{"type":3148,"value":4128}," {\n",{"type":3143,"tag":3426,"props":4130,"children":4131},{"class":3428,"line":3068},[4132],{"type":3143,"tag":3426,"props":4133,"children":4134},{"style":3491},[4135],{"type":3148,"value":4136},"  \u002F**\n",{"type":3143,"tag":3426,"props":4138,"children":4139},{"class":3428,"line":3052},[4140],{"type":3143,"tag":3426,"props":4141,"children":4142},{"style":3491},[4143],{"type":3148,"value":4144},"   * Computed indicating if the auth session is ready\n",{"type":3143,"tag":3426,"props":4146,"children":4147},{"class":3428,"line":3689},[4148],{"type":3143,"tag":3426,"props":4149,"children":4150},{"style":3491},[4151],{"type":3148,"value":4152},"   *\u002F\n",{"type":3143,"tag":3426,"props":4154,"children":4155},{"class":3428,"line":3698},[4156,4161,4166,4171,4175,4180],{"type":3143,"tag":3426,"props":4157,"children":4158},{"style":3571},[4159],{"type":3148,"value":4160},"  ready",{"type":3143,"tag":3426,"props":4162,"children":4163},{"style":3505},[4164],{"type":3148,"value":4165},":",{"type":3143,"tag":3426,"props":4167,"children":4168},{"style":3432},[4169],{"type":3148,"value":4170}," ComputedRef",{"type":3143,"tag":3426,"props":4172,"children":4173},{"style":3505},[4174],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":4176,"children":4177},{"style":3432},[4178],{"type":3148,"value":4179},"boolean",{"type":3143,"tag":3426,"props":4181,"children":4182},{"style":3505},[4183],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4185,"children":4186},{"class":3428,"line":3715},[4187],{"type":3143,"tag":3426,"props":4188,"children":4189},{"style":3491},[4190],{"type":3148,"value":4136},{"type":3143,"tag":3426,"props":4192,"children":4193},{"class":3428,"line":3048},[4194],{"type":3143,"tag":3426,"props":4195,"children":4196},{"style":3491},[4197],{"type":3148,"value":4198},"   * Computed indicating if the user is logged in.\n",{"type":3143,"tag":3426,"props":4200,"children":4201},{"class":3428,"line":3044},[4202],{"type":3143,"tag":3426,"props":4203,"children":4204},{"style":3491},[4205],{"type":3148,"value":4152},{"type":3143,"tag":3426,"props":4207,"children":4208},{"class":3428,"line":3040},[4209,4214,4218,4222,4226,4230],{"type":3143,"tag":3426,"props":4210,"children":4211},{"style":3571},[4212],{"type":3148,"value":4213},"  loggedIn",{"type":3143,"tag":3426,"props":4215,"children":4216},{"style":3505},[4217],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4219,"children":4220},{"style":3432},[4221],{"type":3148,"value":4170},{"type":3143,"tag":3426,"props":4223,"children":4224},{"style":3505},[4225],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":4227,"children":4228},{"style":3432},[4229],{"type":3148,"value":4179},{"type":3143,"tag":3426,"props":4231,"children":4232},{"style":3505},[4233],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4235,"children":4236},{"class":3428,"line":3877},[4237],{"type":3143,"tag":3426,"props":4238,"children":4239},{"style":3491},[4240],{"type":3148,"value":4136},{"type":3143,"tag":3426,"props":4242,"children":4243},{"class":3428,"line":3131},[4244],{"type":3143,"tag":3426,"props":4245,"children":4246},{"style":3491},[4247],{"type":3148,"value":4248},"   * The user object if logged in, null otherwise.\n",{"type":3143,"tag":3426,"props":4250,"children":4251},{"class":3428,"line":3914},[4252],{"type":3143,"tag":3426,"props":4253,"children":4254},{"style":3491},[4255],{"type":3148,"value":4152},{"type":3143,"tag":3426,"props":4257,"children":4258},{"class":3428,"line":3947},[4259,4264,4268,4272,4276,4281,4286,4291],{"type":3143,"tag":3426,"props":4260,"children":4261},{"style":3571},[4262],{"type":3148,"value":4263},"  user",{"type":3143,"tag":3426,"props":4265,"children":4266},{"style":3505},[4267],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4269,"children":4270},{"style":3432},[4271],{"type":3148,"value":4170},{"type":3143,"tag":3426,"props":4273,"children":4274},{"style":3505},[4275],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":4277,"children":4278},{"style":3432},[4279],{"type":3148,"value":4280},"User",{"type":3143,"tag":3426,"props":4282,"children":4283},{"style":3505},[4284],{"type":3148,"value":4285}," |",{"type":3143,"tag":3426,"props":4287,"children":4288},{"style":3432},[4289],{"type":3148,"value":4290}," null",{"type":3143,"tag":3426,"props":4292,"children":4293},{"style":3505},[4294],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4296,"children":4297},{"class":3428,"line":4002},[4298],{"type":3143,"tag":3426,"props":4299,"children":4300},{"style":3491},[4301],{"type":3148,"value":4136},{"type":3143,"tag":3426,"props":4303,"children":4304},{"class":3428,"line":4011},[4305],{"type":3143,"tag":3426,"props":4306,"children":4307},{"style":3491},[4308],{"type":3148,"value":4309},"   * The session object.\n",{"type":3143,"tag":3426,"props":4311,"children":4312},{"class":3428,"line":3036},[4313],{"type":3143,"tag":3426,"props":4314,"children":4315},{"style":3491},[4316],{"type":3148,"value":4152},{"type":3143,"tag":3426,"props":4318,"children":4319},{"class":3428,"line":4079},[4320,4325,4329,4334,4338,4343],{"type":3143,"tag":3426,"props":4321,"children":4322},{"style":3571},[4323],{"type":3148,"value":4324},"  session",{"type":3143,"tag":3426,"props":4326,"children":4327},{"style":3505},[4328],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4330,"children":4331},{"style":3432},[4332],{"type":3148,"value":4333}," Ref",{"type":3143,"tag":3426,"props":4335,"children":4336},{"style":3505},[4337],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":4339,"children":4340},{"style":3432},[4341],{"type":3148,"value":4342},"UserSession",{"type":3143,"tag":3426,"props":4344,"children":4345},{"style":3505},[4346],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4348,"children":4350},{"class":3428,"line":4349},18,[4351],{"type":3143,"tag":3426,"props":4352,"children":4353},{"style":3491},[4354],{"type":3148,"value":4136},{"type":3143,"tag":3426,"props":4356,"children":4358},{"class":3428,"line":4357},19,[4359],{"type":3143,"tag":3426,"props":4360,"children":4361},{"style":3491},[4362],{"type":3148,"value":4363},"   * Fetch the user session from the server.\n",{"type":3143,"tag":3426,"props":4365,"children":4367},{"class":3428,"line":4366},20,[4368],{"type":3143,"tag":3426,"props":4369,"children":4370},{"style":3491},[4371],{"type":3148,"value":4152},{"type":3143,"tag":3426,"props":4373,"children":4375},{"class":3428,"line":4374},21,[4376,4381,4385,4390,4395,4400,4404,4409],{"type":3143,"tag":3426,"props":4377,"children":4378},{"style":3571},[4379],{"type":3148,"value":4380},"  fetch",{"type":3143,"tag":3426,"props":4382,"children":4383},{"style":3505},[4384],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4386,"children":4387},{"style":3505},[4388],{"type":3148,"value":4389}," ()",{"type":3143,"tag":3426,"props":4391,"children":4392},{"style":3577},[4393],{"type":3148,"value":4394}," =>",{"type":3143,"tag":3426,"props":4396,"children":4397},{"style":3432},[4398],{"type":3148,"value":4399}," Promise",{"type":3143,"tag":3426,"props":4401,"children":4402},{"style":3505},[4403],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":4405,"children":4406},{"style":3432},[4407],{"type":3148,"value":4408},"void",{"type":3143,"tag":3426,"props":4410,"children":4411},{"style":3505},[4412],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4414,"children":4416},{"class":3428,"line":4415},22,[4417],{"type":3143,"tag":3426,"props":4418,"children":4419},{"style":3491},[4420],{"type":3148,"value":4136},{"type":3143,"tag":3426,"props":4422,"children":4424},{"class":3428,"line":4423},23,[4425],{"type":3143,"tag":3426,"props":4426,"children":4427},{"style":3491},[4428],{"type":3148,"value":4429},"   * Clear the user session and remove the session cookie.\n",{"type":3143,"tag":3426,"props":4431,"children":4433},{"class":3428,"line":4432},24,[4434],{"type":3143,"tag":3426,"props":4435,"children":4436},{"style":3491},[4437],{"type":3148,"value":4152},{"type":3143,"tag":3426,"props":4439,"children":4441},{"class":3428,"line":4440},25,[4442,4447,4451,4455,4459,4463,4467,4471],{"type":3143,"tag":3426,"props":4443,"children":4444},{"style":3571},[4445],{"type":3148,"value":4446},"  clear",{"type":3143,"tag":3426,"props":4448,"children":4449},{"style":3505},[4450],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4452,"children":4453},{"style":3505},[4454],{"type":3148,"value":4389},{"type":3143,"tag":3426,"props":4456,"children":4457},{"style":3577},[4458],{"type":3148,"value":4394},{"type":3143,"tag":3426,"props":4460,"children":4461},{"style":3432},[4462],{"type":3148,"value":4399},{"type":3143,"tag":3426,"props":4464,"children":4465},{"style":3505},[4466],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":4468,"children":4469},{"style":3432},[4470],{"type":3148,"value":4408},{"type":3143,"tag":3426,"props":4472,"children":4473},{"style":3505},[4474],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":4476,"children":4478},{"class":3428,"line":4477},26,[4479],{"type":3143,"tag":3426,"props":4480,"children":4481},{"style":3491},[4482],{"type":3148,"value":4136},{"type":3143,"tag":3426,"props":4484,"children":4486},{"class":3428,"line":4485},27,[4487],{"type":3143,"tag":3426,"props":4488,"children":4489},{"style":3491},[4490],{"type":3148,"value":4491},"   * Open the OAuth route in a popup that auto-closes when successful.\n",{"type":3143,"tag":3426,"props":4493,"children":4495},{"class":3428,"line":4494},28,[4496],{"type":3143,"tag":3426,"props":4497,"children":4498},{"style":3491},[4499],{"type":3148,"value":4152},{"type":3143,"tag":3426,"props":4501,"children":4503},{"class":3428,"line":4502},29,[4504,4509,4513,4518,4524,4528,4533,4537,4542,4547,4551,4556,4560,4565,4569,4574,4578,4582,4587,4591],{"type":3143,"tag":3426,"props":4505,"children":4506},{"style":3571},[4507],{"type":3148,"value":4508},"  openInPopup",{"type":3143,"tag":3426,"props":4510,"children":4511},{"style":3505},[4512],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4514,"children":4515},{"style":3505},[4516],{"type":3148,"value":4517}," (",{"type":3143,"tag":3426,"props":4519,"children":4521},{"style":4520},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[4522],{"type":3148,"value":4523},"route",{"type":3143,"tag":3426,"props":4525,"children":4526},{"style":3505},[4527],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4529,"children":4530},{"style":3432},[4531],{"type":3148,"value":4532}," string",{"type":3143,"tag":3426,"props":4534,"children":4535},{"style":3505},[4536],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":4538,"children":4539},{"style":4520},[4540],{"type":3148,"value":4541}," size",{"type":3143,"tag":3426,"props":4543,"children":4544},{"style":3505},[4545],{"type":3148,"value":4546},"?:",{"type":3143,"tag":3426,"props":4548,"children":4549},{"style":3505},[4550],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":4552,"children":4553},{"style":3571},[4554],{"type":3148,"value":4555}," width",{"type":3143,"tag":3426,"props":4557,"children":4558},{"style":3505},[4559],{"type":3148,"value":4546},{"type":3143,"tag":3426,"props":4561,"children":4562},{"style":3432},[4563],{"type":3148,"value":4564}," number",{"type":3143,"tag":3426,"props":4566,"children":4567},{"style":3505},[4568],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":4570,"children":4571},{"style":3571},[4572],{"type":3148,"value":4573}," height",{"type":3143,"tag":3426,"props":4575,"children":4576},{"style":3505},[4577],{"type":3148,"value":4546},{"type":3143,"tag":3426,"props":4579,"children":4580},{"style":3432},[4581],{"type":3148,"value":4564},{"type":3143,"tag":3426,"props":4583,"children":4584},{"style":3505},[4585],{"type":3148,"value":4586}," })",{"type":3143,"tag":3426,"props":4588,"children":4589},{"style":3577},[4590],{"type":3148,"value":4394},{"type":3143,"tag":3426,"props":4592,"children":4593},{"style":3432},[4594],{"type":3148,"value":4595}," void\n",{"type":3143,"tag":3426,"props":4597,"children":4599},{"class":3428,"line":4598},30,[4600],{"type":3143,"tag":3426,"props":4601,"children":4602},{"style":3505},[4603],{"type":3148,"value":4604},"}\n",{"type":3143,"tag":4606,"props":4607,"children":4608},"blockquote",{},[4609],{"type":3143,"tag":3150,"props":4610,"children":4611},{},[4612,4617,4619,4625],{"type":3143,"tag":3426,"props":4613,"children":4614},{},[4615],{"type":3148,"value":4616},"!IMPORTANT",{"type":3148,"value":4618},"\nNuxt Auth Utils uses the ",{"type":3143,"tag":3288,"props":4620,"children":4622},{"className":4621},[],[4623],{"type":3148,"value":4624},"\u002Fapi\u002F_auth\u002Fsession",{"type":3148,"value":4626}," route for session management. Ensure your API route middleware doesn't interfere with this path.",{"type":3143,"tag":3234,"props":4628,"children":4630},{"id":4629},"server-utils",[4631],{"type":3148,"value":4632},"Server Utils",{"type":3143,"tag":3150,"props":4634,"children":4635},{},[4636,4638,4644],{"type":3148,"value":4637},"The following helpers are auto-imported in your ",{"type":3143,"tag":3288,"props":4639,"children":4641},{"className":4640},[],[4642],{"type":3148,"value":4643},"server\u002F",{"type":3148,"value":4645}," directory.",{"type":3143,"tag":3546,"props":4647,"children":4649},{"id":4648},"session-management",[4650],{"type":3148,"value":4651},"Session Management",{"type":3143,"tag":3416,"props":4653,"children":4655},{"className":4104,"code":4654,"language":4106,"meta":3016,"style":3016},"\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",[4656],{"type":3143,"tag":3288,"props":4657,"children":4658},{"__ignoreMap":3016},[4659,4667,4675,4683,4710,4718,4733,4759,4767,4775,4791,4816,4823,4831,4857,4869,4876,4884,4909,4916,4924,4955,4962,4970,4986,4993,5001],{"type":3143,"tag":3426,"props":4660,"children":4661},{"class":3428,"line":3102},[4662],{"type":3143,"tag":3426,"props":4663,"children":4664},{"style":3491},[4665],{"type":3148,"value":4666},"\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":3143,"tag":3426,"props":4668,"children":4669},{"class":3428,"line":3068},[4670],{"type":3143,"tag":3426,"props":4671,"children":4672},{"style":3491},[4673],{"type":3148,"value":4674},"\u002F\u002F Only store the data that allow you to recognize a user, but do not store sensitive data\n",{"type":3143,"tag":3426,"props":4676,"children":4677},{"class":3428,"line":3052},[4678],{"type":3143,"tag":3426,"props":4679,"children":4680},{"style":3491},[4681],{"type":3148,"value":4682},"\u002F\u002F Merges new data with existing data using unjs\u002Fdefu library\n",{"type":3143,"tag":3426,"props":4684,"children":4685},{"class":3428,"line":3689},[4686,4692,4697,4702,4706],{"type":3143,"tag":3426,"props":4687,"children":4689},{"style":4688},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[4690],{"type":3148,"value":4691},"await",{"type":3143,"tag":3426,"props":4693,"children":4694},{"style":3662},[4695],{"type":3148,"value":4696}," setUserSession",{"type":3143,"tag":3426,"props":4698,"children":4699},{"style":3500},[4700],{"type":3148,"value":4701},"(event",{"type":3143,"tag":3426,"props":4703,"children":4704},{"style":3505},[4705],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":4707,"children":4708},{"style":3505},[4709],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":4711,"children":4712},{"class":3428,"line":3698},[4713],{"type":3143,"tag":3426,"props":4714,"children":4715},{"style":3491},[4716],{"type":3148,"value":4717},"  \u002F\u002F User data\n",{"type":3143,"tag":3426,"props":4719,"children":4720},{"class":3428,"line":3715},[4721,4725,4729],{"type":3143,"tag":3426,"props":4722,"children":4723},{"style":3571},[4724],{"type":3148,"value":4263},{"type":3143,"tag":3426,"props":4726,"children":4727},{"style":3505},[4728],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4730,"children":4731},{"style":3505},[4732],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":4734,"children":4735},{"class":3428,"line":3048},[4736,4741,4745,4750,4754],{"type":3143,"tag":3426,"props":4737,"children":4738},{"style":3571},[4739],{"type":3148,"value":4740},"    login",{"type":3143,"tag":3426,"props":4742,"children":4743},{"style":3505},[4744],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4746,"children":4747},{"style":3505},[4748],{"type":3148,"value":4749}," '",{"type":3143,"tag":3426,"props":4751,"children":4752},{"style":3438},[4753],{"type":3148,"value":3023},{"type":3143,"tag":3426,"props":4755,"children":4756},{"style":3505},[4757],{"type":3148,"value":4758},"'\n",{"type":3143,"tag":3426,"props":4760,"children":4761},{"class":3428,"line":3044},[4762],{"type":3143,"tag":3426,"props":4763,"children":4764},{"style":3505},[4765],{"type":3148,"value":4766},"  },\n",{"type":3143,"tag":3426,"props":4768,"children":4769},{"class":3428,"line":3040},[4770],{"type":3143,"tag":3426,"props":4771,"children":4772},{"style":3491},[4773],{"type":3148,"value":4774},"  \u002F\u002F Private data accessible only on server\u002F routes\n",{"type":3143,"tag":3426,"props":4776,"children":4777},{"class":3428,"line":3877},[4778,4783,4787],{"type":3143,"tag":3426,"props":4779,"children":4780},{"style":3571},[4781],{"type":3148,"value":4782},"  secure",{"type":3143,"tag":3426,"props":4784,"children":4785},{"style":3505},[4786],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4788,"children":4789},{"style":3505},[4790],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":4792,"children":4793},{"class":3428,"line":3131},[4794,4799,4803,4807,4812],{"type":3143,"tag":3426,"props":4795,"children":4796},{"style":3571},[4797],{"type":3148,"value":4798},"    apiToken",{"type":3143,"tag":3426,"props":4800,"children":4801},{"style":3505},[4802],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4804,"children":4805},{"style":3505},[4806],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":4808,"children":4809},{"style":3438},[4810],{"type":3148,"value":4811},"1234567890",{"type":3143,"tag":3426,"props":4813,"children":4814},{"style":3505},[4815],{"type":3148,"value":4758},{"type":3143,"tag":3426,"props":4817,"children":4818},{"class":3428,"line":3914},[4819],{"type":3143,"tag":3426,"props":4820,"children":4821},{"style":3505},[4822],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":4824,"children":4825},{"class":3428,"line":3947},[4826],{"type":3143,"tag":3426,"props":4827,"children":4828},{"style":3491},[4829],{"type":3148,"value":4830},"  \u002F\u002F Any extra fields for the session data\n",{"type":3143,"tag":3426,"props":4832,"children":4833},{"class":3428,"line":4002},[4834,4839,4843,4848,4853],{"type":3143,"tag":3426,"props":4835,"children":4836},{"style":3571},[4837],{"type":3148,"value":4838},"  loggedInAt",{"type":3143,"tag":3426,"props":4840,"children":4841},{"style":3505},[4842],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":4844,"children":4845},{"style":3505},[4846],{"type":3148,"value":4847}," new",{"type":3143,"tag":3426,"props":4849,"children":4850},{"style":3662},[4851],{"type":3148,"value":4852}," Date",{"type":3143,"tag":3426,"props":4854,"children":4855},{"style":3500},[4856],{"type":3148,"value":3670},{"type":3143,"tag":3426,"props":4858,"children":4859},{"class":3428,"line":4011},[4860,4864],{"type":3143,"tag":3426,"props":4861,"children":4862},{"style":3505},[4863],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":4865,"children":4866},{"style":3500},[4867],{"type":3148,"value":4868},")\n",{"type":3143,"tag":3426,"props":4870,"children":4871},{"class":3428,"line":3036},[4872],{"type":3143,"tag":3426,"props":4873,"children":4874},{"emptyLinePlaceholder":1200},[4875],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":4877,"children":4878},{"class":3428,"line":4079},[4879],{"type":3143,"tag":3426,"props":4880,"children":4881},{"style":3491},[4882],{"type":3148,"value":4883},"\u002F\u002F Replace a user session. Same behaviour as setUserSession, except it does not merge data with existing data\n",{"type":3143,"tag":3426,"props":4885,"children":4886},{"class":3428,"line":4349},[4887,4891,4896,4900,4904],{"type":3143,"tag":3426,"props":4888,"children":4889},{"style":4688},[4890],{"type":3148,"value":4691},{"type":3143,"tag":3426,"props":4892,"children":4893},{"style":3662},[4894],{"type":3148,"value":4895}," replaceUserSession",{"type":3143,"tag":3426,"props":4897,"children":4898},{"style":3500},[4899],{"type":3148,"value":4701},{"type":3143,"tag":3426,"props":4901,"children":4902},{"style":3505},[4903],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":4905,"children":4906},{"style":3500},[4907],{"type":3148,"value":4908}," data)\n",{"type":3143,"tag":3426,"props":4910,"children":4911},{"class":3428,"line":4357},[4912],{"type":3143,"tag":3426,"props":4913,"children":4914},{"emptyLinePlaceholder":1200},[4915],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":4917,"children":4918},{"class":3428,"line":4366},[4919],{"type":3143,"tag":3426,"props":4920,"children":4921},{"style":3491},[4922],{"type":3148,"value":4923},"\u002F\u002F Get the current user session\n",{"type":3143,"tag":3426,"props":4925,"children":4926},{"class":3428,"line":4374},[4927,4931,4936,4940,4945,4950],{"type":3143,"tag":3426,"props":4928,"children":4929},{"style":3577},[4930],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":4932,"children":4933},{"style":3500},[4934],{"type":3148,"value":4935}," session ",{"type":3143,"tag":3426,"props":4937,"children":4938},{"style":3505},[4939],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":4941,"children":4942},{"style":4688},[4943],{"type":3148,"value":4944}," await",{"type":3143,"tag":3426,"props":4946,"children":4947},{"style":3662},[4948],{"type":3148,"value":4949}," getUserSession",{"type":3143,"tag":3426,"props":4951,"children":4952},{"style":3500},[4953],{"type":3148,"value":4954},"(event)\n",{"type":3143,"tag":3426,"props":4956,"children":4957},{"class":3428,"line":4415},[4958],{"type":3143,"tag":3426,"props":4959,"children":4960},{"emptyLinePlaceholder":1200},[4961],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":4963,"children":4964},{"class":3428,"line":4423},[4965],{"type":3143,"tag":3426,"props":4966,"children":4967},{"style":3491},[4968],{"type":3148,"value":4969},"\u002F\u002F Clear the current user session\n",{"type":3143,"tag":3426,"props":4971,"children":4972},{"class":3428,"line":4432},[4973,4977,4982],{"type":3143,"tag":3426,"props":4974,"children":4975},{"style":4688},[4976],{"type":3148,"value":4691},{"type":3143,"tag":3426,"props":4978,"children":4979},{"style":3662},[4980],{"type":3148,"value":4981}," clearUserSession",{"type":3143,"tag":3426,"props":4983,"children":4984},{"style":3500},[4985],{"type":3148,"value":4954},{"type":3143,"tag":3426,"props":4987,"children":4988},{"class":3428,"line":4440},[4989],{"type":3143,"tag":3426,"props":4990,"children":4991},{"emptyLinePlaceholder":1200},[4992],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":4994,"children":4995},{"class":3428,"line":4477},[4996],{"type":3143,"tag":3426,"props":4997,"children":4998},{"style":3491},[4999],{"type":3148,"value":5000},"\u002F\u002F Require a user session (send back 401 if no `user` key in session)\n",{"type":3143,"tag":3426,"props":5002,"children":5003},{"class":3428,"line":4485},[5004,5008,5012,5016,5020,5025],{"type":3143,"tag":3426,"props":5005,"children":5006},{"style":3577},[5007],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":5009,"children":5010},{"style":3500},[5011],{"type":3148,"value":4935},{"type":3143,"tag":3426,"props":5013,"children":5014},{"style":3505},[5015],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":5017,"children":5018},{"style":4688},[5019],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":5021,"children":5022},{"style":3662},[5023],{"type":3148,"value":5024}," requireUserSession",{"type":3143,"tag":3426,"props":5026,"children":5027},{"style":3500},[5028],{"type":3148,"value":4954},{"type":3143,"tag":3150,"props":5030,"children":5031},{},[5032,5034,5040,5042,5047],{"type":3148,"value":5033},"You can define the type for your user session by creating a type declaration file (for example, ",{"type":3143,"tag":3288,"props":5035,"children":5037},{"className":5036},[],[5038],{"type":3148,"value":5039},"auth.d.ts",{"type":3148,"value":5041},") in your project to augment the ",{"type":3143,"tag":3288,"props":5043,"children":5045},{"className":5044},[],[5046],{"type":3148,"value":4342},{"type":3148,"value":5048}," type:",{"type":3143,"tag":3416,"props":5050,"children":5052},{"className":4104,"code":5051,"language":4106,"meta":3016,"style":3016},"\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",[5053],{"type":3143,"tag":3288,"props":5054,"children":5055},{"__ignoreMap":3016},[5056,5064,5094,5111,5119,5127,5134,5150,5157,5164,5171,5187,5194,5201,5208,5215],{"type":3143,"tag":3426,"props":5057,"children":5058},{"class":3428,"line":3102},[5059],{"type":3143,"tag":3426,"props":5060,"children":5061},{"style":3491},[5062],{"type":3148,"value":5063},"\u002F\u002F shared\u002Ftypes\u002Fauth.d.ts\n",{"type":3143,"tag":3426,"props":5065,"children":5066},{"class":3428,"line":3068},[5067,5072,5076,5080,5085,5090],{"type":3143,"tag":3426,"props":5068,"children":5069},{"style":3577},[5070],{"type":3148,"value":5071},"declare",{"type":3143,"tag":3426,"props":5073,"children":5074},{"style":3577},[5075],{"type":3148,"value":3446},{"type":3143,"tag":3426,"props":5077,"children":5078},{"style":3505},[5079],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":5081,"children":5082},{"style":3438},[5083],{"type":3148,"value":5084},"#auth-utils",{"type":3143,"tag":3426,"props":5086,"children":5087},{"style":3505},[5088],{"type":3148,"value":5089},"'",{"type":3143,"tag":3426,"props":5091,"children":5092},{"style":3505},[5093],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5095,"children":5096},{"class":3428,"line":3052},[5097,5102,5107],{"type":3143,"tag":3426,"props":5098,"children":5099},{"style":3577},[5100],{"type":3148,"value":5101},"  interface",{"type":3143,"tag":3426,"props":5103,"children":5104},{"style":3432},[5105],{"type":3148,"value":5106}," User",{"type":3143,"tag":3426,"props":5108,"children":5109},{"style":3505},[5110],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5112,"children":5113},{"class":3428,"line":3689},[5114],{"type":3143,"tag":3426,"props":5115,"children":5116},{"style":3491},[5117],{"type":3148,"value":5118},"    \u002F\u002F Add your own fields\n",{"type":3143,"tag":3426,"props":5120,"children":5121},{"class":3428,"line":3698},[5122],{"type":3143,"tag":3426,"props":5123,"children":5124},{"style":3505},[5125],{"type":3148,"value":5126},"  }\n",{"type":3143,"tag":3426,"props":5128,"children":5129},{"class":3428,"line":3715},[5130],{"type":3143,"tag":3426,"props":5131,"children":5132},{"emptyLinePlaceholder":1200},[5133],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":5135,"children":5136},{"class":3428,"line":3048},[5137,5141,5146],{"type":3143,"tag":3426,"props":5138,"children":5139},{"style":3577},[5140],{"type":3148,"value":5101},{"type":3143,"tag":3426,"props":5142,"children":5143},{"style":3432},[5144],{"type":3148,"value":5145}," UserSession",{"type":3143,"tag":3426,"props":5147,"children":5148},{"style":3505},[5149],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5151,"children":5152},{"class":3428,"line":3044},[5153],{"type":3143,"tag":3426,"props":5154,"children":5155},{"style":3491},[5156],{"type":3148,"value":5118},{"type":3143,"tag":3426,"props":5158,"children":5159},{"class":3428,"line":3040},[5160],{"type":3143,"tag":3426,"props":5161,"children":5162},{"style":3505},[5163],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":5165,"children":5166},{"class":3428,"line":3877},[5167],{"type":3143,"tag":3426,"props":5168,"children":5169},{"emptyLinePlaceholder":1200},[5170],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":5172,"children":5173},{"class":3428,"line":3131},[5174,5178,5183],{"type":3143,"tag":3426,"props":5175,"children":5176},{"style":3577},[5177],{"type":3148,"value":5101},{"type":3143,"tag":3426,"props":5179,"children":5180},{"style":3432},[5181],{"type":3148,"value":5182}," SecureSessionData",{"type":3143,"tag":3426,"props":5184,"children":5185},{"style":3505},[5186],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5188,"children":5189},{"class":3428,"line":3914},[5190],{"type":3143,"tag":3426,"props":5191,"children":5192},{"style":3491},[5193],{"type":3148,"value":5118},{"type":3143,"tag":3426,"props":5195,"children":5196},{"class":3428,"line":3947},[5197],{"type":3143,"tag":3426,"props":5198,"children":5199},{"style":3505},[5200],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":5202,"children":5203},{"class":3428,"line":4002},[5204],{"type":3143,"tag":3426,"props":5205,"children":5206},{"style":3505},[5207],{"type":3148,"value":4604},{"type":3143,"tag":3426,"props":5209,"children":5210},{"class":3428,"line":4011},[5211],{"type":3143,"tag":3426,"props":5212,"children":5213},{"emptyLinePlaceholder":1200},[5214],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":5216,"children":5217},{"class":3428,"line":3036},[5218,5223],{"type":3143,"tag":3426,"props":5219,"children":5220},{"style":4688},[5221],{"type":3148,"value":5222},"export",{"type":3143,"tag":3426,"props":5224,"children":5225},{"style":3505},[5226],{"type":3148,"value":5227}," {}\n",{"type":3143,"tag":4606,"props":5229,"children":5230},{},[5231],{"type":3143,"tag":3150,"props":5232,"children":5233},{},[5234,5238],{"type":3143,"tag":3426,"props":5235,"children":5236},{},[5237],{"type":3148,"value":4616},{"type":3148,"value":5239},"\nSince we encrypt and store session data in cookies, we're constrained by the 4096-byte cookie size limit. Store only essential information.",{"type":3143,"tag":3546,"props":5241,"children":5243},{"id":5242},"oauth-event-handlers",[5244],{"type":3148,"value":5245},"OAuth Event Handlers",{"type":3143,"tag":3150,"props":5247,"children":5248},{},[5249],{"type":3148,"value":5250},"All handlers can be auto-imported and used in your server routes or API routes.",{"type":3143,"tag":3150,"props":5252,"children":5253},{},[5254,5256,5262,5264,5270],{"type":3148,"value":5255},"The pattern is ",{"type":3143,"tag":3288,"props":5257,"children":5259},{"className":5258},[],[5260],{"type":3148,"value":5261},"defineOAuth\u003CProvider>EventHandler({ onSuccess, config?, onError? })",{"type":3148,"value":5263},", example: ",{"type":3143,"tag":3288,"props":5265,"children":5267},{"className":5266},[],[5268],{"type":3148,"value":5269},"defineOAuthGitHubEventHandler",{"type":3148,"value":3381},{"type":3143,"tag":3150,"props":5272,"children":5273},{},[5274,5276,5282,5284,5290],{"type":3148,"value":5275},"The helper returns an event handler that automatically redirects to the provider authorization page and then calls ",{"type":3143,"tag":3288,"props":5277,"children":5279},{"className":5278},[],[5280],{"type":3148,"value":5281},"onSuccess",{"type":3148,"value":5283}," or ",{"type":3143,"tag":3288,"props":5285,"children":5287},{"className":5286},[],[5288],{"type":3148,"value":5289},"onError",{"type":3148,"value":5291}," depending on the result.",{"type":3143,"tag":3150,"props":5293,"children":5294},{},[5295,5297,5303,5305,5311,5313,5318],{"type":3148,"value":5296},"The ",{"type":3143,"tag":3288,"props":5298,"children":5300},{"className":5299},[],[5301],{"type":3148,"value":5302},"config",{"type":3148,"value":5304}," can be defined directly from the ",{"type":3143,"tag":3288,"props":5306,"children":5308},{"className":5307},[],[5309],{"type":3148,"value":5310},"runtimeConfig",{"type":3148,"value":5312}," in your ",{"type":3143,"tag":3288,"props":5314,"children":5316},{"className":5315},[],[5317],{"type":3148,"value":233},{"type":3148,"value":4165},{"type":3143,"tag":3416,"props":5320,"children":5322},{"className":4104,"code":5321,"language":4106,"meta":3016,"style":3016},"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",[5323],{"type":3143,"tag":3288,"props":5324,"children":5325},{"__ignoreMap":3016},[5326,5353,5369,5385,5393,5409,5439,5463,5471,5479,5486],{"type":3143,"tag":3426,"props":5327,"children":5328},{"class":3428,"line":3102},[5329,5333,5338,5343,5348],{"type":3143,"tag":3426,"props":5330,"children":5331},{"style":4688},[5332],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":5334,"children":5335},{"style":4688},[5336],{"type":3148,"value":5337}," default",{"type":3143,"tag":3426,"props":5339,"children":5340},{"style":3662},[5341],{"type":3148,"value":5342}," defineNuxtConfig",{"type":3143,"tag":3426,"props":5344,"children":5345},{"style":3500},[5346],{"type":3148,"value":5347},"(",{"type":3143,"tag":3426,"props":5349,"children":5350},{"style":3505},[5351],{"type":3148,"value":5352},"{\n",{"type":3143,"tag":3426,"props":5354,"children":5355},{"class":3428,"line":3068},[5356,5361,5365],{"type":3143,"tag":3426,"props":5357,"children":5358},{"style":3571},[5359],{"type":3148,"value":5360},"  runtimeConfig",{"type":3143,"tag":3426,"props":5362,"children":5363},{"style":3505},[5364],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5366,"children":5367},{"style":3505},[5368],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5370,"children":5371},{"class":3428,"line":3052},[5372,5377,5381],{"type":3143,"tag":3426,"props":5373,"children":5374},{"style":3571},[5375],{"type":3148,"value":5376},"    oauth",{"type":3143,"tag":3426,"props":5378,"children":5379},{"style":3505},[5380],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5382,"children":5383},{"style":3505},[5384],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5386,"children":5387},{"class":3428,"line":3689},[5388],{"type":3143,"tag":3426,"props":5389,"children":5390},{"style":3491},[5391],{"type":3148,"value":5392},"      \u002F\u002F provider in lowercase (github, google, etc.)\n",{"type":3143,"tag":3426,"props":5394,"children":5395},{"class":3428,"line":3698},[5396,5401,5405],{"type":3143,"tag":3426,"props":5397,"children":5398},{"style":3500},[5399],{"type":3148,"value":5400},"      \u003Cprovider>",{"type":3143,"tag":3426,"props":5402,"children":5403},{"style":3505},[5404],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5406,"children":5407},{"style":3505},[5408],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5410,"children":5411},{"class":3428,"line":3715},[5412,5417,5421,5425,5430,5434],{"type":3143,"tag":3426,"props":5413,"children":5414},{"style":3571},[5415],{"type":3148,"value":5416},"        clientId",{"type":3143,"tag":3426,"props":5418,"children":5419},{"style":3505},[5420],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5422,"children":5423},{"style":3505},[5424],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":5426,"children":5427},{"style":3438},[5428],{"type":3148,"value":5429},"...",{"type":3143,"tag":3426,"props":5431,"children":5432},{"style":3505},[5433],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":5435,"children":5436},{"style":3505},[5437],{"type":3148,"value":5438},",\n",{"type":3143,"tag":3426,"props":5440,"children":5441},{"class":3428,"line":3048},[5442,5447,5451,5455,5459],{"type":3143,"tag":3426,"props":5443,"children":5444},{"style":3571},[5445],{"type":3148,"value":5446},"        clientSecret",{"type":3143,"tag":3426,"props":5448,"children":5449},{"style":3505},[5450],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5452,"children":5453},{"style":3505},[5454],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":5456,"children":5457},{"style":3438},[5458],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":5460,"children":5461},{"style":3505},[5462],{"type":3148,"value":4758},{"type":3143,"tag":3426,"props":5464,"children":5465},{"class":3428,"line":3044},[5466],{"type":3143,"tag":3426,"props":5467,"children":5468},{"style":3505},[5469],{"type":3148,"value":5470},"      }\n",{"type":3143,"tag":3426,"props":5472,"children":5473},{"class":3428,"line":3040},[5474],{"type":3143,"tag":3426,"props":5475,"children":5476},{"style":3505},[5477],{"type":3148,"value":5478},"    }\n",{"type":3143,"tag":3426,"props":5480,"children":5481},{"class":3428,"line":3877},[5482],{"type":3143,"tag":3426,"props":5483,"children":5484},{"style":3505},[5485],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":5487,"children":5488},{"class":3428,"line":3131},[5489,5493],{"type":3143,"tag":3426,"props":5490,"children":5491},{"style":3505},[5492],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":5494,"children":5495},{"style":3500},[5496],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":5498,"children":5499},{},[5500],{"type":3148,"value":5501},"It can also be set using environment variables:",{"type":3143,"tag":3200,"props":5503,"children":5504},{},[5505,5514],{"type":3143,"tag":3204,"props":5506,"children":5507},{},[5508],{"type":3143,"tag":3288,"props":5509,"children":5511},{"className":5510},[],[5512],{"type":3148,"value":5513},"NUXT_OAUTH_\u003CPROVIDER>_CLIENT_ID",{"type":3143,"tag":3204,"props":5515,"children":5516},{},[5517],{"type":3143,"tag":3288,"props":5518,"children":5520},{"className":5519},[],[5521],{"type":3148,"value":5522},"NUXT_OAUTH_\u003CPROVIDER>_CLIENT_SECRET",{"type":3143,"tag":4606,"props":5524,"children":5525},{},[5526],{"type":3143,"tag":3150,"props":5527,"children":5528},{},[5529],{"type":3148,"value":5530},"Provider is in uppercase (GITHUB, GOOGLE, etc.)",{"type":3143,"tag":5532,"props":5533,"children":5535},"h4",{"id":5534},"supported-oauth-providers",[5536],{"type":3148,"value":5537},"Supported OAuth Providers",{"type":3143,"tag":3200,"props":5539,"children":5540},{},[5541,5546,5551,5556,5561,5566,5571,5576,5581,5586,5591,5596,5601,5606,5611,5616,5621,5626,5631,5636,5641,5646,5651,5656,5661,5666,5671,5676,5681,5686,5691,5696,5701,5706,5711,5716,5721,5726,5731,5736,5741,5746,5751,5756,5761,5766,5771,5776],{"type":3143,"tag":3204,"props":5542,"children":5543},{},[5544],{"type":3148,"value":5545},"Apple",{"type":3143,"tag":3204,"props":5547,"children":5548},{},[5549],{"type":3148,"value":5550},"Atlassian",{"type":3143,"tag":3204,"props":5552,"children":5553},{},[5554],{"type":3148,"value":5555},"Auth0",{"type":3143,"tag":3204,"props":5557,"children":5558},{},[5559],{"type":3148,"value":5560},"Authentik",{"type":3143,"tag":3204,"props":5562,"children":5563},{},[5564],{"type":3148,"value":5565},"AWS Cognito",{"type":3143,"tag":3204,"props":5567,"children":5568},{},[5569],{"type":3148,"value":5570},"Azure B2C",{"type":3143,"tag":3204,"props":5572,"children":5573},{},[5574],{"type":3148,"value":5575},"Battle.net",{"type":3143,"tag":3204,"props":5577,"children":5578},{},[5579],{"type":3148,"value":5580},"Bluesky (AT Protocol)",{"type":3143,"tag":3204,"props":5582,"children":5583},{},[5584],{"type":3148,"value":5585},"Box.com",{"type":3143,"tag":3204,"props":5587,"children":5588},{},[5589],{"type":3148,"value":5590},"Discord",{"type":3143,"tag":3204,"props":5592,"children":5593},{},[5594],{"type":3148,"value":5595},"Dropbox",{"type":3143,"tag":3204,"props":5597,"children":5598},{},[5599],{"type":3148,"value":5600},"Facebook",{"type":3143,"tag":3204,"props":5602,"children":5603},{},[5604],{"type":3148,"value":5605},"GitHub",{"type":3143,"tag":3204,"props":5607,"children":5608},{},[5609],{"type":3148,"value":5610},"GitLab",{"type":3143,"tag":3204,"props":5612,"children":5613},{},[5614],{"type":3148,"value":5615},"Gitea",{"type":3143,"tag":3204,"props":5617,"children":5618},{},[5619],{"type":3148,"value":5620},"Google",{"type":3143,"tag":3204,"props":5622,"children":5623},{},[5624],{"type":3148,"value":5625},"Heroku",{"type":3143,"tag":3204,"props":5627,"children":5628},{},[5629],{"type":3148,"value":5630},"Hubspot",{"type":3143,"tag":3204,"props":5632,"children":5633},{},[5634],{"type":3148,"value":5635},"Instagram",{"type":3143,"tag":3204,"props":5637,"children":5638},{},[5639],{"type":3148,"value":5640},"Kick",{"type":3143,"tag":3204,"props":5642,"children":5643},{},[5644],{"type":3148,"value":5645},"Keycloak",{"type":3143,"tag":3204,"props":5647,"children":5648},{},[5649],{"type":3148,"value":5650},"Line",{"type":3143,"tag":3204,"props":5652,"children":5653},{},[5654],{"type":3148,"value":5655},"Linear",{"type":3143,"tag":3204,"props":5657,"children":5658},{},[5659],{"type":3148,"value":5660},"LinkedIn",{"type":3143,"tag":3204,"props":5662,"children":5663},{},[5664],{"type":3148,"value":5665},"LiveChat",{"type":3143,"tag":3204,"props":5667,"children":5668},{},[5669],{"type":3148,"value":5670},"Microsoft",{"type":3143,"tag":3204,"props":5672,"children":5673},{},[5674],{"type":3148,"value":5675},"OIDC \u002F OpenID Connect (Generic)",{"type":3143,"tag":3204,"props":5677,"children":5678},{},[5679],{"type":3148,"value":5680},"Okta",{"type":3143,"tag":3204,"props":5682,"children":5683},{},[5684],{"type":3148,"value":5685},"Ory",{"type":3143,"tag":3204,"props":5687,"children":5688},{},[5689],{"type":3148,"value":5690},"osu!",{"type":3143,"tag":3204,"props":5692,"children":5693},{},[5694],{"type":3148,"value":5695},"PayPal",{"type":3143,"tag":3204,"props":5697,"children":5698},{},[5699],{"type":3148,"value":5700},"Polar",{"type":3143,"tag":3204,"props":5702,"children":5703},{},[5704],{"type":3148,"value":5705},"Riot Games",{"type":3143,"tag":3204,"props":5707,"children":5708},{},[5709],{"type":3148,"value":5710},"Salesforce",{"type":3143,"tag":3204,"props":5712,"children":5713},{},[5714],{"type":3148,"value":5715},"Seznam",{"type":3143,"tag":3204,"props":5717,"children":5718},{},[5719],{"type":3148,"value":5720},"Shopify Customer",{"type":3143,"tag":3204,"props":5722,"children":5723},{},[5724],{"type":3148,"value":5725},"Slack",{"type":3143,"tag":3204,"props":5727,"children":5728},{},[5729],{"type":3148,"value":5730},"Spotify",{"type":3143,"tag":3204,"props":5732,"children":5733},{},[5734],{"type":3148,"value":5735},"Steam",{"type":3143,"tag":3204,"props":5737,"children":5738},{},[5739],{"type":3148,"value":5740},"Strava",{"type":3143,"tag":3204,"props":5742,"children":5743},{},[5744],{"type":3148,"value":5745},"TikTok",{"type":3143,"tag":3204,"props":5747,"children":5748},{},[5749],{"type":3148,"value":5750},"Twitch",{"type":3143,"tag":3204,"props":5752,"children":5753},{},[5754],{"type":3148,"value":5755},"VK",{"type":3143,"tag":3204,"props":5757,"children":5758},{},[5759],{"type":3148,"value":5760},"WorkOS",{"type":3143,"tag":3204,"props":5762,"children":5763},{},[5764],{"type":3148,"value":5765},"X (Twitter)",{"type":3143,"tag":3204,"props":5767,"children":5768},{},[5769],{"type":3148,"value":5770},"XSUAA",{"type":3143,"tag":3204,"props":5772,"children":5773},{},[5774],{"type":3148,"value":5775},"Yandex",{"type":3143,"tag":3204,"props":5777,"children":5778},{},[5779],{"type":3148,"value":5780},"Zitadel",{"type":3143,"tag":3150,"props":5782,"children":5783},{},[5784,5786,5793],{"type":3148,"value":5785},"You can add your favorite provider by creating a new file in ",{"type":3143,"tag":3154,"props":5787,"children":5790},{"href":5788,"rel":5789},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Ftree\u002Fmain\u002Fsrc\u002Fruntime\u002Fserver\u002Flib\u002Foauth",[3158],[5791],{"type":3148,"value":5792},"src\u002Fruntime\u002Fserver\u002Flib\u002Foauth\u002F",{"type":3148,"value":3381},{"type":3143,"tag":5532,"props":5795,"children":5797},{"id":5796},"example",[5798],{"type":3148,"value":5799},"Example",{"type":3143,"tag":3150,"props":5801,"children":5802},{},[5803,5805],{"type":3148,"value":5804},"Example: ",{"type":3143,"tag":3288,"props":5806,"children":5808},{"className":5807},[],[5809],{"type":3148,"value":5810},"~\u002Fserver\u002Froutes\u002Fauth\u002Fgithub.get.ts",{"type":3143,"tag":3416,"props":5812,"children":5814},{"className":4104,"code":5813,"language":4106,"meta":3016,"style":3016},"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",[5815],{"type":3143,"tag":3288,"props":5816,"children":5817},{"__ignoreMap":3016},[5818,5842,5858,5876,5883,5934,5962,5978,6003,6010,6022,6064,6071,6079,6113,6159,6198,6205],{"type":3143,"tag":3426,"props":5819,"children":5820},{"class":3428,"line":3102},[5821,5825,5829,5834,5838],{"type":3143,"tag":3426,"props":5822,"children":5823},{"style":4688},[5824],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":5826,"children":5827},{"style":4688},[5828],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":5830,"children":5831},{"style":3662},[5832],{"type":3148,"value":5833}," defineOAuthGitHubEventHandler",{"type":3143,"tag":3426,"props":5835,"children":5836},{"style":3500},[5837],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":5839,"children":5840},{"style":3505},[5841],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":5843,"children":5844},{"class":3428,"line":3068},[5845,5850,5854],{"type":3143,"tag":3426,"props":5846,"children":5847},{"style":3571},[5848],{"type":3148,"value":5849},"  config",{"type":3143,"tag":3426,"props":5851,"children":5852},{"style":3505},[5853],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5855,"children":5856},{"style":3505},[5857],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5859,"children":5860},{"class":3428,"line":3052},[5861,5866,5870],{"type":3143,"tag":3426,"props":5862,"children":5863},{"style":3571},[5864],{"type":3148,"value":5865},"    emailRequired",{"type":3143,"tag":3426,"props":5867,"children":5868},{"style":3505},[5869],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5871,"children":5873},{"style":5872},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[5874],{"type":3148,"value":5875}," true\n",{"type":3143,"tag":3426,"props":5877,"children":5878},{"class":3428,"line":3689},[5879],{"type":3143,"tag":3426,"props":5880,"children":5881},{"style":3505},[5882],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":5884,"children":5885},{"class":3428,"line":3698},[5886,5891,5896,5900,5905,5909,5913,5917,5921,5926,5930],{"type":3143,"tag":3426,"props":5887,"children":5888},{"style":3577},[5889],{"type":3148,"value":5890},"  async",{"type":3143,"tag":3426,"props":5892,"children":5893},{"style":3571},[5894],{"type":3148,"value":5895}," onSuccess",{"type":3143,"tag":3426,"props":5897,"children":5898},{"style":3505},[5899],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":5901,"children":5902},{"style":4520},[5903],{"type":3148,"value":5904},"event",{"type":3143,"tag":3426,"props":5906,"children":5907},{"style":3505},[5908],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":5910,"children":5911},{"style":3505},[5912],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":5914,"children":5915},{"style":4520},[5916],{"type":3148,"value":3613},{"type":3143,"tag":3426,"props":5918,"children":5919},{"style":3505},[5920],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":5922,"children":5923},{"style":4520},[5924],{"type":3148,"value":5925}," tokens",{"type":3143,"tag":3426,"props":5927,"children":5928},{"style":3505},[5929],{"type":3148,"value":4586},{"type":3143,"tag":3426,"props":5931,"children":5932},{"style":3505},[5933],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5935,"children":5936},{"class":3428,"line":3715},[5937,5942,5946,5950,5954,5958],{"type":3143,"tag":3426,"props":5938,"children":5939},{"style":4688},[5940],{"type":3148,"value":5941},"    await",{"type":3143,"tag":3426,"props":5943,"children":5944},{"style":3662},[5945],{"type":3148,"value":4696},{"type":3143,"tag":3426,"props":5947,"children":5948},{"style":3571},[5949],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":5951,"children":5952},{"style":3500},[5953],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":5955,"children":5956},{"style":3505},[5957],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":5959,"children":5960},{"style":3505},[5961],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5963,"children":5964},{"class":3428,"line":3048},[5965,5970,5974],{"type":3143,"tag":3426,"props":5966,"children":5967},{"style":3571},[5968],{"type":3148,"value":5969},"      user",{"type":3143,"tag":3426,"props":5971,"children":5972},{"style":3505},[5973],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5975,"children":5976},{"style":3505},[5977],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":5979,"children":5980},{"class":3428,"line":3044},[5981,5986,5990,5994,5998],{"type":3143,"tag":3426,"props":5982,"children":5983},{"style":3571},[5984],{"type":3148,"value":5985},"        githubId",{"type":3143,"tag":3426,"props":5987,"children":5988},{"style":3505},[5989],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":5991,"children":5992},{"style":3500},[5993],{"type":3148,"value":3613},{"type":3143,"tag":3426,"props":5995,"children":5996},{"style":3505},[5997],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":5999,"children":6000},{"style":3500},[6001],{"type":3148,"value":6002},"id\n",{"type":3143,"tag":3426,"props":6004,"children":6005},{"class":3428,"line":3040},[6006],{"type":3143,"tag":3426,"props":6007,"children":6008},{"style":3505},[6009],{"type":3148,"value":5470},{"type":3143,"tag":3426,"props":6011,"children":6012},{"class":3428,"line":3877},[6013,6018],{"type":3143,"tag":3426,"props":6014,"children":6015},{"style":3505},[6016],{"type":3148,"value":6017},"    }",{"type":3143,"tag":3426,"props":6019,"children":6020},{"style":3571},[6021],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":6023,"children":6024},{"class":3428,"line":3131},[6025,6030,6035,6039,6043,6047,6051,6056,6060],{"type":3143,"tag":3426,"props":6026,"children":6027},{"style":4688},[6028],{"type":3148,"value":6029},"    return",{"type":3143,"tag":3426,"props":6031,"children":6032},{"style":3662},[6033],{"type":3148,"value":6034}," sendRedirect",{"type":3143,"tag":3426,"props":6036,"children":6037},{"style":3571},[6038],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6040,"children":6041},{"style":3500},[6042],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":6044,"children":6045},{"style":3505},[6046],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":6048,"children":6049},{"style":3505},[6050],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":6052,"children":6053},{"style":3438},[6054],{"type":3148,"value":6055},"\u002F",{"type":3143,"tag":3426,"props":6057,"children":6058},{"style":3505},[6059],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6061,"children":6062},{"style":3571},[6063],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":6065,"children":6066},{"class":3428,"line":3914},[6067],{"type":3143,"tag":3426,"props":6068,"children":6069},{"style":3505},[6070],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":6072,"children":6073},{"class":3428,"line":3947},[6074],{"type":3143,"tag":3426,"props":6075,"children":6076},{"style":3491},[6077],{"type":3148,"value":6078},"  \u002F\u002F Optional, will return a json error and 401 status code by default\n",{"type":3143,"tag":3426,"props":6080,"children":6081},{"class":3428,"line":4002},[6082,6087,6091,6095,6099,6104,6109],{"type":3143,"tag":3426,"props":6083,"children":6084},{"style":3571},[6085],{"type":3148,"value":6086},"  onError",{"type":3143,"tag":3426,"props":6088,"children":6089},{"style":3505},[6090],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6092,"children":6093},{"style":4520},[6094],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":6096,"children":6097},{"style":3505},[6098],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":6100,"children":6101},{"style":4520},[6102],{"type":3148,"value":6103}," error",{"type":3143,"tag":3426,"props":6105,"children":6106},{"style":3505},[6107],{"type":3148,"value":6108},")",{"type":3143,"tag":3426,"props":6110,"children":6111},{"style":3505},[6112],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":6114,"children":6115},{"class":3428,"line":4011},[6116,6121,6125,6130,6134,6138,6143,6147,6151,6155],{"type":3143,"tag":3426,"props":6117,"children":6118},{"style":3500},[6119],{"type":3148,"value":6120},"    console",{"type":3143,"tag":3426,"props":6122,"children":6123},{"style":3505},[6124],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":6126,"children":6127},{"style":3662},[6128],{"type":3148,"value":6129},"error",{"type":3143,"tag":3426,"props":6131,"children":6132},{"style":3571},[6133],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6135,"children":6136},{"style":3505},[6137],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6139,"children":6140},{"style":3438},[6141],{"type":3148,"value":6142},"GitHub OAuth error:",{"type":3143,"tag":3426,"props":6144,"children":6145},{"style":3505},[6146],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6148,"children":6149},{"style":3505},[6150],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":6152,"children":6153},{"style":3500},[6154],{"type":3148,"value":6103},{"type":3143,"tag":3426,"props":6156,"children":6157},{"style":3571},[6158],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":6160,"children":6161},{"class":3428,"line":3036},[6162,6166,6170,6174,6178,6182,6186,6190,6194],{"type":3143,"tag":3426,"props":6163,"children":6164},{"style":4688},[6165],{"type":3148,"value":6029},{"type":3143,"tag":3426,"props":6167,"children":6168},{"style":3662},[6169],{"type":3148,"value":6034},{"type":3143,"tag":3426,"props":6171,"children":6172},{"style":3571},[6173],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6175,"children":6176},{"style":3500},[6177],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":6179,"children":6180},{"style":3505},[6181],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":6183,"children":6184},{"style":3505},[6185],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":6187,"children":6188},{"style":3438},[6189],{"type":3148,"value":6055},{"type":3143,"tag":3426,"props":6191,"children":6192},{"style":3505},[6193],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6195,"children":6196},{"style":3571},[6197],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":6199,"children":6200},{"class":3428,"line":4079},[6201],{"type":3143,"tag":3426,"props":6202,"children":6203},{"style":3505},[6204],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":6206,"children":6207},{"class":3428,"line":4349},[6208,6212],{"type":3143,"tag":3426,"props":6209,"children":6210},{"style":3505},[6211],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":6213,"children":6214},{"style":3500},[6215],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":6217,"children":6218},{},[6219,6221,6227],{"type":3148,"value":6220},"Make sure to set the callback URL in your OAuth app settings as ",{"type":3143,"tag":3288,"props":6222,"children":6224},{"className":6223},[],[6225],{"type":3148,"value":6226},"\u003Cyour-domain>\u002Fauth\u002Fgithub",{"type":3148,"value":3381},{"type":3143,"tag":3150,"props":6229,"children":6230},{},[6231,6233,6239],{"type":3148,"value":6232},"If the redirect URL mismatch in production, this means that the module cannot guess the right redirect URL. You can set the ",{"type":3143,"tag":3288,"props":6234,"children":6236},{"className":6235},[],[6237],{"type":3148,"value":6238},"NUXT_OAUTH_\u003CPROVIDER>_REDIRECT_URL",{"type":3148,"value":6240}," env variable to overwrite the default one.",{"type":3143,"tag":3546,"props":6242,"children":6244},{"id":6243},"password-hashing",[6245],{"type":3148,"value":3270},{"type":3143,"tag":3150,"props":6247,"children":6248},{},[6249,6251,6257,6259,6265,6267,6274],{"type":3148,"value":6250},"Nuxt Auth Utils provides password hashing utilities like ",{"type":3143,"tag":3288,"props":6252,"children":6254},{"className":6253},[],[6255],{"type":3148,"value":6256},"hashPassword",{"type":3148,"value":6258}," and ",{"type":3143,"tag":3288,"props":6260,"children":6262},{"className":6261},[],[6263],{"type":3148,"value":6264},"verifyPassword",{"type":3148,"value":6266}," to hash and verify passwords by using ",{"type":3143,"tag":3154,"props":6268,"children":6271},{"href":6269,"rel":6270},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FScrypt",[3158],[6272],{"type":3148,"value":6273},"scrypt",{"type":3148,"value":6275}," as it is supported in many JS runtime.",{"type":3143,"tag":3416,"props":6277,"children":6279},{"className":4104,"code":6278,"language":4106,"meta":3016,"style":3016},"const hashedPassword = await hashPassword('user_password')\n\nif (await verifyPassword(hashedPassword, 'user_password')) {\n  \u002F\u002F Password is valid\n}\n",[6280],{"type":3143,"tag":3288,"props":6281,"children":6282},{"__ignoreMap":3016},[6283,6329,6336,6387,6395],{"type":3143,"tag":3426,"props":6284,"children":6285},{"class":3428,"line":3102},[6286,6290,6295,6299,6303,6308,6312,6316,6321,6325],{"type":3143,"tag":3426,"props":6287,"children":6288},{"style":3577},[6289],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":6291,"children":6292},{"style":3500},[6293],{"type":3148,"value":6294}," hashedPassword ",{"type":3143,"tag":3426,"props":6296,"children":6297},{"style":3505},[6298],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":6300,"children":6301},{"style":4688},[6302],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":6304,"children":6305},{"style":3662},[6306],{"type":3148,"value":6307}," hashPassword",{"type":3143,"tag":3426,"props":6309,"children":6310},{"style":3500},[6311],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6313,"children":6314},{"style":3505},[6315],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6317,"children":6318},{"style":3438},[6319],{"type":3148,"value":6320},"user_password",{"type":3143,"tag":3426,"props":6322,"children":6323},{"style":3505},[6324],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6326,"children":6327},{"style":3500},[6328],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":6330,"children":6331},{"class":3428,"line":3068},[6332],{"type":3143,"tag":3426,"props":6333,"children":6334},{"emptyLinePlaceholder":1200},[6335],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":6337,"children":6338},{"class":3428,"line":3052},[6339,6344,6348,6352,6357,6362,6366,6370,6374,6378,6383],{"type":3143,"tag":3426,"props":6340,"children":6341},{"style":4688},[6342],{"type":3148,"value":6343},"if",{"type":3143,"tag":3426,"props":6345,"children":6346},{"style":3500},[6347],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":6349,"children":6350},{"style":4688},[6351],{"type":3148,"value":4691},{"type":3143,"tag":3426,"props":6353,"children":6354},{"style":3662},[6355],{"type":3148,"value":6356}," verifyPassword",{"type":3143,"tag":3426,"props":6358,"children":6359},{"style":3500},[6360],{"type":3148,"value":6361},"(hashedPassword",{"type":3143,"tag":3426,"props":6363,"children":6364},{"style":3505},[6365],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":6367,"children":6368},{"style":3505},[6369],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":6371,"children":6372},{"style":3438},[6373],{"type":3148,"value":6320},{"type":3143,"tag":3426,"props":6375,"children":6376},{"style":3505},[6377],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6379,"children":6380},{"style":3500},[6381],{"type":3148,"value":6382},")) ",{"type":3143,"tag":3426,"props":6384,"children":6385},{"style":3505},[6386],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":6388,"children":6389},{"class":3428,"line":3689},[6390],{"type":3143,"tag":3426,"props":6391,"children":6392},{"style":3491},[6393],{"type":3148,"value":6394},"  \u002F\u002F Password is valid\n",{"type":3143,"tag":3426,"props":6396,"children":6397},{"class":3428,"line":3698},[6398],{"type":3143,"tag":3426,"props":6399,"children":6400},{"style":3505},[6401],{"type":3148,"value":4604},{"type":3143,"tag":3150,"props":6403,"children":6404},{},[6405,6407,6413],{"type":3148,"value":6406},"It also provides a ",{"type":3143,"tag":3288,"props":6408,"children":6410},{"className":6409},[],[6411],{"type":3148,"value":6412},"passwordNeedsRehash",{"type":3148,"value":6414}," 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":3143,"tag":3416,"props":6416,"children":6418},{"className":4104,"code":6417,"language":4106,"meta":3016,"style":3016},"const needsRehash = passwordNeedsRehash(hashedPassword)\n\nif (needsRehash) {\n  \u002F\u002F Password needs to be rehashed\n  hashedPassword = await hashPassword('user_password')\n}\n",[6419],{"type":3143,"tag":3288,"props":6420,"children":6421},{"__ignoreMap":3016},[6422,6448,6455,6471,6479,6519],{"type":3143,"tag":3426,"props":6423,"children":6424},{"class":3428,"line":3102},[6425,6429,6434,6438,6443],{"type":3143,"tag":3426,"props":6426,"children":6427},{"style":3577},[6428],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":6430,"children":6431},{"style":3500},[6432],{"type":3148,"value":6433}," needsRehash ",{"type":3143,"tag":3426,"props":6435,"children":6436},{"style":3505},[6437],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":6439,"children":6440},{"style":3662},[6441],{"type":3148,"value":6442}," passwordNeedsRehash",{"type":3143,"tag":3426,"props":6444,"children":6445},{"style":3500},[6446],{"type":3148,"value":6447},"(hashedPassword)\n",{"type":3143,"tag":3426,"props":6449,"children":6450},{"class":3428,"line":3068},[6451],{"type":3143,"tag":3426,"props":6452,"children":6453},{"emptyLinePlaceholder":1200},[6454],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":6456,"children":6457},{"class":3428,"line":3052},[6458,6462,6467],{"type":3143,"tag":3426,"props":6459,"children":6460},{"style":4688},[6461],{"type":3148,"value":6343},{"type":3143,"tag":3426,"props":6463,"children":6464},{"style":3500},[6465],{"type":3148,"value":6466}," (needsRehash) ",{"type":3143,"tag":3426,"props":6468,"children":6469},{"style":3505},[6470],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":6472,"children":6473},{"class":3428,"line":3689},[6474],{"type":3143,"tag":3426,"props":6475,"children":6476},{"style":3491},[6477],{"type":3148,"value":6478},"  \u002F\u002F Password needs to be rehashed\n",{"type":3143,"tag":3426,"props":6480,"children":6481},{"class":3428,"line":3698},[6482,6487,6491,6495,6499,6503,6507,6511,6515],{"type":3143,"tag":3426,"props":6483,"children":6484},{"style":3500},[6485],{"type":3148,"value":6486},"  hashedPassword",{"type":3143,"tag":3426,"props":6488,"children":6489},{"style":3505},[6490],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":6492,"children":6493},{"style":4688},[6494],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":6496,"children":6497},{"style":3662},[6498],{"type":3148,"value":6307},{"type":3143,"tag":3426,"props":6500,"children":6501},{"style":3571},[6502],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6504,"children":6505},{"style":3505},[6506],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6508,"children":6509},{"style":3438},[6510],{"type":3148,"value":6320},{"type":3143,"tag":3426,"props":6512,"children":6513},{"style":3505},[6514],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6516,"children":6517},{"style":3571},[6518],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":6520,"children":6521},{"class":3428,"line":3715},[6522],{"type":3143,"tag":3426,"props":6523,"children":6524},{"style":3505},[6525],{"type":3148,"value":4604},{"type":3143,"tag":3150,"props":6527,"children":6528},{},[6529,6531,6536],{"type":3148,"value":6530},"You can configure the scrypt options in your ",{"type":3143,"tag":3288,"props":6532,"children":6534},{"className":6533},[],[6535],{"type":3148,"value":233},{"type":3148,"value":4165},{"type":3143,"tag":3416,"props":6538,"children":6540},{"className":4104,"code":6539,"language":4106,"meta":3016,"style":3016},"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",[6541],{"type":3143,"tag":3288,"props":6542,"children":6543},{"__ignoreMap":3016},[6544,6567,6605,6621,6637,6653,6661,6668,6675,6682],{"type":3143,"tag":3426,"props":6545,"children":6546},{"class":3428,"line":3102},[6547,6551,6555,6559,6563],{"type":3143,"tag":3426,"props":6548,"children":6549},{"style":4688},[6550],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":6552,"children":6553},{"style":4688},[6554],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":6556,"children":6557},{"style":3662},[6558],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":6560,"children":6561},{"style":3500},[6562],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6564,"children":6565},{"style":3505},[6566],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":6568,"children":6569},{"class":3428,"line":3068},[6570,6575,6579,6584,6588,6592,6596,6601],{"type":3143,"tag":3426,"props":6571,"children":6572},{"style":3571},[6573],{"type":3148,"value":6574},"  modules",{"type":3143,"tag":3426,"props":6576,"children":6577},{"style":3505},[6578],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6580,"children":6581},{"style":3500},[6582],{"type":3148,"value":6583}," [",{"type":3143,"tag":3426,"props":6585,"children":6586},{"style":3505},[6587],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6589,"children":6590},{"style":3438},[6591],{"type":3148,"value":3015},{"type":3143,"tag":3426,"props":6593,"children":6594},{"style":3505},[6595],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":6597,"children":6598},{"style":3500},[6599],{"type":3148,"value":6600},"]",{"type":3143,"tag":3426,"props":6602,"children":6603},{"style":3505},[6604],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":6606,"children":6607},{"class":3428,"line":3052},[6608,6613,6617],{"type":3143,"tag":3426,"props":6609,"children":6610},{"style":3571},[6611],{"type":3148,"value":6612},"  auth",{"type":3143,"tag":3426,"props":6614,"children":6615},{"style":3505},[6616],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6618,"children":6619},{"style":3505},[6620],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":6622,"children":6623},{"class":3428,"line":3689},[6624,6629,6633],{"type":3143,"tag":3426,"props":6625,"children":6626},{"style":3571},[6627],{"type":3148,"value":6628},"    hash",{"type":3143,"tag":3426,"props":6630,"children":6631},{"style":3505},[6632],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6634,"children":6635},{"style":3505},[6636],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":6638,"children":6639},{"class":3428,"line":3698},[6640,6645,6649],{"type":3143,"tag":3426,"props":6641,"children":6642},{"style":3571},[6643],{"type":3148,"value":6644},"      scrypt",{"type":3143,"tag":3426,"props":6646,"children":6647},{"style":3505},[6648],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6650,"children":6651},{"style":3505},[6652],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":6654,"children":6655},{"class":3428,"line":3715},[6656],{"type":3143,"tag":3426,"props":6657,"children":6658},{"style":3491},[6659],{"type":3148,"value":6660},"        \u002F\u002F See https:\u002F\u002Fgithub.com\u002Fadonisjs\u002Fhash\u002Fblob\u002F94637029cd526783ac0a763ec581306d98db2036\u002Fsrc\u002Ftypes.ts#L144\n",{"type":3143,"tag":3426,"props":6662,"children":6663},{"class":3428,"line":3048},[6664],{"type":3143,"tag":3426,"props":6665,"children":6666},{"style":3505},[6667],{"type":3148,"value":5470},{"type":3143,"tag":3426,"props":6669,"children":6670},{"class":3428,"line":3044},[6671],{"type":3143,"tag":3426,"props":6672,"children":6673},{"style":3505},[6674],{"type":3148,"value":5478},{"type":3143,"tag":3426,"props":6676,"children":6677},{"class":3428,"line":3040},[6678],{"type":3143,"tag":3426,"props":6679,"children":6680},{"style":3505},[6681],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":6683,"children":6684},{"class":3428,"line":3877},[6685,6689],{"type":3143,"tag":3426,"props":6686,"children":6687},{"style":3505},[6688],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":6690,"children":6691},{"style":3500},[6692],{"type":3148,"value":4868},{"type":3143,"tag":3546,"props":6694,"children":6696},{"id":6695},"at-protocol",[6697],{"type":3148,"value":6698},"AT Protocol",{"type":3143,"tag":3150,"props":6700,"children":6701},{},[6702],{"type":3148,"value":6703},"Social networks that rely on AT Protocol (e.g., Bluesky) slightly differ from a regular OAuth flow.",{"type":3143,"tag":3150,"props":6705,"children":6706},{},[6707],{"type":3148,"value":6708},"To enable OAuth with AT Protocol, you need to:",{"type":3143,"tag":3400,"props":6710,"children":6711},{},[6712],{"type":3143,"tag":3204,"props":6713,"children":6714},{},[6715],{"type":3148,"value":6716},"Install the peer dependencies:",{"type":3143,"tag":3416,"props":6718,"children":6720},{"className":3418,"code":6719,"language":3420,"meta":3016,"style":3016},"npx nypm i @atproto\u002Foauth-client-node @atproto\u002Fapi\n",[6721],{"type":3143,"tag":3288,"props":6722,"children":6723},{"__ignoreMap":3016},[6724],{"type":3143,"tag":3426,"props":6725,"children":6726},{"class":3428,"line":3102},[6727,6731,6736,6741,6746],{"type":3143,"tag":3426,"props":6728,"children":6729},{"style":3432},[6730],{"type":3148,"value":3435},{"type":3143,"tag":3426,"props":6732,"children":6733},{"style":3438},[6734],{"type":3148,"value":6735}," nypm",{"type":3143,"tag":3426,"props":6737,"children":6738},{"style":3438},[6739],{"type":3148,"value":6740}," i",{"type":3143,"tag":3426,"props":6742,"children":6743},{"style":3438},[6744],{"type":3148,"value":6745}," @atproto\u002Foauth-client-node",{"type":3143,"tag":3426,"props":6747,"children":6748},{"style":3438},[6749],{"type":3148,"value":6750}," @atproto\u002Fapi\n",{"type":3143,"tag":3400,"props":6752,"children":6753},{"start":3068},[6754],{"type":3143,"tag":3204,"props":6755,"children":6756},{},[6757,6759],{"type":3148,"value":6758},"Enable it in your ",{"type":3143,"tag":3288,"props":6760,"children":6762},{"className":6761},[],[6763],{"type":3148,"value":233},{"type":3143,"tag":3416,"props":6765,"children":6767},{"className":4104,"code":6766,"language":4106,"meta":3016,"style":3016},"export default defineNuxtConfig({\n  auth: {\n    atproto: true\n  }\n})\n",[6768],{"type":3143,"tag":3288,"props":6769,"children":6770},{"__ignoreMap":3016},[6771,6794,6809,6825,6832],{"type":3143,"tag":3426,"props":6772,"children":6773},{"class":3428,"line":3102},[6774,6778,6782,6786,6790],{"type":3143,"tag":3426,"props":6775,"children":6776},{"style":4688},[6777],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":6779,"children":6780},{"style":4688},[6781],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":6783,"children":6784},{"style":3662},[6785],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":6787,"children":6788},{"style":3500},[6789],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6791,"children":6792},{"style":3505},[6793],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":6795,"children":6796},{"class":3428,"line":3068},[6797,6801,6805],{"type":3143,"tag":3426,"props":6798,"children":6799},{"style":3571},[6800],{"type":3148,"value":6612},{"type":3143,"tag":3426,"props":6802,"children":6803},{"style":3505},[6804],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6806,"children":6807},{"style":3505},[6808],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":6810,"children":6811},{"class":3428,"line":3052},[6812,6817,6821],{"type":3143,"tag":3426,"props":6813,"children":6814},{"style":3571},[6815],{"type":3148,"value":6816},"    atproto",{"type":3143,"tag":3426,"props":6818,"children":6819},{"style":3505},[6820],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6822,"children":6823},{"style":5872},[6824],{"type":3148,"value":5875},{"type":3143,"tag":3426,"props":6826,"children":6827},{"class":3428,"line":3689},[6828],{"type":3143,"tag":3426,"props":6829,"children":6830},{"style":3505},[6831],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":6833,"children":6834},{"class":3428,"line":3698},[6835,6839],{"type":3143,"tag":3426,"props":6836,"children":6837},{"style":3505},[6838],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":6840,"children":6841},{"style":3500},[6842],{"type":3148,"value":4868},{"type":3143,"tag":3546,"props":6844,"children":6846},{"id":6845},"webauthn-passkey",[6847],{"type":3148,"value":3279},{"type":3143,"tag":3150,"props":6849,"children":6850},{},[6851],{"type":3148,"value":6852},"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":3143,"tag":3150,"props":6854,"children":6855},{},[6856],{"type":3148,"value":6857},"To enable WebAuthn you need to:",{"type":3143,"tag":3400,"props":6859,"children":6860},{},[6861],{"type":3143,"tag":3204,"props":6862,"children":6863},{},[6864],{"type":3148,"value":6716},{"type":3143,"tag":3416,"props":6866,"children":6868},{"className":3418,"code":6867,"language":3420,"meta":3016,"style":3016},"npx nypm i @simplewebauthn\u002Fserver@11 @simplewebauthn\u002Fbrowser@11\n",[6869],{"type":3143,"tag":3288,"props":6870,"children":6871},{"__ignoreMap":3016},[6872],{"type":3143,"tag":3426,"props":6873,"children":6874},{"class":3428,"line":3102},[6875,6879,6883,6887,6892],{"type":3143,"tag":3426,"props":6876,"children":6877},{"style":3432},[6878],{"type":3148,"value":3435},{"type":3143,"tag":3426,"props":6880,"children":6881},{"style":3438},[6882],{"type":3148,"value":6735},{"type":3143,"tag":3426,"props":6884,"children":6885},{"style":3438},[6886],{"type":3148,"value":6740},{"type":3143,"tag":3426,"props":6888,"children":6889},{"style":3438},[6890],{"type":3148,"value":6891}," @simplewebauthn\u002Fserver@11",{"type":3143,"tag":3426,"props":6893,"children":6894},{"style":3438},[6895],{"type":3148,"value":6896}," @simplewebauthn\u002Fbrowser@11\n",{"type":3143,"tag":3400,"props":6898,"children":6899},{"start":3068},[6900],{"type":3143,"tag":3204,"props":6901,"children":6902},{},[6903,6904],{"type":3148,"value":6758},{"type":3143,"tag":3288,"props":6905,"children":6907},{"className":6906},[],[6908],{"type":3148,"value":233},{"type":3143,"tag":3416,"props":6910,"children":6912},{"className":4104,"code":6911,"language":4106,"meta":3016,"style":3016},"export default defineNuxtConfig({\n  auth: {\n    webAuthn: true\n  }\n})\n",[6913],{"type":3143,"tag":3288,"props":6914,"children":6915},{"__ignoreMap":3016},[6916,6939,6954,6970,6977],{"type":3143,"tag":3426,"props":6917,"children":6918},{"class":3428,"line":3102},[6919,6923,6927,6931,6935],{"type":3143,"tag":3426,"props":6920,"children":6921},{"style":4688},[6922],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":6924,"children":6925},{"style":4688},[6926],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":6928,"children":6929},{"style":3662},[6930],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":6932,"children":6933},{"style":3500},[6934],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":6936,"children":6937},{"style":3505},[6938],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":6940,"children":6941},{"class":3428,"line":3068},[6942,6946,6950],{"type":3143,"tag":3426,"props":6943,"children":6944},{"style":3571},[6945],{"type":3148,"value":6612},{"type":3143,"tag":3426,"props":6947,"children":6948},{"style":3505},[6949],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6951,"children":6952},{"style":3505},[6953],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":6955,"children":6956},{"class":3428,"line":3052},[6957,6962,6966],{"type":3143,"tag":3426,"props":6958,"children":6959},{"style":3571},[6960],{"type":3148,"value":6961},"    webAuthn",{"type":3143,"tag":3426,"props":6963,"children":6964},{"style":3505},[6965],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":6967,"children":6968},{"style":5872},[6969],{"type":3148,"value":5875},{"type":3143,"tag":3426,"props":6971,"children":6972},{"class":3428,"line":3689},[6973],{"type":3143,"tag":3426,"props":6974,"children":6975},{"style":3505},[6976],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":6978,"children":6979},{"class":3428,"line":3698},[6980,6984],{"type":3143,"tag":3426,"props":6981,"children":6982},{"style":3505},[6983],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":6985,"children":6986},{"style":3500},[6987],{"type":3148,"value":4868},{"type":3143,"tag":5532,"props":6989,"children":6991},{"id":6990},"example-1",[6992],{"type":3148,"value":5799},{"type":3143,"tag":3150,"props":6994,"children":6995},{},[6996],{"type":3148,"value":6997},"In this example we will implement the very basic steps to register and authenticate a credential.",{"type":3143,"tag":3150,"props":6999,"children":7000},{},[7001,7003,7010],{"type":3148,"value":7002},"The full code can be found in the ",{"type":3143,"tag":3154,"props":7004,"children":7007},{"href":7005,"rel":7006},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fapi\u002Fwebauthn",[3158],[7008],{"type":3148,"value":7009},"playground",{"type":3148,"value":7011},". The example uses a SQLite database with the following minimal tables:",{"type":3143,"tag":3416,"props":7013,"children":7017},{"className":7014,"code":7015,"language":7016,"meta":3016,"style":3016},"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",[7018],{"type":3143,"tag":3288,"props":7019,"children":7020},{"__ignoreMap":3016},[7021,7045,7068,7086,7094,7101,7132,7173,7197,7217,7238,7258,7278,7325],{"type":3143,"tag":3426,"props":7022,"children":7023},{"class":3428,"line":3102},[7024,7030,7035,7040],{"type":3143,"tag":3426,"props":7025,"children":7027},{"style":7026},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[7028],{"type":3148,"value":7029},"CREATE",{"type":3143,"tag":3426,"props":7031,"children":7032},{"style":7026},[7033],{"type":3148,"value":7034}," TABLE",{"type":3143,"tag":3426,"props":7036,"children":7037},{"style":3662},[7038],{"type":3148,"value":7039}," users",{"type":3143,"tag":3426,"props":7041,"children":7042},{"style":3500},[7043],{"type":3148,"value":7044}," (\n",{"type":3143,"tag":3426,"props":7046,"children":7047},{"class":3428,"line":3068},[7048,7053,7058,7063],{"type":3143,"tag":3426,"props":7049,"children":7050},{"style":3500},[7051],{"type":3148,"value":7052},"  id ",{"type":3143,"tag":3426,"props":7054,"children":7055},{"style":3577},[7056],{"type":3148,"value":7057},"INTEGER",{"type":3143,"tag":3426,"props":7059,"children":7060},{"style":3577},[7061],{"type":3148,"value":7062}," PRIMARY KEY",{"type":3143,"tag":3426,"props":7064,"children":7065},{"style":3500},[7066],{"type":3148,"value":7067}," AUTOINCREMENT,\n",{"type":3143,"tag":3426,"props":7069,"children":7070},{"class":3428,"line":3052},[7071,7076,7081],{"type":3143,"tag":3426,"props":7072,"children":7073},{"style":3500},[7074],{"type":3148,"value":7075},"  email ",{"type":3143,"tag":3426,"props":7077,"children":7078},{"style":3577},[7079],{"type":3148,"value":7080},"TEXT",{"type":3143,"tag":3426,"props":7082,"children":7083},{"style":7026},[7084],{"type":3148,"value":7085}," NOT NULL\n",{"type":3143,"tag":3426,"props":7087,"children":7088},{"class":3428,"line":3689},[7089],{"type":3143,"tag":3426,"props":7090,"children":7091},{"style":3500},[7092],{"type":3148,"value":7093},");\n",{"type":3143,"tag":3426,"props":7095,"children":7096},{"class":3428,"line":3698},[7097],{"type":3143,"tag":3426,"props":7098,"children":7099},{"emptyLinePlaceholder":1200},[7100],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":7102,"children":7103},{"class":3428,"line":3715},[7104,7108,7112,7117,7122,7127],{"type":3143,"tag":3426,"props":7105,"children":7106},{"style":7026},[7107],{"type":3148,"value":7029},{"type":3143,"tag":3426,"props":7109,"children":7110},{"style":7026},[7111],{"type":3148,"value":7034},{"type":3143,"tag":3426,"props":7113,"children":7114},{"style":3662},[7115],{"type":3148,"value":7116}," IF",{"type":3143,"tag":3426,"props":7118,"children":7119},{"style":7026},[7120],{"type":3148,"value":7121}," NOT",{"type":3143,"tag":3426,"props":7123,"children":7124},{"style":7026},[7125],{"type":3148,"value":7126}," EXISTS",{"type":3143,"tag":3426,"props":7128,"children":7129},{"style":3500},[7130],{"type":3148,"value":7131}," credentials (\n",{"type":3143,"tag":3426,"props":7133,"children":7134},{"class":3428,"line":3048},[7135,7140,7144,7149,7154,7159,7164,7169],{"type":3143,"tag":3426,"props":7136,"children":7137},{"style":3500},[7138],{"type":3148,"value":7139},"  userId ",{"type":3143,"tag":3426,"props":7141,"children":7142},{"style":3577},[7143],{"type":3148,"value":7057},{"type":3143,"tag":3426,"props":7145,"children":7146},{"style":7026},[7147],{"type":3148,"value":7148}," NOT NULL",{"type":3143,"tag":3426,"props":7150,"children":7151},{"style":3577},[7152],{"type":3148,"value":7153}," REFERENCES",{"type":3143,"tag":3426,"props":7155,"children":7156},{"style":3500},[7157],{"type":3148,"value":7158}," users(id) ",{"type":3143,"tag":3426,"props":7160,"children":7161},{"style":3577},[7162],{"type":3148,"value":7163},"ON DELETE CASCADE",{"type":3143,"tag":3426,"props":7165,"children":7166},{"style":3577},[7167],{"type":3148,"value":7168}," ON UPDATE CASCADE",{"type":3143,"tag":3426,"props":7170,"children":7171},{"style":3500},[7172],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":7174,"children":7175},{"class":3428,"line":3044},[7176,7180,7184,7189,7193],{"type":3143,"tag":3426,"props":7177,"children":7178},{"style":3500},[7179],{"type":3148,"value":7052},{"type":3143,"tag":3426,"props":7181,"children":7182},{"style":3577},[7183],{"type":3148,"value":7080},{"type":3143,"tag":3426,"props":7185,"children":7186},{"style":7026},[7187],{"type":3148,"value":7188}," UNIQUE",{"type":3143,"tag":3426,"props":7190,"children":7191},{"style":7026},[7192],{"type":3148,"value":7148},{"type":3143,"tag":3426,"props":7194,"children":7195},{"style":3500},[7196],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":7198,"children":7199},{"class":3428,"line":3040},[7200,7205,7209,7213],{"type":3143,"tag":3426,"props":7201,"children":7202},{"style":3500},[7203],{"type":3148,"value":7204},"  publicKey ",{"type":3143,"tag":3426,"props":7206,"children":7207},{"style":3577},[7208],{"type":3148,"value":7080},{"type":3143,"tag":3426,"props":7210,"children":7211},{"style":7026},[7212],{"type":3148,"value":7148},{"type":3143,"tag":3426,"props":7214,"children":7215},{"style":3500},[7216],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":7218,"children":7219},{"class":3428,"line":3877},[7220,7225,7230,7234],{"type":3143,"tag":3426,"props":7221,"children":7222},{"style":7026},[7223],{"type":3148,"value":7224},"  counter",{"type":3143,"tag":3426,"props":7226,"children":7227},{"style":3577},[7228],{"type":3148,"value":7229}," INTEGER",{"type":3143,"tag":3426,"props":7231,"children":7232},{"style":7026},[7233],{"type":3148,"value":7148},{"type":3143,"tag":3426,"props":7235,"children":7236},{"style":3500},[7237],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":7239,"children":7240},{"class":3428,"line":3131},[7241,7246,7250,7254],{"type":3143,"tag":3426,"props":7242,"children":7243},{"style":3500},[7244],{"type":3148,"value":7245},"  backedUp ",{"type":3143,"tag":3426,"props":7247,"children":7248},{"style":3577},[7249],{"type":3148,"value":7057},{"type":3143,"tag":3426,"props":7251,"children":7252},{"style":7026},[7253],{"type":3148,"value":7148},{"type":3143,"tag":3426,"props":7255,"children":7256},{"style":3500},[7257],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":7259,"children":7260},{"class":3428,"line":3914},[7261,7266,7270,7274],{"type":3143,"tag":3426,"props":7262,"children":7263},{"style":3500},[7264],{"type":3148,"value":7265},"  transports ",{"type":3143,"tag":3426,"props":7267,"children":7268},{"style":3577},[7269],{"type":3148,"value":7080},{"type":3143,"tag":3426,"props":7271,"children":7272},{"style":7026},[7273],{"type":3148,"value":7148},{"type":3143,"tag":3426,"props":7275,"children":7276},{"style":3500},[7277],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":7279,"children":7280},{"class":3428,"line":3947},[7281,7286,7290,7294,7299,7303,7308,7312,7317,7321],{"type":3143,"tag":3426,"props":7282,"children":7283},{"style":3577},[7284],{"type":3148,"value":7285},"  PRIMARY KEY",{"type":3143,"tag":3426,"props":7287,"children":7288},{"style":3500},[7289],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":7291,"children":7292},{"style":3505},[7293],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":7295,"children":7296},{"style":3438},[7297],{"type":3148,"value":7298},"userId",{"type":3143,"tag":3426,"props":7300,"children":7301},{"style":3505},[7302],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":7304,"children":7305},{"style":3500},[7306],{"type":3148,"value":7307},", ",{"type":3143,"tag":3426,"props":7309,"children":7310},{"style":3505},[7311],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":7313,"children":7314},{"style":3438},[7315],{"type":3148,"value":7316},"id",{"type":3143,"tag":3426,"props":7318,"children":7319},{"style":3505},[7320],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":7322,"children":7323},{"style":3500},[7324],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":7326,"children":7327},{"class":3428,"line":4002},[7328],{"type":3143,"tag":3426,"props":7329,"children":7330},{"style":3500},[7331],{"type":3148,"value":7093},{"type":3143,"tag":3200,"props":7333,"children":7334},{},[7335,7348],{"type":3143,"tag":3204,"props":7336,"children":7337},{},[7338,7340,7346],{"type":3148,"value":7339},"For the ",{"type":3143,"tag":3288,"props":7341,"children":7343},{"className":7342},[],[7344],{"type":3148,"value":7345},"users",{"type":3148,"value":7347}," 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":3143,"tag":3204,"props":7349,"children":7350},{},[7351,7352,7358,7360],{"type":3148,"value":5296},{"type":3143,"tag":3288,"props":7353,"children":7355},{"className":7354},[],[7356],{"type":3148,"value":7357},"credentials",{"type":3148,"value":7359}," table stores:\n",{"type":3143,"tag":3200,"props":7361,"children":7362},{},[7363,7381,7393,7403,7432,7453],{"type":3143,"tag":3204,"props":7364,"children":7365},{},[7366,7367,7372,7374,7379],{"type":3148,"value":5296},{"type":3143,"tag":3288,"props":7368,"children":7370},{"className":7369},[],[7371],{"type":3148,"value":7298},{"type":3148,"value":7373}," from the ",{"type":3143,"tag":3288,"props":7375,"children":7377},{"className":7376},[],[7378],{"type":3148,"value":7345},{"type":3148,"value":7380}," table.",{"type":3143,"tag":3204,"props":7382,"children":7383},{},[7384,7386,7391],{"type":3148,"value":7385},"The credential ",{"type":3143,"tag":3288,"props":7387,"children":7389},{"className":7388},[],[7390],{"type":3148,"value":7316},{"type":3148,"value":7392}," (as unique index)",{"type":3143,"tag":3204,"props":7394,"children":7395},{},[7396,7397],{"type":3148,"value":7385},{"type":3143,"tag":3288,"props":7398,"children":7400},{"className":7399},[],[7401],{"type":3148,"value":7402},"publicKey",{"type":3143,"tag":3204,"props":7404,"children":7405},{},[7406,7408,7414,7416,7421,7423,7430],{"type":3148,"value":7407},"A ",{"type":3143,"tag":3288,"props":7409,"children":7411},{"className":7410},[],[7412],{"type":3148,"value":7413},"counter",{"type":3148,"value":7415},". Each time a credential is used, the counter is incremented. We can use this value to perform extra security checks. More about ",{"type":3143,"tag":3288,"props":7417,"children":7419},{"className":7418},[],[7420],{"type":3148,"value":7413},{"type":3148,"value":7422}," can be read ",{"type":3143,"tag":3154,"props":7424,"children":7427},{"href":7425,"rel":7426},"https:\u002F\u002Fsimplewebauthn.dev\u002Fdocs\u002Fpackages\u002Fserver#3-post-registration-responsibilities",[3158],[7428],{"type":3148,"value":7429},"here",{"type":3148,"value":7431},". For this example, we won't be using the counter. But you should update the counter in your database with the new value.",{"type":3143,"tag":3204,"props":7433,"children":7434},{},[7435,7436,7442,7444,7451],{"type":3148,"value":7407},{"type":3143,"tag":3288,"props":7437,"children":7439},{"className":7438},[],[7440],{"type":3148,"value":7441},"backedUp",{"type":3148,"value":7443}," 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":3143,"tag":3154,"props":7445,"children":7448},{"href":7446,"rel":7447},"https:\u002F\u002Farc.net\u002Fl\u002Fquote\u002Fugaemxot",[3158],[7449],{"type":3148,"value":7450},"this section",{"type":3148,"value":7452}," for more details.",{"type":3143,"tag":3204,"props":7454,"children":7455},{},[7456,7457,7463,7465,7471],{"type":3148,"value":7385},{"type":3143,"tag":3288,"props":7458,"children":7460},{"className":7459},[],[7461],{"type":3148,"value":7462},"transports",{"type":3148,"value":7464},". 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":3143,"tag":3154,"props":7466,"children":7469},{"href":7467,"rel":7468},"https:\u002F\u002Farc.net\u002Fl\u002Fquote\u002Fycxtiorp",[3158],[7470],{"type":3148,"value":7450},{"type":3148,"value":7452},{"type":3143,"tag":3150,"props":7473,"children":7474},{},[7475,7477,7484,7485,7492,7494,7501],{"type":3148,"value":7476},"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":3143,"tag":3154,"props":7478,"children":7481},{"href":7479,"rel":7480},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fapi\u002Fwebauthn\u002Fregister.post.ts",[3158],[7482],{"type":3148,"value":7483},"registration",{"type":3148,"value":7307},{"type":3143,"tag":3154,"props":7486,"children":7489},{"href":7487,"rel":7488},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fapi\u002Fwebauthn\u002Fauthenticate.post.ts",[3158],[7490],{"type":3148,"value":7491},"authentication",{"type":3148,"value":7493}," and the ",{"type":3143,"tag":3154,"props":7495,"children":7498},{"href":7496,"rel":7497},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fserver\u002Fplugins\u002Fdatabase.ts",[3158],[7499],{"type":3148,"value":7500},"database setup",{"type":3148,"value":3381},{"type":3143,"tag":3416,"props":7503,"children":7505},{"className":4104,"code":7504,"language":4106,"meta":3016,"style":3016},"\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",[7506],{"type":3143,"tag":3288,"props":7507,"children":7508},{"__ignoreMap":3016},[7509,7517,7557,7581,7589,7627,7635,7643,7651,7687,7776,7846,7853,7860,7868,7896,7904,7946,7978,7985,8033,8041,8049,8074,8081,8089,8136,8165,8173,8213,8220,8228,8237,8269,8277,8286,8314,8330,8355,8364,8398,8410,8418],{"type":3143,"tag":3426,"props":7510,"children":7511},{"class":3428,"line":3102},[7512],{"type":3143,"tag":3426,"props":7513,"children":7514},{"style":3491},[7515],{"type":3148,"value":7516},"\u002F\u002F server\u002Fapi\u002Fwebauthn\u002Fregister.post.ts\n",{"type":3143,"tag":3426,"props":7518,"children":7519},{"class":3428,"line":3068},[7520,7525,7529,7534,7539,7544,7548,7553],{"type":3143,"tag":3426,"props":7521,"children":7522},{"style":4688},[7523],{"type":3148,"value":7524},"import",{"type":3143,"tag":3426,"props":7526,"children":7527},{"style":3505},[7528],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":7530,"children":7531},{"style":3500},[7532],{"type":3148,"value":7533}," z",{"type":3143,"tag":3426,"props":7535,"children":7536},{"style":3505},[7537],{"type":3148,"value":7538}," }",{"type":3143,"tag":3426,"props":7540,"children":7541},{"style":4688},[7542],{"type":3148,"value":7543}," from",{"type":3143,"tag":3426,"props":7545,"children":7546},{"style":3505},[7547],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":7549,"children":7550},{"style":3438},[7551],{"type":3148,"value":7552},"zod",{"type":3143,"tag":3426,"props":7554,"children":7555},{"style":3505},[7556],{"type":3148,"value":4758},{"type":3143,"tag":3426,"props":7558,"children":7559},{"class":3428,"line":3052},[7560,7564,7568,7573,7577],{"type":3143,"tag":3426,"props":7561,"children":7562},{"style":4688},[7563],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":7565,"children":7566},{"style":4688},[7567],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":7569,"children":7570},{"style":3662},[7571],{"type":3148,"value":7572}," defineWebAuthnRegisterEventHandler",{"type":3143,"tag":3426,"props":7574,"children":7575},{"style":3500},[7576],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":7578,"children":7579},{"style":3505},[7580],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":7582,"children":7583},{"class":3428,"line":3689},[7584],{"type":3143,"tag":3426,"props":7585,"children":7586},{"style":3491},[7587],{"type":3148,"value":7588},"  \u002F\u002F optional\n",{"type":3143,"tag":3426,"props":7590,"children":7591},{"class":3428,"line":3698},[7592,7596,7601,7605,7610,7614,7619,7623],{"type":3143,"tag":3426,"props":7593,"children":7594},{"style":3577},[7595],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":7597,"children":7598},{"style":3571},[7599],{"type":3148,"value":7600}," validateUser",{"type":3143,"tag":3426,"props":7602,"children":7603},{"style":3505},[7604],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":7606,"children":7607},{"style":4520},[7608],{"type":3148,"value":7609},"userBody",{"type":3143,"tag":3426,"props":7611,"children":7612},{"style":3505},[7613],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":7615,"children":7616},{"style":4520},[7617],{"type":3148,"value":7618}," event",{"type":3143,"tag":3426,"props":7620,"children":7621},{"style":3505},[7622],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":7624,"children":7625},{"style":3505},[7626],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":7628,"children":7629},{"class":3428,"line":3715},[7630],{"type":3143,"tag":3426,"props":7631,"children":7632},{"style":3491},[7633],{"type":3148,"value":7634},"    \u002F\u002F bonus: check if the user is already authenticated to link a credential to his account\n",{"type":3143,"tag":3426,"props":7636,"children":7637},{"class":3428,"line":3048},[7638],{"type":3143,"tag":3426,"props":7639,"children":7640},{"style":3491},[7641],{"type":3148,"value":7642},"    \u002F\u002F We first check if the user is already authenticated by getting the session\n",{"type":3143,"tag":3426,"props":7644,"children":7645},{"class":3428,"line":3044},[7646],{"type":3143,"tag":3426,"props":7647,"children":7648},{"style":3491},[7649],{"type":3148,"value":7650},"    \u002F\u002F And verify that the email is the same as the one in session\n",{"type":3143,"tag":3426,"props":7652,"children":7653},{"class":3428,"line":3040},[7654,7659,7663,7667,7671,7675,7679,7683],{"type":3143,"tag":3426,"props":7655,"children":7656},{"style":3577},[7657],{"type":3148,"value":7658},"    const",{"type":3143,"tag":3426,"props":7660,"children":7661},{"style":3500},[7662],{"type":3148,"value":3622},{"type":3143,"tag":3426,"props":7664,"children":7665},{"style":3505},[7666],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":7668,"children":7669},{"style":4688},[7670],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":7672,"children":7673},{"style":3662},[7674],{"type":3148,"value":4949},{"type":3143,"tag":3426,"props":7676,"children":7677},{"style":3571},[7678],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":7680,"children":7681},{"style":3500},[7682],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":7684,"children":7685},{"style":3571},[7686],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":7688,"children":7689},{"class":3428,"line":3877},[7690,7695,7699,7704,7708,7713,7718,7723,7728,7732,7736,7740,7744,7748,7753,7758,7762,7767,7772],{"type":3143,"tag":3426,"props":7691,"children":7692},{"style":4688},[7693],{"type":3148,"value":7694},"    if",{"type":3143,"tag":3426,"props":7696,"children":7697},{"style":3571},[7698],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":7700,"children":7701},{"style":3500},[7702],{"type":3148,"value":7703},"session",{"type":3143,"tag":3426,"props":7705,"children":7706},{"style":3505},[7707],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7709,"children":7710},{"style":3500},[7711],{"type":3148,"value":7712},"user",{"type":3143,"tag":3426,"props":7714,"children":7715},{"style":3505},[7716],{"type":3148,"value":7717},"?.",{"type":3143,"tag":3426,"props":7719,"children":7720},{"style":3500},[7721],{"type":3148,"value":7722},"email",{"type":3143,"tag":3426,"props":7724,"children":7725},{"style":3505},[7726],{"type":3148,"value":7727}," &&",{"type":3143,"tag":3426,"props":7729,"children":7730},{"style":3500},[7731],{"type":3148,"value":3622},{"type":3143,"tag":3426,"props":7733,"children":7734},{"style":3505},[7735],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7737,"children":7738},{"style":3500},[7739],{"type":3148,"value":7712},{"type":3143,"tag":3426,"props":7741,"children":7742},{"style":3505},[7743],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7745,"children":7746},{"style":3500},[7747],{"type":3148,"value":7722},{"type":3143,"tag":3426,"props":7749,"children":7750},{"style":3505},[7751],{"type":3148,"value":7752}," !==",{"type":3143,"tag":3426,"props":7754,"children":7755},{"style":3500},[7756],{"type":3148,"value":7757}," userBody",{"type":3143,"tag":3426,"props":7759,"children":7760},{"style":3505},[7761],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7763,"children":7764},{"style":3500},[7765],{"type":3148,"value":7766},"userName",{"type":3143,"tag":3426,"props":7768,"children":7769},{"style":3571},[7770],{"type":3148,"value":7771},") ",{"type":3143,"tag":3426,"props":7773,"children":7774},{"style":3505},[7775],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":7777,"children":7778},{"class":3428,"line":3131},[7779,7784,7789,7793,7798,7803,7807,7812,7816,7821,7825,7829,7834,7838,7842],{"type":3143,"tag":3426,"props":7780,"children":7781},{"style":4688},[7782],{"type":3148,"value":7783},"      throw",{"type":3143,"tag":3426,"props":7785,"children":7786},{"style":3662},[7787],{"type":3148,"value":7788}," createError",{"type":3143,"tag":3426,"props":7790,"children":7791},{"style":3571},[7792],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":7794,"children":7795},{"style":3505},[7796],{"type":3148,"value":7797},"{",{"type":3143,"tag":3426,"props":7799,"children":7800},{"style":3571},[7801],{"type":3148,"value":7802}," statusCode",{"type":3143,"tag":3426,"props":7804,"children":7805},{"style":3505},[7806],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":7808,"children":7809},{"style":7026},[7810],{"type":3148,"value":7811}," 400",{"type":3143,"tag":3426,"props":7813,"children":7814},{"style":3505},[7815],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":7817,"children":7818},{"style":3571},[7819],{"type":3148,"value":7820}," message",{"type":3143,"tag":3426,"props":7822,"children":7823},{"style":3505},[7824],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":7826,"children":7827},{"style":3505},[7828],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":7830,"children":7831},{"style":3438},[7832],{"type":3148,"value":7833},"Email not matching curent session",{"type":3143,"tag":3426,"props":7835,"children":7836},{"style":3505},[7837],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":7839,"children":7840},{"style":3505},[7841],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":7843,"children":7844},{"style":3571},[7845],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":7847,"children":7848},{"class":3428,"line":3914},[7849],{"type":3143,"tag":3426,"props":7850,"children":7851},{"style":3505},[7852],{"type":3148,"value":5478},{"type":3143,"tag":3426,"props":7854,"children":7855},{"class":3428,"line":3947},[7856],{"type":3143,"tag":3426,"props":7857,"children":7858},{"emptyLinePlaceholder":1200},[7859],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":7861,"children":7862},{"class":3428,"line":4002},[7863],{"type":3143,"tag":3426,"props":7864,"children":7865},{"style":3491},[7866],{"type":3148,"value":7867},"    \u002F\u002F If he registers a new account with credentials\n",{"type":3143,"tag":3426,"props":7869,"children":7870},{"class":3428,"line":4011},[7871,7875,7879,7883,7888,7892],{"type":3143,"tag":3426,"props":7872,"children":7873},{"style":4688},[7874],{"type":3148,"value":6029},{"type":3143,"tag":3426,"props":7876,"children":7877},{"style":3500},[7878],{"type":3148,"value":7533},{"type":3143,"tag":3426,"props":7880,"children":7881},{"style":3505},[7882],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7884,"children":7885},{"style":3662},[7886],{"type":3148,"value":7887},"object",{"type":3143,"tag":3426,"props":7889,"children":7890},{"style":3571},[7891],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":7893,"children":7894},{"style":3505},[7895],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":7897,"children":7898},{"class":3428,"line":3036},[7899],{"type":3143,"tag":3426,"props":7900,"children":7901},{"style":3491},[7902],{"type":3148,"value":7903},"      \u002F\u002F we want the userName to be a valid email\n",{"type":3143,"tag":3426,"props":7905,"children":7906},{"class":3428,"line":4079},[7907,7912,7916,7920,7924,7929,7934,7938,7942],{"type":3143,"tag":3426,"props":7908,"children":7909},{"style":3571},[7910],{"type":3148,"value":7911},"      userName",{"type":3143,"tag":3426,"props":7913,"children":7914},{"style":3505},[7915],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":7917,"children":7918},{"style":3500},[7919],{"type":3148,"value":7533},{"type":3143,"tag":3426,"props":7921,"children":7922},{"style":3505},[7923],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7925,"children":7926},{"style":3662},[7927],{"type":3148,"value":7928},"string",{"type":3143,"tag":3426,"props":7930,"children":7931},{"style":3571},[7932],{"type":3148,"value":7933},"()",{"type":3143,"tag":3426,"props":7935,"children":7936},{"style":3505},[7937],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7939,"children":7940},{"style":3662},[7941],{"type":3148,"value":7722},{"type":3143,"tag":3426,"props":7943,"children":7944},{"style":3571},[7945],{"type":3148,"value":3670},{"type":3143,"tag":3426,"props":7947,"children":7948},{"class":3428,"line":4349},[7949,7953,7957,7961,7966,7970,7974],{"type":3143,"tag":3426,"props":7950,"children":7951},{"style":3505},[7952],{"type":3148,"value":6017},{"type":3143,"tag":3426,"props":7954,"children":7955},{"style":3571},[7956],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":7958,"children":7959},{"style":3505},[7960],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":7962,"children":7963},{"style":3662},[7964],{"type":3148,"value":7965},"parse",{"type":3143,"tag":3426,"props":7967,"children":7968},{"style":3571},[7969],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":7971,"children":7972},{"style":3500},[7973],{"type":3148,"value":7609},{"type":3143,"tag":3426,"props":7975,"children":7976},{"style":3571},[7977],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":7979,"children":7980},{"class":3428,"line":4357},[7981],{"type":3143,"tag":3426,"props":7982,"children":7983},{"style":3505},[7984],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":7986,"children":7987},{"class":3428,"line":4366},[7988,7992,7996,8000,8004,8008,8012,8017,8021,8025,8029],{"type":3143,"tag":3426,"props":7989,"children":7990},{"style":3577},[7991],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":7993,"children":7994},{"style":3571},[7995],{"type":3148,"value":5895},{"type":3143,"tag":3426,"props":7997,"children":7998},{"style":3505},[7999],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8001,"children":8002},{"style":4520},[8003],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":8005,"children":8006},{"style":3505},[8007],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8009,"children":8010},{"style":3505},[8011],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":8013,"children":8014},{"style":4520},[8015],{"type":3148,"value":8016}," credential",{"type":3143,"tag":3426,"props":8018,"children":8019},{"style":3505},[8020],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8022,"children":8023},{"style":4520},[8024],{"type":3148,"value":3613},{"type":3143,"tag":3426,"props":8026,"children":8027},{"style":3505},[8028],{"type":3148,"value":4586},{"type":3143,"tag":3426,"props":8030,"children":8031},{"style":3505},[8032],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":8034,"children":8035},{"class":3428,"line":4374},[8036],{"type":3143,"tag":3426,"props":8037,"children":8038},{"style":3491},[8039],{"type":3148,"value":8040},"    \u002F\u002F The credential creation has been successful\n",{"type":3143,"tag":3426,"props":8042,"children":8043},{"class":3428,"line":4415},[8044],{"type":3143,"tag":3426,"props":8045,"children":8046},{"style":3491},[8047],{"type":3148,"value":8048},"    \u002F\u002F We need to create a user if it does not exist\n",{"type":3143,"tag":3426,"props":8050,"children":8051},{"class":3428,"line":4423},[8052,8056,8061,8065,8070],{"type":3143,"tag":3426,"props":8053,"children":8054},{"style":3577},[8055],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":8057,"children":8058},{"style":3500},[8059],{"type":3148,"value":8060}," db",{"type":3143,"tag":3426,"props":8062,"children":8063},{"style":3505},[8064],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":8066,"children":8067},{"style":3662},[8068],{"type":3148,"value":8069}," useDatabase",{"type":3143,"tag":3426,"props":8071,"children":8072},{"style":3571},[8073],{"type":3148,"value":3670},{"type":3143,"tag":3426,"props":8075,"children":8076},{"class":3428,"line":4432},[8077],{"type":3143,"tag":3426,"props":8078,"children":8079},{"emptyLinePlaceholder":1200},[8080],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":8082,"children":8083},{"class":3428,"line":4440},[8084],{"type":3143,"tag":3426,"props":8085,"children":8086},{"style":3491},[8087],{"type":3148,"value":8088},"    \u002F\u002F Get the user from the database\n",{"type":3143,"tag":3426,"props":8090,"children":8091},{"class":3428,"line":4477},[8092,8097,8102,8106,8110,8114,8118,8122,8127,8131],{"type":3143,"tag":3426,"props":8093,"children":8094},{"style":3577},[8095],{"type":3148,"value":8096},"    let",{"type":3143,"tag":3426,"props":8098,"children":8099},{"style":3500},[8100],{"type":3148,"value":8101}," dbUser",{"type":3143,"tag":3426,"props":8103,"children":8104},{"style":3505},[8105],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":8107,"children":8108},{"style":4688},[8109],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":8111,"children":8112},{"style":3500},[8113],{"type":3148,"value":8060},{"type":3143,"tag":3426,"props":8115,"children":8116},{"style":3505},[8117],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8119,"children":8120},{"style":3662},[8121],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":8123,"children":8124},{"style":3505},[8125],{"type":3148,"value":8126},"`",{"type":3143,"tag":3426,"props":8128,"children":8129},{"style":3438},[8130],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":8132,"children":8133},{"style":3505},[8134],{"type":3148,"value":8135},"`\n",{"type":3143,"tag":3426,"props":8137,"children":8138},{"class":3428,"line":4485},[8139,8143,8147,8152,8157,8161],{"type":3143,"tag":3426,"props":8140,"children":8141},{"style":4688},[8142],{"type":3148,"value":7694},{"type":3143,"tag":3426,"props":8144,"children":8145},{"style":3571},[8146],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":8148,"children":8149},{"style":3505},[8150],{"type":3148,"value":8151},"!",{"type":3143,"tag":3426,"props":8153,"children":8154},{"style":3500},[8155],{"type":3148,"value":8156},"dbUser",{"type":3143,"tag":3426,"props":8158,"children":8159},{"style":3571},[8160],{"type":3148,"value":7771},{"type":3143,"tag":3426,"props":8162,"children":8163},{"style":3505},[8164],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":8166,"children":8167},{"class":3428,"line":4494},[8168],{"type":3143,"tag":3426,"props":8169,"children":8170},{"style":3491},[8171],{"type":3148,"value":8172},"      \u002F\u002F Store new user in database & its credentials\n",{"type":3143,"tag":3426,"props":8174,"children":8175},{"class":3428,"line":4502},[8176,8181,8185,8189,8193,8197,8201,8205,8209],{"type":3143,"tag":3426,"props":8177,"children":8178},{"style":3500},[8179],{"type":3148,"value":8180},"      dbUser",{"type":3143,"tag":3426,"props":8182,"children":8183},{"style":3505},[8184],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":8186,"children":8187},{"style":4688},[8188],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":8190,"children":8191},{"style":3500},[8192],{"type":3148,"value":8060},{"type":3143,"tag":3426,"props":8194,"children":8195},{"style":3505},[8196],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8198,"children":8199},{"style":3662},[8200],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":8202,"children":8203},{"style":3505},[8204],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":8206,"children":8207},{"style":3438},[8208],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":8210,"children":8211},{"style":3505},[8212],{"type":3148,"value":8135},{"type":3143,"tag":3426,"props":8214,"children":8215},{"class":3428,"line":4598},[8216],{"type":3143,"tag":3426,"props":8217,"children":8218},{"style":3505},[8219],{"type":3148,"value":5478},{"type":3143,"tag":3426,"props":8221,"children":8223},{"class":3428,"line":8222},31,[8224],{"type":3143,"tag":3426,"props":8225,"children":8226},{"emptyLinePlaceholder":1200},[8227],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":8229,"children":8231},{"class":3428,"line":8230},32,[8232],{"type":3143,"tag":3426,"props":8233,"children":8234},{"style":3491},[8235],{"type":3148,"value":8236},"    \u002F\u002F we now need to store the credential in our database and link it to the user\n",{"type":3143,"tag":3426,"props":8238,"children":8240},{"class":3428,"line":8239},33,[8241,8245,8249,8253,8257,8261,8265],{"type":3143,"tag":3426,"props":8242,"children":8243},{"style":4688},[8244],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":8246,"children":8247},{"style":3500},[8248],{"type":3148,"value":8060},{"type":3143,"tag":3426,"props":8250,"children":8251},{"style":3505},[8252],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8254,"children":8255},{"style":3662},[8256],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":8258,"children":8259},{"style":3505},[8260],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":8262,"children":8263},{"style":3438},[8264],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":8266,"children":8267},{"style":3505},[8268],{"type":3148,"value":8135},{"type":3143,"tag":3426,"props":8270,"children":8272},{"class":3428,"line":8271},34,[8273],{"type":3143,"tag":3426,"props":8274,"children":8275},{"emptyLinePlaceholder":1200},[8276],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":8278,"children":8280},{"class":3428,"line":8279},35,[8281],{"type":3143,"tag":3426,"props":8282,"children":8283},{"style":3491},[8284],{"type":3148,"value":8285},"    \u002F\u002F Set the user session\n",{"type":3143,"tag":3426,"props":8287,"children":8289},{"class":3428,"line":8288},36,[8290,8294,8298,8302,8306,8310],{"type":3143,"tag":3426,"props":8291,"children":8292},{"style":4688},[8293],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":8295,"children":8296},{"style":3662},[8297],{"type":3148,"value":4696},{"type":3143,"tag":3426,"props":8299,"children":8300},{"style":3571},[8301],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8303,"children":8304},{"style":3500},[8305],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":8307,"children":8308},{"style":3505},[8309],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8311,"children":8312},{"style":3505},[8313],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":8315,"children":8317},{"class":3428,"line":8316},37,[8318,8322,8326],{"type":3143,"tag":3426,"props":8319,"children":8320},{"style":3571},[8321],{"type":3148,"value":5969},{"type":3143,"tag":3426,"props":8323,"children":8324},{"style":3505},[8325],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8327,"children":8328},{"style":3505},[8329],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":8331,"children":8333},{"class":3428,"line":8332},38,[8334,8339,8343,8347,8351],{"type":3143,"tag":3426,"props":8335,"children":8336},{"style":3571},[8337],{"type":3148,"value":8338},"        id",{"type":3143,"tag":3426,"props":8340,"children":8341},{"style":3505},[8342],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8344,"children":8345},{"style":3500},[8346],{"type":3148,"value":8101},{"type":3143,"tag":3426,"props":8348,"children":8349},{"style":3505},[8350],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8352,"children":8353},{"style":3500},[8354],{"type":3148,"value":6002},{"type":3143,"tag":3426,"props":8356,"children":8358},{"class":3428,"line":8357},39,[8359],{"type":3143,"tag":3426,"props":8360,"children":8361},{"style":3505},[8362],{"type":3148,"value":8363},"      },\n",{"type":3143,"tag":3426,"props":8365,"children":8367},{"class":3428,"line":8366},40,[8368,8373,8377,8381,8385,8390,8394],{"type":3143,"tag":3426,"props":8369,"children":8370},{"style":3571},[8371],{"type":3148,"value":8372},"      loggedInAt",{"type":3143,"tag":3426,"props":8374,"children":8375},{"style":3505},[8376],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8378,"children":8379},{"style":3500},[8380],{"type":3148,"value":4852},{"type":3143,"tag":3426,"props":8382,"children":8383},{"style":3505},[8384],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8386,"children":8387},{"style":3662},[8388],{"type":3148,"value":8389},"now",{"type":3143,"tag":3426,"props":8391,"children":8392},{"style":3571},[8393],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":8395,"children":8396},{"style":3505},[8397],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":8399,"children":8401},{"class":3428,"line":8400},41,[8402,8406],{"type":3143,"tag":3426,"props":8403,"children":8404},{"style":3505},[8405],{"type":3148,"value":6017},{"type":3143,"tag":3426,"props":8407,"children":8408},{"style":3571},[8409],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":8411,"children":8413},{"class":3428,"line":8412},42,[8414],{"type":3143,"tag":3426,"props":8415,"children":8416},{"style":3505},[8417],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":8419,"children":8421},{"class":3428,"line":8420},43,[8422,8426],{"type":3143,"tag":3426,"props":8423,"children":8424},{"style":3505},[8425],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":8427,"children":8428},{"style":3500},[8429],{"type":3148,"value":4868},{"type":3143,"tag":4606,"props":8431,"children":8432},{},[8433],{"type":3143,"tag":3150,"props":8434,"children":8435},{},[8436,8441,8443,8450,8452,8458,8460],{"type":3143,"tag":3426,"props":8437,"children":8438},{},[8439],{"type":3148,"value":8440},"!TIP",{"type":3148,"value":8442},"\nIf you want to plug in and use the ",{"type":3143,"tag":3154,"props":8444,"children":8447},{"href":8445,"rel":8446},"https:\u002F\u002Fgithub.com\u002Fpasskeydeveloper\u002Fpasskey-authenticator-aaguids",[3158],[8448],{"type":3148,"value":8449},"Community sourced list of AAGUIDS",{"type":3148,"value":8451}," to decorate your display of added passkeys, you can access the the ID via ",{"type":3143,"tag":3288,"props":8453,"children":8455},{"className":8454},[],[8456],{"type":3148,"value":8457},"credential.aaguid",{"type":3148,"value":8459}," inside ",{"type":3143,"tag":3288,"props":8461,"children":8463},{"className":8462},[],[8464],{"type":3148,"value":5281},{"type":3143,"tag":3416,"props":8466,"children":8468},{"className":4104,"code":8467,"language":4106,"meta":3016,"style":3016},"\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",[8469],{"type":3143,"tag":3288,"props":8470,"children":8471},{"__ignoreMap":3016},[8472,8480,8504,8512,8549,8597,8605,8637,8701,8708,8716,8724,8732,8744,8752,8759,8796,8804,8851,8858,8866,8890,8954,8961,8973,8980,9028,9036,9044,9067,9110,9117,9125,9156,9163,9170,9197,9212,9235,9242,9273,9284,9291],{"type":3143,"tag":3426,"props":8473,"children":8474},{"class":3428,"line":3102},[8475],{"type":3143,"tag":3426,"props":8476,"children":8477},{"style":3491},[8478],{"type":3148,"value":8479},"\u002F\u002F server\u002Fapi\u002Fwebauthn\u002Fauthenticate.post.ts\n",{"type":3143,"tag":3426,"props":8481,"children":8482},{"class":3428,"line":3068},[8483,8487,8491,8496,8500],{"type":3143,"tag":3426,"props":8484,"children":8485},{"style":4688},[8486],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":8488,"children":8489},{"style":4688},[8490],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":8492,"children":8493},{"style":3662},[8494],{"type":3148,"value":8495}," defineWebAuthnAuthenticateEventHandler",{"type":3143,"tag":3426,"props":8497,"children":8498},{"style":3500},[8499],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8501,"children":8502},{"style":3505},[8503],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":8505,"children":8506},{"class":3428,"line":3052},[8507],{"type":3143,"tag":3426,"props":8508,"children":8509},{"style":3491},[8510],{"type":3148,"value":8511},"  \u002F\u002F Optionally, we can prefetch the credentials if the user gives their userName during login\n",{"type":3143,"tag":3426,"props":8513,"children":8514},{"class":3428,"line":3689},[8515,8519,8524,8528,8532,8536,8541,8545],{"type":3143,"tag":3426,"props":8516,"children":8517},{"style":3577},[8518],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":8520,"children":8521},{"style":3571},[8522],{"type":3148,"value":8523}," allowCredentials",{"type":3143,"tag":3426,"props":8525,"children":8526},{"style":3505},[8527],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8529,"children":8530},{"style":4520},[8531],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":8533,"children":8534},{"style":3505},[8535],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8537,"children":8538},{"style":4520},[8539],{"type":3148,"value":8540}," userName",{"type":3143,"tag":3426,"props":8542,"children":8543},{"style":3505},[8544],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":8546,"children":8547},{"style":3505},[8548],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":8550,"children":8551},{"class":3428,"line":3698},[8552,8556,8561,8565,8569,8573,8577,8581,8585,8589,8593],{"type":3143,"tag":3426,"props":8553,"children":8554},{"style":3577},[8555],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":8557,"children":8558},{"style":3500},[8559],{"type":3148,"value":8560}," credentials",{"type":3143,"tag":3426,"props":8562,"children":8563},{"style":3505},[8564],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":8566,"children":8567},{"style":4688},[8568],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":8570,"children":8571},{"style":3662},[8572],{"type":3148,"value":8069},{"type":3143,"tag":3426,"props":8574,"children":8575},{"style":3571},[8576],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":8578,"children":8579},{"style":3505},[8580],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8582,"children":8583},{"style":3662},[8584],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":8586,"children":8587},{"style":3505},[8588],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":8590,"children":8591},{"style":3438},[8592],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":8594,"children":8595},{"style":3505},[8596],{"type":3148,"value":8135},{"type":3143,"tag":3426,"props":8598,"children":8599},{"class":3428,"line":3715},[8600],{"type":3143,"tag":3426,"props":8601,"children":8602},{"style":3491},[8603],{"type":3148,"value":8604},"    \u002F\u002F If no credentials are found, the authentication cannot be completed\n",{"type":3143,"tag":3426,"props":8606,"children":8607},{"class":3428,"line":3048},[8608,8612,8616,8620,8624,8628,8633],{"type":3143,"tag":3426,"props":8609,"children":8610},{"style":4688},[8611],{"type":3148,"value":7694},{"type":3143,"tag":3426,"props":8613,"children":8614},{"style":3571},[8615],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":8617,"children":8618},{"style":3505},[8619],{"type":3148,"value":8151},{"type":3143,"tag":3426,"props":8621,"children":8622},{"style":3500},[8623],{"type":3148,"value":7357},{"type":3143,"tag":3426,"props":8625,"children":8626},{"style":3505},[8627],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8629,"children":8630},{"style":3500},[8631],{"type":3148,"value":8632},"length",{"type":3143,"tag":3426,"props":8634,"children":8635},{"style":3571},[8636],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":8638,"children":8639},{"class":3428,"line":3044},[8640,8644,8648,8652,8656,8660,8664,8668,8672,8676,8680,8684,8689,8693,8697],{"type":3143,"tag":3426,"props":8641,"children":8642},{"style":4688},[8643],{"type":3148,"value":7783},{"type":3143,"tag":3426,"props":8645,"children":8646},{"style":3662},[8647],{"type":3148,"value":7788},{"type":3143,"tag":3426,"props":8649,"children":8650},{"style":3571},[8651],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8653,"children":8654},{"style":3505},[8655],{"type":3148,"value":7797},{"type":3143,"tag":3426,"props":8657,"children":8658},{"style":3571},[8659],{"type":3148,"value":7802},{"type":3143,"tag":3426,"props":8661,"children":8662},{"style":3505},[8663],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8665,"children":8666},{"style":7026},[8667],{"type":3148,"value":7811},{"type":3143,"tag":3426,"props":8669,"children":8670},{"style":3505},[8671],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8673,"children":8674},{"style":3571},[8675],{"type":3148,"value":7820},{"type":3143,"tag":3426,"props":8677,"children":8678},{"style":3505},[8679],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8681,"children":8682},{"style":3505},[8683],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":8685,"children":8686},{"style":3438},[8687],{"type":3148,"value":8688},"User not found",{"type":3143,"tag":3426,"props":8690,"children":8691},{"style":3505},[8692],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":8694,"children":8695},{"style":3505},[8696],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":8698,"children":8699},{"style":3571},[8700],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":8702,"children":8703},{"class":3428,"line":3040},[8704],{"type":3143,"tag":3426,"props":8705,"children":8706},{"emptyLinePlaceholder":1200},[8707],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":8709,"children":8710},{"class":3428,"line":3877},[8711],{"type":3143,"tag":3426,"props":8712,"children":8713},{"style":3491},[8714],{"type":3148,"value":8715},"    \u002F\u002F If user is found, only allow credentials that are registered\n",{"type":3143,"tag":3426,"props":8717,"children":8718},{"class":3428,"line":3131},[8719],{"type":3143,"tag":3426,"props":8720,"children":8721},{"style":3491},[8722],{"type":3148,"value":8723},"    \u002F\u002F The browser will automatically try to use the credential that it knows about\n",{"type":3143,"tag":3426,"props":8725,"children":8726},{"class":3428,"line":3914},[8727],{"type":3143,"tag":3426,"props":8728,"children":8729},{"style":3491},[8730],{"type":3148,"value":8731},"    \u002F\u002F Skipping the step for the user to select a credential for a better user experience\n",{"type":3143,"tag":3426,"props":8733,"children":8734},{"class":3428,"line":3947},[8735,8739],{"type":3143,"tag":3426,"props":8736,"children":8737},{"style":4688},[8738],{"type":3148,"value":6029},{"type":3143,"tag":3426,"props":8740,"children":8741},{"style":3500},[8742],{"type":3148,"value":8743}," credentials\n",{"type":3143,"tag":3426,"props":8745,"children":8746},{"class":3428,"line":4002},[8747],{"type":3143,"tag":3426,"props":8748,"children":8749},{"style":3491},[8750],{"type":3148,"value":8751},"    \u002F\u002F example: [{ id: '...' }]\n",{"type":3143,"tag":3426,"props":8753,"children":8754},{"class":3428,"line":4011},[8755],{"type":3143,"tag":3426,"props":8756,"children":8757},{"style":3505},[8758],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":8760,"children":8761},{"class":3428,"line":3036},[8762,8766,8771,8775,8779,8783,8788,8792],{"type":3143,"tag":3426,"props":8763,"children":8764},{"style":3577},[8765],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":8767,"children":8768},{"style":3571},[8769],{"type":3148,"value":8770}," getCredential",{"type":3143,"tag":3426,"props":8772,"children":8773},{"style":3505},[8774],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8776,"children":8777},{"style":4520},[8778],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":8780,"children":8781},{"style":3505},[8782],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8784,"children":8785},{"style":4520},[8786],{"type":3148,"value":8787}," credentialId",{"type":3143,"tag":3426,"props":8789,"children":8790},{"style":3505},[8791],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":8793,"children":8794},{"style":3505},[8795],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":8797,"children":8798},{"class":3428,"line":4079},[8799],{"type":3143,"tag":3426,"props":8800,"children":8801},{"style":3491},[8802],{"type":3148,"value":8803},"    \u002F\u002F Look for the credential in our database\n",{"type":3143,"tag":3426,"props":8805,"children":8806},{"class":3428,"line":4349},[8807,8811,8815,8819,8823,8827,8831,8835,8839,8843,8847],{"type":3143,"tag":3426,"props":8808,"children":8809},{"style":3577},[8810],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":8812,"children":8813},{"style":3500},[8814],{"type":3148,"value":8016},{"type":3143,"tag":3426,"props":8816,"children":8817},{"style":3505},[8818],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":8820,"children":8821},{"style":4688},[8822],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":8824,"children":8825},{"style":3662},[8826],{"type":3148,"value":8069},{"type":3143,"tag":3426,"props":8828,"children":8829},{"style":3571},[8830],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":8832,"children":8833},{"style":3505},[8834],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":8836,"children":8837},{"style":3662},[8838],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":8840,"children":8841},{"style":3505},[8842],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":8844,"children":8845},{"style":3438},[8846],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":8848,"children":8849},{"style":3505},[8850],{"type":3148,"value":8135},{"type":3143,"tag":3426,"props":8852,"children":8853},{"class":3428,"line":4357},[8854],{"type":3143,"tag":3426,"props":8855,"children":8856},{"emptyLinePlaceholder":1200},[8857],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":8859,"children":8860},{"class":3428,"line":4366},[8861],{"type":3143,"tag":3426,"props":8862,"children":8863},{"style":3491},[8864],{"type":3148,"value":8865},"    \u002F\u002F If the credential is not found, there is no account to log in to\n",{"type":3143,"tag":3426,"props":8867,"children":8868},{"class":3428,"line":4374},[8869,8873,8877,8881,8886],{"type":3143,"tag":3426,"props":8870,"children":8871},{"style":4688},[8872],{"type":3148,"value":7694},{"type":3143,"tag":3426,"props":8874,"children":8875},{"style":3571},[8876],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":8878,"children":8879},{"style":3505},[8880],{"type":3148,"value":8151},{"type":3143,"tag":3426,"props":8882,"children":8883},{"style":3500},[8884],{"type":3148,"value":8885},"credential",{"type":3143,"tag":3426,"props":8887,"children":8888},{"style":3571},[8889],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":8891,"children":8892},{"class":3428,"line":4415},[8893,8897,8901,8905,8909,8913,8917,8921,8925,8929,8933,8937,8942,8946,8950],{"type":3143,"tag":3426,"props":8894,"children":8895},{"style":4688},[8896],{"type":3148,"value":7783},{"type":3143,"tag":3426,"props":8898,"children":8899},{"style":3662},[8900],{"type":3148,"value":7788},{"type":3143,"tag":3426,"props":8902,"children":8903},{"style":3571},[8904],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8906,"children":8907},{"style":3505},[8908],{"type":3148,"value":7797},{"type":3143,"tag":3426,"props":8910,"children":8911},{"style":3571},[8912],{"type":3148,"value":7802},{"type":3143,"tag":3426,"props":8914,"children":8915},{"style":3505},[8916],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8918,"children":8919},{"style":7026},[8920],{"type":3148,"value":7811},{"type":3143,"tag":3426,"props":8922,"children":8923},{"style":3505},[8924],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":8926,"children":8927},{"style":3571},[8928],{"type":3148,"value":7820},{"type":3143,"tag":3426,"props":8930,"children":8931},{"style":3505},[8932],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":8934,"children":8935},{"style":3505},[8936],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":8938,"children":8939},{"style":3438},[8940],{"type":3148,"value":8941},"Credential not found",{"type":3143,"tag":3426,"props":8943,"children":8944},{"style":3505},[8945],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":8947,"children":8948},{"style":3505},[8949],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":8951,"children":8952},{"style":3571},[8953],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":8955,"children":8956},{"class":3428,"line":4423},[8957],{"type":3143,"tag":3426,"props":8958,"children":8959},{"emptyLinePlaceholder":1200},[8960],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":8962,"children":8963},{"class":3428,"line":4432},[8964,8968],{"type":3143,"tag":3426,"props":8965,"children":8966},{"style":4688},[8967],{"type":3148,"value":6029},{"type":3143,"tag":3426,"props":8969,"children":8970},{"style":3500},[8971],{"type":3148,"value":8972}," credential\n",{"type":3143,"tag":3426,"props":8974,"children":8975},{"class":3428,"line":4440},[8976],{"type":3143,"tag":3426,"props":8977,"children":8978},{"style":3505},[8979],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":8981,"children":8982},{"class":3428,"line":4477},[8983,8987,8991,8995,8999,9003,9007,9011,9015,9020,9024],{"type":3143,"tag":3426,"props":8984,"children":8985},{"style":3577},[8986],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":8988,"children":8989},{"style":3571},[8990],{"type":3148,"value":5895},{"type":3143,"tag":3426,"props":8992,"children":8993},{"style":3505},[8994],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":8996,"children":8997},{"style":4520},[8998],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":9000,"children":9001},{"style":3505},[9002],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9004,"children":9005},{"style":3505},[9006],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":9008,"children":9009},{"style":4520},[9010],{"type":3148,"value":8016},{"type":3143,"tag":3426,"props":9012,"children":9013},{"style":3505},[9014],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9016,"children":9017},{"style":4520},[9018],{"type":3148,"value":9019}," authenticationInfo",{"type":3143,"tag":3426,"props":9021,"children":9022},{"style":3505},[9023],{"type":3148,"value":4586},{"type":3143,"tag":3426,"props":9025,"children":9026},{"style":3505},[9027],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":9029,"children":9030},{"class":3428,"line":4485},[9031],{"type":3143,"tag":3426,"props":9032,"children":9033},{"style":3491},[9034],{"type":3148,"value":9035},"    \u002F\u002F The credential authentication has been successful\n",{"type":3143,"tag":3426,"props":9037,"children":9038},{"class":3428,"line":4494},[9039],{"type":3143,"tag":3426,"props":9040,"children":9041},{"style":3491},[9042],{"type":3148,"value":9043},"    \u002F\u002F We can look it up in our database and get the corresponding user\n",{"type":3143,"tag":3426,"props":9045,"children":9046},{"class":3428,"line":4502},[9047,9051,9055,9059,9063],{"type":3143,"tag":3426,"props":9048,"children":9049},{"style":3577},[9050],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":9052,"children":9053},{"style":3500},[9054],{"type":3148,"value":8060},{"type":3143,"tag":3426,"props":9056,"children":9057},{"style":3505},[9058],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":9060,"children":9061},{"style":3662},[9062],{"type":3148,"value":8069},{"type":3143,"tag":3426,"props":9064,"children":9065},{"style":3571},[9066],{"type":3148,"value":3670},{"type":3143,"tag":3426,"props":9068,"children":9069},{"class":3428,"line":4598},[9070,9074,9078,9082,9086,9090,9094,9098,9102,9106],{"type":3143,"tag":3426,"props":9071,"children":9072},{"style":3577},[9073],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":9075,"children":9076},{"style":3500},[9077],{"type":3148,"value":3613},{"type":3143,"tag":3426,"props":9079,"children":9080},{"style":3505},[9081],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":9083,"children":9084},{"style":4688},[9085],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":9087,"children":9088},{"style":3500},[9089],{"type":3148,"value":8060},{"type":3143,"tag":3426,"props":9091,"children":9092},{"style":3505},[9093],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9095,"children":9096},{"style":3662},[9097],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":9099,"children":9100},{"style":3505},[9101],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":9103,"children":9104},{"style":3438},[9105],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":9107,"children":9108},{"style":3505},[9109],{"type":3148,"value":8135},{"type":3143,"tag":3426,"props":9111,"children":9112},{"class":3428,"line":8222},[9113],{"type":3143,"tag":3426,"props":9114,"children":9115},{"emptyLinePlaceholder":1200},[9116],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":9118,"children":9119},{"class":3428,"line":8230},[9120],{"type":3143,"tag":3426,"props":9121,"children":9122},{"style":3491},[9123],{"type":3148,"value":9124},"    \u002F\u002F Update the counter in the database (authenticationInfo.newCounter)\n",{"type":3143,"tag":3426,"props":9126,"children":9127},{"class":3428,"line":8239},[9128,9132,9136,9140,9144,9148,9152],{"type":3143,"tag":3426,"props":9129,"children":9130},{"style":4688},[9131],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":9133,"children":9134},{"style":3500},[9135],{"type":3148,"value":8060},{"type":3143,"tag":3426,"props":9137,"children":9138},{"style":3505},[9139],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9141,"children":9142},{"style":3662},[9143],{"type":3148,"value":7016},{"type":3143,"tag":3426,"props":9145,"children":9146},{"style":3505},[9147],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":9149,"children":9150},{"style":3438},[9151],{"type":3148,"value":5429},{"type":3143,"tag":3426,"props":9153,"children":9154},{"style":3505},[9155],{"type":3148,"value":8135},{"type":3143,"tag":3426,"props":9157,"children":9158},{"class":3428,"line":8271},[9159],{"type":3143,"tag":3426,"props":9160,"children":9161},{"emptyLinePlaceholder":1200},[9162],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":9164,"children":9165},{"class":3428,"line":8279},[9166],{"type":3143,"tag":3426,"props":9167,"children":9168},{"style":3491},[9169],{"type":3148,"value":8285},{"type":3143,"tag":3426,"props":9171,"children":9172},{"class":3428,"line":8288},[9173,9177,9181,9185,9189,9193],{"type":3143,"tag":3426,"props":9174,"children":9175},{"style":4688},[9176],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":9178,"children":9179},{"style":3662},[9180],{"type":3148,"value":4696},{"type":3143,"tag":3426,"props":9182,"children":9183},{"style":3571},[9184],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9186,"children":9187},{"style":3500},[9188],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":9190,"children":9191},{"style":3505},[9192],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9194,"children":9195},{"style":3505},[9196],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":9198,"children":9199},{"class":3428,"line":8316},[9200,9204,9208],{"type":3143,"tag":3426,"props":9201,"children":9202},{"style":3571},[9203],{"type":3148,"value":5969},{"type":3143,"tag":3426,"props":9205,"children":9206},{"style":3505},[9207],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9209,"children":9210},{"style":3505},[9211],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":9213,"children":9214},{"class":3428,"line":8332},[9215,9219,9223,9227,9231],{"type":3143,"tag":3426,"props":9216,"children":9217},{"style":3571},[9218],{"type":3148,"value":8338},{"type":3143,"tag":3426,"props":9220,"children":9221},{"style":3505},[9222],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9224,"children":9225},{"style":3500},[9226],{"type":3148,"value":3613},{"type":3143,"tag":3426,"props":9228,"children":9229},{"style":3505},[9230],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9232,"children":9233},{"style":3500},[9234],{"type":3148,"value":6002},{"type":3143,"tag":3426,"props":9236,"children":9237},{"class":3428,"line":8357},[9238],{"type":3143,"tag":3426,"props":9239,"children":9240},{"style":3505},[9241],{"type":3148,"value":8363},{"type":3143,"tag":3426,"props":9243,"children":9244},{"class":3428,"line":8366},[9245,9249,9253,9257,9261,9265,9269],{"type":3143,"tag":3426,"props":9246,"children":9247},{"style":3571},[9248],{"type":3148,"value":8372},{"type":3143,"tag":3426,"props":9250,"children":9251},{"style":3505},[9252],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9254,"children":9255},{"style":3500},[9256],{"type":3148,"value":4852},{"type":3143,"tag":3426,"props":9258,"children":9259},{"style":3505},[9260],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9262,"children":9263},{"style":3662},[9264],{"type":3148,"value":8389},{"type":3143,"tag":3426,"props":9266,"children":9267},{"style":3571},[9268],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":9270,"children":9271},{"style":3505},[9272],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":9274,"children":9275},{"class":3428,"line":8400},[9276,9280],{"type":3143,"tag":3426,"props":9277,"children":9278},{"style":3505},[9279],{"type":3148,"value":6017},{"type":3143,"tag":3426,"props":9281,"children":9282},{"style":3571},[9283],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":9285,"children":9286},{"class":3428,"line":8412},[9287],{"type":3143,"tag":3426,"props":9288,"children":9289},{"style":3505},[9290],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":9292,"children":9293},{"class":3428,"line":8420},[9294,9298],{"type":3143,"tag":3426,"props":9295,"children":9296},{"style":3505},[9297],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":9299,"children":9300},{"style":3500},[9301],{"type":3148,"value":4868},{"type":3143,"tag":4606,"props":9303,"children":9304},{},[9305],{"type":3143,"tag":3150,"props":9306,"children":9307},{},[9308,9312,9314,9319,9321,9327,9328,9334],{"type":3143,"tag":3426,"props":9309,"children":9310},{},[9311],{"type":3148,"value":4616},{"type":3148,"value":9313},"\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":3143,"tag":4097,"props":9315,"children":9316},{},[9317],{"type":3148,"value":9318},"which is highly recommended",{"type":3148,"value":9320},"), the ",{"type":3143,"tag":3288,"props":9322,"children":9324},{"className":9323},[],[9325],{"type":3148,"value":9326},"storeChallenge",{"type":3148,"value":6258},{"type":3143,"tag":3288,"props":9329,"children":9331},{"className":9330},[],[9332],{"type":3148,"value":9333},"getChallenge",{"type":3148,"value":9335}," 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":3143,"tag":4606,"props":9337,"children":9338},{},[9339],{"type":3143,"tag":3416,"props":9340,"children":9342},{"className":4104,"code":9341,"language":4106,"meta":3016,"style":3016},"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",[9343],{"type":3143,"tag":3288,"props":9344,"children":9345},{"__ignoreMap":3016},[9346,9369,9415,9423,9488,9495,9531,9595,9602,9610,9662,9669,9693,9757,9764,9776,9783,9823,9831,9838],{"type":3143,"tag":3426,"props":9347,"children":9348},{"class":3428,"line":3102},[9349,9353,9357,9361,9365],{"type":3143,"tag":3426,"props":9350,"children":9351},{"style":4688},[9352],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":9354,"children":9355},{"style":4688},[9356],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":9358,"children":9359},{"style":3662},[9360],{"type":3148,"value":8495},{"type":3143,"tag":3426,"props":9362,"children":9363},{"style":3500},[9364],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9366,"children":9367},{"style":3505},[9368],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":9370,"children":9371},{"class":3428,"line":3068},[9372,9376,9381,9385,9389,9393,9398,9402,9407,9411],{"type":3143,"tag":3426,"props":9373,"children":9374},{"style":3577},[9375],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":9377,"children":9378},{"style":3571},[9379],{"type":3148,"value":9380}," storeChallenge",{"type":3143,"tag":3426,"props":9382,"children":9383},{"style":3505},[9384],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9386,"children":9387},{"style":4520},[9388],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":9390,"children":9391},{"style":3505},[9392],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9394,"children":9395},{"style":4520},[9396],{"type":3148,"value":9397}," challenge",{"type":3143,"tag":3426,"props":9399,"children":9400},{"style":3505},[9401],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9403,"children":9404},{"style":4520},[9405],{"type":3148,"value":9406}," attemptId",{"type":3143,"tag":3426,"props":9408,"children":9409},{"style":3505},[9410],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":9412,"children":9413},{"style":3505},[9414],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":9416,"children":9417},{"class":3428,"line":3052},[9418],{"type":3143,"tag":3426,"props":9419,"children":9420},{"style":3491},[9421],{"type":3148,"value":9422},"    \u002F\u002F Store the challenge in a KV store or DB\n",{"type":3143,"tag":3426,"props":9424,"children":9425},{"class":3428,"line":3689},[9426,9430,9435,9439,9443,9448,9452,9456,9461,9466,9471,9476,9480,9484],{"type":3143,"tag":3426,"props":9427,"children":9428},{"style":4688},[9429],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":9431,"children":9432},{"style":3662},[9433],{"type":3148,"value":9434}," useStorage",{"type":3143,"tag":3426,"props":9436,"children":9437},{"style":3571},[9438],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":9440,"children":9441},{"style":3505},[9442],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9444,"children":9445},{"style":3662},[9446],{"type":3148,"value":9447},"setItem",{"type":3143,"tag":3426,"props":9449,"children":9450},{"style":3571},[9451],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9453,"children":9454},{"style":3505},[9455],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":9457,"children":9458},{"style":3438},[9459],{"type":3148,"value":9460},"attempt:",{"type":3143,"tag":3426,"props":9462,"children":9463},{"style":3505},[9464],{"type":3148,"value":9465},"${",{"type":3143,"tag":3426,"props":9467,"children":9468},{"style":3500},[9469],{"type":3148,"value":9470},"attemptId",{"type":3143,"tag":3426,"props":9472,"children":9473},{"style":3505},[9474],{"type":3148,"value":9475},"}`",{"type":3143,"tag":3426,"props":9477,"children":9478},{"style":3505},[9479],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9481,"children":9482},{"style":3500},[9483],{"type":3148,"value":9397},{"type":3143,"tag":3426,"props":9485,"children":9486},{"style":3571},[9487],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":9489,"children":9490},{"class":3428,"line":3698},[9491],{"type":3143,"tag":3426,"props":9492,"children":9493},{"style":3505},[9494],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":9496,"children":9497},{"class":3428,"line":3715},[9498,9502,9507,9511,9515,9519,9523,9527],{"type":3143,"tag":3426,"props":9499,"children":9500},{"style":3577},[9501],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":9503,"children":9504},{"style":3571},[9505],{"type":3148,"value":9506}," getChallenge",{"type":3143,"tag":3426,"props":9508,"children":9509},{"style":3505},[9510],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9512,"children":9513},{"style":4520},[9514],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":9516,"children":9517},{"style":3505},[9518],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9520,"children":9521},{"style":4520},[9522],{"type":3148,"value":9406},{"type":3143,"tag":3426,"props":9524,"children":9525},{"style":3505},[9526],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":9528,"children":9529},{"style":3505},[9530],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":9532,"children":9533},{"class":3428,"line":3048},[9534,9538,9542,9546,9550,9554,9558,9562,9567,9571,9575,9579,9583,9587,9591],{"type":3143,"tag":3426,"props":9535,"children":9536},{"style":3577},[9537],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":9539,"children":9540},{"style":3500},[9541],{"type":3148,"value":9397},{"type":3143,"tag":3426,"props":9543,"children":9544},{"style":3505},[9545],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":9547,"children":9548},{"style":4688},[9549],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":9551,"children":9552},{"style":3662},[9553],{"type":3148,"value":9434},{"type":3143,"tag":3426,"props":9555,"children":9556},{"style":3571},[9557],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":9559,"children":9560},{"style":3505},[9561],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9563,"children":9564},{"style":3662},[9565],{"type":3148,"value":9566},"getItem",{"type":3143,"tag":3426,"props":9568,"children":9569},{"style":3571},[9570],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9572,"children":9573},{"style":3505},[9574],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":9576,"children":9577},{"style":3438},[9578],{"type":3148,"value":9460},{"type":3143,"tag":3426,"props":9580,"children":9581},{"style":3505},[9582],{"type":3148,"value":9465},{"type":3143,"tag":3426,"props":9584,"children":9585},{"style":3500},[9586],{"type":3148,"value":9470},{"type":3143,"tag":3426,"props":9588,"children":9589},{"style":3505},[9590],{"type":3148,"value":9475},{"type":3143,"tag":3426,"props":9592,"children":9593},{"style":3571},[9594],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":9596,"children":9597},{"class":3428,"line":3044},[9598],{"type":3143,"tag":3426,"props":9599,"children":9600},{"emptyLinePlaceholder":1200},[9601],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":9603,"children":9604},{"class":3428,"line":3040},[9605],{"type":3143,"tag":3426,"props":9606,"children":9607},{"style":3491},[9608],{"type":3148,"value":9609},"    \u002F\u002F Make sure to always remove the attempt because they are single use only!\n",{"type":3143,"tag":3426,"props":9611,"children":9612},{"class":3428,"line":3877},[9613,9617,9621,9625,9629,9634,9638,9642,9646,9650,9654,9658],{"type":3143,"tag":3426,"props":9614,"children":9615},{"style":4688},[9616],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":9618,"children":9619},{"style":3662},[9620],{"type":3148,"value":9434},{"type":3143,"tag":3426,"props":9622,"children":9623},{"style":3571},[9624],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":9626,"children":9627},{"style":3505},[9628],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":9630,"children":9631},{"style":3662},[9632],{"type":3148,"value":9633},"removeItem",{"type":3143,"tag":3426,"props":9635,"children":9636},{"style":3571},[9637],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9639,"children":9640},{"style":3505},[9641],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":9643,"children":9644},{"style":3438},[9645],{"type":3148,"value":9460},{"type":3143,"tag":3426,"props":9647,"children":9648},{"style":3505},[9649],{"type":3148,"value":9465},{"type":3143,"tag":3426,"props":9651,"children":9652},{"style":3500},[9653],{"type":3148,"value":9470},{"type":3143,"tag":3426,"props":9655,"children":9656},{"style":3505},[9657],{"type":3148,"value":9475},{"type":3143,"tag":3426,"props":9659,"children":9660},{"style":3571},[9661],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":9663,"children":9664},{"class":3428,"line":3131},[9665],{"type":3143,"tag":3426,"props":9666,"children":9667},{"emptyLinePlaceholder":1200},[9668],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":9670,"children":9671},{"class":3428,"line":3914},[9672,9676,9680,9684,9689],{"type":3143,"tag":3426,"props":9673,"children":9674},{"style":4688},[9675],{"type":3148,"value":7694},{"type":3143,"tag":3426,"props":9677,"children":9678},{"style":3571},[9679],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":9681,"children":9682},{"style":3505},[9683],{"type":3148,"value":8151},{"type":3143,"tag":3426,"props":9685,"children":9686},{"style":3500},[9687],{"type":3148,"value":9688},"challenge",{"type":3143,"tag":3426,"props":9690,"children":9691},{"style":3571},[9692],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":9694,"children":9695},{"class":3428,"line":3947},[9696,9700,9704,9708,9712,9716,9720,9724,9728,9732,9736,9740,9745,9749,9753],{"type":3143,"tag":3426,"props":9697,"children":9698},{"style":4688},[9699],{"type":3148,"value":7783},{"type":3143,"tag":3426,"props":9701,"children":9702},{"style":3662},[9703],{"type":3148,"value":7788},{"type":3143,"tag":3426,"props":9705,"children":9706},{"style":3571},[9707],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9709,"children":9710},{"style":3505},[9711],{"type":3148,"value":7797},{"type":3143,"tag":3426,"props":9713,"children":9714},{"style":3571},[9715],{"type":3148,"value":7802},{"type":3143,"tag":3426,"props":9717,"children":9718},{"style":3505},[9719],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9721,"children":9722},{"style":7026},[9723],{"type":3148,"value":7811},{"type":3143,"tag":3426,"props":9725,"children":9726},{"style":3505},[9727],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9729,"children":9730},{"style":3571},[9731],{"type":3148,"value":7820},{"type":3143,"tag":3426,"props":9733,"children":9734},{"style":3505},[9735],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9737,"children":9738},{"style":3505},[9739],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":9741,"children":9742},{"style":3438},[9743],{"type":3148,"value":9744},"Challenge expired",{"type":3143,"tag":3426,"props":9746,"children":9747},{"style":3505},[9748],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":9750,"children":9751},{"style":3505},[9752],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":9754,"children":9755},{"style":3571},[9756],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":9758,"children":9759},{"class":3428,"line":4002},[9760],{"type":3143,"tag":3426,"props":9761,"children":9762},{"emptyLinePlaceholder":1200},[9763],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":9765,"children":9766},{"class":3428,"line":4011},[9767,9771],{"type":3143,"tag":3426,"props":9768,"children":9769},{"style":4688},[9770],{"type":3148,"value":6029},{"type":3143,"tag":3426,"props":9772,"children":9773},{"style":3500},[9774],{"type":3148,"value":9775}," challenge\n",{"type":3143,"tag":3426,"props":9777,"children":9778},{"class":3428,"line":3036},[9779],{"type":3143,"tag":3426,"props":9780,"children":9781},{"style":3505},[9782],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":9784,"children":9785},{"class":3428,"line":4079},[9786,9790,9794,9798,9802,9806,9810,9815,9819],{"type":3143,"tag":3426,"props":9787,"children":9788},{"style":3577},[9789],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":9791,"children":9792},{"style":3571},[9793],{"type":3148,"value":5895},{"type":3143,"tag":3426,"props":9795,"children":9796},{"style":3505},[9797],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9799,"children":9800},{"style":4520},[9801],{"type":3148,"value":5904},{"type":3143,"tag":3426,"props":9803,"children":9804},{"style":3505},[9805],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9807,"children":9808},{"style":3505},[9809],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":9811,"children":9812},{"style":4520},[9813],{"type":3148,"value":9814}," authenticator",{"type":3143,"tag":3426,"props":9816,"children":9817},{"style":3505},[9818],{"type":3148,"value":4586},{"type":3143,"tag":3426,"props":9820,"children":9821},{"style":3505},[9822],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":9824,"children":9825},{"class":3428,"line":4349},[9826],{"type":3143,"tag":3426,"props":9827,"children":9828},{"style":3491},[9829],{"type":3148,"value":9830},"    \u002F\u002F ...\n",{"type":3143,"tag":3426,"props":9832,"children":9833},{"class":3428,"line":4357},[9834],{"type":3143,"tag":3426,"props":9835,"children":9836},{"style":3505},[9837],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":9839,"children":9840},{"class":3428,"line":4366},[9841,9845],{"type":3143,"tag":3426,"props":9842,"children":9843},{"style":3505},[9844],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":9846,"children":9847},{"style":3500},[9848],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":9850,"children":9851},{},[9852],{"type":3148,"value":9853},"On the frontend it is as simple as:",{"type":3143,"tag":3416,"props":9855,"children":9857},{"className":3554,"code":9856,"language":3556,"meta":3016,"style":3016},"\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",[9858],{"type":3143,"tag":3288,"props":9859,"children":9860},{"__ignoreMap":3016},[9861,9901,9947,9981,10014,10025,10065,10072,10106,10132,10181,10212,10219,10226,10250,10282,10309,10316,10331,10338,10353,10391,10451,10505,10520,10556,10611,10663,10678],{"type":3143,"tag":3426,"props":9862,"children":9863},{"class":3428,"line":3102},[9864,9868,9872,9876,9881,9885,9889,9893,9897],{"type":3143,"tag":3426,"props":9865,"children":9866},{"style":3505},[9867],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":9869,"children":9870},{"style":3571},[9871],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":9873,"children":9874},{"style":3577},[9875],{"type":3148,"value":3580},{"type":3143,"tag":3426,"props":9877,"children":9878},{"style":3577},[9879],{"type":3148,"value":9880}," lang",{"type":3143,"tag":3426,"props":9882,"children":9883},{"style":3505},[9884],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":9886,"children":9887},{"style":3505},[9888],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":9890,"children":9891},{"style":3438},[9892],{"type":3148,"value":4106},{"type":3143,"tag":3426,"props":9894,"children":9895},{"style":3505},[9896],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":9898,"children":9899},{"style":3505},[9900],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":9902,"children":9903},{"class":3428,"line":3068},[9904,9908,9912,9917,9921,9926,9930,9934,9939,9943],{"type":3143,"tag":3426,"props":9905,"children":9906},{"style":3577},[9907],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":9909,"children":9910},{"style":3505},[9911],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":9913,"children":9914},{"style":3500},[9915],{"type":3148,"value":9916}," register",{"type":3143,"tag":3426,"props":9918,"children":9919},{"style":3505},[9920],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9922,"children":9923},{"style":3500},[9924],{"type":3148,"value":9925}," authenticate ",{"type":3143,"tag":3426,"props":9927,"children":9928},{"style":3505},[9929],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":9931,"children":9932},{"style":3505},[9933],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":9935,"children":9936},{"style":3662},[9937],{"type":3148,"value":9938}," useWebAuthn",{"type":3143,"tag":3426,"props":9940,"children":9941},{"style":3500},[9942],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":9944,"children":9945},{"style":3505},[9946],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":9948,"children":9949},{"class":3428,"line":3052},[9950,9955,9959,9963,9968,9972,9976],{"type":3143,"tag":3426,"props":9951,"children":9952},{"style":3571},[9953],{"type":3148,"value":9954},"  registerEndpoint",{"type":3143,"tag":3426,"props":9956,"children":9957},{"style":3505},[9958],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9960,"children":9961},{"style":3505},[9962],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":9964,"children":9965},{"style":3438},[9966],{"type":3148,"value":9967},"\u002Fapi\u002Fwebauthn\u002Fregister",{"type":3143,"tag":3426,"props":9969,"children":9970},{"style":3505},[9971],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":9973,"children":9974},{"style":3505},[9975],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":9977,"children":9978},{"style":3491},[9979],{"type":3148,"value":9980}," \u002F\u002F Default\n",{"type":3143,"tag":3426,"props":9982,"children":9983},{"class":3428,"line":3689},[9984,9989,9993,9997,10002,10006,10010],{"type":3143,"tag":3426,"props":9985,"children":9986},{"style":3571},[9987],{"type":3148,"value":9988},"  authenticateEndpoint",{"type":3143,"tag":3426,"props":9990,"children":9991},{"style":3505},[9992],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":9994,"children":9995},{"style":3505},[9996],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":9998,"children":9999},{"style":3438},[10000],{"type":3148,"value":10001},"\u002Fapi\u002Fwebauthn\u002Fauthenticate",{"type":3143,"tag":3426,"props":10003,"children":10004},{"style":3505},[10005],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":10007,"children":10008},{"style":3505},[10009],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":10011,"children":10012},{"style":3491},[10013],{"type":3148,"value":9980},{"type":3143,"tag":3426,"props":10015,"children":10016},{"class":3428,"line":3698},[10017,10021],{"type":3143,"tag":3426,"props":10018,"children":10019},{"style":3505},[10020],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":10022,"children":10023},{"style":3500},[10024],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":10026,"children":10027},{"class":3428,"line":3715},[10028,10032,10036,10040,10044,10049,10053,10057,10061],{"type":3143,"tag":3426,"props":10029,"children":10030},{"style":3577},[10031],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":10033,"children":10034},{"style":3505},[10035],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":10037,"children":10038},{"style":3571},[10039],{"type":3148,"value":3631},{"type":3143,"tag":3426,"props":10041,"children":10042},{"style":3505},[10043],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":10045,"children":10046},{"style":3500},[10047],{"type":3148,"value":10048}," fetchUserSession ",{"type":3143,"tag":3426,"props":10050,"children":10051},{"style":3505},[10052],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":10054,"children":10055},{"style":3505},[10056],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":10058,"children":10059},{"style":3662},[10060],{"type":3148,"value":3665},{"type":3143,"tag":3426,"props":10062,"children":10063},{"style":3500},[10064],{"type":3148,"value":3670},{"type":3143,"tag":3426,"props":10066,"children":10067},{"class":3428,"line":3048},[10068],{"type":3143,"tag":3426,"props":10069,"children":10070},{"emptyLinePlaceholder":1200},[10071],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":10073,"children":10074},{"class":3428,"line":3044},[10075,10079,10084,10088,10093,10097,10102],{"type":3143,"tag":3426,"props":10076,"children":10077},{"style":3577},[10078],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":10080,"children":10081},{"style":3500},[10082],{"type":3148,"value":10083}," userName ",{"type":3143,"tag":3426,"props":10085,"children":10086},{"style":3505},[10087],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10089,"children":10090},{"style":3662},[10091],{"type":3148,"value":10092}," ref",{"type":3143,"tag":3426,"props":10094,"children":10095},{"style":3500},[10096],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10098,"children":10099},{"style":3505},[10100],{"type":3148,"value":10101},"''",{"type":3143,"tag":3426,"props":10103,"children":10104},{"style":3500},[10105],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":10107,"children":10108},{"class":3428,"line":3040},[10109,10114,10119,10124,10128],{"type":3143,"tag":3426,"props":10110,"children":10111},{"style":3577},[10112],{"type":3148,"value":10113},"async",{"type":3143,"tag":3426,"props":10115,"children":10116},{"style":3577},[10117],{"type":3148,"value":10118}," function",{"type":3143,"tag":3426,"props":10120,"children":10121},{"style":3662},[10122],{"type":3148,"value":10123}," signUp",{"type":3143,"tag":3426,"props":10125,"children":10126},{"style":3505},[10127],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":10129,"children":10130},{"style":3505},[10131],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":10133,"children":10134},{"class":3428,"line":3877},[10135,10140,10144,10148,10152,10156,10160,10164,10168,10173,10177],{"type":3143,"tag":3426,"props":10136,"children":10137},{"style":4688},[10138],{"type":3148,"value":10139},"  await",{"type":3143,"tag":3426,"props":10141,"children":10142},{"style":3662},[10143],{"type":3148,"value":9916},{"type":3143,"tag":3426,"props":10145,"children":10146},{"style":3571},[10147],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10149,"children":10150},{"style":3505},[10151],{"type":3148,"value":7797},{"type":3143,"tag":3426,"props":10153,"children":10154},{"style":3571},[10155],{"type":3148,"value":8540},{"type":3143,"tag":3426,"props":10157,"children":10158},{"style":3505},[10159],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":10161,"children":10162},{"style":3500},[10163],{"type":3148,"value":8540},{"type":3143,"tag":3426,"props":10165,"children":10166},{"style":3505},[10167],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":10169,"children":10170},{"style":3500},[10171],{"type":3148,"value":10172},"value",{"type":3143,"tag":3426,"props":10174,"children":10175},{"style":3505},[10176],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":10178,"children":10179},{"style":3571},[10180],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":10182,"children":10183},{"class":3428,"line":3131},[10184,10189,10194,10198,10203,10207],{"type":3143,"tag":3426,"props":10185,"children":10186},{"style":3505},[10187],{"type":3148,"value":10188},"    .",{"type":3143,"tag":3426,"props":10190,"children":10191},{"style":3662},[10192],{"type":3148,"value":10193},"then",{"type":3143,"tag":3426,"props":10195,"children":10196},{"style":3571},[10197],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10199,"children":10200},{"style":3500},[10201],{"type":3148,"value":10202},"fetchUserSession",{"type":3143,"tag":3426,"props":10204,"children":10205},{"style":3571},[10206],{"type":3148,"value":7771},{"type":3143,"tag":3426,"props":10208,"children":10209},{"style":3491},[10210],{"type":3148,"value":10211},"\u002F\u002F refetch the user session\n",{"type":3143,"tag":3426,"props":10213,"children":10214},{"class":3428,"line":3914},[10215],{"type":3143,"tag":3426,"props":10216,"children":10217},{"style":3505},[10218],{"type":3148,"value":4604},{"type":3143,"tag":3426,"props":10220,"children":10221},{"class":3428,"line":3947},[10222],{"type":3143,"tag":3426,"props":10223,"children":10224},{"emptyLinePlaceholder":1200},[10225],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":10227,"children":10228},{"class":3428,"line":4002},[10229,10233,10237,10242,10246],{"type":3143,"tag":3426,"props":10230,"children":10231},{"style":3577},[10232],{"type":3148,"value":10113},{"type":3143,"tag":3426,"props":10234,"children":10235},{"style":3577},[10236],{"type":3148,"value":10118},{"type":3143,"tag":3426,"props":10238,"children":10239},{"style":3662},[10240],{"type":3148,"value":10241}," signIn",{"type":3143,"tag":3426,"props":10243,"children":10244},{"style":3505},[10245],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":10247,"children":10248},{"style":3505},[10249],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":10251,"children":10252},{"class":3428,"line":4011},[10253,10257,10262,10266,10270,10274,10278],{"type":3143,"tag":3426,"props":10254,"children":10255},{"style":4688},[10256],{"type":3148,"value":10139},{"type":3143,"tag":3426,"props":10258,"children":10259},{"style":3662},[10260],{"type":3148,"value":10261}," authenticate",{"type":3143,"tag":3426,"props":10263,"children":10264},{"style":3571},[10265],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10267,"children":10268},{"style":3500},[10269],{"type":3148,"value":7766},{"type":3143,"tag":3426,"props":10271,"children":10272},{"style":3505},[10273],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":10275,"children":10276},{"style":3500},[10277],{"type":3148,"value":10172},{"type":3143,"tag":3426,"props":10279,"children":10280},{"style":3571},[10281],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":10283,"children":10284},{"class":3428,"line":3036},[10285,10289,10293,10297,10301,10305],{"type":3143,"tag":3426,"props":10286,"children":10287},{"style":3505},[10288],{"type":3148,"value":10188},{"type":3143,"tag":3426,"props":10290,"children":10291},{"style":3662},[10292],{"type":3148,"value":10193},{"type":3143,"tag":3426,"props":10294,"children":10295},{"style":3571},[10296],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10298,"children":10299},{"style":3500},[10300],{"type":3148,"value":10202},{"type":3143,"tag":3426,"props":10302,"children":10303},{"style":3571},[10304],{"type":3148,"value":7771},{"type":3143,"tag":3426,"props":10306,"children":10307},{"style":3491},[10308],{"type":3148,"value":10211},{"type":3143,"tag":3426,"props":10310,"children":10311},{"class":3428,"line":4079},[10312],{"type":3143,"tag":3426,"props":10313,"children":10314},{"style":3505},[10315],{"type":3148,"value":4604},{"type":3143,"tag":3426,"props":10317,"children":10318},{"class":3428,"line":4349},[10319,10323,10327],{"type":3143,"tag":3426,"props":10320,"children":10321},{"style":3505},[10322],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":10324,"children":10325},{"style":3571},[10326],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":10328,"children":10329},{"style":3505},[10330],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10332,"children":10333},{"class":3428,"line":4357},[10334],{"type":3143,"tag":3426,"props":10335,"children":10336},{"emptyLinePlaceholder":1200},[10337],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":10339,"children":10340},{"class":3428,"line":4366},[10341,10345,10349],{"type":3143,"tag":3426,"props":10342,"children":10343},{"style":3505},[10344],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":10346,"children":10347},{"style":3571},[10348],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":10350,"children":10351},{"style":3505},[10352],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10354,"children":10355},{"class":3428,"line":4374},[10356,10360,10365,10370,10374,10378,10383,10387],{"type":3143,"tag":3426,"props":10357,"children":10358},{"style":3505},[10359],{"type":3148,"value":3721},{"type":3143,"tag":3426,"props":10361,"children":10362},{"style":3571},[10363],{"type":3148,"value":10364},"form",{"type":3143,"tag":3426,"props":10366,"children":10367},{"style":3577},[10368],{"type":3148,"value":10369}," @submit.prevent",{"type":3143,"tag":3426,"props":10371,"children":10372},{"style":3505},[10373],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10375,"children":10376},{"style":3505},[10377],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10379,"children":10380},{"style":3438},[10381],{"type":3148,"value":10382},"signUp",{"type":3143,"tag":3426,"props":10384,"children":10385},{"style":3505},[10386],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10388,"children":10389},{"style":3505},[10390],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10392,"children":10393},{"class":3428,"line":4415},[10394,10398,10403,10408,10412,10416,10420,10424,10429,10433,10437,10442,10446],{"type":3143,"tag":3426,"props":10395,"children":10396},{"style":3505},[10397],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":10399,"children":10400},{"style":3571},[10401],{"type":3148,"value":10402},"input",{"type":3143,"tag":3426,"props":10404,"children":10405},{"style":3577},[10406],{"type":3148,"value":10407}," v-model",{"type":3143,"tag":3426,"props":10409,"children":10410},{"style":3505},[10411],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10413,"children":10414},{"style":3505},[10415],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10417,"children":10418},{"style":3438},[10419],{"type":3148,"value":7766},{"type":3143,"tag":3426,"props":10421,"children":10422},{"style":3505},[10423],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10425,"children":10426},{"style":3577},[10427],{"type":3148,"value":10428}," placeholder",{"type":3143,"tag":3426,"props":10430,"children":10431},{"style":3505},[10432],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10434,"children":10435},{"style":3505},[10436],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10438,"children":10439},{"style":3438},[10440],{"type":3148,"value":10441},"Email or username",{"type":3143,"tag":3426,"props":10443,"children":10444},{"style":3505},[10445],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10447,"children":10448},{"style":3505},[10449],{"type":3148,"value":10450}," \u002F>\n",{"type":3143,"tag":3426,"props":10452,"children":10453},{"class":3428,"line":4423},[10454,10458,10462,10467,10471,10475,10480,10484,10488,10493,10497,10501],{"type":3143,"tag":3426,"props":10455,"children":10456},{"style":3505},[10457],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":10459,"children":10460},{"style":3571},[10461],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":10463,"children":10464},{"style":3577},[10465],{"type":3148,"value":10466}," type",{"type":3143,"tag":3426,"props":10468,"children":10469},{"style":3505},[10470],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10472,"children":10473},{"style":3505},[10474],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10476,"children":10477},{"style":3438},[10478],{"type":3148,"value":10479},"submit",{"type":3143,"tag":3426,"props":10481,"children":10482},{"style":3505},[10483],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10485,"children":10486},{"style":3505},[10487],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":10489,"children":10490},{"style":3500},[10491],{"type":3148,"value":10492},"Sign up",{"type":3143,"tag":3426,"props":10494,"children":10495},{"style":3505},[10496],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":10498,"children":10499},{"style":3571},[10500],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":10502,"children":10503},{"style":3505},[10504],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10506,"children":10507},{"class":3428,"line":4432},[10508,10512,10516],{"type":3143,"tag":3426,"props":10509,"children":10510},{"style":3505},[10511],{"type":3148,"value":3883},{"type":3143,"tag":3426,"props":10513,"children":10514},{"style":3571},[10515],{"type":3148,"value":10364},{"type":3143,"tag":3426,"props":10517,"children":10518},{"style":3505},[10519],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10521,"children":10522},{"class":3428,"line":4440},[10523,10527,10531,10535,10539,10543,10548,10552],{"type":3143,"tag":3426,"props":10524,"children":10525},{"style":3505},[10526],{"type":3148,"value":3721},{"type":3143,"tag":3426,"props":10528,"children":10529},{"style":3571},[10530],{"type":3148,"value":10364},{"type":3143,"tag":3426,"props":10532,"children":10533},{"style":3577},[10534],{"type":3148,"value":10369},{"type":3143,"tag":3426,"props":10536,"children":10537},{"style":3505},[10538],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10540,"children":10541},{"style":3505},[10542],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10544,"children":10545},{"style":3438},[10546],{"type":3148,"value":10547},"signIn",{"type":3143,"tag":3426,"props":10549,"children":10550},{"style":3505},[10551],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10553,"children":10554},{"style":3505},[10555],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10557,"children":10558},{"class":3428,"line":4477},[10559,10563,10567,10571,10575,10579,10583,10587,10591,10595,10599,10603,10607],{"type":3143,"tag":3426,"props":10560,"children":10561},{"style":3505},[10562],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":10564,"children":10565},{"style":3571},[10566],{"type":3148,"value":10402},{"type":3143,"tag":3426,"props":10568,"children":10569},{"style":3577},[10570],{"type":3148,"value":10407},{"type":3143,"tag":3426,"props":10572,"children":10573},{"style":3505},[10574],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10576,"children":10577},{"style":3505},[10578],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10580,"children":10581},{"style":3438},[10582],{"type":3148,"value":7766},{"type":3143,"tag":3426,"props":10584,"children":10585},{"style":3505},[10586],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10588,"children":10589},{"style":3577},[10590],{"type":3148,"value":10428},{"type":3143,"tag":3426,"props":10592,"children":10593},{"style":3505},[10594],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10596,"children":10597},{"style":3505},[10598],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10600,"children":10601},{"style":3438},[10602],{"type":3148,"value":10441},{"type":3143,"tag":3426,"props":10604,"children":10605},{"style":3505},[10606],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10608,"children":10609},{"style":3505},[10610],{"type":3148,"value":10450},{"type":3143,"tag":3426,"props":10612,"children":10613},{"class":3428,"line":4485},[10614,10618,10622,10626,10630,10634,10638,10642,10646,10651,10655,10659],{"type":3143,"tag":3426,"props":10615,"children":10616},{"style":3505},[10617],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":10619,"children":10620},{"style":3571},[10621],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":10623,"children":10624},{"style":3577},[10625],{"type":3148,"value":10466},{"type":3143,"tag":3426,"props":10627,"children":10628},{"style":3505},[10629],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":10631,"children":10632},{"style":3505},[10633],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10635,"children":10636},{"style":3438},[10637],{"type":3148,"value":10479},{"type":3143,"tag":3426,"props":10639,"children":10640},{"style":3505},[10641],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":10643,"children":10644},{"style":3505},[10645],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":10647,"children":10648},{"style":3500},[10649],{"type":3148,"value":10650},"Sign in",{"type":3143,"tag":3426,"props":10652,"children":10653},{"style":3505},[10654],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":10656,"children":10657},{"style":3571},[10658],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":10660,"children":10661},{"style":3505},[10662],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10664,"children":10665},{"class":3428,"line":4494},[10666,10670,10674],{"type":3143,"tag":3426,"props":10667,"children":10668},{"style":3505},[10669],{"type":3148,"value":3883},{"type":3143,"tag":3426,"props":10671,"children":10672},{"style":3571},[10673],{"type":3148,"value":10364},{"type":3143,"tag":3426,"props":10675,"children":10676},{"style":3505},[10677],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":10679,"children":10680},{"class":3428,"line":4502},[10681,10685,10689],{"type":3143,"tag":3426,"props":10682,"children":10683},{"style":3505},[10684],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":10686,"children":10687},{"style":3571},[10688],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":10690,"children":10691},{"style":3505},[10692],{"type":3148,"value":3585},{"type":3143,"tag":3150,"props":10694,"children":10695},{},[10696,10698,10709],{"type":3148,"value":10697},"Take a look at the ",{"type":3143,"tag":3154,"props":10699,"children":10702},{"href":10700,"rel":10701},"https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils\u002Fblob\u002Fmain\u002Fplayground\u002Fcomponents\u002FWebAuthnModal.vue",[3158],[10703],{"type":3143,"tag":3288,"props":10704,"children":10706},{"className":10705},[],[10707],{"type":3148,"value":10708},"WebAuthnModal.vue",{"type":3148,"value":10710}," for a full example.",{"type":3143,"tag":5532,"props":10712,"children":10714},{"id":10713},"demo",[10715],{"type":3148,"value":10716},"Demo",{"type":3143,"tag":3150,"props":10718,"children":10719},{},[10720,10722,10728,10730,10737,10738,10745],{"type":3148,"value":10721},"A full demo can be found on ",{"type":3143,"tag":3154,"props":10723,"children":10726},{"href":10724,"rel":10725},"https:\u002F\u002Ftodo-passkeys.nuxt.dev",[3158],[10727],{"type":3148,"value":10724},{"type":3148,"value":10729}," using ",{"type":3143,"tag":3154,"props":10731,"children":10734},{"href":10732,"rel":10733},"https:\u002F\u002Form.drizzle.team\u002F",[3158],[10735],{"type":3148,"value":10736},"Drizzle ORM",{"type":3148,"value":6258},{"type":3143,"tag":3154,"props":10739,"children":10742},{"href":10740,"rel":10741},"https:\u002F\u002Fhub.nuxt.com",[3158],[10743],{"type":3148,"value":10744},"NuxtHub",{"type":3148,"value":3381},{"type":3143,"tag":3150,"props":10747,"children":10748},{},[10749,10751,10756],{"type":3148,"value":10750},"The source code of the demo is available on ",{"type":3143,"tag":3154,"props":10752,"children":10754},{"href":3228,"rel":10753},[3158],[10755],{"type":3148,"value":3228},{"type":3148,"value":3381},{"type":3143,"tag":3546,"props":10758,"children":10760},{"id":10759},"extend-session",[10761],{"type":3148,"value":10762},"Extend Session",{"type":3143,"tag":3150,"props":10764,"children":10765},{},[10766],{"type":3148,"value":10767},"We leverage hooks to let you extend the session data with your own data or log when the user clears the session.",{"type":3143,"tag":3416,"props":10769,"children":10771},{"className":4104,"code":10770,"language":4106,"meta":3016,"style":3016},"\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",[10772],{"type":3143,"tag":3288,"props":10773,"children":10774},{"__ignoreMap":3016},[10775,10783,10815,10823,10831,10902,10910,10918,10926,10938,10945,10953,11020,11028,11039],{"type":3143,"tag":3426,"props":10776,"children":10777},{"class":3428,"line":3102},[10778],{"type":3143,"tag":3426,"props":10779,"children":10780},{"style":3491},[10781],{"type":3148,"value":10782},"\u002F\u002F server\u002Fplugins\u002Fsession.ts\n",{"type":3143,"tag":3426,"props":10784,"children":10785},{"class":3428,"line":3068},[10786,10790,10794,10799,10803,10807,10811],{"type":3143,"tag":3426,"props":10787,"children":10788},{"style":4688},[10789],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":10791,"children":10792},{"style":4688},[10793],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":10795,"children":10796},{"style":3662},[10797],{"type":3148,"value":10798}," defineNitroPlugin",{"type":3143,"tag":3426,"props":10800,"children":10801},{"style":3500},[10802],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10804,"children":10805},{"style":3505},[10806],{"type":3148,"value":7933},{"type":3143,"tag":3426,"props":10808,"children":10809},{"style":3577},[10810],{"type":3148,"value":4394},{"type":3143,"tag":3426,"props":10812,"children":10813},{"style":3505},[10814],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":10816,"children":10817},{"class":3428,"line":3052},[10818],{"type":3143,"tag":3426,"props":10819,"children":10820},{"style":3491},[10821],{"type":3148,"value":10822},"  \u002F\u002F Called when the session is fetched during SSR for the Vue composable (\u002Fapi\u002F_auth\u002Fsession)\n",{"type":3143,"tag":3426,"props":10824,"children":10825},{"class":3428,"line":3689},[10826],{"type":3143,"tag":3426,"props":10827,"children":10828},{"style":3491},[10829],{"type":3148,"value":10830},"  \u002F\u002F Or when we call useUserSession().fetch()\n",{"type":3143,"tag":3426,"props":10832,"children":10833},{"class":3428,"line":3698},[10834,10839,10843,10848,10852,10856,10861,10865,10869,10874,10878,10882,10886,10890,10894,10898],{"type":3143,"tag":3426,"props":10835,"children":10836},{"style":3500},[10837],{"type":3148,"value":10838},"  sessionHooks",{"type":3143,"tag":3426,"props":10840,"children":10841},{"style":3505},[10842],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":10844,"children":10845},{"style":3662},[10846],{"type":3148,"value":10847},"hook",{"type":3143,"tag":3426,"props":10849,"children":10850},{"style":3571},[10851],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10853,"children":10854},{"style":3505},[10855],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":10857,"children":10858},{"style":3438},[10859],{"type":3148,"value":10860},"fetch",{"type":3143,"tag":3426,"props":10862,"children":10863},{"style":3505},[10864],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":10866,"children":10867},{"style":3505},[10868],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":10870,"children":10871},{"style":3577},[10872],{"type":3148,"value":10873}," async",{"type":3143,"tag":3426,"props":10875,"children":10876},{"style":3505},[10877],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":10879,"children":10880},{"style":4520},[10881],{"type":3148,"value":7703},{"type":3143,"tag":3426,"props":10883,"children":10884},{"style":3505},[10885],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":10887,"children":10888},{"style":4520},[10889],{"type":3148,"value":7618},{"type":3143,"tag":3426,"props":10891,"children":10892},{"style":3505},[10893],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":10895,"children":10896},{"style":3577},[10897],{"type":3148,"value":4394},{"type":3143,"tag":3426,"props":10899,"children":10900},{"style":3505},[10901],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":10903,"children":10904},{"class":3428,"line":3715},[10905],{"type":3143,"tag":3426,"props":10906,"children":10907},{"style":3491},[10908],{"type":3148,"value":10909},"    \u002F\u002F extend User Session by calling your database\n",{"type":3143,"tag":3426,"props":10911,"children":10912},{"class":3428,"line":3048},[10913],{"type":3143,"tag":3426,"props":10914,"children":10915},{"style":3491},[10916],{"type":3148,"value":10917},"    \u002F\u002F or\n",{"type":3143,"tag":3426,"props":10919,"children":10920},{"class":3428,"line":3044},[10921],{"type":3143,"tag":3426,"props":10922,"children":10923},{"style":3491},[10924],{"type":3148,"value":10925},"    \u002F\u002F throw createError({ ... }) if session is invalid for example\n",{"type":3143,"tag":3426,"props":10927,"children":10928},{"class":3428,"line":3040},[10929,10934],{"type":3143,"tag":3426,"props":10930,"children":10931},{"style":3505},[10932],{"type":3148,"value":10933},"  }",{"type":3143,"tag":3426,"props":10935,"children":10936},{"style":3571},[10937],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":10939,"children":10940},{"class":3428,"line":3877},[10941],{"type":3143,"tag":3426,"props":10942,"children":10943},{"emptyLinePlaceholder":1200},[10944],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":10946,"children":10947},{"class":3428,"line":3131},[10948],{"type":3143,"tag":3426,"props":10949,"children":10950},{"style":3491},[10951],{"type":3148,"value":10952},"  \u002F\u002F Called when we call useUserSession().clear() or clearUserSession(event)\n",{"type":3143,"tag":3426,"props":10954,"children":10955},{"class":3428,"line":3914},[10956,10960,10964,10968,10972,10976,10980,10984,10988,10992,10996,11000,11004,11008,11012,11016],{"type":3143,"tag":3426,"props":10957,"children":10958},{"style":3500},[10959],{"type":3148,"value":10838},{"type":3143,"tag":3426,"props":10961,"children":10962},{"style":3505},[10963],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":10965,"children":10966},{"style":3662},[10967],{"type":3148,"value":10847},{"type":3143,"tag":3426,"props":10969,"children":10970},{"style":3571},[10971],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":10973,"children":10974},{"style":3505},[10975],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":10977,"children":10978},{"style":3438},[10979],{"type":3148,"value":3849},{"type":3143,"tag":3426,"props":10981,"children":10982},{"style":3505},[10983],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":10985,"children":10986},{"style":3505},[10987],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":10989,"children":10990},{"style":3577},[10991],{"type":3148,"value":10873},{"type":3143,"tag":3426,"props":10993,"children":10994},{"style":3505},[10995],{"type":3148,"value":4517},{"type":3143,"tag":3426,"props":10997,"children":10998},{"style":4520},[10999],{"type":3148,"value":7703},{"type":3143,"tag":3426,"props":11001,"children":11002},{"style":3505},[11003],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":11005,"children":11006},{"style":4520},[11007],{"type":3148,"value":7618},{"type":3143,"tag":3426,"props":11009,"children":11010},{"style":3505},[11011],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":11013,"children":11014},{"style":3577},[11015],{"type":3148,"value":4394},{"type":3143,"tag":3426,"props":11017,"children":11018},{"style":3505},[11019],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":11021,"children":11022},{"class":3428,"line":3947},[11023],{"type":3143,"tag":3426,"props":11024,"children":11025},{"style":3491},[11026],{"type":3148,"value":11027},"    \u002F\u002F Log that user logged out\n",{"type":3143,"tag":3426,"props":11029,"children":11030},{"class":3428,"line":4002},[11031,11035],{"type":3143,"tag":3426,"props":11032,"children":11033},{"style":3505},[11034],{"type":3148,"value":10933},{"type":3143,"tag":3426,"props":11036,"children":11037},{"style":3571},[11038],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":11040,"children":11041},{"class":3428,"line":4011},[11042,11046],{"type":3143,"tag":3426,"props":11043,"children":11044},{"style":3505},[11045],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":11047,"children":11048},{"style":3500},[11049],{"type":3148,"value":4868},{"type":3143,"tag":3234,"props":11051,"children":11053},{"id":11052},"server-side-rendering",[11054],{"type":3148,"value":11055},"Server-Side Rendering",{"type":3143,"tag":3150,"props":11057,"children":11058},{},[11059,11061,11067,11069],{"type":3148,"value":11060},"You can make authenticated requests both from the client and the server. However, you must use ",{"type":3143,"tag":3288,"props":11062,"children":11064},{"className":11063},[],[11065],{"type":3148,"value":11066},"useRequestFetch()",{"type":3148,"value":11068}," to make authenticated requests during SSR if you are not using ",{"type":3143,"tag":3288,"props":11070,"children":11072},{"className":11071},[],[11073],{"type":3148,"value":11074},"useFetch()",{"type":3143,"tag":3416,"props":11076,"children":11078},{"className":3554,"code":11077,"language":3556,"meta":3016,"style":3016},"\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",[11079],{"type":3143,"tag":3288,"props":11080,"children":11081},{"__ignoreMap":3016},[11082,11121,11129,11219,11226,11234,11286],{"type":3143,"tag":3426,"props":11083,"children":11084},{"class":3428,"line":3102},[11085,11089,11093,11097,11101,11105,11109,11113,11117],{"type":3143,"tag":3426,"props":11086,"children":11087},{"style":3505},[11088],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":11090,"children":11091},{"style":3571},[11092],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":11094,"children":11095},{"style":3577},[11096],{"type":3148,"value":3580},{"type":3143,"tag":3426,"props":11098,"children":11099},{"style":3577},[11100],{"type":3148,"value":9880},{"type":3143,"tag":3426,"props":11102,"children":11103},{"style":3505},[11104],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":11106,"children":11107},{"style":3505},[11108],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11110,"children":11111},{"style":3438},[11112],{"type":3148,"value":4106},{"type":3143,"tag":3426,"props":11114,"children":11115},{"style":3505},[11116],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11118,"children":11119},{"style":3505},[11120],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11122,"children":11123},{"class":3428,"line":3068},[11124],{"type":3143,"tag":3426,"props":11125,"children":11126},{"style":3491},[11127],{"type":3148,"value":11128},"\u002F\u002F When using useAsyncData\n",{"type":3143,"tag":3426,"props":11130,"children":11131},{"class":3428,"line":3052},[11132,11136,11140,11145,11149,11153,11157,11162,11166,11170,11175,11179,11183,11187,11191,11196,11201,11205,11210,11214],{"type":3143,"tag":3426,"props":11133,"children":11134},{"style":3577},[11135],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":11137,"children":11138},{"style":3505},[11139],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":11141,"children":11142},{"style":3500},[11143],{"type":3148,"value":11144}," data ",{"type":3143,"tag":3426,"props":11146,"children":11147},{"style":3505},[11148],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":11150,"children":11151},{"style":3505},[11152],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":11154,"children":11155},{"style":4688},[11156],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":11158,"children":11159},{"style":3662},[11160],{"type":3148,"value":11161}," useAsyncData",{"type":3143,"tag":3426,"props":11163,"children":11164},{"style":3500},[11165],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":11167,"children":11168},{"style":3505},[11169],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":11171,"children":11172},{"style":3438},[11173],{"type":3148,"value":11174},"team",{"type":3143,"tag":3426,"props":11176,"children":11177},{"style":3505},[11178],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":11180,"children":11181},{"style":3505},[11182],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":11184,"children":11185},{"style":3505},[11186],{"type":3148,"value":4389},{"type":3143,"tag":3426,"props":11188,"children":11189},{"style":3577},[11190],{"type":3148,"value":4394},{"type":3143,"tag":3426,"props":11192,"children":11193},{"style":3662},[11194],{"type":3148,"value":11195}," useRequestFetch",{"type":3143,"tag":3426,"props":11197,"children":11198},{"style":3500},[11199],{"type":3148,"value":11200},"()(",{"type":3143,"tag":3426,"props":11202,"children":11203},{"style":3505},[11204],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":11206,"children":11207},{"style":3438},[11208],{"type":3148,"value":11209},"\u002Fapi\u002Fprotected-endpoint",{"type":3143,"tag":3426,"props":11211,"children":11212},{"style":3505},[11213],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":11215,"children":11216},{"style":3500},[11217],{"type":3148,"value":11218},"))\n",{"type":3143,"tag":3426,"props":11220,"children":11221},{"class":3428,"line":3689},[11222],{"type":3143,"tag":3426,"props":11223,"children":11224},{"emptyLinePlaceholder":1200},[11225],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":11227,"children":11228},{"class":3428,"line":3698},[11229],{"type":3143,"tag":3426,"props":11230,"children":11231},{"style":3491},[11232],{"type":3148,"value":11233},"\u002F\u002F useFetch will automatically use useRequestFetch during SSR\n",{"type":3143,"tag":3426,"props":11235,"children":11236},{"class":3428,"line":3715},[11237,11241,11245,11249,11253,11257,11261,11266,11270,11274,11278,11282],{"type":3143,"tag":3426,"props":11238,"children":11239},{"style":3577},[11240],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":11242,"children":11243},{"style":3505},[11244],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":11246,"children":11247},{"style":3500},[11248],{"type":3148,"value":11144},{"type":3143,"tag":3426,"props":11250,"children":11251},{"style":3505},[11252],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":11254,"children":11255},{"style":3505},[11256],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":11258,"children":11259},{"style":4688},[11260],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":11262,"children":11263},{"style":3662},[11264],{"type":3148,"value":11265}," useFetch",{"type":3143,"tag":3426,"props":11267,"children":11268},{"style":3500},[11269],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":11271,"children":11272},{"style":3505},[11273],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":11275,"children":11276},{"style":3438},[11277],{"type":3148,"value":11209},{"type":3143,"tag":3426,"props":11279,"children":11280},{"style":3505},[11281],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":11283,"children":11284},{"style":3500},[11285],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":11287,"children":11288},{"class":3428,"line":3048},[11289,11293,11297],{"type":3143,"tag":3426,"props":11290,"children":11291},{"style":3505},[11292],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":11294,"children":11295},{"style":3571},[11296],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":11298,"children":11299},{"style":3505},[11300],{"type":3148,"value":3585},{"type":3143,"tag":4606,"props":11302,"children":11303},{},[11304],{"type":3143,"tag":3150,"props":11305,"children":11306},{},[11307,11309,11316,11318,11323],{"type":3148,"value":11308},"There's ",{"type":3143,"tag":3154,"props":11310,"children":11313},{"href":11311,"rel":11312},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fissues\u002F24813",[3158],[11314],{"type":3148,"value":11315},"an open issue",{"type":3148,"value":11317}," to include credentials in ",{"type":3143,"tag":3288,"props":11319,"children":11321},{"className":11320},[],[11322],{"type":3148,"value":634},{"type":3148,"value":11324}," in Nuxt.",{"type":3143,"tag":3234,"props":11326,"children":11328},{"id":11327},"hybrid-rendering",[11329],{"type":3148,"value":3250},{"type":3143,"tag":3150,"props":11331,"children":11332},{},[11333,11335,11348],{"type":3148,"value":11334},"When using ",{"type":3143,"tag":3154,"props":11336,"children":11339},{"href":11337,"rel":11338},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fguide\u002Fconcepts\u002Frendering#hybrid-rendering",[3158],[11340,11342],{"type":3148,"value":11341},"Nuxt ",{"type":3143,"tag":3288,"props":11343,"children":11345},{"className":11344},[],[11346],{"type":3148,"value":11347},"routeRules",{"type":3148,"value":11349}," 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":3143,"tag":3150,"props":11351,"children":11352},{},[11353],{"type":3148,"value":11354},"This is because the user session is stored in a secure cookie and cannot be accessed during prerendering.",{"type":3143,"tag":3150,"props":11356,"children":11357},{},[11358],{"type":3143,"tag":4097,"props":11359,"children":11360},{},[11361],{"type":3148,"value":11362},"This means that you should not rely on the user session during prerendering.",{"type":3143,"tag":3150,"props":11364,"children":11365},{},[11366,11368,11374,11376,11381],{"type":3148,"value":11367},"You may also choose to instruct Nuxt Auth Utils to fetch the user session only on the client side, with the ",{"type":3143,"tag":3288,"props":11369,"children":11371},{"className":11370},[],[11372],{"type":3148,"value":11373},"loadStrategy",{"type":3148,"value":11375}," option in your ",{"type":3143,"tag":3288,"props":11377,"children":11379},{"className":11378},[],[11380],{"type":3148,"value":233},{"type":3148,"value":4165},{"type":3143,"tag":3416,"props":11383,"children":11385},{"className":4104,"code":11384,"language":4106,"meta":3016,"style":3016},"export default defineNuxtConfig({\n  auth: {\n    loadStrategy: 'client-only'\n  }\n})\n",[11386],{"type":3143,"tag":3288,"props":11387,"children":11388},{"__ignoreMap":3016},[11389,11412,11427,11452,11459],{"type":3143,"tag":3426,"props":11390,"children":11391},{"class":3428,"line":3102},[11392,11396,11400,11404,11408],{"type":3143,"tag":3426,"props":11393,"children":11394},{"style":4688},[11395],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":11397,"children":11398},{"style":4688},[11399],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":11401,"children":11402},{"style":3662},[11403],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":11405,"children":11406},{"style":3500},[11407],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":11409,"children":11410},{"style":3505},[11411],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":11413,"children":11414},{"class":3428,"line":3068},[11415,11419,11423],{"type":3143,"tag":3426,"props":11416,"children":11417},{"style":3571},[11418],{"type":3148,"value":6612},{"type":3143,"tag":3426,"props":11420,"children":11421},{"style":3505},[11422],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":11424,"children":11425},{"style":3505},[11426],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":11428,"children":11429},{"class":3428,"line":3052},[11430,11435,11439,11443,11448],{"type":3143,"tag":3426,"props":11431,"children":11432},{"style":3571},[11433],{"type":3148,"value":11434},"    loadStrategy",{"type":3143,"tag":3426,"props":11436,"children":11437},{"style":3505},[11438],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":11440,"children":11441},{"style":3505},[11442],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":11444,"children":11445},{"style":3438},[11446],{"type":3148,"value":11447},"client-only",{"type":3143,"tag":3426,"props":11449,"children":11450},{"style":3505},[11451],{"type":3148,"value":4758},{"type":3143,"tag":3426,"props":11453,"children":11454},{"class":3428,"line":3689},[11455],{"type":3143,"tag":3426,"props":11456,"children":11457},{"style":3505},[11458],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":11460,"children":11461},{"class":3428,"line":3698},[11462,11466],{"type":3143,"tag":3426,"props":11463,"children":11464},{"style":3505},[11465],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":11467,"children":11468},{"style":3500},[11469],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":11471,"children":11472},{},[11473,11475,11480,11482,11487,11488,11494],{"type":3148,"value":11474},"When using the ",{"type":3143,"tag":3288,"props":11476,"children":11478},{"className":11477},[],[11479],{"type":3148,"value":11447},{"type":3148,"value":11481}," load strategy, the user session can still be manually fetched on the server side by calling ",{"type":3143,"tag":3288,"props":11483,"children":11485},{"className":11484},[],[11486],{"type":3148,"value":10860},{"type":3148,"value":7373},{"type":3143,"tag":3288,"props":11489,"children":11491},{"className":11490},[],[11492],{"type":3148,"value":11493},"useUserSession",{"type":3148,"value":11495}," composable.",{"type":3143,"tag":3546,"props":11497,"children":11499},{"id":11498},"disable-session-loading",[11500],{"type":3148,"value":11501},"Disable session loading",{"type":3143,"tag":3150,"props":11503,"children":11504},{},[11505,11507,11512,11513,11518],{"type":3148,"value":11506},"You may also choose to disable session loading entirely, with the ",{"type":3143,"tag":3288,"props":11508,"children":11510},{"className":11509},[],[11511],{"type":3148,"value":11373},{"type":3148,"value":11375},{"type":3143,"tag":3288,"props":11514,"children":11516},{"className":11515},[],[11517],{"type":3148,"value":233},{"type":3148,"value":4165},{"type":3143,"tag":3416,"props":11520,"children":11522},{"className":4104,"code":11521,"language":4106,"meta":3016,"style":3016},"export default defineNuxtConfig({\n  auth: {\n    loadStrategy: 'none'\n  }\n})\n",[11523],{"type":3143,"tag":3288,"props":11524,"children":11525},{"__ignoreMap":3016},[11526,11549,11564,11588,11595],{"type":3143,"tag":3426,"props":11527,"children":11528},{"class":3428,"line":3102},[11529,11533,11537,11541,11545],{"type":3143,"tag":3426,"props":11530,"children":11531},{"style":4688},[11532],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":11534,"children":11535},{"style":4688},[11536],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":11538,"children":11539},{"style":3662},[11540],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":11542,"children":11543},{"style":3500},[11544],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":11546,"children":11547},{"style":3505},[11548],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":11550,"children":11551},{"class":3428,"line":3068},[11552,11556,11560],{"type":3143,"tag":3426,"props":11553,"children":11554},{"style":3571},[11555],{"type":3148,"value":6612},{"type":3143,"tag":3426,"props":11557,"children":11558},{"style":3505},[11559],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":11561,"children":11562},{"style":3505},[11563],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":11565,"children":11566},{"class":3428,"line":3052},[11567,11571,11575,11579,11584],{"type":3143,"tag":3426,"props":11568,"children":11569},{"style":3571},[11570],{"type":3148,"value":11434},{"type":3143,"tag":3426,"props":11572,"children":11573},{"style":3505},[11574],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":11576,"children":11577},{"style":3505},[11578],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":11580,"children":11581},{"style":3438},[11582],{"type":3148,"value":11583},"none",{"type":3143,"tag":3426,"props":11585,"children":11586},{"style":3505},[11587],{"type":3148,"value":4758},{"type":3143,"tag":3426,"props":11589,"children":11590},{"class":3428,"line":3689},[11591],{"type":3143,"tag":3426,"props":11592,"children":11593},{"style":3505},[11594],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":11596,"children":11597},{"class":3428,"line":3698},[11598,11602],{"type":3143,"tag":3426,"props":11599,"children":11600},{"style":3505},[11601],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":11603,"children":11604},{"style":3500},[11605],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":11607,"children":11608},{},[11609,11610,11615,11617,11623],{"type":3148,"value":11474},{"type":3143,"tag":3288,"props":11611,"children":11613},{"className":11612},[],[11614],{"type":3148,"value":11583},{"type":3148,"value":11616}," load strategy, the user session can still be manually fetched by calling ",{"type":3143,"tag":3288,"props":11618,"children":11620},{"className":11619},[],[11621],{"type":3148,"value":11622},"useUserSession().fetch()",{"type":3148,"value":3381},{"type":3143,"tag":3546,"props":11625,"children":11627},{"id":11626},"authstate-component",[11628,11633],{"type":3143,"tag":3288,"props":11629,"children":11631},{"className":11630},[],[11632],{"type":3148,"value":3317},{"type":3148,"value":3319},{"type":3143,"tag":3150,"props":11635,"children":11636},{},[11637,11639,11644],{"type":3148,"value":11638},"You can use the ",{"type":3143,"tag":3288,"props":11640,"children":11642},{"className":11641},[],[11643],{"type":3148,"value":3317},{"type":3148,"value":11645}," component to safely display auth-related data in your components without worrying about the rendering mode.",{"type":3143,"tag":3150,"props":11647,"children":11648},{},[11649],{"type":3148,"value":11650},"One common use case if the Login button in the header:",{"type":3143,"tag":3416,"props":11652,"children":11654},{"className":3554,"code":11653,"language":3556,"meta":3016,"style":3016},"\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",[11655],{"type":3143,"tag":3288,"props":11656,"children":11657},{"__ignoreMap":3016},[11658,11673,11689,11727,11799,11858,11874,11889],{"type":3143,"tag":3426,"props":11659,"children":11660},{"class":3428,"line":3102},[11661,11665,11669],{"type":3143,"tag":3426,"props":11662,"children":11663},{"style":3505},[11664],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":11666,"children":11667},{"style":3571},[11668],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":11670,"children":11671},{"style":3505},[11672],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11674,"children":11675},{"class":3428,"line":3068},[11676,11680,11685],{"type":3143,"tag":3426,"props":11677,"children":11678},{"style":3505},[11679],{"type":3148,"value":3721},{"type":3143,"tag":3426,"props":11681,"children":11682},{"style":3571},[11683],{"type":3148,"value":11684},"header",{"type":3143,"tag":3426,"props":11686,"children":11687},{"style":3505},[11688],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11690,"children":11691},{"class":3428,"line":3052},[11692,11696,11701,11706,11710,11714,11719,11723],{"type":3143,"tag":3426,"props":11693,"children":11694},{"style":3505},[11695],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":11697,"children":11698},{"style":3571},[11699],{"type":3148,"value":11700},"AuthState",{"type":3143,"tag":3426,"props":11702,"children":11703},{"style":3577},[11704],{"type":3148,"value":11705}," v-slot",{"type":3143,"tag":3426,"props":11707,"children":11708},{"style":3505},[11709],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":11711,"children":11712},{"style":3505},[11713],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11715,"children":11716},{"style":3438},[11717],{"type":3148,"value":11718},"{ loggedIn, clear }",{"type":3143,"tag":3426,"props":11720,"children":11721},{"style":3505},[11722],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11724,"children":11725},{"style":3505},[11726],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11728,"children":11729},{"class":3428,"line":3689},[11730,11735,11739,11743,11747,11751,11755,11759,11763,11767,11771,11775,11779,11783,11787,11791,11795],{"type":3143,"tag":3426,"props":11731,"children":11732},{"style":3505},[11733],{"type":3148,"value":11734},"      \u003C",{"type":3143,"tag":3426,"props":11736,"children":11737},{"style":3571},[11738],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":11740,"children":11741},{"style":3577},[11742],{"type":3148,"value":3731},{"type":3143,"tag":3426,"props":11744,"children":11745},{"style":3505},[11746],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":11748,"children":11749},{"style":3505},[11750],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11752,"children":11753},{"style":3438},[11754],{"type":3148,"value":3745},{"type":3143,"tag":3426,"props":11756,"children":11757},{"style":3505},[11758],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11760,"children":11761},{"style":3577},[11762],{"type":3148,"value":3836},{"type":3143,"tag":3426,"props":11764,"children":11765},{"style":3505},[11766],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":11768,"children":11769},{"style":3505},[11770],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11772,"children":11773},{"style":3438},[11774],{"type":3148,"value":3849},{"type":3143,"tag":3426,"props":11776,"children":11777},{"style":3505},[11778],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11780,"children":11781},{"style":3505},[11782],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":11784,"children":11785},{"style":3500},[11786],{"type":3148,"value":3862},{"type":3143,"tag":3426,"props":11788,"children":11789},{"style":3505},[11790],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":11792,"children":11793},{"style":3571},[11794],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":11796,"children":11797},{"style":3505},[11798],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11800,"children":11801},{"class":3428,"line":3698},[11802,11806,11811,11815,11820,11824,11828,11833,11837,11841,11846,11850,11854],{"type":3143,"tag":3426,"props":11803,"children":11804},{"style":3505},[11805],{"type":3148,"value":11734},{"type":3143,"tag":3426,"props":11807,"children":11808},{"style":3571},[11809],{"type":3148,"value":11810},"NuxtLink",{"type":3143,"tag":3426,"props":11812,"children":11813},{"style":3577},[11814],{"type":3148,"value":3907},{"type":3143,"tag":3426,"props":11816,"children":11817},{"style":3577},[11818],{"type":3148,"value":11819}," to",{"type":3143,"tag":3426,"props":11821,"children":11822},{"style":3505},[11823],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":11825,"children":11826},{"style":3505},[11827],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11829,"children":11830},{"style":3438},[11831],{"type":3148,"value":11832},"\u002Flogin",{"type":3143,"tag":3426,"props":11834,"children":11835},{"style":3505},[11836],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":11838,"children":11839},{"style":3505},[11840],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":11842,"children":11843},{"style":3500},[11844],{"type":3148,"value":11845},"Login",{"type":3143,"tag":3426,"props":11847,"children":11848},{"style":3505},[11849],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":11851,"children":11852},{"style":3571},[11853],{"type":3148,"value":11810},{"type":3143,"tag":3426,"props":11855,"children":11856},{"style":3505},[11857],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11859,"children":11860},{"class":3428,"line":3715},[11861,11866,11870],{"type":3143,"tag":3426,"props":11862,"children":11863},{"style":3505},[11864],{"type":3148,"value":11865},"    \u003C\u002F",{"type":3143,"tag":3426,"props":11867,"children":11868},{"style":3571},[11869],{"type":3148,"value":11700},{"type":3143,"tag":3426,"props":11871,"children":11872},{"style":3505},[11873],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11875,"children":11876},{"class":3428,"line":3048},[11877,11881,11885],{"type":3143,"tag":3426,"props":11878,"children":11879},{"style":3505},[11880],{"type":3148,"value":3883},{"type":3143,"tag":3426,"props":11882,"children":11883},{"style":3571},[11884],{"type":3148,"value":11684},{"type":3143,"tag":3426,"props":11886,"children":11887},{"style":3505},[11888],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11890,"children":11891},{"class":3428,"line":3044},[11892,11896,11900],{"type":3143,"tag":3426,"props":11893,"children":11894},{"style":3505},[11895],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":11897,"children":11898},{"style":3571},[11899],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":11901,"children":11902},{"style":3505},[11903],{"type":3148,"value":3585},{"type":3143,"tag":3150,"props":11905,"children":11906},{},[11907,11909,11914],{"type":3148,"value":11908},"If the page is cached or prerendered or the load strategy set as ",{"type":3143,"tag":3288,"props":11910,"children":11912},{"className":11911},[],[11913],{"type":3148,"value":11447},{"type":3148,"value":11915},", nothing will be rendered until the user session is fetched on the client-side.",{"type":3143,"tag":3150,"props":11917,"children":11918},{},[11919,11920,11926],{"type":3148,"value":11638},{"type":3143,"tag":3288,"props":11921,"children":11923},{"className":11922},[],[11924],{"type":3148,"value":11925},"placeholder",{"type":3148,"value":11927}," slot to show a placeholder on server-side and while the user session is being fetched on client-side for the prerendered pages:",{"type":3143,"tag":3416,"props":11929,"children":11931},{"className":3554,"code":11930,"language":3556,"meta":3016,"style":3016},"\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",[11932],{"type":3143,"tag":3288,"props":11933,"children":11934},{"__ignoreMap":3016},[11935,11950,11965,11980,12038,12110,12165,12181,12204,12241,12256,12271,12286],{"type":3143,"tag":3426,"props":11936,"children":11937},{"class":3428,"line":3102},[11938,11942,11946],{"type":3143,"tag":3426,"props":11939,"children":11940},{"style":3505},[11941],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":11943,"children":11944},{"style":3571},[11945],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":11947,"children":11948},{"style":3505},[11949],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11951,"children":11952},{"class":3428,"line":3068},[11953,11957,11961],{"type":3143,"tag":3426,"props":11954,"children":11955},{"style":3505},[11956],{"type":3148,"value":3721},{"type":3143,"tag":3426,"props":11958,"children":11959},{"style":3571},[11960],{"type":3148,"value":11684},{"type":3143,"tag":3426,"props":11962,"children":11963},{"style":3505},[11964],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11966,"children":11967},{"class":3428,"line":3052},[11968,11972,11976],{"type":3143,"tag":3426,"props":11969,"children":11970},{"style":3505},[11971],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":11973,"children":11974},{"style":3571},[11975],{"type":3148,"value":11700},{"type":3143,"tag":3426,"props":11977,"children":11978},{"style":3505},[11979],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":11981,"children":11982},{"class":3428,"line":3689},[11983,11987,11991,11996,12001,12005,12009,12013,12017,12021,12026,12030,12034],{"type":3143,"tag":3426,"props":11984,"children":11985},{"style":3505},[11986],{"type":3148,"value":11734},{"type":3143,"tag":3426,"props":11988,"children":11989},{"style":3571},[11990],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":11992,"children":11993},{"style":3505},[11994],{"type":3148,"value":11995}," #",{"type":3143,"tag":3426,"props":11997,"children":11998},{"style":3577},[11999],{"type":3148,"value":12000},"default",{"type":3143,"tag":3426,"props":12002,"children":12003},{"style":3505},[12004],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":12006,"children":12007},{"style":3505},[12008],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12010,"children":12011},{"style":3505},[12012],{"type":3148,"value":7797},{"type":3143,"tag":3426,"props":12014,"children":12015},{"style":3500},[12016],{"type":3148,"value":3603},{"type":3143,"tag":3426,"props":12018,"children":12019},{"style":3505},[12020],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12022,"children":12023},{"style":3500},[12024],{"type":3148,"value":12025}," clear ",{"type":3143,"tag":3426,"props":12027,"children":12028},{"style":3505},[12029],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":12031,"children":12032},{"style":3505},[12033],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12035,"children":12036},{"style":3505},[12037],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12039,"children":12040},{"class":3428,"line":3698},[12041,12046,12050,12054,12058,12062,12066,12070,12074,12078,12082,12086,12090,12094,12098,12102,12106],{"type":3143,"tag":3426,"props":12042,"children":12043},{"style":3505},[12044],{"type":3148,"value":12045},"        \u003C",{"type":3143,"tag":3426,"props":12047,"children":12048},{"style":3571},[12049],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":12051,"children":12052},{"style":3577},[12053],{"type":3148,"value":3731},{"type":3143,"tag":3426,"props":12055,"children":12056},{"style":3505},[12057],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":12059,"children":12060},{"style":3505},[12061],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12063,"children":12064},{"style":3438},[12065],{"type":3148,"value":3745},{"type":3143,"tag":3426,"props":12067,"children":12068},{"style":3505},[12069],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12071,"children":12072},{"style":3577},[12073],{"type":3148,"value":3836},{"type":3143,"tag":3426,"props":12075,"children":12076},{"style":3505},[12077],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":12079,"children":12080},{"style":3505},[12081],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12083,"children":12084},{"style":3438},[12085],{"type":3148,"value":3849},{"type":3143,"tag":3426,"props":12087,"children":12088},{"style":3505},[12089],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12091,"children":12092},{"style":3505},[12093],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":12095,"children":12096},{"style":3500},[12097],{"type":3148,"value":3862},{"type":3143,"tag":3426,"props":12099,"children":12100},{"style":3505},[12101],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":12103,"children":12104},{"style":3571},[12105],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":12107,"children":12108},{"style":3505},[12109],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12111,"children":12112},{"class":3428,"line":3715},[12113,12117,12121,12125,12129,12133,12137,12141,12145,12149,12153,12157,12161],{"type":3143,"tag":3426,"props":12114,"children":12115},{"style":3505},[12116],{"type":3148,"value":12045},{"type":3143,"tag":3426,"props":12118,"children":12119},{"style":3571},[12120],{"type":3148,"value":11810},{"type":3143,"tag":3426,"props":12122,"children":12123},{"style":3577},[12124],{"type":3148,"value":3907},{"type":3143,"tag":3426,"props":12126,"children":12127},{"style":3577},[12128],{"type":3148,"value":11819},{"type":3143,"tag":3426,"props":12130,"children":12131},{"style":3505},[12132],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":12134,"children":12135},{"style":3505},[12136],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12138,"children":12139},{"style":3438},[12140],{"type":3148,"value":11832},{"type":3143,"tag":3426,"props":12142,"children":12143},{"style":3505},[12144],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":12146,"children":12147},{"style":3505},[12148],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":12150,"children":12151},{"style":3500},[12152],{"type":3148,"value":11845},{"type":3143,"tag":3426,"props":12154,"children":12155},{"style":3505},[12156],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":12158,"children":12159},{"style":3571},[12160],{"type":3148,"value":11810},{"type":3143,"tag":3426,"props":12162,"children":12163},{"style":3505},[12164],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12166,"children":12167},{"class":3428,"line":3048},[12168,12173,12177],{"type":3143,"tag":3426,"props":12169,"children":12170},{"style":3505},[12171],{"type":3148,"value":12172},"      \u003C\u002F",{"type":3143,"tag":3426,"props":12174,"children":12175},{"style":3571},[12176],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":12178,"children":12179},{"style":3505},[12180],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12182,"children":12183},{"class":3428,"line":3044},[12184,12188,12192,12196,12200],{"type":3143,"tag":3426,"props":12185,"children":12186},{"style":3505},[12187],{"type":3148,"value":11734},{"type":3143,"tag":3426,"props":12189,"children":12190},{"style":3571},[12191],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":12193,"children":12194},{"style":3505},[12195],{"type":3148,"value":11995},{"type":3143,"tag":3426,"props":12197,"children":12198},{"style":3577},[12199],{"type":3148,"value":11925},{"type":3143,"tag":3426,"props":12201,"children":12202},{"style":3505},[12203],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12205,"children":12206},{"class":3428,"line":3040},[12207,12211,12215,12220,12224,12229,12233,12237],{"type":3143,"tag":3426,"props":12208,"children":12209},{"style":3505},[12210],{"type":3148,"value":12045},{"type":3143,"tag":3426,"props":12212,"children":12213},{"style":3571},[12214],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":12216,"children":12217},{"style":3577},[12218],{"type":3148,"value":12219}," disabled",{"type":3143,"tag":3426,"props":12221,"children":12222},{"style":3505},[12223],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":12225,"children":12226},{"style":3500},[12227],{"type":3148,"value":12228},"Loading...",{"type":3143,"tag":3426,"props":12230,"children":12231},{"style":3505},[12232],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":12234,"children":12235},{"style":3571},[12236],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":12238,"children":12239},{"style":3505},[12240],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12242,"children":12243},{"class":3428,"line":3877},[12244,12248,12252],{"type":3143,"tag":3426,"props":12245,"children":12246},{"style":3505},[12247],{"type":3148,"value":12172},{"type":3143,"tag":3426,"props":12249,"children":12250},{"style":3571},[12251],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":12253,"children":12254},{"style":3505},[12255],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12257,"children":12258},{"class":3428,"line":3131},[12259,12263,12267],{"type":3143,"tag":3426,"props":12260,"children":12261},{"style":3505},[12262],{"type":3148,"value":11865},{"type":3143,"tag":3426,"props":12264,"children":12265},{"style":3571},[12266],{"type":3148,"value":11700},{"type":3143,"tag":3426,"props":12268,"children":12269},{"style":3505},[12270],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12272,"children":12273},{"class":3428,"line":3914},[12274,12278,12282],{"type":3143,"tag":3426,"props":12275,"children":12276},{"style":3505},[12277],{"type":3148,"value":3883},{"type":3143,"tag":3426,"props":12279,"children":12280},{"style":3571},[12281],{"type":3148,"value":11684},{"type":3143,"tag":3426,"props":12283,"children":12284},{"style":3505},[12285],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12287,"children":12288},{"class":3428,"line":3947},[12289,12293,12297],{"type":3143,"tag":3426,"props":12290,"children":12291},{"style":3505},[12292],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":12294,"children":12295},{"style":3571},[12296],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":12298,"children":12299},{"style":3505},[12300],{"type":3148,"value":3585},{"type":3143,"tag":3150,"props":12302,"children":12303},{},[12304,12306,12311,12313,12319,12321,12327],{"type":3148,"value":12305},"If you are caching your routes with ",{"type":3143,"tag":3288,"props":12307,"children":12309},{"className":12308},[],[12310],{"type":3148,"value":11347},{"type":3148,"value":12312},", please make sure to use ",{"type":3143,"tag":3154,"props":12314,"children":12317},{"href":12315,"rel":12316},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fnitro",[3158],[12318],{"type":3148,"value":837},{"type":3148,"value":12320}," >= ",{"type":3143,"tag":3288,"props":12322,"children":12324},{"className":12323},[],[12325],{"type":3148,"value":12326},"2.9.7",{"type":3148,"value":12328}," to support the client-side fetching of the user session.",{"type":3143,"tag":3234,"props":12330,"children":12332},{"id":12331},"websocket-support",[12333],{"type":3148,"value":12334},"WebSocket Support",{"type":3143,"tag":3150,"props":12336,"children":12337},{},[12338,12340,12347],{"type":3148,"value":12339},"Nuxt Auth Utils is compatible with ",{"type":3143,"tag":3154,"props":12341,"children":12344},{"href":12342,"rel":12343},"https:\u002F\u002Fnitro.build\u002Fguide\u002Fwebsocket",[3158],[12345],{"type":3148,"value":12346},"Nitro WebSockets",{"type":3148,"value":3381},{"type":3143,"tag":3150,"props":12349,"children":12350},{},[12351,12353,12359,12360,12365],{"type":3148,"value":12352},"Make sure to enable the ",{"type":3143,"tag":3288,"props":12354,"children":12356},{"className":12355},[],[12357],{"type":3148,"value":12358},"experimental.websocket",{"type":3148,"value":11375},{"type":3143,"tag":3288,"props":12361,"children":12363},{"className":12362},[],[12364],{"type":3148,"value":233},{"type":3148,"value":4165},{"type":3143,"tag":3416,"props":12367,"children":12369},{"className":4104,"code":12368,"language":4106,"meta":3016,"style":3016},"export default defineNuxtConfig({\n  nitro: {\n    experimental: {\n      websocket: true\n    }\n  }\n})\n",[12370],{"type":3143,"tag":3288,"props":12371,"children":12372},{"__ignoreMap":3016},[12373,12396,12412,12428,12444,12451,12458],{"type":3143,"tag":3426,"props":12374,"children":12375},{"class":3428,"line":3102},[12376,12380,12384,12388,12392],{"type":3143,"tag":3426,"props":12377,"children":12378},{"style":4688},[12379],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":12381,"children":12382},{"style":4688},[12383],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":12385,"children":12386},{"style":3662},[12387],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":12389,"children":12390},{"style":3500},[12391],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12393,"children":12394},{"style":3505},[12395],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":12397,"children":12398},{"class":3428,"line":3068},[12399,12404,12408],{"type":3143,"tag":3426,"props":12400,"children":12401},{"style":3571},[12402],{"type":3148,"value":12403},"  nitro",{"type":3143,"tag":3426,"props":12405,"children":12406},{"style":3505},[12407],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":12409,"children":12410},{"style":3505},[12411],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":12413,"children":12414},{"class":3428,"line":3052},[12415,12420,12424],{"type":3143,"tag":3426,"props":12416,"children":12417},{"style":3571},[12418],{"type":3148,"value":12419},"    experimental",{"type":3143,"tag":3426,"props":12421,"children":12422},{"style":3505},[12423],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":12425,"children":12426},{"style":3505},[12427],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":12429,"children":12430},{"class":3428,"line":3689},[12431,12436,12440],{"type":3143,"tag":3426,"props":12432,"children":12433},{"style":3571},[12434],{"type":3148,"value":12435},"      websocket",{"type":3143,"tag":3426,"props":12437,"children":12438},{"style":3505},[12439],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":12441,"children":12442},{"style":5872},[12443],{"type":3148,"value":5875},{"type":3143,"tag":3426,"props":12445,"children":12446},{"class":3428,"line":3698},[12447],{"type":3143,"tag":3426,"props":12448,"children":12449},{"style":3505},[12450],{"type":3148,"value":5478},{"type":3143,"tag":3426,"props":12452,"children":12453},{"class":3428,"line":3715},[12454],{"type":3143,"tag":3426,"props":12455,"children":12456},{"style":3505},[12457],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":12459,"children":12460},{"class":3428,"line":3048},[12461,12465],{"type":3143,"tag":3426,"props":12462,"children":12463},{"style":3505},[12464],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":12466,"children":12467},{"style":3500},[12468],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":12470,"children":12471},{},[12472,12473,12479,12481,12487],{"type":3148,"value":11638},{"type":3143,"tag":3288,"props":12474,"children":12476},{"className":12475},[],[12477],{"type":3148,"value":12478},"requireUserSession",{"type":3148,"value":12480}," function in the ",{"type":3143,"tag":3288,"props":12482,"children":12484},{"className":12483},[],[12485],{"type":3148,"value":12486},"upgrade",{"type":3148,"value":12488}," function to check if the user is authenticated before upgrading the WebSocket connection.",{"type":3143,"tag":3416,"props":12490,"children":12492},{"className":4104,"code":12491,"language":4106,"meta":3016,"style":3016},"\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",[12493],{"type":3143,"tag":3288,"props":12494,"children":12495},{"__ignoreMap":3016},[12496,12504,12528,12557,12565,12588,12595,12624,12667,12674,12737,12744,12776,12821,12828],{"type":3143,"tag":3426,"props":12497,"children":12498},{"class":3428,"line":3102},[12499],{"type":3143,"tag":3426,"props":12500,"children":12501},{"style":3491},[12502],{"type":3148,"value":12503},"\u002F\u002F server\u002Froutes\u002Fws.ts\n",{"type":3143,"tag":3426,"props":12505,"children":12506},{"class":3428,"line":3068},[12507,12511,12515,12520,12524],{"type":3143,"tag":3426,"props":12508,"children":12509},{"style":4688},[12510],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":12512,"children":12513},{"style":4688},[12514],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":12516,"children":12517},{"style":3662},[12518],{"type":3148,"value":12519}," defineWebSocketHandler",{"type":3143,"tag":3426,"props":12521,"children":12522},{"style":3500},[12523],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12525,"children":12526},{"style":3505},[12527],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":12529,"children":12530},{"class":3428,"line":3052},[12531,12535,12540,12544,12549,12553],{"type":3143,"tag":3426,"props":12532,"children":12533},{"style":3577},[12534],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":12536,"children":12537},{"style":3571},[12538],{"type":3148,"value":12539}," upgrade",{"type":3143,"tag":3426,"props":12541,"children":12542},{"style":3505},[12543],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12545,"children":12546},{"style":4520},[12547],{"type":3148,"value":12548},"request",{"type":3143,"tag":3426,"props":12550,"children":12551},{"style":3505},[12552],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":12554,"children":12555},{"style":3505},[12556],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":12558,"children":12559},{"class":3428,"line":3689},[12560],{"type":3143,"tag":3426,"props":12561,"children":12562},{"style":3491},[12563],{"type":3148,"value":12564},"    \u002F\u002F Make sure the user is authenticated before upgrading the WebSocket connection\n",{"type":3143,"tag":3426,"props":12566,"children":12567},{"class":3428,"line":3698},[12568,12572,12576,12580,12584],{"type":3143,"tag":3426,"props":12569,"children":12570},{"style":4688},[12571],{"type":3148,"value":5941},{"type":3143,"tag":3426,"props":12573,"children":12574},{"style":3662},[12575],{"type":3148,"value":5024},{"type":3143,"tag":3426,"props":12577,"children":12578},{"style":3571},[12579],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12581,"children":12582},{"style":3500},[12583],{"type":3148,"value":12548},{"type":3143,"tag":3426,"props":12585,"children":12586},{"style":3571},[12587],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":12589,"children":12590},{"class":3428,"line":3715},[12591],{"type":3143,"tag":3426,"props":12592,"children":12593},{"style":3505},[12594],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":12596,"children":12597},{"class":3428,"line":3048},[12598,12602,12607,12611,12616,12620],{"type":3143,"tag":3426,"props":12599,"children":12600},{"style":3577},[12601],{"type":3148,"value":5890},{"type":3143,"tag":3426,"props":12603,"children":12604},{"style":3571},[12605],{"type":3148,"value":12606}," open",{"type":3143,"tag":3426,"props":12608,"children":12609},{"style":3505},[12610],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12612,"children":12613},{"style":4520},[12614],{"type":3148,"value":12615},"peer",{"type":3143,"tag":3426,"props":12617,"children":12618},{"style":3505},[12619],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":12621,"children":12622},{"style":3505},[12623],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":12625,"children":12626},{"class":3428,"line":3044},[12627,12631,12635,12639,12643,12647,12651,12655,12659,12663],{"type":3143,"tag":3426,"props":12628,"children":12629},{"style":3577},[12630],{"type":3148,"value":7658},{"type":3143,"tag":3426,"props":12632,"children":12633},{"style":3505},[12634],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":12636,"children":12637},{"style":3500},[12638],{"type":3148,"value":3613},{"type":3143,"tag":3426,"props":12640,"children":12641},{"style":3505},[12642],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":12644,"children":12645},{"style":3505},[12646],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":12648,"children":12649},{"style":4688},[12650],{"type":3148,"value":4944},{"type":3143,"tag":3426,"props":12652,"children":12653},{"style":3662},[12654],{"type":3148,"value":5024},{"type":3143,"tag":3426,"props":12656,"children":12657},{"style":3571},[12658],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12660,"children":12661},{"style":3500},[12662],{"type":3148,"value":12615},{"type":3143,"tag":3426,"props":12664,"children":12665},{"style":3571},[12666],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":12668,"children":12669},{"class":3428,"line":3040},[12670],{"type":3143,"tag":3426,"props":12671,"children":12672},{"emptyLinePlaceholder":1200},[12673],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":12675,"children":12676},{"class":3428,"line":3877},[12677,12682,12686,12691,12695,12699,12704,12708,12712,12716,12721,12725,12729,12733],{"type":3143,"tag":3426,"props":12678,"children":12679},{"style":3500},[12680],{"type":3148,"value":12681},"    peer",{"type":3143,"tag":3426,"props":12683,"children":12684},{"style":3505},[12685],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":12687,"children":12688},{"style":3662},[12689],{"type":3148,"value":12690},"send",{"type":3143,"tag":3426,"props":12692,"children":12693},{"style":3571},[12694],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12696,"children":12697},{"style":3505},[12698],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":12700,"children":12701},{"style":3438},[12702],{"type":3148,"value":12703},"Hello, ",{"type":3143,"tag":3426,"props":12705,"children":12706},{"style":3505},[12707],{"type":3148,"value":9465},{"type":3143,"tag":3426,"props":12709,"children":12710},{"style":3500},[12711],{"type":3148,"value":7712},{"type":3143,"tag":3426,"props":12713,"children":12714},{"style":3505},[12715],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":12717,"children":12718},{"style":3500},[12719],{"type":3148,"value":12720},"name",{"type":3143,"tag":3426,"props":12722,"children":12723},{"style":3505},[12724],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":12726,"children":12727},{"style":3438},[12728],{"type":3148,"value":8151},{"type":3143,"tag":3426,"props":12730,"children":12731},{"style":3505},[12732],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":12734,"children":12735},{"style":3571},[12736],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":12738,"children":12739},{"class":3428,"line":3131},[12740],{"type":3143,"tag":3426,"props":12741,"children":12742},{"style":3505},[12743],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":12745,"children":12746},{"class":3428,"line":3914},[12747,12752,12756,12760,12764,12768,12772],{"type":3143,"tag":3426,"props":12748,"children":12749},{"style":3571},[12750],{"type":3148,"value":12751},"  message",{"type":3143,"tag":3426,"props":12753,"children":12754},{"style":3505},[12755],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12757,"children":12758},{"style":4520},[12759],{"type":3148,"value":12615},{"type":3143,"tag":3426,"props":12761,"children":12762},{"style":3505},[12763],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12765,"children":12766},{"style":4520},[12767],{"type":3148,"value":7820},{"type":3143,"tag":3426,"props":12769,"children":12770},{"style":3505},[12771],{"type":3148,"value":6108},{"type":3143,"tag":3426,"props":12773,"children":12774},{"style":3505},[12775],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":12777,"children":12778},{"class":3428,"line":3947},[12779,12783,12787,12791,12795,12799,12804,12808,12813,12817],{"type":3143,"tag":3426,"props":12780,"children":12781},{"style":3500},[12782],{"type":3148,"value":12681},{"type":3143,"tag":3426,"props":12784,"children":12785},{"style":3505},[12786],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":12788,"children":12789},{"style":3662},[12790],{"type":3148,"value":12690},{"type":3143,"tag":3426,"props":12792,"children":12793},{"style":3571},[12794],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12796,"children":12797},{"style":3505},[12798],{"type":3148,"value":8126},{"type":3143,"tag":3426,"props":12800,"children":12801},{"style":3438},[12802],{"type":3148,"value":12803},"Echo: ",{"type":3143,"tag":3426,"props":12805,"children":12806},{"style":3505},[12807],{"type":3148,"value":9465},{"type":3143,"tag":3426,"props":12809,"children":12810},{"style":3500},[12811],{"type":3148,"value":12812},"message",{"type":3143,"tag":3426,"props":12814,"children":12815},{"style":3505},[12816],{"type":3148,"value":9475},{"type":3143,"tag":3426,"props":12818,"children":12819},{"style":3571},[12820],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":12822,"children":12823},{"class":3428,"line":4002},[12824],{"type":3143,"tag":3426,"props":12825,"children":12826},{"style":3505},[12827],{"type":3148,"value":4766},{"type":3143,"tag":3426,"props":12829,"children":12830},{"class":3428,"line":4011},[12831,12835],{"type":3143,"tag":3426,"props":12832,"children":12833},{"style":3505},[12834],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":12836,"children":12837},{"style":3500},[12838],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":12840,"children":12841},{},[12842,12844,12851],{"type":3148,"value":12843},"Then, in your application, you can use the ",{"type":3143,"tag":3154,"props":12845,"children":12848},{"href":12846,"rel":12847},"https:\u002F\u002Fvueuse.org\u002Fcore\u002FuseWebSocket\u002F",[3158],[12849],{"type":3148,"value":12850},"useWebSocket",{"type":3148,"value":12852}," composable to connect to the WebSocket:",{"type":3143,"tag":3416,"props":12854,"children":12856},{"className":3554,"code":12855,"language":3556,"meta":3016,"style":3016},"\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",[12857],{"type":3143,"tag":3288,"props":12858,"children":12859},{"__ignoreMap":3016},[12860,12879,12990,12997,13005,13018,13033,13040,13055,13070,13102,13134,13149,13202,13255,13308,13323,13338],{"type":3143,"tag":3426,"props":12861,"children":12862},{"class":3428,"line":3102},[12863,12867,12871,12875],{"type":3143,"tag":3426,"props":12864,"children":12865},{"style":3505},[12866],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":12868,"children":12869},{"style":3571},[12870],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":12872,"children":12873},{"style":3577},[12874],{"type":3148,"value":3580},{"type":3143,"tag":3426,"props":12876,"children":12877},{"style":3505},[12878],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":12880,"children":12881},{"class":3428,"line":3068},[12882,12886,12890,12895,12899,12904,12908,12913,12917,12921,12925,12930,12934,12938,12943,12947,12951,12956,12960,12964,12968,12973,12977,12982,12986],{"type":3143,"tag":3426,"props":12883,"children":12884},{"style":3577},[12885],{"type":3148,"value":3593},{"type":3143,"tag":3426,"props":12887,"children":12888},{"style":3505},[12889],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":12891,"children":12892},{"style":3500},[12893],{"type":3148,"value":12894}," status",{"type":3143,"tag":3426,"props":12896,"children":12897},{"style":3505},[12898],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12900,"children":12901},{"style":3500},[12902],{"type":3148,"value":12903}," data",{"type":3143,"tag":3426,"props":12905,"children":12906},{"style":3505},[12907],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12909,"children":12910},{"style":3500},[12911],{"type":3148,"value":12912}," send",{"type":3143,"tag":3426,"props":12914,"children":12915},{"style":3505},[12916],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12918,"children":12919},{"style":3500},[12920],{"type":3148,"value":12606},{"type":3143,"tag":3426,"props":12922,"children":12923},{"style":3505},[12924],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12926,"children":12927},{"style":3500},[12928],{"type":3148,"value":12929}," close ",{"type":3143,"tag":3426,"props":12931,"children":12932},{"style":3505},[12933],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":12935,"children":12936},{"style":3505},[12937],{"type":3148,"value":3659},{"type":3143,"tag":3426,"props":12939,"children":12940},{"style":3662},[12941],{"type":3148,"value":12942}," useWebSocket",{"type":3143,"tag":3426,"props":12944,"children":12945},{"style":3500},[12946],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":12948,"children":12949},{"style":3505},[12950],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":12952,"children":12953},{"style":3438},[12954],{"type":3148,"value":12955},"\u002Fws",{"type":3143,"tag":3426,"props":12957,"children":12958},{"style":3505},[12959],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":12961,"children":12962},{"style":3505},[12963],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":12965,"children":12966},{"style":3505},[12967],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":12969,"children":12970},{"style":3571},[12971],{"type":3148,"value":12972}," immediate",{"type":3143,"tag":3426,"props":12974,"children":12975},{"style":3505},[12976],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":12978,"children":12979},{"style":5872},[12980],{"type":3148,"value":12981}," false",{"type":3143,"tag":3426,"props":12983,"children":12984},{"style":3505},[12985],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":12987,"children":12988},{"style":3500},[12989],{"type":3148,"value":4868},{"type":3143,"tag":3426,"props":12991,"children":12992},{"class":3428,"line":3052},[12993],{"type":3143,"tag":3426,"props":12994,"children":12995},{"emptyLinePlaceholder":1200},[12996],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":12998,"children":12999},{"class":3428,"line":3689},[13000],{"type":3143,"tag":3426,"props":13001,"children":13002},{"style":3491},[13003],{"type":3148,"value":13004},"\u002F\u002F Only open the websocket after the page is hydrated (client-only)\n",{"type":3143,"tag":3426,"props":13006,"children":13007},{"class":3428,"line":3698},[13008,13013],{"type":3143,"tag":3426,"props":13009,"children":13010},{"style":3662},[13011],{"type":3148,"value":13012},"onMounted",{"type":3143,"tag":3426,"props":13014,"children":13015},{"style":3500},[13016],{"type":3148,"value":13017},"(open)\n",{"type":3143,"tag":3426,"props":13019,"children":13020},{"class":3428,"line":3715},[13021,13025,13029],{"type":3143,"tag":3426,"props":13022,"children":13023},{"style":3505},[13024],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13026,"children":13027},{"style":3571},[13028],{"type":3148,"value":3574},{"type":3143,"tag":3426,"props":13030,"children":13031},{"style":3505},[13032],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13034,"children":13035},{"class":3428,"line":3048},[13036],{"type":3143,"tag":3426,"props":13037,"children":13038},{"emptyLinePlaceholder":1200},[13039],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":13041,"children":13042},{"class":3428,"line":3044},[13043,13047,13051],{"type":3143,"tag":3426,"props":13044,"children":13045},{"style":3505},[13046],{"type":3148,"value":3568},{"type":3143,"tag":3426,"props":13048,"children":13049},{"style":3571},[13050],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":13052,"children":13053},{"style":3505},[13054],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13056,"children":13057},{"class":3428,"line":3040},[13058,13062,13066],{"type":3143,"tag":3426,"props":13059,"children":13060},{"style":3505},[13061],{"type":3148,"value":3721},{"type":3143,"tag":3426,"props":13063,"children":13064},{"style":3571},[13065],{"type":3148,"value":3726},{"type":3143,"tag":3426,"props":13067,"children":13068},{"style":3505},[13069],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13071,"children":13072},{"class":3428,"line":3877},[13073,13077,13081,13085,13090,13094,13098],{"type":3143,"tag":3426,"props":13074,"children":13075},{"style":3505},[13076],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":13078,"children":13079},{"style":3571},[13080],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":13082,"children":13083},{"style":3505},[13084],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":13086,"children":13087},{"style":3500},[13088],{"type":3148,"value":13089},"Status: {{ status }}",{"type":3143,"tag":3426,"props":13091,"children":13092},{"style":3505},[13093],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13095,"children":13096},{"style":3571},[13097],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":13099,"children":13100},{"style":3505},[13101],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13103,"children":13104},{"class":3428,"line":3131},[13105,13109,13113,13117,13122,13126,13130],{"type":3143,"tag":3426,"props":13106,"children":13107},{"style":3505},[13108],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":13110,"children":13111},{"style":3571},[13112],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":13114,"children":13115},{"style":3505},[13116],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":13118,"children":13119},{"style":3500},[13120],{"type":3148,"value":13121},"Data: {{ data }}",{"type":3143,"tag":3426,"props":13123,"children":13124},{"style":3505},[13125],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13127,"children":13128},{"style":3571},[13129],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":13131,"children":13132},{"style":3505},[13133],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13135,"children":13136},{"class":3428,"line":3914},[13137,13141,13145],{"type":3143,"tag":3426,"props":13138,"children":13139},{"style":3505},[13140],{"type":3148,"value":3761},{"type":3143,"tag":3426,"props":13142,"children":13143},{"style":3571},[13144],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":13146,"children":13147},{"style":3505},[13148],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13150,"children":13151},{"class":3428,"line":3947},[13152,13156,13160,13164,13168,13172,13177,13181,13185,13190,13194,13198],{"type":3143,"tag":3426,"props":13153,"children":13154},{"style":3505},[13155],{"type":3148,"value":11734},{"type":3143,"tag":3426,"props":13157,"children":13158},{"style":3571},[13159],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":13161,"children":13162},{"style":3577},[13163],{"type":3148,"value":3836},{"type":3143,"tag":3426,"props":13165,"children":13166},{"style":3505},[13167],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":13169,"children":13170},{"style":3505},[13171],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":13173,"children":13174},{"style":3438},[13175],{"type":3148,"value":13176},"open",{"type":3143,"tag":3426,"props":13178,"children":13179},{"style":3505},[13180],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":13182,"children":13183},{"style":3505},[13184],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":13186,"children":13187},{"style":3500},[13188],{"type":3148,"value":13189},"Open",{"type":3143,"tag":3426,"props":13191,"children":13192},{"style":3505},[13193],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13195,"children":13196},{"style":3571},[13197],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":13199,"children":13200},{"style":3505},[13201],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13203,"children":13204},{"class":3428,"line":4002},[13205,13209,13213,13217,13221,13225,13230,13234,13238,13243,13247,13251],{"type":3143,"tag":3426,"props":13206,"children":13207},{"style":3505},[13208],{"type":3148,"value":11734},{"type":3143,"tag":3426,"props":13210,"children":13211},{"style":3571},[13212],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":13214,"children":13215},{"style":3577},[13216],{"type":3148,"value":3836},{"type":3143,"tag":3426,"props":13218,"children":13219},{"style":3505},[13220],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":13222,"children":13223},{"style":3505},[13224],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":13226,"children":13227},{"style":3438},[13228],{"type":3148,"value":13229},"close(1000, 'Closing')",{"type":3143,"tag":3426,"props":13231,"children":13232},{"style":3505},[13233],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":13235,"children":13236},{"style":3505},[13237],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":13239,"children":13240},{"style":3500},[13241],{"type":3148,"value":13242},"Close",{"type":3143,"tag":3426,"props":13244,"children":13245},{"style":3505},[13246],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13248,"children":13249},{"style":3571},[13250],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":13252,"children":13253},{"style":3505},[13254],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13256,"children":13257},{"class":3428,"line":4011},[13258,13262,13266,13270,13274,13278,13283,13287,13291,13296,13300,13304],{"type":3143,"tag":3426,"props":13259,"children":13260},{"style":3505},[13261],{"type":3148,"value":11734},{"type":3143,"tag":3426,"props":13263,"children":13264},{"style":3571},[13265],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":13267,"children":13268},{"style":3577},[13269],{"type":3148,"value":3836},{"type":3143,"tag":3426,"props":13271,"children":13272},{"style":3505},[13273],{"type":3148,"value":3508},{"type":3143,"tag":3426,"props":13275,"children":13276},{"style":3505},[13277],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":13279,"children":13280},{"style":3438},[13281],{"type":3148,"value":13282},"send('hello')",{"type":3143,"tag":3426,"props":13284,"children":13285},{"style":3505},[13286],{"type":3148,"value":3740},{"type":3143,"tag":3426,"props":13288,"children":13289},{"style":3505},[13290],{"type":3148,"value":3770},{"type":3143,"tag":3426,"props":13292,"children":13293},{"style":3500},[13294],{"type":3148,"value":13295},"Send hello",{"type":3143,"tag":3426,"props":13297,"children":13298},{"style":3505},[13299],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13301,"children":13302},{"style":3571},[13303],{"type":3148,"value":3831},{"type":3143,"tag":3426,"props":13305,"children":13306},{"style":3505},[13307],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13309,"children":13310},{"class":3428,"line":3036},[13311,13315,13319],{"type":3143,"tag":3426,"props":13312,"children":13313},{"style":3505},[13314],{"type":3148,"value":11865},{"type":3143,"tag":3426,"props":13316,"children":13317},{"style":3571},[13318],{"type":3148,"value":3150},{"type":3143,"tag":3426,"props":13320,"children":13321},{"style":3505},[13322],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13324,"children":13325},{"class":3428,"line":4079},[13326,13330,13334],{"type":3143,"tag":3426,"props":13327,"children":13328},{"style":3505},[13329],{"type":3148,"value":3883},{"type":3143,"tag":3426,"props":13331,"children":13332},{"style":3571},[13333],{"type":3148,"value":3726},{"type":3143,"tag":3426,"props":13335,"children":13336},{"style":3505},[13337],{"type":3148,"value":3585},{"type":3143,"tag":3426,"props":13339,"children":13340},{"class":3428,"line":4349},[13341,13345,13349],{"type":3143,"tag":3426,"props":13342,"children":13343},{"style":3505},[13344],{"type":3148,"value":3678},{"type":3143,"tag":3426,"props":13346,"children":13347},{"style":3571},[13348],{"type":3148,"value":3708},{"type":3143,"tag":3426,"props":13350,"children":13351},{"style":3505},[13352],{"type":3148,"value":3585},{"type":3143,"tag":3234,"props":13354,"children":13356},{"id":13355},"configuration",[13357],{"type":3148,"value":29},{"type":3143,"tag":3150,"props":13359,"children":13360},{},[13361,13363,13369,13371,13384],{"type":3148,"value":13362},"We leverage ",{"type":3143,"tag":3288,"props":13364,"children":13366},{"className":13365},[],[13367],{"type":3148,"value":13368},"runtimeConfig.session",{"type":3148,"value":13370}," to give the defaults option to ",{"type":3143,"tag":3154,"props":13372,"children":13375},{"href":13373,"rel":13374},"https:\u002F\u002Fh3.unjs.io\u002Fexamples\u002Fhandle-session",[3158],[13376,13378],{"type":3148,"value":13377},"h3 ",{"type":3143,"tag":3288,"props":13379,"children":13381},{"className":13380},[],[13382],{"type":3148,"value":13383},"useSession",{"type":3148,"value":3381},{"type":3143,"tag":3150,"props":13386,"children":13387},{},[13388,13390,13395],{"type":3148,"value":13389},"You can overwrite the options in your ",{"type":3143,"tag":3288,"props":13391,"children":13393},{"className":13392},[],[13394],{"type":3148,"value":233},{"type":3148,"value":4165},{"type":3143,"tag":3416,"props":13397,"children":13399},{"className":4104,"code":13398,"language":4106,"meta":3016,"style":3016},"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",[13400],{"type":3143,"tag":3288,"props":13401,"children":13402},{"__ignoreMap":3016},[13403,13426,13461,13476,13492,13541,13548,13555],{"type":3143,"tag":3426,"props":13404,"children":13405},{"class":3428,"line":3102},[13406,13410,13414,13418,13422],{"type":3143,"tag":3426,"props":13407,"children":13408},{"style":4688},[13409],{"type":3148,"value":5222},{"type":3143,"tag":3426,"props":13411,"children":13412},{"style":4688},[13413],{"type":3148,"value":5337},{"type":3143,"tag":3426,"props":13415,"children":13416},{"style":3662},[13417],{"type":3148,"value":5342},{"type":3143,"tag":3426,"props":13419,"children":13420},{"style":3500},[13421],{"type":3148,"value":5347},{"type":3143,"tag":3426,"props":13423,"children":13424},{"style":3505},[13425],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":13427,"children":13428},{"class":3428,"line":3068},[13429,13433,13437,13441,13445,13449,13453,13457],{"type":3143,"tag":3426,"props":13430,"children":13431},{"style":3571},[13432],{"type":3148,"value":6574},{"type":3143,"tag":3426,"props":13434,"children":13435},{"style":3505},[13436],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13438,"children":13439},{"style":3500},[13440],{"type":3148,"value":6583},{"type":3143,"tag":3426,"props":13442,"children":13443},{"style":3505},[13444],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":13446,"children":13447},{"style":3438},[13448],{"type":3148,"value":3015},{"type":3143,"tag":3426,"props":13450,"children":13451},{"style":3505},[13452],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":13454,"children":13455},{"style":3500},[13456],{"type":3148,"value":6600},{"type":3143,"tag":3426,"props":13458,"children":13459},{"style":3505},[13460],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":13462,"children":13463},{"class":3428,"line":3052},[13464,13468,13472],{"type":3143,"tag":3426,"props":13465,"children":13466},{"style":3571},[13467],{"type":3148,"value":5360},{"type":3143,"tag":3426,"props":13469,"children":13470},{"style":3505},[13471],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13473,"children":13474},{"style":3505},[13475],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":13477,"children":13478},{"class":3428,"line":3689},[13479,13484,13488],{"type":3143,"tag":3426,"props":13480,"children":13481},{"style":3571},[13482],{"type":3148,"value":13483},"    session",{"type":3143,"tag":3426,"props":13485,"children":13486},{"style":3505},[13487],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13489,"children":13490},{"style":3505},[13491],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":13493,"children":13494},{"class":3428,"line":3698},[13495,13500,13504,13509,13514,13518,13522,13527,13531,13536],{"type":3143,"tag":3426,"props":13496,"children":13497},{"style":3571},[13498],{"type":3148,"value":13499},"      maxAge",{"type":3143,"tag":3426,"props":13501,"children":13502},{"style":3505},[13503],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13505,"children":13506},{"style":7026},[13507],{"type":3148,"value":13508}," 60",{"type":3143,"tag":3426,"props":13510,"children":13511},{"style":3505},[13512],{"type":3148,"value":13513}," *",{"type":3143,"tag":3426,"props":13515,"children":13516},{"style":7026},[13517],{"type":3148,"value":13508},{"type":3143,"tag":3426,"props":13519,"children":13520},{"style":3505},[13521],{"type":3148,"value":13513},{"type":3143,"tag":3426,"props":13523,"children":13524},{"style":7026},[13525],{"type":3148,"value":13526}," 24",{"type":3143,"tag":3426,"props":13528,"children":13529},{"style":3505},[13530],{"type":3148,"value":13513},{"type":3143,"tag":3426,"props":13532,"children":13533},{"style":7026},[13534],{"type":3148,"value":13535}," 7",{"type":3143,"tag":3426,"props":13537,"children":13538},{"style":3491},[13539],{"type":3148,"value":13540}," \u002F\u002F 1 week\n",{"type":3143,"tag":3426,"props":13542,"children":13543},{"class":3428,"line":3715},[13544],{"type":3143,"tag":3426,"props":13545,"children":13546},{"style":3505},[13547],{"type":3148,"value":5478},{"type":3143,"tag":3426,"props":13549,"children":13550},{"class":3428,"line":3048},[13551],{"type":3143,"tag":3426,"props":13552,"children":13553},{"style":3505},[13554],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":13556,"children":13557},{"class":3428,"line":3044},[13558,13562],{"type":3143,"tag":3426,"props":13559,"children":13560},{"style":3505},[13561],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":13563,"children":13564},{"style":3500},[13565],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":13567,"children":13568},{},[13569],{"type":3148,"value":13570},"Our defaults are:",{"type":3143,"tag":3416,"props":13572,"children":13574},{"className":4104,"code":13573,"language":4106,"meta":3016,"style":3016},"{\n  name: 'nuxt-session',\n  password: process.env.NUXT_SESSION_PASSWORD || '',\n  cookie: {\n    sameSite: 'lax'\n  }\n}\n",[13575],{"type":3143,"tag":3288,"props":13576,"children":13577},{"__ignoreMap":3016},[13578,13585,13614,13662,13678,13703,13710],{"type":3143,"tag":3426,"props":13579,"children":13580},{"class":3428,"line":3102},[13581],{"type":3143,"tag":3426,"props":13582,"children":13583},{"style":3505},[13584],{"type":3148,"value":5352},{"type":3143,"tag":3426,"props":13586,"children":13587},{"class":3428,"line":3068},[13588,13593,13597,13601,13606,13610],{"type":3143,"tag":3426,"props":13589,"children":13590},{"style":3432},[13591],{"type":3148,"value":13592},"  name",{"type":3143,"tag":3426,"props":13594,"children":13595},{"style":3505},[13596],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13598,"children":13599},{"style":3505},[13600],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":13602,"children":13603},{"style":3438},[13604],{"type":3148,"value":13605},"nuxt-session",{"type":3143,"tag":3426,"props":13607,"children":13608},{"style":3505},[13609],{"type":3148,"value":5089},{"type":3143,"tag":3426,"props":13611,"children":13612},{"style":3505},[13613],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":13615,"children":13616},{"class":3428,"line":3052},[13617,13622,13626,13631,13635,13640,13644,13648,13653,13658],{"type":3143,"tag":3426,"props":13618,"children":13619},{"style":3432},[13620],{"type":3148,"value":13621},"  password",{"type":3143,"tag":3426,"props":13623,"children":13624},{"style":3505},[13625],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13627,"children":13628},{"style":3500},[13629],{"type":3148,"value":13630}," process",{"type":3143,"tag":3426,"props":13632,"children":13633},{"style":3505},[13634],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":13636,"children":13637},{"style":3500},[13638],{"type":3148,"value":13639},"env",{"type":3143,"tag":3426,"props":13641,"children":13642},{"style":3505},[13643],{"type":3148,"value":3381},{"type":3143,"tag":3426,"props":13645,"children":13646},{"style":3500},[13647],{"type":3148,"value":3470},{"type":3143,"tag":3426,"props":13649,"children":13650},{"style":3505},[13651],{"type":3148,"value":13652}," ||",{"type":3143,"tag":3426,"props":13654,"children":13655},{"style":3505},[13656],{"type":3148,"value":13657}," ''",{"type":3143,"tag":3426,"props":13659,"children":13660},{"style":3505},[13661],{"type":3148,"value":5438},{"type":3143,"tag":3426,"props":13663,"children":13664},{"class":3428,"line":3689},[13665,13670,13674],{"type":3143,"tag":3426,"props":13666,"children":13667},{"style":3432},[13668],{"type":3148,"value":13669},"  cookie",{"type":3143,"tag":3426,"props":13671,"children":13672},{"style":3505},[13673],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13675,"children":13676},{"style":3505},[13677],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":13679,"children":13680},{"class":3428,"line":3698},[13681,13686,13690,13694,13699],{"type":3143,"tag":3426,"props":13682,"children":13683},{"style":3432},[13684],{"type":3148,"value":13685},"    sameSite",{"type":3143,"tag":3426,"props":13687,"children":13688},{"style":3505},[13689],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13691,"children":13692},{"style":3505},[13693],{"type":3148,"value":4749},{"type":3143,"tag":3426,"props":13695,"children":13696},{"style":3438},[13697],{"type":3148,"value":13698},"lax",{"type":3143,"tag":3426,"props":13700,"children":13701},{"style":3505},[13702],{"type":3148,"value":4758},{"type":3143,"tag":3426,"props":13704,"children":13705},{"class":3428,"line":3715},[13706],{"type":3143,"tag":3426,"props":13707,"children":13708},{"style":3505},[13709],{"type":3148,"value":5126},{"type":3143,"tag":3426,"props":13711,"children":13712},{"class":3428,"line":3048},[13713],{"type":3143,"tag":3426,"props":13714,"children":13715},{"style":3505},[13716],{"type":3148,"value":4604},{"type":3143,"tag":3150,"props":13718,"children":13719},{},[13720,13722,13728,13729,13735],{"type":3148,"value":13721},"You can also overwrite the session config by passing it as 3rd argument of the ",{"type":3143,"tag":3288,"props":13723,"children":13725},{"className":13724},[],[13726],{"type":3148,"value":13727},"setUserSession",{"type":3148,"value":6258},{"type":3143,"tag":3288,"props":13730,"children":13732},{"className":13731},[],[13733],{"type":3148,"value":13734},"replaceUserSession",{"type":3148,"value":13736}," functions:",{"type":3143,"tag":3416,"props":13738,"children":13740},{"className":4104,"code":13739,"language":4106,"meta":3016,"style":3016},"await setUserSession(event, { ... } , {\n  maxAge: 60 * 60 * 24 * 7 \u002F\u002F 1 week\n})\n",[13741],{"type":3143,"tag":3288,"props":13742,"children":13743},{"__ignoreMap":3016},[13744,13785,13829],{"type":3143,"tag":3426,"props":13745,"children":13746},{"class":3428,"line":3102},[13747,13751,13755,13759,13763,13767,13772,13776,13781],{"type":3143,"tag":3426,"props":13748,"children":13749},{"style":4688},[13750],{"type":3148,"value":4691},{"type":3143,"tag":3426,"props":13752,"children":13753},{"style":3662},[13754],{"type":3148,"value":4696},{"type":3143,"tag":3426,"props":13756,"children":13757},{"style":3500},[13758],{"type":3148,"value":4701},{"type":3143,"tag":3426,"props":13760,"children":13761},{"style":3505},[13762],{"type":3148,"value":3608},{"type":3143,"tag":3426,"props":13764,"children":13765},{"style":3505},[13766],{"type":3148,"value":3598},{"type":3143,"tag":3426,"props":13768,"children":13769},{"style":3505},[13770],{"type":3148,"value":13771}," ...",{"type":3143,"tag":3426,"props":13773,"children":13774},{"style":3505},[13775],{"type":3148,"value":7538},{"type":3143,"tag":3426,"props":13777,"children":13778},{"style":3505},[13779],{"type":3148,"value":13780}," ,",{"type":3143,"tag":3426,"props":13782,"children":13783},{"style":3505},[13784],{"type":3148,"value":4128},{"type":3143,"tag":3426,"props":13786,"children":13787},{"class":3428,"line":3068},[13788,13793,13797,13801,13805,13809,13813,13817,13821,13825],{"type":3143,"tag":3426,"props":13789,"children":13790},{"style":3571},[13791],{"type":3148,"value":13792},"  maxAge",{"type":3143,"tag":3426,"props":13794,"children":13795},{"style":3505},[13796],{"type":3148,"value":4165},{"type":3143,"tag":3426,"props":13798,"children":13799},{"style":7026},[13800],{"type":3148,"value":13508},{"type":3143,"tag":3426,"props":13802,"children":13803},{"style":3505},[13804],{"type":3148,"value":13513},{"type":3143,"tag":3426,"props":13806,"children":13807},{"style":7026},[13808],{"type":3148,"value":13508},{"type":3143,"tag":3426,"props":13810,"children":13811},{"style":3505},[13812],{"type":3148,"value":13513},{"type":3143,"tag":3426,"props":13814,"children":13815},{"style":7026},[13816],{"type":3148,"value":13526},{"type":3143,"tag":3426,"props":13818,"children":13819},{"style":3505},[13820],{"type":3148,"value":13513},{"type":3143,"tag":3426,"props":13822,"children":13823},{"style":7026},[13824],{"type":3148,"value":13535},{"type":3143,"tag":3426,"props":13826,"children":13827},{"style":3491},[13828],{"type":3148,"value":13540},{"type":3143,"tag":3426,"props":13830,"children":13831},{"class":3428,"line":3052},[13832,13836],{"type":3143,"tag":3426,"props":13833,"children":13834},{"style":3505},[13835],{"type":3148,"value":3654},{"type":3143,"tag":3426,"props":13837,"children":13838},{"style":3500},[13839],{"type":3148,"value":4868},{"type":3143,"tag":3150,"props":13841,"children":13842},{},[13843,13845,13856],{"type":3148,"value":13844},"Checkout the ",{"type":3143,"tag":3154,"props":13846,"children":13849},{"href":13847,"rel":13848},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fh3\u002Fblob\u002Fc04c458810e34eb15c1647e1369e7d7ef19f567d\u002Fsrc\u002Futils\u002Fsession.ts#L20",[3158],[13850],{"type":3143,"tag":3288,"props":13851,"children":13853},{"className":13852},[],[13854],{"type":3148,"value":13855},"SessionConfig",{"type":3148,"value":13857}," for all options.",{"type":3143,"tag":3234,"props":13859,"children":13861},{"id":13860},"more",[13862],{"type":3148,"value":13863},"More",{"type":3143,"tag":3200,"props":13865,"children":13866},{},[13867],{"type":3143,"tag":3204,"props":13868,"children":13869},{},[13870,13877,13879],{"type":3143,"tag":3154,"props":13871,"children":13874},{"href":13872,"rel":13873},"https:\u002F\u002Fgithub.com\u002Fbarbapapazes\u002Fnuxt-authorization",[3158],[13875],{"type":3148,"value":13876},"nuxt-authorization",{"type":3148,"value":13878},": Authorization module for managing permissions inside a Nuxt app, compatible with ",{"type":3143,"tag":3288,"props":13880,"children":13882},{"className":13881},[],[13883],{"type":3148,"value":3015},{"type":3143,"tag":3234,"props":13885,"children":13887},{"id":13886},"development",[13888],{"type":3148,"value":13889},"Development",{"type":3143,"tag":3416,"props":13891,"children":13893},{"className":3418,"code":13892,"language":3420,"meta":3016,"style":3016},"# 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",[13894],{"type":3143,"tag":3288,"props":13895,"children":13896},{"__ignoreMap":3016},[13897,13905,13918,13925,13933,13950,13957,13965,13981,13988,13996,14012,14019,14027,14043,14050,14058,14074,14090,14097,14105],{"type":3143,"tag":3426,"props":13898,"children":13899},{"class":3428,"line":3102},[13900],{"type":3143,"tag":3426,"props":13901,"children":13902},{"style":3491},[13903],{"type":3148,"value":13904},"# Install dependencies\n",{"type":3143,"tag":3426,"props":13906,"children":13907},{"class":3428,"line":3068},[13908,13913],{"type":3143,"tag":3426,"props":13909,"children":13910},{"style":3432},[13911],{"type":3148,"value":13912},"pnpm",{"type":3143,"tag":3426,"props":13914,"children":13915},{"style":3438},[13916],{"type":3148,"value":13917}," install\n",{"type":3143,"tag":3426,"props":13919,"children":13920},{"class":3428,"line":3052},[13921],{"type":3143,"tag":3426,"props":13922,"children":13923},{"emptyLinePlaceholder":1200},[13924],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":13926,"children":13927},{"class":3428,"line":3689},[13928],{"type":3143,"tag":3426,"props":13929,"children":13930},{"style":3491},[13931],{"type":3148,"value":13932},"# Generate type stubs\n",{"type":3143,"tag":3426,"props":13934,"children":13935},{"class":3428,"line":3698},[13936,13940,13945],{"type":3143,"tag":3426,"props":13937,"children":13938},{"style":3432},[13939],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":13941,"children":13942},{"style":3438},[13943],{"type":3148,"value":13944}," run",{"type":3143,"tag":3426,"props":13946,"children":13947},{"style":3438},[13948],{"type":3148,"value":13949}," dev:prepare\n",{"type":3143,"tag":3426,"props":13951,"children":13952},{"class":3428,"line":3715},[13953],{"type":3143,"tag":3426,"props":13954,"children":13955},{"emptyLinePlaceholder":1200},[13956],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":13958,"children":13959},{"class":3428,"line":3048},[13960],{"type":3143,"tag":3426,"props":13961,"children":13962},{"style":3491},[13963],{"type":3148,"value":13964},"# Develop with the playground\n",{"type":3143,"tag":3426,"props":13966,"children":13967},{"class":3428,"line":3044},[13968,13972,13976],{"type":3143,"tag":3426,"props":13969,"children":13970},{"style":3432},[13971],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":13973,"children":13974},{"style":3438},[13975],{"type":3148,"value":13944},{"type":3143,"tag":3426,"props":13977,"children":13978},{"style":3438},[13979],{"type":3148,"value":13980}," dev\n",{"type":3143,"tag":3426,"props":13982,"children":13983},{"class":3428,"line":3040},[13984],{"type":3143,"tag":3426,"props":13985,"children":13986},{"emptyLinePlaceholder":1200},[13987],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":13989,"children":13990},{"class":3428,"line":3877},[13991],{"type":3143,"tag":3426,"props":13992,"children":13993},{"style":3491},[13994],{"type":3148,"value":13995},"# Build the playground\n",{"type":3143,"tag":3426,"props":13997,"children":13998},{"class":3428,"line":3131},[13999,14003,14007],{"type":3143,"tag":3426,"props":14000,"children":14001},{"style":3432},[14002],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":14004,"children":14005},{"style":3438},[14006],{"type":3148,"value":13944},{"type":3143,"tag":3426,"props":14008,"children":14009},{"style":3438},[14010],{"type":3148,"value":14011}," dev:build\n",{"type":3143,"tag":3426,"props":14013,"children":14014},{"class":3428,"line":3914},[14015],{"type":3143,"tag":3426,"props":14016,"children":14017},{"emptyLinePlaceholder":1200},[14018],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":14020,"children":14021},{"class":3428,"line":3947},[14022],{"type":3143,"tag":3426,"props":14023,"children":14024},{"style":3491},[14025],{"type":3148,"value":14026},"# Run ESLint\n",{"type":3143,"tag":3426,"props":14028,"children":14029},{"class":3428,"line":4002},[14030,14034,14038],{"type":3143,"tag":3426,"props":14031,"children":14032},{"style":3432},[14033],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":14035,"children":14036},{"style":3438},[14037],{"type":3148,"value":13944},{"type":3143,"tag":3426,"props":14039,"children":14040},{"style":3438},[14041],{"type":3148,"value":14042}," lint\n",{"type":3143,"tag":3426,"props":14044,"children":14045},{"class":3428,"line":4011},[14046],{"type":3143,"tag":3426,"props":14047,"children":14048},{"emptyLinePlaceholder":1200},[14049],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":14051,"children":14052},{"class":3428,"line":3036},[14053],{"type":3143,"tag":3426,"props":14054,"children":14055},{"style":3491},[14056],{"type":3148,"value":14057},"# Run Vitest\n",{"type":3143,"tag":3426,"props":14059,"children":14060},{"class":3428,"line":4079},[14061,14065,14069],{"type":3143,"tag":3426,"props":14062,"children":14063},{"style":3432},[14064],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":14066,"children":14067},{"style":3438},[14068],{"type":3148,"value":13944},{"type":3143,"tag":3426,"props":14070,"children":14071},{"style":3438},[14072],{"type":3148,"value":14073}," test\n",{"type":3143,"tag":3426,"props":14075,"children":14076},{"class":3428,"line":4349},[14077,14081,14085],{"type":3143,"tag":3426,"props":14078,"children":14079},{"style":3432},[14080],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":14082,"children":14083},{"style":3438},[14084],{"type":3148,"value":13944},{"type":3143,"tag":3426,"props":14086,"children":14087},{"style":3438},[14088],{"type":3148,"value":14089}," test:watch\n",{"type":3143,"tag":3426,"props":14091,"children":14092},{"class":3428,"line":4357},[14093],{"type":3143,"tag":3426,"props":14094,"children":14095},{"emptyLinePlaceholder":1200},[14096],{"type":3148,"value":3695},{"type":3143,"tag":3426,"props":14098,"children":14099},{"class":3428,"line":4366},[14100],{"type":3143,"tag":3426,"props":14101,"children":14102},{"style":3491},[14103],{"type":3148,"value":14104},"# Release new version\n",{"type":3143,"tag":3426,"props":14106,"children":14107},{"class":3428,"line":4374},[14108,14112,14116],{"type":3143,"tag":3426,"props":14109,"children":14110},{"style":3432},[14111],{"type":3148,"value":13912},{"type":3143,"tag":3426,"props":14113,"children":14114},{"style":3438},[14115],{"type":3148,"value":13944},{"type":3143,"tag":3426,"props":14117,"children":14118},{"style":3438},[14119],{"type":3148,"value":14120}," release\n",{"type":3143,"tag":14122,"props":14123,"children":14124},"style",{},[14125],{"type":3148,"value":14126},"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":3016,"searchDepth":3068,"depth":3068,"links":14128},[14129,14130,14131,14132,14135,14143,14144,14149,14150,14151,14152],{"id":3236,"depth":3068,"text":399},{"id":3354,"depth":3068,"text":3357},{"id":3395,"depth":3068,"text":3398},{"id":3536,"depth":3068,"text":3539,"children":14133},[14134],{"id":3548,"depth":3052,"text":3551},{"id":4629,"depth":3068,"text":4632,"children":14136},[14137,14138,14139,14140,14141,14142],{"id":4648,"depth":3052,"text":4651},{"id":5242,"depth":3052,"text":5245},{"id":6243,"depth":3052,"text":3270},{"id":6695,"depth":3052,"text":6698},{"id":6845,"depth":3052,"text":3279},{"id":10759,"depth":3052,"text":10762},{"id":11052,"depth":3068,"text":11055},{"id":11327,"depth":3068,"text":3250,"children":14145},[14146,14147],{"id":11498,"depth":3052,"text":11501},{"id":11626,"depth":3052,"text":14148},"\u003CAuthState> component",{"id":12331,"depth":3068,"text":12334},{"id":13355,"depth":3068,"text":29},{"id":13860,"depth":3068,"text":13863},{"id":13886,"depth":3068,"text":13889},{"v5":14154,"v4":14155,"v3":14156,"v2":14157},"5 (nightly)","4.5.1","3.21.10","2.18.1"]