MCPcopy
hub / github.com/vuejs/core / unrollBuffer

Function unrollBuffer

packages/server-renderer/src/renderToStream.ts:21–42  ·  view source on GitHub ↗
(
  buffer: SSRBuffer,
  stream: SimpleReadable,
)

Source from the content-addressed store, hash-verified

19}
20
21async function unrollBuffer(
22 buffer: SSRBuffer,
23 stream: SimpleReadable,
24): Promise<void> {
25 if (buffer.hasAsync) {
26 for (let i = 0; i < buffer.length; i++) {
27 let item = buffer[i]
28 if (isPromise(item)) {
29 item = await item
30 }
31 if (isString(item)) {
32 stream.push(item)
33 } else {
34 await unrollBuffer(item, stream)
35 }
36 }
37 } else {
38 // sync buffer can be more efficiently unrolled without unnecessary await
39 // ticks
40 unrollBufferSync(buffer, stream)
41 }
42}
43
44function unrollBufferSync(buffer: SSRBuffer, stream: SimpleReadable) {
45 for (let i = 0; i < buffer.length; i++) {

Callers 1

renderToSimpleStreamFunction · 0.70

Calls 4

isPromiseFunction · 0.90
isStringFunction · 0.90
unrollBufferSyncFunction · 0.70
pushMethod · 0.65

Tested by

no test coverage detected