MCPcopy Create free account
hub / github.com/cloudflare/computer / decodeRuntimeEvents

Function decodeRuntimeEvents

packages/computer/src/runtime/wire.ts:52–73  ·  view source on GitHub ↗
(
  source: ReadableStream<Uint8Array>,
)

Source from the content-addressed store, hash-verified

50}
51
52export function decodeRuntimeEvents(
53 source: ReadableStream<Uint8Array>,
54): ReadableStream<WorkspaceRuntimeEvent<ExecEncoding>> {
55 const decoder = new TextDecoder();
56 let buffered = "";
57 return source.pipeThrough(
58 new TransformStream<Uint8Array, WorkspaceRuntimeEvent<ExecEncoding>>({
59 transform(chunk, controller) {
60 buffered += decoder.decode(chunk, { stream: true });
61 const lines = buffered.split("\n");
62 buffered = lines.pop() ?? "";
63 for (const line of lines) {
64 if (line) controller.enqueue(decodeFrame(JSON.parse(line) as RuntimeFrame));
65 }
66 },
67 flush(controller) {
68 buffered += decoder.decode();
69 if (buffered.trim()) controller.enqueue(decodeFrame(JSON.parse(buffered) as RuntimeFrame));
70 },
71 }),
72 );
73}

Callers 2

stub.test.tsFile · 0.85
rebuildExecHandleFunction · 0.85

Calls 1

pipeThroughMethod · 0.65

Tested by

no test coverage detected