Skip to main content
Deno 2 is finally here 🎉️
Learn more
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function iterateReaderSync
import { iterateReaderSync } from "https://deno.land/std@0.220.0/io/iterate_reader.ts";

Turns a ReaderSync into an iterator.

import { iterateReaderSync } from "https://deno.land/std@0.220.0/io/iterate_reader.ts";

using file = Deno.openSync("/etc/passwd");
for (const chunk of iterateReaderSync(file)) {
  console.log(chunk);
}

Second argument can be used to tune size of a buffer. Default size of the buffer is 32kB.

import { iterateReaderSync } from "https://deno.land/std@0.220.0/io/iterate_reader.ts";

using file = await Deno.open("/etc/passwd");
const iter = iterateReaderSync(file, {
  bufSize: 1024 * 1024
});
for (const chunk of iter) {
  console.log(chunk);
}

Iterator uses an internal buffer of fixed size for efficiency; it returns a view on that buffer on each iteration. It is therefore caller's responsibility to copy contents of the buffer if needed; otherwise the next iteration will overwrite contents of previously returned chunk.

Parameters

reader: ReaderSync
optional
options: { bufSize?: number; }

Returns

IterableIterator<Uint8Array>