[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"module-nuxt-actions":2411,"versions":10445},[4,1159,1643,2205],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":106},"Docs","i-lucide-book-marked","\u002Fdocs\u002F5.x","1.getting-started\u002F01.introduction",[10,107,258,493,1017,1054,1105],{"title":11,"titleTemplate":12,"icon":13,"path":14,"stem":8,"children":15,"page":106},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","\u002Fdocs\u002F5.x\u002Fgetting-started",[16,21,26,31,36,41,46,51,56,61,66,71,76,81,86,91,96,101],{"title":17,"description":18,"path":19,"stem":8,"icon":20},"Introduction","Nuxt's goal is to make web development intuitive and performant with a great Developer Experience in mind.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","i-lucide-info",{"title":22,"description":23,"path":24,"stem":25},"Installation","Get started with Nuxt quickly with our online starters or start locally with your terminal.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","1.getting-started\u002F02.installation",{"title":27,"description":28,"path":29,"stem":30},"Configuration","Nuxt is configured with sensible defaults to make you productive.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F03.configuration",{"title":32,"description":33,"path":34,"stem":35},"Views","Nuxt provides several component layers to implement the user interface of your application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","1.getting-started\u002F04.views",{"title":37,"description":38,"path":39,"stem":40},"Assets","Nuxt offers two options for your assets.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","1.getting-started\u002F05.assets",{"title":42,"description":43,"path":44,"stem":45},"Styling","Learn how to style your Nuxt application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","1.getting-started\u002F06.styling",{"title":47,"description":48,"path":49,"stem":50},"Routing","Nuxt file-system routing creates a route for every file in the pages\u002F directory.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","1.getting-started\u002F07.routing",{"title":52,"description":53,"path":54,"stem":55},"SEO and Meta","Improve your Nuxt app's SEO with powerful head config, composables and components.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","1.getting-started\u002F08.seo-meta",{"title":57,"description":58,"path":59,"stem":60},"Transitions","Apply transitions between pages and layouts with Vue or native browser View Transitions.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","1.getting-started\u002F09.transitions",{"title":62,"description":63,"path":64,"stem":65},"Data Fetching","Nuxt provides composables to handle data fetching within your application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","1.getting-started\u002F10.data-fetching",{"title":67,"description":68,"path":69,"stem":70},"State Management","Nuxt provides powerful state management libraries and the useState composable to create a reactive and SSR-friendly shared state.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","1.getting-started\u002F11.state-management",{"title":72,"description":73,"path":74,"stem":75},"Error Handling","Learn how to catch and handle errors in Nuxt.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","1.getting-started\u002F12.error-handling",{"title":77,"description":78,"path":79,"stem":80},"Server","Build full-stack applications with Nuxt's server framework. You can fetch data from your database or another server, create APIs, or even generate static server-side content like a sitemap or a RSS feed - all from a single codebase.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","1.getting-started\u002F13.server",{"title":82,"description":83,"path":84,"stem":85},"Layers","Nuxt provides a powerful system that allows you to extend the default files, configs, and much more.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","1.getting-started\u002F14.layers",{"title":87,"description":88,"path":89,"stem":90},"Prerendering","Nuxt allows pages to be statically rendered at build time to improve certain performance or SEO metrics","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","1.getting-started\u002F15.prerendering",{"title":92,"description":93,"path":94,"stem":95},"Deployment","Learn how to deploy your Nuxt application to any hosting provider.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","1.getting-started\u002F16.deployment",{"title":97,"description":98,"path":99,"stem":100},"Testing","How to test your Nuxt application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","1.getting-started\u002F17.testing",{"title":102,"description":103,"path":104,"stem":105},"Upgrade Guide","Learn how to upgrade to the latest Nuxt version.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fupgrade","1.getting-started\u002F18.upgrade",false,{"title":108,"titleTemplate":109,"icon":110,"path":111,"stem":112,"children":113,"page":106},"Directory Structure","%s · Nuxt Directory Structure","i-vscode-icons-default-folder","\u002Fdocs\u002F5.x\u002Fdirectory-structure","2.directory-structure\u002F0.nuxt",[114,118,123,183,188,193,198,203,208,213,218,223,228,233,238,243,248,253],{"title":115,"description":116,"path":117,"stem":112},".nuxt","Nuxt uses the .nuxt\u002F directory in development to generate your Vue application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt",{"title":119,"description":120,"path":121,"stem":122},".output","Nuxt creates the .output\u002F directory when building your application for production.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","2.directory-structure\u002F0.output",{"title":124,"titleTemplate":109,"icon":125,"path":126,"stem":127,"children":128,"page":106},"app","i-vscode-icons-folder-type-app","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","2.directory-structure\u002F1.app\u002F1.assets",[129,133,138,143,148,153,158,163,168,173,178],{"title":130,"description":131,"path":132,"stem":127},"assets","The assets\u002F directory is used to add all the website's assets that the build tool will process.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets",{"title":134,"description":135,"path":136,"stem":137},"components","The components\u002F directory is where you put all your Vue components.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","2.directory-structure\u002F1.app\u002F1.components",{"title":139,"description":140,"path":141,"stem":142},"composables","Use the composables\u002F directory to auto-import your Vue composables into your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","2.directory-structure\u002F1.app\u002F1.composables",{"title":144,"description":145,"path":146,"stem":147},"layouts","Nuxt provides a layouts framework to extract common UI patterns into reusable layouts.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","2.directory-structure\u002F1.app\u002F1.layouts",{"title":149,"description":150,"path":151,"stem":152},"middleware","Nuxt provides middleware to run code before navigating to a particular route.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","2.directory-structure\u002F1.app\u002F1.middleware",{"title":154,"description":155,"path":156,"stem":157},"pages","Nuxt provides file-based routing to create routes within your web application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","2.directory-structure\u002F1.app\u002F1.pages",{"title":159,"description":160,"path":161,"stem":162},"plugins","Nuxt has a plugins system to use Vue plugins and more at the creation of your Vue application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","2.directory-structure\u002F1.app\u002F1.plugins",{"title":164,"description":165,"path":166,"stem":167},"utils","Use the utils\u002F directory to auto-import your utility functions throughout your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","2.directory-structure\u002F1.app\u002F1.utils",{"title":169,"description":170,"path":171,"stem":172},"app.vue","The app.vue file is the main component of your Nuxt application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","2.directory-structure\u002F1.app\u002F3.app",{"title":174,"description":175,"path":176,"stem":177},"app.config.ts","Expose reactive configuration within your application with the App Config file.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","2.directory-structure\u002F1.app\u002F3.app-config",{"title":179,"description":180,"path":181,"stem":182},"error.vue","The error.vue file is the error page in your Nuxt application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","2.directory-structure\u002F1.app\u002F3.error",{"title":184,"description":185,"path":186,"stem":187},"content","Use the content\u002F directory to create a file-based CMS for your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","2.directory-structure\u002F1.content",{"title":189,"description":190,"path":191,"stem":192},"layers","Use the layers\u002F directory to organize and auto-register local layers within your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","2.directory-structure\u002F1.layers",{"title":194,"description":195,"path":196,"stem":197},"modules","Use the modules\u002F directory to automatically register local modules within your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","2.directory-structure\u002F1.modules",{"title":199,"description":200,"path":201,"stem":202},"node_modules","The package manager stores the dependencies of your project in the node_modules\u002F directory.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","2.directory-structure\u002F1.node_modules",{"title":204,"description":205,"path":206,"stem":207},"public","The public\u002F directory is used to serve your website's static assets.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","2.directory-structure\u002F1.public",{"title":209,"description":210,"path":211,"stem":212},"server","The server\u002F directory is used to register API and server handlers to your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","2.directory-structure\u002F1.server",{"title":214,"description":215,"path":216,"stem":217},"shared","Use the shared\u002F directory to share functionality between the Vue app and the Nitro server.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","2.directory-structure\u002F1.shared",{"title":219,"description":220,"path":221,"stem":222},"test","Use the test\u002F directory to organize unit, Nuxt, and end-to-end tests for your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftest","2.directory-structure\u002F1.test",{"title":224,"description":225,"path":226,"stem":227},".env","A .env file specifies your build\u002Fdev-time environment variables.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","2.directory-structure\u002F2.env",{"title":229,"description":230,"path":231,"stem":232},".gitignore","A .gitignore file specifies intentionally untracked files that git should ignore.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","2.directory-structure\u002F2.gitignore",{"title":234,"description":235,"path":236,"stem":237},".nuxtignore","The .nuxtignore file lets Nuxt ignore files in your project’s root directory during the build phase.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","2.directory-structure\u002F2.nuxtignore",{"title":239,"description":240,"path":241,"stem":242},".nuxtrc","The .nuxtrc file allows you to define nuxt configurations in a flat syntax.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","2.directory-structure\u002F2.nuxtrc",{"title":244,"description":245,"path":246,"stem":247},"nuxt.config.ts","Nuxt can be easily configured with a single nuxt.config file.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","2.directory-structure\u002F3.nuxt-config",{"title":249,"description":250,"path":251,"stem":252},"package.json","The package.json file contains all the dependencies and scripts for your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","2.directory-structure\u002F3.package",{"title":254,"description":255,"path":256,"stem":257},"tsconfig.json","Learn how Nuxt manages TypeScript configuration across different parts of your project.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftsconfig","2.directory-structure\u002F3.tsconfig",{"title":259,"icon":260,"path":261,"stem":262,"children":263,"page":106},"Guide","i-lucide-book-open","\u002Fdocs\u002F5.x\u002Fguide","3.guide\u002F1.concepts\u002F1.rendering",[264,309,340,356,402,433],{"title":265,"titleTemplate":266,"icon":267,"path":268,"stem":262,"children":269,"page":106},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts",[270,274,279,284,289,294,299,304],{"title":271,"description":272,"path":273,"stem":262},"Rendering Modes","Learn about the different rendering modes available in Nuxt.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":275,"description":276,"path":277,"stem":278},"Nuxt Lifecycle","Understanding the lifecycle of Nuxt applications can help you gain deeper insights into how the framework operates, especially for both server-side and client-side rendering.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":280,"description":281,"path":282,"stem":283},"Auto-imports","Nuxt auto-imports components, composables, helper functions and Vue APIs.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","3.guide\u002F1.concepts\u002F3.auto-imports",{"title":285,"description":286,"path":287,"stem":288},"Server Engine","Nuxt is powered by a new server engine: Nitro.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","3.guide\u002F1.concepts\u002F4.server-engine",{"title":290,"description":291,"path":292,"stem":293},"Modules","Nuxt provides a module system to extend the framework core and simplify integrations.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","3.guide\u002F1.concepts\u002F5.modules",{"title":295,"description":296,"path":297,"stem":298},"Server Components","Render individual components on the server only, keeping their JavaScript out of your client bundle.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-components","3.guide\u002F1.concepts\u002F6.server-components",{"title":300,"description":301,"path":302,"stem":303},"TypeScript","Nuxt is fully typed and provides helpful shortcuts to ensure you have access to accurate type information when you are coding.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","3.guide\u002F1.concepts\u002F8.typescript",{"title":305,"description":306,"path":307,"stem":308},"Code Style","Nuxt supports ESLint out of the box","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fcode-style","3.guide\u002F1.concepts\u002F9.code-style",{"title":310,"titleTemplate":311,"icon":312,"path":313,"stem":314,"children":315,"page":106},"Best Practices","%s · Best Practices","i-lucide-square-check","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","3.guide\u002F2.best-practices\u002Faccessibility",[316,320,325,330,335],{"title":317,"description":318,"path":319,"stem":314},"Nuxt accessibility","Best practices for accessibility in Nuxt apps.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Faccessibility",{"title":321,"description":322,"path":323,"stem":324},"Dev Containers","Set up or open a Nuxt project in a dev container for a consistent development environment.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":326,"description":327,"path":328,"stem":329},"Nuxt and Hydration","Why fixing hydration issues is important","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","3.guide\u002F2.best-practices\u002Fhydration",{"title":331,"description":332,"path":333,"stem":334},"Nuxt performance","Best practices for improving performance of Nuxt apps.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","3.guide\u002F2.best-practices\u002Fperformance",{"title":336,"description":337,"path":338,"stem":339},"Nuxt Plugins","Best practices when using Nuxt plugins.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fplugins","3.guide\u002F2.best-practices\u002Fplugins",{"title":341,"titleTemplate":342,"icon":343,"path":344,"stem":345,"children":346,"page":106},"Working with AI","Working with AI: %s","i-lucide-bot","\u002Fdocs\u002F5.x\u002Fguide\u002Fai","3.guide\u002F3.ai\u002F1.mcp",[347,351],{"title":348,"description":349,"path":350,"stem":345},"Nuxt MCP Server","Use Nuxt documentation in your AI assistants with Model Context Protocol support.","\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp",{"title":352,"description":353,"path":354,"stem":355},"Nuxt LLMs.txt","How to get AI tools like Cursor, Windsurf, GitHub Copilot, ChatGPT, and Claude to understand Nuxt concepts, APIs, and best practices.","\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fllms-txt","3.guide\u002F3.ai\u002F2.llms-txt",{"title":357,"titleTemplate":358,"icon":359,"path":360,"stem":361,"children":362,"page":106},"Module Author Guide","%s · Nuxt Modules Author Guide","i-lucide-box","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","3.guide\u002F4.modules\u002F1.getting-started",[363,367,372,377,382,387,392,397],{"title":364,"description":365,"path":366,"stem":361},"Create Your First Module","Learn how to create your first Nuxt module using the official starter template.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started",{"title":368,"description":369,"path":370,"stem":371},"Understand Module Structure","Learn how Nuxt modules are structured and how to define them.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","3.guide\u002F4.modules\u002F2.module-anatomy",{"title":373,"description":374,"path":375,"stem":376},"Add Plugins, Components & More","Learn how to inject plugins, components, composables and server routes from your module.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","3.guide\u002F4.modules\u002F3.recipes-basics",{"title":378,"description":379,"path":380,"stem":381},"Module Dependencies","Declare dependencies on other modules with version constraints and configuration merging.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","3.guide\u002F4.modules\u002F4.module-dependencies",{"title":383,"description":384,"path":385,"stem":386},"Use Hooks & Extend Types","Master lifecycle hooks, virtual files and TypeScript declarations in your modules.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":388,"description":389,"path":390,"stem":391},"Test Your Module","Learn how to test your Nuxt module with unit, integration and E2E tests.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","3.guide\u002F4.modules\u002F6.testing",{"title":393,"description":394,"path":395,"stem":396},"Follow Best Practices","Build performant and maintainable Nuxt modules with these guidelines.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","3.guide\u002F4.modules\u002F7.best-practices",{"title":398,"description":399,"path":400,"stem":401},"Publish & Share Your Module","Join the Nuxt module ecosystem and publish your module to npm.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","3.guide\u002F4.modules\u002F8.ecosystem",{"title":403,"titleTemplate":404,"icon":405,"path":406,"stem":407,"children":408,"page":106},"Recipes","%s · Recipes","i-lucide-cooking-pot","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","3.guide\u002F5.recipes\u002F1.custom-routing",[409,413,418,423,428],{"title":410,"description":411,"path":412,"stem":407},"Custom Routing","In Nuxt, your routing is defined by the structure of your files inside the pages directory. However, since it uses vue-router under the hood, Nuxt offers you several ways to add custom routes in your project.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing",{"title":414,"description":415,"path":416,"stem":417},"Using Vite Plugins in Nuxt","Learn how to integrate Vite plugins into your Nuxt project.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":419,"description":420,"path":421,"stem":422},"Custom useFetch in Nuxt","How to create a custom fetcher for calling your external API in Nuxt.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":424,"description":425,"path":426,"stem":427},"Sessions and Authentication","Authentication is an extremely common requirement in web apps. This recipe will show you how to implement basic user registration and authentication in your Nuxt app.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":429,"description":430,"path":431,"stem":432},"Mostly-Static Sites","Ship near-zero JavaScript for content and marketing sites while keeping islands of interactivity.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fmostly-static-sites","3.guide\u002F5.recipes\u002F5.mostly-static-sites",{"title":434,"titleTemplate":435,"icon":436,"path":437,"stem":438,"children":439,"page":106},"Going Further","%s · Nuxt Advanced","i-lucide-star","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","3.guide\u002F6.going-further\u002F1.events",[440,444,449,454,459,464,469,473,478,483,488],{"title":441,"description":442,"path":443,"stem":438},"Creating Custom Events","Nuxt provides a powerful event system powered by hookable.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents",{"title":445,"description":446,"path":447,"stem":448},"Experimental Features","Enable Nuxt experimental features to unlock new possibilities.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","3.guide\u002F6.going-further\u002F1.experimental-features",{"title":450,"description":451,"path":452,"stem":453},"Features","Enable or disable optional Nuxt features to unlock new possibilities.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","3.guide\u002F6.going-further\u002F1.features",{"title":455,"description":456,"path":457,"stem":458},"Lifecycle Hooks","Nuxt provides a powerful hooking system to expand almost every aspect using hooks.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","3.guide\u002F6.going-further\u002F2.hooks",{"title":460,"description":461,"path":462,"stem":463},"Nuxt Kit","@nuxt\u002Fkit provides features for module authors.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","3.guide\u002F6.going-further\u002F4.kit",{"title":465,"description":466,"path":467,"stem":468},"NuxtApp","In Nuxt, you can access runtime app context within composables, components and plugins.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":470,"description":83,"path":471,"stem":472},"Authoring Nuxt Layers","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","3.guide\u002F6.going-further\u002F7.layers",{"title":474,"description":475,"path":476,"stem":477},"Creating a Builder","Learn how Nuxt builders work and how to author your own.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fbuilders","3.guide\u002F6.going-further\u002F8.builders",{"title":479,"description":480,"path":481,"stem":482},"Debugging","In Nuxt, you can get started with debugging your application directly in the browser as well as in your IDE.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fdebugging","3.guide\u002F6.going-further\u002F9.debugging",{"title":484,"description":485,"path":486,"stem":487},"Runtime Config","Nuxt provides a runtime config API to expose configuration and secrets within your application.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","3.guide\u002F6.going-further\u002F10.runtime-config",{"title":489,"description":490,"path":491,"stem":492},"Nightly Release Channel","The nightly release channel allows using Nuxt built directly from the latest commits to the repository.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":494,"titleTemplate":495,"icon":496,"path":497,"stem":498,"children":499,"page":106},"API","%s · Nuxt API","i-lucide-code-xml","\u002Fdocs\u002F5.x\u002Fapi","4.api\u002F1.components\u002F1.client-only",[500,584,755,905,999,1012],{"title":501,"titleTemplate":502,"icon":359,"path":503,"stem":498,"children":504,"page":106},"Components","%s · Nuxt Components","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents",[505,509,514,519,524,529,534,539,544,549,554,559,564,569,574,579],{"title":506,"description":507,"path":508,"stem":498},"\u003CClientOnly>","Render components only in client-side with the \u003CClientOnly> component.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only",{"title":510,"description":511,"path":512,"stem":513},"\u003CDevOnly>","Render components only during development with the \u003CDevOnly> component.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","4.api\u002F1.components\u002F1.dev-only",{"title":515,"description":516,"path":517,"stem":518},"\u003CNuxtClientFallback>","Nuxt provides the \u003CNuxtClientFallback> component to render its content on the client if any of its children trigger an error in SSR","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":520,"description":521,"path":522,"stem":523},"\u003CNuxtPage>","The \u003CNuxtPage> component is required to display pages located in the pages\u002F directory.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","4.api\u002F1.components\u002F2.nuxt-page",{"title":525,"description":526,"path":527,"stem":528},"\u003CNuxtLayout>","Nuxt provides the \u003CNuxtLayout> component to show layouts on pages and error pages.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","4.api\u002F1.components\u002F3.nuxt-layout",{"title":530,"description":531,"path":532,"stem":533},"\u003CNuxtLink>","Nuxt provides \u003CNuxtLink> component to handle any kind of links within your application.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","4.api\u002F1.components\u002F4.nuxt-link",{"title":535,"description":536,"path":537,"stem":538},"\u003CNuxtLoadingIndicator>","Display a progress bar between page navigations.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":540,"description":541,"path":542,"stem":543},"\u003CNuxtErrorBoundary>","The \u003CNuxtErrorBoundary> component handles client-side errors happening in its default slot.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":545,"description":546,"path":547,"stem":548},"\u003CNuxtWelcome>","The \u003CNuxtWelcome> component greets users in new projects made from the starter template.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","4.api\u002F1.components\u002F7.nuxt-welcome",{"title":550,"description":551,"path":552,"stem":553},"\u003CNuxtIsland>","Nuxt provides the \u003CNuxtIsland> component to render a non-interactive component without any client JS.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","4.api\u002F1.components\u002F8.nuxt-island",{"title":555,"description":556,"path":557,"stem":558},"\u003CNuxtImg>","Nuxt provides a \u003CNuxtImg> component to handle automatic image optimization.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","4.api\u002F1.components\u002F9.nuxt-img",{"title":560,"description":561,"path":562,"stem":563},"\u003CNuxtPicture>","Nuxt provides a \u003CNuxtPicture> component to handle automatic image optimization.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","4.api\u002F1.components\u002F10.nuxt-picture",{"title":565,"description":566,"path":567,"stem":568},"\u003CTeleport>","The \u003CTeleport> component teleports a component to a different location in the DOM.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","4.api\u002F1.components\u002F11.teleports",{"title":570,"description":571,"path":572,"stem":573},"\u003CNuxtRouteAnnouncer>","The \u003CNuxtRouteAnnouncer> component adds a hidden element with the page title to announce route changes to assistive technologies.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":575,"description":576,"path":577,"stem":578},"\u003CNuxtTime>","The \u003CNuxtTime> component displays time in a locale-friendly format with server-client consistency.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","4.api\u002F1.components\u002F13.nuxt-time",{"title":580,"description":581,"path":582,"stem":583},"\u003CNuxtAnnouncer>","The \u003CNuxtAnnouncer> component adds a hidden element to announce dynamic content changes to assistive technologies.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","4.api\u002F1.components\u002F14.nuxt-announcer",{"title":585,"titleTemplate":586,"icon":587,"path":588,"stem":589,"children":590,"page":106},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","4.api\u002F2.composables\u002Fcreate-use-async-data",[591,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750],{"title":592,"description":593,"path":594,"stem":589},"createUseAsyncData","A factory function to create a custom useAsyncData composable with pre-defined default options.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data",{"title":596,"description":597,"path":598,"stem":599},"createUseFetch","A factory function to create a custom useFetch composable with pre-defined default options.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":601,"description":602,"path":603,"stem":604},"onPrehydrate","Use onPrehydrate to run a callback on the client immediately before Nuxt hydrates the page.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","4.api\u002F2.composables\u002Fon-prehydrate",{"title":606,"description":607,"path":608,"stem":609},"useAnnouncer","A composable for announcing messages to screen readers.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","4.api\u002F2.composables\u002Fuse-announcer",{"title":611,"description":612,"path":613,"stem":614},"useAppConfig","Access the reactive app config defined in the project.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","4.api\u002F2.composables\u002Fuse-app-config",{"title":616,"description":617,"path":618,"stem":619},"useAsyncData","useAsyncData provides access to data that resolves asynchronously in an SSR-friendly composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","4.api\u002F2.composables\u002Fuse-async-data",{"title":621,"description":622,"path":623,"stem":624},"useCookie","useCookie is an SSR-friendly composable to read and write cookies.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","4.api\u002F2.composables\u002Fuse-cookie",{"title":626,"description":627,"path":628,"stem":629},"useError","useError composable returns the global Nuxt error that is being handled.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","4.api\u002F2.composables\u002Fuse-error",{"title":631,"description":632,"path":633,"stem":634},"useFetch","Fetch data from an API endpoint with an SSR-friendly composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","4.api\u002F2.composables\u002Fuse-fetch",{"title":636,"description":637,"path":638,"stem":639},"useHead","useHead customizes the head properties of individual pages of your Nuxt app.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","4.api\u002F2.composables\u002Fuse-head",{"title":641,"description":642,"path":643,"stem":644},"useHeadSafe","The recommended way to provide head data with user input.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","4.api\u002F2.composables\u002Fuse-head-safe",{"title":646,"description":647,"path":648,"stem":649},"useHydration","Allows full control of the hydration cycle to set and receive data from the server.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","4.api\u002F2.composables\u002Fuse-hydration",{"title":651,"description":652,"path":653,"stem":654},"useLayout","useLayout returns the layout resolved for the current route.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-layout","4.api\u002F2.composables\u002Fuse-layout",{"title":656,"description":657,"path":658,"stem":659},"useLazyAsyncData","This wrapper around useAsyncData triggers navigation immediately.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":661,"description":662,"path":663,"stem":664},"useLazyFetch","This wrapper around useFetch triggers navigation immediately.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":666,"description":667,"path":668,"stem":669},"useLoadingIndicator","This composable gives you access to the loading state of the app page.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":671,"description":672,"path":673,"stem":674},"useNuxtApp","Access the shared runtime context of the Nuxt Application.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":676,"description":677,"path":678,"stem":679},"useNuxtData","Access the current cached value of data fetching composables.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":681,"description":682,"path":683,"stem":684},"usePreviewMode","Use usePreviewMode to check and control preview mode in Nuxt","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","4.api\u002F2.composables\u002Fuse-preview-mode",{"title":686,"description":687,"path":688,"stem":689},"useRequestEvent","Access the incoming request event with the useRequestEvent composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","4.api\u002F2.composables\u002Fuse-request-event",{"title":691,"description":692,"path":693,"stem":694},"useRequestFetch","Forward the request context and headers for server-side fetch requests with the useRequestFetch composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","4.api\u002F2.composables\u002Fuse-request-fetch",{"title":696,"description":697,"path":698,"stem":699},"useRequestHeader","Use useRequestHeader to access a certain incoming request header.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","4.api\u002F2.composables\u002Fuse-request-header",{"title":701,"description":702,"path":703,"stem":704},"useRequestHeaders","Use useRequestHeaders to access the incoming request headers.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","4.api\u002F2.composables\u002Fuse-request-headers",{"title":706,"description":707,"path":708,"stem":709},"useRequestURL","Access the incoming request URL with the useRequestURL composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","4.api\u002F2.composables\u002Fuse-request-url",{"title":711,"description":712,"path":713,"stem":714},"useResponseHeader","Use useResponseHeader to set a server response header.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","4.api\u002F2.composables\u002Fuse-response-header",{"title":716,"description":717,"path":718,"stem":719},"useRoute","The useRoute composable returns the current route.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","4.api\u002F2.composables\u002Fuse-route",{"title":721,"description":722,"path":723,"stem":724},"useRouteAnnouncer","This composable observes the page title changes and updates the announcer message accordingly.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","4.api\u002F2.composables\u002Fuse-route-announcer",{"title":726,"description":727,"path":728,"stem":729},"useRouter","The useRouter composable returns the router instance.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","4.api\u002F2.composables\u002Fuse-router",{"title":731,"description":732,"path":733,"stem":734},"useRuntimeConfig","Access runtime config variables with the useRuntimeConfig composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","4.api\u002F2.composables\u002Fuse-runtime-config",{"title":736,"description":737,"path":738,"stem":739},"useRuntimeHook","Registers a runtime hook in a Nuxt application and ensures it is properly disposed of when the scope is destroyed.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":741,"description":742,"path":743,"stem":744},"useSeoMeta","The useSeoMeta composable lets you define your site's SEO meta tags as a flat object with full TypeScript support.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","4.api\u002F2.composables\u002Fuse-seo-meta",{"title":746,"description":747,"path":748,"stem":749},"useServerSeoMeta","The useServerSeoMeta composable lets you define your site's SEO meta tags as a flat object with full TypeScript support.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":751,"description":752,"path":753,"stem":754},"useState","The useState composable creates a reactive and SSR-friendly shared state.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-state","4.api\u002F2.composables\u002Fuse-state",{"title":756,"titleTemplate":757,"path":758,"stem":759,"children":760,"page":106},"Utils","%s · Nuxt Utils","\u002Fdocs\u002F5.x\u002Fapi\u002Futils","4.api\u002F3.utils\u002F$fetch",[761,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900],{"title":762,"description":763,"path":764,"stem":759},"$fetch","Nuxt uses ofetch to expose globally the $fetch helper for making HTTP requests.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch",{"title":766,"description":767,"path":768,"stem":769},"abortNavigation","abortNavigation is a helper function that prevents navigation from taking place and throws an error if one is set as a parameter.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","4.api\u002F3.utils\u002Fabort-navigation",{"title":771,"description":772,"path":773,"stem":774},"addRouteMiddleware","addRouteMiddleware() is a helper function to dynamically add middleware in your application.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","4.api\u002F3.utils\u002Fadd-route-middleware",{"title":776,"description":777,"path":778,"stem":779},"callOnce","Run a given function or block of code once during SSR or CSR.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","4.api\u002F3.utils\u002Fcall-once",{"title":781,"description":782,"path":783,"stem":784},"clearError","The clearError composable clears all handled errors.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","4.api\u002F3.utils\u002Fclear-error",{"title":786,"description":787,"path":788,"stem":789},"clearNuxtData","Delete cached data, error status and pending promises of useAsyncData and useFetch.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":791,"description":792,"path":793,"stem":794},"clearNuxtState","Delete the cached state of useState.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":796,"description":797,"path":798,"stem":799},"createError","Create an error object with additional metadata.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","4.api\u002F3.utils\u002Fcreate-error",{"title":801,"description":802,"path":803,"stem":804},"defineLazyHydrationComponent","Define a lazy hydration component with a specific strategy.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":806,"description":807,"path":808,"stem":809},"defineNuxtComponent","defineNuxtComponent() is a helper function for defining type safe components with Options API.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":811,"description":812,"path":813,"stem":814},"defineNuxtPlugin","defineNuxtPlugin() is a helper function for creating Nuxt plugins.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":816,"description":817,"path":818,"stem":819},"defineNuxtRouteMiddleware","Create named route middleware using defineNuxtRouteMiddleware helper function.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":821,"description":822,"path":823,"stem":824},"definePageMeta","Define metadata for your page components.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","4.api\u002F3.utils\u002Fdefine-page-meta",{"title":826,"description":827,"path":828,"stem":829},"defineRouteRules","Define route rules for hybrid rendering at the page level.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","4.api\u002F3.utils\u002Fdefine-route-rules",{"title":831,"description":832,"path":833,"stem":834},"navigateTo","navigateTo is a helper function that programmatically navigates users.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","4.api\u002F3.utils\u002Fnavigate-to",{"title":836,"description":837,"path":838,"stem":839},"onBeforeRouteLeave","The onBeforeRouteLeave composable allows registering a route guard within a component.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-leave","4.api\u002F3.utils\u002Fon-before-route-leave",{"title":841,"description":842,"path":843,"stem":844},"onBeforeRouteUpdate","The onBeforeRouteUpdate composable allows registering a route guard within a component.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-update","4.api\u002F3.utils\u002Fon-before-route-update",{"title":846,"description":847,"path":848,"stem":849},"onNuxtReady","The onNuxtReady composable allows running a callback after your app has finished initializing.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":851,"description":852,"path":853,"stem":854},"prefetchComponents","Nuxt provides utilities to give you control over prefetching components.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","4.api\u002F3.utils\u002Fprefetch-components",{"title":856,"description":857,"path":858,"stem":859},"preloadComponents","Nuxt provides utilities to give you control over preloading components.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","4.api\u002F3.utils\u002Fpreload-components",{"title":861,"description":862,"path":863,"stem":864},"preloadRouteComponents","preloadRouteComponents allows you to manually preload individual pages in your Nuxt app.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","4.api\u002F3.utils\u002Fpreload-route-components",{"title":866,"description":867,"path":868,"stem":869},"prerenderRoutes","prerenderRoutes hints to Nitro to prerender an additional route.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","4.api\u002F3.utils\u002Fprerender-routes",{"title":871,"description":872,"path":873,"stem":874},"refreshCookie","Refresh useCookie values manually when a cookie has changed","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","4.api\u002F3.utils\u002Frefresh-cookie",{"title":876,"description":877,"path":878,"stem":879},"refreshNuxtData","Refresh all or specific asyncData instances in Nuxt","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":881,"description":882,"path":883,"stem":884},"reloadNuxtApp","reloadNuxtApp will perform a hard reload of the page.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","4.api\u002F3.utils\u002Freload-nuxt-app",{"title":886,"description":887,"path":888,"stem":889},"setPageLayout","setPageLayout allows you to dynamically change the layout of a page.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","4.api\u002F3.utils\u002Fset-page-layout",{"title":891,"description":892,"path":893,"stem":894},"setResponseStatus","setResponseStatus sets the status (and optionally the statusText) of the response.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","4.api\u002F3.utils\u002Fset-response-status",{"title":896,"description":897,"path":898,"stem":899},"showError","Nuxt provides a quick and simple way to show a full screen error page if needed.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","4.api\u002F3.utils\u002Fshow-error",{"title":901,"description":902,"path":903,"stem":904},"updateAppConfig","Update the App Config at runtime.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fupdate-app-config","4.api\u002F3.utils\u002Fupdate-app-config",{"title":460,"titleTemplate":906,"path":907,"stem":908,"children":909,"page":106},"%s · Nuxt Kit","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","4.api\u002F5.kit\u002F1.modules",[910,913,918,923,927,931,936,941,946,951,956,960,965,970,975,980,985,990,995],{"title":290,"description":911,"path":912,"stem":908},"Nuxt Kit provides a set of utilities to help you create and use modules. You can use these utilities to create your own modules or to reuse existing modules.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules",{"title":914,"description":915,"path":916,"stem":917},"Programmatic Usage","Nuxt Kit provides a set of utilities to help you work with Nuxt programmatically. These functions allow you to load Nuxt, build Nuxt, and load Nuxt configuration.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","4.api\u002F5.kit\u002F2.programmatic",{"title":919,"description":920,"path":921,"stem":922},"Compatibility","Nuxt Kit provides a set of utilities to help you check the compatibility of your modules with different Nuxt versions.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","4.api\u002F5.kit\u002F3.compatibility",{"title":280,"description":924,"path":925,"stem":926},"Nuxt Kit provides a set of utilities to help you work with auto-imports. These functions allow you to register your own utils, composables and Vue APIs.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","4.api\u002F5.kit\u002F4.autoimports",{"title":501,"description":928,"path":929,"stem":930},"Nuxt Kit provides a set of utilities to help you work with components. You can register components globally or locally, and also add directories to be scanned for components.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","4.api\u002F5.kit\u002F5.components",{"title":932,"description":933,"path":934,"stem":935},"Context","Nuxt Kit provides a set of utilities to help you work with context.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","4.api\u002F5.kit\u002F6.context",{"title":937,"description":938,"path":939,"stem":940},"Pages","Nuxt Kit provides a set of utilities to help you create and use pages. You can use these utilities to manipulate the pages configuration or to define route rules.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","4.api\u002F5.kit\u002F7.pages",{"title":942,"description":943,"path":944,"stem":945},"Layout","Nuxt Kit provides a set of utilities to help you work with layouts.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","4.api\u002F5.kit\u002F8.layout",{"title":947,"description":948,"path":949,"stem":950},"Head","Nuxt Kit provides utilities to help you manage head configuration in modules.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","4.api\u002F5.kit\u002F9.head",{"title":952,"description":953,"path":954,"stem":955},"Plugins","Nuxt Kit provides a set of utilities to help you create and use plugins. You can add plugins or plugin templates to your module using these functions.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","4.api\u002F5.kit\u002F9.plugins",{"title":484,"description":957,"path":958,"stem":959},"Nuxt Kit provides a set of utilities to help you access and modify Nuxt runtime configuration.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","4.api\u002F5.kit\u002F10.runtime-config",{"title":961,"description":962,"path":963,"stem":964},"Templates","Nuxt Kit provides a set of utilities to help you work with templates. These functions allow you to generate extra files during development and build time.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","4.api\u002F5.kit\u002F10.templates",{"title":966,"description":967,"path":968,"stem":969},"App Config","Nuxt Kit provides a set of utilities to help you access and modify Nuxt app configuration.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fapp-config","4.api\u002F5.kit\u002F11.app-config",{"title":971,"description":972,"path":973,"stem":974},"Nitro","Nuxt Kit provides a set of utilities to help you work with Nitro. These functions allow you to add server handlers, plugins, and prerender routes.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","4.api\u002F5.kit\u002F12.nitro",{"title":976,"description":977,"path":978,"stem":979},"Resolving","Nuxt Kit provides utilities to resolve paths from the Nuxt root directory or a custom base.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","4.api\u002F5.kit\u002F13.resolving",{"title":981,"description":982,"path":983,"stem":984},"Logging","Nuxt Kit provides a set of utilities to help you work with logging. These functions allow you to log messages with extra features.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","4.api\u002F5.kit\u002F14.logging",{"title":986,"description":987,"path":988,"stem":989},"Builder","Nuxt Kit provides a set of utilities to help you work with the builder. These functions allow you to extend the Vite and webpack configurations.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","4.api\u002F5.kit\u002F15.builder",{"title":991,"description":992,"path":993,"stem":994},"Examples","Examples of Nuxt Kit utilities in use.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","4.api\u002F5.kit\u002F16.examples",{"title":82,"description":996,"path":997,"stem":998},"Nuxt Kit provides utilities to help you work with layers and their directory structures.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","4.api\u002F5.kit\u002F17.layers",{"icon":1000,"title":1001,"path":1002,"stem":1003,"children":1004,"page":106},"i-lucide-brain","Advanced","\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","4.api\u002F6.advanced\u002F1.hooks",[1005,1007],{"title":455,"description":456,"path":1006,"stem":1003},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks",{"title":1008,"description":1009,"path":1010,"stem":1011},"Import meta","Understand where your code is running using `import.meta`.","\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","4.api\u002F6.advanced\u002F2.import-meta",{"title":1013,"description":1014,"path":1015,"stem":1016},"Nuxt Configuration","Discover all the options you can use in your nuxt.config.ts file.","\u002Fdocs\u002F5.x\u002Fapi\u002Fnuxt-config","4.api\u002F6.nuxt-config",{"title":1018,"titleTemplate":1019,"icon":1020,"path":1021,"stem":1022,"children":1023,"page":106},"Community","%s · Nuxt Community","i-lucide-messages-square","\u002Fdocs\u002F5.x\u002Fcommunity","5.community\u002F2.getting-help",[1024,1029,1034,1039,1044,1049],{"title":1025,"description":1026,"path":1027,"stem":1022,"icon":1028},"Getting Help","We're a friendly community of developers and we'd love to help.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","i-lucide-life-buoy",{"title":1030,"description":1031,"path":1032,"stem":1033},"Reporting Bugs","One of the most valuable roles in open source is taking the time to report bugs helpfully.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","5.community\u002F3.reporting-bugs",{"title":1035,"description":1036,"path":1037,"stem":1038},"Contribution","Nuxt is a community project - and so we love contributions of all kinds! ❤️","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","5.community\u002F4.contribution",{"title":1040,"description":1041,"path":1042,"stem":1043},"Framework","Some specific points about contributions to the framework repository.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","5.community\u002F5.framework-contribution",{"title":1045,"description":1046,"path":1047,"stem":1048},"Roadmap","Nuxt is constantly evolving, with new features and modules being added all the time.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","5.community\u002F6.roadmap",{"title":1050,"description":1051,"path":1052,"stem":1053},"Releases","Discover the latest releases of Nuxt & Nuxt official modules.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","5.community\u002F7.changelog",{"title":1055,"titleTemplate":1056,"icon":1057,"path":1058,"stem":1059,"children":1060,"page":106},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","\u002Fdocs\u002F5.x\u002Fbridge","6.bridge\u002F1.overview",[1061,1065,1069,1074,1079,1084,1089,1092,1096,1101],{"title":1062,"description":1063,"path":1064,"stem":1059},"Overview","Reduce the differences with Nuxt 3 and reduce the burden of migration to Nuxt 3.","\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview",{"title":300,"description":1066,"path":1067,"stem":1068},"Learn how to use TypeScript with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","6.bridge\u002F2.typescript",{"title":1070,"description":1071,"path":1072,"stem":1073},"Legacy Composition API","Learn how to migrate to Composition API with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","6.bridge\u002F3.bridge-composition-api",{"title":1075,"description":1076,"path":1077,"stem":1078},"Plugins and Middleware","Learn how to migrate from Nuxt 2 to Nuxt Bridge new plugins and middleware.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","6.bridge\u002F4.plugins-and-middleware",{"title":1080,"description":1081,"path":1082,"stem":1083},"New Composition API","Nuxt Bridge implements composables compatible with Nuxt 3.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","6.bridge\u002F5.nuxt3-compatible-api",{"title":1085,"description":1086,"path":1087,"stem":1088},"Meta Tags","Learn how to migrate from Nuxt 2 to Nuxt Bridge new meta tags.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","6.bridge\u002F6.meta",{"title":484,"description":485,"path":1090,"stem":1091},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","6.bridge\u002F7.runtime-config",{"title":971,"description":1093,"path":1094,"stem":1095},"Activate Nitro to your Nuxt 2 application with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","6.bridge\u002F8.nitro",{"title":1097,"description":1098,"path":1099,"stem":1100},"Vite","Activate Vite to your Nuxt 2 application with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","6.bridge\u002F9.vite",{"title":27,"description":1102,"path":1103,"stem":1104},"Learn how to configure Nuxt Bridge to your own needs.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","6.bridge\u002F10.configuration",{"title":1106,"titleTemplate":1107,"icon":1108,"path":1109,"stem":1110,"children":1111,"page":106},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","i-lucide-circle-arrow-up","\u002Fdocs\u002F5.x\u002Fmigration","7.migration\u002F1.overview",[1112,1115,1119,1124,1128,1132,1137,1142,1146,1151,1155],{"title":1062,"description":1113,"path":1114,"stem":1110},"Nuxt 3 is a complete rewrite of Nuxt 2, and also based on a new set of underlying technologies.","\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview",{"title":27,"description":1116,"path":1117,"stem":1118},"Learn how to migrate from Nuxt 2 to Nuxt 3 new configuration.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","7.migration\u002F2.configuration",{"title":1120,"description":1121,"path":1122,"stem":1123},"Auto Imports","Nuxt 3 adopts a minimal friction approach, meaning wherever possible components and composables are auto-imported.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","7.migration\u002F3.auto-imports",{"title":1085,"description":1125,"path":1126,"stem":1127},"Manage your meta tags, from Nuxt 2 to Nuxt 3.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","7.migration\u002F4.meta",{"title":1075,"description":1129,"path":1130,"stem":1131},"Learn how to migrate from Nuxt 2 to Nuxt 3 plugins and middleware.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","7.migration\u002F5.plugins-and-middleware",{"title":1133,"description":1134,"path":1135,"stem":1136},"Pages and Layouts","Learn how to migrate from Nuxt 2 to Nuxt 3 pages and layouts.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","7.migration\u002F6.pages-and-layouts",{"title":1138,"description":1139,"path":1140,"stem":1141},"Component Options","Learn how to migrate from Nuxt 2 components options to Nuxt 3 composables.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","7.migration\u002F7.component-options",{"title":484,"description":1143,"path":1144,"stem":1145},"Learn how to migrate from Nuxt 2 to Nuxt 3 runtime config.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","7.migration\u002F8.runtime-config",{"title":1147,"description":1148,"path":1149,"stem":1150},"Build Tooling","Learn how to migrate from Nuxt 2 to Nuxt 3 build tooling.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","7.migration\u002F10.bundling",{"title":77,"description":1152,"path":1153,"stem":1154},"Learn how to migrate from Nuxt 2 to Nuxt 3 server.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","7.migration\u002F11.server",{"title":290,"description":1156,"path":1157,"stem":1158},"Learn how to migrate from Nuxt 2 to Nuxt 3 modules.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","7.migration\u002F20.module-authors",{"title":5,"icon":6,"path":1160,"stem":8,"children":1161,"page":106},"\u002Fdocs\u002F4.x",[1162,1201,1263,1362,1580,1595,1618],{"title":11,"titleTemplate":12,"icon":13,"path":1163,"stem":8,"children":1164,"page":106},"\u002Fdocs\u002F4.x\u002Fgetting-started",[1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199],{"title":17,"description":18,"path":1166,"stem":8,"icon":20},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fintroduction",{"title":22,"description":23,"path":1168,"stem":25},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Finstallation",{"title":27,"description":28,"path":1170,"stem":30},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration",{"title":32,"description":33,"path":1172,"stem":35},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fviews",{"title":37,"description":38,"path":1174,"stem":40},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fassets",{"title":42,"description":43,"path":1176,"stem":45},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstyling",{"title":47,"description":48,"path":1178,"stem":50},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Frouting",{"title":52,"description":53,"path":1180,"stem":55},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fseo-meta",{"title":57,"description":58,"path":1182,"stem":60},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftransitions",{"title":62,"description":63,"path":1184,"stem":65},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching",{"title":67,"description":68,"path":1186,"stem":70},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstate-management",{"title":72,"description":73,"path":1188,"stem":75},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ferror-handling",{"title":77,"description":78,"path":1190,"stem":80},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fserver",{"title":82,"description":83,"path":1192,"stem":85},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Flayers",{"title":87,"description":88,"path":1194,"stem":90},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fprerendering",{"title":92,"description":93,"path":1196,"stem":95},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdeployment",{"title":97,"description":98,"path":1198,"stem":100},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting",{"title":102,"description":103,"path":1200,"stem":105},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade",{"title":108,"titleTemplate":109,"icon":110,"path":1202,"stem":112,"children":1203,"page":106},"\u002Fdocs\u002F4.x\u002Fdirectory-structure",[1204,1206,1208,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261],{"title":115,"description":116,"path":1205,"stem":112},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt",{"title":119,"description":120,"path":1207,"stem":122},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Foutput",{"title":124,"titleTemplate":109,"icon":125,"path":1209,"stem":127,"children":1210,"page":106},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp",[1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231],{"title":130,"description":131,"path":1212,"stem":127},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fassets",{"title":134,"description":135,"path":1214,"stem":137},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents",{"title":139,"description":140,"path":1216,"stem":142},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables",{"title":144,"description":145,"path":1218,"stem":147},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Flayouts",{"title":149,"description":150,"path":1220,"stem":152},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware",{"title":154,"description":155,"path":1222,"stem":157},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fpages",{"title":159,"description":160,"path":1224,"stem":162},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fplugins",{"title":164,"description":165,"path":1226,"stem":167},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Futils",{"title":169,"description":170,"path":1228,"stem":172},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp",{"title":174,"description":175,"path":1230,"stem":177},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config",{"title":179,"description":180,"path":1232,"stem":182},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Ferror",{"title":184,"description":185,"path":1234,"stem":187},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fcontent",{"title":189,"description":190,"path":1236,"stem":192},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Flayers",{"title":194,"description":195,"path":1238,"stem":197},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fmodules",{"title":199,"description":200,"path":1240,"stem":202},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnode_modules",{"title":204,"description":205,"path":1242,"stem":207},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpublic",{"title":209,"description":210,"path":1244,"stem":212},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fserver",{"title":214,"description":215,"path":1246,"stem":217},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fshared",{"title":219,"description":220,"path":1248,"stem":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftest",{"title":224,"description":225,"path":1250,"stem":227},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fenv",{"title":229,"description":230,"path":1252,"stem":232},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fgitignore",{"title":234,"description":235,"path":1254,"stem":237},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtignore",{"title":239,"description":240,"path":1256,"stem":242},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtrc",{"title":244,"description":245,"path":1258,"stem":247},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt-config",{"title":249,"description":250,"path":1260,"stem":252},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpackage",{"title":254,"description":255,"path":1262,"stem":257},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftsconfig",{"title":259,"icon":260,"path":1264,"stem":262,"children":1265,"page":106},"\u002Fdocs\u002F4.x\u002Fguide",[1266,1285,1298,1305,1324,1337],{"title":265,"titleTemplate":266,"icon":267,"path":1267,"stem":262,"children":1268,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts",[1269,1271,1273,1275,1277,1279,1281,1283],{"title":271,"description":272,"path":1270,"stem":262},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":275,"description":276,"path":1272,"stem":278},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle",{"title":280,"description":281,"path":1274,"stem":283},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fauto-imports",{"title":285,"description":286,"path":1276,"stem":288},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-engine",{"title":290,"description":291,"path":1278,"stem":293},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fmodules",{"title":295,"description":296,"path":1280,"stem":298},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-components",{"title":300,"description":301,"path":1282,"stem":303},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript",{"title":305,"description":306,"path":1284,"stem":308},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fcode-style",{"title":310,"titleTemplate":311,"icon":312,"path":1286,"stem":314,"children":1287,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices",[1288,1290,1292,1294,1296],{"title":317,"description":318,"path":1289,"stem":314},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Faccessibility",{"title":321,"description":322,"path":1291,"stem":324},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers",{"title":326,"description":327,"path":1293,"stem":329},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration",{"title":331,"description":332,"path":1295,"stem":334},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance",{"title":336,"description":337,"path":1297,"stem":339},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fplugins",{"title":341,"titleTemplate":342,"icon":343,"path":1299,"stem":345,"children":1300,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai",[1301,1303],{"title":348,"description":349,"path":1302,"stem":345},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp",{"title":352,"description":353,"path":1304,"stem":355},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fllms-txt",{"title":357,"titleTemplate":358,"icon":359,"path":1306,"stem":361,"children":1307,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules",[1308,1310,1312,1314,1316,1318,1320,1322],{"title":364,"description":365,"path":1309,"stem":361},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started",{"title":368,"description":369,"path":1311,"stem":371},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy",{"title":373,"description":374,"path":1313,"stem":376},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics",{"title":378,"description":379,"path":1315,"stem":381},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies",{"title":383,"description":384,"path":1317,"stem":386},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced",{"title":388,"description":389,"path":1319,"stem":391},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting",{"title":393,"description":394,"path":1321,"stem":396},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices",{"title":398,"description":399,"path":1323,"stem":401},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem",{"title":403,"titleTemplate":404,"icon":405,"path":1325,"stem":407,"children":1326,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes",[1327,1329,1331,1333,1335],{"title":410,"description":411,"path":1328,"stem":407},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing",{"title":414,"description":415,"path":1330,"stem":417},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin",{"title":419,"description":420,"path":1332,"stem":422},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch",{"title":424,"description":425,"path":1334,"stem":427},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication",{"title":429,"description":430,"path":1336,"stem":432},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fmostly-static-sites",{"title":434,"titleTemplate":435,"icon":436,"path":1338,"stem":438,"children":1339,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further",[1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360],{"title":441,"description":442,"path":1341,"stem":438},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents",{"title":445,"description":446,"path":1343,"stem":448},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features",{"title":450,"description":451,"path":1345,"stem":453},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures",{"title":455,"description":456,"path":1347,"stem":458},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks",{"title":460,"description":461,"path":1349,"stem":463},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit",{"title":465,"description":466,"path":1351,"stem":468},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app",{"title":470,"description":83,"path":1353,"stem":472},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers",{"title":474,"description":475,"path":1355,"stem":477},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fbuilders",{"title":479,"description":480,"path":1357,"stem":482},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fdebugging",{"title":484,"description":485,"path":1359,"stem":487},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config",{"title":489,"description":490,"path":1361,"stem":492},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel",{"title":494,"titleTemplate":495,"icon":496,"path":1363,"stem":498,"children":1364,"page":106},"\u002Fdocs\u002F4.x\u002Fapi",[1365,1400,1469,1530,1571,1578],{"title":501,"titleTemplate":502,"icon":359,"path":1366,"stem":498,"children":1367,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents",[1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398],{"title":506,"description":507,"path":1369,"stem":498},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only",{"title":510,"description":511,"path":1371,"stem":513},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only",{"title":515,"description":516,"path":1373,"stem":518},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback",{"title":520,"description":521,"path":1375,"stem":523},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page",{"title":525,"description":526,"path":1377,"stem":528},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout",{"title":530,"description":531,"path":1379,"stem":533},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link",{"title":535,"description":536,"path":1381,"stem":538},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator",{"title":540,"description":541,"path":1383,"stem":543},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary",{"title":545,"description":546,"path":1385,"stem":548},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome",{"title":550,"description":551,"path":1387,"stem":553},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island",{"title":555,"description":556,"path":1389,"stem":558},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-img",{"title":560,"description":561,"path":1391,"stem":563},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture",{"title":565,"description":566,"path":1393,"stem":568},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports",{"title":570,"description":571,"path":1395,"stem":573},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer",{"title":575,"description":576,"path":1397,"stem":578},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time",{"title":580,"description":581,"path":1399,"stem":583},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer",{"title":585,"titleTemplate":586,"icon":587,"path":1401,"stem":589,"children":1402,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables",[1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467],{"title":592,"description":593,"path":1404,"stem":589},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data",{"title":596,"description":597,"path":1406,"stem":599},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch",{"title":601,"description":602,"path":1408,"stem":604},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate",{"title":606,"description":607,"path":1410,"stem":609},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer",{"title":611,"description":612,"path":1412,"stem":614},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config",{"title":616,"description":617,"path":1414,"stem":619},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data",{"title":621,"description":622,"path":1416,"stem":624},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie",{"title":626,"description":627,"path":1418,"stem":629},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error",{"title":631,"description":632,"path":1420,"stem":634},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch",{"title":636,"description":637,"path":1422,"stem":639},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head",{"title":641,"description":642,"path":1424,"stem":644},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe",{"title":646,"description":647,"path":1426,"stem":649},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration",{"title":651,"description":652,"path":1428,"stem":654},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-layout",{"title":656,"description":657,"path":1430,"stem":659},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data",{"title":661,"description":662,"path":1432,"stem":664},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch",{"title":666,"description":667,"path":1434,"stem":669},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator",{"title":671,"description":672,"path":1436,"stem":674},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app",{"title":676,"description":677,"path":1438,"stem":679},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data",{"title":681,"description":682,"path":1440,"stem":684},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode",{"title":686,"description":687,"path":1442,"stem":689},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event",{"title":691,"description":692,"path":1444,"stem":694},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch",{"title":696,"description":697,"path":1446,"stem":699},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header",{"title":701,"description":702,"path":1448,"stem":704},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers",{"title":706,"description":707,"path":1450,"stem":709},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url",{"title":711,"description":712,"path":1452,"stem":714},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header",{"title":716,"description":717,"path":1454,"stem":719},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route",{"title":721,"description":722,"path":1456,"stem":724},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer",{"title":726,"description":727,"path":1458,"stem":729},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router",{"title":731,"description":732,"path":1460,"stem":734},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config",{"title":736,"description":737,"path":1462,"stem":739},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook",{"title":741,"description":742,"path":1464,"stem":744},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta",{"title":746,"description":747,"path":1466,"stem":749},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta",{"title":751,"description":752,"path":1468,"stem":754},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-state",{"title":756,"titleTemplate":757,"path":1470,"stem":759,"children":1471,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils",[1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528],{"title":762,"description":763,"path":1473,"stem":759},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch",{"title":766,"description":767,"path":1475,"stem":769},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation",{"title":771,"description":772,"path":1477,"stem":774},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware",{"title":776,"description":777,"path":1479,"stem":779},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once",{"title":781,"description":782,"path":1481,"stem":784},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error",{"title":786,"description":787,"path":1483,"stem":789},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data",{"title":791,"description":792,"path":1485,"stem":794},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state",{"title":796,"description":797,"path":1487,"stem":799},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error",{"title":801,"description":802,"path":1489,"stem":804},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component",{"title":806,"description":807,"path":1491,"stem":809},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component",{"title":811,"description":812,"path":1493,"stem":814},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin",{"title":816,"description":817,"path":1495,"stem":819},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware",{"title":821,"description":822,"path":1497,"stem":824},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta",{"title":826,"description":827,"path":1499,"stem":829},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules",{"title":831,"description":832,"path":1501,"stem":834},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to",{"title":836,"description":837,"path":1503,"stem":839},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-leave",{"title":841,"description":842,"path":1505,"stem":844},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-update",{"title":846,"description":847,"path":1507,"stem":849},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready",{"title":851,"description":852,"path":1509,"stem":854},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components",{"title":856,"description":857,"path":1511,"stem":859},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components",{"title":861,"description":862,"path":1513,"stem":864},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components",{"title":866,"description":867,"path":1515,"stem":869},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes",{"title":871,"description":872,"path":1517,"stem":874},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie",{"title":876,"description":877,"path":1519,"stem":879},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data",{"title":881,"description":882,"path":1521,"stem":884},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app",{"title":886,"description":887,"path":1523,"stem":889},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout",{"title":891,"description":892,"path":1525,"stem":894},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status",{"title":896,"description":897,"path":1527,"stem":899},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error",{"title":901,"description":902,"path":1529,"stem":904},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fupdate-app-config",{"title":460,"titleTemplate":906,"path":1531,"stem":908,"children":1532,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit",[1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569],{"title":290,"description":911,"path":1534,"stem":908},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules",{"title":914,"description":915,"path":1536,"stem":917},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic",{"title":919,"description":920,"path":1538,"stem":922},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility",{"title":280,"description":924,"path":1540,"stem":926},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports",{"title":501,"description":928,"path":1542,"stem":930},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents",{"title":932,"description":933,"path":1544,"stem":935},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext",{"title":937,"description":938,"path":1546,"stem":940},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages",{"title":942,"description":943,"path":1548,"stem":945},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout",{"title":947,"description":948,"path":1550,"stem":950},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead",{"title":952,"description":953,"path":1552,"stem":955},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins",{"title":484,"description":957,"path":1554,"stem":959},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config",{"title":961,"description":962,"path":1556,"stem":964},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates",{"title":966,"description":967,"path":1558,"stem":969},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fapp-config",{"title":971,"description":972,"path":1560,"stem":974},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro",{"title":976,"description":977,"path":1562,"stem":979},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving",{"title":981,"description":982,"path":1564,"stem":984},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging",{"title":986,"description":987,"path":1566,"stem":989},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder",{"title":991,"description":992,"path":1568,"stem":994},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples",{"title":82,"description":996,"path":1570,"stem":998},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers",{"icon":1000,"title":1001,"path":1572,"stem":1003,"children":1573,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced",[1574,1576],{"title":455,"description":456,"path":1575,"stem":1003},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks",{"title":1008,"description":1009,"path":1577,"stem":1011},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta",{"title":1013,"description":1014,"path":1579,"stem":1016},"\u002Fdocs\u002F4.x\u002Fapi\u002Fnuxt-config",{"title":1018,"titleTemplate":1019,"icon":1020,"path":1581,"stem":1022,"children":1582,"page":106},"\u002Fdocs\u002F4.x\u002Fcommunity",[1583,1585,1587,1589,1591,1593],{"title":1025,"description":1026,"path":1584,"stem":1022,"icon":1028},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help",{"title":1030,"description":1031,"path":1586,"stem":1033},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs",{"title":1035,"description":1036,"path":1588,"stem":1038},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution",{"title":1040,"description":1041,"path":1590,"stem":1043},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution",{"title":1045,"description":1046,"path":1592,"stem":1048},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap",{"title":1050,"description":1051,"path":1594,"stem":1053},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog",{"title":1055,"titleTemplate":1056,"icon":1057,"path":1596,"stem":1059,"children":1597,"page":106},"\u002Fdocs\u002F4.x\u002Fbridge",[1598,1600,1602,1604,1606,1608,1610,1612,1614,1616],{"title":1062,"description":1063,"path":1599,"stem":1059},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview",{"title":300,"description":1066,"path":1601,"stem":1068},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript",{"title":1070,"description":1071,"path":1603,"stem":1073},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api",{"title":1075,"description":1076,"path":1605,"stem":1078},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware",{"title":1080,"description":1081,"path":1607,"stem":1083},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api",{"title":1085,"description":1086,"path":1609,"stem":1088},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta",{"title":484,"description":485,"path":1611,"stem":1091},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config",{"title":971,"description":1093,"path":1613,"stem":1095},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro",{"title":1097,"description":1098,"path":1615,"stem":1100},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite",{"title":27,"description":1102,"path":1617,"stem":1104},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration",{"title":1106,"titleTemplate":1107,"icon":1108,"path":1619,"stem":1110,"children":1620,"page":106},"\u002Fdocs\u002F4.x\u002Fmigration",[1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641],{"title":1062,"description":1113,"path":1622,"stem":1110},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview",{"title":27,"description":1116,"path":1624,"stem":1118},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration",{"title":1120,"description":1121,"path":1626,"stem":1123},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports",{"title":1085,"description":1125,"path":1628,"stem":1127},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta",{"title":1075,"description":1129,"path":1630,"stem":1131},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware",{"title":1133,"description":1134,"path":1632,"stem":1136},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts",{"title":1138,"description":1139,"path":1634,"stem":1141},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options",{"title":484,"description":1143,"path":1636,"stem":1145},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config",{"title":1147,"description":1148,"path":1638,"stem":1150},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling",{"title":77,"description":1152,"path":1640,"stem":1154},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver",{"title":290,"description":1156,"path":1642,"stem":1158},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors",{"title":5,"icon":6,"path":1644,"stem":8,"children":1645,"page":106},"\u002Fdocs\u002F3.x",[1646,1685,1753,1843,2142,2157,2180],{"title":11,"titleTemplate":12,"icon":13,"path":1647,"stem":8,"children":1648,"page":106},"\u002Fdocs\u002F3.x\u002Fgetting-started",[1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683],{"title":17,"description":18,"path":1650,"stem":8,"icon":20},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fintroduction",{"title":22,"description":23,"path":1652,"stem":25},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Finstallation",{"title":27,"description":28,"path":1654,"stem":30},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fconfiguration",{"title":32,"description":33,"path":1656,"stem":35},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fviews",{"title":37,"description":38,"path":1658,"stem":40},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fassets",{"title":42,"description":43,"path":1660,"stem":45},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstyling",{"title":47,"description":48,"path":1662,"stem":50},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Frouting",{"title":52,"description":53,"path":1664,"stem":55},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fseo-meta",{"title":57,"description":58,"path":1666,"stem":60},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftransitions",{"title":62,"description":63,"path":1668,"stem":65},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdata-fetching",{"title":67,"description":68,"path":1670,"stem":70},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstate-management",{"title":72,"description":73,"path":1672,"stem":75},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ferror-handling",{"title":77,"description":78,"path":1674,"stem":80},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fserver",{"title":82,"description":83,"path":1676,"stem":85},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Flayers",{"title":87,"description":88,"path":1678,"stem":90},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fprerendering",{"title":92,"description":93,"path":1680,"stem":95},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdeployment",{"title":97,"description":98,"path":1682,"stem":100},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftesting",{"title":102,"description":103,"path":1684,"stem":105},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fupgrade",{"title":108,"titleTemplate":109,"icon":110,"path":1686,"stem":112,"children":1687,"page":106},"\u002Fdocs\u002F3.x\u002Fdirectory-structure",[1688,1690,1692,1695,1698,1701,1703,1705,1708,1711,1713,1715,1718,1721,1723,1725,1727,1730,1732,1734,1736,1738,1741,1744,1747,1749,1751],{"title":115,"description":116,"path":1689,"stem":112},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt",{"title":119,"description":120,"path":1691,"stem":122},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Foutput",{"title":130,"description":131,"path":1693,"stem":1694},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fassets","2.directory-structure\u002F1.assets",{"title":134,"description":135,"path":1696,"stem":1697},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomponents","2.directory-structure\u002F1.components",{"title":139,"description":140,"path":1699,"stem":1700},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomposables","2.directory-structure\u002F1.composables",{"title":184,"description":185,"path":1702,"stem":187},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcontent",{"title":189,"description":190,"path":1704,"stem":192},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayers",{"title":144,"description":145,"path":1706,"stem":1707},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayouts","2.directory-structure\u002F1.layouts",{"title":149,"description":150,"path":1709,"stem":1710},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmiddleware","2.directory-structure\u002F1.middleware",{"title":194,"description":195,"path":1712,"stem":197},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmodules",{"title":199,"description":200,"path":1714,"stem":202},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnode_modules",{"title":154,"description":155,"path":1716,"stem":1717},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpages","2.directory-structure\u002F1.pages",{"title":159,"description":160,"path":1719,"stem":1720},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fplugins","2.directory-structure\u002F1.plugins",{"title":204,"description":205,"path":1722,"stem":207},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpublic",{"title":209,"description":210,"path":1724,"stem":212},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fserver",{"title":214,"description":215,"path":1726,"stem":217},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fshared",{"title":164,"description":165,"path":1728,"stem":1729},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Futils","2.directory-structure\u002F1.utils",{"title":224,"description":225,"path":1731,"stem":227},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fenv",{"title":229,"description":230,"path":1733,"stem":232},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fgitignore",{"title":234,"description":235,"path":1735,"stem":237},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtignore",{"title":239,"description":240,"path":1737,"stem":242},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtrc",{"title":169,"description":170,"path":1739,"stem":1740},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp","2.directory-structure\u002F3.app",{"title":174,"description":175,"path":1742,"stem":1743},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp-config","2.directory-structure\u002F3.app-config",{"title":179,"description":180,"path":1745,"stem":1746},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ferror","2.directory-structure\u002F3.error",{"title":244,"description":245,"path":1748,"stem":247},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt-config",{"title":249,"description":250,"path":1750,"stem":252},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpackage",{"title":254,"description":255,"path":1752,"stem":257},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ftsconfig",{"title":259,"icon":260,"path":1754,"stem":262,"children":1755,"page":106},"\u002Fdocs\u002F3.x\u002Fguide",[1756,1773,1783,1790,1809,1820],{"title":265,"titleTemplate":266,"icon":267,"path":1757,"stem":262,"children":1758,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts",[1759,1761,1763,1765,1767,1769,1771],{"title":271,"description":272,"path":1760,"stem":262},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":275,"description":276,"path":1762,"stem":278},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle",{"title":280,"description":281,"path":1764,"stem":283},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fauto-imports",{"title":285,"description":286,"path":1766,"stem":288},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fserver-engine",{"title":290,"description":291,"path":1768,"stem":293},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fmodules",{"title":300,"description":301,"path":1770,"stem":303},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Ftypescript",{"title":305,"description":306,"path":1772,"stem":308},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fcode-style",{"title":310,"titleTemplate":311,"icon":312,"path":1774,"stem":329,"children":1775,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices",[1776,1779,1781],{"title":1777,"description":327,"path":1778,"stem":329},"Nuxt and hydration","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fhydration",{"title":331,"description":332,"path":1780,"stem":334},"\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fperformance",{"title":336,"description":337,"path":1782,"stem":339},"\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fplugins",{"title":341,"titleTemplate":342,"icon":343,"path":1784,"stem":345,"children":1785,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fai",[1786,1788],{"title":348,"description":349,"path":1787,"stem":345},"\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fmcp",{"title":352,"description":353,"path":1789,"stem":355},"\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fllms-txt",{"title":357,"titleTemplate":358,"icon":359,"path":1791,"stem":361,"children":1792,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules",[1793,1795,1797,1799,1801,1803,1805,1807],{"title":364,"description":365,"path":1794,"stem":361},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fgetting-started",{"title":368,"description":369,"path":1796,"stem":371},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy",{"title":373,"description":374,"path":1798,"stem":376},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-basics",{"title":378,"description":379,"path":1800,"stem":381},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies",{"title":383,"description":384,"path":1802,"stem":386},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-advanced",{"title":388,"description":389,"path":1804,"stem":391},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Ftesting",{"title":393,"description":394,"path":1806,"stem":396},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fbest-practices",{"title":398,"description":399,"path":1808,"stem":401},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fecosystem",{"title":403,"titleTemplate":404,"icon":405,"path":1810,"stem":407,"children":1811,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes",[1812,1814,1816,1818],{"title":410,"description":411,"path":1813,"stem":407},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-routing",{"title":414,"description":415,"path":1815,"stem":417},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fvite-plugin",{"title":419,"description":420,"path":1817,"stem":422},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch",{"title":424,"description":425,"path":1819,"stem":427},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication",{"title":434,"titleTemplate":435,"icon":436,"path":1821,"stem":438,"children":1822,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further",[1823,1825,1827,1829,1831,1833,1835,1837,1839,1841],{"title":441,"description":442,"path":1824,"stem":438},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fevents",{"title":445,"description":446,"path":1826,"stem":448},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features",{"title":450,"description":451,"path":1828,"stem":453},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Ffeatures",{"title":455,"description":456,"path":1830,"stem":458},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fhooks",{"title":460,"description":461,"path":1832,"stem":463},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fkit",{"title":465,"description":466,"path":1834,"stem":468},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app",{"title":470,"description":83,"path":1836,"stem":472},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Flayers",{"title":479,"description":480,"path":1838,"stem":482},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fdebugging",{"title":484,"description":485,"path":1840,"stem":487},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fruntime-config",{"title":489,"description":490,"path":1842,"stem":492},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel",{"title":494,"titleTemplate":495,"icon":496,"path":1844,"stem":498,"children":1845,"page":106},"\u002Fdocs\u002F3.x\u002Fapi",[1846,1879,1940,2001,2087,2133,2140],{"title":501,"titleTemplate":502,"icon":359,"path":1847,"stem":498,"children":1848,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents",[1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877],{"title":506,"description":507,"path":1850,"stem":498},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fclient-only",{"title":510,"description":511,"path":1852,"stem":513},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fdev-only",{"title":515,"description":516,"path":1854,"stem":518},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback",{"title":520,"description":521,"path":1856,"stem":523},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-page",{"title":525,"description":526,"path":1858,"stem":528},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout",{"title":530,"description":531,"path":1860,"stem":533},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-link",{"title":535,"description":536,"path":1862,"stem":538},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator",{"title":540,"description":541,"path":1864,"stem":543},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary",{"title":545,"description":546,"path":1866,"stem":548},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome",{"title":550,"description":551,"path":1868,"stem":553},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-island",{"title":555,"description":556,"path":1870,"stem":558},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-img",{"title":560,"description":561,"path":1872,"stem":563},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture",{"title":565,"description":566,"path":1874,"stem":568},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fteleports",{"title":570,"description":571,"path":1876,"stem":573},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer",{"title":575,"description":576,"path":1878,"stem":578},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-time",{"title":585,"titleTemplate":586,"icon":587,"path":1880,"stem":604,"children":1881,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables",[1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938],{"title":601,"description":602,"path":1883,"stem":604},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate",{"title":611,"description":612,"path":1885,"stem":614},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-app-config",{"title":616,"description":617,"path":1887,"stem":619},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-async-data",{"title":621,"description":622,"path":1889,"stem":624},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-cookie",{"title":626,"description":627,"path":1891,"stem":629},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-error",{"title":631,"description":632,"path":1893,"stem":634},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-fetch",{"title":636,"description":637,"path":1895,"stem":639},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head",{"title":641,"description":642,"path":1897,"stem":644},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe",{"title":646,"description":647,"path":1899,"stem":649},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-hydration",{"title":656,"description":657,"path":1901,"stem":659},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data",{"title":661,"description":662,"path":1903,"stem":664},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch",{"title":666,"description":667,"path":1905,"stem":669},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator",{"title":671,"description":672,"path":1907,"stem":674},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app",{"title":676,"description":677,"path":1909,"stem":679},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data",{"title":681,"description":682,"path":1911,"stem":684},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode",{"title":686,"description":687,"path":1913,"stem":689},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-event",{"title":691,"description":692,"path":1915,"stem":694},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch",{"title":696,"description":697,"path":1917,"stem":699},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-header",{"title":701,"description":702,"path":1919,"stem":704},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers",{"title":706,"description":707,"path":1921,"stem":709},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-url",{"title":711,"description":712,"path":1923,"stem":714},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-response-header",{"title":716,"description":717,"path":1925,"stem":719},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route",{"title":721,"description":722,"path":1927,"stem":724},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer",{"title":726,"description":727,"path":1929,"stem":729},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-router",{"title":731,"description":732,"path":1931,"stem":734},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config",{"title":736,"description":737,"path":1933,"stem":739},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook",{"title":741,"description":742,"path":1935,"stem":744},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta",{"title":746,"description":747,"path":1937,"stem":749},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta",{"title":751,"description":752,"path":1939,"stem":754},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-state",{"title":756,"titleTemplate":757,"path":1941,"stem":759,"children":1942,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils",[1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999],{"title":762,"description":763,"path":1944,"stem":759},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdollarfetch",{"title":766,"description":767,"path":1946,"stem":769},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fabort-navigation",{"title":771,"description":772,"path":1948,"stem":774},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fadd-route-middleware",{"title":776,"description":777,"path":1950,"stem":779},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcall-once",{"title":781,"description":782,"path":1952,"stem":784},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-error",{"title":786,"description":787,"path":1954,"stem":789},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-data",{"title":791,"description":792,"path":1956,"stem":794},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-state",{"title":796,"description":797,"path":1958,"stem":799},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcreate-error",{"title":801,"description":802,"path":1960,"stem":804},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component",{"title":806,"description":807,"path":1962,"stem":809},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component",{"title":811,"description":812,"path":1964,"stem":814},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin",{"title":816,"description":817,"path":1966,"stem":819},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware",{"title":821,"description":822,"path":1968,"stem":824},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-page-meta",{"title":826,"description":827,"path":1970,"stem":829},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-route-rules",{"title":831,"description":832,"path":1972,"stem":834},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fnavigate-to",{"title":836,"description":837,"path":1974,"stem":839},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-leave",{"title":841,"description":842,"path":1976,"stem":844},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-update",{"title":846,"description":847,"path":1978,"stem":849},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-nuxt-ready",{"title":851,"description":852,"path":1980,"stem":854},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprefetch-components",{"title":856,"description":857,"path":1982,"stem":859},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-components",{"title":861,"description":862,"path":1984,"stem":864},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-route-components",{"title":866,"description":867,"path":1986,"stem":869},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprerender-routes",{"title":871,"description":872,"path":1988,"stem":874},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-cookie",{"title":876,"description":877,"path":1990,"stem":879},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data",{"title":881,"description":882,"path":1992,"stem":884},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Freload-nuxt-app",{"title":886,"description":887,"path":1994,"stem":889},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-page-layout",{"title":891,"description":892,"path":1996,"stem":894},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-response-status",{"title":896,"description":897,"path":1998,"stem":899},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fshow-error",{"title":901,"description":902,"path":2000,"stem":904},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fupdate-app-config",{"title":2002,"titleTemplate":2003,"icon":2004,"path":2005,"stem":2006,"children":2007,"page":106},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands","4.api\u002F4.commands\u002Fadd",[2008,2012,2017,2022,2027,2032,2037,2042,2047,2052,2057,2062,2067,2072,2077,2082],{"title":2009,"description":2010,"path":2011,"stem":2006},"nuxt add","Scaffold an entity into your Nuxt application.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd",{"title":2013,"description":2014,"path":2015,"stem":2016},"nuxt analyze","Analyze the production bundle or your Nuxt application.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fanalyze","4.api\u002F4.commands\u002Fanalyze",{"title":2018,"description":2019,"path":2020,"stem":2021},"nuxt build","Build your Nuxt application.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild","4.api\u002F4.commands\u002Fbuild",{"title":2023,"description":2024,"path":2025,"stem":2026},"nuxt build-module","Nuxt command to build your Nuxt module before publishing.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild-module","4.api\u002F4.commands\u002Fbuild-module",{"title":2028,"description":2029,"path":2030,"stem":2031},"nuxt cleanup","Remove common generated Nuxt files and caches.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fcleanup","4.api\u002F4.commands\u002Fcleanup",{"title":2033,"description":2034,"path":2035,"stem":2036},"nuxt dev","The dev command starts a development server with hot module replacement at http:\u002F\u002Flocalhost:3000","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdev","4.api\u002F4.commands\u002Fdev",{"title":2038,"description":2039,"path":2040,"stem":2041},"nuxt devtools","The devtools command allows you to enable or disable Nuxt DevTools on a per-project basis.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdevtools","4.api\u002F4.commands\u002Fdevtools",{"title":2043,"description":2044,"path":2045,"stem":2046},"nuxt generate","Pre-renders every route of the application and stores the result in plain HTML files.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fgenerate","4.api\u002F4.commands\u002Fgenerate",{"title":2048,"description":2049,"path":2050,"stem":2051},"nuxt info","The info command logs information about the current or specified Nuxt project.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finfo","4.api\u002F4.commands\u002Finfo",{"title":2053,"description":2054,"path":2055,"stem":2056},"create nuxt","The init command initializes a fresh Nuxt project.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finit","4.api\u002F4.commands\u002Finit",{"title":2058,"description":2059,"path":2060,"stem":2061},"nuxt module","Search and add modules to your Nuxt application with the command line.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fmodule","4.api\u002F4.commands\u002Fmodule",{"title":2063,"description":2064,"path":2065,"stem":2066},"nuxt prepare","The prepare command creates a .nuxt directory in your application and generates types.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fprepare","4.api\u002F4.commands\u002Fprepare",{"title":2068,"description":2069,"path":2070,"stem":2071},"nuxt preview","The preview command starts a server to preview your application after the build command.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fpreview","4.api\u002F4.commands\u002Fpreview",{"title":2073,"description":2074,"path":2075,"stem":2076},"nuxt test","The test command runs tests using @nuxt\u002Ftest-utils.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftest","4.api\u002F4.commands\u002Ftest",{"title":2078,"description":2079,"path":2080,"stem":2081},"nuxt typecheck","The typecheck command runs vue-tsc to check types throughout your app.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftypecheck","4.api\u002F4.commands\u002Ftypecheck",{"title":2083,"description":2084,"path":2085,"stem":2086},"nuxt upgrade","The upgrade command upgrades Nuxt to the latest version.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fupgrade","4.api\u002F4.commands\u002Fupgrade",{"title":460,"titleTemplate":906,"path":2088,"stem":908,"children":2089,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit",[2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2117,2121,2124,2127,2130],{"title":290,"description":911,"path":2091,"stem":908},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fmodules",{"title":914,"description":915,"path":2093,"stem":917},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fprogrammatic",{"title":919,"description":920,"path":2095,"stem":922},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcompatibility",{"title":280,"description":924,"path":2097,"stem":926},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fautoimports",{"title":501,"description":928,"path":2099,"stem":930},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcomponents",{"title":932,"description":933,"path":2101,"stem":935},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcontext",{"title":937,"description":938,"path":2103,"stem":940},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fpages",{"title":942,"description":943,"path":2105,"stem":945},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayout",{"title":947,"description":948,"path":2107,"stem":950},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fhead",{"title":952,"description":953,"path":2109,"stem":955},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fplugins",{"title":484,"description":957,"path":2111,"stem":959},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fruntime-config",{"title":961,"description":962,"path":2113,"stem":964},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Ftemplates",{"title":971,"description":972,"path":2115,"stem":2116},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fnitro","4.api\u002F5.kit\u002F11.nitro",{"title":976,"description":2118,"path":2119,"stem":2120},"Nuxt Kit provides a set of utilities to help you resolve paths. These functions allow you to resolve paths relative to the current module, with unknown name or extension.","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fresolving","4.api\u002F5.kit\u002F12.resolving",{"title":981,"description":982,"path":2122,"stem":2123},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flogging","4.api\u002F5.kit\u002F13.logging",{"title":986,"description":987,"path":2125,"stem":2126},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fbuilder","4.api\u002F5.kit\u002F14.builder",{"title":991,"description":992,"path":2128,"stem":2129},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fexamples","4.api\u002F5.kit\u002F15.examples",{"title":82,"description":996,"path":2131,"stem":2132},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayers","4.api\u002F5.kit\u002F16.layers",{"icon":1000,"title":1001,"path":2134,"stem":1003,"children":2135,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced",[2136,2138],{"title":455,"description":456,"path":2137,"stem":1003},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fhooks",{"title":1008,"description":1009,"path":2139,"stem":1011},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fimport-meta",{"title":1013,"description":1014,"path":2141,"stem":1016},"\u002Fdocs\u002F3.x\u002Fapi\u002Fnuxt-config",{"title":1018,"titleTemplate":1019,"icon":1020,"path":2143,"stem":1022,"children":2144,"page":106},"\u002Fdocs\u002F3.x\u002Fcommunity",[2145,2147,2149,2151,2153,2155],{"title":1025,"description":1026,"path":2146,"stem":1022,"icon":1028},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fgetting-help",{"title":1030,"description":1031,"path":2148,"stem":1033},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Freporting-bugs",{"title":1035,"description":1036,"path":2150,"stem":1038},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fcontribution",{"title":1040,"description":1041,"path":2152,"stem":1043},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fframework-contribution",{"title":1045,"description":1046,"path":2154,"stem":1048},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Froadmap",{"title":1050,"description":1051,"path":2156,"stem":1053},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fchangelog",{"title":1055,"titleTemplate":1056,"icon":1057,"path":2158,"stem":1059,"children":2159,"page":106},"\u002Fdocs\u002F3.x\u002Fbridge",[2160,2162,2164,2166,2168,2170,2172,2174,2176,2178],{"title":1062,"description":1063,"path":2161,"stem":1059},"\u002Fdocs\u002F3.x\u002Fbridge\u002Foverview",{"title":300,"description":1066,"path":2163,"stem":1068},"\u002Fdocs\u002F3.x\u002Fbridge\u002Ftypescript",{"title":1070,"description":1071,"path":2165,"stem":1073},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fbridge-composition-api",{"title":1075,"description":1076,"path":2167,"stem":1078},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fplugins-and-middleware",{"title":1080,"description":1081,"path":2169,"stem":1083},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnuxt3-compatible-api",{"title":1085,"description":1086,"path":2171,"stem":1088},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fmeta",{"title":484,"description":485,"path":2173,"stem":1091},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fruntime-config",{"title":971,"description":1093,"path":2175,"stem":1095},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnitro",{"title":1097,"description":1098,"path":2177,"stem":1100},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fvite",{"title":27,"description":1102,"path":2179,"stem":1104},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fconfiguration",{"title":1106,"titleTemplate":1107,"icon":1108,"path":2181,"stem":1110,"children":2182,"page":106},"\u002Fdocs\u002F3.x\u002Fmigration",[2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203],{"title":1062,"description":1113,"path":2184,"stem":1110},"\u002Fdocs\u002F3.x\u002Fmigration\u002Foverview",{"title":27,"description":1116,"path":2186,"stem":1118},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fconfiguration",{"title":1120,"description":1121,"path":2188,"stem":1123},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fauto-imports",{"title":1085,"description":1125,"path":2190,"stem":1127},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmeta",{"title":1075,"description":1129,"path":2192,"stem":1131},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fplugins-and-middleware",{"title":1133,"description":1134,"path":2194,"stem":1136},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fpages-and-layouts",{"title":1138,"description":1139,"path":2196,"stem":1141},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fcomponent-options",{"title":484,"description":1143,"path":2198,"stem":1145},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fruntime-config",{"title":1147,"description":1148,"path":2200,"stem":1150},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fbundling",{"title":77,"description":1152,"path":2202,"stem":1154},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fserver",{"title":290,"description":1156,"path":2204,"stem":1158},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmodule-authors",{"title":2206,"icon":2207,"path":2208,"stem":2209,"children":2210,"page":106},"Blog","i-lucide-newspaper","\u002Fblog","blog",[2211,2215,2219,2223,2227,2231,2235,2239,2243,2247,2251,2255,2259,2263,2267,2271,2275,2279,2283,2287,2291,2295,2299,2303,2307,2311,2315,2319,2323,2327,2331,2335,2339,2343,2347,2351,2355,2359,2363,2367,2371,2375,2379,2383,2387,2391,2395,2399,2403,2407],{"title":2212,"path":2213,"stem":2214},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2216,"path":2217,"stem":2218},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2220,"path":2221,"stem":2222},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2224,"path":2225,"stem":2226},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2228,"path":2229,"stem":2230},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2232,"path":2233,"stem":2234},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2236,"path":2237,"stem":2238},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2240,"path":2241,"stem":2242},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2244,"path":2245,"stem":2246},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2248,"path":2249,"stem":2250},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2252,"path":2253,"stem":2254},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2256,"path":2257,"stem":2258},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2260,"path":2261,"stem":2262},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2264,"path":2265,"stem":2266},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2268,"path":2269,"stem":2270},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2272,"path":2273,"stem":2274},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2276,"path":2277,"stem":2278},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2280,"path":2281,"stem":2282},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2284,"path":2285,"stem":2286},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2288,"path":2289,"stem":2290},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2292,"path":2293,"stem":2294},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2296,"path":2297,"stem":2298},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2300,"path":2301,"stem":2302},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2304,"path":2305,"stem":2306},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2308,"path":2309,"stem":2310},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2312,"path":2313,"stem":2314},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2316,"path":2317,"stem":2318},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2320,"path":2321,"stem":2322},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2324,"path":2325,"stem":2326},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2328,"path":2329,"stem":2330},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2332,"path":2333,"stem":2334},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2336,"path":2337,"stem":2338},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":2340,"path":2341,"stem":2342},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":2344,"path":2345,"stem":2346},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":2348,"path":2349,"stem":2350},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2352,"path":2353,"stem":2354},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2356,"path":2357,"stem":2358},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":2360,"path":2361,"stem":2362},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":2364,"path":2365,"stem":2366},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":2368,"path":2369,"stem":2370},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":2372,"path":2373,"stem":2374},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":2376,"path":2377,"stem":2378},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":2380,"path":2381,"stem":2382},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":2384,"path":2385,"stem":2386},"Nuxt 4.5","\u002Fblog\u002Fv4-5","blog\u002F46.v4-5",{"title":2388,"path":2389,"stem":2390},"Nuxt Security Patch Releases","\u002Fblog\u002Fv4-5-security","blog\u002F47.v4-5-security",{"title":2392,"path":2393,"stem":2394},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2396,"path":2397,"stem":2398},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":2400,"path":2401,"stem":2402},"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":2404,"path":2405,"stem":2406},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":2408,"path":2409,"stem":2410},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"name":2412,"description":2413,"repo":2414,"npm":2412,"icon":2415,"github":2416,"website":2417,"learn_more":2418,"category":2419,"type":2420,"maintainers":2421,"compatibility":2425,"generatedAt":2428,"contributors":2429,"stats":2433,"readme":2441},"nuxt-actions","Type-safe server actions with Standard Schema validation, middleware, optimistic updates, streaming, and SSR queries","billymaulana\u002Fnuxt-actions","nuxt-actions.svg","https:\u002F\u002Fgithub.com\u002Fbillymaulana\u002Fnuxt-actions","https:\u002F\u002Fbillymaulana.github.io\u002Fnuxt-actions\u002F","https:\u002F\u002Fbillymaulana.github.io\u002Fnuxt-actions\u002Fguide\u002Fgetting-started","Request","3rd-party",[2422],{"name":2423,"github":2424},"Billy Maulana","billymaulana",{"nuxt":2426,"requires":2427},"^3.7.0 || ^4.0.0",{},"2026-08-30T20:33:45.071Z",[2430],{"id":2431,"username":2424,"contributions":2432},13347455,16,{"version":2434,"downloads":2435,"stars":2436,"watchers":2437,"forks":2437,"defaultBranch":2438,"publishedAt":2439,"createdAt":2440},"1.3.0",225,21,0,"main",1781148992812,1771483669905,{"data":2442,"body":2445,"toc":10420},{"title":2443,"description":2444},"","\n  ",{"type":2446,"children":2447},"root",[2448,2463,2468,2521,2545,2558,2584,2588,2602,2608,3045,3051,3056,3099,3104,3208,3213,3219,3232,3237,3623,3635,3948,4196,4208,4213,4360,4858,4864,4869,5262,5274,5279,6358,6394,6405,6410,7247,7252,7257,7596,7601,7728,7733,7738,8037,8042,8335,8341,8347,8358,8523,8533,8675,8693,8706,8716,8865,8871,8888,8900,9178,9183,9192,9202,9354,9358,9367,9377,9388,9545,9549,9558,9568,9573,9673,9677,9686,9696,9701,9798,9804,10164,10170,10175,10185,10190,10400,10405,10414],{"type":2449,"tag":2450,"props":2451,"children":2453},"element","p",{"align":2452},"center",[2454,2456],{"type":2455,"value":2444},"text",{"type":2449,"tag":2457,"props":2458,"children":2462},"img",{"src":2459,"width":2460,"height":2460,"alt":2461},".github\u002Fassets\u002Flogo.svg",120,"nuxt-actions logo",[],{"type":2449,"tag":2464,"props":2465,"children":2466},"h1",{"align":2452,"id":2412},[2467],{"type":2455,"value":2412},{"type":2449,"tag":2450,"props":2469,"children":2470},{"align":2452},[2471,2472,2482,2483,2492,2493,2501,2502,2511,2512],{"type":2455,"value":2444},{"type":2449,"tag":2473,"props":2474,"children":2476},"a",{"href":2475},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-actions",[2477],{"type":2449,"tag":2457,"props":2478,"children":2481},{"src":2479,"alt":2480},"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-actions\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82","npm version",[],{"type":2455,"value":2444},{"type":2449,"tag":2473,"props":2484,"children":2486},{"href":2485},"https:\u002F\u002Fnpm.chart.dev\u002Fnuxt-actions",[2487],{"type":2449,"tag":2457,"props":2488,"children":2491},{"src":2489,"alt":2490},"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-actions.svg?style=flat&colorA=020420&colorB=00DC82","npm downloads",[],{"type":2455,"value":2444},{"type":2449,"tag":2473,"props":2494,"children":2495},{"href":2475},[2496],{"type":2449,"tag":2457,"props":2497,"children":2500},{"src":2498,"alt":2499},"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-actions.svg?style=flat&colorA=020420&colorB=00DC82","License",[],{"type":2455,"value":2444},{"type":2449,"tag":2473,"props":2503,"children":2505},{"href":2504},"https:\u002F\u002Fnuxt.com",[2506],{"type":2449,"tag":2457,"props":2507,"children":2510},{"src":2508,"alt":2509},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt","Nuxt",[],{"type":2455,"value":2444},{"type":2449,"tag":2473,"props":2513,"children":2515},{"href":2514},"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fbillymaulana\u002Fnuxt-actions",[2516],{"type":2449,"tag":2457,"props":2517,"children":2520},{"src":2518,"alt":2519},"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fbillymaulana\u002Fnuxt-actions\u002Fgraph\u002Fbadge.svg","codecov",[],{"type":2449,"tag":2450,"props":2522,"children":2523},{"align":2452},[2524,2525,2530,2532,2538,2539],{"type":2455,"value":2444},{"type":2449,"tag":2473,"props":2526,"children":2527},{"href":2417},[2528],{"type":2455,"value":2529},"Documentation",{"type":2455,"value":2531}," |\n  ",{"type":2449,"tag":2473,"props":2533,"children":2535},{"href":2534},"https:\u002F\u002Fstackblitz.com\u002Fgithub\u002Fbillymaulana\u002Fnuxt-actions-example",[2536],{"type":2455,"value":2537},"Playground",{"type":2455,"value":2531},{"type":2449,"tag":2473,"props":2540,"children":2542},{"href":2541},"https:\u002F\u002Fgithub.com\u002Fbillymaulana\u002Fnuxt-actions-example",[2543],{"type":2455,"value":2544},"Example",{"type":2449,"tag":2450,"props":2546,"children":2547},{"align":2452},[2548,2550,2556],{"type":2455,"value":2549},"\nType-safe server actions for Nuxt with ",{"type":2449,"tag":2473,"props":2551,"children":2553},{"href":2552},"https:\u002F\u002Fstandardschema.dev\u002F",[2554],{"type":2455,"value":2555},"Standard Schema",{"type":2455,"value":2557}," validation, middleware, builder pattern, and optimistic updates.\n",{"type":2449,"tag":2450,"props":2559,"children":2560},{"align":2452},[2561,2563,2569,2571,2576,2577,2582],{"type":2455,"value":2562},"\nWorks with ",{"type":2449,"tag":2564,"props":2565,"children":2566},"strong",{},[2567],{"type":2455,"value":2568},"Zod",{"type":2455,"value":2570},", ",{"type":2449,"tag":2564,"props":2572,"children":2573},{},[2574],{"type":2455,"value":2575},"Valibot",{"type":2455,"value":2570},{"type":2449,"tag":2564,"props":2578,"children":2579},{},[2580],{"type":2455,"value":2581},"ArkType",{"type":2455,"value":2583},", and any Standard Schema compliant library.\n",{"type":2449,"tag":2585,"props":2586,"children":2587},"hr",{},[],{"type":2449,"tag":2589,"props":2590,"children":2591},"ul",{},[2592],{"type":2449,"tag":2593,"props":2594,"children":2595},"li",{},[2596],{"type":2449,"tag":2473,"props":2597,"children":2599},{"href":2598},"\u002FCHANGELOG.md",[2600],{"type":2455,"value":2601},"Release Notes",{"type":2449,"tag":2603,"props":2604,"children":2606},"h2",{"id":2605},"features",[2607],{"type":2455,"value":450},{"type":2449,"tag":2589,"props":2609,"children":2610},{},[2611,2620,2639,2657,2674,2698,2723,2748,2765,2795,2820,2845,2870,2887,2897,2914,2924,2942,2967,2977,2987,3005,3015,3025,3035],{"type":2449,"tag":2593,"props":2612,"children":2613},{},[2614,2618],{"type":2449,"tag":2564,"props":2615,"children":2616},{},[2617],{"type":2455,"value":2555},{"type":2455,"value":2619}," - Use Zod, Valibot, ArkType, or any compliant validation library",{"type":2449,"tag":2593,"props":2621,"children":2622},{},[2623,2628,2630,2637],{"type":2449,"tag":2564,"props":2624,"children":2625},{},[2626],{"type":2455,"value":2627},"E2E Type Inference",{"type":2455,"value":2629}," - Import typed action references from ",{"type":2449,"tag":2631,"props":2632,"children":2634},"code",{"className":2633},[],[2635],{"type":2455,"value":2636},"#actions",{"type":2455,"value":2638}," with zero manual generics",{"type":2449,"tag":2593,"props":2640,"children":2641},{},[2642,2647,2649,2655],{"type":2449,"tag":2564,"props":2643,"children":2644},{},[2645],{"type":2455,"value":2646},"Builder Pattern",{"type":2455,"value":2648}," - ",{"type":2449,"tag":2631,"props":2650,"children":2652},{"className":2651},[],[2653],{"type":2455,"value":2654},"createActionClient()",{"type":2455,"value":2656}," for composing actions with shared middleware",{"type":2449,"tag":2593,"props":2658,"children":2659},{},[2660,2665,2666,2672],{"type":2449,"tag":2564,"props":2661,"children":2662},{},[2663],{"type":2455,"value":2664},"Optimistic Updates",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2667,"children":2669},{"className":2668},[],[2670],{"type":2455,"value":2671},"useOptimisticAction",{"type":2455,"value":2673}," with race-safe rollback",{"type":2449,"tag":2593,"props":2675,"children":2676},{},[2677,2682,2683,2689,2691,2696],{"type":2449,"tag":2564,"props":2678,"children":2679},{},[2680],{"type":2455,"value":2681},"SSR Queries",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2684,"children":2686},{"className":2685},[],[2687],{"type":2455,"value":2688},"useActionQuery",{"type":2455,"value":2690}," wraps ",{"type":2449,"tag":2631,"props":2692,"children":2694},{"className":2693},[],[2695],{"type":2455,"value":616},{"type":2455,"value":2697}," for SSR, caching, and reactive re-fetching",{"type":2449,"tag":2593,"props":2699,"children":2700},{},[2701,2706,2707,2713,2715,2721],{"type":2449,"tag":2564,"props":2702,"children":2703},{},[2704],{"type":2455,"value":2705},"Smart Cache",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2708,"children":2710},{"className":2709},[],[2711],{"type":2455,"value":2712},"useActionMutation",{"type":2455,"value":2714}," auto-refetches affected queries via typed references or tags (",{"type":2449,"tag":2631,"props":2716,"children":2718},{"className":2717},[],[2719],{"type":2455,"value":2720},"invalidateTags",{"type":2455,"value":2722},")",{"type":2449,"tag":2593,"props":2724,"children":2725},{},[2726,2731,2732,2738,2740,2746],{"type":2449,"tag":2564,"props":2727,"children":2728},{},[2729],{"type":2455,"value":2730},"Streaming Actions",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2733,"children":2735},{"className":2734},[],[2736],{"type":2455,"value":2737},"defineStreamAction",{"type":2455,"value":2739}," + ",{"type":2449,"tag":2631,"props":2741,"children":2743},{"className":2742},[],[2744],{"type":2455,"value":2745},"useStreamAction",{"type":2455,"value":2747}," for real-time AI\u002Fstreaming use cases",{"type":2449,"tag":2593,"props":2749,"children":2750},{},[2751,2756,2757,2763],{"type":2449,"tag":2564,"props":2752,"children":2753},{},[2754],{"type":2455,"value":2755},"Retry\u002FBackoff",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2758,"children":2760},{"className":2759},[],[2761],{"type":2455,"value":2762},"retry: { count, delay, backoff: 'exponential' | 'linear', maxDelay, jitter }",{"type":2455,"value":2764}," with thundering-herd protection",{"type":2449,"tag":2593,"props":2766,"children":2767},{},[2768,2773,2774,2780,2781,2787,2789],{"type":2449,"tag":2564,"props":2769,"children":2770},{},[2771],{"type":2455,"value":2772},"Request Deduplication",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2775,"children":2777},{"className":2776},[],[2778],{"type":2455,"value":2779},"dedupe: 'cancel' | 'defer'",{"type":2455,"value":2570},{"type":2449,"tag":2631,"props":2782,"children":2784},{"className":2783},[],[2785],{"type":2455,"value":2786},"cancelPrevious: true",{"type":2455,"value":2788},", and manual ",{"type":2449,"tag":2631,"props":2790,"children":2792},{"className":2791},[],[2793],{"type":2455,"value":2794},"cancel()",{"type":2449,"tag":2593,"props":2796,"children":2797},{},[2798,2803,2804,2810,2812,2818],{"type":2449,"tag":2564,"props":2799,"children":2800},{},[2801],{"type":2455,"value":2802},"Idempotency",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2805,"children":2807},{"className":2806},[],[2808],{"type":2455,"value":2809},"idempotency",{"type":2455,"value":2811}," option replays duplicate ",{"type":2449,"tag":2631,"props":2813,"children":2815},{"className":2814},[],[2816],{"type":2455,"value":2817},"Idempotency-Key",{"type":2455,"value":2819}," requests instead of re-running handlers",{"type":2449,"tag":2593,"props":2821,"children":2822},{},[2823,2828,2829,2835,2837,2843],{"type":2449,"tag":2564,"props":2824,"children":2825},{},[2826],{"type":2455,"value":2827},"Global Hooks",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2830,"children":2832},{"className":2831},[],[2833],{"type":2455,"value":2834},"action:start\u002Fsuccess\u002Ferror\u002Fsettled",{"type":2455,"value":2836}," on ",{"type":2449,"tag":2631,"props":2838,"children":2840},{"className":2839},[],[2841],{"type":2455,"value":2842},"nuxtApp",{"type":2455,"value":2844}," for analytics, toasts, and monitoring",{"type":2449,"tag":2593,"props":2846,"children":2847},{},[2848,2853,2854,2860,2862,2868],{"type":2449,"tag":2564,"props":2849,"children":2850},{},[2851],{"type":2455,"value":2852},"Typed Error Codes",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2855,"children":2857},{"className":2856},[],[2858],{"type":2455,"value":2859},"ActionErrorCode",{"type":2455,"value":2861}," union + client-side ",{"type":2449,"tag":2631,"props":2863,"children":2865},{"className":2864},[],[2866],{"type":2455,"value":2867},"isActionError",{"type":2455,"value":2869}," for safe narrowing",{"type":2449,"tag":2593,"props":2871,"children":2872},{},[2873,2878,2879,2885],{"type":2449,"tag":2564,"props":2874,"children":2875},{},[2876],{"type":2455,"value":2877},"Grouped Namespace",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2880,"children":2882},{"className":2881},[],[2883],{"type":2455,"value":2884},"actions.auth.login",{"type":2455,"value":2886}," mirrors your directory structure alongside flat exports",{"type":2449,"tag":2593,"props":2888,"children":2889},{},[2890,2895],{"type":2449,"tag":2564,"props":2891,"children":2892},{},[2893],{"type":2455,"value":2894},"Custom Headers",{"type":2455,"value":2896}," - Per-request auth tokens via static headers or function",{"type":2449,"tag":2593,"props":2898,"children":2899},{},[2900,2905,2906,2912],{"type":2449,"tag":2564,"props":2901,"children":2902},{},[2903],{"type":2455,"value":2904},"CLI Scaffold",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2907,"children":2909},{"className":2908},[],[2910],{"type":2455,"value":2911},"npx nuxt-actions add \u003Cname>",{"type":2455,"value":2913}," generates a typed action file",{"type":2449,"tag":2593,"props":2915,"children":2916},{},[2917,2922],{"type":2449,"tag":2564,"props":2918,"children":2919},{},[2920],{"type":2455,"value":2921},"OpenAPI",{"type":2455,"value":2923}," - generate an OpenAPI 3.1 document + Swagger UI from your actions",{"type":2449,"tag":2593,"props":2925,"children":2926},{},[2927,2932,2934,2940],{"type":2449,"tag":2564,"props":2928,"children":2929},{},[2930],{"type":2455,"value":2931},"File Uploads",{"type":2455,"value":2933}," - multipart actions parse files into typed ",{"type":2449,"tag":2631,"props":2935,"children":2937},{"className":2936},[],[2938],{"type":2455,"value":2939},"ActionFile",{"type":2455,"value":2941}," fields",{"type":2449,"tag":2593,"props":2943,"children":2944},{},[2945,2950,2951,2957,2959,2965],{"type":2449,"tag":2564,"props":2946,"children":2947},{},[2948],{"type":2455,"value":2949},"Auth Preset",{"type":2455,"value":2648},{"type":2449,"tag":2631,"props":2952,"children":2954},{"className":2953},[],[2955],{"type":2455,"value":2956},"defineAuthMiddleware",{"type":2455,"value":2958}," populates ",{"type":2449,"tag":2631,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":2455,"value":2964},"ctx.user",{"type":2455,"value":2966}," or rejects with 401",{"type":2449,"tag":2593,"props":2968,"children":2969},{},[2970,2975],{"type":2449,"tag":2564,"props":2971,"children":2972},{},[2973],{"type":2455,"value":2974},"HMR Type Updates",{"type":2455,"value":2976}," - Action file changes update types without restarting dev server",{"type":2449,"tag":2593,"props":2978,"children":2979},{},[2980,2985],{"type":2449,"tag":2564,"props":2981,"children":2982},{},[2983],{"type":2455,"value":2984},"DevTools Tab",{"type":2455,"value":2986}," - Nuxt DevTools integration showing registered actions",{"type":2449,"tag":2593,"props":2988,"children":2989},{},[2990,2995,2997,3003],{"type":2449,"tag":2564,"props":2991,"children":2992},{},[2993],{"type":2455,"value":2994},"Security Hardened",{"type":2455,"value":2996}," - Prototype pollution protection, error message sanitization, double ",{"type":2449,"tag":2631,"props":2998,"children":3000},{"className":2999},[],[3001],{"type":2455,"value":3002},"next()",{"type":2455,"value":3004}," prevention",{"type":2449,"tag":2593,"props":3006,"children":3007},{},[3008,3013],{"type":2449,"tag":2564,"props":3009,"children":3010},{},[3011],{"type":2455,"value":3012},"Output Validation",{"type":2455,"value":3014}," - Validate server responses, not just inputs",{"type":2449,"tag":2593,"props":3016,"children":3017},{},[3018,3023],{"type":2449,"tag":2564,"props":3019,"children":3020},{},[3021],{"type":2455,"value":3022},"Middleware Chain",{"type":2455,"value":3024}," - Reusable, composable middleware with typed context accumulation",{"type":2449,"tag":2593,"props":3026,"children":3027},{},[3028,3033],{"type":2449,"tag":2564,"props":3029,"children":3030},{},[3031],{"type":2455,"value":3032},"Type Tests",{"type":2455,"value":3034}," - 24 compile-time type tests verifying type inference correctness",{"type":2449,"tag":2593,"props":3036,"children":3037},{},[3038,3043],{"type":2449,"tag":2564,"props":3039,"children":3040},{},[3041],{"type":2455,"value":3042},"Zero Config",{"type":2455,"value":3044}," - Auto-imported, works out of the box",{"type":2449,"tag":2603,"props":3046,"children":3048},{"id":3047},"quick-setup",[3049],{"type":2455,"value":3050},"Quick Setup",{"type":2449,"tag":2450,"props":3052,"children":3053},{},[3054],{"type":2455,"value":3055},"Install the module:",{"type":2449,"tag":3057,"props":3058,"children":3062},"pre",{"className":3059,"code":3060,"language":3061,"meta":2443,"style":2443},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi module add nuxt-actions\n","bash",[3063],{"type":2449,"tag":2631,"props":3064,"children":3065},{"__ignoreMap":2443},[3066],{"type":2449,"tag":3067,"props":3068,"children":3071},"span",{"class":3069,"line":3070},"line",1,[3072,3078,3084,3089,3094],{"type":2449,"tag":3067,"props":3073,"children":3075},{"style":3074},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[3076],{"type":2455,"value":3077},"npx",{"type":2449,"tag":3067,"props":3079,"children":3081},{"style":3080},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[3082],{"type":2455,"value":3083}," nuxi",{"type":2449,"tag":3067,"props":3085,"children":3086},{"style":3080},[3087],{"type":2455,"value":3088}," module",{"type":2449,"tag":3067,"props":3090,"children":3091},{"style":3080},[3092],{"type":2455,"value":3093}," add",{"type":2449,"tag":3067,"props":3095,"children":3096},{"style":3080},[3097],{"type":2455,"value":3098}," nuxt-actions\n",{"type":2449,"tag":2450,"props":3100,"children":3101},{},[3102],{"type":2455,"value":3103},"Then install your preferred validation library:",{"type":2449,"tag":3057,"props":3105,"children":3107},{"className":3059,"code":3106,"language":3061,"meta":2443,"style":2443},"# Zod (most popular)\npnpm add zod\n\n# Valibot (smallest bundle)\npnpm add valibot\n\n# ArkType (fastest runtime)\npnpm add arktype\n",[3108],{"type":2449,"tag":2631,"props":3109,"children":3110},{"__ignoreMap":2443},[3111,3120,3138,3148,3157,3174,3182,3191],{"type":2449,"tag":3067,"props":3112,"children":3113},{"class":3069,"line":3070},[3114],{"type":2449,"tag":3067,"props":3115,"children":3117},{"style":3116},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3118],{"type":2455,"value":3119},"# Zod (most popular)\n",{"type":2449,"tag":3067,"props":3121,"children":3123},{"class":3069,"line":3122},2,[3124,3129,3133],{"type":2449,"tag":3067,"props":3125,"children":3126},{"style":3074},[3127],{"type":2455,"value":3128},"pnpm",{"type":2449,"tag":3067,"props":3130,"children":3131},{"style":3080},[3132],{"type":2455,"value":3093},{"type":2449,"tag":3067,"props":3134,"children":3135},{"style":3080},[3136],{"type":2455,"value":3137}," zod\n",{"type":2449,"tag":3067,"props":3139,"children":3141},{"class":3069,"line":3140},3,[3142],{"type":2449,"tag":3067,"props":3143,"children":3145},{"emptyLinePlaceholder":3144},true,[3146],{"type":2455,"value":3147},"\n",{"type":2449,"tag":3067,"props":3149,"children":3151},{"class":3069,"line":3150},4,[3152],{"type":2449,"tag":3067,"props":3153,"children":3154},{"style":3116},[3155],{"type":2455,"value":3156},"# Valibot (smallest bundle)\n",{"type":2449,"tag":3067,"props":3158,"children":3160},{"class":3069,"line":3159},5,[3161,3165,3169],{"type":2449,"tag":3067,"props":3162,"children":3163},{"style":3074},[3164],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":3166,"children":3167},{"style":3080},[3168],{"type":2455,"value":3093},{"type":2449,"tag":3067,"props":3170,"children":3171},{"style":3080},[3172],{"type":2455,"value":3173}," valibot\n",{"type":2449,"tag":3067,"props":3175,"children":3177},{"class":3069,"line":3176},6,[3178],{"type":2449,"tag":3067,"props":3179,"children":3180},{"emptyLinePlaceholder":3144},[3181],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":3183,"children":3185},{"class":3069,"line":3184},7,[3186],{"type":2449,"tag":3067,"props":3187,"children":3188},{"style":3116},[3189],{"type":2455,"value":3190},"# ArkType (fastest runtime)\n",{"type":2449,"tag":3067,"props":3192,"children":3194},{"class":3069,"line":3193},8,[3195,3199,3203],{"type":2449,"tag":3067,"props":3196,"children":3197},{"style":3074},[3198],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":3200,"children":3201},{"style":3080},[3202],{"type":2455,"value":3093},{"type":2449,"tag":3067,"props":3204,"children":3205},{"style":3080},[3206],{"type":2455,"value":3207}," arktype\n",{"type":2449,"tag":2450,"props":3209,"children":3210},{},[3211],{"type":2455,"value":3212},"That's it! All utilities are auto-imported.",{"type":2449,"tag":2603,"props":3214,"children":3216},{"id":3215},"usage",[3217],{"type":2455,"value":3218},"Usage",{"type":2449,"tag":3220,"props":3221,"children":3223},"h3",{"id":3222},"simple-mode-defineaction",[3224,3226],{"type":2455,"value":3225},"Simple Mode: ",{"type":2449,"tag":2631,"props":3227,"children":3229},{"className":3228},[],[3230],{"type":2455,"value":3231},"defineAction",{"type":2449,"tag":2450,"props":3233,"children":3234},{},[3235],{"type":2455,"value":3236},"Create type-safe API routes with automatic input validation:",{"type":2449,"tag":3057,"props":3238,"children":3242},{"className":3239,"code":3240,"language":3241,"meta":2443,"style":2443},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u002F\u002F server\u002Fapi\u002Ftodos.post.ts\nimport { z } from 'zod'\n\nexport default defineAction({\n  input: z.object({\n    title: z.string().min(1, 'Title is required'),\n  }),\n  handler: async ({ input }) => {\n    const todo = await db.todo.create({ data: input })\n    return todo\n  },\n})\n","ts",[3243],{"type":2449,"tag":2631,"props":3244,"children":3245},{"__ignoreMap":2443},[3246,3254,3300,3307,3336,3372,3449,3465,3509,3587,3601,3610],{"type":2449,"tag":3067,"props":3247,"children":3248},{"class":3069,"line":3070},[3249],{"type":2449,"tag":3067,"props":3250,"children":3251},{"style":3116},[3252],{"type":2455,"value":3253},"\u002F\u002F server\u002Fapi\u002Ftodos.post.ts\n",{"type":2449,"tag":3067,"props":3255,"children":3256},{"class":3069,"line":3122},[3257,3263,3269,3275,3280,3285,3290,3295],{"type":2449,"tag":3067,"props":3258,"children":3260},{"style":3259},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3261],{"type":2455,"value":3262},"import",{"type":2449,"tag":3067,"props":3264,"children":3266},{"style":3265},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[3267],{"type":2455,"value":3268}," {",{"type":2449,"tag":3067,"props":3270,"children":3272},{"style":3271},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[3273],{"type":2455,"value":3274}," z",{"type":2449,"tag":3067,"props":3276,"children":3277},{"style":3265},[3278],{"type":2455,"value":3279}," }",{"type":2449,"tag":3067,"props":3281,"children":3282},{"style":3259},[3283],{"type":2455,"value":3284}," from",{"type":2449,"tag":3067,"props":3286,"children":3287},{"style":3265},[3288],{"type":2455,"value":3289}," '",{"type":2449,"tag":3067,"props":3291,"children":3292},{"style":3080},[3293],{"type":2455,"value":3294},"zod",{"type":2449,"tag":3067,"props":3296,"children":3297},{"style":3265},[3298],{"type":2455,"value":3299},"'\n",{"type":2449,"tag":3067,"props":3301,"children":3302},{"class":3069,"line":3140},[3303],{"type":2449,"tag":3067,"props":3304,"children":3305},{"emptyLinePlaceholder":3144},[3306],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":3308,"children":3309},{"class":3069,"line":3150},[3310,3315,3320,3326,3331],{"type":2449,"tag":3067,"props":3311,"children":3312},{"style":3259},[3313],{"type":2455,"value":3314},"export",{"type":2449,"tag":3067,"props":3316,"children":3317},{"style":3259},[3318],{"type":2455,"value":3319}," default",{"type":2449,"tag":3067,"props":3321,"children":3323},{"style":3322},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[3324],{"type":2455,"value":3325}," defineAction",{"type":2449,"tag":3067,"props":3327,"children":3328},{"style":3271},[3329],{"type":2455,"value":3330},"(",{"type":2449,"tag":3067,"props":3332,"children":3333},{"style":3265},[3334],{"type":2455,"value":3335},"{\n",{"type":2449,"tag":3067,"props":3337,"children":3338},{"class":3069,"line":3159},[3339,3345,3350,3354,3359,3364,3368],{"type":2449,"tag":3067,"props":3340,"children":3342},{"style":3341},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[3343],{"type":2455,"value":3344},"  input",{"type":2449,"tag":3067,"props":3346,"children":3347},{"style":3265},[3348],{"type":2455,"value":3349},":",{"type":2449,"tag":3067,"props":3351,"children":3352},{"style":3271},[3353],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":3355,"children":3356},{"style":3265},[3357],{"type":2455,"value":3358},".",{"type":2449,"tag":3067,"props":3360,"children":3361},{"style":3322},[3362],{"type":2455,"value":3363},"object",{"type":2449,"tag":3067,"props":3365,"children":3366},{"style":3271},[3367],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":3369,"children":3370},{"style":3265},[3371],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":3373,"children":3374},{"class":3069,"line":3176},[3375,3380,3384,3388,3392,3397,3402,3406,3411,3415,3421,3426,3430,3435,3440,3444],{"type":2449,"tag":3067,"props":3376,"children":3377},{"style":3341},[3378],{"type":2455,"value":3379},"    title",{"type":2449,"tag":3067,"props":3381,"children":3382},{"style":3265},[3383],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3385,"children":3386},{"style":3271},[3387],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":3389,"children":3390},{"style":3265},[3391],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3393,"children":3394},{"style":3322},[3395],{"type":2455,"value":3396},"string",{"type":2449,"tag":3067,"props":3398,"children":3399},{"style":3271},[3400],{"type":2455,"value":3401},"()",{"type":2449,"tag":3067,"props":3403,"children":3404},{"style":3265},[3405],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3407,"children":3408},{"style":3322},[3409],{"type":2455,"value":3410},"min",{"type":2449,"tag":3067,"props":3412,"children":3413},{"style":3271},[3414],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":3416,"children":3418},{"style":3417},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[3419],{"type":2455,"value":3420},"1",{"type":2449,"tag":3067,"props":3422,"children":3423},{"style":3265},[3424],{"type":2455,"value":3425},",",{"type":2449,"tag":3067,"props":3427,"children":3428},{"style":3265},[3429],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":3431,"children":3432},{"style":3080},[3433],{"type":2455,"value":3434},"Title is required",{"type":2449,"tag":3067,"props":3436,"children":3437},{"style":3265},[3438],{"type":2455,"value":3439},"'",{"type":2449,"tag":3067,"props":3441,"children":3442},{"style":3271},[3443],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":3445,"children":3446},{"style":3265},[3447],{"type":2455,"value":3448},",\n",{"type":2449,"tag":3067,"props":3450,"children":3451},{"class":3069,"line":3184},[3452,3457,3461],{"type":2449,"tag":3067,"props":3453,"children":3454},{"style":3265},[3455],{"type":2455,"value":3456},"  }",{"type":2449,"tag":3067,"props":3458,"children":3459},{"style":3271},[3460],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":3462,"children":3463},{"style":3265},[3464],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":3466,"children":3467},{"class":3069,"line":3193},[3468,3473,3477,3483,3488,3494,3499,3504],{"type":2449,"tag":3067,"props":3469,"children":3470},{"style":3322},[3471],{"type":2455,"value":3472},"  handler",{"type":2449,"tag":3067,"props":3474,"children":3475},{"style":3265},[3476],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3478,"children":3480},{"style":3479},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3481],{"type":2455,"value":3482}," async",{"type":2449,"tag":3067,"props":3484,"children":3485},{"style":3265},[3486],{"type":2455,"value":3487}," ({",{"type":2449,"tag":3067,"props":3489,"children":3491},{"style":3490},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3492],{"type":2455,"value":3493}," input",{"type":2449,"tag":3067,"props":3495,"children":3496},{"style":3265},[3497],{"type":2455,"value":3498}," })",{"type":2449,"tag":3067,"props":3500,"children":3501},{"style":3479},[3502],{"type":2455,"value":3503}," =>",{"type":2449,"tag":3067,"props":3505,"children":3506},{"style":3265},[3507],{"type":2455,"value":3508}," {\n",{"type":2449,"tag":3067,"props":3510,"children":3512},{"class":3069,"line":3511},9,[3513,3518,3523,3528,3533,3538,3542,3547,3551,3556,3560,3565,3570,3574,3578,3582],{"type":2449,"tag":3067,"props":3514,"children":3515},{"style":3479},[3516],{"type":2455,"value":3517},"    const",{"type":2449,"tag":3067,"props":3519,"children":3520},{"style":3271},[3521],{"type":2455,"value":3522}," todo",{"type":2449,"tag":3067,"props":3524,"children":3525},{"style":3265},[3526],{"type":2455,"value":3527}," =",{"type":2449,"tag":3067,"props":3529,"children":3530},{"style":3259},[3531],{"type":2455,"value":3532}," await",{"type":2449,"tag":3067,"props":3534,"children":3535},{"style":3271},[3536],{"type":2455,"value":3537}," db",{"type":2449,"tag":3067,"props":3539,"children":3540},{"style":3265},[3541],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3543,"children":3544},{"style":3271},[3545],{"type":2455,"value":3546},"todo",{"type":2449,"tag":3067,"props":3548,"children":3549},{"style":3265},[3550],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3552,"children":3553},{"style":3322},[3554],{"type":2455,"value":3555},"create",{"type":2449,"tag":3067,"props":3557,"children":3558},{"style":3341},[3559],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":3561,"children":3562},{"style":3265},[3563],{"type":2455,"value":3564},"{",{"type":2449,"tag":3067,"props":3566,"children":3567},{"style":3341},[3568],{"type":2455,"value":3569}," data",{"type":2449,"tag":3067,"props":3571,"children":3572},{"style":3265},[3573],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3575,"children":3576},{"style":3271},[3577],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":3579,"children":3580},{"style":3265},[3581],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":3583,"children":3584},{"style":3341},[3585],{"type":2455,"value":3586},")\n",{"type":2449,"tag":3067,"props":3588,"children":3590},{"class":3069,"line":3589},10,[3591,3596],{"type":2449,"tag":3067,"props":3592,"children":3593},{"style":3259},[3594],{"type":2455,"value":3595},"    return",{"type":2449,"tag":3067,"props":3597,"children":3598},{"style":3271},[3599],{"type":2455,"value":3600}," todo\n",{"type":2449,"tag":3067,"props":3602,"children":3604},{"class":3069,"line":3603},11,[3605],{"type":2449,"tag":3067,"props":3606,"children":3607},{"style":3265},[3608],{"type":2455,"value":3609},"  },\n",{"type":2449,"tag":3067,"props":3611,"children":3613},{"class":3069,"line":3612},12,[3614,3619],{"type":2449,"tag":3067,"props":3615,"children":3616},{"style":3265},[3617],{"type":2455,"value":3618},"}",{"type":2449,"tag":3067,"props":3620,"children":3621},{"style":3271},[3622],{"type":2455,"value":3586},{"type":2449,"tag":2450,"props":3624,"children":3625},{},[3626,3628,3633],{"type":2455,"value":3627},"Works with ",{"type":2449,"tag":2564,"props":3629,"children":3630},{},[3631],{"type":2455,"value":3632},"any",{"type":2455,"value":3634}," Standard Schema library:",{"type":2449,"tag":3057,"props":3636,"children":3638},{"className":3239,"code":3637,"language":3241,"meta":2443,"style":2443},"\u002F\u002F With Valibot\nimport * as v from 'valibot'\n\nexport default defineAction({\n  input: v.object({ title: v.pipe(v.string(), v.minLength(1)) }),\n  handler: async ({ input }) => ({ id: Date.now(), title: input.title }),\n})\n",[3639],{"type":2449,"tag":2631,"props":3640,"children":3641},{"__ignoreMap":2443},[3642,3650,3690,3697,3720,3833,3937],{"type":2449,"tag":3067,"props":3643,"children":3644},{"class":3069,"line":3070},[3645],{"type":2449,"tag":3067,"props":3646,"children":3647},{"style":3116},[3648],{"type":2455,"value":3649},"\u002F\u002F With Valibot\n",{"type":2449,"tag":3067,"props":3651,"children":3652},{"class":3069,"line":3122},[3653,3657,3662,3667,3672,3677,3681,3686],{"type":2449,"tag":3067,"props":3654,"children":3655},{"style":3259},[3656],{"type":2455,"value":3262},{"type":2449,"tag":3067,"props":3658,"children":3659},{"style":3265},[3660],{"type":2455,"value":3661}," *",{"type":2449,"tag":3067,"props":3663,"children":3664},{"style":3259},[3665],{"type":2455,"value":3666}," as",{"type":2449,"tag":3067,"props":3668,"children":3669},{"style":3271},[3670],{"type":2455,"value":3671}," v ",{"type":2449,"tag":3067,"props":3673,"children":3674},{"style":3259},[3675],{"type":2455,"value":3676},"from",{"type":2449,"tag":3067,"props":3678,"children":3679},{"style":3265},[3680],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":3682,"children":3683},{"style":3080},[3684],{"type":2455,"value":3685},"valibot",{"type":2449,"tag":3067,"props":3687,"children":3688},{"style":3265},[3689],{"type":2455,"value":3299},{"type":2449,"tag":3067,"props":3691,"children":3692},{"class":3069,"line":3140},[3693],{"type":2449,"tag":3067,"props":3694,"children":3695},{"emptyLinePlaceholder":3144},[3696],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":3698,"children":3699},{"class":3069,"line":3150},[3700,3704,3708,3712,3716],{"type":2449,"tag":3067,"props":3701,"children":3702},{"style":3259},[3703],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":3705,"children":3706},{"style":3259},[3707],{"type":2455,"value":3319},{"type":2449,"tag":3067,"props":3709,"children":3710},{"style":3322},[3711],{"type":2455,"value":3325},{"type":2449,"tag":3067,"props":3713,"children":3714},{"style":3271},[3715],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":3717,"children":3718},{"style":3265},[3719],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":3721,"children":3722},{"class":3069,"line":3159},[3723,3727,3731,3736,3740,3744,3748,3752,3757,3761,3765,3769,3774,3779,3783,3787,3791,3795,3799,3803,3808,3812,3816,3821,3825,3829],{"type":2449,"tag":3067,"props":3724,"children":3725},{"style":3341},[3726],{"type":2455,"value":3344},{"type":2449,"tag":3067,"props":3728,"children":3729},{"style":3265},[3730],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3732,"children":3733},{"style":3271},[3734],{"type":2455,"value":3735}," v",{"type":2449,"tag":3067,"props":3737,"children":3738},{"style":3265},[3739],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3741,"children":3742},{"style":3322},[3743],{"type":2455,"value":3363},{"type":2449,"tag":3067,"props":3745,"children":3746},{"style":3271},[3747],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":3749,"children":3750},{"style":3265},[3751],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":3753,"children":3754},{"style":3341},[3755],{"type":2455,"value":3756}," title",{"type":2449,"tag":3067,"props":3758,"children":3759},{"style":3265},[3760],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3762,"children":3763},{"style":3271},[3764],{"type":2455,"value":3735},{"type":2449,"tag":3067,"props":3766,"children":3767},{"style":3265},[3768],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3770,"children":3771},{"style":3322},[3772],{"type":2455,"value":3773},"pipe",{"type":2449,"tag":3067,"props":3775,"children":3776},{"style":3271},[3777],{"type":2455,"value":3778},"(v",{"type":2449,"tag":3067,"props":3780,"children":3781},{"style":3265},[3782],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3784,"children":3785},{"style":3322},[3786],{"type":2455,"value":3396},{"type":2449,"tag":3067,"props":3788,"children":3789},{"style":3271},[3790],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":3792,"children":3793},{"style":3265},[3794],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":3796,"children":3797},{"style":3271},[3798],{"type":2455,"value":3735},{"type":2449,"tag":3067,"props":3800,"children":3801},{"style":3265},[3802],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3804,"children":3805},{"style":3322},[3806],{"type":2455,"value":3807},"minLength",{"type":2449,"tag":3067,"props":3809,"children":3810},{"style":3271},[3811],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":3813,"children":3814},{"style":3417},[3815],{"type":2455,"value":3420},{"type":2449,"tag":3067,"props":3817,"children":3818},{"style":3271},[3819],{"type":2455,"value":3820},")) ",{"type":2449,"tag":3067,"props":3822,"children":3823},{"style":3265},[3824],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":3826,"children":3827},{"style":3271},[3828],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":3830,"children":3831},{"style":3265},[3832],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":3834,"children":3835},{"class":3069,"line":3176},[3836,3840,3844,3848,3852,3856,3860,3864,3869,3873,3878,3882,3887,3891,3896,3900,3904,3908,3912,3916,3920,3925,3929,3933],{"type":2449,"tag":3067,"props":3837,"children":3838},{"style":3322},[3839],{"type":2455,"value":3472},{"type":2449,"tag":3067,"props":3841,"children":3842},{"style":3265},[3843],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3845,"children":3846},{"style":3479},[3847],{"type":2455,"value":3482},{"type":2449,"tag":3067,"props":3849,"children":3850},{"style":3265},[3851],{"type":2455,"value":3487},{"type":2449,"tag":3067,"props":3853,"children":3854},{"style":3490},[3855],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":3857,"children":3858},{"style":3265},[3859],{"type":2455,"value":3498},{"type":2449,"tag":3067,"props":3861,"children":3862},{"style":3479},[3863],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":3865,"children":3866},{"style":3271},[3867],{"type":2455,"value":3868}," (",{"type":2449,"tag":3067,"props":3870,"children":3871},{"style":3265},[3872],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":3874,"children":3875},{"style":3341},[3876],{"type":2455,"value":3877}," id",{"type":2449,"tag":3067,"props":3879,"children":3880},{"style":3265},[3881],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3883,"children":3884},{"style":3271},[3885],{"type":2455,"value":3886}," Date",{"type":2449,"tag":3067,"props":3888,"children":3889},{"style":3265},[3890],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3892,"children":3893},{"style":3322},[3894],{"type":2455,"value":3895},"now",{"type":2449,"tag":3067,"props":3897,"children":3898},{"style":3271},[3899],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":3901,"children":3902},{"style":3265},[3903],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":3905,"children":3906},{"style":3341},[3907],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":3909,"children":3910},{"style":3265},[3911],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":3913,"children":3914},{"style":3271},[3915],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":3917,"children":3918},{"style":3265},[3919],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":3921,"children":3922},{"style":3271},[3923],{"type":2455,"value":3924},"title ",{"type":2449,"tag":3067,"props":3926,"children":3927},{"style":3265},[3928],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":3930,"children":3931},{"style":3271},[3932],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":3934,"children":3935},{"style":3265},[3936],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":3938,"children":3939},{"class":3069,"line":3184},[3940,3944],{"type":2449,"tag":3067,"props":3941,"children":3942},{"style":3265},[3943],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":3945,"children":3946},{"style":3271},[3947],{"type":2455,"value":3586},{"type":2449,"tag":3057,"props":3949,"children":3951},{"className":3239,"code":3950,"language":3241,"meta":2443,"style":2443},"\u002F\u002F With ArkType\nimport { type } from 'arktype'\n\nexport default defineAction({\n  input: type({ title: 'string > 0' }),\n  handler: async ({ input }) => ({ id: Date.now(), title: input.title }),\n})\n",[3952],{"type":2449,"tag":2631,"props":3953,"children":3954},{"__ignoreMap":2443},[3955,3963,4000,4007,4030,4086,4185],{"type":2449,"tag":3067,"props":3956,"children":3957},{"class":3069,"line":3070},[3958],{"type":2449,"tag":3067,"props":3959,"children":3960},{"style":3116},[3961],{"type":2455,"value":3962},"\u002F\u002F With ArkType\n",{"type":2449,"tag":3067,"props":3964,"children":3965},{"class":3069,"line":3122},[3966,3970,3974,3979,3983,3987,3991,3996],{"type":2449,"tag":3067,"props":3967,"children":3968},{"style":3259},[3969],{"type":2455,"value":3262},{"type":2449,"tag":3067,"props":3971,"children":3972},{"style":3265},[3973],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":3975,"children":3976},{"style":3271},[3977],{"type":2455,"value":3978}," type",{"type":2449,"tag":3067,"props":3980,"children":3981},{"style":3265},[3982],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":3984,"children":3985},{"style":3259},[3986],{"type":2455,"value":3284},{"type":2449,"tag":3067,"props":3988,"children":3989},{"style":3265},[3990],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":3992,"children":3993},{"style":3080},[3994],{"type":2455,"value":3995},"arktype",{"type":2449,"tag":3067,"props":3997,"children":3998},{"style":3265},[3999],{"type":2455,"value":3299},{"type":2449,"tag":3067,"props":4001,"children":4002},{"class":3069,"line":3140},[4003],{"type":2449,"tag":3067,"props":4004,"children":4005},{"emptyLinePlaceholder":3144},[4006],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":4008,"children":4009},{"class":3069,"line":3150},[4010,4014,4018,4022,4026],{"type":2449,"tag":3067,"props":4011,"children":4012},{"style":3259},[4013],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":4015,"children":4016},{"style":3259},[4017],{"type":2455,"value":3319},{"type":2449,"tag":3067,"props":4019,"children":4020},{"style":3322},[4021],{"type":2455,"value":3325},{"type":2449,"tag":3067,"props":4023,"children":4024},{"style":3271},[4025],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4027,"children":4028},{"style":3265},[4029],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":4031,"children":4032},{"class":3069,"line":3159},[4033,4037,4041,4045,4049,4053,4057,4061,4065,4070,4074,4078,4082],{"type":2449,"tag":3067,"props":4034,"children":4035},{"style":3341},[4036],{"type":2455,"value":3344},{"type":2449,"tag":3067,"props":4038,"children":4039},{"style":3265},[4040],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4042,"children":4043},{"style":3322},[4044],{"type":2455,"value":3978},{"type":2449,"tag":3067,"props":4046,"children":4047},{"style":3271},[4048],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4050,"children":4051},{"style":3265},[4052],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":4054,"children":4055},{"style":3341},[4056],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":4058,"children":4059},{"style":3265},[4060],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4062,"children":4063},{"style":3265},[4064],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":4066,"children":4067},{"style":3080},[4068],{"type":2455,"value":4069},"string > 0",{"type":2449,"tag":3067,"props":4071,"children":4072},{"style":3265},[4073],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":4075,"children":4076},{"style":3265},[4077],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":4079,"children":4080},{"style":3271},[4081],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":4083,"children":4084},{"style":3265},[4085],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":4087,"children":4088},{"class":3069,"line":3176},[4089,4093,4097,4101,4105,4109,4113,4117,4121,4125,4129,4133,4137,4141,4145,4149,4153,4157,4161,4165,4169,4173,4177,4181],{"type":2449,"tag":3067,"props":4090,"children":4091},{"style":3322},[4092],{"type":2455,"value":3472},{"type":2449,"tag":3067,"props":4094,"children":4095},{"style":3265},[4096],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4098,"children":4099},{"style":3479},[4100],{"type":2455,"value":3482},{"type":2449,"tag":3067,"props":4102,"children":4103},{"style":3265},[4104],{"type":2455,"value":3487},{"type":2449,"tag":3067,"props":4106,"children":4107},{"style":3490},[4108],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":4110,"children":4111},{"style":3265},[4112],{"type":2455,"value":3498},{"type":2449,"tag":3067,"props":4114,"children":4115},{"style":3479},[4116],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":4118,"children":4119},{"style":3271},[4120],{"type":2455,"value":3868},{"type":2449,"tag":3067,"props":4122,"children":4123},{"style":3265},[4124],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":4126,"children":4127},{"style":3341},[4128],{"type":2455,"value":3877},{"type":2449,"tag":3067,"props":4130,"children":4131},{"style":3265},[4132],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4134,"children":4135},{"style":3271},[4136],{"type":2455,"value":3886},{"type":2449,"tag":3067,"props":4138,"children":4139},{"style":3265},[4140],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4142,"children":4143},{"style":3322},[4144],{"type":2455,"value":3895},{"type":2449,"tag":3067,"props":4146,"children":4147},{"style":3271},[4148],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":4150,"children":4151},{"style":3265},[4152],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":4154,"children":4155},{"style":3341},[4156],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":4158,"children":4159},{"style":3265},[4160],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4162,"children":4163},{"style":3271},[4164],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":4166,"children":4167},{"style":3265},[4168],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4170,"children":4171},{"style":3271},[4172],{"type":2455,"value":3924},{"type":2449,"tag":3067,"props":4174,"children":4175},{"style":3265},[4176],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":4178,"children":4179},{"style":3271},[4180],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":4182,"children":4183},{"style":3265},[4184],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":4186,"children":4187},{"class":3069,"line":3184},[4188,4192],{"type":2449,"tag":3067,"props":4189,"children":4190},{"style":3265},[4191],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":4193,"children":4194},{"style":3271},[4195],{"type":2455,"value":3586},{"type":2449,"tag":3220,"props":4197,"children":4199},{"id":4198},"builder-mode-createactionclient",[4200,4202],{"type":2455,"value":4201},"Builder Mode: ",{"type":2449,"tag":2631,"props":4203,"children":4205},{"className":4204},[],[4206],{"type":2455,"value":4207},"createActionClient",{"type":2449,"tag":2450,"props":4209,"children":4210},{},[4211],{"type":2455,"value":4212},"Share middleware, metadata, and configuration across actions:",{"type":2449,"tag":3057,"props":4214,"children":4216},{"className":3239,"code":4215,"language":3241,"meta":2443,"style":2443},"\u002F\u002F server\u002Futils\u002Faction-clients.ts\nexport const authClient = createActionClient()\n  .use(authMiddleware)\n  .use(rateLimitMiddleware)\n\nexport const adminClient = createActionClient()\n  .use(authMiddleware)\n  .use(adminMiddleware)\n",[4217],{"type":2449,"tag":2631,"props":4218,"children":4219},{"__ignoreMap":2443},[4220,4228,4260,4278,4294,4301,4329,4344],{"type":2449,"tag":3067,"props":4221,"children":4222},{"class":3069,"line":3070},[4223],{"type":2449,"tag":3067,"props":4224,"children":4225},{"style":3116},[4226],{"type":2455,"value":4227},"\u002F\u002F server\u002Futils\u002Faction-clients.ts\n",{"type":2449,"tag":3067,"props":4229,"children":4230},{"class":3069,"line":3122},[4231,4235,4240,4245,4250,4255],{"type":2449,"tag":3067,"props":4232,"children":4233},{"style":3259},[4234],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":4236,"children":4237},{"style":3479},[4238],{"type":2455,"value":4239}," const",{"type":2449,"tag":3067,"props":4241,"children":4242},{"style":3271},[4243],{"type":2455,"value":4244}," authClient ",{"type":2449,"tag":3067,"props":4246,"children":4247},{"style":3265},[4248],{"type":2455,"value":4249},"=",{"type":2449,"tag":3067,"props":4251,"children":4252},{"style":3322},[4253],{"type":2455,"value":4254}," createActionClient",{"type":2449,"tag":3067,"props":4256,"children":4257},{"style":3271},[4258],{"type":2455,"value":4259},"()\n",{"type":2449,"tag":3067,"props":4261,"children":4262},{"class":3069,"line":3140},[4263,4268,4273],{"type":2449,"tag":3067,"props":4264,"children":4265},{"style":3265},[4266],{"type":2455,"value":4267},"  .",{"type":2449,"tag":3067,"props":4269,"children":4270},{"style":3322},[4271],{"type":2455,"value":4272},"use",{"type":2449,"tag":3067,"props":4274,"children":4275},{"style":3271},[4276],{"type":2455,"value":4277},"(authMiddleware)\n",{"type":2449,"tag":3067,"props":4279,"children":4280},{"class":3069,"line":3150},[4281,4285,4289],{"type":2449,"tag":3067,"props":4282,"children":4283},{"style":3265},[4284],{"type":2455,"value":4267},{"type":2449,"tag":3067,"props":4286,"children":4287},{"style":3322},[4288],{"type":2455,"value":4272},{"type":2449,"tag":3067,"props":4290,"children":4291},{"style":3271},[4292],{"type":2455,"value":4293},"(rateLimitMiddleware)\n",{"type":2449,"tag":3067,"props":4295,"children":4296},{"class":3069,"line":3159},[4297],{"type":2449,"tag":3067,"props":4298,"children":4299},{"emptyLinePlaceholder":3144},[4300],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":4302,"children":4303},{"class":3069,"line":3176},[4304,4308,4312,4317,4321,4325],{"type":2449,"tag":3067,"props":4305,"children":4306},{"style":3259},[4307],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":4309,"children":4310},{"style":3479},[4311],{"type":2455,"value":4239},{"type":2449,"tag":3067,"props":4313,"children":4314},{"style":3271},[4315],{"type":2455,"value":4316}," adminClient ",{"type":2449,"tag":3067,"props":4318,"children":4319},{"style":3265},[4320],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":4322,"children":4323},{"style":3322},[4324],{"type":2455,"value":4254},{"type":2449,"tag":3067,"props":4326,"children":4327},{"style":3271},[4328],{"type":2455,"value":4259},{"type":2449,"tag":3067,"props":4330,"children":4331},{"class":3069,"line":3184},[4332,4336,4340],{"type":2449,"tag":3067,"props":4333,"children":4334},{"style":3265},[4335],{"type":2455,"value":4267},{"type":2449,"tag":3067,"props":4337,"children":4338},{"style":3322},[4339],{"type":2455,"value":4272},{"type":2449,"tag":3067,"props":4341,"children":4342},{"style":3271},[4343],{"type":2455,"value":4277},{"type":2449,"tag":3067,"props":4345,"children":4346},{"class":3069,"line":3193},[4347,4351,4355],{"type":2449,"tag":3067,"props":4348,"children":4349},{"style":3265},[4350],{"type":2455,"value":4267},{"type":2449,"tag":3067,"props":4352,"children":4353},{"style":3322},[4354],{"type":2455,"value":4272},{"type":2449,"tag":3067,"props":4356,"children":4357},{"style":3271},[4358],{"type":2455,"value":4359},"(adminMiddleware)\n",{"type":2449,"tag":3057,"props":4361,"children":4363},{"className":3239,"code":4362,"language":3241,"meta":2443,"style":2443},"\u002F\u002F server\u002Fapi\u002Fadmin\u002Fusers.get.ts\nimport { z } from 'zod'\nimport { adminClient } from '~\u002Fserver\u002Futils\u002Faction-clients'\n\nexport default adminClient\n  .schema(z.object({\n    page: z.coerce.number().default(1),\n  }))\n  .metadata({ role: 'admin', action: 'list-users' })\n  .action(async ({ input, ctx }) => {\n    \u002F\u002F ctx.user and ctx.isAdmin available from middleware chain\n    return await db.user.findMany({\n      skip: (input.page - 1) * 10,\n      take: 10,\n    })\n  })\n",[4364],{"type":2449,"tag":2631,"props":4365,"children":4366},{"__ignoreMap":2443},[4367,4375,4410,4447,4454,4470,4503,4566,4578,4654,4704,4712,4753,4813,4834,4847],{"type":2449,"tag":3067,"props":4368,"children":4369},{"class":3069,"line":3070},[4370],{"type":2449,"tag":3067,"props":4371,"children":4372},{"style":3116},[4373],{"type":2455,"value":4374},"\u002F\u002F server\u002Fapi\u002Fadmin\u002Fusers.get.ts\n",{"type":2449,"tag":3067,"props":4376,"children":4377},{"class":3069,"line":3122},[4378,4382,4386,4390,4394,4398,4402,4406],{"type":2449,"tag":3067,"props":4379,"children":4380},{"style":3259},[4381],{"type":2455,"value":3262},{"type":2449,"tag":3067,"props":4383,"children":4384},{"style":3265},[4385],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":4387,"children":4388},{"style":3271},[4389],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":4391,"children":4392},{"style":3265},[4393],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":4395,"children":4396},{"style":3259},[4397],{"type":2455,"value":3284},{"type":2449,"tag":3067,"props":4399,"children":4400},{"style":3265},[4401],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":4403,"children":4404},{"style":3080},[4405],{"type":2455,"value":3294},{"type":2449,"tag":3067,"props":4407,"children":4408},{"style":3265},[4409],{"type":2455,"value":3299},{"type":2449,"tag":3067,"props":4411,"children":4412},{"class":3069,"line":3140},[4413,4417,4421,4426,4430,4434,4438,4443],{"type":2449,"tag":3067,"props":4414,"children":4415},{"style":3259},[4416],{"type":2455,"value":3262},{"type":2449,"tag":3067,"props":4418,"children":4419},{"style":3265},[4420],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":4422,"children":4423},{"style":3271},[4424],{"type":2455,"value":4425}," adminClient",{"type":2449,"tag":3067,"props":4427,"children":4428},{"style":3265},[4429],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":4431,"children":4432},{"style":3259},[4433],{"type":2455,"value":3284},{"type":2449,"tag":3067,"props":4435,"children":4436},{"style":3265},[4437],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":4439,"children":4440},{"style":3080},[4441],{"type":2455,"value":4442},"~\u002Fserver\u002Futils\u002Faction-clients",{"type":2449,"tag":3067,"props":4444,"children":4445},{"style":3265},[4446],{"type":2455,"value":3299},{"type":2449,"tag":3067,"props":4448,"children":4449},{"class":3069,"line":3150},[4450],{"type":2449,"tag":3067,"props":4451,"children":4452},{"emptyLinePlaceholder":3144},[4453],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":4455,"children":4456},{"class":3069,"line":3159},[4457,4461,4465],{"type":2449,"tag":3067,"props":4458,"children":4459},{"style":3259},[4460],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":4462,"children":4463},{"style":3259},[4464],{"type":2455,"value":3319},{"type":2449,"tag":3067,"props":4466,"children":4467},{"style":3271},[4468],{"type":2455,"value":4469}," adminClient\n",{"type":2449,"tag":3067,"props":4471,"children":4472},{"class":3069,"line":3176},[4473,4477,4482,4487,4491,4495,4499],{"type":2449,"tag":3067,"props":4474,"children":4475},{"style":3265},[4476],{"type":2455,"value":4267},{"type":2449,"tag":3067,"props":4478,"children":4479},{"style":3322},[4480],{"type":2455,"value":4481},"schema",{"type":2449,"tag":3067,"props":4483,"children":4484},{"style":3271},[4485],{"type":2455,"value":4486},"(z",{"type":2449,"tag":3067,"props":4488,"children":4489},{"style":3265},[4490],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4492,"children":4493},{"style":3322},[4494],{"type":2455,"value":3363},{"type":2449,"tag":3067,"props":4496,"children":4497},{"style":3271},[4498],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4500,"children":4501},{"style":3265},[4502],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":4504,"children":4505},{"class":3069,"line":3184},[4506,4511,4515,4519,4523,4528,4532,4537,4541,4545,4550,4554,4558,4562],{"type":2449,"tag":3067,"props":4507,"children":4508},{"style":3341},[4509],{"type":2455,"value":4510},"    page",{"type":2449,"tag":3067,"props":4512,"children":4513},{"style":3265},[4514],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4516,"children":4517},{"style":3271},[4518],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":4520,"children":4521},{"style":3265},[4522],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4524,"children":4525},{"style":3271},[4526],{"type":2455,"value":4527},"coerce",{"type":2449,"tag":3067,"props":4529,"children":4530},{"style":3265},[4531],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4533,"children":4534},{"style":3322},[4535],{"type":2455,"value":4536},"number",{"type":2449,"tag":3067,"props":4538,"children":4539},{"style":3271},[4540],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":4542,"children":4543},{"style":3265},[4544],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4546,"children":4547},{"style":3322},[4548],{"type":2455,"value":4549},"default",{"type":2449,"tag":3067,"props":4551,"children":4552},{"style":3271},[4553],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4555,"children":4556},{"style":3417},[4557],{"type":2455,"value":3420},{"type":2449,"tag":3067,"props":4559,"children":4560},{"style":3271},[4561],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":4563,"children":4564},{"style":3265},[4565],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":4567,"children":4568},{"class":3069,"line":3193},[4569,4573],{"type":2449,"tag":3067,"props":4570,"children":4571},{"style":3265},[4572],{"type":2455,"value":3456},{"type":2449,"tag":3067,"props":4574,"children":4575},{"style":3271},[4576],{"type":2455,"value":4577},"))\n",{"type":2449,"tag":3067,"props":4579,"children":4580},{"class":3069,"line":3511},[4581,4585,4590,4594,4598,4603,4607,4611,4616,4620,4624,4629,4633,4637,4642,4646,4650],{"type":2449,"tag":3067,"props":4582,"children":4583},{"style":3265},[4584],{"type":2455,"value":4267},{"type":2449,"tag":3067,"props":4586,"children":4587},{"style":3322},[4588],{"type":2455,"value":4589},"metadata",{"type":2449,"tag":3067,"props":4591,"children":4592},{"style":3271},[4593],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4595,"children":4596},{"style":3265},[4597],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":4599,"children":4600},{"style":3341},[4601],{"type":2455,"value":4602}," role",{"type":2449,"tag":3067,"props":4604,"children":4605},{"style":3265},[4606],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4608,"children":4609},{"style":3265},[4610],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":4612,"children":4613},{"style":3080},[4614],{"type":2455,"value":4615},"admin",{"type":2449,"tag":3067,"props":4617,"children":4618},{"style":3265},[4619],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":4621,"children":4622},{"style":3265},[4623],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":4625,"children":4626},{"style":3341},[4627],{"type":2455,"value":4628}," action",{"type":2449,"tag":3067,"props":4630,"children":4631},{"style":3265},[4632],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4634,"children":4635},{"style":3265},[4636],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":4638,"children":4639},{"style":3080},[4640],{"type":2455,"value":4641},"list-users",{"type":2449,"tag":3067,"props":4643,"children":4644},{"style":3265},[4645],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":4647,"children":4648},{"style":3265},[4649],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":4651,"children":4652},{"style":3271},[4653],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":4655,"children":4656},{"class":3069,"line":3589},[4657,4661,4666,4670,4675,4679,4683,4687,4692,4696,4700],{"type":2449,"tag":3067,"props":4658,"children":4659},{"style":3265},[4660],{"type":2455,"value":4267},{"type":2449,"tag":3067,"props":4662,"children":4663},{"style":3322},[4664],{"type":2455,"value":4665},"action",{"type":2449,"tag":3067,"props":4667,"children":4668},{"style":3271},[4669],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4671,"children":4672},{"style":3479},[4673],{"type":2455,"value":4674},"async",{"type":2449,"tag":3067,"props":4676,"children":4677},{"style":3265},[4678],{"type":2455,"value":3487},{"type":2449,"tag":3067,"props":4680,"children":4681},{"style":3490},[4682],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":4684,"children":4685},{"style":3265},[4686],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":4688,"children":4689},{"style":3490},[4690],{"type":2455,"value":4691}," ctx",{"type":2449,"tag":3067,"props":4693,"children":4694},{"style":3265},[4695],{"type":2455,"value":3498},{"type":2449,"tag":3067,"props":4697,"children":4698},{"style":3479},[4699],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":4701,"children":4702},{"style":3265},[4703],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":4705,"children":4706},{"class":3069,"line":3603},[4707],{"type":2449,"tag":3067,"props":4708,"children":4709},{"style":3116},[4710],{"type":2455,"value":4711},"    \u002F\u002F ctx.user and ctx.isAdmin available from middleware chain\n",{"type":2449,"tag":3067,"props":4713,"children":4714},{"class":3069,"line":3612},[4715,4719,4723,4727,4731,4736,4740,4745,4749],{"type":2449,"tag":3067,"props":4716,"children":4717},{"style":3259},[4718],{"type":2455,"value":3595},{"type":2449,"tag":3067,"props":4720,"children":4721},{"style":3259},[4722],{"type":2455,"value":3532},{"type":2449,"tag":3067,"props":4724,"children":4725},{"style":3271},[4726],{"type":2455,"value":3537},{"type":2449,"tag":3067,"props":4728,"children":4729},{"style":3265},[4730],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4732,"children":4733},{"style":3271},[4734],{"type":2455,"value":4735},"user",{"type":2449,"tag":3067,"props":4737,"children":4738},{"style":3265},[4739],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4741,"children":4742},{"style":3322},[4743],{"type":2455,"value":4744},"findMany",{"type":2449,"tag":3067,"props":4746,"children":4747},{"style":3341},[4748],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4750,"children":4751},{"style":3265},[4752],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":4754,"children":4756},{"class":3069,"line":4755},13,[4757,4762,4766,4770,4775,4779,4784,4789,4794,4799,4804,4809],{"type":2449,"tag":3067,"props":4758,"children":4759},{"style":3341},[4760],{"type":2455,"value":4761},"      skip",{"type":2449,"tag":3067,"props":4763,"children":4764},{"style":3265},[4765],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4767,"children":4768},{"style":3341},[4769],{"type":2455,"value":3868},{"type":2449,"tag":3067,"props":4771,"children":4772},{"style":3271},[4773],{"type":2455,"value":4774},"input",{"type":2449,"tag":3067,"props":4776,"children":4777},{"style":3265},[4778],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4780,"children":4781},{"style":3271},[4782],{"type":2455,"value":4783},"page",{"type":2449,"tag":3067,"props":4785,"children":4786},{"style":3265},[4787],{"type":2455,"value":4788}," -",{"type":2449,"tag":3067,"props":4790,"children":4791},{"style":3417},[4792],{"type":2455,"value":4793}," 1",{"type":2449,"tag":3067,"props":4795,"children":4796},{"style":3341},[4797],{"type":2455,"value":4798},") ",{"type":2449,"tag":3067,"props":4800,"children":4801},{"style":3265},[4802],{"type":2455,"value":4803},"*",{"type":2449,"tag":3067,"props":4805,"children":4806},{"style":3417},[4807],{"type":2455,"value":4808}," 10",{"type":2449,"tag":3067,"props":4810,"children":4811},{"style":3265},[4812],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":4814,"children":4816},{"class":3069,"line":4815},14,[4817,4822,4826,4830],{"type":2449,"tag":3067,"props":4818,"children":4819},{"style":3341},[4820],{"type":2455,"value":4821},"      take",{"type":2449,"tag":3067,"props":4823,"children":4824},{"style":3265},[4825],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4827,"children":4828},{"style":3417},[4829],{"type":2455,"value":4808},{"type":2449,"tag":3067,"props":4831,"children":4832},{"style":3265},[4833],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":4835,"children":4837},{"class":3069,"line":4836},15,[4838,4843],{"type":2449,"tag":3067,"props":4839,"children":4840},{"style":3265},[4841],{"type":2455,"value":4842},"    }",{"type":2449,"tag":3067,"props":4844,"children":4845},{"style":3341},[4846],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":4848,"children":4849},{"class":3069,"line":2432},[4850,4854],{"type":2449,"tag":3067,"props":4851,"children":4852},{"style":3265},[4853],{"type":2455,"value":3456},{"type":2449,"tag":3067,"props":4855,"children":4856},{"style":3271},[4857],{"type":2455,"value":3586},{"type":2449,"tag":3220,"props":4859,"children":4861},{"id":4860},"output-schema-validation",[4862],{"type":2455,"value":4863},"Output Schema Validation",{"type":2449,"tag":2450,"props":4865,"children":4866},{},[4867],{"type":2455,"value":4868},"Validate what your server returns, not just what it receives:",{"type":2449,"tag":3057,"props":4870,"children":4872},{"className":3239,"code":4871,"language":3241,"meta":2443,"style":2443},"export default defineAction({\n  input: z.object({ id: z.string() }),\n  outputSchema: z.object({\n    id: z.string(),\n    name: z.string(),\n    email: z.string().email(),\n  }),\n  handler: async ({ input }) => {\n    return await db.user.findUnique({ where: { id: input.id } })\n  },\n})\n",[4873],{"type":2449,"tag":2631,"props":4874,"children":4875},{"__ignoreMap":2443},[4876,4899,4967,4999,5031,5063,5108,5123,5158,5244,5251],{"type":2449,"tag":3067,"props":4877,"children":4878},{"class":3069,"line":3070},[4879,4883,4887,4891,4895],{"type":2449,"tag":3067,"props":4880,"children":4881},{"style":3259},[4882],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":4884,"children":4885},{"style":3259},[4886],{"type":2455,"value":3319},{"type":2449,"tag":3067,"props":4888,"children":4889},{"style":3322},[4890],{"type":2455,"value":3325},{"type":2449,"tag":3067,"props":4892,"children":4893},{"style":3271},[4894],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4896,"children":4897},{"style":3265},[4898],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":4900,"children":4901},{"class":3069,"line":3122},[4902,4906,4910,4914,4918,4922,4926,4930,4934,4938,4942,4946,4950,4955,4959,4963],{"type":2449,"tag":3067,"props":4903,"children":4904},{"style":3341},[4905],{"type":2455,"value":3344},{"type":2449,"tag":3067,"props":4907,"children":4908},{"style":3265},[4909],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4911,"children":4912},{"style":3271},[4913],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":4915,"children":4916},{"style":3265},[4917],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4919,"children":4920},{"style":3322},[4921],{"type":2455,"value":3363},{"type":2449,"tag":3067,"props":4923,"children":4924},{"style":3271},[4925],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4927,"children":4928},{"style":3265},[4929],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":4931,"children":4932},{"style":3341},[4933],{"type":2455,"value":3877},{"type":2449,"tag":3067,"props":4935,"children":4936},{"style":3265},[4937],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4939,"children":4940},{"style":3271},[4941],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":4943,"children":4944},{"style":3265},[4945],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4947,"children":4948},{"style":3322},[4949],{"type":2455,"value":3396},{"type":2449,"tag":3067,"props":4951,"children":4952},{"style":3271},[4953],{"type":2455,"value":4954},"() ",{"type":2449,"tag":3067,"props":4956,"children":4957},{"style":3265},[4958],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":4960,"children":4961},{"style":3271},[4962],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":4964,"children":4965},{"style":3265},[4966],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":4968,"children":4969},{"class":3069,"line":3140},[4970,4975,4979,4983,4987,4991,4995],{"type":2449,"tag":3067,"props":4971,"children":4972},{"style":3341},[4973],{"type":2455,"value":4974},"  outputSchema",{"type":2449,"tag":3067,"props":4976,"children":4977},{"style":3265},[4978],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":4980,"children":4981},{"style":3271},[4982],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":4984,"children":4985},{"style":3265},[4986],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":4988,"children":4989},{"style":3322},[4990],{"type":2455,"value":3363},{"type":2449,"tag":3067,"props":4992,"children":4993},{"style":3271},[4994],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":4996,"children":4997},{"style":3265},[4998],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":5000,"children":5001},{"class":3069,"line":3150},[5002,5007,5011,5015,5019,5023,5027],{"type":2449,"tag":3067,"props":5003,"children":5004},{"style":3341},[5005],{"type":2455,"value":5006},"    id",{"type":2449,"tag":3067,"props":5008,"children":5009},{"style":3265},[5010],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5012,"children":5013},{"style":3271},[5014],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":5016,"children":5017},{"style":3265},[5018],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5020,"children":5021},{"style":3322},[5022],{"type":2455,"value":3396},{"type":2449,"tag":3067,"props":5024,"children":5025},{"style":3271},[5026],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":5028,"children":5029},{"style":3265},[5030],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":5032,"children":5033},{"class":3069,"line":3159},[5034,5039,5043,5047,5051,5055,5059],{"type":2449,"tag":3067,"props":5035,"children":5036},{"style":3341},[5037],{"type":2455,"value":5038},"    name",{"type":2449,"tag":3067,"props":5040,"children":5041},{"style":3265},[5042],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5044,"children":5045},{"style":3271},[5046],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":5048,"children":5049},{"style":3265},[5050],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5052,"children":5053},{"style":3322},[5054],{"type":2455,"value":3396},{"type":2449,"tag":3067,"props":5056,"children":5057},{"style":3271},[5058],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":5060,"children":5061},{"style":3265},[5062],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":5064,"children":5065},{"class":3069,"line":3176},[5066,5071,5075,5079,5083,5087,5091,5095,5100,5104],{"type":2449,"tag":3067,"props":5067,"children":5068},{"style":3341},[5069],{"type":2455,"value":5070},"    email",{"type":2449,"tag":3067,"props":5072,"children":5073},{"style":3265},[5074],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5076,"children":5077},{"style":3271},[5078],{"type":2455,"value":3274},{"type":2449,"tag":3067,"props":5080,"children":5081},{"style":3265},[5082],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5084,"children":5085},{"style":3322},[5086],{"type":2455,"value":3396},{"type":2449,"tag":3067,"props":5088,"children":5089},{"style":3271},[5090],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":5092,"children":5093},{"style":3265},[5094],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5096,"children":5097},{"style":3322},[5098],{"type":2455,"value":5099},"email",{"type":2449,"tag":3067,"props":5101,"children":5102},{"style":3271},[5103],{"type":2455,"value":3401},{"type":2449,"tag":3067,"props":5105,"children":5106},{"style":3265},[5107],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":5109,"children":5110},{"class":3069,"line":3184},[5111,5115,5119],{"type":2449,"tag":3067,"props":5112,"children":5113},{"style":3265},[5114],{"type":2455,"value":3456},{"type":2449,"tag":3067,"props":5116,"children":5117},{"style":3271},[5118],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":5120,"children":5121},{"style":3265},[5122],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":5124,"children":5125},{"class":3069,"line":3193},[5126,5130,5134,5138,5142,5146,5150,5154],{"type":2449,"tag":3067,"props":5127,"children":5128},{"style":3322},[5129],{"type":2455,"value":3472},{"type":2449,"tag":3067,"props":5131,"children":5132},{"style":3265},[5133],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5135,"children":5136},{"style":3479},[5137],{"type":2455,"value":3482},{"type":2449,"tag":3067,"props":5139,"children":5140},{"style":3265},[5141],{"type":2455,"value":3487},{"type":2449,"tag":3067,"props":5143,"children":5144},{"style":3490},[5145],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":5147,"children":5148},{"style":3265},[5149],{"type":2455,"value":3498},{"type":2449,"tag":3067,"props":5151,"children":5152},{"style":3479},[5153],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":5155,"children":5156},{"style":3265},[5157],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5159,"children":5160},{"class":3069,"line":3511},[5161,5165,5169,5173,5177,5181,5185,5190,5194,5198,5203,5207,5211,5215,5219,5223,5227,5232,5236,5240],{"type":2449,"tag":3067,"props":5162,"children":5163},{"style":3259},[5164],{"type":2455,"value":3595},{"type":2449,"tag":3067,"props":5166,"children":5167},{"style":3259},[5168],{"type":2455,"value":3532},{"type":2449,"tag":3067,"props":5170,"children":5171},{"style":3271},[5172],{"type":2455,"value":3537},{"type":2449,"tag":3067,"props":5174,"children":5175},{"style":3265},[5176],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5178,"children":5179},{"style":3271},[5180],{"type":2455,"value":4735},{"type":2449,"tag":3067,"props":5182,"children":5183},{"style":3265},[5184],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5186,"children":5187},{"style":3322},[5188],{"type":2455,"value":5189},"findUnique",{"type":2449,"tag":3067,"props":5191,"children":5192},{"style":3341},[5193],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5195,"children":5196},{"style":3265},[5197],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":5199,"children":5200},{"style":3341},[5201],{"type":2455,"value":5202}," where",{"type":2449,"tag":3067,"props":5204,"children":5205},{"style":3265},[5206],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5208,"children":5209},{"style":3265},[5210],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":5212,"children":5213},{"style":3341},[5214],{"type":2455,"value":3877},{"type":2449,"tag":3067,"props":5216,"children":5217},{"style":3265},[5218],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5220,"children":5221},{"style":3271},[5222],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":5224,"children":5225},{"style":3265},[5226],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5228,"children":5229},{"style":3271},[5230],{"type":2455,"value":5231},"id",{"type":2449,"tag":3067,"props":5233,"children":5234},{"style":3265},[5235],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":5237,"children":5238},{"style":3265},[5239],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":5241,"children":5242},{"style":3341},[5243],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5245,"children":5246},{"class":3069,"line":3589},[5247],{"type":2449,"tag":3067,"props":5248,"children":5249},{"style":3265},[5250],{"type":2455,"value":3609},{"type":2449,"tag":3067,"props":5252,"children":5253},{"class":3069,"line":3603},[5254,5258],{"type":2449,"tag":3067,"props":5255,"children":5256},{"style":3265},[5257],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":5259,"children":5260},{"style":3271},[5261],{"type":2455,"value":3586},{"type":2449,"tag":3220,"props":5263,"children":5265},{"id":5264},"client-useaction",[5266,5268],{"type":2455,"value":5267},"Client: ",{"type":2449,"tag":2631,"props":5269,"children":5271},{"className":5270},[],[5272],{"type":2455,"value":5273},"useAction",{"type":2449,"tag":2450,"props":5275,"children":5276},{},[5277],{"type":2455,"value":5278},"Call server actions from Vue components with reactive state:",{"type":2449,"tag":3057,"props":5280,"children":5284},{"className":5281,"code":5282,"language":5283,"meta":2443,"style":2443},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { createTodo } from '#actions'\n\n\u002F\u002F Input and output types are inferred end-to-end from the server action.\n\u002F\u002F No manual generics, no method to specify — both come from `createTodo`.\nconst { execute, executeAsync, data, error, status, reset } = useAction(createTodo, {\n  onExecute(input) {\n    console.log('Sending:', input)\n  },\n  onSuccess(data) {\n    toast.success(`Created: ${data.title}`)\n  },\n  onError(error) {\n    toast.error(error.message)\n  },\n})\n\n\u002F\u002F Option 1: Full result with success\u002Ferror\nasync function handleSubmit(title: string) {\n  const result = await execute({ title })\n  if (result.success) console.log(result.data)\n}\n\n\u002F\u002F Option 2: Direct data (throws on error)\nasync function handleSubmitAsync(title: string) {\n  try {\n    const todo = await executeAsync({ title })\n    console.log(todo)\n  } catch (err) {\n    \u002F\u002F err is ActionError\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"handleSubmit('Buy milk')\">\n    \u003Cbutton :disabled=\"status === 'executing'\">\n      {{ status === 'executing' ? 'Creating...' : 'Add Todo' }}\n    \u003C\u002Fbutton>\n    \u003Cp v-if=\"error\" class=\"error\">{{ error.message }}\u003C\u002Fp>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n","vue",[5285],{"type":2449,"tag":2631,"props":5286,"children":5287},{"__ignoreMap":2443},[5288,5333,5369,5376,5384,5392,5479,5503,5549,5556,5581,5639,5646,5671,5707,5714,5725,5733,5742,5785,5831,5893,5902,5910,5919,5960,5973,6017,6045,6075,6084,6093,6101,6118,6126,6143,6183,6223,6232,6249,6325,6342],{"type":2449,"tag":3067,"props":5289,"children":5290},{"class":3069,"line":3070},[5291,5296,5301,5306,5311,5315,5320,5324,5328],{"type":2449,"tag":3067,"props":5292,"children":5293},{"style":3265},[5294],{"type":2455,"value":5295},"\u003C",{"type":2449,"tag":3067,"props":5297,"children":5298},{"style":3341},[5299],{"type":2455,"value":5300},"script",{"type":2449,"tag":3067,"props":5302,"children":5303},{"style":3479},[5304],{"type":2455,"value":5305}," setup",{"type":2449,"tag":3067,"props":5307,"children":5308},{"style":3479},[5309],{"type":2455,"value":5310}," lang",{"type":2449,"tag":3067,"props":5312,"children":5313},{"style":3265},[5314],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":5316,"children":5317},{"style":3265},[5318],{"type":2455,"value":5319},"\"",{"type":2449,"tag":3067,"props":5321,"children":5322},{"style":3080},[5323],{"type":2455,"value":3241},{"type":2449,"tag":3067,"props":5325,"children":5326},{"style":3265},[5327],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":5329,"children":5330},{"style":3265},[5331],{"type":2455,"value":5332},">\n",{"type":2449,"tag":3067,"props":5334,"children":5335},{"class":3069,"line":3122},[5336,5340,5344,5349,5353,5357,5361,5365],{"type":2449,"tag":3067,"props":5337,"children":5338},{"style":3259},[5339],{"type":2455,"value":3262},{"type":2449,"tag":3067,"props":5341,"children":5342},{"style":3265},[5343],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":5345,"children":5346},{"style":3271},[5347],{"type":2455,"value":5348}," createTodo",{"type":2449,"tag":3067,"props":5350,"children":5351},{"style":3265},[5352],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":5354,"children":5355},{"style":3259},[5356],{"type":2455,"value":3284},{"type":2449,"tag":3067,"props":5358,"children":5359},{"style":3265},[5360],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":5362,"children":5363},{"style":3080},[5364],{"type":2455,"value":2636},{"type":2449,"tag":3067,"props":5366,"children":5367},{"style":3265},[5368],{"type":2455,"value":3299},{"type":2449,"tag":3067,"props":5370,"children":5371},{"class":3069,"line":3140},[5372],{"type":2449,"tag":3067,"props":5373,"children":5374},{"emptyLinePlaceholder":3144},[5375],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":5377,"children":5378},{"class":3069,"line":3150},[5379],{"type":2449,"tag":3067,"props":5380,"children":5381},{"style":3116},[5382],{"type":2455,"value":5383},"\u002F\u002F Input and output types are inferred end-to-end from the server action.\n",{"type":2449,"tag":3067,"props":5385,"children":5386},{"class":3069,"line":3159},[5387],{"type":2449,"tag":3067,"props":5388,"children":5389},{"style":3116},[5390],{"type":2455,"value":5391},"\u002F\u002F No manual generics, no method to specify — both come from `createTodo`.\n",{"type":2449,"tag":3067,"props":5393,"children":5394},{"class":3069,"line":3176},[5395,5400,5404,5409,5413,5418,5422,5426,5430,5435,5439,5444,5448,5453,5457,5461,5466,5471,5475],{"type":2449,"tag":3067,"props":5396,"children":5397},{"style":3479},[5398],{"type":2455,"value":5399},"const",{"type":2449,"tag":3067,"props":5401,"children":5402},{"style":3265},[5403],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":5405,"children":5406},{"style":3271},[5407],{"type":2455,"value":5408}," execute",{"type":2449,"tag":3067,"props":5410,"children":5411},{"style":3265},[5412],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5414,"children":5415},{"style":3271},[5416],{"type":2455,"value":5417}," executeAsync",{"type":2449,"tag":3067,"props":5419,"children":5420},{"style":3265},[5421],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5423,"children":5424},{"style":3271},[5425],{"type":2455,"value":3569},{"type":2449,"tag":3067,"props":5427,"children":5428},{"style":3265},[5429],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5431,"children":5432},{"style":3271},[5433],{"type":2455,"value":5434}," error",{"type":2449,"tag":3067,"props":5436,"children":5437},{"style":3265},[5438],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5440,"children":5441},{"style":3271},[5442],{"type":2455,"value":5443}," status",{"type":2449,"tag":3067,"props":5445,"children":5446},{"style":3265},[5447],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5449,"children":5450},{"style":3271},[5451],{"type":2455,"value":5452}," reset ",{"type":2449,"tag":3067,"props":5454,"children":5455},{"style":3265},[5456],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":5458,"children":5459},{"style":3265},[5460],{"type":2455,"value":3527},{"type":2449,"tag":3067,"props":5462,"children":5463},{"style":3322},[5464],{"type":2455,"value":5465}," useAction",{"type":2449,"tag":3067,"props":5467,"children":5468},{"style":3271},[5469],{"type":2455,"value":5470},"(createTodo",{"type":2449,"tag":3067,"props":5472,"children":5473},{"style":3265},[5474],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5476,"children":5477},{"style":3265},[5478],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5480,"children":5481},{"class":3069,"line":3184},[5482,5487,5491,5495,5499],{"type":2449,"tag":3067,"props":5483,"children":5484},{"style":3341},[5485],{"type":2455,"value":5486},"  onExecute",{"type":2449,"tag":3067,"props":5488,"children":5489},{"style":3265},[5490],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5492,"children":5493},{"style":3490},[5494],{"type":2455,"value":4774},{"type":2449,"tag":3067,"props":5496,"children":5497},{"style":3265},[5498],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":5500,"children":5501},{"style":3265},[5502],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5504,"children":5505},{"class":3069,"line":3193},[5506,5511,5515,5520,5524,5528,5533,5537,5541,5545],{"type":2449,"tag":3067,"props":5507,"children":5508},{"style":3271},[5509],{"type":2455,"value":5510},"    console",{"type":2449,"tag":3067,"props":5512,"children":5513},{"style":3265},[5514],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5516,"children":5517},{"style":3322},[5518],{"type":2455,"value":5519},"log",{"type":2449,"tag":3067,"props":5521,"children":5522},{"style":3341},[5523],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5525,"children":5526},{"style":3265},[5527],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":5529,"children":5530},{"style":3080},[5531],{"type":2455,"value":5532},"Sending:",{"type":2449,"tag":3067,"props":5534,"children":5535},{"style":3265},[5536],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":5538,"children":5539},{"style":3265},[5540],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":5542,"children":5543},{"style":3271},[5544],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":5546,"children":5547},{"style":3341},[5548],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5550,"children":5551},{"class":3069,"line":3511},[5552],{"type":2449,"tag":3067,"props":5553,"children":5554},{"style":3265},[5555],{"type":2455,"value":3609},{"type":2449,"tag":3067,"props":5557,"children":5558},{"class":3069,"line":3589},[5559,5564,5568,5573,5577],{"type":2449,"tag":3067,"props":5560,"children":5561},{"style":3341},[5562],{"type":2455,"value":5563},"  onSuccess",{"type":2449,"tag":3067,"props":5565,"children":5566},{"style":3265},[5567],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5569,"children":5570},{"style":3490},[5571],{"type":2455,"value":5572},"data",{"type":2449,"tag":3067,"props":5574,"children":5575},{"style":3265},[5576],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":5578,"children":5579},{"style":3265},[5580],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5582,"children":5583},{"class":3069,"line":3603},[5584,5589,5593,5598,5602,5607,5612,5617,5621,5625,5630,5635],{"type":2449,"tag":3067,"props":5585,"children":5586},{"style":3271},[5587],{"type":2455,"value":5588},"    toast",{"type":2449,"tag":3067,"props":5590,"children":5591},{"style":3265},[5592],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5594,"children":5595},{"style":3322},[5596],{"type":2455,"value":5597},"success",{"type":2449,"tag":3067,"props":5599,"children":5600},{"style":3341},[5601],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5603,"children":5604},{"style":3265},[5605],{"type":2455,"value":5606},"`",{"type":2449,"tag":3067,"props":5608,"children":5609},{"style":3080},[5610],{"type":2455,"value":5611},"Created: ",{"type":2449,"tag":3067,"props":5613,"children":5614},{"style":3265},[5615],{"type":2455,"value":5616},"${",{"type":2449,"tag":3067,"props":5618,"children":5619},{"style":3271},[5620],{"type":2455,"value":5572},{"type":2449,"tag":3067,"props":5622,"children":5623},{"style":3265},[5624],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5626,"children":5627},{"style":3271},[5628],{"type":2455,"value":5629},"title",{"type":2449,"tag":3067,"props":5631,"children":5632},{"style":3265},[5633],{"type":2455,"value":5634},"}`",{"type":2449,"tag":3067,"props":5636,"children":5637},{"style":3341},[5638],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5640,"children":5641},{"class":3069,"line":3612},[5642],{"type":2449,"tag":3067,"props":5643,"children":5644},{"style":3265},[5645],{"type":2455,"value":3609},{"type":2449,"tag":3067,"props":5647,"children":5648},{"class":3069,"line":4755},[5649,5654,5658,5663,5667],{"type":2449,"tag":3067,"props":5650,"children":5651},{"style":3341},[5652],{"type":2455,"value":5653},"  onError",{"type":2449,"tag":3067,"props":5655,"children":5656},{"style":3265},[5657],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5659,"children":5660},{"style":3490},[5661],{"type":2455,"value":5662},"error",{"type":2449,"tag":3067,"props":5664,"children":5665},{"style":3265},[5666],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":5668,"children":5669},{"style":3265},[5670],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5672,"children":5673},{"class":3069,"line":4815},[5674,5678,5682,5686,5690,5694,5698,5703],{"type":2449,"tag":3067,"props":5675,"children":5676},{"style":3271},[5677],{"type":2455,"value":5588},{"type":2449,"tag":3067,"props":5679,"children":5680},{"style":3265},[5681],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5683,"children":5684},{"style":3322},[5685],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":5687,"children":5688},{"style":3341},[5689],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5691,"children":5692},{"style":3271},[5693],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":5695,"children":5696},{"style":3265},[5697],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5699,"children":5700},{"style":3271},[5701],{"type":2455,"value":5702},"message",{"type":2449,"tag":3067,"props":5704,"children":5705},{"style":3341},[5706],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5708,"children":5709},{"class":3069,"line":4836},[5710],{"type":2449,"tag":3067,"props":5711,"children":5712},{"style":3265},[5713],{"type":2455,"value":3609},{"type":2449,"tag":3067,"props":5715,"children":5716},{"class":3069,"line":2432},[5717,5721],{"type":2449,"tag":3067,"props":5718,"children":5719},{"style":3265},[5720],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":5722,"children":5723},{"style":3271},[5724],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5726,"children":5728},{"class":3069,"line":5727},17,[5729],{"type":2449,"tag":3067,"props":5730,"children":5731},{"emptyLinePlaceholder":3144},[5732],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":5734,"children":5736},{"class":3069,"line":5735},18,[5737],{"type":2449,"tag":3067,"props":5738,"children":5739},{"style":3116},[5740],{"type":2455,"value":5741},"\u002F\u002F Option 1: Full result with success\u002Ferror\n",{"type":2449,"tag":3067,"props":5743,"children":5745},{"class":3069,"line":5744},19,[5746,5750,5755,5760,5764,5768,5772,5777,5781],{"type":2449,"tag":3067,"props":5747,"children":5748},{"style":3479},[5749],{"type":2455,"value":4674},{"type":2449,"tag":3067,"props":5751,"children":5752},{"style":3479},[5753],{"type":2455,"value":5754}," function",{"type":2449,"tag":3067,"props":5756,"children":5757},{"style":3322},[5758],{"type":2455,"value":5759}," handleSubmit",{"type":2449,"tag":3067,"props":5761,"children":5762},{"style":3265},[5763],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5765,"children":5766},{"style":3490},[5767],{"type":2455,"value":5629},{"type":2449,"tag":3067,"props":5769,"children":5770},{"style":3265},[5771],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5773,"children":5774},{"style":3074},[5775],{"type":2455,"value":5776}," string",{"type":2449,"tag":3067,"props":5778,"children":5779},{"style":3265},[5780],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":5782,"children":5783},{"style":3265},[5784],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5786,"children":5788},{"class":3069,"line":5787},20,[5789,5794,5799,5803,5807,5811,5815,5819,5823,5827],{"type":2449,"tag":3067,"props":5790,"children":5791},{"style":3479},[5792],{"type":2455,"value":5793},"  const",{"type":2449,"tag":3067,"props":5795,"children":5796},{"style":3271},[5797],{"type":2455,"value":5798}," result",{"type":2449,"tag":3067,"props":5800,"children":5801},{"style":3265},[5802],{"type":2455,"value":3527},{"type":2449,"tag":3067,"props":5804,"children":5805},{"style":3259},[5806],{"type":2455,"value":3532},{"type":2449,"tag":3067,"props":5808,"children":5809},{"style":3322},[5810],{"type":2455,"value":5408},{"type":2449,"tag":3067,"props":5812,"children":5813},{"style":3341},[5814],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5816,"children":5817},{"style":3265},[5818],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":5820,"children":5821},{"style":3271},[5822],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":5824,"children":5825},{"style":3265},[5826],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":5828,"children":5829},{"style":3341},[5830],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5832,"children":5833},{"class":3069,"line":2436},[5834,5839,5843,5848,5852,5856,5860,5865,5869,5873,5877,5881,5885,5889],{"type":2449,"tag":3067,"props":5835,"children":5836},{"style":3259},[5837],{"type":2455,"value":5838},"  if",{"type":2449,"tag":3067,"props":5840,"children":5841},{"style":3341},[5842],{"type":2455,"value":3868},{"type":2449,"tag":3067,"props":5844,"children":5845},{"style":3271},[5846],{"type":2455,"value":5847},"result",{"type":2449,"tag":3067,"props":5849,"children":5850},{"style":3265},[5851],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5853,"children":5854},{"style":3271},[5855],{"type":2455,"value":5597},{"type":2449,"tag":3067,"props":5857,"children":5858},{"style":3341},[5859],{"type":2455,"value":4798},{"type":2449,"tag":3067,"props":5861,"children":5862},{"style":3271},[5863],{"type":2455,"value":5864},"console",{"type":2449,"tag":3067,"props":5866,"children":5867},{"style":3265},[5868],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5870,"children":5871},{"style":3322},[5872],{"type":2455,"value":5519},{"type":2449,"tag":3067,"props":5874,"children":5875},{"style":3341},[5876],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5878,"children":5879},{"style":3271},[5880],{"type":2455,"value":5847},{"type":2449,"tag":3067,"props":5882,"children":5883},{"style":3265},[5884],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":5886,"children":5887},{"style":3271},[5888],{"type":2455,"value":5572},{"type":2449,"tag":3067,"props":5890,"children":5891},{"style":3341},[5892],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":5894,"children":5896},{"class":3069,"line":5895},22,[5897],{"type":2449,"tag":3067,"props":5898,"children":5899},{"style":3265},[5900],{"type":2455,"value":5901},"}\n",{"type":2449,"tag":3067,"props":5903,"children":5905},{"class":3069,"line":5904},23,[5906],{"type":2449,"tag":3067,"props":5907,"children":5908},{"emptyLinePlaceholder":3144},[5909],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":5911,"children":5913},{"class":3069,"line":5912},24,[5914],{"type":2449,"tag":3067,"props":5915,"children":5916},{"style":3116},[5917],{"type":2455,"value":5918},"\u002F\u002F Option 2: Direct data (throws on error)\n",{"type":2449,"tag":3067,"props":5920,"children":5922},{"class":3069,"line":5921},25,[5923,5927,5931,5936,5940,5944,5948,5952,5956],{"type":2449,"tag":3067,"props":5924,"children":5925},{"style":3479},[5926],{"type":2455,"value":4674},{"type":2449,"tag":3067,"props":5928,"children":5929},{"style":3479},[5930],{"type":2455,"value":5754},{"type":2449,"tag":3067,"props":5932,"children":5933},{"style":3322},[5934],{"type":2455,"value":5935}," handleSubmitAsync",{"type":2449,"tag":3067,"props":5937,"children":5938},{"style":3265},[5939],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":5941,"children":5942},{"style":3490},[5943],{"type":2455,"value":5629},{"type":2449,"tag":3067,"props":5945,"children":5946},{"style":3265},[5947],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":5949,"children":5950},{"style":3074},[5951],{"type":2455,"value":5776},{"type":2449,"tag":3067,"props":5953,"children":5954},{"style":3265},[5955],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":5957,"children":5958},{"style":3265},[5959],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5961,"children":5963},{"class":3069,"line":5962},26,[5964,5969],{"type":2449,"tag":3067,"props":5965,"children":5966},{"style":3259},[5967],{"type":2455,"value":5968},"  try",{"type":2449,"tag":3067,"props":5970,"children":5971},{"style":3265},[5972],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":5974,"children":5976},{"class":3069,"line":5975},27,[5977,5981,5985,5989,5993,5997,6001,6005,6009,6013],{"type":2449,"tag":3067,"props":5978,"children":5979},{"style":3479},[5980],{"type":2455,"value":3517},{"type":2449,"tag":3067,"props":5982,"children":5983},{"style":3271},[5984],{"type":2455,"value":3522},{"type":2449,"tag":3067,"props":5986,"children":5987},{"style":3265},[5988],{"type":2455,"value":3527},{"type":2449,"tag":3067,"props":5990,"children":5991},{"style":3259},[5992],{"type":2455,"value":3532},{"type":2449,"tag":3067,"props":5994,"children":5995},{"style":3322},[5996],{"type":2455,"value":5417},{"type":2449,"tag":3067,"props":5998,"children":5999},{"style":3341},[6000],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":6002,"children":6003},{"style":3265},[6004],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":6006,"children":6007},{"style":3271},[6008],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":6010,"children":6011},{"style":3265},[6012],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":6014,"children":6015},{"style":3341},[6016],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":6018,"children":6020},{"class":3069,"line":6019},28,[6021,6025,6029,6033,6037,6041],{"type":2449,"tag":3067,"props":6022,"children":6023},{"style":3271},[6024],{"type":2455,"value":5510},{"type":2449,"tag":3067,"props":6026,"children":6027},{"style":3265},[6028],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":6030,"children":6031},{"style":3322},[6032],{"type":2455,"value":5519},{"type":2449,"tag":3067,"props":6034,"children":6035},{"style":3341},[6036],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":6038,"children":6039},{"style":3271},[6040],{"type":2455,"value":3546},{"type":2449,"tag":3067,"props":6042,"children":6043},{"style":3341},[6044],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":6046,"children":6048},{"class":3069,"line":6047},29,[6049,6053,6058,6062,6067,6071],{"type":2449,"tag":3067,"props":6050,"children":6051},{"style":3265},[6052],{"type":2455,"value":3456},{"type":2449,"tag":3067,"props":6054,"children":6055},{"style":3259},[6056],{"type":2455,"value":6057}," catch",{"type":2449,"tag":3067,"props":6059,"children":6060},{"style":3341},[6061],{"type":2455,"value":3868},{"type":2449,"tag":3067,"props":6063,"children":6064},{"style":3271},[6065],{"type":2455,"value":6066},"err",{"type":2449,"tag":3067,"props":6068,"children":6069},{"style":3341},[6070],{"type":2455,"value":4798},{"type":2449,"tag":3067,"props":6072,"children":6073},{"style":3265},[6074],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":6076,"children":6078},{"class":3069,"line":6077},30,[6079],{"type":2449,"tag":3067,"props":6080,"children":6081},{"style":3116},[6082],{"type":2455,"value":6083},"    \u002F\u002F err is ActionError\n",{"type":2449,"tag":3067,"props":6085,"children":6087},{"class":3069,"line":6086},31,[6088],{"type":2449,"tag":3067,"props":6089,"children":6090},{"style":3265},[6091],{"type":2455,"value":6092},"  }\n",{"type":2449,"tag":3067,"props":6094,"children":6096},{"class":3069,"line":6095},32,[6097],{"type":2449,"tag":3067,"props":6098,"children":6099},{"style":3265},[6100],{"type":2455,"value":5901},{"type":2449,"tag":3067,"props":6102,"children":6104},{"class":3069,"line":6103},33,[6105,6110,6114],{"type":2449,"tag":3067,"props":6106,"children":6107},{"style":3265},[6108],{"type":2455,"value":6109},"\u003C\u002F",{"type":2449,"tag":3067,"props":6111,"children":6112},{"style":3341},[6113],{"type":2455,"value":5300},{"type":2449,"tag":3067,"props":6115,"children":6116},{"style":3265},[6117],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6119,"children":6121},{"class":3069,"line":6120},34,[6122],{"type":2449,"tag":3067,"props":6123,"children":6124},{"emptyLinePlaceholder":3144},[6125],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":6127,"children":6129},{"class":3069,"line":6128},35,[6130,6134,6139],{"type":2449,"tag":3067,"props":6131,"children":6132},{"style":3265},[6133],{"type":2455,"value":5295},{"type":2449,"tag":3067,"props":6135,"children":6136},{"style":3341},[6137],{"type":2455,"value":6138},"template",{"type":2449,"tag":3067,"props":6140,"children":6141},{"style":3265},[6142],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6144,"children":6146},{"class":3069,"line":6145},36,[6147,6152,6157,6162,6166,6170,6175,6179],{"type":2449,"tag":3067,"props":6148,"children":6149},{"style":3265},[6150],{"type":2455,"value":6151},"  \u003C",{"type":2449,"tag":3067,"props":6153,"children":6154},{"style":3341},[6155],{"type":2455,"value":6156},"form",{"type":2449,"tag":3067,"props":6158,"children":6159},{"style":3479},[6160],{"type":2455,"value":6161}," @submit.prevent",{"type":2449,"tag":3067,"props":6163,"children":6164},{"style":3265},[6165],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":6167,"children":6168},{"style":3265},[6169],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6171,"children":6172},{"style":3080},[6173],{"type":2455,"value":6174},"handleSubmit('Buy milk')",{"type":2449,"tag":3067,"props":6176,"children":6177},{"style":3265},[6178],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6180,"children":6181},{"style":3265},[6182],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6184,"children":6186},{"class":3069,"line":6185},37,[6187,6192,6197,6202,6206,6210,6215,6219],{"type":2449,"tag":3067,"props":6188,"children":6189},{"style":3265},[6190],{"type":2455,"value":6191},"    \u003C",{"type":2449,"tag":3067,"props":6193,"children":6194},{"style":3341},[6195],{"type":2455,"value":6196},"button",{"type":2449,"tag":3067,"props":6198,"children":6199},{"style":3479},[6200],{"type":2455,"value":6201}," :disabled",{"type":2449,"tag":3067,"props":6203,"children":6204},{"style":3265},[6205],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":6207,"children":6208},{"style":3265},[6209],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6211,"children":6212},{"style":3080},[6213],{"type":2455,"value":6214},"status === 'executing'",{"type":2449,"tag":3067,"props":6216,"children":6217},{"style":3265},[6218],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6220,"children":6221},{"style":3265},[6222],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6224,"children":6226},{"class":3069,"line":6225},38,[6227],{"type":2449,"tag":3067,"props":6228,"children":6229},{"style":3271},[6230],{"type":2455,"value":6231},"      {{ status === 'executing' ? 'Creating...' : 'Add Todo' }}\n",{"type":2449,"tag":3067,"props":6233,"children":6235},{"class":3069,"line":6234},39,[6236,6241,6245],{"type":2449,"tag":3067,"props":6237,"children":6238},{"style":3265},[6239],{"type":2455,"value":6240},"    \u003C\u002F",{"type":2449,"tag":3067,"props":6242,"children":6243},{"style":3341},[6244],{"type":2455,"value":6196},{"type":2449,"tag":3067,"props":6246,"children":6247},{"style":3265},[6248],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6250,"children":6252},{"class":3069,"line":6251},40,[6253,6257,6261,6266,6270,6274,6278,6282,6287,6291,6295,6299,6303,6308,6313,6317,6321],{"type":2449,"tag":3067,"props":6254,"children":6255},{"style":3265},[6256],{"type":2455,"value":6191},{"type":2449,"tag":3067,"props":6258,"children":6259},{"style":3341},[6260],{"type":2455,"value":2450},{"type":2449,"tag":3067,"props":6262,"children":6263},{"style":3479},[6264],{"type":2455,"value":6265}," v-if",{"type":2449,"tag":3067,"props":6267,"children":6268},{"style":3265},[6269],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":6271,"children":6272},{"style":3265},[6273],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6275,"children":6276},{"style":3080},[6277],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":6279,"children":6280},{"style":3265},[6281],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6283,"children":6284},{"style":3479},[6285],{"type":2455,"value":6286}," class",{"type":2449,"tag":3067,"props":6288,"children":6289},{"style":3265},[6290],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":6292,"children":6293},{"style":3265},[6294],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6296,"children":6297},{"style":3080},[6298],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":6300,"children":6301},{"style":3265},[6302],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6304,"children":6305},{"style":3265},[6306],{"type":2455,"value":6307},">",{"type":2449,"tag":3067,"props":6309,"children":6310},{"style":3271},[6311],{"type":2455,"value":6312},"{{ error.message }}",{"type":2449,"tag":3067,"props":6314,"children":6315},{"style":3265},[6316],{"type":2455,"value":6109},{"type":2449,"tag":3067,"props":6318,"children":6319},{"style":3341},[6320],{"type":2455,"value":2450},{"type":2449,"tag":3067,"props":6322,"children":6323},{"style":3265},[6324],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6326,"children":6328},{"class":3069,"line":6327},41,[6329,6334,6338],{"type":2449,"tag":3067,"props":6330,"children":6331},{"style":3265},[6332],{"type":2455,"value":6333},"  \u003C\u002F",{"type":2449,"tag":3067,"props":6335,"children":6336},{"style":3341},[6337],{"type":2455,"value":6156},{"type":2449,"tag":3067,"props":6339,"children":6340},{"style":3265},[6341],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6343,"children":6345},{"class":3069,"line":6344},42,[6346,6350,6354],{"type":2449,"tag":3067,"props":6347,"children":6348},{"style":3265},[6349],{"type":2455,"value":6109},{"type":2449,"tag":3067,"props":6351,"children":6352},{"style":3341},[6353],{"type":2455,"value":6138},{"type":2449,"tag":3067,"props":6355,"children":6356},{"style":3265},[6357],{"type":2455,"value":5332},{"type":2449,"tag":6359,"props":6360,"children":6361},"blockquote",{},[6362],{"type":2449,"tag":2450,"props":6363,"children":6364},{},[6365,6370,6372,6377,6379,6385,6387,6392],{"type":2449,"tag":2564,"props":6366,"children":6367},{},[6368],{"type":2455,"value":6369},"Calling external or string-path endpoints?",{"type":2455,"value":6371}," ",{"type":2449,"tag":2631,"props":6373,"children":6375},{"className":6374},[],[6376],{"type":2455,"value":5273},{"type":2455,"value":6378}," also accepts a plain path with explicit generics as a fallback — ",{"type":2449,"tag":2631,"props":6380,"children":6382},{"className":6381},[],[6383],{"type":2455,"value":6384},"useAction\u003CTInput, TOutput>('\u002Fapi\u002Ftodos', { method: 'POST' })",{"type":2455,"value":6386},". Prefer the typed reference from ",{"type":2449,"tag":2631,"props":6388,"children":6390},{"className":6389},[],[6391],{"type":2455,"value":2636},{"type":2455,"value":6393}," for internal actions so types stay inferred automatically.",{"type":2449,"tag":3220,"props":6395,"children":6397},{"id":6396},"optimistic-updates-useoptimisticaction",[6398,6400],{"type":2455,"value":6399},"Optimistic Updates: ",{"type":2449,"tag":2631,"props":6401,"children":6403},{"className":6402},[],[6404],{"type":2455,"value":2671},{"type":2449,"tag":2450,"props":6406,"children":6407},{},[6408],{"type":2455,"value":6409},"Instant UI updates with automatic rollback on server error:",{"type":2449,"tag":3057,"props":6411,"children":6413},{"className":5281,"code":6412,"language":5283,"meta":2443,"style":2443},"\u003Cscript setup lang=\"ts\">\nconst todos = ref([\n  { id: 1, title: 'Buy milk', done: false },\n  { id: 2, title: 'Walk dog', done: true },\n])\n\nconst { execute, optimisticData } = useOptimisticAction('\u002Fapi\u002Ftodos\u002Ftoggle', {\n  method: 'PATCH',\n  currentData: todos,\n  updateFn: (input, current) =>\n    current.map(t => t.id === input.id ? { ...t, done: !t.done } : t),\n  onError(error) {\n    toast.error('Failed to update - changes reverted')\n  },\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cul>\n    \u003Cli v-for=\"todo in optimisticData\" :key=\"todo.id\">\n      \u003Cinput\n        type=\"checkbox\"\n        :checked=\"todo.done\"\n        @change=\"execute({ id: todo.id })\"\n      >\n      {{ todo.title }}\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n",[6414],{"type":2449,"tag":2631,"props":6415,"children":6416},{"__ignoreMap":2443},[6417,6456,6482,6551,6617,6625,6632,6694,6723,6744,6782,6909,6932,6968,6975,6986,7001,7008,7023,7038,7097,7110,7136,7161,7186,7194,7202,7217,7232],{"type":2449,"tag":3067,"props":6418,"children":6419},{"class":3069,"line":3070},[6420,6424,6428,6432,6436,6440,6444,6448,6452],{"type":2449,"tag":3067,"props":6421,"children":6422},{"style":3265},[6423],{"type":2455,"value":5295},{"type":2449,"tag":3067,"props":6425,"children":6426},{"style":3341},[6427],{"type":2455,"value":5300},{"type":2449,"tag":3067,"props":6429,"children":6430},{"style":3479},[6431],{"type":2455,"value":5305},{"type":2449,"tag":3067,"props":6433,"children":6434},{"style":3479},[6435],{"type":2455,"value":5310},{"type":2449,"tag":3067,"props":6437,"children":6438},{"style":3265},[6439],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":6441,"children":6442},{"style":3265},[6443],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6445,"children":6446},{"style":3080},[6447],{"type":2455,"value":3241},{"type":2449,"tag":3067,"props":6449,"children":6450},{"style":3265},[6451],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":6453,"children":6454},{"style":3265},[6455],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":6457,"children":6458},{"class":3069,"line":3122},[6459,6463,6468,6472,6477],{"type":2449,"tag":3067,"props":6460,"children":6461},{"style":3479},[6462],{"type":2455,"value":5399},{"type":2449,"tag":3067,"props":6464,"children":6465},{"style":3271},[6466],{"type":2455,"value":6467}," todos ",{"type":2449,"tag":3067,"props":6469,"children":6470},{"style":3265},[6471],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":6473,"children":6474},{"style":3322},[6475],{"type":2455,"value":6476}," ref",{"type":2449,"tag":3067,"props":6478,"children":6479},{"style":3271},[6480],{"type":2455,"value":6481},"([\n",{"type":2449,"tag":3067,"props":6483,"children":6484},{"class":3069,"line":3140},[6485,6490,6494,6498,6502,6506,6510,6514,6518,6523,6527,6531,6536,6540,6546],{"type":2449,"tag":3067,"props":6486,"children":6487},{"style":3265},[6488],{"type":2455,"value":6489},"  {",{"type":2449,"tag":3067,"props":6491,"children":6492},{"style":3341},[6493],{"type":2455,"value":3877},{"type":2449,"tag":3067,"props":6495,"children":6496},{"style":3265},[6497],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6499,"children":6500},{"style":3417},[6501],{"type":2455,"value":4793},{"type":2449,"tag":3067,"props":6503,"children":6504},{"style":3265},[6505],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6507,"children":6508},{"style":3341},[6509],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":6511,"children":6512},{"style":3265},[6513],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6515,"children":6516},{"style":3265},[6517],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":6519,"children":6520},{"style":3080},[6521],{"type":2455,"value":6522},"Buy milk",{"type":2449,"tag":3067,"props":6524,"children":6525},{"style":3265},[6526],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6528,"children":6529},{"style":3265},[6530],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6532,"children":6533},{"style":3341},[6534],{"type":2455,"value":6535}," done",{"type":2449,"tag":3067,"props":6537,"children":6538},{"style":3265},[6539],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6541,"children":6543},{"style":6542},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[6544],{"type":2455,"value":6545}," false",{"type":2449,"tag":3067,"props":6547,"children":6548},{"style":3265},[6549],{"type":2455,"value":6550}," },\n",{"type":2449,"tag":3067,"props":6552,"children":6553},{"class":3069,"line":3150},[6554,6558,6562,6566,6571,6575,6579,6583,6587,6592,6596,6600,6604,6608,6613],{"type":2449,"tag":3067,"props":6555,"children":6556},{"style":3265},[6557],{"type":2455,"value":6489},{"type":2449,"tag":3067,"props":6559,"children":6560},{"style":3341},[6561],{"type":2455,"value":3877},{"type":2449,"tag":3067,"props":6563,"children":6564},{"style":3265},[6565],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6567,"children":6568},{"style":3417},[6569],{"type":2455,"value":6570}," 2",{"type":2449,"tag":3067,"props":6572,"children":6573},{"style":3265},[6574],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6576,"children":6577},{"style":3341},[6578],{"type":2455,"value":3756},{"type":2449,"tag":3067,"props":6580,"children":6581},{"style":3265},[6582],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6584,"children":6585},{"style":3265},[6586],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":6588,"children":6589},{"style":3080},[6590],{"type":2455,"value":6591},"Walk dog",{"type":2449,"tag":3067,"props":6593,"children":6594},{"style":3265},[6595],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6597,"children":6598},{"style":3265},[6599],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6601,"children":6602},{"style":3341},[6603],{"type":2455,"value":6535},{"type":2449,"tag":3067,"props":6605,"children":6606},{"style":3265},[6607],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6609,"children":6610},{"style":6542},[6611],{"type":2455,"value":6612}," true",{"type":2449,"tag":3067,"props":6614,"children":6615},{"style":3265},[6616],{"type":2455,"value":6550},{"type":2449,"tag":3067,"props":6618,"children":6619},{"class":3069,"line":3159},[6620],{"type":2449,"tag":3067,"props":6621,"children":6622},{"style":3271},[6623],{"type":2455,"value":6624},"])\n",{"type":2449,"tag":3067,"props":6626,"children":6627},{"class":3069,"line":3176},[6628],{"type":2449,"tag":3067,"props":6629,"children":6630},{"emptyLinePlaceholder":3144},[6631],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":6633,"children":6634},{"class":3069,"line":3184},[6635,6639,6643,6647,6651,6656,6660,6664,6669,6673,6677,6682,6686,6690],{"type":2449,"tag":3067,"props":6636,"children":6637},{"style":3479},[6638],{"type":2455,"value":5399},{"type":2449,"tag":3067,"props":6640,"children":6641},{"style":3265},[6642],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":6644,"children":6645},{"style":3271},[6646],{"type":2455,"value":5408},{"type":2449,"tag":3067,"props":6648,"children":6649},{"style":3265},[6650],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6652,"children":6653},{"style":3271},[6654],{"type":2455,"value":6655}," optimisticData ",{"type":2449,"tag":3067,"props":6657,"children":6658},{"style":3265},[6659],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":6661,"children":6662},{"style":3265},[6663],{"type":2455,"value":3527},{"type":2449,"tag":3067,"props":6665,"children":6666},{"style":3322},[6667],{"type":2455,"value":6668}," useOptimisticAction",{"type":2449,"tag":3067,"props":6670,"children":6671},{"style":3271},[6672],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":6674,"children":6675},{"style":3265},[6676],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6678,"children":6679},{"style":3080},[6680],{"type":2455,"value":6681},"\u002Fapi\u002Ftodos\u002Ftoggle",{"type":2449,"tag":3067,"props":6683,"children":6684},{"style":3265},[6685],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6687,"children":6688},{"style":3265},[6689],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6691,"children":6692},{"style":3265},[6693],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":6695,"children":6696},{"class":3069,"line":3193},[6697,6702,6706,6710,6715,6719],{"type":2449,"tag":3067,"props":6698,"children":6699},{"style":3341},[6700],{"type":2455,"value":6701},"  method",{"type":2449,"tag":3067,"props":6703,"children":6704},{"style":3265},[6705],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6707,"children":6708},{"style":3265},[6709],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":6711,"children":6712},{"style":3080},[6713],{"type":2455,"value":6714},"PATCH",{"type":2449,"tag":3067,"props":6716,"children":6717},{"style":3265},[6718],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6720,"children":6721},{"style":3265},[6722],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":6724,"children":6725},{"class":3069,"line":3511},[6726,6731,6735,6740],{"type":2449,"tag":3067,"props":6727,"children":6728},{"style":3341},[6729],{"type":2455,"value":6730},"  currentData",{"type":2449,"tag":3067,"props":6732,"children":6733},{"style":3265},[6734],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6736,"children":6737},{"style":3271},[6738],{"type":2455,"value":6739}," todos",{"type":2449,"tag":3067,"props":6741,"children":6742},{"style":3265},[6743],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":6745,"children":6746},{"class":3069,"line":3589},[6747,6752,6756,6760,6764,6768,6773,6777],{"type":2449,"tag":3067,"props":6748,"children":6749},{"style":3322},[6750],{"type":2455,"value":6751},"  updateFn",{"type":2449,"tag":3067,"props":6753,"children":6754},{"style":3265},[6755],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6757,"children":6758},{"style":3265},[6759],{"type":2455,"value":3868},{"type":2449,"tag":3067,"props":6761,"children":6762},{"style":3490},[6763],{"type":2455,"value":4774},{"type":2449,"tag":3067,"props":6765,"children":6766},{"style":3265},[6767],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6769,"children":6770},{"style":3490},[6771],{"type":2455,"value":6772}," current",{"type":2449,"tag":3067,"props":6774,"children":6775},{"style":3265},[6776],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":6778,"children":6779},{"style":3479},[6780],{"type":2455,"value":6781}," =>\n",{"type":2449,"tag":3067,"props":6783,"children":6784},{"class":3069,"line":3603},[6785,6790,6794,6799,6803,6808,6812,6817,6821,6826,6831,6835,6839,6843,6848,6852,6857,6861,6865,6869,6873,6878,6882,6886,6891,6895,6900,6905],{"type":2449,"tag":3067,"props":6786,"children":6787},{"style":3271},[6788],{"type":2455,"value":6789},"    current",{"type":2449,"tag":3067,"props":6791,"children":6792},{"style":3265},[6793],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":6795,"children":6796},{"style":3322},[6797],{"type":2455,"value":6798},"map",{"type":2449,"tag":3067,"props":6800,"children":6801},{"style":3271},[6802],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":6804,"children":6805},{"style":3490},[6806],{"type":2455,"value":6807},"t",{"type":2449,"tag":3067,"props":6809,"children":6810},{"style":3479},[6811],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":6813,"children":6814},{"style":3271},[6815],{"type":2455,"value":6816}," t",{"type":2449,"tag":3067,"props":6818,"children":6819},{"style":3265},[6820],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":6822,"children":6823},{"style":3271},[6824],{"type":2455,"value":6825},"id ",{"type":2449,"tag":3067,"props":6827,"children":6828},{"style":3265},[6829],{"type":2455,"value":6830},"===",{"type":2449,"tag":3067,"props":6832,"children":6833},{"style":3271},[6834],{"type":2455,"value":3493},{"type":2449,"tag":3067,"props":6836,"children":6837},{"style":3265},[6838],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":6840,"children":6841},{"style":3271},[6842],{"type":2455,"value":6825},{"type":2449,"tag":3067,"props":6844,"children":6845},{"style":3265},[6846],{"type":2455,"value":6847},"?",{"type":2449,"tag":3067,"props":6849,"children":6850},{"style":3265},[6851],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":6853,"children":6854},{"style":3265},[6855],{"type":2455,"value":6856}," ...",{"type":2449,"tag":3067,"props":6858,"children":6859},{"style":3271},[6860],{"type":2455,"value":6807},{"type":2449,"tag":3067,"props":6862,"children":6863},{"style":3265},[6864],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":6866,"children":6867},{"style":3341},[6868],{"type":2455,"value":6535},{"type":2449,"tag":3067,"props":6870,"children":6871},{"style":3265},[6872],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":6874,"children":6875},{"style":3265},[6876],{"type":2455,"value":6877}," !",{"type":2449,"tag":3067,"props":6879,"children":6880},{"style":3271},[6881],{"type":2455,"value":6807},{"type":2449,"tag":3067,"props":6883,"children":6884},{"style":3265},[6885],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":6887,"children":6888},{"style":3271},[6889],{"type":2455,"value":6890},"done ",{"type":2449,"tag":3067,"props":6892,"children":6893},{"style":3265},[6894],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":6896,"children":6897},{"style":3265},[6898],{"type":2455,"value":6899}," :",{"type":2449,"tag":3067,"props":6901,"children":6902},{"style":3271},[6903],{"type":2455,"value":6904}," t)",{"type":2449,"tag":3067,"props":6906,"children":6907},{"style":3265},[6908],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":6910,"children":6911},{"class":3069,"line":3612},[6912,6916,6920,6924,6928],{"type":2449,"tag":3067,"props":6913,"children":6914},{"style":3341},[6915],{"type":2455,"value":5653},{"type":2449,"tag":3067,"props":6917,"children":6918},{"style":3265},[6919],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":6921,"children":6922},{"style":3490},[6923],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":6925,"children":6926},{"style":3265},[6927],{"type":2455,"value":2722},{"type":2449,"tag":3067,"props":6929,"children":6930},{"style":3265},[6931],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":6933,"children":6934},{"class":3069,"line":4755},[6935,6939,6943,6947,6951,6955,6960,6964],{"type":2449,"tag":3067,"props":6936,"children":6937},{"style":3271},[6938],{"type":2455,"value":5588},{"type":2449,"tag":3067,"props":6940,"children":6941},{"style":3265},[6942],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":6944,"children":6945},{"style":3322},[6946],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":6948,"children":6949},{"style":3341},[6950],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":6952,"children":6953},{"style":3265},[6954],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6956,"children":6957},{"style":3080},[6958],{"type":2455,"value":6959},"Failed to update - changes reverted",{"type":2449,"tag":3067,"props":6961,"children":6962},{"style":3265},[6963],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":6965,"children":6966},{"style":3341},[6967],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":6969,"children":6970},{"class":3069,"line":4815},[6971],{"type":2449,"tag":3067,"props":6972,"children":6973},{"style":3265},[6974],{"type":2455,"value":3609},{"type":2449,"tag":3067,"props":6976,"children":6977},{"class":3069,"line":4836},[6978,6982],{"type":2449,"tag":3067,"props":6979,"children":6980},{"style":3265},[6981],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":6983,"children":6984},{"style":3271},[6985],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":6987,"children":6988},{"class":3069,"line":2432},[6989,6993,6997],{"type":2449,"tag":3067,"props":6990,"children":6991},{"style":3265},[6992],{"type":2455,"value":6109},{"type":2449,"tag":3067,"props":6994,"children":6995},{"style":3341},[6996],{"type":2455,"value":5300},{"type":2449,"tag":3067,"props":6998,"children":6999},{"style":3265},[7000],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":7002,"children":7003},{"class":3069,"line":5727},[7004],{"type":2449,"tag":3067,"props":7005,"children":7006},{"emptyLinePlaceholder":3144},[7007],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":7009,"children":7010},{"class":3069,"line":5735},[7011,7015,7019],{"type":2449,"tag":3067,"props":7012,"children":7013},{"style":3265},[7014],{"type":2455,"value":5295},{"type":2449,"tag":3067,"props":7016,"children":7017},{"style":3341},[7018],{"type":2455,"value":6138},{"type":2449,"tag":3067,"props":7020,"children":7021},{"style":3265},[7022],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":7024,"children":7025},{"class":3069,"line":5744},[7026,7030,7034],{"type":2449,"tag":3067,"props":7027,"children":7028},{"style":3265},[7029],{"type":2455,"value":6151},{"type":2449,"tag":3067,"props":7031,"children":7032},{"style":3341},[7033],{"type":2455,"value":2589},{"type":2449,"tag":3067,"props":7035,"children":7036},{"style":3265},[7037],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":7039,"children":7040},{"class":3069,"line":5787},[7041,7045,7049,7054,7058,7062,7067,7071,7076,7080,7084,7089,7093],{"type":2449,"tag":3067,"props":7042,"children":7043},{"style":3265},[7044],{"type":2455,"value":6191},{"type":2449,"tag":3067,"props":7046,"children":7047},{"style":3341},[7048],{"type":2455,"value":2593},{"type":2449,"tag":3067,"props":7050,"children":7051},{"style":3479},[7052],{"type":2455,"value":7053}," v-for",{"type":2449,"tag":3067,"props":7055,"children":7056},{"style":3265},[7057],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7059,"children":7060},{"style":3265},[7061],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7063,"children":7064},{"style":3080},[7065],{"type":2455,"value":7066},"todo in optimisticData",{"type":2449,"tag":3067,"props":7068,"children":7069},{"style":3265},[7070],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7072,"children":7073},{"style":3479},[7074],{"type":2455,"value":7075}," :key",{"type":2449,"tag":3067,"props":7077,"children":7078},{"style":3265},[7079],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7081,"children":7082},{"style":3265},[7083],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7085,"children":7086},{"style":3080},[7087],{"type":2455,"value":7088},"todo.id",{"type":2449,"tag":3067,"props":7090,"children":7091},{"style":3265},[7092],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7094,"children":7095},{"style":3265},[7096],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":7098,"children":7099},{"class":3069,"line":2436},[7100,7105],{"type":2449,"tag":3067,"props":7101,"children":7102},{"style":3265},[7103],{"type":2455,"value":7104},"      \u003C",{"type":2449,"tag":3067,"props":7106,"children":7107},{"style":3341},[7108],{"type":2455,"value":7109},"input\n",{"type":2449,"tag":3067,"props":7111,"children":7112},{"class":3069,"line":5895},[7113,7118,7122,7126,7131],{"type":2449,"tag":3067,"props":7114,"children":7115},{"style":3479},[7116],{"type":2455,"value":7117},"        type",{"type":2449,"tag":3067,"props":7119,"children":7120},{"style":3265},[7121],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7123,"children":7124},{"style":3265},[7125],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7127,"children":7128},{"style":3080},[7129],{"type":2455,"value":7130},"checkbox",{"type":2449,"tag":3067,"props":7132,"children":7133},{"style":3265},[7134],{"type":2455,"value":7135},"\"\n",{"type":2449,"tag":3067,"props":7137,"children":7138},{"class":3069,"line":5904},[7139,7144,7148,7152,7157],{"type":2449,"tag":3067,"props":7140,"children":7141},{"style":3479},[7142],{"type":2455,"value":7143},"        :checked",{"type":2449,"tag":3067,"props":7145,"children":7146},{"style":3265},[7147],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7149,"children":7150},{"style":3265},[7151],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7153,"children":7154},{"style":3080},[7155],{"type":2455,"value":7156},"todo.done",{"type":2449,"tag":3067,"props":7158,"children":7159},{"style":3265},[7160],{"type":2455,"value":7135},{"type":2449,"tag":3067,"props":7162,"children":7163},{"class":3069,"line":5912},[7164,7169,7173,7177,7182],{"type":2449,"tag":3067,"props":7165,"children":7166},{"style":3479},[7167],{"type":2455,"value":7168},"        @change",{"type":2449,"tag":3067,"props":7170,"children":7171},{"style":3265},[7172],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7174,"children":7175},{"style":3265},[7176],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":7178,"children":7179},{"style":3080},[7180],{"type":2455,"value":7181},"execute({ id: todo.id })",{"type":2449,"tag":3067,"props":7183,"children":7184},{"style":3265},[7185],{"type":2455,"value":7135},{"type":2449,"tag":3067,"props":7187,"children":7188},{"class":3069,"line":5921},[7189],{"type":2449,"tag":3067,"props":7190,"children":7191},{"style":3265},[7192],{"type":2455,"value":7193},"      >\n",{"type":2449,"tag":3067,"props":7195,"children":7196},{"class":3069,"line":5962},[7197],{"type":2449,"tag":3067,"props":7198,"children":7199},{"style":3271},[7200],{"type":2455,"value":7201},"      {{ todo.title }}\n",{"type":2449,"tag":3067,"props":7203,"children":7204},{"class":3069,"line":5975},[7205,7209,7213],{"type":2449,"tag":3067,"props":7206,"children":7207},{"style":3265},[7208],{"type":2455,"value":6240},{"type":2449,"tag":3067,"props":7210,"children":7211},{"style":3341},[7212],{"type":2455,"value":2593},{"type":2449,"tag":3067,"props":7214,"children":7215},{"style":3265},[7216],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":7218,"children":7219},{"class":3069,"line":6019},[7220,7224,7228],{"type":2449,"tag":3067,"props":7221,"children":7222},{"style":3265},[7223],{"type":2455,"value":6333},{"type":2449,"tag":3067,"props":7225,"children":7226},{"style":3341},[7227],{"type":2455,"value":2589},{"type":2449,"tag":3067,"props":7229,"children":7230},{"style":3265},[7231],{"type":2455,"value":5332},{"type":2449,"tag":3067,"props":7233,"children":7234},{"class":3069,"line":6047},[7235,7239,7243],{"type":2449,"tag":3067,"props":7236,"children":7237},{"style":3265},[7238],{"type":2455,"value":6109},{"type":2449,"tag":3067,"props":7240,"children":7241},{"style":3341},[7242],{"type":2455,"value":6138},{"type":2449,"tag":3067,"props":7244,"children":7245},{"style":3265},[7246],{"type":2455,"value":5332},{"type":2449,"tag":3220,"props":7248,"children":7249},{"id":149},[7250],{"type":2455,"value":7251},"Middleware",{"type":2449,"tag":2450,"props":7253,"children":7254},{},[7255],{"type":2455,"value":7256},"Create reusable middleware for cross-cutting concerns:",{"type":2449,"tag":3057,"props":7258,"children":7260},{"className":3239,"code":7259,"language":3241,"meta":2443,"style":2443},"\u002F\u002F server\u002Futils\u002Fauth.ts\nexport const authMiddleware = defineMiddleware(async ({ event, next }) => {\n  const session = await getUserSession(event)\n  if (!session) {\n    throw createActionError({\n      code: 'UNAUTHORIZED',\n      message: 'Authentication required',\n      statusCode: 401,\n    })\n  }\n  return next({ ctx: { user: session.user } })\n})\n",[7261],{"type":2449,"tag":2631,"props":7262,"children":7263},{"__ignoreMap":2443},[7264,7272,7335,7373,7402,7423,7452,7481,7502,7513,7520,7585],{"type":2449,"tag":3067,"props":7265,"children":7266},{"class":3069,"line":3070},[7267],{"type":2449,"tag":3067,"props":7268,"children":7269},{"style":3116},[7270],{"type":2455,"value":7271},"\u002F\u002F server\u002Futils\u002Fauth.ts\n",{"type":2449,"tag":3067,"props":7273,"children":7274},{"class":3069,"line":3122},[7275,7279,7283,7288,7292,7297,7301,7305,7309,7314,7318,7323,7327,7331],{"type":2449,"tag":3067,"props":7276,"children":7277},{"style":3259},[7278],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":7280,"children":7281},{"style":3479},[7282],{"type":2455,"value":4239},{"type":2449,"tag":3067,"props":7284,"children":7285},{"style":3271},[7286],{"type":2455,"value":7287}," authMiddleware ",{"type":2449,"tag":3067,"props":7289,"children":7290},{"style":3265},[7291],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7293,"children":7294},{"style":3322},[7295],{"type":2455,"value":7296}," defineMiddleware",{"type":2449,"tag":3067,"props":7298,"children":7299},{"style":3271},[7300],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7302,"children":7303},{"style":3479},[7304],{"type":2455,"value":4674},{"type":2449,"tag":3067,"props":7306,"children":7307},{"style":3265},[7308],{"type":2455,"value":3487},{"type":2449,"tag":3067,"props":7310,"children":7311},{"style":3490},[7312],{"type":2455,"value":7313}," event",{"type":2449,"tag":3067,"props":7315,"children":7316},{"style":3265},[7317],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":7319,"children":7320},{"style":3490},[7321],{"type":2455,"value":7322}," next",{"type":2449,"tag":3067,"props":7324,"children":7325},{"style":3265},[7326],{"type":2455,"value":3498},{"type":2449,"tag":3067,"props":7328,"children":7329},{"style":3479},[7330],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":7332,"children":7333},{"style":3265},[7334],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":7336,"children":7337},{"class":3069,"line":3140},[7338,7342,7347,7351,7355,7360,7364,7369],{"type":2449,"tag":3067,"props":7339,"children":7340},{"style":3479},[7341],{"type":2455,"value":5793},{"type":2449,"tag":3067,"props":7343,"children":7344},{"style":3271},[7345],{"type":2455,"value":7346}," session",{"type":2449,"tag":3067,"props":7348,"children":7349},{"style":3265},[7350],{"type":2455,"value":3527},{"type":2449,"tag":3067,"props":7352,"children":7353},{"style":3259},[7354],{"type":2455,"value":3532},{"type":2449,"tag":3067,"props":7356,"children":7357},{"style":3322},[7358],{"type":2455,"value":7359}," getUserSession",{"type":2449,"tag":3067,"props":7361,"children":7362},{"style":3341},[7363],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7365,"children":7366},{"style":3271},[7367],{"type":2455,"value":7368},"event",{"type":2449,"tag":3067,"props":7370,"children":7371},{"style":3341},[7372],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":7374,"children":7375},{"class":3069,"line":3150},[7376,7380,7384,7389,7394,7398],{"type":2449,"tag":3067,"props":7377,"children":7378},{"style":3259},[7379],{"type":2455,"value":5838},{"type":2449,"tag":3067,"props":7381,"children":7382},{"style":3341},[7383],{"type":2455,"value":3868},{"type":2449,"tag":3067,"props":7385,"children":7386},{"style":3265},[7387],{"type":2455,"value":7388},"!",{"type":2449,"tag":3067,"props":7390,"children":7391},{"style":3271},[7392],{"type":2455,"value":7393},"session",{"type":2449,"tag":3067,"props":7395,"children":7396},{"style":3341},[7397],{"type":2455,"value":4798},{"type":2449,"tag":3067,"props":7399,"children":7400},{"style":3265},[7401],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":7403,"children":7404},{"class":3069,"line":3159},[7405,7410,7415,7419],{"type":2449,"tag":3067,"props":7406,"children":7407},{"style":3259},[7408],{"type":2455,"value":7409},"    throw",{"type":2449,"tag":3067,"props":7411,"children":7412},{"style":3322},[7413],{"type":2455,"value":7414}," createActionError",{"type":2449,"tag":3067,"props":7416,"children":7417},{"style":3341},[7418],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7420,"children":7421},{"style":3265},[7422],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":7424,"children":7425},{"class":3069,"line":3176},[7426,7431,7435,7439,7444,7448],{"type":2449,"tag":3067,"props":7427,"children":7428},{"style":3341},[7429],{"type":2455,"value":7430},"      code",{"type":2449,"tag":3067,"props":7432,"children":7433},{"style":3265},[7434],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7436,"children":7437},{"style":3265},[7438],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":7440,"children":7441},{"style":3080},[7442],{"type":2455,"value":7443},"UNAUTHORIZED",{"type":2449,"tag":3067,"props":7445,"children":7446},{"style":3265},[7447],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":7449,"children":7450},{"style":3265},[7451],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7453,"children":7454},{"class":3069,"line":3184},[7455,7460,7464,7468,7473,7477],{"type":2449,"tag":3067,"props":7456,"children":7457},{"style":3341},[7458],{"type":2455,"value":7459},"      message",{"type":2449,"tag":3067,"props":7461,"children":7462},{"style":3265},[7463],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7465,"children":7466},{"style":3265},[7467],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":7469,"children":7470},{"style":3080},[7471],{"type":2455,"value":7472},"Authentication required",{"type":2449,"tag":3067,"props":7474,"children":7475},{"style":3265},[7476],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":7478,"children":7479},{"style":3265},[7480],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7482,"children":7483},{"class":3069,"line":3193},[7484,7489,7493,7498],{"type":2449,"tag":3067,"props":7485,"children":7486},{"style":3341},[7487],{"type":2455,"value":7488},"      statusCode",{"type":2449,"tag":3067,"props":7490,"children":7491},{"style":3265},[7492],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7494,"children":7495},{"style":3417},[7496],{"type":2455,"value":7497}," 401",{"type":2449,"tag":3067,"props":7499,"children":7500},{"style":3265},[7501],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7503,"children":7504},{"class":3069,"line":3511},[7505,7509],{"type":2449,"tag":3067,"props":7506,"children":7507},{"style":3265},[7508],{"type":2455,"value":4842},{"type":2449,"tag":3067,"props":7510,"children":7511},{"style":3341},[7512],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":7514,"children":7515},{"class":3069,"line":3589},[7516],{"type":2449,"tag":3067,"props":7517,"children":7518},{"style":3265},[7519],{"type":2455,"value":6092},{"type":2449,"tag":3067,"props":7521,"children":7522},{"class":3069,"line":3603},[7523,7528,7532,7536,7540,7544,7548,7552,7557,7561,7565,7569,7573,7577,7581],{"type":2449,"tag":3067,"props":7524,"children":7525},{"style":3259},[7526],{"type":2455,"value":7527},"  return",{"type":2449,"tag":3067,"props":7529,"children":7530},{"style":3322},[7531],{"type":2455,"value":7322},{"type":2449,"tag":3067,"props":7533,"children":7534},{"style":3341},[7535],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7537,"children":7538},{"style":3265},[7539],{"type":2455,"value":3564},{"type":2449,"tag":3067,"props":7541,"children":7542},{"style":3341},[7543],{"type":2455,"value":4691},{"type":2449,"tag":3067,"props":7545,"children":7546},{"style":3265},[7547],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7549,"children":7550},{"style":3265},[7551],{"type":2455,"value":3268},{"type":2449,"tag":3067,"props":7553,"children":7554},{"style":3341},[7555],{"type":2455,"value":7556}," user",{"type":2449,"tag":3067,"props":7558,"children":7559},{"style":3265},[7560],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7562,"children":7563},{"style":3271},[7564],{"type":2455,"value":7346},{"type":2449,"tag":3067,"props":7566,"children":7567},{"style":3265},[7568],{"type":2455,"value":3358},{"type":2449,"tag":3067,"props":7570,"children":7571},{"style":3271},[7572],{"type":2455,"value":4735},{"type":2449,"tag":3067,"props":7574,"children":7575},{"style":3265},[7576],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":7578,"children":7579},{"style":3265},[7580],{"type":2455,"value":3279},{"type":2449,"tag":3067,"props":7582,"children":7583},{"style":3341},[7584],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":7586,"children":7587},{"class":3069,"line":3612},[7588,7592],{"type":2449,"tag":3067,"props":7589,"children":7590},{"style":3265},[7591],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":7593,"children":7594},{"style":3271},[7595],{"type":2455,"value":3586},{"type":2449,"tag":2450,"props":7597,"children":7598},{},[7599],{"type":2455,"value":7600},"Publish standalone middleware as npm packages:",{"type":2449,"tag":3057,"props":7602,"children":7604},{"className":3239,"code":7603,"language":3241,"meta":2443,"style":2443},"\u002F\u002F Published as `nuxt-actions-ratelimit`\nexport const rateLimitMiddleware = createMiddleware(async ({ event, next }) => {\n  await checkRateLimit(event)\n  return next()\n})\n",[7605],{"type":2449,"tag":2631,"props":7606,"children":7607},{"__ignoreMap":2443},[7608,7616,7677,7702,7717],{"type":2449,"tag":3067,"props":7609,"children":7610},{"class":3069,"line":3070},[7611],{"type":2449,"tag":3067,"props":7612,"children":7613},{"style":3116},[7614],{"type":2455,"value":7615},"\u002F\u002F Published as `nuxt-actions-ratelimit`\n",{"type":2449,"tag":3067,"props":7617,"children":7618},{"class":3069,"line":3122},[7619,7623,7627,7632,7636,7641,7645,7649,7653,7657,7661,7665,7669,7673],{"type":2449,"tag":3067,"props":7620,"children":7621},{"style":3259},[7622],{"type":2455,"value":3314},{"type":2449,"tag":3067,"props":7624,"children":7625},{"style":3479},[7626],{"type":2455,"value":4239},{"type":2449,"tag":3067,"props":7628,"children":7629},{"style":3271},[7630],{"type":2455,"value":7631}," rateLimitMiddleware ",{"type":2449,"tag":3067,"props":7633,"children":7634},{"style":3265},[7635],{"type":2455,"value":4249},{"type":2449,"tag":3067,"props":7637,"children":7638},{"style":3322},[7639],{"type":2455,"value":7640}," createMiddleware",{"type":2449,"tag":3067,"props":7642,"children":7643},{"style":3271},[7644],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7646,"children":7647},{"style":3479},[7648],{"type":2455,"value":4674},{"type":2449,"tag":3067,"props":7650,"children":7651},{"style":3265},[7652],{"type":2455,"value":3487},{"type":2449,"tag":3067,"props":7654,"children":7655},{"style":3490},[7656],{"type":2455,"value":7313},{"type":2449,"tag":3067,"props":7658,"children":7659},{"style":3265},[7660],{"type":2455,"value":3425},{"type":2449,"tag":3067,"props":7662,"children":7663},{"style":3490},[7664],{"type":2455,"value":7322},{"type":2449,"tag":3067,"props":7666,"children":7667},{"style":3265},[7668],{"type":2455,"value":3498},{"type":2449,"tag":3067,"props":7670,"children":7671},{"style":3479},[7672],{"type":2455,"value":3503},{"type":2449,"tag":3067,"props":7674,"children":7675},{"style":3265},[7676],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":7678,"children":7679},{"class":3069,"line":3140},[7680,7685,7690,7694,7698],{"type":2449,"tag":3067,"props":7681,"children":7682},{"style":3259},[7683],{"type":2455,"value":7684},"  await",{"type":2449,"tag":3067,"props":7686,"children":7687},{"style":3322},[7688],{"type":2455,"value":7689}," checkRateLimit",{"type":2449,"tag":3067,"props":7691,"children":7692},{"style":3341},[7693],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7695,"children":7696},{"style":3271},[7697],{"type":2455,"value":7368},{"type":2449,"tag":3067,"props":7699,"children":7700},{"style":3341},[7701],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":7703,"children":7704},{"class":3069,"line":3150},[7705,7709,7713],{"type":2449,"tag":3067,"props":7706,"children":7707},{"style":3259},[7708],{"type":2455,"value":7527},{"type":2449,"tag":3067,"props":7710,"children":7711},{"style":3322},[7712],{"type":2455,"value":7322},{"type":2449,"tag":3067,"props":7714,"children":7715},{"style":3341},[7716],{"type":2455,"value":4259},{"type":2449,"tag":3067,"props":7718,"children":7719},{"class":3069,"line":3159},[7720,7724],{"type":2449,"tag":3067,"props":7721,"children":7722},{"style":3265},[7723],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":7725,"children":7726},{"style":3271},[7727],{"type":2455,"value":3586},{"type":2449,"tag":3220,"props":7729,"children":7731},{"id":7730},"error-handling",[7732],{"type":2455,"value":72},{"type":2449,"tag":2450,"props":7734,"children":7735},{},[7736],{"type":2455,"value":7737},"Throw typed errors from handlers or middleware:",{"type":2449,"tag":3057,"props":7739,"children":7741},{"className":3239,"code":7740,"language":3241,"meta":2443,"style":2443},"throw createActionError({\n  code: 'NOT_FOUND',\n  message: 'Todo not found',\n  statusCode: 404,\n})\n\n\u002F\u002F With field-level errors\nthrow createActionError({\n  code: 'VALIDATION_ERROR',\n  message: 'Duplicate entry',\n  statusCode: 422,\n  fieldErrors: {\n    email: ['Email is already taken'],\n  },\n})\n",[7742],{"type":2449,"tag":2631,"props":7743,"children":7744},{"__ignoreMap":2443},[7745,7765,7794,7823,7844,7855,7862,7870,7889,7917,7945,7965,7981,8019,8026],{"type":2449,"tag":3067,"props":7746,"children":7747},{"class":3069,"line":3070},[7748,7753,7757,7761],{"type":2449,"tag":3067,"props":7749,"children":7750},{"style":3259},[7751],{"type":2455,"value":7752},"throw",{"type":2449,"tag":3067,"props":7754,"children":7755},{"style":3322},[7756],{"type":2455,"value":7414},{"type":2449,"tag":3067,"props":7758,"children":7759},{"style":3271},[7760],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7762,"children":7763},{"style":3265},[7764],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":7766,"children":7767},{"class":3069,"line":3122},[7768,7773,7777,7781,7786,7790],{"type":2449,"tag":3067,"props":7769,"children":7770},{"style":3341},[7771],{"type":2455,"value":7772},"  code",{"type":2449,"tag":3067,"props":7774,"children":7775},{"style":3265},[7776],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7778,"children":7779},{"style":3265},[7780],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":7782,"children":7783},{"style":3080},[7784],{"type":2455,"value":7785},"NOT_FOUND",{"type":2449,"tag":3067,"props":7787,"children":7788},{"style":3265},[7789],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":7791,"children":7792},{"style":3265},[7793],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7795,"children":7796},{"class":3069,"line":3140},[7797,7802,7806,7810,7815,7819],{"type":2449,"tag":3067,"props":7798,"children":7799},{"style":3341},[7800],{"type":2455,"value":7801},"  message",{"type":2449,"tag":3067,"props":7803,"children":7804},{"style":3265},[7805],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7807,"children":7808},{"style":3265},[7809],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":7811,"children":7812},{"style":3080},[7813],{"type":2455,"value":7814},"Todo not found",{"type":2449,"tag":3067,"props":7816,"children":7817},{"style":3265},[7818],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":7820,"children":7821},{"style":3265},[7822],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7824,"children":7825},{"class":3069,"line":3150},[7826,7831,7835,7840],{"type":2449,"tag":3067,"props":7827,"children":7828},{"style":3341},[7829],{"type":2455,"value":7830},"  statusCode",{"type":2449,"tag":3067,"props":7832,"children":7833},{"style":3265},[7834],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7836,"children":7837},{"style":3417},[7838],{"type":2455,"value":7839}," 404",{"type":2449,"tag":3067,"props":7841,"children":7842},{"style":3265},[7843],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7845,"children":7846},{"class":3069,"line":3159},[7847,7851],{"type":2449,"tag":3067,"props":7848,"children":7849},{"style":3265},[7850],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":7852,"children":7853},{"style":3271},[7854],{"type":2455,"value":3586},{"type":2449,"tag":3067,"props":7856,"children":7857},{"class":3069,"line":3176},[7858],{"type":2449,"tag":3067,"props":7859,"children":7860},{"emptyLinePlaceholder":3144},[7861],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":7863,"children":7864},{"class":3069,"line":3184},[7865],{"type":2449,"tag":3067,"props":7866,"children":7867},{"style":3116},[7868],{"type":2455,"value":7869},"\u002F\u002F With field-level errors\n",{"type":2449,"tag":3067,"props":7871,"children":7872},{"class":3069,"line":3193},[7873,7877,7881,7885],{"type":2449,"tag":3067,"props":7874,"children":7875},{"style":3259},[7876],{"type":2455,"value":7752},{"type":2449,"tag":3067,"props":7878,"children":7879},{"style":3322},[7880],{"type":2455,"value":7414},{"type":2449,"tag":3067,"props":7882,"children":7883},{"style":3271},[7884],{"type":2455,"value":3330},{"type":2449,"tag":3067,"props":7886,"children":7887},{"style":3265},[7888],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":7890,"children":7891},{"class":3069,"line":3511},[7892,7896,7900,7904,7909,7913],{"type":2449,"tag":3067,"props":7893,"children":7894},{"style":3341},[7895],{"type":2455,"value":7772},{"type":2449,"tag":3067,"props":7897,"children":7898},{"style":3265},[7899],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7901,"children":7902},{"style":3265},[7903],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":7905,"children":7906},{"style":3080},[7907],{"type":2455,"value":7908},"VALIDATION_ERROR",{"type":2449,"tag":3067,"props":7910,"children":7911},{"style":3265},[7912],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":7914,"children":7915},{"style":3265},[7916],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7918,"children":7919},{"class":3069,"line":3589},[7920,7924,7928,7932,7937,7941],{"type":2449,"tag":3067,"props":7921,"children":7922},{"style":3341},[7923],{"type":2455,"value":7801},{"type":2449,"tag":3067,"props":7925,"children":7926},{"style":3265},[7927],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7929,"children":7930},{"style":3265},[7931],{"type":2455,"value":3289},{"type":2449,"tag":3067,"props":7933,"children":7934},{"style":3080},[7935],{"type":2455,"value":7936},"Duplicate entry",{"type":2449,"tag":3067,"props":7938,"children":7939},{"style":3265},[7940],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":7942,"children":7943},{"style":3265},[7944],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7946,"children":7947},{"class":3069,"line":3603},[7948,7952,7956,7961],{"type":2449,"tag":3067,"props":7949,"children":7950},{"style":3341},[7951],{"type":2455,"value":7830},{"type":2449,"tag":3067,"props":7953,"children":7954},{"style":3265},[7955],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7957,"children":7958},{"style":3417},[7959],{"type":2455,"value":7960}," 422",{"type":2449,"tag":3067,"props":7962,"children":7963},{"style":3265},[7964],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":7966,"children":7967},{"class":3069,"line":3612},[7968,7973,7977],{"type":2449,"tag":3067,"props":7969,"children":7970},{"style":3341},[7971],{"type":2455,"value":7972},"  fieldErrors",{"type":2449,"tag":3067,"props":7974,"children":7975},{"style":3265},[7976],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7978,"children":7979},{"style":3265},[7980],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":7982,"children":7983},{"class":3069,"line":4755},[7984,7988,7992,7997,8001,8006,8010,8015],{"type":2449,"tag":3067,"props":7985,"children":7986},{"style":3341},[7987],{"type":2455,"value":5070},{"type":2449,"tag":3067,"props":7989,"children":7990},{"style":3265},[7991],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":7993,"children":7994},{"style":3271},[7995],{"type":2455,"value":7996}," [",{"type":2449,"tag":3067,"props":7998,"children":7999},{"style":3265},[8000],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":8002,"children":8003},{"style":3080},[8004],{"type":2455,"value":8005},"Email is already taken",{"type":2449,"tag":3067,"props":8007,"children":8008},{"style":3265},[8009],{"type":2455,"value":3439},{"type":2449,"tag":3067,"props":8011,"children":8012},{"style":3271},[8013],{"type":2455,"value":8014},"]",{"type":2449,"tag":3067,"props":8016,"children":8017},{"style":3265},[8018],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":8020,"children":8021},{"class":3069,"line":4815},[8022],{"type":2449,"tag":3067,"props":8023,"children":8024},{"style":3265},[8025],{"type":2455,"value":3609},{"type":2449,"tag":3067,"props":8027,"children":8028},{"class":3069,"line":4836},[8029,8033],{"type":2449,"tag":3067,"props":8030,"children":8031},{"style":3265},[8032],{"type":2455,"value":3618},{"type":2449,"tag":3067,"props":8034,"children":8035},{"style":3271},[8036],{"type":2455,"value":3586},{"type":2449,"tag":2450,"props":8038,"children":8039},{},[8040],{"type":2455,"value":8041},"All errors follow a consistent format:",{"type":2449,"tag":3057,"props":8043,"children":8047},{"className":8044,"code":8045,"language":8046,"meta":2443,"style":2443},"language-json shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"Input validation failed\",\n    \"statusCode\": 422,\n    \"fieldErrors\": {\n      \"title\": [\"Title is required\"],\n      \"email\": [\"Invalid email address\"]\n    }\n  }\n}\n","json",[8048],{"type":2449,"tag":2631,"props":8049,"children":8050},{"__ignoreMap":2443},[8051,8058,8083,8106,8143,8179,8207,8231,8272,8313,8321,8328],{"type":2449,"tag":3067,"props":8052,"children":8053},{"class":3069,"line":3070},[8054],{"type":2449,"tag":3067,"props":8055,"children":8056},{"style":3265},[8057],{"type":2455,"value":3335},{"type":2449,"tag":3067,"props":8059,"children":8060},{"class":3069,"line":3122},[8061,8066,8070,8074,8078],{"type":2449,"tag":3067,"props":8062,"children":8063},{"style":3265},[8064],{"type":2455,"value":8065},"  \"",{"type":2449,"tag":3067,"props":8067,"children":8068},{"style":3479},[8069],{"type":2455,"value":5597},{"type":2449,"tag":3067,"props":8071,"children":8072},{"style":3265},[8073],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8075,"children":8076},{"style":3265},[8077],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8079,"children":8080},{"style":3265},[8081],{"type":2455,"value":8082}," false,\n",{"type":2449,"tag":3067,"props":8084,"children":8085},{"class":3069,"line":3140},[8086,8090,8094,8098,8102],{"type":2449,"tag":3067,"props":8087,"children":8088},{"style":3265},[8089],{"type":2455,"value":8065},{"type":2449,"tag":3067,"props":8091,"children":8092},{"style":3479},[8093],{"type":2455,"value":5662},{"type":2449,"tag":3067,"props":8095,"children":8096},{"style":3265},[8097],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8099,"children":8100},{"style":3265},[8101],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8103,"children":8104},{"style":3265},[8105],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":8107,"children":8108},{"class":3069,"line":3150},[8109,8114,8118,8122,8126,8131,8135,8139],{"type":2449,"tag":3067,"props":8110,"children":8111},{"style":3265},[8112],{"type":2455,"value":8113},"    \"",{"type":2449,"tag":3067,"props":8115,"children":8116},{"style":3074},[8117],{"type":2455,"value":2631},{"type":2449,"tag":3067,"props":8119,"children":8120},{"style":3265},[8121],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8123,"children":8124},{"style":3265},[8125],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8127,"children":8128},{"style":3265},[8129],{"type":2455,"value":8130}," \"",{"type":2449,"tag":3067,"props":8132,"children":8133},{"style":3080},[8134],{"type":2455,"value":7908},{"type":2449,"tag":3067,"props":8136,"children":8137},{"style":3265},[8138],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8140,"children":8141},{"style":3265},[8142],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":8144,"children":8145},{"class":3069,"line":3159},[8146,8150,8154,8158,8162,8166,8171,8175],{"type":2449,"tag":3067,"props":8147,"children":8148},{"style":3265},[8149],{"type":2455,"value":8113},{"type":2449,"tag":3067,"props":8151,"children":8152},{"style":3074},[8153],{"type":2455,"value":5702},{"type":2449,"tag":3067,"props":8155,"children":8156},{"style":3265},[8157],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8159,"children":8160},{"style":3265},[8161],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8163,"children":8164},{"style":3265},[8165],{"type":2455,"value":8130},{"type":2449,"tag":3067,"props":8167,"children":8168},{"style":3080},[8169],{"type":2455,"value":8170},"Input validation failed",{"type":2449,"tag":3067,"props":8172,"children":8173},{"style":3265},[8174],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8176,"children":8177},{"style":3265},[8178],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":8180,"children":8181},{"class":3069,"line":3176},[8182,8186,8191,8195,8199,8203],{"type":2449,"tag":3067,"props":8183,"children":8184},{"style":3265},[8185],{"type":2455,"value":8113},{"type":2449,"tag":3067,"props":8187,"children":8188},{"style":3074},[8189],{"type":2455,"value":8190},"statusCode",{"type":2449,"tag":3067,"props":8192,"children":8193},{"style":3265},[8194],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8196,"children":8197},{"style":3265},[8198],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8200,"children":8201},{"style":3417},[8202],{"type":2455,"value":7960},{"type":2449,"tag":3067,"props":8204,"children":8205},{"style":3265},[8206],{"type":2455,"value":3448},{"type":2449,"tag":3067,"props":8208,"children":8209},{"class":3069,"line":3184},[8210,8214,8219,8223,8227],{"type":2449,"tag":3067,"props":8211,"children":8212},{"style":3265},[8213],{"type":2455,"value":8113},{"type":2449,"tag":3067,"props":8215,"children":8216},{"style":3074},[8217],{"type":2455,"value":8218},"fieldErrors",{"type":2449,"tag":3067,"props":8220,"children":8221},{"style":3265},[8222],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8224,"children":8225},{"style":3265},[8226],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8228,"children":8229},{"style":3265},[8230],{"type":2455,"value":3508},{"type":2449,"tag":3067,"props":8232,"children":8233},{"class":3069,"line":3193},[8234,8239,8243,8247,8251,8255,8259,8263,8267],{"type":2449,"tag":3067,"props":8235,"children":8236},{"style":3265},[8237],{"type":2455,"value":8238},"      \"",{"type":2449,"tag":3067,"props":8240,"children":8241},{"style":3417},[8242],{"type":2455,"value":5629},{"type":2449,"tag":3067,"props":8244,"children":8245},{"style":3265},[8246],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8248,"children":8249},{"style":3265},[8250],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8252,"children":8253},{"style":3265},[8254],{"type":2455,"value":7996},{"type":2449,"tag":3067,"props":8256,"children":8257},{"style":3265},[8258],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8260,"children":8261},{"style":3080},[8262],{"type":2455,"value":3434},{"type":2449,"tag":3067,"props":8264,"children":8265},{"style":3265},[8266],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8268,"children":8269},{"style":3265},[8270],{"type":2455,"value":8271},"],\n",{"type":2449,"tag":3067,"props":8273,"children":8274},{"class":3069,"line":3511},[8275,8279,8283,8287,8291,8295,8299,8304,8308],{"type":2449,"tag":3067,"props":8276,"children":8277},{"style":3265},[8278],{"type":2455,"value":8238},{"type":2449,"tag":3067,"props":8280,"children":8281},{"style":3417},[8282],{"type":2455,"value":5099},{"type":2449,"tag":3067,"props":8284,"children":8285},{"style":3265},[8286],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8288,"children":8289},{"style":3265},[8290],{"type":2455,"value":3349},{"type":2449,"tag":3067,"props":8292,"children":8293},{"style":3265},[8294],{"type":2455,"value":7996},{"type":2449,"tag":3067,"props":8296,"children":8297},{"style":3265},[8298],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8300,"children":8301},{"style":3080},[8302],{"type":2455,"value":8303},"Invalid email address",{"type":2449,"tag":3067,"props":8305,"children":8306},{"style":3265},[8307],{"type":2455,"value":5319},{"type":2449,"tag":3067,"props":8309,"children":8310},{"style":3265},[8311],{"type":2455,"value":8312},"]\n",{"type":2449,"tag":3067,"props":8314,"children":8315},{"class":3069,"line":3589},[8316],{"type":2449,"tag":3067,"props":8317,"children":8318},{"style":3265},[8319],{"type":2455,"value":8320},"    }\n",{"type":2449,"tag":3067,"props":8322,"children":8323},{"class":3069,"line":3603},[8324],{"type":2449,"tag":3067,"props":8325,"children":8326},{"style":3265},[8327],{"type":2455,"value":6092},{"type":2449,"tag":3067,"props":8329,"children":8330},{"class":3069,"line":3612},[8331],{"type":2449,"tag":3067,"props":8332,"children":8333},{"style":3265},[8334],{"type":2455,"value":5901},{"type":2449,"tag":2603,"props":8336,"children":8338},{"id":8337},"api-reference",[8339],{"type":2455,"value":8340},"API Reference",{"type":2449,"tag":3220,"props":8342,"children":8344},{"id":8343},"server-utilities",[8345],{"type":2455,"value":8346},"Server Utilities",{"type":2449,"tag":8348,"props":8349,"children":8351},"h4",{"id":8350},"defineactionoptions",[8352],{"type":2449,"tag":2631,"props":8353,"children":8355},{"className":8354},[],[8356],{"type":2455,"value":8357},"defineAction(options)",{"type":2449,"tag":8359,"props":8360,"children":8361},"table",{},[8362,8386],{"type":2449,"tag":8363,"props":8364,"children":8365},"thead",{},[8366],{"type":2449,"tag":8367,"props":8368,"children":8369},"tr",{},[8370,8376,8381],{"type":2449,"tag":8371,"props":8372,"children":8373},"th",{},[8374],{"type":2455,"value":8375},"Option",{"type":2449,"tag":8371,"props":8377,"children":8378},{},[8379],{"type":2455,"value":8380},"Type",{"type":2449,"tag":8371,"props":8382,"children":8383},{},[8384],{"type":2455,"value":8385},"Description",{"type":2449,"tag":8387,"props":8388,"children":8389},"tbody",{},[8390,8416,8441,8466,8491],{"type":2449,"tag":8367,"props":8391,"children":8392},{},[8393,8402,8411],{"type":2449,"tag":8394,"props":8395,"children":8396},"td",{},[8397],{"type":2449,"tag":2631,"props":8398,"children":8400},{"className":8399},[],[8401],{"type":2455,"value":4774},{"type":2449,"tag":8394,"props":8403,"children":8404},{},[8405],{"type":2449,"tag":2631,"props":8406,"children":8408},{"className":8407},[],[8409],{"type":2455,"value":8410},"StandardSchema",{"type":2449,"tag":8394,"props":8412,"children":8413},{},[8414],{"type":2455,"value":8415},"Any Standard Schema compliant schema for input validation",{"type":2449,"tag":8367,"props":8417,"children":8418},{},[8419,8428,8436],{"type":2449,"tag":8394,"props":8420,"children":8421},{},[8422],{"type":2449,"tag":2631,"props":8423,"children":8425},{"className":8424},[],[8426],{"type":2455,"value":8427},"outputSchema",{"type":2449,"tag":8394,"props":8429,"children":8430},{},[8431],{"type":2449,"tag":2631,"props":8432,"children":8434},{"className":8433},[],[8435],{"type":2455,"value":8410},{"type":2449,"tag":8394,"props":8437,"children":8438},{},[8439],{"type":2455,"value":8440},"Schema for output validation",{"type":2449,"tag":8367,"props":8442,"children":8443},{},[8444,8452,8461],{"type":2449,"tag":8394,"props":8445,"children":8446},{},[8447],{"type":2449,"tag":2631,"props":8448,"children":8450},{"className":8449},[],[8451],{"type":2455,"value":149},{"type":2449,"tag":8394,"props":8453,"children":8454},{},[8455],{"type":2449,"tag":2631,"props":8456,"children":8458},{"className":8457},[],[8459],{"type":2455,"value":8460},"ActionMiddleware[]",{"type":2449,"tag":8394,"props":8462,"children":8463},{},[8464],{"type":2455,"value":8465},"Array of middleware functions",{"type":2449,"tag":8367,"props":8467,"children":8468},{},[8469,8477,8486],{"type":2449,"tag":8394,"props":8470,"children":8471},{},[8472],{"type":2449,"tag":2631,"props":8473,"children":8475},{"className":8474},[],[8476],{"type":2455,"value":4589},{"type":2449,"tag":8394,"props":8478,"children":8479},{},[8480],{"type":2449,"tag":2631,"props":8481,"children":8483},{"className":8482},[],[8484],{"type":2455,"value":8485},"Record\u003Cstring, unknown>",{"type":2449,"tag":8394,"props":8487,"children":8488},{},[8489],{"type":2455,"value":8490},"Metadata for logging\u002Fanalytics",{"type":2449,"tag":8367,"props":8492,"children":8493},{},[8494,8503,8512],{"type":2449,"tag":8394,"props":8495,"children":8496},{},[8497],{"type":2449,"tag":2631,"props":8498,"children":8500},{"className":8499},[],[8501],{"type":2455,"value":8502},"handler",{"type":2449,"tag":8394,"props":8504,"children":8505},{},[8506],{"type":2449,"tag":2631,"props":8507,"children":8509},{"className":8508},[],[8510],{"type":2455,"value":8511},"(params) => Promise\u003CT>",{"type":2449,"tag":8394,"props":8513,"children":8514},{},[8515,8517],{"type":2455,"value":8516},"Handler receiving ",{"type":2449,"tag":2631,"props":8518,"children":8520},{"className":8519},[],[8521],{"type":2455,"value":8522},"{ input, event, ctx }",{"type":2449,"tag":8348,"props":8524,"children":8526},{"id":8525},"createactionclientoptions",[8527],{"type":2449,"tag":2631,"props":8528,"children":8530},{"className":8529},[],[8531],{"type":2455,"value":8532},"createActionClient(options?)",{"type":2449,"tag":8359,"props":8534,"children":8535},{},[8536,8551],{"type":2449,"tag":8363,"props":8537,"children":8538},{},[8539],{"type":2449,"tag":8367,"props":8540,"children":8541},{},[8542,8547],{"type":2449,"tag":8371,"props":8543,"children":8544},{},[8545],{"type":2455,"value":8546},"Method",{"type":2449,"tag":8371,"props":8548,"children":8549},{},[8550],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":8552,"children":8553},{},[8554,8571,8588,8605,8626,8643,8658],{"type":2449,"tag":8367,"props":8555,"children":8556},{},[8557,8566],{"type":2449,"tag":8394,"props":8558,"children":8559},{},[8560],{"type":2449,"tag":2631,"props":8561,"children":8563},{"className":8562},[],[8564],{"type":2455,"value":8565},".use(middleware)",{"type":2449,"tag":8394,"props":8567,"children":8568},{},[8569],{"type":2455,"value":8570},"Add middleware to the chain",{"type":2449,"tag":8367,"props":8572,"children":8573},{},[8574,8583],{"type":2449,"tag":8394,"props":8575,"children":8576},{},[8577],{"type":2449,"tag":2631,"props":8578,"children":8580},{"className":8579},[],[8581],{"type":2455,"value":8582},".schema(inputSchema)",{"type":2449,"tag":8394,"props":8584,"children":8585},{},[8586],{"type":2455,"value":8587},"Set input validation schema",{"type":2449,"tag":8367,"props":8589,"children":8590},{},[8591,8600],{"type":2449,"tag":8394,"props":8592,"children":8593},{},[8594],{"type":2449,"tag":2631,"props":8595,"children":8597},{"className":8596},[],[8598],{"type":2455,"value":8599},".metadata(meta)",{"type":2449,"tag":8394,"props":8601,"children":8602},{},[8603],{"type":2455,"value":8604},"Attach metadata",{"type":2449,"tag":8367,"props":8606,"children":8607},{},[8608,8623],{"type":2449,"tag":8394,"props":8609,"children":8610},{},[8611],{"type":2449,"tag":2564,"props":8612,"children":8613},{},[8614,8616,8622],{"type":2455,"value":8615},"After ",{"type":2449,"tag":2631,"props":8617,"children":8619},{"className":8618},[],[8620],{"type":2455,"value":8621},".schema()",{"type":2455,"value":3349},{"type":2449,"tag":8394,"props":8624,"children":8625},{},[],{"type":2449,"tag":8367,"props":8627,"children":8628},{},[8629,8638],{"type":2449,"tag":8394,"props":8630,"children":8631},{},[8632],{"type":2449,"tag":2631,"props":8633,"children":8635},{"className":8634},[],[8636],{"type":2455,"value":8637},".outputSchema(schema)",{"type":2449,"tag":8394,"props":8639,"children":8640},{},[8641],{"type":2455,"value":8642},"Set output validation schema",{"type":2449,"tag":8367,"props":8644,"children":8645},{},[8646,8654],{"type":2449,"tag":8394,"props":8647,"children":8648},{},[8649],{"type":2449,"tag":2631,"props":8650,"children":8652},{"className":8651},[],[8653],{"type":2455,"value":8599},{"type":2449,"tag":8394,"props":8655,"children":8656},{},[8657],{"type":2455,"value":8604},{"type":2449,"tag":8367,"props":8659,"children":8660},{},[8661,8670],{"type":2449,"tag":8394,"props":8662,"children":8663},{},[8664],{"type":2449,"tag":2631,"props":8665,"children":8667},{"className":8666},[],[8668],{"type":2455,"value":8669},".action(handler)",{"type":2449,"tag":8394,"props":8671,"children":8672},{},[8673],{"type":2455,"value":8674},"Terminal - creates the event handler",{"type":2449,"tag":8348,"props":8676,"children":8678},{"id":8677},"definemiddlewarefn-createmiddlewarefn",[8679,8685,8687],{"type":2449,"tag":2631,"props":8680,"children":8682},{"className":8681},[],[8683],{"type":2455,"value":8684},"defineMiddleware(fn)",{"type":2455,"value":8686}," \u002F ",{"type":2449,"tag":2631,"props":8688,"children":8690},{"className":8689},[],[8691],{"type":2455,"value":8692},"createMiddleware(fn)",{"type":2449,"tag":2450,"props":8694,"children":8695},{},[8696,8698,8704],{"type":2455,"value":8697},"Define a typed middleware function. ",{"type":2449,"tag":2631,"props":8699,"children":8701},{"className":8700},[],[8702],{"type":2455,"value":8703},"createMiddleware",{"type":2455,"value":8705}," is an alias that signals intent for publishable middleware.",{"type":2449,"tag":8348,"props":8707,"children":8709},{"id":8708},"createactionerroroptions",[8710],{"type":2449,"tag":2631,"props":8711,"children":8713},{"className":8712},[],[8714],{"type":2455,"value":8715},"createActionError(options)",{"type":2449,"tag":8359,"props":8717,"children":8718},{},[8719,8742],{"type":2449,"tag":8363,"props":8720,"children":8721},{},[8722],{"type":2449,"tag":8367,"props":8723,"children":8724},{},[8725,8729,8733,8738],{"type":2449,"tag":8371,"props":8726,"children":8727},{},[8728],{"type":2455,"value":8375},{"type":2449,"tag":8371,"props":8730,"children":8731},{},[8732],{"type":2455,"value":8380},{"type":2449,"tag":8371,"props":8734,"children":8735},{},[8736],{"type":2455,"value":8737},"Default",{"type":2449,"tag":8371,"props":8739,"children":8740},{},[8741],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":8743,"children":8744},{},[8745,8774,8802,8835],{"type":2449,"tag":8367,"props":8746,"children":8747},{},[8748,8756,8764,8769],{"type":2449,"tag":8394,"props":8749,"children":8750},{},[8751],{"type":2449,"tag":2631,"props":8752,"children":8754},{"className":8753},[],[8755],{"type":2455,"value":2631},{"type":2449,"tag":8394,"props":8757,"children":8758},{},[8759],{"type":2449,"tag":2631,"props":8760,"children":8762},{"className":8761},[],[8763],{"type":2455,"value":3396},{"type":2449,"tag":8394,"props":8765,"children":8766},{},[8767],{"type":2455,"value":8768},"required",{"type":2449,"tag":8394,"props":8770,"children":8771},{},[8772],{"type":2455,"value":8773},"Error code identifier",{"type":2449,"tag":8367,"props":8775,"children":8776},{},[8777,8785,8793,8797],{"type":2449,"tag":8394,"props":8778,"children":8779},{},[8780],{"type":2449,"tag":2631,"props":8781,"children":8783},{"className":8782},[],[8784],{"type":2455,"value":5702},{"type":2449,"tag":8394,"props":8786,"children":8787},{},[8788],{"type":2449,"tag":2631,"props":8789,"children":8791},{"className":8790},[],[8792],{"type":2455,"value":3396},{"type":2449,"tag":8394,"props":8794,"children":8795},{},[8796],{"type":2455,"value":8768},{"type":2449,"tag":8394,"props":8798,"children":8799},{},[8800],{"type":2455,"value":8801},"Human-readable message",{"type":2449,"tag":8367,"props":8803,"children":8804},{},[8805,8813,8821,8830],{"type":2449,"tag":8394,"props":8806,"children":8807},{},[8808],{"type":2449,"tag":2631,"props":8809,"children":8811},{"className":8810},[],[8812],{"type":2455,"value":8190},{"type":2449,"tag":8394,"props":8814,"children":8815},{},[8816],{"type":2449,"tag":2631,"props":8817,"children":8819},{"className":8818},[],[8820],{"type":2455,"value":4536},{"type":2449,"tag":8394,"props":8822,"children":8823},{},[8824],{"type":2449,"tag":2631,"props":8825,"children":8827},{"className":8826},[],[8828],{"type":2455,"value":8829},"400",{"type":2449,"tag":8394,"props":8831,"children":8832},{},[8833],{"type":2455,"value":8834},"HTTP status code",{"type":2449,"tag":8367,"props":8836,"children":8837},{},[8838,8846,8855,8860],{"type":2449,"tag":8394,"props":8839,"children":8840},{},[8841],{"type":2449,"tag":2631,"props":8842,"children":8844},{"className":8843},[],[8845],{"type":2455,"value":8218},{"type":2449,"tag":8394,"props":8847,"children":8848},{},[8849],{"type":2449,"tag":2631,"props":8850,"children":8852},{"className":8851},[],[8853],{"type":2455,"value":8854},"Record\u003Cstring, string[]>",{"type":2449,"tag":8394,"props":8856,"children":8857},{},[8858],{"type":2455,"value":8859},"-",{"type":2449,"tag":8394,"props":8861,"children":8862},{},[8863],{"type":2455,"value":8864},"Field-level errors",{"type":2449,"tag":3220,"props":8866,"children":8868},{"id":8867},"client-composables",[8869],{"type":2455,"value":8870},"Client Composables",{"type":2449,"tag":8348,"props":8872,"children":8874},{"id":8873},"useactionaction-options-useactiontinput-toutputpath-options",[8875,8881,8882],{"type":2449,"tag":2631,"props":8876,"children":8878},{"className":8877},[],[8879],{"type":2455,"value":8880},"useAction(action, options?)",{"type":2455,"value":8686},{"type":2449,"tag":2631,"props":8883,"children":8885},{"className":8884},[],[8886],{"type":2455,"value":8887},"useAction\u003CTInput, TOutput>(path, options?)",{"type":2449,"tag":2450,"props":8889,"children":8890},{},[8891,8893,8898],{"type":2455,"value":8892},"Two overloads: pass a typed reference from ",{"type":2449,"tag":2631,"props":8894,"children":8896},{"className":8895},[],[8897],{"type":2455,"value":2636},{"type":2455,"value":8899}," for end-to-end inferred input\u002Foutput (recommended), or a string path with explicit generics for external\u002Funtyped endpoints.",{"type":2449,"tag":8359,"props":8901,"children":8902},{},[8903,8925],{"type":2449,"tag":8363,"props":8904,"children":8905},{},[8906],{"type":2449,"tag":8367,"props":8907,"children":8908},{},[8909,8913,8917,8921],{"type":2449,"tag":8371,"props":8910,"children":8911},{},[8912],{"type":2455,"value":8375},{"type":2449,"tag":8371,"props":8914,"children":8915},{},[8916],{"type":2455,"value":8380},{"type":2449,"tag":8371,"props":8918,"children":8919},{},[8920],{"type":2455,"value":8737},{"type":2449,"tag":8371,"props":8922,"children":8923},{},[8924],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":8926,"children":8927},{},[8928,8963,8993,9028,9058,9088,9118,9148],{"type":2449,"tag":8367,"props":8929,"children":8930},{},[8931,8940,8949,8958],{"type":2449,"tag":8394,"props":8932,"children":8933},{},[8934],{"type":2449,"tag":2631,"props":8935,"children":8937},{"className":8936},[],[8938],{"type":2455,"value":8939},"method",{"type":2449,"tag":8394,"props":8941,"children":8942},{},[8943],{"type":2449,"tag":2631,"props":8944,"children":8946},{"className":8945},[],[8947],{"type":2455,"value":8948},"HttpMethod",{"type":2449,"tag":8394,"props":8950,"children":8951},{},[8952],{"type":2449,"tag":2631,"props":8953,"children":8955},{"className":8954},[],[8956],{"type":2455,"value":8957},"'POST'",{"type":2449,"tag":8394,"props":8959,"children":8960},{},[8961],{"type":2455,"value":8962},"HTTP method",{"type":2449,"tag":8367,"props":8964,"children":8965},{},[8966,8975,8984,8988],{"type":2449,"tag":8394,"props":8967,"children":8968},{},[8969],{"type":2449,"tag":2631,"props":8970,"children":8972},{"className":8971},[],[8973],{"type":2455,"value":8974},"headers",{"type":2449,"tag":8394,"props":8976,"children":8977},{},[8978],{"type":2449,"tag":2631,"props":8979,"children":8981},{"className":8980},[],[8982],{"type":2455,"value":8983},"Record\u003Cstring, string> | () => Record",{"type":2449,"tag":8394,"props":8985,"children":8986},{},[8987],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":8989,"children":8990},{},[8991],{"type":2455,"value":8992},"Static or dynamic headers",{"type":2449,"tag":8367,"props":8994,"children":8995},{},[8996,9005,9014,9023],{"type":2449,"tag":8394,"props":8997,"children":8998},{},[8999],{"type":2449,"tag":2631,"props":9000,"children":9002},{"className":9001},[],[9003],{"type":2455,"value":9004},"retry",{"type":2449,"tag":8394,"props":9006,"children":9007},{},[9008],{"type":2449,"tag":2631,"props":9009,"children":9011},{"className":9010},[],[9012],{"type":2455,"value":9013},"boolean | number | RetryConfig",{"type":2449,"tag":8394,"props":9015,"children":9016},{},[9017],{"type":2449,"tag":2631,"props":9018,"children":9020},{"className":9019},[],[9021],{"type":2455,"value":9022},"false",{"type":2449,"tag":8394,"props":9024,"children":9025},{},[9026],{"type":2455,"value":9027},"Retry configuration",{"type":2449,"tag":8367,"props":9029,"children":9030},{},[9031,9040,9049,9053],{"type":2449,"tag":8394,"props":9032,"children":9033},{},[9034],{"type":2449,"tag":2631,"props":9035,"children":9037},{"className":9036},[],[9038],{"type":2455,"value":9039},"dedupe",{"type":2449,"tag":8394,"props":9041,"children":9042},{},[9043],{"type":2449,"tag":2631,"props":9044,"children":9046},{"className":9045},[],[9047],{"type":2455,"value":9048},"'cancel' | 'defer'",{"type":2449,"tag":8394,"props":9050,"children":9051},{},[9052],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":9054,"children":9055},{},[9056],{"type":2455,"value":9057},"Request deduplication",{"type":2449,"tag":8367,"props":9059,"children":9060},{},[9061,9070,9079,9083],{"type":2449,"tag":8394,"props":9062,"children":9063},{},[9064],{"type":2449,"tag":2631,"props":9065,"children":9067},{"className":9066},[],[9068],{"type":2455,"value":9069},"onExecute",{"type":2449,"tag":8394,"props":9071,"children":9072},{},[9073],{"type":2449,"tag":2631,"props":9074,"children":9076},{"className":9075},[],[9077],{"type":2455,"value":9078},"(input) => void",{"type":2449,"tag":8394,"props":9080,"children":9081},{},[9082],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":9084,"children":9085},{},[9086],{"type":2455,"value":9087},"Called before fetch",{"type":2449,"tag":8367,"props":9089,"children":9090},{},[9091,9100,9109,9113],{"type":2449,"tag":8394,"props":9092,"children":9093},{},[9094],{"type":2449,"tag":2631,"props":9095,"children":9097},{"className":9096},[],[9098],{"type":2455,"value":9099},"onSuccess",{"type":2449,"tag":8394,"props":9101,"children":9102},{},[9103],{"type":2449,"tag":2631,"props":9104,"children":9106},{"className":9105},[],[9107],{"type":2455,"value":9108},"(data) => void",{"type":2449,"tag":8394,"props":9110,"children":9111},{},[9112],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":9114,"children":9115},{},[9116],{"type":2455,"value":9117},"Success callback",{"type":2449,"tag":8367,"props":9119,"children":9120},{},[9121,9130,9139,9143],{"type":2449,"tag":8394,"props":9122,"children":9123},{},[9124],{"type":2449,"tag":2631,"props":9125,"children":9127},{"className":9126},[],[9128],{"type":2455,"value":9129},"onError",{"type":2449,"tag":8394,"props":9131,"children":9132},{},[9133],{"type":2449,"tag":2631,"props":9134,"children":9136},{"className":9135},[],[9137],{"type":2455,"value":9138},"(error) => void",{"type":2449,"tag":8394,"props":9140,"children":9141},{},[9142],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":9144,"children":9145},{},[9146],{"type":2455,"value":9147},"Error callback",{"type":2449,"tag":8367,"props":9149,"children":9150},{},[9151,9160,9169,9173],{"type":2449,"tag":8394,"props":9152,"children":9153},{},[9154],{"type":2449,"tag":2631,"props":9155,"children":9157},{"className":9156},[],[9158],{"type":2455,"value":9159},"onSettled",{"type":2449,"tag":8394,"props":9161,"children":9162},{},[9163],{"type":2449,"tag":2631,"props":9164,"children":9166},{"className":9165},[],[9167],{"type":2455,"value":9168},"(result) => void",{"type":2449,"tag":8394,"props":9170,"children":9171},{},[9172],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":9174,"children":9175},{},[9176],{"type":2455,"value":9177},"Settled callback",{"type":2449,"tag":2450,"props":9179,"children":9180},{},[9181],{"type":2455,"value":9182},"Returns:",{"type":2449,"tag":2450,"props":9184,"children":9185},{},[9186],{"type":2449,"tag":2631,"props":9187,"children":9189},{"className":9188},[],[9190],{"type":2455,"value":9191},"{ execute, executeAsync, data, error, status, isIdle, isExecuting, hasSucceeded, hasErrored, reset }",{"type":2449,"tag":8348,"props":9193,"children":9195},{"id":9194},"useoptimisticactiontinput-toutputpath-options",[9196],{"type":2449,"tag":2631,"props":9197,"children":9199},{"className":9198},[],[9200],{"type":2455,"value":9201},"useOptimisticAction\u003CTInput, TOutput>(path, options)",{"type":2449,"tag":8359,"props":9203,"children":9204},{},[9205,9223],{"type":2449,"tag":8363,"props":9206,"children":9207},{},[9208],{"type":2449,"tag":8367,"props":9209,"children":9210},{},[9211,9215,9219],{"type":2449,"tag":8371,"props":9212,"children":9213},{},[9214],{"type":2455,"value":8375},{"type":2449,"tag":8371,"props":9216,"children":9217},{},[9218],{"type":2455,"value":8380},{"type":2449,"tag":8371,"props":9220,"children":9221},{},[9222],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":9224,"children":9225},{},[9226,9256,9279,9302,9328],{"type":2449,"tag":8367,"props":9227,"children":9228},{},[9229,9237,9245],{"type":2449,"tag":8394,"props":9230,"children":9231},{},[9232],{"type":2449,"tag":2631,"props":9233,"children":9235},{"className":9234},[],[9236],{"type":2455,"value":8939},{"type":2449,"tag":8394,"props":9238,"children":9239},{},[9240],{"type":2449,"tag":2631,"props":9241,"children":9243},{"className":9242},[],[9244],{"type":2455,"value":8948},{"type":2449,"tag":8394,"props":9246,"children":9247},{},[9248,9250,9255],{"type":2455,"value":9249},"HTTP method (default: ",{"type":2449,"tag":2631,"props":9251,"children":9253},{"className":9252},[],[9254],{"type":2455,"value":8957},{"type":2455,"value":2722},{"type":2449,"tag":8367,"props":9257,"children":9258},{},[9259,9267,9275],{"type":2449,"tag":8394,"props":9260,"children":9261},{},[9262],{"type":2449,"tag":2631,"props":9263,"children":9265},{"className":9264},[],[9266],{"type":2455,"value":8974},{"type":2449,"tag":8394,"props":9268,"children":9269},{},[9270],{"type":2449,"tag":2631,"props":9271,"children":9273},{"className":9272},[],[9274],{"type":2455,"value":8983},{"type":2449,"tag":8394,"props":9276,"children":9277},{},[9278],{"type":2455,"value":8992},{"type":2449,"tag":8367,"props":9280,"children":9281},{},[9282,9290,9298],{"type":2449,"tag":8394,"props":9283,"children":9284},{},[9285],{"type":2449,"tag":2631,"props":9286,"children":9288},{"className":9287},[],[9289],{"type":2455,"value":9004},{"type":2449,"tag":8394,"props":9291,"children":9292},{},[9293],{"type":2449,"tag":2631,"props":9294,"children":9296},{"className":9295},[],[9297],{"type":2455,"value":9013},{"type":2449,"tag":8394,"props":9299,"children":9300},{},[9301],{"type":2455,"value":9027},{"type":2449,"tag":8367,"props":9303,"children":9304},{},[9305,9314,9323],{"type":2449,"tag":8394,"props":9306,"children":9307},{},[9308],{"type":2449,"tag":2631,"props":9309,"children":9311},{"className":9310},[],[9312],{"type":2455,"value":9313},"currentData",{"type":2449,"tag":8394,"props":9315,"children":9316},{},[9317],{"type":2449,"tag":2631,"props":9318,"children":9320},{"className":9319},[],[9321],{"type":2455,"value":9322},"Ref\u003CTOutput>",{"type":2449,"tag":8394,"props":9324,"children":9325},{},[9326],{"type":2455,"value":9327},"Source of truth data ref",{"type":2449,"tag":8367,"props":9329,"children":9330},{},[9331,9340,9349],{"type":2449,"tag":8394,"props":9332,"children":9333},{},[9334],{"type":2449,"tag":2631,"props":9335,"children":9337},{"className":9336},[],[9338],{"type":2455,"value":9339},"updateFn",{"type":2449,"tag":8394,"props":9341,"children":9342},{},[9343],{"type":2449,"tag":2631,"props":9344,"children":9346},{"className":9345},[],[9347],{"type":2455,"value":9348},"(input, current) => TOutput",{"type":2449,"tag":8394,"props":9350,"children":9351},{},[9352],{"type":2455,"value":9353},"Optimistic update function",{"type":2449,"tag":2450,"props":9355,"children":9356},{},[9357],{"type":2455,"value":9182},{"type":2449,"tag":2450,"props":9359,"children":9360},{},[9361],{"type":2449,"tag":2631,"props":9362,"children":9364},{"className":9363},[],[9365],{"type":2455,"value":9366},"{ execute, optimisticData, data, error, status, isIdle, isExecuting, hasSucceeded, hasErrored, reset }",{"type":2449,"tag":8348,"props":9368,"children":9370},{"id":9369},"useactionqueryaction-input-options",[9371],{"type":2449,"tag":2631,"props":9372,"children":9374},{"className":9373},[],[9375],{"type":2455,"value":9376},"useActionQuery(action, input?, options?)",{"type":2449,"tag":2450,"props":9378,"children":9379},{},[9380,9382,9387],{"type":2455,"value":9381},"SSR-capable GET action query wrapping ",{"type":2449,"tag":2631,"props":9383,"children":9385},{"className":9384},[],[9386],{"type":2455,"value":616},{"type":2455,"value":3349},{"type":2449,"tag":8359,"props":9389,"children":9390},{},[9391,9413],{"type":2449,"tag":8363,"props":9392,"children":9393},{},[9394],{"type":2449,"tag":8367,"props":9395,"children":9396},{},[9397,9401,9405,9409],{"type":2449,"tag":8371,"props":9398,"children":9399},{},[9400],{"type":2455,"value":8375},{"type":2449,"tag":8371,"props":9402,"children":9403},{},[9404],{"type":2455,"value":8380},{"type":2449,"tag":8371,"props":9406,"children":9407},{},[9408],{"type":2455,"value":8737},{"type":2449,"tag":8371,"props":9410,"children":9411},{},[9412],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":9414,"children":9415},{},[9416,9450,9483,9516],{"type":2449,"tag":8367,"props":9417,"children":9418},{},[9419,9427,9436,9445],{"type":2449,"tag":8394,"props":9420,"children":9421},{},[9422],{"type":2449,"tag":2631,"props":9423,"children":9425},{"className":9424},[],[9426],{"type":2455,"value":209},{"type":2449,"tag":8394,"props":9428,"children":9429},{},[9430],{"type":2449,"tag":2631,"props":9431,"children":9433},{"className":9432},[],[9434],{"type":2455,"value":9435},"boolean",{"type":2449,"tag":8394,"props":9437,"children":9438},{},[9439],{"type":2449,"tag":2631,"props":9440,"children":9442},{"className":9441},[],[9443],{"type":2455,"value":9444},"true",{"type":2449,"tag":8394,"props":9446,"children":9447},{},[9448],{"type":2455,"value":9449},"Run on SSR",{"type":2449,"tag":8367,"props":9451,"children":9452},{},[9453,9462,9470,9478],{"type":2449,"tag":8394,"props":9454,"children":9455},{},[9456],{"type":2449,"tag":2631,"props":9457,"children":9459},{"className":9458},[],[9460],{"type":2455,"value":9461},"lazy",{"type":2449,"tag":8394,"props":9463,"children":9464},{},[9465],{"type":2449,"tag":2631,"props":9466,"children":9468},{"className":9467},[],[9469],{"type":2455,"value":9435},{"type":2449,"tag":8394,"props":9471,"children":9472},{},[9473],{"type":2449,"tag":2631,"props":9474,"children":9476},{"className":9475},[],[9477],{"type":2455,"value":9022},{"type":2449,"tag":8394,"props":9479,"children":9480},{},[9481],{"type":2455,"value":9482},"Don't block navigation",{"type":2449,"tag":8367,"props":9484,"children":9485},{},[9486,9495,9503,9511],{"type":2449,"tag":8394,"props":9487,"children":9488},{},[9489],{"type":2449,"tag":2631,"props":9490,"children":9492},{"className":9491},[],[9493],{"type":2455,"value":9494},"immediate",{"type":2449,"tag":8394,"props":9496,"children":9497},{},[9498],{"type":2449,"tag":2631,"props":9499,"children":9501},{"className":9500},[],[9502],{"type":2455,"value":9435},{"type":2449,"tag":8394,"props":9504,"children":9505},{},[9506],{"type":2449,"tag":2631,"props":9507,"children":9509},{"className":9508},[],[9510],{"type":2455,"value":9444},{"type":2449,"tag":8394,"props":9512,"children":9513},{},[9514],{"type":2455,"value":9515},"Execute immediately",{"type":2449,"tag":8367,"props":9517,"children":9518},{},[9519,9527,9536,9540],{"type":2449,"tag":8394,"props":9520,"children":9521},{},[9522],{"type":2449,"tag":2631,"props":9523,"children":9525},{"className":9524},[],[9526],{"type":2455,"value":4549},{"type":2449,"tag":8394,"props":9528,"children":9529},{},[9530],{"type":2449,"tag":2631,"props":9531,"children":9533},{"className":9532},[],[9534],{"type":2455,"value":9535},"() => T",{"type":2449,"tag":8394,"props":9537,"children":9538},{},[9539],{"type":2455,"value":8859},{"type":2449,"tag":8394,"props":9541,"children":9542},{},[9543],{"type":2455,"value":9544},"Default value factory",{"type":2449,"tag":2450,"props":9546,"children":9547},{},[9548],{"type":2455,"value":9182},{"type":2449,"tag":2450,"props":9550,"children":9551},{},[9552],{"type":2449,"tag":2631,"props":9553,"children":9555},{"className":9554},[],[9556],{"type":2455,"value":9557},"{ data, error, status, pending, refresh, clear }",{"type":2449,"tag":8348,"props":9559,"children":9561},{"id":9560},"usestreamactionaction-options",[9562],{"type":2449,"tag":2631,"props":9563,"children":9565},{"className":9564},[],[9566],{"type":2455,"value":9567},"useStreamAction(action, options?)",{"type":2449,"tag":2450,"props":9569,"children":9570},{},[9571],{"type":2455,"value":9572},"Client composable for streaming server actions:",{"type":2449,"tag":8359,"props":9574,"children":9575},{},[9576,9594],{"type":2449,"tag":8363,"props":9577,"children":9578},{},[9579],{"type":2449,"tag":8367,"props":9580,"children":9581},{},[9582,9586,9590],{"type":2449,"tag":8371,"props":9583,"children":9584},{},[9585],{"type":2455,"value":8375},{"type":2449,"tag":8371,"props":9587,"children":9588},{},[9589],{"type":2455,"value":8380},{"type":2449,"tag":8371,"props":9591,"children":9592},{},[9593],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":9595,"children":9596},{},[9597,9623,9649],{"type":2449,"tag":8367,"props":9598,"children":9599},{},[9600,9609,9618],{"type":2449,"tag":8394,"props":9601,"children":9602},{},[9603],{"type":2449,"tag":2631,"props":9604,"children":9606},{"className":9605},[],[9607],{"type":2455,"value":9608},"onChunk",{"type":2449,"tag":8394,"props":9610,"children":9611},{},[9612],{"type":2449,"tag":2631,"props":9613,"children":9615},{"className":9614},[],[9616],{"type":2455,"value":9617},"(chunk) => void",{"type":2449,"tag":8394,"props":9619,"children":9620},{},[9621],{"type":2455,"value":9622},"Called for each chunk",{"type":2449,"tag":8367,"props":9624,"children":9625},{},[9626,9635,9644],{"type":2449,"tag":8394,"props":9627,"children":9628},{},[9629],{"type":2449,"tag":2631,"props":9630,"children":9632},{"className":9631},[],[9633],{"type":2455,"value":9634},"onDone",{"type":2449,"tag":8394,"props":9636,"children":9637},{},[9638],{"type":2449,"tag":2631,"props":9639,"children":9641},{"className":9640},[],[9642],{"type":2455,"value":9643},"(allChunks) => void",{"type":2449,"tag":8394,"props":9645,"children":9646},{},[9647],{"type":2455,"value":9648},"Called when stream completes",{"type":2449,"tag":8367,"props":9650,"children":9651},{},[9652,9660,9668],{"type":2449,"tag":8394,"props":9653,"children":9654},{},[9655],{"type":2449,"tag":2631,"props":9656,"children":9658},{"className":9657},[],[9659],{"type":2455,"value":9129},{"type":2449,"tag":8394,"props":9661,"children":9662},{},[9663],{"type":2449,"tag":2631,"props":9664,"children":9666},{"className":9665},[],[9667],{"type":2455,"value":9138},{"type":2449,"tag":8394,"props":9669,"children":9670},{},[9671],{"type":2455,"value":9672},"Called on error",{"type":2449,"tag":2450,"props":9674,"children":9675},{},[9676],{"type":2455,"value":9182},{"type":2449,"tag":2450,"props":9678,"children":9679},{},[9680],{"type":2449,"tag":2631,"props":9681,"children":9683},{"className":9682},[],[9684],{"type":2455,"value":9685},"{ execute, stop, chunks, data, status, error }",{"type":2449,"tag":8348,"props":9687,"children":9689},{"id":9688},"definestreamactionoptions",[9690],{"type":2449,"tag":2631,"props":9691,"children":9693},{"className":9692},[],[9694],{"type":2455,"value":9695},"defineStreamAction(options)",{"type":2449,"tag":2450,"props":9697,"children":9698},{},[9699],{"type":2455,"value":9700},"Server-side streaming action with SSE:",{"type":2449,"tag":8359,"props":9702,"children":9703},{},[9704,9722],{"type":2449,"tag":8363,"props":9705,"children":9706},{},[9707],{"type":2449,"tag":8367,"props":9708,"children":9709},{},[9710,9714,9718],{"type":2449,"tag":8371,"props":9711,"children":9712},{},[9713],{"type":2455,"value":8375},{"type":2449,"tag":8371,"props":9715,"children":9716},{},[9717],{"type":2455,"value":8380},{"type":2449,"tag":8371,"props":9719,"children":9720},{},[9721],{"type":2455,"value":8385},{"type":2449,"tag":8387,"props":9723,"children":9724},{},[9725,9749,9773],{"type":2449,"tag":8367,"props":9726,"children":9727},{},[9728,9736,9744],{"type":2449,"tag":8394,"props":9729,"children":9730},{},[9731],{"type":2449,"tag":2631,"props":9732,"children":9734},{"className":9733},[],[9735],{"type":2455,"value":4774},{"type":2449,"tag":8394,"props":9737,"children":9738},{},[9739],{"type":2449,"tag":2631,"props":9740,"children":9742},{"className":9741},[],[9743],{"type":2455,"value":8410},{"type":2449,"tag":8394,"props":9745,"children":9746},{},[9747],{"type":2455,"value":9748},"Input validation schema",{"type":2449,"tag":8367,"props":9750,"children":9751},{},[9752,9760,9768],{"type":2449,"tag":8394,"props":9753,"children":9754},{},[9755],{"type":2449,"tag":2631,"props":9756,"children":9758},{"className":9757},[],[9759],{"type":2455,"value":149},{"type":2449,"tag":8394,"props":9761,"children":9762},{},[9763],{"type":2449,"tag":2631,"props":9764,"children":9766},{"className":9765},[],[9767],{"type":2455,"value":8460},{"type":2449,"tag":8394,"props":9769,"children":9770},{},[9771],{"type":2455,"value":9772},"Middleware chain",{"type":2449,"tag":8367,"props":9774,"children":9775},{},[9776,9784,9793],{"type":2449,"tag":8394,"props":9777,"children":9778},{},[9779],{"type":2449,"tag":2631,"props":9780,"children":9782},{"className":9781},[],[9783],{"type":2455,"value":8502},{"type":2449,"tag":8394,"props":9785,"children":9786},{},[9787],{"type":2449,"tag":2631,"props":9788,"children":9790},{"className":9789},[],[9791],{"type":2455,"value":9792},"({ input, event, ctx, stream }) => void",{"type":2449,"tag":8394,"props":9794,"children":9795},{},[9796],{"type":2455,"value":9797},"Streaming handler",{"type":2449,"tag":2603,"props":9799,"children":9801},{"id":9800},"why-nuxt-actions",[9802],{"type":2455,"value":9803},"Why nuxt-actions?",{"type":2449,"tag":8359,"props":9805,"children":9806},{},[9807],{"type":2449,"tag":8387,"props":9808,"children":9809},{},[9810,9841,9861,9884,9904,9925,9945,9965,9985,10005,10025,10044,10064,10084,10104,10124,10144],{"type":2449,"tag":8367,"props":9811,"children":9812},{},[9813,9819,9823,9832],{"type":2449,"tag":8371,"props":9814,"children":9816},{"align":9815},"left",[9817],{"type":2455,"value":9818},"Feature",{"type":2449,"tag":8371,"props":9820,"children":9821},{"align":2452},[9822],{"type":2455,"value":2412},{"type":2449,"tag":8371,"props":9824,"children":9825},{"align":2452},[9826],{"type":2449,"tag":2473,"props":9827,"children":9829},{"href":9828},"https:\u002F\u002Fgithub.com\u002Fwobsoriano\u002Ftrpc-nuxt",[9830],{"type":2455,"value":9831},"trpc-nuxt",{"type":2449,"tag":8371,"props":9833,"children":9834},{"align":2452},[9835],{"type":2449,"tag":2473,"props":9836,"children":9838},{"href":9837},"https:\u002F\u002Fgithub.com\u002FTheEdoRan\u002Fnext-safe-action",[9839],{"type":2455,"value":9840},"next-safe-action",{"type":2449,"tag":8367,"props":9842,"children":9843},{},[9844,9848,9852,9856],{"type":2449,"tag":8394,"props":9845,"children":9846},{},[9847],{"type":2455,"value":1040},{"type":2449,"tag":8394,"props":9849,"children":9850},{"align":2452},[9851],{"type":2455,"value":2509},{"type":2449,"tag":8394,"props":9853,"children":9854},{"align":2452},[9855],{"type":2455,"value":2509},{"type":2449,"tag":8394,"props":9857,"children":9858},{"align":2452},[9859],{"type":2455,"value":9860},"Next.js",{"type":2449,"tag":8367,"props":9862,"children":9863},{},[9864,9869,9874,9879],{"type":2449,"tag":8394,"props":9865,"children":9866},{},[9867],{"type":2455,"value":9868},"Standard Schema (Zod + Valibot + ArkType)",{"type":2449,"tag":8394,"props":9870,"children":9871},{"align":2452},[9872],{"type":2455,"value":9873},"✅",{"type":2449,"tag":8394,"props":9875,"children":9876},{"align":2452},[9877],{"type":2455,"value":9878},"Zod only",{"type":2449,"tag":8394,"props":9880,"children":9881},{"align":2452},[9882],{"type":2455,"value":9883},"Zod \u002F Yup \u002F Valibot",{"type":2449,"tag":8367,"props":9885,"children":9886},{},[9887,9892,9896,9900],{"type":2449,"tag":8394,"props":9888,"children":9889},{},[9890],{"type":2455,"value":9891},"E2E type inference",{"type":2449,"tag":8394,"props":9893,"children":9894},{"align":2452},[9895],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9897,"children":9898},{"align":2452},[9899],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9901,"children":9902},{"align":2452},[9903],{"type":2455,"value":9873},{"type":2449,"tag":8367,"props":9905,"children":9906},{},[9907,9912,9916,9921],{"type":2449,"tag":8394,"props":9908,"children":9909},{},[9910],{"type":2455,"value":9911},"Builder pattern",{"type":2449,"tag":8394,"props":9913,"children":9914},{"align":2452},[9915],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9917,"children":9918},{"align":2452},[9919],{"type":2455,"value":9920},"❌",{"type":2449,"tag":8394,"props":9922,"children":9923},{"align":2452},[9924],{"type":2455,"value":9873},{"type":2449,"tag":8367,"props":9926,"children":9927},{},[9928,9933,9937,9941],{"type":2449,"tag":8394,"props":9929,"children":9930},{},[9931],{"type":2455,"value":9932},"Middleware with typed context",{"type":2449,"tag":8394,"props":9934,"children":9935},{"align":2452},[9936],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9938,"children":9939},{"align":2452},[9940],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9942,"children":9943},{"align":2452},[9944],{"type":2455,"value":9873},{"type":2449,"tag":8367,"props":9946,"children":9947},{},[9948,9953,9957,9961],{"type":2449,"tag":8394,"props":9949,"children":9950},{},[9951],{"type":2455,"value":9952},"Optimistic updates composable",{"type":2449,"tag":8394,"props":9954,"children":9955},{"align":2452},[9956],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9958,"children":9959},{"align":2452},[9960],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":9962,"children":9963},{"align":2452},[9964],{"type":2455,"value":9873},{"type":2449,"tag":8367,"props":9966,"children":9967},{},[9968,9973,9977,9981],{"type":2449,"tag":8394,"props":9969,"children":9970},{},[9971],{"type":2455,"value":9972},"SSR queries",{"type":2449,"tag":8394,"props":9974,"children":9975},{"align":2452},[9976],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9978,"children":9979},{"align":2452},[9980],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9982,"children":9983},{"align":2452},[9984],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":9986,"children":9987},{},[9988,9993,9997,10001],{"type":2449,"tag":8394,"props":9989,"children":9990},{},[9991],{"type":2455,"value":9992},"Streaming actions (SSE)",{"type":2449,"tag":8394,"props":9994,"children":9995},{"align":2452},[9996],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":9998,"children":9999},{"align":2452},[10000],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10002,"children":10003},{"align":2452},[10004],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":10006,"children":10007},{},[10008,10013,10017,10021],{"type":2449,"tag":8394,"props":10009,"children":10010},{},[10011],{"type":2455,"value":10012},"Retry \u002F backoff",{"type":2449,"tag":8394,"props":10014,"children":10015},{"align":2452},[10016],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10018,"children":10019},{"align":2452},[10020],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10022,"children":10023},{"align":2452},[10024],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":10026,"children":10027},{},[10028,10032,10036,10040],{"type":2449,"tag":8394,"props":10029,"children":10030},{},[10031],{"type":2455,"value":9057},{"type":2449,"tag":8394,"props":10033,"children":10034},{"align":2452},[10035],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10037,"children":10038},{"align":2452},[10039],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10041,"children":10042},{"align":2452},[10043],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":10045,"children":10046},{},[10047,10052,10056,10060],{"type":2449,"tag":8394,"props":10048,"children":10049},{},[10050],{"type":2455,"value":10051},"Output schema validation",{"type":2449,"tag":8394,"props":10053,"children":10054},{"align":2452},[10055],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10057,"children":10058},{"align":2452},[10059],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10061,"children":10062},{"align":2452},[10063],{"type":2455,"value":9873},{"type":2449,"tag":8367,"props":10065,"children":10066},{},[10067,10072,10076,10080],{"type":2449,"tag":8394,"props":10068,"children":10069},{},[10070],{"type":2455,"value":10071},"DevTools integration",{"type":2449,"tag":8394,"props":10073,"children":10074},{"align":2452},[10075],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10077,"children":10078},{"align":2452},[10079],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10081,"children":10082},{"align":2452},[10083],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":10085,"children":10086},{},[10087,10092,10096,10100],{"type":2449,"tag":8394,"props":10088,"children":10089},{},[10090],{"type":2455,"value":10091},"HMR type updates",{"type":2449,"tag":8394,"props":10093,"children":10094},{"align":2452},[10095],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10097,"children":10098},{"align":2452},[10099],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10101,"children":10102},{"align":2452},[10103],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":10105,"children":10106},{},[10107,10112,10116,10120],{"type":2449,"tag":8394,"props":10108,"children":10109},{},[10110],{"type":2455,"value":10111},"Security hardening (6 layers)",{"type":2449,"tag":8394,"props":10113,"children":10114},{"align":2452},[10115],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10117,"children":10118},{"align":2452},[10119],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10121,"children":10122},{"align":2452},[10123],{"type":2455,"value":9920},{"type":2449,"tag":8367,"props":10125,"children":10126},{},[10127,10132,10136,10140],{"type":2449,"tag":8394,"props":10128,"children":10129},{},[10130],{"type":2455,"value":10131},"Zero config",{"type":2449,"tag":8394,"props":10133,"children":10134},{"align":2452},[10135],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10137,"children":10138},{"align":2452},[10139],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10141,"children":10142},{"align":2452},[10143],{"type":2455,"value":9873},{"type":2449,"tag":8367,"props":10145,"children":10146},{},[10147,10152,10156,10160],{"type":2449,"tag":8394,"props":10148,"children":10149},{},[10150],{"type":2455,"value":10151},"Nuxt-native (no protocol layer)",{"type":2449,"tag":8394,"props":10153,"children":10154},{"align":2452},[10155],{"type":2455,"value":9873},{"type":2449,"tag":8394,"props":10157,"children":10158},{"align":2452},[10159],{"type":2455,"value":9920},{"type":2449,"tag":8394,"props":10161,"children":10162},{"align":2452},[10163],{"type":2455,"value":9920},{"type":2449,"tag":2603,"props":10165,"children":10167},{"id":10166},"sponsors",[10168],{"type":2455,"value":10169},"Sponsors",{"type":2449,"tag":2450,"props":10171,"children":10172},{},[10173],{"type":2455,"value":10174},"If you find this module useful, consider supporting the project:",{"type":2449,"tag":2473,"props":10176,"children":10178},{"href":10177},"https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fbillymaulana",[10179,10180],{"type":2455,"value":2444},{"type":2449,"tag":2457,"props":10181,"children":10184},{"src":10182,"alt":10183},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSponsor-EA4AAA?logo=github-sponsors&logoColor=white&style=for-the-badge","Sponsor",[],{"type":2449,"tag":2603,"props":10186,"children":10188},{"id":10187},"contribution",[10189],{"type":2455,"value":1035},{"type":2449,"tag":10191,"props":10192,"children":10193},"details",{},[10194,10195,10201],{"type":2455,"value":2444},{"type":2449,"tag":10196,"props":10197,"children":10198},"summary",{},[10199],{"type":2455,"value":10200},"Local development",{"type":2449,"tag":3057,"props":10202,"children":10204},{"className":3059,"code":10203,"language":3061,"meta":2443,"style":2443},"# Install dependencies\npnpm install\n\n# Generate type stubs\npnpm run dev:prepare\n\n# Develop with the playground\npnpm run dev\n\n# Run ESLint\npnpm run lint\n\n# Run Vitest\npnpm run test\npnpm run test:watch\n\n# Build the module\npnpm run prepack\n",[10205],{"type":2449,"tag":2631,"props":10206,"children":10207},{"__ignoreMap":2443},[10208,10216,10228,10235,10243,10260,10267,10275,10291,10298,10306,10322,10329,10337,10353,10369,10376,10384],{"type":2449,"tag":3067,"props":10209,"children":10210},{"class":3069,"line":3070},[10211],{"type":2449,"tag":3067,"props":10212,"children":10213},{"style":3116},[10214],{"type":2455,"value":10215},"# Install dependencies\n",{"type":2449,"tag":3067,"props":10217,"children":10218},{"class":3069,"line":3122},[10219,10223],{"type":2449,"tag":3067,"props":10220,"children":10221},{"style":3074},[10222],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10224,"children":10225},{"style":3080},[10226],{"type":2455,"value":10227}," install\n",{"type":2449,"tag":3067,"props":10229,"children":10230},{"class":3069,"line":3140},[10231],{"type":2449,"tag":3067,"props":10232,"children":10233},{"emptyLinePlaceholder":3144},[10234],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":10236,"children":10237},{"class":3069,"line":3150},[10238],{"type":2449,"tag":3067,"props":10239,"children":10240},{"style":3116},[10241],{"type":2455,"value":10242},"# Generate type stubs\n",{"type":2449,"tag":3067,"props":10244,"children":10245},{"class":3069,"line":3159},[10246,10250,10255],{"type":2449,"tag":3067,"props":10247,"children":10248},{"style":3074},[10249],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10251,"children":10252},{"style":3080},[10253],{"type":2455,"value":10254}," run",{"type":2449,"tag":3067,"props":10256,"children":10257},{"style":3080},[10258],{"type":2455,"value":10259}," dev:prepare\n",{"type":2449,"tag":3067,"props":10261,"children":10262},{"class":3069,"line":3176},[10263],{"type":2449,"tag":3067,"props":10264,"children":10265},{"emptyLinePlaceholder":3144},[10266],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":10268,"children":10269},{"class":3069,"line":3184},[10270],{"type":2449,"tag":3067,"props":10271,"children":10272},{"style":3116},[10273],{"type":2455,"value":10274},"# Develop with the playground\n",{"type":2449,"tag":3067,"props":10276,"children":10277},{"class":3069,"line":3193},[10278,10282,10286],{"type":2449,"tag":3067,"props":10279,"children":10280},{"style":3074},[10281],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10283,"children":10284},{"style":3080},[10285],{"type":2455,"value":10254},{"type":2449,"tag":3067,"props":10287,"children":10288},{"style":3080},[10289],{"type":2455,"value":10290}," dev\n",{"type":2449,"tag":3067,"props":10292,"children":10293},{"class":3069,"line":3511},[10294],{"type":2449,"tag":3067,"props":10295,"children":10296},{"emptyLinePlaceholder":3144},[10297],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":10299,"children":10300},{"class":3069,"line":3589},[10301],{"type":2449,"tag":3067,"props":10302,"children":10303},{"style":3116},[10304],{"type":2455,"value":10305},"# Run ESLint\n",{"type":2449,"tag":3067,"props":10307,"children":10308},{"class":3069,"line":3603},[10309,10313,10317],{"type":2449,"tag":3067,"props":10310,"children":10311},{"style":3074},[10312],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10314,"children":10315},{"style":3080},[10316],{"type":2455,"value":10254},{"type":2449,"tag":3067,"props":10318,"children":10319},{"style":3080},[10320],{"type":2455,"value":10321}," lint\n",{"type":2449,"tag":3067,"props":10323,"children":10324},{"class":3069,"line":3612},[10325],{"type":2449,"tag":3067,"props":10326,"children":10327},{"emptyLinePlaceholder":3144},[10328],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":10330,"children":10331},{"class":3069,"line":4755},[10332],{"type":2449,"tag":3067,"props":10333,"children":10334},{"style":3116},[10335],{"type":2455,"value":10336},"# Run Vitest\n",{"type":2449,"tag":3067,"props":10338,"children":10339},{"class":3069,"line":4815},[10340,10344,10348],{"type":2449,"tag":3067,"props":10341,"children":10342},{"style":3074},[10343],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10345,"children":10346},{"style":3080},[10347],{"type":2455,"value":10254},{"type":2449,"tag":3067,"props":10349,"children":10350},{"style":3080},[10351],{"type":2455,"value":10352}," test\n",{"type":2449,"tag":3067,"props":10354,"children":10355},{"class":3069,"line":4836},[10356,10360,10364],{"type":2449,"tag":3067,"props":10357,"children":10358},{"style":3074},[10359],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10361,"children":10362},{"style":3080},[10363],{"type":2455,"value":10254},{"type":2449,"tag":3067,"props":10365,"children":10366},{"style":3080},[10367],{"type":2455,"value":10368}," test:watch\n",{"type":2449,"tag":3067,"props":10370,"children":10371},{"class":3069,"line":2432},[10372],{"type":2449,"tag":3067,"props":10373,"children":10374},{"emptyLinePlaceholder":3144},[10375],{"type":2455,"value":3147},{"type":2449,"tag":3067,"props":10377,"children":10378},{"class":3069,"line":5727},[10379],{"type":2449,"tag":3067,"props":10380,"children":10381},{"style":3116},[10382],{"type":2455,"value":10383},"# Build the module\n",{"type":2449,"tag":3067,"props":10385,"children":10386},{"class":3069,"line":5735},[10387,10391,10395],{"type":2449,"tag":3067,"props":10388,"children":10389},{"style":3074},[10390],{"type":2455,"value":3128},{"type":2449,"tag":3067,"props":10392,"children":10393},{"style":3080},[10394],{"type":2455,"value":10254},{"type":2449,"tag":3067,"props":10396,"children":10397},{"style":3080},[10398],{"type":2455,"value":10399}," prepack\n",{"type":2449,"tag":2603,"props":10401,"children":10403},{"id":10402},"license",[10404],{"type":2455,"value":2499},{"type":2449,"tag":2450,"props":10406,"children":10407},{},[10408],{"type":2449,"tag":2473,"props":10409,"children":10411},{"href":10410},".\u002FLICENSE",[10412],{"type":2455,"value":10413},"MIT",{"type":2449,"tag":10415,"props":10416,"children":10417},"style",{},[10418],{"type":2455,"value":10419},"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":2443,"searchDepth":3122,"depth":3122,"links":10421},[10422,10423,10424,10437,10441,10442,10443,10444],{"id":2605,"depth":3122,"text":450},{"id":3047,"depth":3122,"text":3050},{"id":3215,"depth":3122,"text":3218,"children":10425},[10426,10428,10430,10431,10433,10435,10436],{"id":3222,"depth":3140,"text":10427},"Simple Mode: defineAction",{"id":4198,"depth":3140,"text":10429},"Builder Mode: createActionClient",{"id":4860,"depth":3140,"text":4863},{"id":5264,"depth":3140,"text":10432},"Client: useAction",{"id":6396,"depth":3140,"text":10434},"Optimistic Updates: useOptimisticAction",{"id":149,"depth":3140,"text":7251},{"id":7730,"depth":3140,"text":72},{"id":8337,"depth":3122,"text":8340,"children":10438},[10439,10440],{"id":8343,"depth":3140,"text":8346},{"id":8867,"depth":3140,"text":8870},{"id":9800,"depth":3122,"text":9803},{"id":10166,"depth":3122,"text":10169},{"id":10187,"depth":3122,"text":1035},{"id":10402,"depth":3122,"text":2499},{"v5":10446,"v4":10447,"v3":10448,"v2":10449},"5 (nightly)","4.5.2","3.21.11","2.18.1"]