MCPcopy Index your code
hub / github.com/getsentry/sentry-javascript / monitorStream

Function monitorStream

packages/deno/src/utils/streaming.ts:79–107  ·  view source on GitHub ↗

* zero-copy monitoring of stream progress.

(
  stream: ReadableStream<Uint8Array<ArrayBufferLike>>,
  onDone: () => void,
)

Source from the content-addressed store, hash-verified

77 * zero-copy monitoring of stream progress.
78 */
79function monitorStream(
80 stream: ReadableStream<Uint8Array<ArrayBufferLike>>,
81 onDone: () => void,
82): ReadableStream<Uint8Array<ArrayBufferLike>> {
83 const reader = stream.getReader();
84 reader.closed.then(
85 () => onDone(),
86 () => onDone(),
87 );
88 return new ReadableStream({
89 async start(controller) {
90 let result: ReadableStreamReadResult<Uint8Array<ArrayBufferLike>>;
91 do {
92 result = await reader.read();
93 if (result.value) {
94 try {
95 controller.enqueue(result.value);
96 } catch (er) {
97 controller.error(er);
98 reader.releaseLock();
99 return;
100 }
101 }
102 } while (!result.done);
103 controller.close();
104 reader.releaseLock();
105 },
106 });
107}

Callers 1

streamResponseFunction · 0.85

Calls 3

onDoneFunction · 0.85
getReaderMethod · 0.80
thenMethod · 0.45

Tested by

no test coverage detected