[{"data":1,"prerenderedAt":1213},["ShallowReactive",2],{"markdown-doc:\u002Fen\u002Fguide\u002Fstreaming":3,"markdown-source:recipes\u002Fresponse.ts":263,"mdc--98403-key":264},{"id":4,"title":5,"body":6,"description":252,"extension":253,"keywords":254,"locale":255,"meta":256,"navigation":257,"order":86,"path":258,"section":259,"seo":260,"stem":261,"__hash__":262},"docs\u002Fguide\u002Fstreaming.en.md","AI streaming",{"type":7,"value":8,"toc":246},"minimark",[9,18,23,40,152,177,181,184,188,192,206,210,217,231,235,242],[10,11,12,13,17],"p",{},"An AI response usually arrives in several pieces. The application receives network data and accumulates text; ",[14,15,16],"code",{},"QuireMarkdown"," renders the Markdown received so far. It does not send model requests or determine when they finish.",[19,20,22],"h2",{"id":21},"_1-pass-the-message-to-the-reader","1. Pass the message to the reader",[10,24,25,26,31,32,35,36,39],{},"Keep the component imports from ",[27,28,30],"a",{"href":29},"\u002Fen\u002Fguide\u002Fgetting-started","Quick start",". ",[14,33,34],{},"message.id"," is a stable identifier for one response, and ",[14,37,38],{},"message.text"," is the accumulated source:",[41,42,47],"pre",{"className":43,"code":44,"language":45,"meta":46,"style":46},"language-vue shiki shiki-themes github-light github-light github-dark","\u003CQuireMarkdown\n  :content=\"message.text\"\n  :identity=\"message.id\"\n  :status=\"message.receiving ? 'receiving' : 'complete'\"\n  @error=\"reportReadingError\"\n\u002F>\n","vue","",[14,48,49,62,84,100,128,146],{"__ignoreMap":46},[50,51,54,58],"span",{"class":52,"line":53},"line",1,[50,55,57],{"class":56},"sVPnS","\u003C",[50,59,61],{"class":60},"su0ou","QuireMarkdown\n",[50,63,65,68,72,75,79,81],{"class":52,"line":64},2,[50,66,67],{"class":56},"  :",[50,69,71],{"class":70},"sgQzM","content",[50,73,74],{"class":56},"=",[50,76,78],{"class":77},"s-HEn","\"",[50,80,38],{"class":56},[50,82,83],{"class":77},"\"\n",[50,85,87,89,92,94,96,98],{"class":52,"line":86},3,[50,88,67],{"class":56},[50,90,91],{"class":70},"identity",[50,93,74],{"class":56},[50,95,78],{"class":77},[50,97,34],{"class":56},[50,99,83],{"class":77},[50,101,103,105,108,110,112,115,119,122,125],{"class":52,"line":102},4,[50,104,67],{"class":56},[50,106,107],{"class":70},"status",[50,109,74],{"class":56},[50,111,78],{"class":77},[50,113,114],{"class":56},"message.receiving ",[50,116,118],{"class":117},"sDD9d","?",[50,120,121],{"class":77}," 'receiving'",[50,123,124],{"class":117}," :",[50,126,127],{"class":77}," 'complete'\"\n",[50,129,131,134,137,139,141,144],{"class":52,"line":130},5,[50,132,133],{"class":56},"  @",[50,135,136],{"class":70},"error",[50,138,74],{"class":56},[50,140,78],{"class":77},[50,142,143],{"class":56},"reportReadingError",[50,145,83],{"class":77},[50,147,149],{"class":52,"line":148},6,[50,150,151],{"class":56},"\u002F>\n",[10,153,154,155,159,160,162,163,166,167,166,170,173,174,176],{},"Pass the ",[156,157,158],"strong",{},"complete received source"," on each update. Prefix appends reuse a parsing session;\nreplacement, clearing, identity changes and replacing the options object create a fresh\nsession and release old resources. ",[14,161,107],{}," is ",[14,164,165],{},"receiving",", ",[14,168,169],{},"complete",[14,171,172],{},"stopped"," or ",[14,175,136],{},".\nIt describes transport state; stopping retains text and neither freezes blocks nor adds\nsynthetic closing delimiters. Late link and footnote definitions can update earlier content.\nThe application cancels its own network request.",[19,178,180],{"id":179},"_2-try-appending-and-stopping","2. Try appending and stopping",[10,182,183],{},"Choose “Start streaming” and watch headings, links and footnotes arrive. “Stop” retains received text. The application remains responsible for cancelling its network request.",[185,186],"docs-demo",{"name":187},"reading\u002Fstream",[19,189,191],{"id":190},"server-rendered-first-content","Server-rendered first content",[10,193,194,195,198,199,202,203,205],{},"SSR produces semantic headings, lists and links by default, with the same parsing strategy\non the first client render. Resource loading starts only after client mount. To defer initial\nparsing, use ",[14,196,197],{},"ssr=\"source\"",": the server and initial client frame show escaped source, then\nparse after mounting. An existing snapshot may be passed as ",[14,200,201],{},"state",", mutually exclusive\nwith ",[14,204,71],{},".",[19,207,209],{"id":208},"_3-receive-a-real-text-response","3. Receive a real text response",[10,211,212,213,216],{},"This reusable function handles HTTP bodies containing ",[156,214,215],{},"raw Markdown text",".\nPass the application's AbortSignal to both fetch and this function; update message.text in onText.\nSet receiving on start, complete on success, stopped on user cancellation and error for other failures.\nGuard callbacks with the request identity so an old request cannot overwrite a different message. The host aborts on unmount.",[10,218,219,222,223,226,227,230],{},[14,220,221],{},"recipes\u002Fresponse.ts"," only reads and decodes the response body. ",[14,224,225],{},"readMarkdownResponse(response, signal, onText)"," supplies accumulated source to ",[14,228,229],{},"onText"," and returns the complete text when finished. The application owns its message list, request state and error feedback.",[232,233],"docs-recipe",{"name":234},"recipes\u002Fresponse",[10,236,237,238,241],{},"For SSE or JSON events, decode the protocol in the host first and append only text deltas.\nDo not feed ",[14,239,240],{},"data:",", event JSON or binary chunk boundaries directly to Markdown. TextDecoder must preserve decoding state between chunks.",[243,244,245],"style",{},"html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su0ou, html code.shiki .su0ou{--shiki-default:#22863A;--shiki-light:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}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 .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 .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":46,"searchDepth":64,"depth":64,"links":247},[248,249,250,251],{"id":21,"depth":64,"text":22},{"id":179,"depth":64,"text":180},{"id":190,"depth":64,"text":191},{"id":208,"depth":64,"text":209},"Render arriving Markdown as one message and handle completion, cancellation and failure.","md",null,"en",{},true,"\u002Fen\u002Fguide\u002Fstreaming","Integration",{"title":5,"description":252},"guide\u002Fstreaming.en","fMoQQI_24cFOCZvwrGqMqH0yqh7Y83xopbsmv3Durko","\u002F**\n * Consume an HTTP response whose body is raw Markdown text, not SSE or provider JSON.\n * @param response - Response returned by the application's fetch call.\n * @param signal - The same AbortSignal passed to fetch by the host.\n * @param onText - Receives the entire accepted Markdown prefix after each decoded chunk.\n * @returns Complete source, preserving UTF-8 characters split across transport chunks.\n *\u002F\nexport async function readMarkdownResponse(response: Response, signal: AbortSignal, onText: (text: string) => void): Promise\u003Cstring> {\n  signal.throwIfAborted();\n  if (!response.ok || !response.body) throw new Error(`markdown-response:${response.status}`);\n  const reader = response.body.getReader(), decoder = new TextDecoder();\n  let content = \"\";\n  \u002F** Cancel producer reads; the component retains whatever the host has already accepted. *\u002F\n  const cancel = (): void => { void reader.cancel().catch(() => {}); };\n  signal.addEventListener(\"abort\", cancel, { once: true });\n  try {\n    while (true) {\n      const chunk = await reader.read();\n      signal.throwIfAborted();\n      if (chunk.done) break;\n      content += decoder.decode(chunk.value, { stream: true });\n      onText(content);\n    }\n    const tail = decoder.decode();\n    if (tail) { content += tail; onText(content); }\n    return content;\n  } finally {\n    signal.removeEventListener(\"abort\", cancel);\n    await reader.cancel().catch(() => {});\n    reader.releaseLock();\n  }\n}\n",{"data":265,"body":266},{},{"type":267,"children":268},"root",[269,1208],{"type":270,"tag":41,"props":271,"children":275},"element",{"className":272,"code":273,"language":274,"meta":46,"style":46},"language-ts shiki shiki-themes github-light github-light github-dark","\u002F**\n * Consume an HTTP response whose body is raw Markdown text, not SSE or provider JSON.\n * @param response - Response returned by the application's fetch call.\n * @param signal - The same AbortSignal passed to fetch by the host.\n * @param onText - Receives the entire accepted Markdown prefix after each decoded chunk.\n * @returns Complete source, preserving UTF-8 characters split across transport chunks.\n *\u002F\nexport async function readMarkdownResponse(response: Response, signal: AbortSignal, onText: (text: string) => void): Promise\u003Cstring> {\n  signal.throwIfAborted();\n  if (!response.ok || !response.body) throw new Error(`markdown-response:${response.status}`);\n  const reader = response.body.getReader(), decoder = new TextDecoder();\n  let content = \"\";\n  \u002F** Cancel producer reads; the component retains whatever the host has already accepted. *\u002F\n  const cancel = (): void => { void reader.cancel().catch(() => {}); };\n  signal.addEventListener(\"abort\", cancel, { once: true });\n  try {\n    while (true) {\n      const chunk = await reader.read();\n      signal.throwIfAborted();\n      if (chunk.done) break;\n      content += decoder.decode(chunk.value, { stream: true });\n      onText(content);\n    }\n    const tail = decoder.decode();\n    if (tail) { content += tail; onText(content); }\n    return content;\n  } finally {\n    signal.removeEventListener(\"abort\", cancel);\n    await reader.cancel().catch(() => {});\n    reader.releaseLock();\n  }\n}\n\n","ts",[276],{"type":270,"tag":14,"props":277,"children":278},{"__ignoreMap":46},[279,289,297,322,343,364,381,390,528,547,632,688,716,725,804,841,855,877,913,930,953,990,1004,1013,1043,1075,1089,1107,1134,1172,1190,1199],{"type":270,"tag":50,"props":280,"children":281},{"class":52,"line":53},[282],{"type":270,"tag":50,"props":283,"children":285},{"style":284},"--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D",[286],{"type":287,"value":288},"text","\u002F**\n",{"type":270,"tag":50,"props":290,"children":291},{"class":52,"line":64},[292],{"type":270,"tag":50,"props":293,"children":294},{"style":284},[295],{"type":287,"value":296}," * Consume an HTTP response whose body is raw Markdown text, not SSE or provider JSON.\n",{"type":270,"tag":50,"props":298,"children":299},{"class":52,"line":86},[300,305,311,317],{"type":270,"tag":50,"props":301,"children":302},{"style":284},[303],{"type":287,"value":304}," * ",{"type":270,"tag":50,"props":306,"children":308},{"style":307},"--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583",[309],{"type":287,"value":310},"@param",{"type":270,"tag":50,"props":312,"children":314},{"style":313},"--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8",[315],{"type":287,"value":316}," response",{"type":270,"tag":50,"props":318,"children":319},{"style":284},[320],{"type":287,"value":321}," - Response returned by the application's fetch call.\n",{"type":270,"tag":50,"props":323,"children":324},{"class":52,"line":102},[325,329,333,338],{"type":270,"tag":50,"props":326,"children":327},{"style":284},[328],{"type":287,"value":304},{"type":270,"tag":50,"props":330,"children":331},{"style":307},[332],{"type":287,"value":310},{"type":270,"tag":50,"props":334,"children":335},{"style":313},[336],{"type":287,"value":337}," signal",{"type":270,"tag":50,"props":339,"children":340},{"style":284},[341],{"type":287,"value":342}," - The same AbortSignal passed to fetch by the host.\n",{"type":270,"tag":50,"props":344,"children":345},{"class":52,"line":130},[346,350,354,359],{"type":270,"tag":50,"props":347,"children":348},{"style":284},[349],{"type":287,"value":304},{"type":270,"tag":50,"props":351,"children":352},{"style":307},[353],{"type":287,"value":310},{"type":270,"tag":50,"props":355,"children":356},{"style":313},[357],{"type":287,"value":358}," onText",{"type":270,"tag":50,"props":360,"children":361},{"style":284},[362],{"type":287,"value":363}," - Receives the entire accepted Markdown prefix after each decoded chunk.\n",{"type":270,"tag":50,"props":365,"children":366},{"class":52,"line":148},[367,371,376],{"type":270,"tag":50,"props":368,"children":369},{"style":284},[370],{"type":287,"value":304},{"type":270,"tag":50,"props":372,"children":373},{"style":307},[374],{"type":287,"value":375},"@returns",{"type":270,"tag":50,"props":377,"children":378},{"style":284},[379],{"type":287,"value":380}," Complete source, preserving UTF-8 characters split across transport chunks.\n",{"type":270,"tag":50,"props":382,"children":384},{"class":52,"line":383},7,[385],{"type":270,"tag":50,"props":386,"children":387},{"style":284},[388],{"type":287,"value":389}," *\u002F\n",{"type":270,"tag":50,"props":391,"children":393},{"class":52,"line":392},8,[394,399,404,409,415,420,426,431,436,440,445,449,454,458,462,466,471,475,479,485,490,495,500,505,509,514,518,523],{"type":270,"tag":50,"props":395,"children":396},{"style":307},[397],{"type":287,"value":398},"export",{"type":270,"tag":50,"props":400,"children":401},{"style":307},[402],{"type":287,"value":403}," async",{"type":270,"tag":50,"props":405,"children":406},{"style":307},[407],{"type":287,"value":408}," function",{"type":270,"tag":50,"props":410,"children":412},{"style":411},"--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0",[413],{"type":287,"value":414}," readMarkdownResponse",{"type":270,"tag":50,"props":416,"children":417},{"style":313},[418],{"type":287,"value":419},"(",{"type":270,"tag":50,"props":421,"children":423},{"style":422},"--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70",[424],{"type":287,"value":425},"response",{"type":270,"tag":50,"props":427,"children":428},{"style":307},[429],{"type":287,"value":430},":",{"type":270,"tag":50,"props":432,"children":433},{"style":411},[434],{"type":287,"value":435}," Response",{"type":270,"tag":50,"props":437,"children":438},{"style":313},[439],{"type":287,"value":166},{"type":270,"tag":50,"props":441,"children":442},{"style":422},[443],{"type":287,"value":444},"signal",{"type":270,"tag":50,"props":446,"children":447},{"style":307},[448],{"type":287,"value":430},{"type":270,"tag":50,"props":450,"children":451},{"style":411},[452],{"type":287,"value":453}," AbortSignal",{"type":270,"tag":50,"props":455,"children":456},{"style":313},[457],{"type":287,"value":166},{"type":270,"tag":50,"props":459,"children":460},{"style":411},[461],{"type":287,"value":229},{"type":270,"tag":50,"props":463,"children":464},{"style":307},[465],{"type":287,"value":430},{"type":270,"tag":50,"props":467,"children":468},{"style":313},[469],{"type":287,"value":470}," (",{"type":270,"tag":50,"props":472,"children":473},{"style":422},[474],{"type":287,"value":287},{"type":270,"tag":50,"props":476,"children":477},{"style":307},[478],{"type":287,"value":430},{"type":270,"tag":50,"props":480,"children":482},{"style":481},"--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF",[483],{"type":287,"value":484}," string",{"type":270,"tag":50,"props":486,"children":487},{"style":313},[488],{"type":287,"value":489},") ",{"type":270,"tag":50,"props":491,"children":492},{"style":307},[493],{"type":287,"value":494},"=>",{"type":270,"tag":50,"props":496,"children":497},{"style":481},[498],{"type":287,"value":499}," void",{"type":270,"tag":50,"props":501,"children":502},{"style":313},[503],{"type":287,"value":504},")",{"type":270,"tag":50,"props":506,"children":507},{"style":307},[508],{"type":287,"value":430},{"type":270,"tag":50,"props":510,"children":511},{"style":411},[512],{"type":287,"value":513}," Promise",{"type":270,"tag":50,"props":515,"children":516},{"style":313},[517],{"type":287,"value":57},{"type":270,"tag":50,"props":519,"children":520},{"style":481},[521],{"type":287,"value":522},"string",{"type":270,"tag":50,"props":524,"children":525},{"style":313},[526],{"type":287,"value":527},"> {\n",{"type":270,"tag":50,"props":529,"children":531},{"class":52,"line":530},9,[532,537,542],{"type":270,"tag":50,"props":533,"children":534},{"style":313},[535],{"type":287,"value":536},"  signal.",{"type":270,"tag":50,"props":538,"children":539},{"style":411},[540],{"type":287,"value":541},"throwIfAborted",{"type":270,"tag":50,"props":543,"children":544},{"style":313},[545],{"type":287,"value":546},"();\n",{"type":270,"tag":50,"props":548,"children":550},{"class":52,"line":549},10,[551,556,560,565,570,575,580,585,590,595,600,604,610,614,618,622,627],{"type":270,"tag":50,"props":552,"children":553},{"style":307},[554],{"type":287,"value":555},"  if",{"type":270,"tag":50,"props":557,"children":558},{"style":313},[559],{"type":287,"value":470},{"type":270,"tag":50,"props":561,"children":562},{"style":307},[563],{"type":287,"value":564},"!",{"type":270,"tag":50,"props":566,"children":567},{"style":313},[568],{"type":287,"value":569},"response.ok ",{"type":270,"tag":50,"props":571,"children":572},{"style":307},[573],{"type":287,"value":574},"||",{"type":270,"tag":50,"props":576,"children":577},{"style":307},[578],{"type":287,"value":579}," !",{"type":270,"tag":50,"props":581,"children":582},{"style":313},[583],{"type":287,"value":584},"response.body) ",{"type":270,"tag":50,"props":586,"children":587},{"style":307},[588],{"type":287,"value":589},"throw",{"type":270,"tag":50,"props":591,"children":592},{"style":307},[593],{"type":287,"value":594}," new",{"type":270,"tag":50,"props":596,"children":597},{"style":411},[598],{"type":287,"value":599}," Error",{"type":270,"tag":50,"props":601,"children":602},{"style":313},[603],{"type":287,"value":419},{"type":270,"tag":50,"props":605,"children":607},{"style":606},"--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF",[608],{"type":287,"value":609},"`markdown-response:${",{"type":270,"tag":50,"props":611,"children":612},{"style":313},[613],{"type":287,"value":425},{"type":270,"tag":50,"props":615,"children":616},{"style":606},[617],{"type":287,"value":205},{"type":270,"tag":50,"props":619,"children":620},{"style":313},[621],{"type":287,"value":107},{"type":270,"tag":50,"props":623,"children":624},{"style":606},[625],{"type":287,"value":626},"}`",{"type":270,"tag":50,"props":628,"children":629},{"style":313},[630],{"type":287,"value":631},");\n",{"type":270,"tag":50,"props":633,"children":635},{"class":52,"line":634},11,[636,641,646,651,656,661,666,671,675,679,684],{"type":270,"tag":50,"props":637,"children":638},{"style":307},[639],{"type":287,"value":640},"  const",{"type":270,"tag":50,"props":642,"children":643},{"style":481},[644],{"type":287,"value":645}," reader",{"type":270,"tag":50,"props":647,"children":648},{"style":307},[649],{"type":287,"value":650}," =",{"type":270,"tag":50,"props":652,"children":653},{"style":313},[654],{"type":287,"value":655}," response.body.",{"type":270,"tag":50,"props":657,"children":658},{"style":411},[659],{"type":287,"value":660},"getReader",{"type":270,"tag":50,"props":662,"children":663},{"style":313},[664],{"type":287,"value":665},"(), ",{"type":270,"tag":50,"props":667,"children":668},{"style":481},[669],{"type":287,"value":670},"decoder",{"type":270,"tag":50,"props":672,"children":673},{"style":307},[674],{"type":287,"value":650},{"type":270,"tag":50,"props":676,"children":677},{"style":307},[678],{"type":287,"value":594},{"type":270,"tag":50,"props":680,"children":681},{"style":411},[682],{"type":287,"value":683}," TextDecoder",{"type":270,"tag":50,"props":685,"children":686},{"style":313},[687],{"type":287,"value":546},{"type":270,"tag":50,"props":689,"children":691},{"class":52,"line":690},12,[692,697,702,706,711],{"type":270,"tag":50,"props":693,"children":694},{"style":307},[695],{"type":287,"value":696},"  let",{"type":270,"tag":50,"props":698,"children":699},{"style":313},[700],{"type":287,"value":701}," content ",{"type":270,"tag":50,"props":703,"children":704},{"style":307},[705],{"type":287,"value":74},{"type":270,"tag":50,"props":707,"children":708},{"style":606},[709],{"type":287,"value":710}," \"\"",{"type":270,"tag":50,"props":712,"children":713},{"style":313},[714],{"type":287,"value":715},";\n",{"type":270,"tag":50,"props":717,"children":719},{"class":52,"line":718},13,[720],{"type":270,"tag":50,"props":721,"children":722},{"style":284},[723],{"type":287,"value":724},"  \u002F** Cancel producer reads; the component retains whatever the host has already accepted. *\u002F\n",{"type":270,"tag":50,"props":726,"children":728},{"class":52,"line":727},14,[729,733,738,742,747,751,755,760,765,770,775,780,785,790,795,799],{"type":270,"tag":50,"props":730,"children":731},{"style":307},[732],{"type":287,"value":640},{"type":270,"tag":50,"props":734,"children":735},{"style":411},[736],{"type":287,"value":737}," cancel",{"type":270,"tag":50,"props":739,"children":740},{"style":307},[741],{"type":287,"value":650},{"type":270,"tag":50,"props":743,"children":744},{"style":313},[745],{"type":287,"value":746}," ()",{"type":270,"tag":50,"props":748,"children":749},{"style":307},[750],{"type":287,"value":430},{"type":270,"tag":50,"props":752,"children":753},{"style":481},[754],{"type":287,"value":499},{"type":270,"tag":50,"props":756,"children":757},{"style":307},[758],{"type":287,"value":759}," =>",{"type":270,"tag":50,"props":761,"children":762},{"style":313},[763],{"type":287,"value":764}," { ",{"type":270,"tag":50,"props":766,"children":767},{"style":307},[768],{"type":287,"value":769},"void",{"type":270,"tag":50,"props":771,"children":772},{"style":313},[773],{"type":287,"value":774}," reader.",{"type":270,"tag":50,"props":776,"children":777},{"style":411},[778],{"type":287,"value":779},"cancel",{"type":270,"tag":50,"props":781,"children":782},{"style":313},[783],{"type":287,"value":784},"().",{"type":270,"tag":50,"props":786,"children":787},{"style":411},[788],{"type":287,"value":789},"catch",{"type":270,"tag":50,"props":791,"children":792},{"style":313},[793],{"type":287,"value":794},"(() ",{"type":270,"tag":50,"props":796,"children":797},{"style":307},[798],{"type":287,"value":494},{"type":270,"tag":50,"props":800,"children":801},{"style":313},[802],{"type":287,"value":803}," {}); };\n",{"type":270,"tag":50,"props":805,"children":807},{"class":52,"line":806},15,[808,812,817,821,826,831,836],{"type":270,"tag":50,"props":809,"children":810},{"style":313},[811],{"type":287,"value":536},{"type":270,"tag":50,"props":813,"children":814},{"style":411},[815],{"type":287,"value":816},"addEventListener",{"type":270,"tag":50,"props":818,"children":819},{"style":313},[820],{"type":287,"value":419},{"type":270,"tag":50,"props":822,"children":823},{"style":606},[824],{"type":287,"value":825},"\"abort\"",{"type":270,"tag":50,"props":827,"children":828},{"style":313},[829],{"type":287,"value":830},", cancel, { once: ",{"type":270,"tag":50,"props":832,"children":833},{"style":481},[834],{"type":287,"value":835},"true",{"type":270,"tag":50,"props":837,"children":838},{"style":313},[839],{"type":287,"value":840}," });\n",{"type":270,"tag":50,"props":842,"children":844},{"class":52,"line":843},16,[845,850],{"type":270,"tag":50,"props":846,"children":847},{"style":307},[848],{"type":287,"value":849},"  try",{"type":270,"tag":50,"props":851,"children":852},{"style":313},[853],{"type":287,"value":854}," {\n",{"type":270,"tag":50,"props":856,"children":858},{"class":52,"line":857},17,[859,864,868,872],{"type":270,"tag":50,"props":860,"children":861},{"style":307},[862],{"type":287,"value":863},"    while",{"type":270,"tag":50,"props":865,"children":866},{"style":313},[867],{"type":287,"value":470},{"type":270,"tag":50,"props":869,"children":870},{"style":481},[871],{"type":287,"value":835},{"type":270,"tag":50,"props":873,"children":874},{"style":313},[875],{"type":287,"value":876},") {\n",{"type":270,"tag":50,"props":878,"children":880},{"class":52,"line":879},18,[881,886,891,895,900,904,909],{"type":270,"tag":50,"props":882,"children":883},{"style":307},[884],{"type":287,"value":885},"      const",{"type":270,"tag":50,"props":887,"children":888},{"style":481},[889],{"type":287,"value":890}," chunk",{"type":270,"tag":50,"props":892,"children":893},{"style":307},[894],{"type":287,"value":650},{"type":270,"tag":50,"props":896,"children":897},{"style":307},[898],{"type":287,"value":899}," await",{"type":270,"tag":50,"props":901,"children":902},{"style":313},[903],{"type":287,"value":774},{"type":270,"tag":50,"props":905,"children":906},{"style":411},[907],{"type":287,"value":908},"read",{"type":270,"tag":50,"props":910,"children":911},{"style":313},[912],{"type":287,"value":546},{"type":270,"tag":50,"props":914,"children":916},{"class":52,"line":915},19,[917,922,926],{"type":270,"tag":50,"props":918,"children":919},{"style":313},[920],{"type":287,"value":921},"      signal.",{"type":270,"tag":50,"props":923,"children":924},{"style":411},[925],{"type":287,"value":541},{"type":270,"tag":50,"props":927,"children":928},{"style":313},[929],{"type":287,"value":546},{"type":270,"tag":50,"props":931,"children":933},{"class":52,"line":932},20,[934,939,944,949],{"type":270,"tag":50,"props":935,"children":936},{"style":307},[937],{"type":287,"value":938},"      if",{"type":270,"tag":50,"props":940,"children":941},{"style":313},[942],{"type":287,"value":943}," (chunk.done) ",{"type":270,"tag":50,"props":945,"children":946},{"style":307},[947],{"type":287,"value":948},"break",{"type":270,"tag":50,"props":950,"children":951},{"style":313},[952],{"type":287,"value":715},{"type":270,"tag":50,"props":954,"children":956},{"class":52,"line":955},21,[957,962,967,972,977,982,986],{"type":270,"tag":50,"props":958,"children":959},{"style":313},[960],{"type":287,"value":961},"      content ",{"type":270,"tag":50,"props":963,"children":964},{"style":307},[965],{"type":287,"value":966},"+=",{"type":270,"tag":50,"props":968,"children":969},{"style":313},[970],{"type":287,"value":971}," decoder.",{"type":270,"tag":50,"props":973,"children":974},{"style":411},[975],{"type":287,"value":976},"decode",{"type":270,"tag":50,"props":978,"children":979},{"style":313},[980],{"type":287,"value":981},"(chunk.value, { stream: ",{"type":270,"tag":50,"props":983,"children":984},{"style":481},[985],{"type":287,"value":835},{"type":270,"tag":50,"props":987,"children":988},{"style":313},[989],{"type":287,"value":840},{"type":270,"tag":50,"props":991,"children":993},{"class":52,"line":992},22,[994,999],{"type":270,"tag":50,"props":995,"children":996},{"style":411},[997],{"type":287,"value":998},"      onText",{"type":270,"tag":50,"props":1000,"children":1001},{"style":313},[1002],{"type":287,"value":1003},"(content);\n",{"type":270,"tag":50,"props":1005,"children":1007},{"class":52,"line":1006},23,[1008],{"type":270,"tag":50,"props":1009,"children":1010},{"style":313},[1011],{"type":287,"value":1012},"    }\n",{"type":270,"tag":50,"props":1014,"children":1016},{"class":52,"line":1015},24,[1017,1022,1027,1031,1035,1039],{"type":270,"tag":50,"props":1018,"children":1019},{"style":307},[1020],{"type":287,"value":1021},"    const",{"type":270,"tag":50,"props":1023,"children":1024},{"style":481},[1025],{"type":287,"value":1026}," tail",{"type":270,"tag":50,"props":1028,"children":1029},{"style":307},[1030],{"type":287,"value":650},{"type":270,"tag":50,"props":1032,"children":1033},{"style":313},[1034],{"type":287,"value":971},{"type":270,"tag":50,"props":1036,"children":1037},{"style":411},[1038],{"type":287,"value":976},{"type":270,"tag":50,"props":1040,"children":1041},{"style":313},[1042],{"type":287,"value":546},{"type":270,"tag":50,"props":1044,"children":1046},{"class":52,"line":1045},25,[1047,1052,1057,1061,1066,1070],{"type":270,"tag":50,"props":1048,"children":1049},{"style":307},[1050],{"type":287,"value":1051},"    if",{"type":270,"tag":50,"props":1053,"children":1054},{"style":313},[1055],{"type":287,"value":1056}," (tail) { content ",{"type":270,"tag":50,"props":1058,"children":1059},{"style":307},[1060],{"type":287,"value":966},{"type":270,"tag":50,"props":1062,"children":1063},{"style":313},[1064],{"type":287,"value":1065}," tail; ",{"type":270,"tag":50,"props":1067,"children":1068},{"style":411},[1069],{"type":287,"value":229},{"type":270,"tag":50,"props":1071,"children":1072},{"style":313},[1073],{"type":287,"value":1074},"(content); }\n",{"type":270,"tag":50,"props":1076,"children":1078},{"class":52,"line":1077},26,[1079,1084],{"type":270,"tag":50,"props":1080,"children":1081},{"style":307},[1082],{"type":287,"value":1083},"    return",{"type":270,"tag":50,"props":1085,"children":1086},{"style":313},[1087],{"type":287,"value":1088}," content;\n",{"type":270,"tag":50,"props":1090,"children":1092},{"class":52,"line":1091},27,[1093,1098,1103],{"type":270,"tag":50,"props":1094,"children":1095},{"style":313},[1096],{"type":287,"value":1097},"  } ",{"type":270,"tag":50,"props":1099,"children":1100},{"style":307},[1101],{"type":287,"value":1102},"finally",{"type":270,"tag":50,"props":1104,"children":1105},{"style":313},[1106],{"type":287,"value":854},{"type":270,"tag":50,"props":1108,"children":1110},{"class":52,"line":1109},28,[1111,1116,1121,1125,1129],{"type":270,"tag":50,"props":1112,"children":1113},{"style":313},[1114],{"type":287,"value":1115},"    signal.",{"type":270,"tag":50,"props":1117,"children":1118},{"style":411},[1119],{"type":287,"value":1120},"removeEventListener",{"type":270,"tag":50,"props":1122,"children":1123},{"style":313},[1124],{"type":287,"value":419},{"type":270,"tag":50,"props":1126,"children":1127},{"style":606},[1128],{"type":287,"value":825},{"type":270,"tag":50,"props":1130,"children":1131},{"style":313},[1132],{"type":287,"value":1133},", cancel);\n",{"type":270,"tag":50,"props":1135,"children":1137},{"class":52,"line":1136},29,[1138,1143,1147,1151,1155,1159,1163,1167],{"type":270,"tag":50,"props":1139,"children":1140},{"style":307},[1141],{"type":287,"value":1142},"    await",{"type":270,"tag":50,"props":1144,"children":1145},{"style":313},[1146],{"type":287,"value":774},{"type":270,"tag":50,"props":1148,"children":1149},{"style":411},[1150],{"type":287,"value":779},{"type":270,"tag":50,"props":1152,"children":1153},{"style":313},[1154],{"type":287,"value":784},{"type":270,"tag":50,"props":1156,"children":1157},{"style":411},[1158],{"type":287,"value":789},{"type":270,"tag":50,"props":1160,"children":1161},{"style":313},[1162],{"type":287,"value":794},{"type":270,"tag":50,"props":1164,"children":1165},{"style":307},[1166],{"type":287,"value":494},{"type":270,"tag":50,"props":1168,"children":1169},{"style":313},[1170],{"type":287,"value":1171}," {});\n",{"type":270,"tag":50,"props":1173,"children":1175},{"class":52,"line":1174},30,[1176,1181,1186],{"type":270,"tag":50,"props":1177,"children":1178},{"style":313},[1179],{"type":287,"value":1180},"    reader.",{"type":270,"tag":50,"props":1182,"children":1183},{"style":411},[1184],{"type":287,"value":1185},"releaseLock",{"type":270,"tag":50,"props":1187,"children":1188},{"style":313},[1189],{"type":287,"value":546},{"type":270,"tag":50,"props":1191,"children":1193},{"class":52,"line":1192},31,[1194],{"type":270,"tag":50,"props":1195,"children":1196},{"style":313},[1197],{"type":287,"value":1198},"  }\n",{"type":270,"tag":50,"props":1200,"children":1202},{"class":52,"line":1201},32,[1203],{"type":270,"tag":50,"props":1204,"children":1205},{"style":313},[1206],{"type":287,"value":1207},"}\n",{"type":270,"tag":243,"props":1209,"children":1210},{},[1211],{"type":287,"value":1212},"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 .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 .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);}",1793045320729]