ByteReader
Defined in: packages/core/src/buffer/stream/byte-reader.ts:10
A cursor over an existing Uint8Array — a sequential reader for any binary
format consumed byte-by-byte or field-by-field (PEM framing, SSH wire
messages, PGP packets, ASN.1 codecs, …).
Every read advances position. Nothing is copied except when a caller
explicitly asks for one: read returns a view via subarray, not a copy — a
caller that needs an owned copy should call .slice() on the result itself.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ByteReader(
bytes,initialPosition?):ByteReader
Defined in: packages/core/src/buffer/stream/byte-reader.ts:19
Parameters
Section titled “Parameters”Uint8Array
The bytes to read from. Not copied — mutating bytes after
construction is visible to this reader.
initialPosition?
Section titled “initialPosition?”number = 0
Where to start reading from. Defaults to 0.
Returns
Section titled “Returns”ByteReader
Throws
Section titled “Throws”When initialPosition is out of bytes’ range.
Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get atEnd():
boolean
Defined in: packages/core/src/buffer/stream/byte-reader.ts:51
Whether every byte has been read.
Returns
Section titled “Returns”boolean
byteLength
Section titled “byteLength”Get Signature
Section titled “Get Signature”get byteLength():
number
Defined in: packages/core/src/buffer/stream/byte-reader.ts:46
The total length of the underlying buffer, regardless of position.
Returns
Section titled “Returns”number
position
Section titled “position”Get Signature
Section titled “Get Signature”get position():
number
Defined in: packages/core/src/buffer/stream/byte-reader.ts:36
The current read position, in bytes from the start of the underlying buffer.
Returns
Section titled “Returns”number
remaining
Section titled “remaining”Get Signature
Section titled “Get Signature”get remaining():
number
Defined in: packages/core/src/buffer/stream/byte-reader.ts:41
How many bytes remain unread.
Returns
Section titled “Returns”number
Methods
Section titled “Methods”peekByte()
Section titled “peekByte()”peekByte():
number
Defined in: packages/core/src/buffer/stream/byte-reader.ts:76
Returns the next byte without advancing position.
Returns
Section titled “Returns”number
Throws
Section titled “Throws”When no bytes remain.
peekRemaining()
Section titled “peekRemaining()”peekRemaining():
Uint8Array
Defined in: packages/core/src/buffer/stream/byte-reader.ts:116
Returns every remaining byte as a view, without advancing position.
Returns
Section titled “Returns”Uint8Array
read()
Section titled “read()”read(
count):Uint8Array
Defined in: packages/core/src/buffer/stream/byte-reader.ts:90
Reads and returns the next count bytes as a view (not a copy) into the
underlying buffer, advancing position by count.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”Uint8Array
Throws
Section titled “Throws”When fewer than count bytes remain.
readByte()
Section titled “readByte()”readByte():
number
Defined in: packages/core/src/buffer/stream/byte-reader.ts:60
Reads and returns the next byte, advancing position by one.
Returns
Section titled “Returns”number
Throws
Section titled “Throws”When no bytes remain.
readSubReader()
Section titled “readSubReader()”readSubReader(
count):ByteReader
Defined in: packages/core/src/buffer/stream/byte-reader.ts:111
Reads the next count bytes into a fresh, independent ByteReader
positioned at its own start — for a nested, self-contained sub-structure
(an ASN.1 TLV’s contents, an SSH/PGP sub-packet) that should be read
without risking overrunning into what follows it.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”ByteReader
Throws
Section titled “Throws”When fewer than count bytes remain.
seek()
Section titled “seek()”seek(
position):void
Defined in: packages/core/src/buffer/stream/byte-reader.ts:125
Moves position to an absolute offset.
Parameters
Section titled “Parameters”position
Section titled “position”number
Returns
Section titled “Returns”void
Throws
Section titled “Throws”When position is out of range.