summaryrefslogtreecommitdiff
path: root/std/io/streams.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/io/streams.ts')
-rw-r--r--std/io/streams.ts64
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);
- }
- },
- });
-}