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.
interface ReaderSync
Re-export
import { type ReaderSync } from "https://deno.land/std@0.220.1/io/iterate_reader.ts";

An abstract interface which when implemented provides an interface to read bytes into an array buffer synchronously.

Methods

readSync(p: Uint8Array): number | null

Reads up to p.byteLength bytes into p. It resolves to the number of bytes read (0 < n <= p.byteLength) and rejects if any error encountered. Even if read() returns n < p.byteLength, it may use all of p as scratch space during the call. If some data is available but not p.byteLength bytes, read() conventionally returns what is available instead of waiting for more.

When readSync() encounters end-of-file condition, it returns EOF (null).

When readSync() encounters an error, it throws with an error.

Callers should always process the n > 0 bytes returned before considering the EOF (null). Doing so correctly handles I/O errors that happen after reading some bytes and also both of the allowed EOF behaviors.

Implementations should not retain a reference to p.

Use https://deno.land/std@0.220.1/io/to_iterator.ts?s=toIteratorSync to turn a ReaderSync into an IterableIterator.