[{"data":1,"prerenderedAt":199},["ShallowReactive",2],{"navigation_docs":3,"landing":111},[4,26,35,60,77,94],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Api","\u002Fdocs\u002Fapi","docs\u002Fapi",[9,13,17,21],{"title":10,"path":11,"stem":12},"IOServer Class","\u002Fdocs\u002Fapi\u002Fioserver-class","docs\u002Fapi\u002F1.ioserver-class",{"title":14,"path":15,"stem":16},"Base Classes","\u002Fdocs\u002Fapi\u002Fbase-classes","docs\u002Fapi\u002F2.base-classes",{"title":18,"path":19,"stem":20},"Types & Interfaces","\u002Fdocs\u002Fapi\u002Ftypes-interfaces","docs\u002Fapi\u002F3.types-interfaces",{"title":22,"path":23,"stem":24},"Error Handling","\u002Fdocs\u002Fapi\u002Ferror-handling","docs\u002Fapi\u002F4.error-handling",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Community","\u002Fdocs\u002Fcommunity","docs\u002Fcommunity",[31],{"title":32,"path":33,"stem":34},"Contributing","\u002Fdocs\u002Fcommunity\u002Fcontributing","docs\u002Fcommunity\u002F1.contributing",{"title":36,"path":37,"stem":38,"children":39,"page":25},"Components","\u002Fdocs\u002Fcomponents","docs\u002Fcomponents",[40,44,48,52,56],{"title":41,"path":42,"stem":43},"Services","\u002Fdocs\u002Fcomponents\u002Fservices","docs\u002Fcomponents\u002F1.services",{"title":45,"path":46,"stem":47},"Controllers","\u002Fdocs\u002Fcomponents\u002Fcontrollers","docs\u002Fcomponents\u002F2.controllers",{"title":49,"path":50,"stem":51},"Managers","\u002Fdocs\u002Fcomponents\u002Fmanagers","docs\u002Fcomponents\u002F3.managers",{"title":53,"path":54,"stem":55},"Watchers","\u002Fdocs\u002Fcomponents\u002Fwatchers","docs\u002Fcomponents\u002F4.watchers",{"title":57,"path":58,"stem":59},"Middlewares","\u002Fdocs\u002Fcomponents\u002Fmiddlewares","docs\u002Fcomponents\u002F5.middlewares",{"title":61,"path":62,"stem":63,"children":64,"page":25},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002Fconcepts",[65,69,73],{"title":66,"path":67,"stem":68},"Architecture","\u002Fdocs\u002Fconcepts\u002Farchitecture","docs\u002Fconcepts\u002F1.architecture",{"title":70,"path":71,"stem":72},"Component Model","\u002Fdocs\u002Fconcepts\u002Fcomponent-model","docs\u002Fconcepts\u002F2.component-model",{"title":74,"path":75,"stem":76},"Routing","\u002Fdocs\u002Fconcepts\u002Frouting","docs\u002Fconcepts\u002F3.routing",{"title":78,"path":79,"stem":80,"children":81,"page":25},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started",[82,86,90],{"title":83,"path":84,"stem":85},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002Fgetting-started\u002F1.introduction",{"title":87,"path":88,"stem":89},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002Fgetting-started\u002F2.installation",{"title":91,"path":92,"stem":93},"Quick Start","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002Fgetting-started\u002F3.quick-start",{"title":95,"path":96,"stem":97,"children":98,"page":25},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides",[99,103,107],{"title":100,"path":101,"stem":102},"Configuration","\u002Fdocs\u002Fguides\u002Fconfiguration","docs\u002Fguides\u002F1.configuration",{"title":104,"path":105,"stem":106},"Chat Application","\u002Fdocs\u002Fguides\u002Fchat-application","docs\u002Fguides\u002F2.chat-application",{"title":108,"path":109,"stem":110},"Docker Deployment","\u002Fdocs\u002Fguides\u002Fdocker-deployment","docs\u002Fguides\u002F3.docker-deployment",{"id":112,"title":113,"body":114,"description":113,"extension":190,"meta":191,"navigation":192,"path":193,"seo":194,"stem":197,"__hash__":198},"landing\u002Findex.md","",{"type":115,"value":116,"toc":187},"minimark",[117,148],[118,119,120,124,132],"u-page-hero",{},[121,122,123],"template",{"v-slot:title":113},"Real-time backends, the TypeScript way.",[121,125,126,127,131],{"v-slot:description":113},"IOServer is a ",[128,129,130],"strong",{},"TypeScript framework"," that combines Fastify (HTTP) and Socket.IO (WebSocket) behind a clean, modular architecture. Define clear boundaries between services, controllers, managers, watchers, and middlewares — and let IOServer wire them together.",[121,133,134,141],{"v-slot:links":113},[135,136,140],"u-button",{"color":137,"size":138,"to":84,"trailing-icon":139},"neutral","xl","i-lucide-arrow-right","Get Started",[135,142,147],{"color":137,"size":138,"to":143,"icon":144,"target":145,"variant":146},"https:\u002F\u002Fgithub.com\u002Fx42en\u002FIOServer","i-simple-icons-github","_blank","outline","Star on GitHub",[149,150,151,154],"u-page-section",{},[121,152,153],{"v-slot:title":113},"Why IOServer?",[121,155,156,162,167,172,177,182],{"v-slot:features":113},[157,158],"u-page-feature",{"description":159,"icon":160,"title":161},"Five distinct component types — services, controllers, managers, watchers, and middlewares — each with a single, well-defined responsibility.","i-lucide-layers","Modular by design",[157,163],{"description":164,"icon":165,"title":166},"Built on the fastest Node.js HTTP framework and the most popular WebSocket library. No compromises on performance.","i-lucide-zap","Fastify + Socket.IO",[157,168],{"description":169,"icon":170,"title":171},"Full type safety throughout. Every public API is typed, including the AppHandle that connects your components together.","i-lucide-shield-check","Strict TypeScript",[157,173],{"description":174,"icon":175,"title":176},"Managers are registered in a shared AppHandle accessible to every component — no global singletons, no dependency injection boilerplate.","i-lucide-share-2","Shared app handle",[157,178],{"description":179,"icon":180,"title":181},"Every public method on a Service automatically becomes a Socket.IO event handler. No decorators, no registration boilerplate.","i-lucide-radio","Automatic WS routing",[157,183],{"description":184,"icon":185,"title":186},"HTTP routes are declared in plain JSON files and mapped to controller methods by name. Clean separation of routing and logic.","i-lucide-file-json","JSON-based HTTP routes",{"title":113,"searchDepth":188,"depth":188,"links":189},2,[],"md",{},true,"\u002F",{"title":195,"description":196},"IOServer — TypeScript Real-Time Framework","TypeScript framework combining Fastify and Socket.IO with a modular component architecture for building real-time backends.","index","aldy_HcqyrA9Th-x01l_zspyxN5hA-hxCSwFX8KH-xM",1775915591619]