iterateReaderSync(reader: ReaderSync,options?: { bufSize?: number; },): IterableIterator<Uint8Array>
Turns a ReaderSync
into an iterator.
Usage
Usage
import { iterateReaderSync } from "@std/io/iterate-reader"; import { assert } from "@std/assert/assert" using file = Deno.openSync("README.md"); for (const chunk of iterateReaderSync(file)) { assert(chunk instanceof Uint8Array); }
Second argument can be used to tune size of a buffer. Default size of the buffer is 32kB.
Usage with buffer size
Usage with buffer size
import { iterateReaderSync } from "@std/io/iterate-reader"; import { assert } from "@std/assert/assert" using file = await Deno.open("README.md"); const iter = iterateReaderSync(file, { bufSize: 1024 * 1024 }); for (const chunk of iter) { assert(chunk instanceof Uint8Array); }
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.
reader: ReaderSync
The reader to read from
optional
options: { bufSize?: number; }
The options
IterableIterator<Uint8Array>
The iterator of Uint8Array chunks