diff options
author | Casper Beyer <caspervonb@pm.me> | 2021-02-02 19:05:46 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-02 12:05:46 +0100 |
commit | 6abf126c2a7a451cded8c6b5e6ddf1b69c84055d (patch) | |
tree | fd94c013a19fcb38954844085821ec1601c20e18 /std/io/streams.ts | |
parent | a2b5d44f1aa9d64f448a2a3cc2001272e2f60b98 (diff) |
chore: remove std directory (#9361)
This removes the std folder from the tree.
Various parts of the tests are pretty tightly dependent
on std (47 direct imports and 75 indirect imports, not
counting the cli tests that use them as fixtures) so I've
added std as a submodule for now.
Diffstat (limited to 'std/io/streams.ts')
-rw-r--r-- | std/io/streams.ts | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/std/io/streams.ts b/std/io/streams.ts deleted file mode 100644 index 8c726db43..000000000 --- a/std/io/streams.ts +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. - -/** Create a `Writer` from a `WritableStreamDefaultReader`. */ -export function writerFromStreamWriter( - streamWriter: WritableStreamDefaultWriter<Uint8Array>, -): Deno.Writer { - return { - async write(p: Uint8Array): Promise<number> { - await streamWriter.ready; - await streamWriter.write(p); - return p.length; - }, - }; -} - -/** Create a `Reader` from a `ReadableStreamDefaultReader`. */ -export function readerFromStreamReader( - streamReader: ReadableStreamDefaultReader<Uint8Array>, -): Deno.Reader { - const buffer = new Deno.Buffer(); - - return { - async read(p: Uint8Array): Promise<number | null> { - if (buffer.empty()) { - const res = await streamReader.read(); - if (res.done) { - return null; // EOF - } - - await Deno.writeAll(buffer, res.value); - } - - return buffer.read(p); - }, - }; -} - -/** Create a `WritableStream` from a `Writer`. */ -export function writableStreamFromWriter( - writer: Deno.Writer, -): WritableStream<Uint8Array> { - return new WritableStream({ - async write(chunk) { - await Deno.writeAll(writer, chunk); - }, - }); -} - -/** Create a `ReadableStream` from an `AsyncIterator`. */ -export function readableStreamFromAsyncIterator<T>( - iterator: AsyncIterableIterator<T>, -): ReadableStream<T> { - return new ReadableStream({ - async pull(controller) { - const { value, done } = await iterator.next(); - - if (done) { - controller.close(); - } else { - controller.enqueue(value); - } - }, - }); -} |