Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/hex/src/fw/generator/deps.ts>streams.iterateReaderSync

An ecosystem delivering practices, philosophy and portability. Powered By Deno and JavaScript.
Go to Latest
variable streams.iterateReaderSync
Deprecated
Deprecated

(will be removed after 0.169.0) Import from std/streams/iterate_reader.ts instead.

Turns a ReaderSync, r, into an iterator.

import { iterateReaderSync } from "https://deno.land/std@0.224.0/streams/conversion.ts";

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

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.224.0/streams/conversion.ts";

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

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.

import { streams } from "https://deno.land/x/hex@0.6.3/src/fw/generator/deps.ts";
const { iterateReaderSync } = streams;