[{"data":1,"prerenderedAt":932},["ShallowReactive",2],{"navigation":3,"/guide/hooks":56,"/guide/hooks-surround":927},[4,30],{"title":5,"_path":6,"children":7,"icon":9},"Getting Started","/guide",[8,10,14,18,22,26],{"title":5,"_path":6,"icon":9},"ph:book-open-duotone",{"title":11,"_path":12,"icon":13},"Hooks","/guide/hooks","material-symbols-light:data-object",{"title":15,"_path":16,"icon":17},"Peer","/guide/peer","mynaui:api",{"title":19,"_path":20,"icon":21},"Message","/guide/message","solar:letter-line-duotone",{"title":23,"_path":24,"icon":25},"Pub / Sub","/guide/pubsub","simple-icons:googlepubsub",{"title":27,"_path":28,"icon":29},"Resolver API","/guide/resolver","tabler:route",{"title":31,"_path":32,"children":33,"icon":35},"Adapters","/adapters",[34,36,40,44,48,52],{"title":31,"_path":32,"icon":35},"emojione-monotone:electric-plug",{"title":37,"_path":38,"icon":39},"Bun","/adapters/bun","simple-icons:bun",{"title":41,"_path":42,"icon":43},"Cloudflare","/adapters/cloudflare","devicon-plain:cloudflareworkers",{"title":45,"_path":46,"icon":47},"Deno","/adapters/deno","teenyicons:deno-solid",{"title":49,"_path":50,"icon":51},"Node.js","/adapters/node","akar-icons:node-fill",{"title":53,"_path":54,"icon":55},"SSE","/adapters/sse","clarity:two-way-arrows-line",{"_path":12,"_dir":57,"_draft":58,"_partial":58,"_locale":59,"title":11,"description":60,"icon":13,"body":61,"_type":921,"_id":922,"_source":923,"_file":924,"_stem":925,"_extension":926},"guide",false,"","Using hooks, you can define a WebSocket server that works across runtimes with the same syntax.",{"type":62,"children":63,"toc":919},"root",[64,72,90,913],{"type":65,"tag":66,"props":67,"children":68},"element","p",{},[69],{"type":70,"value":71},"text","Crossws provides a cross-platform API to define WebSocket servers. An implementation with these hooks works across runtimes without needing you to go into details of each of them. You only define the life-cycle hooks that you only need.",{"type":65,"tag":73,"props":74,"children":75},"tip",{},[76],{"type":65,"tag":66,"props":77,"children":78},{},[79,81,88],{"type":70,"value":80},"\nUsing ",{"type":65,"tag":82,"props":83,"children":85},"code",{"className":84},[],[86],{"type":70,"value":87},"defineHooks()",{"type":70,"value":89}," wrapper is optional and for type support and code auto completion.",{"type":65,"tag":91,"props":92,"children":96},"pre",{"className":93,"code":94,"language":95,"meta":59,"style":59},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineHooks } from \"crossws\";\n\nconst hooks = defineHooks({\n  upgrade(req) {\n    console.log(`[ws] upgrading ${req.url}...`);\n    return {\n      // namespace: new URL(req.url).pathname\n      headers: {},\n    };\n  },\n\n  open(peer) {\n    console.log(`[ws] open: ${peer}`);\n  },\n\n  message(peer, message) {\n    console.log(\"[ws] message\", peer, message);\n    if (message.text().includes(\"ping\")) {\n      peer.send(\"pong\");\n    }\n  },\n\n  close(peer, event) {\n    console.log(\"[ws] close\", peer, event);\n  },\n\n  error(peer, error) {\n    console.log(\"[ws] error\", peer, error);\n  },\n});\n","ts",[97],{"type":65,"tag":82,"props":98,"children":99},{"__ignoreMap":59},[100,155,165,200,230,303,316,326,345,354,363,371,397,447,455,463,498,556,623,666,675,683,691,725,782,790,798,832,889,897],{"type":65,"tag":101,"props":102,"children":105},"span",{"class":103,"line":104},"line",1,[106,112,118,124,129,134,139,145,150],{"type":65,"tag":101,"props":107,"children":109},{"style":108},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[110],{"type":70,"value":111},"import",{"type":65,"tag":101,"props":113,"children":115},{"style":114},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[116],{"type":70,"value":117}," {",{"type":65,"tag":101,"props":119,"children":121},{"style":120},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[122],{"type":70,"value":123}," defineHooks",{"type":65,"tag":101,"props":125,"children":126},{"style":114},[127],{"type":70,"value":128}," }",{"type":65,"tag":101,"props":130,"children":131},{"style":108},[132],{"type":70,"value":133}," from",{"type":65,"tag":101,"props":135,"children":136},{"style":114},[137],{"type":70,"value":138}," \"",{"type":65,"tag":101,"props":140,"children":142},{"style":141},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[143],{"type":70,"value":144},"crossws",{"type":65,"tag":101,"props":146,"children":147},{"style":114},[148],{"type":70,"value":149},"\"",{"type":65,"tag":101,"props":151,"children":152},{"style":114},[153],{"type":70,"value":154},";\n",{"type":65,"tag":101,"props":156,"children":158},{"class":103,"line":157},2,[159],{"type":65,"tag":101,"props":160,"children":162},{"emptyLinePlaceholder":161},true,[163],{"type":70,"value":164},"\n",{"type":65,"tag":101,"props":166,"children":168},{"class":103,"line":167},3,[169,175,180,185,190,195],{"type":65,"tag":101,"props":170,"children":172},{"style":171},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[173],{"type":70,"value":174},"const",{"type":65,"tag":101,"props":176,"children":177},{"style":120},[178],{"type":70,"value":179}," hooks ",{"type":65,"tag":101,"props":181,"children":182},{"style":114},[183],{"type":70,"value":184},"=",{"type":65,"tag":101,"props":186,"children":188},{"style":187},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[189],{"type":70,"value":123},{"type":65,"tag":101,"props":191,"children":192},{"style":120},[193],{"type":70,"value":194},"(",{"type":65,"tag":101,"props":196,"children":197},{"style":114},[198],{"type":70,"value":199},"{\n",{"type":65,"tag":101,"props":201,"children":203},{"class":103,"line":202},4,[204,210,214,220,225],{"type":65,"tag":101,"props":205,"children":207},{"style":206},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[208],{"type":70,"value":209},"  upgrade",{"type":65,"tag":101,"props":211,"children":212},{"style":114},[213],{"type":70,"value":194},{"type":65,"tag":101,"props":215,"children":217},{"style":216},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[218],{"type":70,"value":219},"req",{"type":65,"tag":101,"props":221,"children":222},{"style":114},[223],{"type":70,"value":224},")",{"type":65,"tag":101,"props":226,"children":227},{"style":114},[228],{"type":70,"value":229}," {\n",{"type":65,"tag":101,"props":231,"children":233},{"class":103,"line":232},5,[234,239,244,249,253,258,263,268,272,276,281,286,291,295,299],{"type":65,"tag":101,"props":235,"children":236},{"style":120},[237],{"type":70,"value":238},"    console",{"type":65,"tag":101,"props":240,"children":241},{"style":114},[242],{"type":70,"value":243},".",{"type":65,"tag":101,"props":245,"children":246},{"style":187},[247],{"type":70,"value":248},"log",{"type":65,"tag":101,"props":250,"children":251},{"style":206},[252],{"type":70,"value":194},{"type":65,"tag":101,"props":254,"children":255},{"style":114},[256],{"type":70,"value":257},"`",{"type":65,"tag":101,"props":259,"children":260},{"style":141},[261],{"type":70,"value":262},"[ws] upgrading ",{"type":65,"tag":101,"props":264,"children":265},{"style":114},[266],{"type":70,"value":267},"${",{"type":65,"tag":101,"props":269,"children":270},{"style":120},[271],{"type":70,"value":219},{"type":65,"tag":101,"props":273,"children":274},{"style":114},[275],{"type":70,"value":243},{"type":65,"tag":101,"props":277,"children":278},{"style":120},[279],{"type":70,"value":280},"url",{"type":65,"tag":101,"props":282,"children":283},{"style":114},[284],{"type":70,"value":285},"}",{"type":65,"tag":101,"props":287,"children":288},{"style":141},[289],{"type":70,"value":290},"...",{"type":65,"tag":101,"props":292,"children":293},{"style":114},[294],{"type":70,"value":257},{"type":65,"tag":101,"props":296,"children":297},{"style":206},[298],{"type":70,"value":224},{"type":65,"tag":101,"props":300,"children":301},{"style":114},[302],{"type":70,"value":154},{"type":65,"tag":101,"props":304,"children":306},{"class":103,"line":305},6,[307,312],{"type":65,"tag":101,"props":308,"children":309},{"style":108},[310],{"type":70,"value":311},"    return",{"type":65,"tag":101,"props":313,"children":314},{"style":114},[315],{"type":70,"value":229},{"type":65,"tag":101,"props":317,"children":319},{"class":103,"line":318},7,[320],{"type":65,"tag":101,"props":321,"children":323},{"style":322},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[324],{"type":70,"value":325},"      // namespace: new URL(req.url).pathname\n",{"type":65,"tag":101,"props":327,"children":329},{"class":103,"line":328},8,[330,335,340],{"type":65,"tag":101,"props":331,"children":332},{"style":206},[333],{"type":70,"value":334},"      headers",{"type":65,"tag":101,"props":336,"children":337},{"style":114},[338],{"type":70,"value":339},":",{"type":65,"tag":101,"props":341,"children":342},{"style":114},[343],{"type":70,"value":344}," {},\n",{"type":65,"tag":101,"props":346,"children":348},{"class":103,"line":347},9,[349],{"type":65,"tag":101,"props":350,"children":351},{"style":114},[352],{"type":70,"value":353},"    };\n",{"type":65,"tag":101,"props":355,"children":357},{"class":103,"line":356},10,[358],{"type":65,"tag":101,"props":359,"children":360},{"style":114},[361],{"type":70,"value":362},"  },\n",{"type":65,"tag":101,"props":364,"children":366},{"class":103,"line":365},11,[367],{"type":65,"tag":101,"props":368,"children":369},{"emptyLinePlaceholder":161},[370],{"type":70,"value":164},{"type":65,"tag":101,"props":372,"children":374},{"class":103,"line":373},12,[375,380,384,389,393],{"type":65,"tag":101,"props":376,"children":377},{"style":206},[378],{"type":70,"value":379},"  open",{"type":65,"tag":101,"props":381,"children":382},{"style":114},[383],{"type":70,"value":194},{"type":65,"tag":101,"props":385,"children":386},{"style":216},[387],{"type":70,"value":388},"peer",{"type":65,"tag":101,"props":390,"children":391},{"style":114},[392],{"type":70,"value":224},{"type":65,"tag":101,"props":394,"children":395},{"style":114},[396],{"type":70,"value":229},{"type":65,"tag":101,"props":398,"children":400},{"class":103,"line":399},13,[401,405,409,413,417,421,426,430,434,439,443],{"type":65,"tag":101,"props":402,"children":403},{"style":120},[404],{"type":70,"value":238},{"type":65,"tag":101,"props":406,"children":407},{"style":114},[408],{"type":70,"value":243},{"type":65,"tag":101,"props":410,"children":411},{"style":187},[412],{"type":70,"value":248},{"type":65,"tag":101,"props":414,"children":415},{"style":206},[416],{"type":70,"value":194},{"type":65,"tag":101,"props":418,"children":419},{"style":114},[420],{"type":70,"value":257},{"type":65,"tag":101,"props":422,"children":423},{"style":141},[424],{"type":70,"value":425},"[ws] open: ",{"type":65,"tag":101,"props":427,"children":428},{"style":114},[429],{"type":70,"value":267},{"type":65,"tag":101,"props":431,"children":432},{"style":120},[433],{"type":70,"value":388},{"type":65,"tag":101,"props":435,"children":436},{"style":114},[437],{"type":70,"value":438},"}`",{"type":65,"tag":101,"props":440,"children":441},{"style":206},[442],{"type":70,"value":224},{"type":65,"tag":101,"props":444,"children":445},{"style":114},[446],{"type":70,"value":154},{"type":65,"tag":101,"props":448,"children":450},{"class":103,"line":449},14,[451],{"type":65,"tag":101,"props":452,"children":453},{"style":114},[454],{"type":70,"value":362},{"type":65,"tag":101,"props":456,"children":458},{"class":103,"line":457},15,[459],{"type":65,"tag":101,"props":460,"children":461},{"emptyLinePlaceholder":161},[462],{"type":70,"value":164},{"type":65,"tag":101,"props":464,"children":466},{"class":103,"line":465},16,[467,472,476,480,485,490,494],{"type":65,"tag":101,"props":468,"children":469},{"style":206},[470],{"type":70,"value":471},"  message",{"type":65,"tag":101,"props":473,"children":474},{"style":114},[475],{"type":70,"value":194},{"type":65,"tag":101,"props":477,"children":478},{"style":216},[479],{"type":70,"value":388},{"type":65,"tag":101,"props":481,"children":482},{"style":114},[483],{"type":70,"value":484},",",{"type":65,"tag":101,"props":486,"children":487},{"style":216},[488],{"type":70,"value":489}," message",{"type":65,"tag":101,"props":491,"children":492},{"style":114},[493],{"type":70,"value":224},{"type":65,"tag":101,"props":495,"children":496},{"style":114},[497],{"type":70,"value":229},{"type":65,"tag":101,"props":499,"children":501},{"class":103,"line":500},17,[502,506,510,514,518,522,527,531,535,540,544,548,552],{"type":65,"tag":101,"props":503,"children":504},{"style":120},[505],{"type":70,"value":238},{"type":65,"tag":101,"props":507,"children":508},{"style":114},[509],{"type":70,"value":243},{"type":65,"tag":101,"props":511,"children":512},{"style":187},[513],{"type":70,"value":248},{"type":65,"tag":101,"props":515,"children":516},{"style":206},[517],{"type":70,"value":194},{"type":65,"tag":101,"props":519,"children":520},{"style":114},[521],{"type":70,"value":149},{"type":65,"tag":101,"props":523,"children":524},{"style":141},[525],{"type":70,"value":526},"[ws] message",{"type":65,"tag":101,"props":528,"children":529},{"style":114},[530],{"type":70,"value":149},{"type":65,"tag":101,"props":532,"children":533},{"style":114},[534],{"type":70,"value":484},{"type":65,"tag":101,"props":536,"children":537},{"style":120},[538],{"type":70,"value":539}," peer",{"type":65,"tag":101,"props":541,"children":542},{"style":114},[543],{"type":70,"value":484},{"type":65,"tag":101,"props":545,"children":546},{"style":120},[547],{"type":70,"value":489},{"type":65,"tag":101,"props":549,"children":550},{"style":206},[551],{"type":70,"value":224},{"type":65,"tag":101,"props":553,"children":554},{"style":114},[555],{"type":70,"value":154},{"type":65,"tag":101,"props":557,"children":559},{"class":103,"line":558},18,[560,565,570,575,579,583,588,592,597,601,605,610,614,619],{"type":65,"tag":101,"props":561,"children":562},{"style":108},[563],{"type":70,"value":564},"    if",{"type":65,"tag":101,"props":566,"children":567},{"style":206},[568],{"type":70,"value":569}," (",{"type":65,"tag":101,"props":571,"children":572},{"style":120},[573],{"type":70,"value":574},"message",{"type":65,"tag":101,"props":576,"children":577},{"style":114},[578],{"type":70,"value":243},{"type":65,"tag":101,"props":580,"children":581},{"style":187},[582],{"type":70,"value":70},{"type":65,"tag":101,"props":584,"children":585},{"style":206},[586],{"type":70,"value":587},"()",{"type":65,"tag":101,"props":589,"children":590},{"style":114},[591],{"type":70,"value":243},{"type":65,"tag":101,"props":593,"children":594},{"style":187},[595],{"type":70,"value":596},"includes",{"type":65,"tag":101,"props":598,"children":599},{"style":206},[600],{"type":70,"value":194},{"type":65,"tag":101,"props":602,"children":603},{"style":114},[604],{"type":70,"value":149},{"type":65,"tag":101,"props":606,"children":607},{"style":141},[608],{"type":70,"value":609},"ping",{"type":65,"tag":101,"props":611,"children":612},{"style":114},[613],{"type":70,"value":149},{"type":65,"tag":101,"props":615,"children":616},{"style":206},[617],{"type":70,"value":618},")) ",{"type":65,"tag":101,"props":620,"children":621},{"style":114},[622],{"type":70,"value":199},{"type":65,"tag":101,"props":624,"children":626},{"class":103,"line":625},19,[627,632,636,641,645,649,654,658,662],{"type":65,"tag":101,"props":628,"children":629},{"style":120},[630],{"type":70,"value":631},"      peer",{"type":65,"tag":101,"props":633,"children":634},{"style":114},[635],{"type":70,"value":243},{"type":65,"tag":101,"props":637,"children":638},{"style":187},[639],{"type":70,"value":640},"send",{"type":65,"tag":101,"props":642,"children":643},{"style":206},[644],{"type":70,"value":194},{"type":65,"tag":101,"props":646,"children":647},{"style":114},[648],{"type":70,"value":149},{"type":65,"tag":101,"props":650,"children":651},{"style":141},[652],{"type":70,"value":653},"pong",{"type":65,"tag":101,"props":655,"children":656},{"style":114},[657],{"type":70,"value":149},{"type":65,"tag":101,"props":659,"children":660},{"style":206},[661],{"type":70,"value":224},{"type":65,"tag":101,"props":663,"children":664},{"style":114},[665],{"type":70,"value":154},{"type":65,"tag":101,"props":667,"children":669},{"class":103,"line":668},20,[670],{"type":65,"tag":101,"props":671,"children":672},{"style":114},[673],{"type":70,"value":674},"    }\n",{"type":65,"tag":101,"props":676,"children":678},{"class":103,"line":677},21,[679],{"type":65,"tag":101,"props":680,"children":681},{"style":114},[682],{"type":70,"value":362},{"type":65,"tag":101,"props":684,"children":686},{"class":103,"line":685},22,[687],{"type":65,"tag":101,"props":688,"children":689},{"emptyLinePlaceholder":161},[690],{"type":70,"value":164},{"type":65,"tag":101,"props":692,"children":694},{"class":103,"line":693},23,[695,700,704,708,712,717,721],{"type":65,"tag":101,"props":696,"children":697},{"style":206},[698],{"type":70,"value":699},"  close",{"type":65,"tag":101,"props":701,"children":702},{"style":114},[703],{"type":70,"value":194},{"type":65,"tag":101,"props":705,"children":706},{"style":216},[707],{"type":70,"value":388},{"type":65,"tag":101,"props":709,"children":710},{"style":114},[711],{"type":70,"value":484},{"type":65,"tag":101,"props":713,"children":714},{"style":216},[715],{"type":70,"value":716}," event",{"type":65,"tag":101,"props":718,"children":719},{"style":114},[720],{"type":70,"value":224},{"type":65,"tag":101,"props":722,"children":723},{"style":114},[724],{"type":70,"value":229},{"type":65,"tag":101,"props":726,"children":728},{"class":103,"line":727},24,[729,733,737,741,745,749,754,758,762,766,770,774,778],{"type":65,"tag":101,"props":730,"children":731},{"style":120},[732],{"type":70,"value":238},{"type":65,"tag":101,"props":734,"children":735},{"style":114},[736],{"type":70,"value":243},{"type":65,"tag":101,"props":738,"children":739},{"style":187},[740],{"type":70,"value":248},{"type":65,"tag":101,"props":742,"children":743},{"style":206},[744],{"type":70,"value":194},{"type":65,"tag":101,"props":746,"children":747},{"style":114},[748],{"type":70,"value":149},{"type":65,"tag":101,"props":750,"children":751},{"style":141},[752],{"type":70,"value":753},"[ws] close",{"type":65,"tag":101,"props":755,"children":756},{"style":114},[757],{"type":70,"value":149},{"type":65,"tag":101,"props":759,"children":760},{"style":114},[761],{"type":70,"value":484},{"type":65,"tag":101,"props":763,"children":764},{"style":120},[765],{"type":70,"value":539},{"type":65,"tag":101,"props":767,"children":768},{"style":114},[769],{"type":70,"value":484},{"type":65,"tag":101,"props":771,"children":772},{"style":120},[773],{"type":70,"value":716},{"type":65,"tag":101,"props":775,"children":776},{"style":206},[777],{"type":70,"value":224},{"type":65,"tag":101,"props":779,"children":780},{"style":114},[781],{"type":70,"value":154},{"type":65,"tag":101,"props":783,"children":785},{"class":103,"line":784},25,[786],{"type":65,"tag":101,"props":787,"children":788},{"style":114},[789],{"type":70,"value":362},{"type":65,"tag":101,"props":791,"children":793},{"class":103,"line":792},26,[794],{"type":65,"tag":101,"props":795,"children":796},{"emptyLinePlaceholder":161},[797],{"type":70,"value":164},{"type":65,"tag":101,"props":799,"children":801},{"class":103,"line":800},27,[802,807,811,815,819,824,828],{"type":65,"tag":101,"props":803,"children":804},{"style":206},[805],{"type":70,"value":806},"  error",{"type":65,"tag":101,"props":808,"children":809},{"style":114},[810],{"type":70,"value":194},{"type":65,"tag":101,"props":812,"children":813},{"style":216},[814],{"type":70,"value":388},{"type":65,"tag":101,"props":816,"children":817},{"style":114},[818],{"type":70,"value":484},{"type":65,"tag":101,"props":820,"children":821},{"style":216},[822],{"type":70,"value":823}," error",{"type":65,"tag":101,"props":825,"children":826},{"style":114},[827],{"type":70,"value":224},{"type":65,"tag":101,"props":829,"children":830},{"style":114},[831],{"type":70,"value":229},{"type":65,"tag":101,"props":833,"children":835},{"class":103,"line":834},28,[836,840,844,848,852,856,861,865,869,873,877,881,885],{"type":65,"tag":101,"props":837,"children":838},{"style":120},[839],{"type":70,"value":238},{"type":65,"tag":101,"props":841,"children":842},{"style":114},[843],{"type":70,"value":243},{"type":65,"tag":101,"props":845,"children":846},{"style":187},[847],{"type":70,"value":248},{"type":65,"tag":101,"props":849,"children":850},{"style":206},[851],{"type":70,"value":194},{"type":65,"tag":101,"props":853,"children":854},{"style":114},[855],{"type":70,"value":149},{"type":65,"tag":101,"props":857,"children":858},{"style":141},[859],{"type":70,"value":860},"[ws] error",{"type":65,"tag":101,"props":862,"children":863},{"style":114},[864],{"type":70,"value":149},{"type":65,"tag":101,"props":866,"children":867},{"style":114},[868],{"type":70,"value":484},{"type":65,"tag":101,"props":870,"children":871},{"style":120},[872],{"type":70,"value":539},{"type":65,"tag":101,"props":874,"children":875},{"style":114},[876],{"type":70,"value":484},{"type":65,"tag":101,"props":878,"children":879},{"style":120},[880],{"type":70,"value":823},{"type":65,"tag":101,"props":882,"children":883},{"style":206},[884],{"type":70,"value":224},{"type":65,"tag":101,"props":886,"children":887},{"style":114},[888],{"type":70,"value":154},{"type":65,"tag":101,"props":890,"children":892},{"class":103,"line":891},29,[893],{"type":65,"tag":101,"props":894,"children":895},{"style":114},[896],{"type":70,"value":362},{"type":65,"tag":101,"props":898,"children":900},{"class":103,"line":899},30,[901,905,909],{"type":65,"tag":101,"props":902,"children":903},{"style":114},[904],{"type":70,"value":285},{"type":65,"tag":101,"props":906,"children":907},{"style":120},[908],{"type":70,"value":224},{"type":65,"tag":101,"props":910,"children":911},{"style":114},[912],{"type":70,"value":154},{"type":65,"tag":914,"props":915,"children":916},"style",{},[917],{"type":70,"value":918},"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":59,"searchDepth":157,"depth":157,"links":920},[],"markdown","content:1.guide:2.hooks.md","content","1.guide/2.hooks.md","1.guide/2.hooks","md",[928,930],{"_path":6,"title":5,"description":929},"crossws provides a cross-platform toolkit to define well-typed WebSocket apps that can then be integrated into various WebSocket servers using built-in adapters.",{"_path":16,"title":15,"description":931},"Peer object allows easily interacting with connected clients.",1747776031614]