MCPcopy Create free account
hub / github.com/pollinations/pollinations / writeReadableToWritable

Function writeReadableToWritable

shared/r2-storage.ts:12–33  ·  view source on GitHub ↗
(
    readable: ReadableStream<Uint8Array>,
    writable: WritableStream<ArrayBuffer | ArrayBufferView>,
)

Source from the content-addressed store, hash-verified

10};
11
12async function writeReadableToWritable(
13 readable: ReadableStream<Uint8Array>,
14 writable: WritableStream<ArrayBuffer | ArrayBufferView>,
15): Promise<void> {
16 const reader = readable.getReader();
17 const writer = writable.getWriter();
18
19 try {
20 while (true) {
21 const { done, value } = await reader.read();
22 if (done) break;
23 await writer.write(value);
24 }
25 await writer.close();
26 } catch (error) {
27 await writer.abort(error).catch(() => undefined);
28 throw error;
29 } finally {
30 reader.releaseLock();
31 writer.releaseLock();
32 }
33}
34
35export function refreshR2ObjectTtl(
36 bucket: R2Bucket,

Callers 1

refreshR2ObjectTtlFunction · 0.85

Calls 3

getReaderMethod · 0.80
closeMethod · 0.65
abortMethod · 0.65

Tested by

no test coverage detected